From 792be73f72b57a3db7879c4f23684d40672c533a Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Wed, 25 Aug 2021 23:51:58 -0500 Subject: [PATCH] update stack, purs, package-sets --- purs/package-lock.json | 24 ++++++++++++------------ purs/package.json | 6 +++--- purs/packages.dhall | 2 +- purs/src/Model.purs | 18 +++++++++--------- stack.yaml | 2 +- stack.yaml.lock | 8 ++++---- static/js/app.min.js | 4 ++-- static/js/app.min.js.gz | Bin 83062 -> 82914 bytes static/js/app.min.js.map | 2 +- static/js/app.min.js.map.gz | Bin 262458 -> 262050 bytes 10 files changed, 33 insertions(+), 33 deletions(-) diff --git a/purs/package-lock.json b/purs/package-lock.json index 2ceb199..155d516 100644 --- a/purs/package-lock.json +++ b/purs/package-lock.json @@ -4277,9 +4277,9 @@ "dev": true }, "is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true }, "is-string": { @@ -4602,9 +4602,9 @@ } }, "marked": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.7.tgz", - "integrity": "sha512-BJXxkuIfJchcXOJWTT2DOL+yFWifFv2yGYOUzvXg8Qz610QKw+sHCvTMYwA+qWGhlA2uivBezChZ/pBy1tWdkQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.2.tgz", + "integrity": "sha512-TMJQQ79Z0e3rJYazY0tIoMsFzteUGw9fB3FD+gzuIT3zLuG9L9ckIvUfF51apdJkcqc208jJN2KbtPbOvXtbjA==", "dev": true }, "md5.js": { @@ -5982,9 +5982,9 @@ "dev": true }, "purescript": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.14.3.tgz", - "integrity": "sha512-lAzHU/tcmxF4n3YUwUTwG/sIwHzjUq1zsIOBNmaVpbm7hxM+RhOTKMJdwdbTeCjxlilyVPWOLUQ6Exll4DYuMA==", + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.14.4.tgz", + "integrity": "sha512-9Lq2qvyVkQoKUBSNOEBKIJjtD5sDwThurSt3SRdtSseaA03p1Fk7VxbUr9HV/gHLVZPIkOhPtjvZGUNs5U2PDA==", "dev": true, "requires": { "purescript-installer": "^0.2.0" @@ -7081,9 +7081,9 @@ } }, "terser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", - "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.2.tgz", + "integrity": "sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw==", "dev": true, "requires": { "commander": "^2.20.0", diff --git a/purs/package.json b/purs/package.json index 93ef91f..a087f95 100644 --- a/purs/package.json +++ b/purs/package.json @@ -9,12 +9,12 @@ "parcel-build": "parcel build dist/bundle.js --out-file dist/app.min.js --public-url /static/js/" }, "devDependencies": { - "marked": "^2.0.7", + "marked": "^3.0.2", "moment": "^2.29.1", "parcel-bundler": "^1.12.5", - "purescript": "^0.14.3", + "purescript": "^0.14.4", "spago": "^0.20.3", - "terser": "^5.7.0" + "terser": "^5.7.2" }, "dependencies": {} } diff --git a/purs/packages.dhall b/purs/packages.dhall index 598467f..75c3a17 100644 --- a/purs/packages.dhall +++ b/purs/packages.dhall @@ -21,6 +21,6 @@ in upstream } -} let upstream = - https://raw.githubusercontent.com/purescript/package-sets/psc-0.14.3-20210722/src/packages.dhall sha256:1ceb43aa59436bf5601bac45f6f3781c4e1f0e4c2b8458105b018e5ed8c30f8c + https://raw.githubusercontent.com/purescript/package-sets/psc-0.14.3-20210825/src/packages.dhall sha256:eee0765aa98e0da8fc414768870ad588e7cada060f9f7c23c37385c169f74d9f in upstream diff --git a/purs/src/Model.purs b/purs/src/Model.purs index 46c1cc1..cfac355 100644 --- a/purs/src/Model.purs +++ b/purs/src/Model.purs @@ -29,8 +29,8 @@ type Bookmark = } newtype Bookmark' = Bookmark' Bookmark -derive newtype instance bookmark_rfI :: J.ReadForeign Bookmark' -derive newtype instance bookmark_wfI :: J.WriteForeign Bookmark' +derive newtype instance J.ReadForeign Bookmark' +derive newtype instance J.WriteForeign Bookmark' type NoteId = Int type NoteSlug = String @@ -48,8 +48,8 @@ type Note = } newtype Note' = Note' Note -derive newtype instance note_rfI :: J.ReadForeign Note' -derive newtype instance note_wfI :: J.WriteForeign Note' +derive newtype instance J.ReadForeign Note' +derive newtype instance J.WriteForeign Note' type AccountSettings = { archiveDefault :: Boolean @@ -58,8 +58,8 @@ type AccountSettings = } newtype AccountSettings' = AccountSettings' AccountSettings -derive newtype instance usersettings_rfI :: J.ReadForeign AccountSettings' -derive newtype instance usersettings_wfI :: J.WriteForeign AccountSettings' +derive newtype instance J.ReadForeign AccountSettings' +derive newtype instance J.WriteForeign AccountSettings' type TagCloudMode = { mode :: String @@ -67,8 +67,8 @@ type TagCloudMode = , expanded :: Boolean } newtype TagCloudMode' = TagCloudMode' TagCloudMode -derive newtype instance tagcloudmode_rfi :: J.ReadForeign TagCloudMode' -derive newtype instance tagcloudmode_wfI :: J.WriteForeign TagCloudMode' +derive newtype instance J.ReadForeign TagCloudMode' +derive newtype instance J.WriteForeign TagCloudMode' type TagCloud = Object Int @@ -78,7 +78,7 @@ data TagCloudModeF | TagCloudModeRelated Boolean (Array String) | TagCloudModeNone -derive instance eqTagCloudModeF :: Eq TagCloudModeF +derive instance Eq TagCloudModeF tagCloudModeToF :: TagCloudMode -> TagCloudModeF tagCloudModeToF tagCloudMode = diff --git a/stack.yaml b/stack.yaml index c3841fc..e718170 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-18.5 +resolver: lts-18.7 # allow-newer: true packages: - '.' diff --git a/stack.yaml.lock b/stack.yaml.lock index acc6360..c5d7230 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -20,7 +20,7 @@ packages: hackage: yesod-newsfeed-1.7.0.0 snapshots: - completed: - size: 585817 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/5.yaml - sha256: 22d24d0dacad9c1450b9a174c28d203f9bb482a2a8da9710a2f2a9f4afee2887 - original: lts-18.5 + size: 587113 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/18/7.yaml + sha256: c8617e042150e4bf412d011c234aba6189f789d0cd2bd4f1a1a9ca9a0ef5d042 + original: lts-18.7 diff --git a/static/js/app.min.js b/static/js/app.min.js index 34fb367..eabf35e 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -5,12 +5,12 @@ var e,t=arguments[3];!function(t,n){"object"==typeof exports&&"undefined"!=typeo },{}],"F7mU":[function(require,module,exports) { var define; var global = arguments[3]; -var e,u=arguments[3];function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(u,n){"object"===("undefined"==typeof exports?"undefined":t(exports))&&"undefined"!=typeof module?module.exports=n():"function"==typeof e&&e.amd?e(n):(u="undefined"!=typeof globalThis?globalThis:u||self).marked=n()}(this,function(){"use strict";function e(e,u){for(var t=0;te.length)&&(u=e.length);for(var t=0,n=new Array(u);t=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n={exports:{}};function r(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}n.exports={defaults:{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(e){n.exports.defaults=e}};var i=/[&<>"']/,s=/[&<>"']/g,l=/[<>"']|&(?!#?\w+;)/,a=/[<>"']|&(?!#?\w+;)/g,D={"&":"&","<":"<",">":">",'"':""","'":"'"},o=function(e){return D[e]};var c=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(c,function(e,u){return"colon"===(u=u.toLowerCase())?":":"#"===u.charAt(0)?"x"===u.charAt(1)?String.fromCharCode(parseInt(u.substring(2),16)):String.fromCharCode(+u.substring(1)):""})}var p=/(^|[^\[])\^/g;var g=/[^\w:]/g,f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var F={},A=/^[^:]+:\/*[^/]*$/,C=/^([^:]+:)[\s\S]*$/,d=/^([^:]+:\/*[^/]*)[\s\S]*$/;function E(e,u){F[" "+e]||(A.test(e)?F[" "+e]=e+"/":F[" "+e]=k(e,"/",!0));var t=-1===(e=F[" "+e]).indexOf(":");return"//"===u.substring(0,2)?t?u:e.replace(C,"$1")+u:"/"===u.charAt(0)?t?u:e.replace(d,"$1")+u:e+u}function k(e,u,t){var n=e.length;if(0===n)return"";for(var r=0;r=0&&"\\"===t[r];)n=!n;return n?"|":" |"}).split(/ \|/),n=0;if(t.length>u)t.splice(u);else for(;t.length1;)1&u&&(t+=e),u>>=1,e+=e;return t+e},T=n.exports.defaults,I=_,R=y,Z=m,q=z;function O(e,u,t){var n=u.href,r=u.title?Z(u.title):null,i=e[1].replace(/\\([\[\]])/g,"$1");return"!"!==e[0].charAt(0)?{type:"link",raw:t,href:n,title:r,text:i}:{type:"image",raw:t,href:n,title:r,text:Z(i)}}var j=function(){function e(e){this.options=e||T}var u=e.prototype;return u.space=function(e){var u=this.rules.block.newline.exec(e);if(u)return u[0].length>1?{type:"space",raw:u[0]}:{raw:"\n"}},u.code=function(e){var u=this.rules.block.code.exec(e);if(u){var t=u[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:u[0],codeBlockStyle:"indented",text:this.options.pedantic?t:I(t,"\n")}}},u.fences=function(e){var u=this.rules.block.fences.exec(e);if(u){var t=u[0],n=function(e,u){var t=e.match(/^(\s+)(?:```)/);if(null===t)return u;var n=t[1];return u.split("\n").map(function(e){var u=e.match(/^\s+/);return null===u?e:u[0].length>=n.length?e.slice(n.length):e}).join("\n")}(t,u[3]||"");return{type:"code",raw:t,lang:u[2]?u[2].trim():u[2],text:n}}},u.heading=function(e){var u=this.rules.block.heading.exec(e);if(u){var t=u[2].trim();if(/#$/.test(t)){var n=I(t,"#");this.options.pedantic?t=n.trim():n&&!/ $/.test(n)||(t=n.trim())}return{type:"heading",raw:u[0],depth:u[1].length,text:t}}},u.nptable=function(e){var u=this.rules.block.nptable.exec(e);if(u){var t={type:"table",header:R(u[1].replace(/^ *| *\| *$/g,"")),align:u[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:u[3]?u[3].replace(/\n$/,"").split("\n"):[],raw:u[0]};if(t.header.length===t.align.length){var n,r=t.align.length;for(n=0;n ?/gm,"");return{type:"blockquote",raw:u[0],text:t}}},u.list=function(e){var u=this.rules.block.list.exec(e);if(u){var t,n,r,i,s,l,a,D,o,c=u[0],h=u[2],p=h.length>1,g={type:"list",raw:c,ordered:p,start:p?+h.slice(0,-1):"",loose:!1,items:[]},f=u[0].match(this.rules.block.item),F=!1,A=f.length;r=this.rules.block.listItemStart.exec(f[0]);for(var C=0;Cr[1].length:i[1].length>=r[0].length||i[1].length>3){f.splice(C,2,f[C]+(!this.options.pedantic&&i[1].length/i.test(n[0])&&(u=!1),!t&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?t=!0:t&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(t=!1),{type:this.options.sanitize?"text":"html",raw:n[0],inLink:u,inRawBlock:t,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Z(n[0]):n[0]}},u.link=function(e){var u=this.rules.inline.link.exec(e);if(u){var t=u[2].trim();if(!this.options.pedantic&&/^$/.test(t))return;var n=I(t.slice(0,-1),"\\");if((t.length-n.length)%2==0)return}else{var r=q(u[2],"()");if(r>-1){var i=(0===u[0].indexOf("!")?5:4)+u[1].length+r;u[2]=u[2].substring(0,r),u[0]=u[0].substring(0,i).trim(),u[3]=""}}var s=u[2],l="";if(this.options.pedantic){var a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s);a&&(s=a[1],l=a[3])}else l=u[3]?u[3].slice(1,-1):"";return s=s.trim(),/^$/.test(t)?s.slice(1):s.slice(1,-1)),O(u,{href:s?s.replace(this.rules.inline._escapes,"$1"):s,title:l?l.replace(this.rules.inline._escapes,"$1"):l},u[0])}},u.reflink=function(e,u){var t;if((t=this.rules.inline.reflink.exec(e))||(t=this.rules.inline.nolink.exec(e))){var n=(t[2]||t[1]).replace(/\s+/g," ");if(!(n=u[n.toLowerCase()])||!n.href){var r=t[0].charAt(0);return{type:"text",raw:r,text:r}}return O(t,n,t[0])}},u.emStrong=function(e,u,t){void 0===t&&(t="");var n=this.rules.inline.emStrong.lDelim.exec(e);if(n&&(!n[3]||!t.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=n[1]||n[2]||"";if(!r||r&&(""===t||this.rules.inline.punctuation.exec(t))){var i,s,l=n[0].length-1,a=l,D=0,o="*"===n[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(o.lastIndex=0,u=u.slice(-1*e.length+l);null!=(n=o.exec(u));)if(i=n[1]||n[2]||n[3]||n[4]||n[5]||n[6])if(s=i.length,n[3]||n[4])a+=s;else if(!((n[5]||n[6])&&l%3)||(l+s)%3){if(!((a-=s)>0))return s=Math.min(s,s+a+D),Math.min(l,s)%2?{type:"em",raw:e.slice(0,l+n.index+s+1),text:e.slice(1,l+n.index+s)}:{type:"strong",raw:e.slice(0,l+n.index+s+1),text:e.slice(2,l+n.index+s-1)}}else D+=s}}},u.codespan=function(e){var u=this.rules.inline.code.exec(e);if(u){var t=u[2].replace(/\n/g," "),n=/[^ ]/.test(t),r=/^ /.test(t)&&/ $/.test(t);return n&&r&&(t=t.substring(1,t.length-1)),t=Z(t,!0),{type:"codespan",raw:u[0],text:t}}},u.br=function(e){var u=this.rules.inline.br.exec(e);if(u)return{type:"br",raw:u[0]}},u.del=function(e){var u=this.rules.inline.del.exec(e);if(u)return{type:"del",raw:u[0],text:u[2]}},u.autolink=function(e,u){var t,n,r=this.rules.inline.autolink.exec(e);if(r)return n="@"===r[2]?"mailto:"+(t=Z(this.options.mangle?u(r[1]):r[1])):t=Z(r[1]),{type:"link",raw:r[0],text:t,href:n,tokens:[{type:"text",raw:t,text:t}]}},u.url=function(e,u){var t;if(t=this.rules.inline.url.exec(e)){var n,r;if("@"===t[2])r="mailto:"+(n=Z(this.options.mangle?u(t[0]):t[0]));else{var i;do{i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])[0]}while(i!==t[0]);n=Z(t[0]),r="www."===t[1]?"http://"+n:n}return{type:"link",raw:t[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},u.inlineText=function(e,u,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=u?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Z(r[0]):r[0]:Z(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}},e}(),U=w,P=x,L=v,M={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:U,table:U,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};M.def=P(M.def).replace("label",M._label).replace("title",M._title).getRegex(),M.bullet=/(?:[*+-]|\d{1,9}[.)])/,M.item=/^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/,M.item=P(M.item,"gm").replace(/bull/g,M.bullet).getRegex(),M.listItemStart=P(/^( *)(bull) */).replace("bull",M.bullet).getRegex(),M.list=P(M.list).replace(/bull/g,M.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+M.def.source+")").getRegex(),M._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",M._comment=/|$)/,M.html=P(M.html,"i").replace("comment",M._comment).replace("tag",M._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),M.paragraph=P(M._paragraph).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",M._tag).getRegex(),M.blockquote=P(M.blockquote).replace("paragraph",M.paragraph).getRegex(),M.normal=L({},M),M.gfm=L({},M.normal,{nptable:"^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)",table:"^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),M.gfm.nptable=P(M.gfm.nptable).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",M._tag).getRegex(),M.gfm.table=P(M.gfm.table).replace("hr",M.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",M._tag).getRegex(),M.pedantic=L({},M.normal,{html:P("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",M._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:U,paragraph:P(M.normal._paragraph).replace("hr",M.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",M.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var N={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:U,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:U,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};N.punctuation=P(N.punctuation).replace(/punctuation/g,N._punctuation).getRegex(),N.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,N.escapedEmSt=/\\\*|\\_/g,N._comment=P(M._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),N.emStrong.lDelim=P(N.emStrong.lDelim).replace(/punct/g,N._punctuation).getRegex(),N.emStrong.rDelimAst=P(N.emStrong.rDelimAst,"g").replace(/punct/g,N._punctuation).getRegex(),N.emStrong.rDelimUnd=P(N.emStrong.rDelimUnd,"g").replace(/punct/g,N._punctuation).getRegex(),N._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,N._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,N._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,N.autolink=P(N.autolink).replace("scheme",N._scheme).replace("email",N._email).getRegex(),N._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,N.tag=P(N.tag).replace("comment",N._comment).replace("attribute",N._attribute).getRegex(),N._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,N._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,N._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,N.link=P(N.link).replace("label",N._label).replace("href",N._href).replace("title",N._title).getRegex(),N.reflink=P(N.reflink).replace("label",N._label).getRegex(),N.reflinkSearch=P(N.reflinkSearch,"g").replace("reflink",N.reflink).replace("nolink",N.nolink).getRegex(),N.normal=L({},N),N.pedantic=L({},N.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:P(/^!?\[(label)\]\((.*?)\)/).replace("label",N._label).getRegex(),reflink:P(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",N._label).getRegex()}),N.gfm=L({},N.normal,{escape:P(N.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n}var Y=function(){function u(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||V,this.options.tokenizer=this.options.tokenizer||new G,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var u={block:H.normal,inline:J.normal};this.options.pedantic?(u.block=H.pedantic,u.inline=J.pedantic):this.options.gfm&&(u.block=H.gfm,this.options.breaks?u.inline=J.breaks:u.inline=J.gfm),this.tokenizer.rules=u}u.lex=function(e,t){return new u(t).lex(e)},u.lexInline=function(e,t){return new u(t).inlineTokens(e)};var t,n,r,i=u.prototype;return i.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens,!0),this.inline(this.tokens),this.tokens},i.blockTokens=function(e,u,t){var n,r,i,s;for(void 0===u&&(u=[]),void 0===t&&(t=!0),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),n.type&&u.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),(s=u[u.length-1])&&"paragraph"===s.type?(s.raw+="\n"+n.raw,s.text+="\n"+n.text):u.push(n);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),u.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),u.push(n);else if(n=this.tokenizer.nptable(e))e=e.substring(n.raw.length),u.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),u.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),n.tokens=this.blockTokens(n.text,[],t),u.push(n);else if(n=this.tokenizer.list(e)){for(e=e.substring(n.raw.length),i=n.items.length,r=0;r0)for(;null!=(s=this.tokenizer.rules.inline.reflinkSearch.exec(D));)o.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(D=D.slice(0,s.index)+"["+K("a",s[0].length-2)+"]"+D.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(s=this.tokenizer.rules.inline.blockSkip.exec(D));)D=D.slice(0,s.index)+"["+K("a",s[0].length-2)+"]"+D.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(s=this.tokenizer.rules.inline.escapedEmSt.exec(D));)D=D.slice(0,s.index)+"++"+D.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(l||(a=""),l=!1,r=this.tokenizer.escape(e))e=e.substring(r.raw.length),u.push(r);else if(r=this.tokenizer.tag(e,t,n)){e=e.substring(r.raw.length),t=r.inLink,n=r.inRawBlock;var c=u[u.length-1];c&&"text"===r.type&&"text"===c.type?(c.raw+=r.raw,c.text+=r.text):u.push(r)}else if(r=this.tokenizer.link(e))e=e.substring(r.raw.length),"link"===r.type&&(r.tokens=this.inlineTokens(r.text,[],!0,n)),u.push(r);else if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);var h=u[u.length-1];"link"===r.type?(r.tokens=this.inlineTokens(r.text,[],!0,n),u.push(r)):h&&"text"===r.type&&"text"===h.type?(h.raw+=r.raw,h.text+=r.text):u.push(r)}else if(r=this.tokenizer.emStrong(e,D,a))e=e.substring(r.raw.length),r.tokens=this.inlineTokens(r.text,[],t,n),u.push(r);else if(r=this.tokenizer.codespan(e))e=e.substring(r.raw.length),u.push(r);else if(r=this.tokenizer.br(e))e=e.substring(r.raw.length),u.push(r);else if(r=this.tokenizer.del(e))e=e.substring(r.raw.length),r.tokens=this.inlineTokens(r.text,[],t,n),u.push(r);else if(r=this.tokenizer.autolink(e,W))e=e.substring(r.raw.length),u.push(r);else if(t||!(r=this.tokenizer.url(e,W))){if(r=this.tokenizer.inlineText(e,n,Q))e=e.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(a=r.raw.slice(-1)),l=!0,(i=u[u.length-1])&&"text"===i.type?(i.raw+=r.raw,i.text+=r.text):u.push(r);else if(e){var p="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(p);break}throw new Error(p)}}else e=e.substring(r.raw.length),u.push(r);return u},t=u,r=[{key:"rules",get:function(){return{block:H,inline:J}}}],(n=null)&&e(t.prototype,n),r&&e(t,r),u}(),ee=n.exports.defaults,ue=B,te=m,ne=function(){function e(e){this.options=e||ee}var u=e.prototype;return u.code=function(e,u,t){var n=(u||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,n);null!=r&&r!==e&&(t=!0,e=r)}return e=e.replace(/\n$/,"")+"\n",n?'
'+(t?e:te(e,!0))+"
\n":"
"+(t?e:te(e,!0))+"
\n"},u.blockquote=function(e){return"
\n"+e+"
\n"},u.html=function(e){return e},u.heading=function(e,u,t,n){return this.options.headerIds?"'+e+"\n":""+e+"\n"},u.hr=function(){return this.options.xhtml?"
\n":"
\n"},u.list=function(e,u,t){var n=u?"ol":"ul";return"<"+n+(u&&1!==t?' start="'+t+'"':"")+">\n"+e+"\n"},u.listitem=function(e){return"
  • "+e+"
  • \n"},u.checkbox=function(e){return" "},u.paragraph=function(e){return"

    "+e+"

    \n"},u.table=function(e,u){return u&&(u=""+u+""),"\n\n"+e+"\n"+u+"
    \n"},u.tablerow=function(e){return"\n"+e+"\n"},u.tablecell=function(e,u){var t=u.header?"th":"td";return(u.align?"<"+t+' align="'+u.align+'">':"<"+t+">")+e+"\n"},u.strong=function(e){return""+e+""},u.em=function(e){return""+e+""},u.codespan=function(e){return""+e+""},u.br=function(){return this.options.xhtml?"
    ":"
    "},u.del=function(e){return""+e+""},u.link=function(e,u,t){if(null===(e=ue(this.options.sanitize,this.options.baseUrl,e)))return t;var n='"},u.image=function(e,u,t){if(null===(e=ue(this.options.sanitize,this.options.baseUrl,e)))return t;var n=''+t+'":">"},u.text=function(e){return e},e}(),re=function(){function e(){}var u=e.prototype;return u.strong=function(e){return e},u.em=function(e){return e},u.codespan=function(e){return e},u.del=function(e){return e},u.html=function(e){return e},u.text=function(e){return e},u.link=function(e,u,t){return""+t},u.image=function(e,u,t){return""+t},u.br=function(){return""},e}(),ie=function(){function e(){this.seen={}}var u=e.prototype;return u.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},u.getNextSafeSlug=function(e,u){var t=e,n=0;if(this.seen.hasOwnProperty(t)){n=this.seen[e];do{t=e+"-"+ ++n}while(this.seen.hasOwnProperty(t))}return u||(this.seen[e]=n,this.seen[t]=0),t},u.slug=function(e,u){void 0===u&&(u={});var t=this.serialize(e);return this.getNextSafeSlug(t,u.dryrun)},e}(),se=ne,le=re,ae=ie,De=n.exports.defaults,oe=b,ce=Y,he=function(){function e(e){this.options=e||De,this.options.renderer=this.options.renderer||new se,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new le,this.slugger=new ae}e.parse=function(u,t){return new e(t).parse(u)},e.parseInline=function(u,t){return new e(t).parseInline(u)};var u=e.prototype;return u.parse=function(e,u){void 0===u&&(u=!0);var t,n,r,i,s,l,a,D,o,c,h,p,g,f,F,A,C,d,E="",k=e.length;for(t=0;t0&&"text"===F.tokens[0].type?(F.tokens[0].text=d+" "+F.tokens[0].text,F.tokens[0].tokens&&F.tokens[0].tokens.length>0&&"text"===F.tokens[0].tokens[0].type&&(F.tokens[0].tokens[0].text=d+" "+F.tokens[0].tokens[0].text)):F.tokens.unshift({type:"text",text:d}):f+=d),f+=this.parse(F.tokens,g),o+=this.renderer.listitem(f,C,A);E+=this.renderer.list(o,h,p);continue;case"html":E+=this.renderer.html(c.text);continue;case"paragraph":E+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(o=c.tokens?this.parseInline(c.tokens):c.text;t+1An error occurred:

    "+de(a.message+"",!0)+"
    ";throw a}}return be.options=be.setOptions=function(e){return Ae(be.defaults,e),ke(be.defaults),be},be.getDefaults=Ee,be.defaults=me,be.use=function(e){var u=Ae({},e);if(e.renderer&&function(){var t=be.defaults.renderer||new ge,n=function(u){var n=t[u];t[u]=function(){for(var r=arguments.length,i=new Array(r),s=0;sAn error occurred:

    "+de(n.message+"",!0)+"
    ";throw n}},be.Parser=he,be.parser=he.parse,be.Renderer=ge,be.TextRenderer=fe,be.Lexer=ce,be.lexer=ce.lex,be.Tokenizer=pe,be.Slugger=Fe,be.parse=be,be}); +var e,t=arguments[3];function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(t,n){"object"===("undefined"==typeof exports?"undefined":u(exports))&&"undefined"!=typeof module?module.exports=n():"function"==typeof e&&e.amd?e(n):(t="undefined"!=typeof globalThis?globalThis:t||self).marked=n()}(this,function(){"use strict";function e(e,t){for(var u=0;ue.length)&&(t=e.length);for(var u=0,n=new Array(t);u=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n={exports:{}};function r(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}n.exports={defaults:{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1},getDefaults:r,changeDefaults:function(e){n.exports.defaults=e}};var i=/[&<>"']/,s=/[&<>"']/g,l=/[<>"']|&(?!#?\w+;)/,a=/[<>"']|&(?!#?\w+;)/g,o={"&":"&","<":"<",">":">",'"':""","'":"'"},D=function(e){return o[e]};var c=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function h(e){return e.replace(c,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}var p=/(^|[^\[])\^/g;var f=/[^\w:]/g,g=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;var F={},A=/^[^:]+:\/*[^/]*$/,d=/^([^:]+:)[\s\S]*$/,C=/^([^:]+:\/*[^/]*)[\s\S]*$/;function k(e,t){F[" "+e]||(A.test(e)?F[" "+e]=e+"/":F[" "+e]=E(e,"/",!0));var u=-1===(e=F[" "+e]).indexOf(":");return"//"===t.substring(0,2)?u?t:e.replace(d,"$1")+t:"/"===t.charAt(0)?u?t:e.replace(C,"$1")+t:e+t}function E(e,t,u){var n=e.length;if(0===n)return"";for(var r=0;r=0&&"\\"===u[r];)n=!n;return n?"|":" |"}).split(/ \|/),n=0;if(u[0].trim()||u.shift(),u[u.length-1].trim()||u.pop(),u.length>t)u.splice(t);else for(;u.length1;)1&t&&(u+=e),t>>=1,e+=e;return u+e},T=n.exports.defaults,R=_,I=y,Z=x,q=z;function O(e,t,u,n){var r=t.href,i=t.title?Z(t.title):null,s=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){n.state.inLink=!0;var l={type:"link",raw:u,href:r,title:i,text:s,tokens:n.inlineTokens(s,[])};return n.state.inLink=!1,l}return{type:"image",raw:u,href:r,title:i,text:Z(s)}}var L=function(){function e(e){this.options=e||T}var t=e.prototype;return t.space=function(e){var t=this.rules.block.newline.exec(e);if(t)return t[0].length>1?{type:"space",raw:t[0]}:{raw:"\n"}},t.code=function(e){var t=this.rules.block.code.exec(e);if(t){var u=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?u:R(u,"\n")}}},t.fences=function(e){var t=this.rules.block.fences.exec(e);if(t){var u=t[0],n=function(e,t){var u=e.match(/^(\s+)(?:```)/);if(null===u)return t;var n=u[1];return t.split("\n").map(function(e){var t=e.match(/^\s+/);return null===t?e:t[0].length>=n.length?e.slice(n.length):e}).join("\n")}(u,t[3]||"");return{type:"code",raw:u,lang:t[2]?t[2].trim():t[2],text:n}}},t.heading=function(e){var t=this.rules.block.heading.exec(e);if(t){var u=t[2].trim();if(/#$/.test(u)){var n=R(u,"#");this.options.pedantic?u=n.trim():n&&!/ $/.test(n)||(u=n.trim())}var r={type:"heading",raw:t[0],depth:t[1].length,text:u,tokens:[]};return this.lexer.inline(r.text,r.tokens),r}},t.hr=function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}},t.blockquote=function(e){var t=this.rules.block.blockquote.exec(e);if(t){var u=t[0].replace(/^ *> ?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(u,[]),text:u}}},t.list=function(e){var t=this.rules.block.list.exec(e);if(t){var u,n,r,i,s,l,a,o,D,c,h=t[1].trim(),p=h.length>1,f={type:"list",raw:"",ordered:p,start:p?+h.slice(0,-1):"",loose:!1,items:[]};h=p?"\\d{1,9}\\"+h.slice(-1):"\\"+h,this.options.pedantic&&(h=p?h:"[*+-]");for(var g=new RegExp("^( {0,3}"+h+")((?: [^\\n]*| *)(?:\\n[^\\n]*)*(?:\\n|$))");e&&!this.rules.block.hr.test(e)&&(t=g.exec(e));){D=t[2].split("\n"),this.options.pedantic?(i=2,c=D[0].trimLeft()):(i=t[2].search(/[^ ]/),i=t[1].length+(i>4?1:i),c=D[0].slice(i-t[1].length)),l=!1,u=t[0],!D[0]&&/^ *$/.test(D[1])&&(u=t[1]+D.slice(0,2).join("\n")+"\n",f.loose=!0,D=[]);var F=new RegExp("^ {0,"+Math.min(3,i-1)+"}(?:[*+-]|\\d{1,9}[.)])");for(s=1;s=i)&&o.trim()){u=t[1]+D.slice(0,s).join("\n")+"\n";break}c+="\n"+o.slice(i)}else o.trim()||(l=!0),o.search(/[^ ]/)>=i?c+="\n"+o.slice(i):c+="\n"+o}f.loose||(a?f.loose=!0:/\n *\n *$/.test(u)&&(a=!0)),this.options.gfm&&(n=/^\[[ xX]\] /.exec(c))&&(r="[ ] "!==n[0],c=c.replace(/^\[[ xX]\] +/,"")),f.items.push({type:"list_item",raw:u,task:!!n,checked:r,loose:!1,text:c}),f.raw+=u,e=e.slice(u.length)}f.items[f.items.length-1].raw=u.trimRight(),f.items[f.items.length-1].text=c.trimRight(),f.raw=f.raw.trimRight();var A=f.items.length;for(s=0;s/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Z(t[0]):t[0]}},t.link=function(e){var t=this.rules.inline.link.exec(e);if(t){var u=t[2].trim();if(!this.options.pedantic&&/^$/.test(u))return;var n=R(u.slice(0,-1),"\\");if((u.length-n.length)%2==0)return}else{var r=q(t[2],"()");if(r>-1){var i=(0===t[0].indexOf("!")?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,i).trim(),t[3]=""}}var s=t[2],l="";if(this.options.pedantic){var a=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s);a&&(s=a[1],l=a[3])}else l=t[3]?t[3].slice(1,-1):"";return s=s.trim(),/^$/.test(u)?s.slice(1):s.slice(1,-1)),O(t,{href:s?s.replace(this.rules.inline._escapes,"$1"):s,title:l?l.replace(this.rules.inline._escapes,"$1"):l},t[0],this.lexer)}},t.reflink=function(e,t){var u;if((u=this.rules.inline.reflink.exec(e))||(u=this.rules.inline.nolink.exec(e))){var n=(u[2]||u[1]).replace(/\s+/g," ");if(!(n=t[n.toLowerCase()])||!n.href){var r=u[0].charAt(0);return{type:"text",raw:r,text:r}}return O(u,n,u[0],this.lexer)}},t.emStrong=function(e,t,u){void 0===u&&(u="");var n=this.rules.inline.emStrong.lDelim.exec(e);if(n&&(!n[3]||!u.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var r=n[1]||n[2]||"";if(!r||r&&(""===u||this.rules.inline.punctuation.exec(u))){var i,s,l=n[0].length-1,a=l,o=0,D="*"===n[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(D.lastIndex=0,t=t.slice(-1*e.length+l);null!=(n=D.exec(t));)if(i=n[1]||n[2]||n[3]||n[4]||n[5]||n[6])if(s=i.length,n[3]||n[4])a+=s;else if(!((n[5]||n[6])&&l%3)||(l+s)%3){if(!((a-=s)>0)){if(s=Math.min(s,s+a+o),Math.min(l,s)%2){var c=e.slice(1,l+n.index+s);return{type:"em",raw:e.slice(0,l+n.index+s+1),text:c,tokens:this.lexer.inlineTokens(c,[])}}var h=e.slice(2,l+n.index+s-1);return{type:"strong",raw:e.slice(0,l+n.index+s+1),text:h,tokens:this.lexer.inlineTokens(h,[])}}}else o+=s}}},t.codespan=function(e){var t=this.rules.inline.code.exec(e);if(t){var u=t[2].replace(/\n/g," "),n=/[^ ]/.test(u),r=/^ /.test(u)&&/ $/.test(u);return n&&r&&(u=u.substring(1,u.length-1)),u=Z(u,!0),{type:"codespan",raw:t[0],text:u}}},t.br=function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}},t.del=function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2],[])}},t.autolink=function(e,t){var u,n,r=this.rules.inline.autolink.exec(e);if(r)return n="@"===r[2]?"mailto:"+(u=Z(this.options.mangle?t(r[1]):r[1])):u=Z(r[1]),{type:"link",raw:r[0],text:u,href:n,tokens:[{type:"text",raw:u,text:u}]}},t.url=function(e,t){var u;if(u=this.rules.inline.url.exec(e)){var n,r;if("@"===u[2])r="mailto:"+(n=Z(this.options.mangle?t(u[0]):u[0]));else{var i;do{i=u[0],u[0]=this.rules.inline._backpedal.exec(u[0])[0]}while(i!==u[0]);n=Z(u[0]),r="www."===u[1]?"http://"+n:n}return{type:"link",raw:u[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},t.inlineText=function(e,t){var u,n=this.rules.inline.text.exec(e);if(n)return u=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Z(n[0]):n[0]:Z(this.options.smartypants?t(n[0]):n[0]),{type:"text",raw:n[0],text:u}},e}(),j=w,U=b,P=v,Q={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:j,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};Q.def=U(Q.def).replace("label",Q._label).replace("title",Q._title).getRegex(),Q.bullet=/(?:[*+-]|\d{1,9}[.)])/,Q.listItemStart=U(/^( *)(bull) */).replace("bull",Q.bullet).getRegex(),Q.list=U(Q.list).replace(/bull/g,Q.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Q.def.source+")").getRegex(),Q._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Q._comment=/|$)/,Q.html=U(Q.html,"i").replace("comment",Q._comment).replace("tag",Q._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Q.paragraph=U(Q._paragraph).replace("hr",Q.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Q._tag).getRegex(),Q.blockquote=U(Q.blockquote).replace("paragraph",Q.paragraph).getRegex(),Q.normal=P({},Q),Q.gfm=P({},Q.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)\\|?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Q.gfm.table=U(Q.gfm.table).replace("hr",Q.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Q._tag).getRegex(),Q.pedantic=P({},Q.normal,{html:U("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Q._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,paragraph:U(Q.normal._paragraph).replace("hr",Q.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Q.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var M={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:j,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/\_\_[^_*]*?\*[^_*]*?\_\_|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/\*\*[^_*]*?\_[^_*]*?\*\*|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:j,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~"};M.punctuation=U(M.punctuation).replace(/punctuation/g,M._punctuation).getRegex(),M.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,M.escapedEmSt=/\\\*|\\_/g,M._comment=U(Q._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),M.emStrong.lDelim=U(M.emStrong.lDelim).replace(/punct/g,M._punctuation).getRegex(),M.emStrong.rDelimAst=U(M.emStrong.rDelimAst,"g").replace(/punct/g,M._punctuation).getRegex(),M.emStrong.rDelimUnd=U(M.emStrong.rDelimUnd,"g").replace(/punct/g,M._punctuation).getRegex(),M._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,M._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,M._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,M.autolink=U(M.autolink).replace("scheme",M._scheme).replace("email",M._email).getRegex(),M._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,M.tag=U(M.tag).replace("comment",M._comment).replace("attribute",M._attribute).getRegex(),M._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,M._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,M._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,M.link=U(M.link).replace("label",M._label).replace("href",M._href).replace("title",M._title).getRegex(),M.reflink=U(M.reflink).replace("label",M._label).getRegex(),M.reflinkSearch=U(M.reflinkSearch,"g").replace("reflink",M.reflink).replace("nolink",M.nolink).getRegex(),M.normal=P({},M),M.pedantic=P({},M.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:U(/^!?\[(label)\]\((.*?)\)/).replace("label",M._label).getRegex(),reflink:U(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",M._label).getRegex()}),M.gfm=P({},M.normal,{escape:U(M.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(u="x"+u.toString(16)),n+="&#"+u+";";return n}var Y=function(){function t(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||G,this.options.tokenizer=this.options.tokenizer||new X,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var t={block:V.normal,inline:H.normal};this.options.pedantic?(t.block=V.pedantic,t.inline=H.pedantic):this.options.gfm&&(t.block=V.gfm,this.options.breaks?t.inline=H.breaks:t.inline=H.gfm),this.tokenizer.rules=t}t.lex=function(e,u){return new t(u).lex(e)},t.lexInline=function(e,u){return new t(u).inlineTokens(e)};var u,n,r,i=t.prototype;return i.lex=function(e){var t;for(e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," "),this.blockTokens(e,this.tokens);t=this.inlineQueue.shift();)this.inlineTokens(t.src,t.tokens);return this.tokens},i.blockTokens=function(e,t){var u,n,r,i,s=this;for(void 0===t&&(t=[]),this.options.pedantic&&(e=e.replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(n){return!!(u=n.call({lexer:s},e,t))&&(e=e.substring(u.raw.length),t.push(u),!0)})))if(u=this.tokenizer.space(e))e=e.substring(u.raw.length),u.type&&t.push(u);else if(u=this.tokenizer.code(e))e=e.substring(u.raw.length),!(n=t[t.length-1])||"paragraph"!==n.type&&"text"!==n.type?t.push(u):(n.raw+="\n"+u.raw,n.text+="\n"+u.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(u=this.tokenizer.fences(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.heading(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.hr(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.blockquote(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.list(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.html(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.def(e))e=e.substring(u.raw.length),!(n=t[t.length-1])||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[u.tag]||(this.tokens.links[u.tag]={href:u.href,title:u.title}):(n.raw+="\n"+u.raw,n.text+="\n"+u.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(u=this.tokenizer.table(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.lheading(e))e=e.substring(u.raw.length),t.push(u);else if(r=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,u=e.slice(1),n=void 0;s.options.extensions.startBlock.forEach(function(e){"number"==typeof(n=e.call({lexer:this},u))&&n>=0&&(t=Math.min(t,n))}),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),this.state.top&&(u=this.tokenizer.paragraph(r)))n=t[t.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+u.raw,n.text+="\n"+u.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(u),i=r.length!==e.length,e=e.substring(u.raw.length);else if(u=this.tokenizer.text(e))e=e.substring(u.raw.length),(n=t[t.length-1])&&"text"===n.type?(n.raw+="\n"+u.raw,n.text+="\n"+u.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(u);else if(e){var l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}throw new Error(l)}return this.state.top=!0,t},i.inline=function(e,t){this.inlineQueue.push({src:e,tokens:t})},i.inlineTokens=function(e,t){var u,n,r,i=this;void 0===t&&(t=[]);var s,l,a,o=e;if(this.tokens.links){var D=Object.keys(this.tokens.links);if(D.length>0)for(;null!=(s=this.tokenizer.rules.inline.reflinkSearch.exec(o));)D.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,s.index)+"["+J("a",s[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(s=this.tokenizer.rules.inline.blockSkip.exec(o));)o=o.slice(0,s.index)+"["+J("a",s[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(s=this.tokenizer.rules.inline.escapedEmSt.exec(o));)o=o.slice(0,s.index)+"++"+o.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(l||(a=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function(n){return!!(u=n.call({lexer:i},e,t))&&(e=e.substring(u.raw.length),t.push(u),!0)})))if(u=this.tokenizer.escape(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.tag(e))e=e.substring(u.raw.length),(n=t[t.length-1])&&"text"===u.type&&"text"===n.type?(n.raw+=u.raw,n.text+=u.text):t.push(u);else if(u=this.tokenizer.link(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(u.raw.length),(n=t[t.length-1])&&"text"===u.type&&"text"===n.type?(n.raw+=u.raw,n.text+=u.text):t.push(u);else if(u=this.tokenizer.emStrong(e,o,a))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.codespan(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.br(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.del(e))e=e.substring(u.raw.length),t.push(u);else if(u=this.tokenizer.autolink(e,W))e=e.substring(u.raw.length),t.push(u);else if(this.state.inLink||!(u=this.tokenizer.url(e,W))){if(r=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,u=e.slice(1),n=void 0;i.options.extensions.startInline.forEach(function(e){"number"==typeof(n=e.call({lexer:this},u))&&n>=0&&(t=Math.min(t,n))}),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),u=this.tokenizer.inlineText(r,K))e=e.substring(u.raw.length),"_"!==u.raw.slice(-1)&&(a=u.raw.slice(-1)),l=!0,(n=t[t.length-1])&&"text"===n.type?(n.raw+=u.raw,n.text+=u.text):t.push(u);else if(e){var c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}throw new Error(c)}}else e=e.substring(u.raw.length),t.push(u);return t},u=t,r=[{key:"rules",get:function(){return{block:V,inline:H}}}],(n=null)&&e(u.prototype,n),r&&e(u,r),t}(),ee=n.exports.defaults,te=B,ue=x,ne=function(){function e(e){this.options=e||ee}var t=e.prototype;return t.code=function(e,t,u){var n=(t||"").match(/\S*/)[0];if(this.options.highlight){var r=this.options.highlight(e,n);null!=r&&r!==e&&(u=!0,e=r)}return e=e.replace(/\n$/,"")+"\n",n?'
    '+(u?e:ue(e,!0))+"
    \n":"
    "+(u?e:ue(e,!0))+"
    \n"},t.blockquote=function(e){return"
    \n"+e+"
    \n"},t.html=function(e){return e},t.heading=function(e,t,u,n){return this.options.headerIds?"'+e+"\n":""+e+"\n"},t.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},t.list=function(e,t,u){var n=t?"ol":"ul";return"<"+n+(t&&1!==u?' start="'+u+'"':"")+">\n"+e+"\n"},t.listitem=function(e){return"
  • "+e+"
  • \n"},t.checkbox=function(e){return" "},t.paragraph=function(e){return"

    "+e+"

    \n"},t.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},t.tablerow=function(e){return"\n"+e+"\n"},t.tablecell=function(e,t){var u=t.header?"th":"td";return(t.align?"<"+u+' align="'+t.align+'">':"<"+u+">")+e+"\n"},t.strong=function(e){return""+e+""},t.em=function(e){return""+e+""},t.codespan=function(e){return""+e+""},t.br=function(){return this.options.xhtml?"
    ":"
    "},t.del=function(e){return""+e+""},t.link=function(e,t,u){if(null===(e=te(this.options.sanitize,this.options.baseUrl,e)))return u;var n='
    "},t.image=function(e,t,u){if(null===(e=te(this.options.sanitize,this.options.baseUrl,e)))return u;var n=''+u+'":">"},t.text=function(e){return e},e}(),re=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,u){return""+u},t.image=function(e,t,u){return""+u},t.br=function(){return""},e}(),ie=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var u=e,n=0;if(this.seen.hasOwnProperty(u)){n=this.seen[e];do{u=e+"-"+ ++n}while(this.seen.hasOwnProperty(u))}return t||(this.seen[e]=n,this.seen[u]=0),u},t.slug=function(e,t){void 0===t&&(t={});var u=this.serialize(e);return this.getNextSafeSlug(u,t.dryrun)},e}(),se=ne,le=re,ae=ie,oe=n.exports.defaults,De=m,ce=Y,he=function(){function e(e){this.options=e||oe,this.options.renderer=this.options.renderer||new se,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new le,this.slugger=new ae}e.parse=function(t,u){return new e(u).parse(t)},e.parseInline=function(t,u){return new e(u).parseInline(t)};var t=e.prototype;return t.parse=function(e,t){void 0===t&&(t=!0);var u,n,r,i,s,l,a,o,D,c,h,p,f,g,F,A,d,C,k,E="",x=e.length;for(u=0;u0&&"paragraph"===F.tokens[0].type?(F.tokens[0].text=C+" "+F.tokens[0].text,F.tokens[0].tokens&&F.tokens[0].tokens.length>0&&"text"===F.tokens[0].tokens[0].type&&(F.tokens[0].tokens[0].text=C+" "+F.tokens[0].tokens[0].text)):F.tokens.unshift({type:"text",text:C}):g+=C),g+=this.parse(F.tokens,f),D+=this.renderer.listitem(g,d,A);E+=this.renderer.list(D,h,p);continue;case"html":E+=this.renderer.html(c.text);continue;case"paragraph":E+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(D=c.tokens?this.parseInline(c.tokens):c.text;u+1An error occurred:

    "+Ce(a.message+"",!0)+"
    ";throw a}}return me.options=me.setOptions=function(e){return Ae(me.defaults,e),Ee(me.defaults),me},me.getDefaults=ke,me.defaults=xe,me.use=function(){for(var e=this,t=arguments.length,u=new Array(t),n=0;nAn error occurred:

    "+Ce(n.message+"",!0)+"
    ";throw n}},me.Parser=he,me.parser=he.parse,me.Renderer=fe,me.TextRenderer=ge,me.Lexer=ce,me.lexer=ce.lex,me.Tokenizer=pe,me.Slugger=Fe,me.parse=me,me}); },{}],"pBGv":[function(require,module,exports) { var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(n){var e=n.indexOf(":");return t(n.substring(0,e))(n.substring(e+2))}),body:r.getResponse(i)})},i.responseType=u.responseType,i.withCredentials=u.withCredentials,i.timeout=u.timeout,i.send(u.content),function(n,e,t){try{i.abort()}catch(d){return e(d)}return t()}}})}(),function(n){"use strict";(t["Control.Apply"]=t["Control.Apply"]||{}).arrayApply=function(n){return function(e){for(var t=n.length,r=e.length,u=new Array(t*r),a=0,o=0;o=r.length)return e;var u=r.slice();return u.splice(t,1),n(u)}}}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t>1))-a>1&&n(e,t,u,r,a,i),o-i>1&&n(e,t,u,r,i,o),c=a,f=i,l=a;c0?(r[l++]=d,++f):(r[l++]=s,++c);for(;c=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a0)&&(w=H,y=Q._3(j)));break;case m:P=new b(v,new b(h,y,D),P,L),w=H,y=L&&L!==O&&0===B?Q._1.killed(n.fromLeft(L))(Q._2):D?Q._1.failed(n.fromLeft(D))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),D=null,B++;break;case g:B++,P=new b(v,new b(h,y,D),P,L),w=H,y=Q._1;break;case h:B--,w=x,y=Q._1,D=Q._2}break;case I:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,E(W[V].handler(y)));return W=null,void(L&&D?setTimeout(function(){throw n.fromLeft(D)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:w=H;break;case _:return}}function j(n){return function(){if(w===I)return q=q&&n.rethrow,n.handler(y)(),function(){};var e=O++;return(W=W||{})[e]=n,function(){null!==W&&delete W[e]}}}return{kill:function(e,t){return function(){if(w===I)return t(n.right(void 0))(),function(){};var r=j({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(w){case F:L=n.left(e),w=I,y=L,J(d);break;case _:null===L&&(L=n.left(e)),0===B&&(w===_&&(P=new b(v,new b(g,y(e)),P,L)),w=x,y=null,D=null,J(++d));break;default:null===L&&(L=n.left(e)),0===B&&(w=x,y=null,D=null)}return r}},join:function(n){return function(){var e=j({rethrow:!1,handler:n})();return w===F&&J(d),e}},onComplete:j,isSuspended:function(){return w===F},run:function(){w===F&&(C.isDraining()?J(d):C.enqueue(function(){J(d)}))}}}function L(e,t,r,u){var o=0,i={},c=0,f={},p=new Error("[ParAff] Early exit"),m=null,g=n;function h(t,r,u){var a,o,c=r,f=null,p=null,m=0,g={};n:for(;;)switch(a=null,c.tag){case w:if(c._3===n&&(a=i[c._1],g[m++]=a.kill(t,function(n){return function(){0===--m&&u(n)()}})),null===f)break n;c=f._2,null===p?f=null:(f=p._1,p=p._2);break;case l:c=c._2;break;case s:case d:f&&(p=new b(v,f,p)),f=c,c=c._1}if(0===m)u(e.right(void 0))();else for(o=0,a=m;o=u.bottom(u.boundedInt)&&n<=u.top(u.boundedInt)?new a.Just(r.fromCharCode(n)):a.Nothing.value},f=new function(n,e,t){this.Ord0=n,this.pred=e,this.succ=t}(function(){return o.ordChar},(e=c,function(n){return function(t){return e(n(t)-1|0)}})(r.toCharCode),function(n){return function(e){return function(t){return n(e(t)+1|0)}}}(c)(r.toCharCode)),l=new function(n,e,t,r,u){this.Bounded0=n,this.Enum1=e,this.cardinality=t,this.fromEnum=r,this.toEnum=u}(function(){return u.boundedChar},function(){return f},r.toCharCode(u.top(u.boundedChar))-r.toCharCode(u.bottom(u.boundedChar))|0,r.toCharCode,c);t.fromEnum=i,t.toEnumWithDefaults=function(n){return function(e){return function(t){return function(r){var o=n.toEnum(r);if(o instanceof a.Just)return o.value0;if(o instanceof a.Nothing)return r0?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}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";(t["Data.Ring"]=t["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}}}(t["Data.Semiring"]=t["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var e=n["Data.Semiring"],t=n["Data.Semiring"],r=new function(n,e,t,r){this.add=n,this.mul=e,this.one=t,this.zero=r}(t.intAdd,t.intMul,1,0);e.semiringInt=r}(t),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var e=n["Data.Ring"],t=n["Data.Ring"],r=n["Data.Semiring"],u=new function(n,e){this.Semiring0=n,this.sub=e}(function(){return r.semiringInt},t.intSub);e.ringInt=u}(t),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var e=n["Data.CommutativeRing"],t=n["Data.Ring"],r=new function(n){this.Ring0=n}(function(){return t.ringInt});e.commutativeRingInt=r}(t),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var e=n["Data.EuclideanRing"],t=n["Data.EuclideanRing"],r=n["Data.CommutativeRing"],u=new function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}(function(){return r.commutativeRingInt},t.intDegree,t.intDiv,t.intMod);e.div=function(n){return n.div},e.mod=function(n){return n.mod},e.euclideanRingInt=u}(t),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)}}}(t["Data.String.CodeUnits"]=t["Data.String.CodeUnits"]||{}),function(n){"use strict";n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{};var e=n["Data.String.CodeUnits"],t=n["Data.String.CodeUnits"];e.singleton=t.singleton,e.length=t.length,e.drop=t.drop}(t),function(n){"use strict";(t["Data.String.Unsafe"]=t["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n1){var t=a.fromEnum(a.boundedEnumChar)(l.charAt(1)(n));return p(t)?v(e)(t):e}return e}),b=(r._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(h)(n)})(w),e=a.toEnumWithDefaults(a.boundedEnumChar)(u.bottom(u.boundedChar))(u.top(u.boundedChar)),function(n){return f.singleton(e(n))}),y=r._singleton(function(n){if(n<=65535)return b(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return b(e)+b(t)}),D=r._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof c.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});t.take=D,t.drop=function(n){return function(e){return f.drop(f.length(D(n)(e)))(e)}}}(t),function(n){"use strict";n["Web.HTML.Common"]=n["Web.HTML.Common"]||{};n["Web.HTML.Common"].ClassName=function(n){return n}}(t),function(n){"use strict";n.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Functor"],o=n["Data.Maybe"],i=n["Data.Nullable"],c=n["Data.String.CodePoints"],f=n["Data.String.Common"],l=n["Data.Tuple"],s=n["Data.Unit"],d=n.Effect,v=n["Halogen.HTML.Core"],p=n["Halogen.HTML.Properties"],m=n.JSURI,g=n["Web.HTML"],h=n["Web.HTML.Common"],w=n["Web.HTML.Location"],b=n["Web.HTML.Window"],y=(e=o.fromMaybe(""),function(n){return e(i.toMaybe(n))}),D=function(n){var e,t,r=(e=f.replaceAll("+")(" "),function(n){return t=e(n),o.fromJust()(m.decodeURIComponent(t));var t}),a="#"===(t=c.take(1)(n))||"?"===t?c.drop(1)(n):n;return u.mapMaybe(function(n){var e=f.split("=")(n);return 1===e.length?new o.Just(new l.Tuple(r(e[0]),o.Nothing.value)):2===e.length?new o.Just(new l.Tuple(r(e[0]),new o.Just(r(e[1])))):o.Nothing.value})(u.filter(function(n){return""!==n})(f.split("&")(a)))},E=r.bindFlipped(d.bindEffect)(b.location)(g.window);t.class_=function(n){return p.class_(h.ClassName(n))},t.attr=function(n){return p.attr(n)},t._loc=E,t._curQuerystring=function(){var n=E(),e=w.search(n)();return D(e)},t._lookupQueryStringValue=function(n){return function(e){return r.join(o.bindMaybe)(a.map(o.functorMaybe)(l.snd)(u.find(function(n){return l.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(s.unit):v.text("")}},t.whenA=function(n){return function(e){return n?e(s.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(s.unit):t(s.unit)}}},t.ifElseA=function(n){return function(e){return function(t){return n?e(s.unit):t(s.unit)}}},t.fromNullableStr=y}(t),function(n){"use strict";n["Component.AccountSettings"]=n["Component.AccountSettings"]||{};var e=n["Component.AccountSettings"],t=n.App,r=n["Control.Bind"],u=n["DOM.HTML.Indexed.InputType"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Lens.Getter"],c=n["Data.Lens.Internal.Forget"],f=n["Data.Lens.Lens"],l=n["Data.Lens.Setter"],s=n["Data.Profunctor.Strong"],d=n["Data.Unit"],v=n["Effect.Aff.Class"],p=n.Globals,m=n["Halogen.Component"],g=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Elements"],w=n["Halogen.HTML.Events"],b=n["Halogen.HTML.Properties"],y=n["Halogen.Query.HalogenM"],D=n.Util,E=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}(),M=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=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};e.usetting=function(n){var e;p["app'"](d.unit);return m.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return C.create(n(e))}};return h.div([D.class_("settings-form")])([h.div([D.class_("fw7 mb2")])([g.text("Account Settings")]),h.div([D.class_("flex items-center mb2")])([h.input([b.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),b.id_()("archiveDefault"),b.name("archiveDefault"),b.checked(n.us.archiveDefault),w.onChecked(e(E.create))]),h.label([b.for("archiveDefault"),D.class_("lh-copy")])([g.text("Archive Non-Private Bookmarks (archive.li)")])]),h.div([D.class_("flex items-center mb2")])([h.input([b.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),b.id_()("privateDefault"),b.name("privateDefault"),b.checked(n.us.privateDefault),w.onChecked(e(A.create))]),h.label([b.for("privateDefault"),D.class_("lh-copy")])([g.text("Default new bookmarks to Private")])]),h.div([D.class_("flex items-center mb2")])([h.input([b.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),b.id_()("privacyLock"),b.name("privacyLock"),b.checked(n.us.privacyLock),w.onChecked(e(M.create))]),h.label([b.for("privacyLock"),D.class_("lh-copy")])([g.text("Privacy Lock (Private Account)")])])])},eval:m.mkEval({handleAction:function(n){if(n instanceof C)return r.discard(r.discardUnit)(y.bindHalogenM)(l.modifying(y.monadStateHalogenM)(H(s.strongFn))(function(){if(n.value0 instanceof E)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(y.functorHalogenM)(v.liftAff(y.monadAffHalogenM(v.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof F)return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(y.functorHalogenM)(v.liftAff(y.monadAffHalogenM(v.monadAffAff))(t.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.Add"]=n["Component.Add"]||{};var e=n["Component.Add"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["DOM.HTML.Indexed.ButtonType"],i=n["DOM.HTML.Indexed.InputType"],c=n["Data.Array"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],g=n["Data.Monoid"],h=n["Data.Profunctor.Strong"],w=n["Data.Semigroup"],b=n["Data.String.Common"],y=n["Data.Tuple"],D=n["Data.Unit"],E=n["Effect.Aff"],A=n["Effect.Aff.Class"],M=n["Effect.Class"],C=n.Globals,F=n["Halogen.Component"],H=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],T=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],x=n["Halogen.Query.HalogenM"],I=n.Util,k=n["Web.Event.Event"],L=n["Web.HTML"],R=n["Web.HTML.Location"],N=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}(),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=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}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(){}return n.value=new n,n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed,loading:n.loading}}})(n)};e.addbmark=function(n){var e;C["app'"](D.unit);return F.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1,loading:!1})),render:function(n){c.drop(1),c.foldMap(g.monoidArray)(function(n){return[S.br_,H.text(n)]}),b.split("\n");var e=C.mmoment8601(n.bm.time),t=function(n){return function(e){return q.create(n(e))}},r=function(t){return S.div([I.class_("alert")])([H.text("previously saved "),S.span([I.class_("link f7 dib gray pr3"),_.title(m.maybe(n.bm.time)(y.snd)(e))])([H.text(m.maybe(" ")(y.fst)(e))]),S.div([I.class_("edit_links dib ml1")])([S.div([I.class_("delete_link di")])([S.button(w.append(w.semigroupArray)([_.type_(H.isPropButtonType)(o.ButtonButton.value),T.onClick(function(n){return new j(!0)}),I.class_("delete")])(g.guard(g.monoidArray)(n.deleteAsk)([I.attr("hidden")("hidden")])))([H.text("delete")]),S.span(w.append(w.semigroupArray)([I.class_("confirm red")])(g.guard(g.monoidArray)(!n.deleteAsk)([I.attr("hidden")("hidden")])))([S.button([_.type_(H.isPropButtonType)(o.ButtonButton.value),T.onClick(function(n){return new j(!1)})])([H.text("cancel / ")]),S.button([_.type_(H.isPropButtonType)(o.ButtonButton.value),T.onClick(function(n){return V.value}),I.class_("red")])([H.text("destroy")])])])])])};return I.ifElseH(!n.destroyed)(function(e){return S.form([T.onSubmit(J.create)])([S.table([I.class_("w-100")])([S.tbody_([S.tr_([S.td([I.class_("w1")])([]),S.td_([I.whenH(n.bm.bid>0)(r)])]),S.tr_([S.td_([S.label([_.for("url")])([H.text("URL")])]),S.td_([S.input([_.type_(H.isPropInputType)(i.InputUrl.value),_.id_()("url"),I.class_("w-100 mv1"),_.required(!0),_.name("url"),_.autofocus(b.null(n.bm.url)),_.value(n.edit_bm.url),T.onValueChange(t(N.create))])])]),S.tr_([S.td_([S.label([_.for("title")])([H.text("title")])]),S.td([I.class_("flex")])([S.input([_.type_(H.isPropInputType)(i.InputText.value),_.id_()("title"),I.class_("w-100 mv1 flex-auto"),_.name("title"),_.value(n.edit_bm.title),T.onValueChange(t(U.create))]),S.button([_.disabled(n.loading),_.type_(H.isPropButtonType)(o.ButtonButton.value),T.onClick(function(n){return Q.value}),I.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+g.guard(g.monoidString)(n.loading)("bg-light-silver"))])([H.text("fetch")])])]),S.tr_([S.td_([S.label([_.for("description")])([H.text("description")])]),S.td_([S.textarea([I.class_("w-100 mt1 mid-gray"),_.id_()("description"),_.name("description"),_.rows(4),_.value(n.edit_bm.description),T.onValueChange(t(P.create))])])]),S.tr_([S.td_([S.label([_.for("tags")])([H.text("tags")])]),S.td_([S.input([_.type_(H.isPropInputType)(i.InputText.value),_.id_()("tags"),I.class_("w-100 mv1"),_.name("tags"),_.autocomplete(!1),I.attr("autocapitalize")("off"),_.autofocus(!b.null(n.bm.url)),_.value(n.edit_bm.tags),T.onValueChange(t(B.create))])])]),S.tr_([S.td_([S.label([_.for("private")])([H.text("private")])]),S.td_([S.input([_.type_(H.isPropInputType)(i.InputCheckbox.value),_.id_()("private"),I.class_("private pointer"),_.name("private"),_.checked(n.edit_bm.private),T.onChecked(t(O.create))])])]),S.tr_([S.td_([S.label([_.for("toread")])([H.text("read later")])]),S.td_([S.input([_.type_(H.isPropInputType)(i.InputCheckbox.value),_.id_()("toread"),I.class_("toread pointer"),_.name("toread"),_.checked(n.edit_bm.toread),T.onChecked(t(W.create))])])]),S.tr_([S.td_([]),S.td_([S.input([_.type_(H.isPropInputType)(i.InputSubmit.value),I.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),_.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return S.p([I.class_("red")])([H.text("you killed this bookmark")])})},eval:F.mkEval({handleAction:function(n){if(n instanceof j)return a.modify_(x.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Q)return u.discard(u.discardUnit)(x.bindHalogenM)(a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(x.bindHalogenM)(A.liftAff(x.monadAffHalogenM(A.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(x.monadStateHalogenM)(z(h.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof m.Nothing)return r.pure(x.applicativeHalogenM)(D.unit);throw new Error("Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): "+[n.constructor.name])}())(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof V)return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(l.void(x.functorHalogenM)(A.liftAff(x.monadAffHalogenM(A.monadAffAff))(t.destroy(n))))(function(){return a.modify_(x.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof q)return p.modifying(x.monadStateHalogenM)(z(h.strongFn))(function(){if(n.value0 instanceof N)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof U)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof P)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof J)return u.discard(u.discardUnit)(x.bindHalogenM)(M.liftEffect(x.monadEffectHalogenM(E.monadEffectAff))(k.preventDefault(n.value0)))(function(){return u.bind(x.bindHalogenM)(s.use(x.monadStateHalogenM)(z(d.strongForget)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(l.void(x.functorHalogenM)(A.liftAff(x.monadAffHalogenM(A.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(x.bindHalogenM)(p.assign(x.monadStateHalogenM)((e=h.strongFn,v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm,loading:n.loading}}})(e)))(n))(function(){return u.bind(x.bindHalogenM)(M.liftEffect(x.monadEffectHalogenM(E.monadEffectAff))(I._loc))(function(n){return u.bind(x.bindHalogenM)(M.liftEffect(x.monadEffectHalogenM(E.monadEffectAff))(L.window))(function(e){return u.bind(x.bindHalogenM)(M.liftEffect(x.monadEffectHalogenM(E.monadEffectAff))(I._curQuerystring))(function(t){var r=I._lookupQueryStringValue(t)("next");return r instanceof m.Just?M.liftEffect(x.monadEffectHalogenM(E.monadEffectAff))(R.setHref(r.value0)(n)):M.liftEffect(x.monadEffectHalogenM(E.monadEffectAff))(C.closeWindow(e))})})})});var e})})});throw new Error("Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): "+[n.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:F.defaultEval.initialize,finalize:F.defaultEval.finalize})})}}(t),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";(t["Web.HTML.HTMLElement"]=t["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";n["Web.HTML.HTMLElement"]=n["Web.HTML.HTMLElement"]||{};var e=n["Web.HTML.HTMLElement"],t=n["Web.HTML.HTMLElement"],r=n["Data.Maybe"],u=n["Unsafe.Coerce"],a=u.unsafeCoerce,o=u.unsafeCoerce;e.fromElement=function(n){return t._read(r.Nothing.value,r.Just.create,n)},e.toElement=o,e.toNode=a}(t),function(n){"use strict";n["Halogen.Query"]=n["Halogen.Query"]||{};var e,t=n["Halogen.Query"],r=n["Control.Bind"],u=n["Data.Functor"],a=n["Data.Maybe"],o=n["Halogen.Query.HalogenM"],i=n["Web.HTML.HTMLElement"],c=(e=u.map(o.functorHalogenM)(function(n){return r.bindFlipped(a.bindMaybe)(i.fromElement)(n)}),function(n){return e(o.getRef(n))});t.getHTMLElementRef=c}(t),function(n){"use strict";n["Component.RawHtml"]=n["Component.RawHtml"]||{};var e=n["Component.RawHtml"],t=n["Component.RawHtml"],r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["Data.Foldable"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Unit"],l=n.Effect,s=n["Effect.Aff"],d=n["Effect.Aff.Class"],v=n["Effect.Class"],p=n["Halogen.Component"],m=n["Halogen.HTML.Elements"],g=n["Halogen.HTML.Properties"],h=n["Halogen.Query"],w=n["Halogen.Query.HalogenM"],b=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([g.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function e(i){if(i instanceof b)return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(e){return u.bind(w.bindHalogenM)(h.getHTMLElementRef(e.elRef))(function(e){return u.discard(u.discardUnit)(w.bindHalogenM)(o.for_(w.applicativeHalogenM)(o.foldableMaybe)(e)(function(e){return u.bind(w.bindHalogenM)(a.get(w.monadStateHalogenM))(function(r){return d.liftAff(w.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(u){return function(){return v.liftEffect(v.monadEffectEffect)(t.unsafeSetInnerHTML(e)(n(r.inputval)))(),c.mempty(l.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(w.applicativeHalogenM)(f.unit)})})});if(i instanceof y)return u.discard(u.discardUnit)(w.bindHalogenM)(a.modify_(w.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return e(b.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(y.create(n))},initialize:new i.Just(b.value),finalize:p.defaultEval.finalize})})}}(t),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return n?e(n):""}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";n["Foreign.Marked"]=n["Foreign.Marked"]||{};var e=n["Foreign.Marked"],t=n["Foreign.Marked"],r=n.Globals;e.marked=function(n){return r.RawHTML(t.markedImpl(n))}}(t),function(n){"use strict";n["Component.Markdown"]=n["Component.Markdown"]||{};var e=n["Component.Markdown"],t=n["Component.RawHtml"],r=n["Foreign.Marked"],u=t.mkComponent(r.marked);e.component=u}(t),function(n){"use strict";n["Data.Void"]=n["Data.Void"]||{};n["Data.Void"].absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t),function(n){"use strict";n["Halogen.HTML"]=n["Halogen.HTML"]||{};var e=n["Halogen.HTML"],t=n["Data.Maybe"],r=n["Halogen.Component"],u=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(a){return function(o){return function(i){return function(c){return function(f){return u.widget(new r.ComponentSlot(r.componentSlot()(n)(e)(a)(o)(i)(c)(function(n){return t.Just.create(f(n))})))}}}}}}}}}(t),function(n){"use strict";n["Component.BMark"]=n["Component.BMark"]||{};var e=n["Component.BMark"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],g=n["Data.Monoid"],h=n["Data.Nullable"],w=n["Data.Ord"],b=n["Data.Profunctor.Strong"],y=n["Data.Show"],D=n["Data.String.CodePoints"],E=n["Data.String.Common"],A=n["Data.Symbol"],M=n["Data.Unit"],C=n["Data.Void"],F=n.Effect,H=n["Effect.Aff"],S=n["Effect.Aff.Class"],T=n["Effect.Class"],_=n.Globals,x=n["Halogen.Component"],I=n["Halogen.HTML"],k=n["Halogen.HTML.Core"],L=n["Halogen.HTML.Elements"],R=n["Halogen.HTML.Events"],N=n["Halogen.HTML.Properties"],U=n["Halogen.Query.HalogenM"],P=n["Type.Proxy"],B=n.Util,O=n["Web.Event.Event"],W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=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}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(){function n(){}return n.value=new n,n}(),$=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),nn=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),en=function(){function n(){}return n.value=new n,n}(),tn=P.Proxy.value,rn=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit,loading:n.loading}}})(n)},un=function(n){return v.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm,loading:n.loading}}})(n)},an=function(n){return v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm,loading:n.loading}}})(n)};e.bmark=function(n){var e,v=function(n){return y.show(y.showInt)(n.bid)+"_tags"},P=_["app'"](M.unit);return x.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1,loading:!1})),render:function(n){var e=D.take(16)(n.bm.time)+"Z",t=_.toLocaleDateString(n.bm.time),u=function(n){return B.fromNullableStr(P.userR)+"/t:"+n},a=function(n){return function(e){return Z.create(n(e))}};return L.div([N.id_()(y.show(y.showInt)(n.bm.bid)),B.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])([B.whenH(P.dat.isowner)(function(e){return L.div([B.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([L.button([B.class_("moon-gray"),R.onClick(function(e){return new G(!n.bm.selected)})])([k.text("✭")])])}),B.ifElseH(n.edit)(function(e){return L.div([B.class_("edit_bookmark_form pa2 pt0 bg-white")])([L.form([R.onSubmit(nn.create)])([L.div_([k.text("url")]),L.input([N.type_(k.isPropInputType)(c.InputUrl.value),B.class_("url w-100 mb2 pt1 edit_form_input"),N.required(!0),N.name("url"),N.value(n.edit_bm.url),R.onValueChange(a(W.create))]),L.div_([k.text("title")]),L.div([B.class_("flex")])([L.input([N.type_(k.isPropInputType)(c.InputText.value),B.class_("title w-100 mb2 pt1 edit_form_input"),N.name("title"),N.value(n.edit_bm.title),R.onValueChange(a(q.create))]),L.button([N.disabled(n.loading),N.type_(k.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return X.value}),B.class_("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 "+g.guard(g.monoidString)(n.loading)("bg-light-silver"))])([k.text("fetch")])]),L.div_([k.text("description")]),L.textarea([B.class_("description w-100 mb1 pt1 edit_form_input"),N.name("description"),N.rows(5),N.value(n.edit_bm.description),R.onValueChange(a(J.create))]),L.div([N.id_()("tags_input_box")])([L.div_([k.text("tags")]),L.input([N.id_()(v(n.edit_bm)),N.type_(k.isPropInputType)(c.InputText.value),B.class_("tags w-100 mb1 pt1 edit_form_input"),N.name("tags"),N.autocomplete(!1),B.attr("autocapitalize")("off"),N.value(n.edit_bm.tags),R.onValueChange(a(j.create))])]),L.div([B.class_("edit_form_checkboxes mv3")])([L.input([N.type_(k.isPropInputType)(c.InputCheckbox.value),B.class_("private pointer"),N.id_()("edit_private"),N.name("private"),N.checked(n.edit_bm.private),R.onChecked(a(Q.create))]),k.text(" "),L.label([N.for("edit_private"),B.class_("mr2")])([k.text("private")]),k.text(" "),L.input([N.type_(k.isPropInputType)(c.InputCheckbox.value),B.class_("toread pointer"),N.id_()("edit_toread"),N.name("toread"),N.checked(n.edit_bm.toread),R.onChecked(a(V.create))]),k.text(" "),L.label([N.for("edit_toread")])([k.text("to-read")])]),L.input([N.type_(k.isPropInputType)(c.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("save")]),k.text(" "),L.input([N.type_(k.isPropInputType)(c.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("cancel"),R.onClick(function(n){return new $(!1)})])])])})(function(a){return L.div([B.class_("display")])([L.a([N.href(n.bm.url),N.target("_blank"),B.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([k.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),L.br_,L.a([N.href(n.bm.url),B.class_("link f7 gray hover-blue")])([k.text(n.bm.url)]),L.a([N.href(m.fromMaybe("http://archive.is/"+n.bm.url)(h.toMaybe(n.bm.archiveUrl))),B.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(h.toMaybe(n.bm.archiveUrl)))(" green")),N.target("_blank"),N.title("archive link")])([m.isJust(h.toMaybe(n.bm.archiveUrl))?k.text("☑"):k.text("☐")]),L.br_,L.div([B.class_("description mt1 mid-gray")])([I.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(tn)(M.unit)(r.component)(n.bm.description)(C.absurd)]),L.div([B.class_("tags")])(B.whenA(!E.null(n.bm.tags))(function(e){return l.map(l.functorArray)(function(n){return L.a([B.class_("link tag mr1"+g.guard(g.monoidString)("."===D.take(1)(n))(" private")),N.href(u(n))])([k.text(n)])})(E.split(" ")(n.bm.tags))})),L.a([B.class_("link f7 dib gray w4"),N.href((o=n.bm.slug,B.fromNullableStr(P.userR)+"/b:"+o)),N.title(e)])([k.text(t)]),B.whenH(P.dat.isowner)(function(e){return L.div([B.class_("edit_links di")])([L.button([N.type_(k.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new $(!0)}),B.class_("edit light-silver hover-blue")])([k.text("edit  ")]),L.div([B.class_("delete_link di")])([L.button([N.type_(k.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new K(!0)}),B.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([k.text("delete")]),L.span([B.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([L.button([N.type_(k.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new K(!1)})])([k.text("cancel / ")]),L.button([N.type_(k.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return Y.value}),B.class_("red")])([k.text("destroy")])])])])}),B.whenH(P.dat.isowner)(function(e){return L.div([B.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([k.text("  "),L.button([R.onClick(function(n){return en.value}),B.class_("mark_read")])([k.text("mark as read")])]))})]);var o})])},eval:x.mkEval({handleAction:function(n){if(n instanceof G)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(an(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(S.liftAff(U.monadAffHalogenM(S.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.modifying(U.monadStateHalogenM)(an(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return p.modifying(U.monadStateHalogenM)(rn(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof K)return o.modify_(U.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Y)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(an(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(S.liftAff(U.monadAffHalogenM(S.monadAffAff))(t.destroy(n.bid))))(function(){return U.raise(z.value)})});if(n instanceof en)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(an(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(S.liftAff(U.monadAffHalogenM(S.monadAffAff))(t.markRead(n.bid))))(function(){return p.modifying(U.monadStateHalogenM)(an(b.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof $)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(an(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(rn(b.strongFn))(e))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(un(b.strongFn))(n.value0))(function(){return T.liftEffect(U.monadEffectHalogenM(H.monadEffectAff))(u.when(F.applicativeEffect)(n.value0)(_.setFocus(v(e))))})})});if(n instanceof Z)return p.modifying(U.monadStateHalogenM)(rn(b.strongFn))(function(){if(n.value0 instanceof W)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof J)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof Q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof V)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 237, column 17 - line 243, column 36): "+[n.value0.constructor.name])}());if(n instanceof X)return a.discard(a.discardUnit)(U.bindHalogenM)(o.modify_(U.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return a.bind(U.bindHalogenM)(o.gets(U.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return a.bind(U.bindHalogenM)(S.liftAff(U.monadAffHalogenM(S.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(U.monadStateHalogenM)(rn(b.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof m.Nothing)return u.pure(U.applicativeHalogenM)(M.unit);throw new Error("Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): "+[n.constructor.name])}())(function(){return o.modify_(U.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof nn)return a.discard(a.discardUnit)(U.bindHalogenM)(T.liftEffect(U.monadEffectHalogenM(H.monadEffectAff))(O.preventDefault(n.value0)))(function(){return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(rn(d.strongForget)))(function(n){var e={tags:E.replaceAll(",")(" ")(n.tags),archiveUrl:n.archiveUrl,bid:n.bid,description:n.description,private:n.private,selected:n.selected,slug:n.slug,time:n.time,title:n.title,toread:n.toread,url:n.url};return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(S.liftAff(U.monadAffHalogenM(S.monadAffAff))(t.editBookmark(e))))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(an(b.strongFn))(e))(function(){return p.assign(U.monadStateHalogenM)(un(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): "+[n.constructor.name])},handleQuery:x.defaultEval.handleQuery,receive:x.defaultEval.receive,initialize:x.defaultEval.initialize,finalize:x.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.BList"]=n["Component.BList"]||{};var e=n["Component.BList"],t=n["Component.BMark"],r=n["Control.Monad.State.Class"],u=n["Data.Array"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Ord"],c=n["Data.Symbol"],f=n["Data.Unit"],l=n["Halogen.Component"],s=n["Halogen.HTML"],d=n["Halogen.HTML.Elements"],v=n["Halogen.Query.HalogenM"],p=n["Type.Proxy"],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}(),g=p.Proxy.value;e.blist=function(n){return l.mkComponent({initialState:a.const(n),render:function(n){return d.div_(o.map(o.functorArray)(function(n){return s.slot()(new c.IsSymbol(function(){return"bookmark"}))(i.ordInt)(g)(n.bid)(t.bmark(n))(f.unit)(m.create(n.bid))})(n))},eval:l.mkEval({handleAction:function(n){return r.modify_(v.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:l.defaultEval.handleQuery,receive:l.defaultEval.receive,initialize:l.defaultEval.initialize,finalize:l.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NList"]=n["Component.NList"]||{};var e=n["Component.NList"],t=n["Control.Applicative"],r=n["Data.Array"],u=n["Data.Function"],a=n["Data.Functor"],o=n["Data.Maybe"],i=n["Data.Monoid"],c=n["Data.Show"],f=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Globals,p=n["Halogen.Component"],m=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Elements"],h=n["Halogen.HTML.Properties"],w=n["Halogen.Query.HalogenM"],b=n.Util;e.nlist=function(n){var e,y=function(n){return v.mmoment8601(n.created)},D=v["app'"](d.unit),E=function(n){return b.fromNullableStr(D.userR)+"/notes/"+n};return p.mkComponent({initialState:u.const((e=n,{notes:e,cur:o.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return g.div_(a.map(a.functorArray)(function(n){return g.div([h.id_()(c.show(c.showInt)(n.id)),b.class_("note w-100 mw7 pa1 mb2"+(n.shared?"":" private"))])([g.div([b.class_("display")])([g.a([h.href(E(n.slug)),b.class_("link f5 lh-title")])([m.text(l.null(n.title)?"[no title]":n.title)]),g.br_,g.div([b.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(r.foldMap(i.monoidArray)(function(n){return[g.br_,m.text(n)]})(l.split("\n")(e))))),g.a([b.class_("link f7 dib gray w4"),h.title(o.maybe(n.created)(s.snd)(y(n))),h.href(E(n.slug))])([m.text(o.maybe(" ")(s.fst)(y(n)))])])]);var e})(n.notes))},eval:p.mkEval({handleAction:function(n){return t.pure(w.applicativeHalogenM)(d.unit)},handleQuery:p.defaultEval.handleQuery,receive:p.defaultEval.receive,initialize:p.defaultEval.initialize,finalize:p.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NNote"]=n["Component.NNote"]||{};var e=n["Component.NNote"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad"],i=n["Control.Monad.State.Class"],c=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],l=n["Data.Array"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.Lens.Getter"],m=n["Data.Lens.Internal.Forget"],g=n["Data.Lens.Lens"],h=n["Data.Lens.Setter"],w=n["Data.Maybe"],b=n["Data.Monoid"],y=n["Data.Ord"],D=n["Data.Profunctor.Strong"],E=n["Data.Show"],A=n["Data.String.Common"],M=n["Data.Symbol"],C=n["Data.Tuple"],F=n["Data.Unit"],H=n["Data.Void"],S=n.Effect,T=n["Effect.Aff"],_=n["Effect.Aff.Class"],x=n["Effect.Class"],I=n.Globals,k=n["Halogen.Component"],L=n["Halogen.HTML"],R=n["Halogen.HTML.Core"],N=n["Halogen.HTML.Elements"],U=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],B=n["Halogen.Query.HalogenM"],O=n["Type.Proxy"],W=n.Util,q=n["Web.Event.Event"],J=n["Web.HTML.Location"],j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=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}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(){}return n.value=new n,n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=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}(),Z=function(){function n(){}return n.value=new n,n}(),nn=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},en=O.Proxy.value,tn=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},rn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};e.nnote=function(n){var e,g=function(n){return E.show(E.showInt)(n.id)+"_text"},O=I["app'"](F.unit);return k.mkComponent({initialState:d.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return I.mmoment8601(n.created)},t=function(n){return function(e){return K.create(n(e))}};return W.ifElseH(n.destroyed)(function(n){return N.p([W.class_("red")])([R.text("you killed this note")])})(d.const(W.ifElseH(n.edit)(function(e){return N.form([U.onSubmit(X.create)])([N.p([W.class_("mt2 mb1")])([R.text("title:")]),N.input([P.type_(R.isPropInputType)(f.InputText.value),W.class_("title w-100 mb1 pt1 edit_form_input"),P.name("title"),P.value(n.edit_note.title),U.onValueChange(t(j.create)),P.autofocus(A.null(n.edit_note.title))]),N.br_,N.p([W.class_("mt2 mb1")])([R.text("description:")]),N.textarea([P.id_()(g(n.edit_note)),W.class_("description w-100 mb1 pt1 edit_form_input"),P.name("text"),P.rows(25),P.value(n.edit_note.text),U.onValueChange(t(Q.create))]),N.div([W.class_("edit_form_checkboxes mb3")])([N.input([P.type_(R.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_()("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),U.onChecked(t(V.create))]),R.text(" "),N.label([P.for("edit_ismarkdown"),W.class_("mr2")])([R.text("use markdown?")]),N.br_]),N.div([W.class_("edit_form_checkboxes mb3")])([N.input([P.type_(R.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_()("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),U.onChecked(t(z.create))]),R.text(" "),N.label([P.for("edit_shared"),W.class_("mr2")])([R.text("public?")]),N.br_]),N.input([P.type_(R.isPropInputType)(f.InputSubmit.value),W.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),R.text(" "),N.input([P.type_(R.isPropInputType)(f.InputReset.value),W.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),U.onClick(function(n){return new Y(!1)})])])})(function(t){return N.div([P.id_()(E.show(E.showInt)(n.note.id)),W.class_("note w-100 mw7 pa1 mb2")])([N.div([W.class_("display")])([N.div([W.class_("link f5 lh-title")])([R.text(A.null(n.note.title)?"[no title]":n.note.title)]),N.br_,n.note.isMarkdown?N.div([W.class_("description mt1")])([L.slot()(new M.IsSymbol(function(){return"markdown"}))(y.ordUnit)(en)(F.unit)(r.component)(n.note.text)(H.absurd)]):N.div([W.class_("description mt1 mid-gray")])((u=n.note.text,l.drop(1)(l.foldMap(b.monoidArray)(function(n){return[N.br_,R.text(n)]})(A.split("\n")(u))))),N.div([W.class_("link f7 dib gray w4")])([N.span([P.title(w.maybe(n.note.created)(C.snd)(e(n.note)))])([R.text(w.maybe(" ")(C.fst)(e(n.note)))]),R.text(" - "),N.span([W.class_("gray")])([R.text(n.note.shared?"public":"private")])])]),W.whenH(O.dat.isowner)(function(e){return N.div([W.class_("edit_links db mt3")])([N.button([P.type_(R.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return new Y(!0)}),W.class_("edit light-silver hover-blue")])([R.text("edit  ")]),N.div([W.class_("delete_link di")])([N.button([P.type_(R.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return new $(!0)}),W.class_("delete light-silver hover-blue"+b.guard(b.monoidString)(n.deleteAsk)(" dn"))])([R.text("delete")]),N.span([W.class_("confirm red"+b.guard(b.monoidString)(!n.deleteAsk)(" dn"))])([N.button([P.type_(R.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return new $(!1)})])([R.text("cancel / ")]),N.button([P.type_(R.isPropButtonType)(c.ButtonButton.value),U.onClick(function(n){return Z.value}),W.class_("red")])([R.text("destroy")])])])])})]);var u})))},eval:k.mkEval({handleAction:function(n){if(n instanceof G)return u.pure(B.applicativeHalogenM)(F.unit);if(n instanceof K)return h.modifying(B.monadStateHalogenM)(tn(D.strongFn))(function(){if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof z)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 179, column 19 - line 183, column 36): "+[n.value0.constructor.name])}());if(n instanceof $)return i.modify_(B.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Z)return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(nn(m.strongForget)))(function(n){return a.discard(a.discardUnit)(B.bindHalogenM)(v.void(B.functorHalogenM)(_.liftAff(B.monadAffHalogenM(_.monadAffAff))(t.destroyNote(n.id))))(function(){return i.modify_(B.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof Y)return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(nn(m.strongForget)))(function(e){return a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(tn(D.strongFn))(e))(function(){return a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(rn(D.strongFn))(n.value0))(function(){return x.liftEffect(B.monadEffectHalogenM(T.monadEffectAff))(o.whenM(S.monadEffect)(u.pure(S.applicativeEffect)(n.value0))(I.setFocus(g(e))))})})});if(n instanceof X)return a.discard(a.discardUnit)(B.bindHalogenM)(x.liftEffect(B.monadEffectHalogenM(T.monadEffectAff))(q.preventDefault(n.value0)))(function(){return a.bind(B.bindHalogenM)(p.use(B.monadStateHalogenM)(tn(m.strongForget)))(function(n){return a.bind(B.bindHalogenM)(_.liftAff(B.monadAffHalogenM(_.monadAffAff))(t.editNote(n)))(function(e){return s.for_(B.applicativeHalogenM)(s.foldableEither)(e)(function(e){return 0===n.id?x.liftEffect(B.monadEffectHalogenM(T.monadEffectAff))(a.bindFlipped(S.bindEffect)(J.setHref(W.fromNullableStr(O.noteR)))(W._loc)):a.discard(a.discardUnit)(B.bindHalogenM)(h.assign(B.monadStateHalogenM)(nn(D.strongFn))(n))(function(){return h.assign(B.monadStateHalogenM)(rn(D.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): "+[n.constructor.name])},handleQuery:k.defaultEval.handleQuery,receive:k.defaultEval.receive,initialize:k.defaultEval.initialize,finalize:k.defaultEval.finalize})})}}(t),function(n){"use strict";(t["Math"]=t["Math"]||{}).log=Math.log}(),function(n){"use strict";n.Math=n.Math||{};var e=n.Math,t=n.Math;e.log=t.log}(t),function(n){"use strict";n["Component.TagCloud"]=n["Component.TagCloud"]||{};var e=n["Component.TagCloud"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["Data.Array"],f=n["Data.Eq"],l=n["Data.Foldable"],s=n["Data.Function"],d=n["Data.Functor"],v=n["Data.Int"],p=n["Data.Maybe"],m=n["Data.Monoid"],g=n["Data.Ord"],h=n["Data.Semigroup"],w=n["Data.Show"],b=n["Data.String.Common"],y=n["Data.Tuple"],D=n["Data.Unfoldable"],E=n["Data.Unit"],A=n["Effect.Aff.Class"],M=n["Foreign.Object"],C=n.Globals,F=n["Halogen.Component"],H=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],T=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],x=n["Halogen.Query.HalogenM"],I=n.Math,k=n.Model,L=n.Util,R=function(){function n(){}return n.value=new n,n}(),N=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}();e.tagcloudcomponent=function(n){var e,P=function(n){return function(e){return function(t){return function(r){return function(u){return function(a){return(r-t<.01?1:n(e-t)/n(r-t))*(a-u)+u}}}}}},B=function(n){return n instanceof k.TagCloudModeNone?r.pure(x.applicativeHalogenM)(E.unit):u.bind(x.bindHalogenM)(A.liftAff(x.monadAffHalogenM(A.monadAffAff))(t.getTagCloud(k.tagCloudModeFromF(n))))(function(e){return o.modify_(x.monadStateHalogenM)(function(t){var r={};for(var u in t)({}).hasOwnProperty.call(t,u)&&(r[u]=t[u]);return r.mode=n,r.tagcloud=p.fromMaybe(M.empty)(e),r})})},O=C["app'"](E.unit),W=function(n){return L.fromNullableStr(O.userR)+(b.null(n)?"":"/t:"+n)},q=function(n){return function(e){return function(t){var r=d.map(d.functorArray)(y.uncurry(function(n){return function(e){return function(t){return function(r){return function(u){var o=P(function(n){return I.log(1+n)})(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(.6)(1),i=b.toLower(r),l=P(a.identity(a.categoryFn))(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(100)(150),s=_.attr("style")("font-size:"+w.show(w.showNumber)(l)+"%;opacity:"+w.show(w.showNumber)(o));return[S.a([_.href(W(r)),L.class_("link tag mr1"),s])([H.text(r)]),L.whenH(!c.null(n))(function(e){return c.notElem(f.eqString)(i)(n)?S.a([_.href(W(b.joinWith("+")(c.cons(i)(n)))),L.class_("link mr2 tag-include")])([H.text("⊕")]):S.a([_.href(W(b.joinWith("+")(c.delete(f.eqString)(i)(n)))),L.class_("link mr2 tag-exclude")])([H.text("⊖")])})]}}}}}(d.map(d.functorArray)(b.toLower)(n))(e)(t))),u=c.sortBy(g.comparing(g.ordString)(function(n){return b.toLower(y.fst(n))})),o=M.toUnfoldable(D.unfoldableArray);return function(n){return c.concat(r(u(o(n))))}}}};return F.mkComponent({initialState:s.const((e=n,{mode:e,tagcloud:M.empty})),render:function(n){if(n.mode instanceof k.TagCloudModeNone)return S.div([L.class_("tag_cloud")])([]);var e=new k.TagCloudModeTop(k.isExpanded(n.mode),200),t=new k.TagCloudModeLowerBound(k.isExpanded(n.mode),5),r=new k.TagCloudModeLowerBound(k.isExpanded(n.mode),20),u=new k.TagCloudModeLowerBound(k.isExpanded(n.mode),2),a=new k.TagCloudModeLowerBound(k.isExpanded(n.mode),10),o=new k.TagCloudModeLowerBound(k.isExpanded(n.mode),1);return S.div([L.class_("tag_cloud mv3")])([S.div([L.class_("tag_cloud_header mb2")])(h.append(h.semigroupArray)(L.ifElseA(k.isRelated(n.mode))(function(e){return[S.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1 b"),T.onClick(function(e){return new N(!k.isExpanded(n.mode))})])([H.text("Related Tags")])]})(function(c){return[S.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(k.eqTagCloudModeF)(n.mode)(e))(" b")),_.title("show a cloud of your most-used tags"),T.onClick(function(n){return new U(e)})])([H.text("Top Tags")]),S.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(k.eqTagCloudModeF)(n.mode)(o))(" b")),_.title("show all tags"),T.onClick(function(n){return new U(o)})])([H.text("all")]),H.text("‧"),S.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(k.eqTagCloudModeF)(n.mode)(u))(" b")),_.title("show tags with at least 2 bookmarks"),T.onClick(function(n){return new U(u)})])([H.text("2")]),H.text("‧"),S.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(k.eqTagCloudModeF)(n.mode)(t))(" b")),_.title("show tags with at least 5 bookmarks"),T.onClick(function(n){return new U(t)})])([H.text("5")]),H.text("‧"),S.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(k.eqTagCloudModeF)(n.mode)(a))(" b")),_.title("show tags with at least 10 bookmarks"),T.onClick(function(n){return new U(a)})])([H.text("10")]),H.text("‧"),S.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(k.eqTagCloudModeF)(n.mode)(r))(" b")),_.title("show tags with at least 20 bookmarks"),T.onClick(function(n){return new U(r)})])([H.text("20")])]}))([S.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 ml2 f7 link silver hover-blue "),T.onClick(function(e){return new N(!k.isExpanded(n.mode))})])([H.text(k.isExpanded(n.mode)?"hide":"show")])])),L.whenH(k.isExpanded(n.mode))(function(e){var t=p.fromMaybe(1)(l.minimum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud))),r=p.fromMaybe(1)(l.maximum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud)));return S.div([L.class_("tag_cloud_body")])(n.mode instanceof k.TagCloudModeNone?[]:n.mode instanceof k.TagCloudModeRelated?q(n.mode.value1)(t)(r)(n.tagcloud):q([])(t)(r)(n.tagcloud))})])},eval:F.mkEval({handleAction:function n(e){if(e instanceof R)return u.bind(x.bindHalogenM)(o.gets(x.monadStateHalogenM)(function(n){return n.mode}))(function(n){return B(n)});if(e instanceof N)return u.discard(u.discardUnit)(x.bindHalogenM)(o.modify_(x.monadStateHalogenM)(function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t.mode=k.setExpanded(n.mode)(e.value0),t}))(function(){return u.bind(x.bindHalogenM)(o.gets(x.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(x.functorHalogenM)(A.liftAff(x.monadAffHalogenM(A.monadAffAff))(t.updateTagCloudMode(k.tagCloudModeFromF(n))))})});if(e instanceof U)return u.bind(x.bindHalogenM)(o.gets(x.monadStateHalogenM)(function(n){return n.mode}))(function(t){return f.eq(k.eqTagCloudModeF)(t)(e.value0)?n(new N(!k.isExpanded(t))):B(k.setExpanded(e.value0)(!0))});throw new Error("Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): "+[e.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:new p.Just(R.value),finalize:F.defaultEval.finalize})})}}(t),function(n){"use strict";n["Control.Applicative.Free"]=n["Control.Applicative.Free"]||{};var e=n["Control.Applicative.Free"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Category"],a=n["Data.Either"],o=n["Data.Functor"],i=n["Data.List.NonEmpty"],c=n["Data.List.Types"],f=n["Data.NonEmpty"],l=n["Data.Tuple"],s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),d=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),v=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(n){return function(e){return new v(n,e)}},m=d.create,g=function(n){return function(e){return function(r){return function(u){return function(a){return function(o){var f,p=n,m=e,g=r,h=u,w=a,b=!1;function y(n,e,r,u,a,f){if(a instanceof s)return b=!0,new l.Tuple(new c.Cons({func:t.pure(n)(a.value0),count:f},e),r);if(a instanceof d)return b=!0,new l.Tuple(new c.Cons({func:u(a.value0),count:f},e),r);if(a instanceof v)return p=n,m=e,g=i.cons(a.value1)(r),h=u,w=a.value0,void(o=f+1|0);throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): "+[a.constructor.name])}for(;!b;)f=y(p,m,g,h,w,o);return f}}}}}},h=function(n){return function(e){return function(t){return function(u){var o,i=n,s=e,d=t,v=!1;function p(n,e,t,o){if(e instanceof c.Nil)return v=!0,new a.Left(o);if(e instanceof c.Cons){var p=r.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof c.Nil?(v=!0,new a.Left(p)):(i=n,s=e.value1,d=t,void(u=p));if(t instanceof c.Nil)return v=!0,new a.Left(p);if(t instanceof c.Cons)return v=!0,a.Right.create(new l.Tuple(new c.Cons({func:p,count:e.value0.count-1|0},e.value1),new f.NonEmpty(t.value0,t.value1)));throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): "+[t.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): "+[e.constructor.name])}for(;!v;)o=p(i,s,d,u);return o}}}},w=new o.Functor(function(n){return function(e){return p(new s(n))(e)}}),b=function(n){return function(e){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof s){if((i=h(n)(u.value0)(u.value1.value1)(t.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 d){var i;if((i=h(n)(u.value0)(u.value1.value1)(e(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 v))throw new Error("Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): "+[u.value1.value0.constructor.name]);var c=new f.NonEmpty(u.value1.value0.value1,u.value1.value1);r=g(n)(u.value0)(c)(e)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new l.Tuple(c.Nil.value,i.singleton(r)))}}},y=new r.Apply(function(){return w},function(n){return function(e){return p(n)(e)}}),D=new t.Applicative(function(){return y},s.create);e.retractFreeAp=function(n){return b(n)(u.identity(u.categoryFn))},e.hoistFreeAp=function(n){return b(D)(function(e){return m(n(e))})}}(t),function(n){"use strict";n["Control.Monad.Fork.Class"]=n["Control.Monad.Fork.Class"]||{};var e=n["Control.Monad.Fork.Class"],t=n["Effect.Aff"],r=new function(n,e,t,r,u){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=u}(function(){return t.functorFiber},function(){return t.monadAff},t.forkAff,t.joinFiber,t.suspendAff);e.fork=function(n){return n.fork},e.monadForkAff=r}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){console.warn(n)}}}(),function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var e=n["Effect.Console"],t=n["Effect.Console"];e.warn=t.warn}(t),function(n){"use strict";n["Halogen.Aff.Driver.State"]=n["Halogen.Aff.Driver.State"]||{};var e=n["Halogen.Aff.Driver.State"],t=n["Data.Foldable"],r=n["Data.List.Types"],u=n["Data.Map.Internal"],a=n["Data.Maybe"],o=n["Effect.Ref"],i=n["Halogen.Data.Slot"],c=n["Unsafe.Coerce"],f=c.unsafeCoerce,l=c.unsafeCoerce,s=c.unsafeCoerce,d=c.unsafeCoerce;e.mapDriverState=function(n){return function(e){return n(e)}},e.unDriverStateX=l,e.renderStateX=function(n){return function(n){return l(function(e){return s(n(e.rendering))})}},e.renderStateX_=function(n){return function(e){return l(function(r){return t.traverse_(n)(t.foldableMaybe)(e)(r.rendering)})}},e.unRenderStateX=f,e.initDriverState=function(n){return function(e){return function(t){return function(c){return function(){var f=o.new({})(),l=o.new(i.empty)(),s=o.new(i.empty)(),v=o.new(t)(),p=o.new(new a.Just(r.Nil.value))(),m=o.new(new a.Just(r.Nil.value))(),g=o.new(a.Nothing.value)(),h=o.new(1)(),w=o.new(new a.Just(u.empty))(),b=o.new(u.empty)(),y={component:n,state:n.initialState(e),refs:u.empty,children:i.empty,childrenIn:l,childrenOut:s,selfRef:f,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:a.Nothing.value,fresh:h,subscriptions:w,forks:b,lifecycleHandlers:c};return o.write(y)(f)(),d(f)}}}}}}(t),function(n){"use strict";n["Halogen.Query.ChildQuery"]=n["Halogen.Query.ChildQuery"]||{};var e=n["Halogen.Query.ChildQuery"],t=n["Unsafe.Coerce"].unsafeCoerce;e.unChildQueryBox=t}(t),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n["Unsafe.Reference"]=n["Unsafe.Reference"]||{};var e=n["Unsafe.Reference"],t=n["Unsafe.Reference"].reallyUnsafeRefEq;e.unsafeRefEq=t}(t),function(n){"use strict";n["Halogen.Subscription"]=n["Halogen.Subscription"]||{};var e=n["Halogen.Subscription"],t=n["Control.Bind"],r=n["Data.Array"],u=n["Data.Foldable"],a=n["Data.Functor"],o=n["Data.Semigroup"],i=n.Effect,c=n["Effect.Ref"],f=n["Unsafe.Reference"];e.create=function(){var n=c.new([])();return{emitter:function(e){return function(){return c.modify_(function(n){return o.append(o.semigroupArray)(n)([e])})(n)(),c.modify_(r.deleteBy(f.unsafeRefEq)(e))(n)}},listener:function(e){return t.bind(i.bindEffect)(c.read(n))(u.traverse_(i.applicativeEffect)(u.foldableArray)(function(n){return n(e)}))}}},e.notify=function(n){return function(e){return n(e)}},e.subscribe=function(n){return function(e){return n((t=a.void(i.functorEffect),function(n){return t(e(n))}));var t}},e.unsubscribe=function(n){return n}}(t),function(n){"use strict";n["Halogen.Aff.Driver.Eval"]=n["Halogen.Aff.Driver.Eval"]||{};var e=n["Halogen.Aff.Driver.Eval"],t=n["Control.Applicative"],r=n["Control.Applicative.Free"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Fork.Class"],i=n["Control.Monad.Free"],c=n["Control.Parallel"],f=n["Control.Parallel.Class"],l=n["Data.Boolean"],s=n["Data.Coyoneda"],d=n["Data.Either"],v=n["Data.Foldable"],p=n["Data.Function"],m=n["Data.Functor"],g=n["Data.List.Types"],h=n["Data.Map.Internal"],w=n["Data.Maybe"],b=n["Data.Ord"],y=n["Data.Unit"],D=n.Effect,E=n["Effect.Aff"],A=n["Effect.Class"],M=n["Effect.Exception"],C=n["Effect.Ref"],F=n["Halogen.Aff.Driver.State"],H=n["Halogen.Query.ChildQuery"],S=n["Halogen.Query.HalogenM"],T=n["Halogen.Query.HalogenQ"],_=n["Halogen.Query.Input"],x=n["Halogen.Subscription"],I=n["Unsafe.Reference"],k=function(n){return function(e){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n)))(function(t){if(t instanceof w.Nothing)return e;if(t instanceof w.Just)return A.liftEffect(E.monadEffectAff)(C.write(new w.Just(new g.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 182, column 33 - line 184, column 57): "+[t.constructor.name])})}},L=function(n){return function(e){return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.write({initializers:g.Nil.value,finalizers:g.Nil.value})(n)))(function(){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(e))(function(e){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n)))(function(n){return u.discard(u.discardUnit)(E.bindAff)(v.traverse_(E.applicativeAff)(g.foldableList)(o.fork(o.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(E.bindAff)(c.parSequence_(E.parallelAff)(g.foldableList)(n.initializers))(function(){return t.pure(E.applicativeAff)(e)})})})})})}},R=E.runAff_(d.either(M.throwException)(p.const(t.pure(D.applicativeEffect)(y.unit)))),N=function(n){return function(e){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(e)))(function(e){return A.liftEffect(E.monadEffectAff)(C["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},U=function(n){return function(e){return function(t){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(e)))(function(r){return P(n)(e)(r.component.eval(new T.Query(m.map(s.functorCoyoneda)(w.Just.create)(s.liftCoyoneda(t)),p.const(w.Nothing.value))))})}}},P=function n(e){return function(c){return function(s){var d;return i.foldFree(E.monadRecAff)((d=c,function(i){if(i instanceof S.State)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(n){var r=i.value0(n.state);if(I.unsafeRefEq(n.state)(r.value1))return t.pure(E.applicativeAff)(r.value0);if(l.otherwise)return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(d)))(function(){return u.discard(u.discardUnit)(E.bindAff)(L(n.lifecycleHandlers)(e(n.lifecycleHandlers)(d)))(function(){return t.pure(E.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 86, column 7 - line 92, column 21): "+[r.constructor.name])});if(i instanceof S.Subscribe)return u.bind(E.bindAff)(N(S.SubscriptionId)(d))(function(n){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(x.subscribe(i.value0(n))(function(n){return R(B(e)(d)(new _.Action(n)))})))(function(e){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(r){return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.modify_(m.map(w.functorMaybe)(h.insert(S.ordSubscriptionId)(n)(e)))(r.subscriptions)))(function(){return t.pure(E.applicativeAff)(i.value1(n))})})})});if(i instanceof S.Unsubscribe)return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)((c=i.value0,function(n){return function(){var e=C.read(n)(),t=C.read(e.subscriptions)();return v.traverse_(D.applicativeEffect)(v.foldableMaybe)(x.unsubscribe)(u.bindFlipped(w.bindMaybe)(h.lookup(S.ordSubscriptionId)(c))(t))()}})(d)))(function(){return t.pure(E.applicativeAff)(i.value1)});var c,s,p;if(i instanceof S.Lift)return i.value0;if(i instanceof S.ChildQuery)return function(n){return function(t){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n)))(function(n){return H.unChildQueryBox(function(t){return m.map(E.functorAff)(t.value2)(f.sequential(E.parallelAff)(t.value0(E.applicativeParAff)(function(n){return f.parallel(E.parallelAff)(u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n)))(function(n){return F.unDriverStateX(function(n){return U(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(d)(i.value0);if(i instanceof S.Raise)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(n){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(E.bindAff)(k(n.pendingOuts)(e(i.value0)))(function(){return t.pure(E.applicativeAff)(i.value1)})})});if(i instanceof S.Par)return f.sequential(E.parallelAff)(r.retractFreeAp(E.applicativeParAff)(r.hoistFreeAp((s=f.parallel(E.parallelAff),p=n(e)(d),function(n){return s(p(n))}))(i.value0)));if(i instanceof S.Fork)return u.bind(E.bindAff)(N(S.ForkId)(d))(function(r){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(c){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.new(!1)))(function(f){return u.bind(E.bindAff)(o.fork(o.monadForkAff)(E.finally(A.liftEffect(E.monadEffectAff)(function(){return C.modify_(h.delete(S.ordForkId)(r))(c.forks)(),C.write(!0)(f)()}))(n(e)(d)(i.value0))))(function(n){return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(a.unlessM(D.monadEffect)(C.read(f))(C.modify_(h.insert(S.ordForkId)(r)(n))(c.forks))))(function(){return t.pure(E.applicativeAff)(i.value1(r))})})})})});if(i instanceof S.Kill)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(n){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n.forks)))(function(n){return u.discard(u.discardUnit)(E.bindAff)(v.traverse_(E.applicativeAff)(v.foldableMaybe)(E.killFiber(M.error("Cancelled")))(h.lookup(S.ordForkId)(i.value0)(n)))(function(){return t.pure(E.applicativeAff)(i.value1)})})});if(i instanceof S.GetRef)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(n){return t.pure(E.applicativeAff)(i.value1(h.lookup(b.ordString)(i.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 83, column 12 - line 133, column 33): "+[i.constructor.name])}))(s)}}},B=function(n){return function(e){return function(t){if(t instanceof _.RefUpdate)return A.liftEffect(E.monadEffectAff)(p.flip(C.modify_)(e)(F.mapDriverState(function(n){return{component:n.component,state:n.state,refs:h.alter(b.ordString)(p.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof _.Action)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(e)))(function(r){return P(n)(e)(r.component.eval(new T.Action(t.value0,y.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 52, column 20 - line 58, column 62): "+[t.constructor.name])}}};e.evalF=B,e.evalQ=U,e.evalM=P,e.handleLifecycle=L,e.queueOrRun=k,e.handleAff=R}(t),function(n){"use strict";n["Halogen.Aff.Driver"]=n["Halogen.Aff.Driver"]||{};var e=n["Halogen.Aff.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Control.Monad.Fork.Class"],o=n["Control.Monad.Rec.Class"],i=n["Control.Parallel"],c=n["Data.Foldable"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.List"],d=n["Data.List.Types"],v=n["Data.Map.Internal"],p=n["Data.Maybe"],m=n["Data.Unit"],g=n.Effect,h=n["Effect.Aff"],w=n["Effect.Class"],b=n["Effect.Console"],y=n["Effect.Exception"],D=n["Effect.Ref"],E=n["Halogen.Aff.Driver.Eval"],A=n["Halogen.Aff.Driver.State"],M=n["Halogen.Component"],C=n["Halogen.Data.Slot"],F=n["Halogen.Query.HalogenQ"],H=n["Halogen.Query.Input"],S=n["Halogen.Subscription"],T=D.new({initializers:d.Nil.value,finalizers:d.Nil.value}),_=function(n){return function(){var e,t=D.read(n)();return D.write(p.Nothing.value)(n)(),c.for_(g.applicativeEffect)(c.foldableMaybe)(t)((e=c.traverse_(h.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff)),function(n){return E.handleAff(e(s.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(x){var I=function(n){return function(e){return function(t){return M.unComponent(function(u){return function(){var a,o=T(),c=A.initDriverState(u)(t)(e)(o)(),f=D.read(n)();return D.write({initializers:d.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(g.bindEffect)(A.unDriverStateX((a=L(n),function(n){return a(n.selfRef)})))(D.read(c))(),r.bindFlipped(g.bindEffect)(function(n){return function(e){return A.unDriverStateX(function(t){var u=E.evalM(L)(t.selfRef)(t.component.eval(new F.Initialize(m.unit)));return D.modify_(function(n){return{initializers:new d.Cons(r.discard(r.discardUnit)(h.bindAff)(i.parSequence_(h.parallelAff)(d.foldableList)(s.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(h.bindAff)(u)(function(){return w.liftEffect(h.monadEffectAff)(function(){return _(t.pendingQueries)(),_(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(D.read(c))(),c}})}}},k=function(e){return function(u){return function(a){return function(o){return M.unComponentSlot(function(i){return function(){var c=l.map(g.functorEffect)(i.pop)(D.read(a))(),s=function(){if(c instanceof p.Just){D.write(c.value0.value1)(a)();var n=D.read(c.value0.value0)();return A.unDriverStateX(function(n){return function(){var e;return f.flip(D.write)(n.handlerRef)((e=p.maybe(t.pure(h.applicativeAff)(m.unit))(u),function(n){return e(i.output(n))}))(),E.handleAff(E.evalM(L)(n.selfRef)(n.component.eval(new F.Receive(i.input,m.unit))))()}})(n)(),c.value0.value0}if(c instanceof p.Nothing)return I(e)((r=p.maybe(t.pure(h.applicativeAff)(m.unit))(u),function(n){return r(i.output(n))}))(i.input)(i.component)();var r;throw new Error("Failed pattern match at Halogen.Aff.Driver (line 210, column 14 - line 219, column 98): "+[c.constructor.name])}(),d=l.map(g.functorEffect)(function(n){return p.isJust(i.get(n))})(D.read(o))();return t.when(g.applicativeEffect)(d)(b.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),D.modify_(i.set(s))(o)(),r.bind(g.bindEffect)(D.read(s))(A.renderStateX(g.functorEffect)(function(e){if(e instanceof p.Nothing)return y.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof p.Just)return t.pure(g.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 224, column 37 - line 226, column 50): "+[e.constructor.name])}))()}})}}}},L=function e(r){return function(i){return function(){var v=D.read(i)(),w=l.map(g.functorEffect)(p.isNothing)(D.read(v.pendingHandlers))();t.when(g.applicativeEffect)(w)(D.write(new p.Just(d.Nil.value))(v.pendingHandlers))(),D.write(C.empty)(v.childrenOut)(),D.write(v.children)(v.childrenIn)();var b,y,M,F,S=u.identity(u.categoryFn)(v.selfRef),T=u.identity(u.categoryFn)(v.pendingQueries),_=u.identity(u.categoryFn)(v.pendingHandlers),x=(b=E.queueOrRun(_),y=l.void(h.functorAff),M=E.evalF(e)(S),function(n){return b(y(M(n)))}),I=(F=E.queueOrRun(T),function(n){return F(x(H.Action.create(n)))}),L=n.render(function(n){return E.handleAff(x(n))})(k(r)(I)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)(),N=D.read(v.childrenOut)(),U=D.read(v.childrenIn)();return C.foreachSlot(g.applicativeEffect)(U)(function(e){return function(){var t=D.read(e)();return A.renderStateX_(g.applicativeEffect)(n.removeChild)(t)(),R(r)(t)()}})(),f.flip(D.modify_)(v.selfRef)(A.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:N,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new p.Just(L),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(g.applicativeEffect)(w)(f.flip(o.tailRecM(o.monadRecEffect))(m.unit)(function(n){return function(){var n,e=D.read(_)();D.write(new p.Just(d.Nil.value))(_)(),c.traverse_(g.applicativeEffect)(c.foldableMaybe)((n=c.traverse_(h.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff)),function(e){return E.handleAff(n(s.reverse(e)))}))(e)();var t=D.read(_)();return p.maybe(!1)(s.null)(t)?l.voidLeft(g.functorEffect)(D.write(p.Nothing.value)(_))(new o.Done(m.unit))():new o.Loop(m.unit)}}))()}}},R=function n(e){return A.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n;return r.bindFlipped(g.bindEffect)(c.traverse_(g.applicativeEffect)(c.foldableMaybe)(c.traverse_(g.applicativeEffect)(v.foldableMap)(S.unsubscribe)))(D.read(u.subscriptions))(),D.write(p.Nothing.value)(u.subscriptions)(),r.bindFlipped(g.bindEffect)(c.traverse_(g.applicativeEffect)(v.foldableMap)((n=h.killFiber(y.error("finalized")),function(e){return E.handleAff(n(e))})))(D.read(u.forks))(),D.write(v.empty)(u.forks)()})();var a=E.evalM(L)(t.selfRef)(t.component.eval(new F.Finalize(m.unit)));return D.modify_(function(n){return{initializers:n.initializers,finalizers:new d.Cons(a,n.finalizers)}})(e)(),C.foreachSlot(g.applicativeEffect)(t.children)(function(t){return function(){var r=D.read(t)();return n(e)(r)()}})()}})},N=function(n){return function(e){return function(u){return r.bind(h.bindAff)(w.liftEffect(h.monadEffectAff)(D.read(n)))(function(n){return n?t.pure(h.applicativeAff)(p.Nothing.value):E.evalQ(L)(e)(u)})}}},U=function(e){return function(t){return function(r){return E.handleLifecycle(t)(function(){return D.read(e)()?m.unit:(D.write(!0)(e)(),R(t)(r)(),A.unDriverStateX(function(e){return function(){var t=w.liftEffect(w.monadEffectEffect)(D.read(e.selfRef))();return c.for_(g.applicativeEffect)(c.foldableMaybe)(t.rendering)(n.dispose)()}})(r)())})}}};return r.bind(h.bindAff)(w.liftEffect(h.monadEffectAff)(T))(function(n){return r.bind(h.bindAff)(w.liftEffect(h.monadEffectAff)(D.new(!1)))(function(u){return E.handleLifecycle(n)(function(){var a,o,i=S.create(),c=r.bindFlipped(g.bindEffect)(D.read)(I(n)((a=w.liftEffect(h.monadEffectAff),o=S.notify(i.listener),function(n){return a(o(n))}))(x)(e))();return A.unDriverStateX(function(e){return t.pure(g.applicativeEffect)({query:N(u)(e.selfRef),messages:i.emitter,dispose:U(u)(n)(c)})})(c)()})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],c=n.Effect,f=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],g=n["Web.HTML.Window"],h=f.runAff_(u.either(s.throwException)(a.const(t.pure(c.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(f.bindAff)(l.liftEffect(f.monadEffectAff)(r.bindFlipped(c.bindEffect)(r.composeKleisliFlipped(c.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(g.document))(v.window)))(function(n){return t.pure(f.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=h}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){t.setAttribute(n,e)}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],c=n["Halogen.VDom.Types"],f=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e)},p=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return f.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},g=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forEachE(n.children,i.halt),i.halt(n.attrs)},h=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},w=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Elem&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,g))}var l=f.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return f.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return f.insertChildIx(n,i.extract(r),e.node),r});a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:l};return i.mkStep(new i.Step(e.node,o,n,g))}return g(e),e.build(r)},b=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Keyed&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}var s=f.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return f.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return f.insertChildIx(t,i.extract(u),e.node),u});a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:s,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof c.Text)return function(n,e,t){var r=f.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof c.Elem)return function(n,e,t,r,u,o){var c=f.createElement(a.toNullable(t),r,n.document),s=l.toNode(c),d=f.forE(o,function(n,t){var r=e(t);return f.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(c)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,w,g))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Keyed)return function(n,e,r,u,c,s){var d=f.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=f.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return f.insertChildIx(t,i.extract(u),v),u}),g=n.buildAttributes(d)(c),h={build:e,node:v,attrs:g,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,h,b,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof c.Grafted)return e(c.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){var c,f;if(c=o.thunk,f=i,u.refEq(c.value0,f.value0)&&u.refEq(c.value1,f.value1)&&c.value1(c.value3,f.value3))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var l=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(l),{vdom:l,thunk:i},t,e))};return function(u){return function(i){var c=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(c),{thunk:i,vdom:c},o,e))}}}}(t),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(){t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){e.removeChild(n)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,c=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),f=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=c,r.nextSibling=f,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],c=n["Data.Maybe"],f=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],g=n["Halogen.Aff.Driver.State"],h=n["Halogen.Component"],w=n["Halogen.VDom.DOM"],b=n["Halogen.VDom.DOM.Prop"],y=n["Halogen.VDom.Machine"],D=n["Halogen.VDom.Thunk"],E=n["Unsafe.Reference"],A=n["Web.DOM.Node"],M=n["Web.HTML"],C=n["Web.HTML.HTMLDocument"],F=n["Web.HTML.HTMLElement"],H=n["Web.HTML.Window"],S=function(n){return function(){var e=A.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return A.removeChild(n.node)(e)})(e)()}},T=function(n){return function(e){return{render:function(r){return function(u){return function(a){return function(d){if(d instanceof c.Nothing)return function(){var t=p.new(u)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),u=function(n){return n instanceof c.Just?y.halt(n.value0):l.unit};return{buildWidget:function(n){var t=D.buildThunk(f.unwrap())(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return y.mkStep(new y.Step(a,c.Nothing.value,i,u))},o=function(n){if(n instanceof h.ComponentSlot)return a(n.value0);if(n instanceof h.ThunkSlot){var e=t(n.value0);return y.mkStep(new y.Step(y.extract(e),new c.Just(e),i,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof c.Just){if(t instanceof h.ComponentSlot)return y.halt(e.value0),a(t.value0);if(t instanceof h.ThunkSlot){var r=y.step(e.value0,t.value0);return y.mkStep(new y.Step(y.extract(r),new c.Just(r),n,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return o(t)};return o},buildAttributes:b.buildProp(n),document:t}}}}(r)(t)(n),d=w.buildVDom(i)(a),v=y.extract(d);return o.void(s.functorEffect)(A.appendChild(v)(F.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=A.parentNode(d.value0.node)(),e=A.nextSibling(d.value0.node)(),r=y.step(d.value0.machine,a),f=y.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(E.unsafeRefEq)(d.value0.node)(f))(function(n){return function(e){return function(r){return e instanceof c.Just&&r instanceof c.Just?o.void(s.functorEffect)(A.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(A.appendChild(n)(r.value0)):t.pure(s.applicativeEffect)(l.unit)}}}(f)(e)(n))(),{machine:r,node:f,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:u.identity(u.categoryFn),removeChild:S,dispose:S}}};e.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(o.map(s.functorEffect)(C.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(M.window))))(function(r){return m.runUI(T(r)(t))(n)(e)})}}}}(t),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";n.Main=n.Main||{};var e=n.Main,t=n.Main,r=n.App,u=n["Component.AccountSettings"],a=n["Component.Add"],o=n["Component.BList"],i=n["Component.NList"],c=n["Component.NNote"],f=n["Component.TagCloud"],l=n["Control.Bind"],s=n["Data.Foldable"],d=n["Data.Functor"],v=n["Data.Unit"],p=n.Effect,m=n["Effect.Aff"],g=n["Effect.Class"],h=n["Halogen.Aff.Util"],w=n["Halogen.VDom.Driver"],b=n.Model,y=n["Web.DOM.Element"],D=n["Web.Event.Event"],E=n["Web.HTML.HTMLElement"],A=l.bind(m.bindAff)(h.selectElement("#content"))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return g.liftEffect(m.monadEffectAff)(y.setAttribute("view-rendered")("")(E.toElement(n)))})),M=t._mainImpl;e.main=M,e.logoutE=function(n){return l.bindFlipped(p.bindEffect)((e=d.void(p.functorEffect),function(n){return e(m.launchAff(r.logout(n)))}))(D.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(o.blist(e))(v.unit)(n)))(function(){return A})})))}},e.renderTagCloud=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return d.void(m.functorAff)(w.runUI(f.tagcloudcomponent(b.tagCloudModeToF(e)))(v.unit)(n))})))}},e.renderAddForm=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(a.addbmark(e))(v.unit)(n)))(function(){return A})})))}},e.renderNotes=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(i.nlist(e))(v.unit)(n)))(function(){return A})})))}},e.renderNote=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(c.nnote(e))(v.unit)(n)))(function(){return A})})))}},e.renderAccountSettings=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(w.runUI(u.usetting(e))(v.unit)(n)))(function(){return A})})))}},e.viewRendered=A,e._mainImpl=t._mainImpl}(t),t.Main.main(); +var n=require("process");function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var t={};!function(e){"use strict";var r;(t["Affjax"]=t["Affjax"]||{})._ajax=(r={},"undefined"==typeof module||!module.require||void 0!==n&&n.versions.electron?(r.newXHR=function(){return new XMLHttpRequest},r.fixupUrl=function(n){return n||"/"},r.getResponse=function(n){return n.response}):(r.newXHR=function(){return new(module.require("xhr2"))},r.fixupUrl=function(n,e){if(null===e.nodejsBaseUrl){var t=module.require("url"),r=t.parse(n);return r.protocol=r.protocol||"http:",r.hostname=r.hostname||"localhost",t.format(r)}return n||"/"},r.getResponse=function(n){return n.response}),function(n,e,t,u){return function(a,o){var i=r.newXHR(),c=r.fixupUrl(u.url,i);if(i.open(u.method||"GET",c,!0,u.username,u.password),u.headers)try{for(var f,l=0;null!=(f=u.headers[l]);l++)i.setRequestHeader(f.field,f.value)}catch(d){a(d)}var s=function(n){return function(){a(new Error(n))}};return i.onerror=s(e),i.ontimeout=s(n),i.onload=function(){o({status:i.status,statusText:i.statusText,headers:i.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(n){var e=n.indexOf(":");return t(n.substring(0,e))(n.substring(e+2))}),body:r.getResponse(i)})},i.responseType=u.responseType,i.withCredentials=u.withCredentials,i.timeout=u.timeout,i.send(u.content),function(n,e,t){try{i.abort()}catch(d){return e(d)}return t()}}})}(),function(n){"use strict";n["Control.Semigroupoid"]=n["Control.Semigroupoid"]||{};var e=n["Control.Semigroupoid"];e.compose=function(n){return n.compose},e.semigroupoidFn={compose:function(n){return function(e){return function(t){return n(e(t))}}}}}(t),function(n){"use strict";n["Control.Category"]=n["Control.Category"]||{};var e=n["Control.Category"],t=n["Control.Semigroupoid"],r={identity:function(n){return n},Semigroupoid0:function(){return t.semigroupoidFn}};e.identity=function(n){return n.identity},e.categoryFn=r}(t),function(n){"use strict";n["Data.Function"]=n["Data.Function"]||{};var e=n["Data.Function"];e.flip=function(n){return function(e){return function(t){return n(t)(e)}}},e.const=function(n){return function(e){return n}},e.applyFlipped=function(n){return function(e){return e(n)}},e.on=function(n){return function(e){return function(t){return function(r){return n(e(t))(e(r))}}}}}(t),function(n){"use strict";(t["Data.Functor"]=t["Data.Functor"]||{}).arrayMap=function(n){return function(e){for(var t=e.length,r=new Array(t),u=0;u=r.length)return e;var u=r.slice();return u.splice(t,1),n(u)}}}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t>1))-a>1&&n(e,t,u,r,a,i),o-i>1&&n(e,t,u,r,i,o),c=a,f=i,l=a;c0?(r[l++]=d,++f):(r[l++]=s,++c);for(;c=0;u--)r=n(t[u])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,u=t.length,a=0;a0)&&(b=H,y=Q._3(j)));break;case m:P=new w(v,new w(h,y,D),P,I),b=H,y=I&&I!==B&&0===O?Q._1.killed(n.fromLeft(I))(Q._2):D?Q._1.failed(n.fromLeft(D))(Q._2):Q._1.completed(n.fromRight(y))(Q._2),D=null,O++;break;case g:O++,P=new w(v,new w(h,y,D),P,I),b=H,y=Q._1;break;case h:O--,b=k,y=Q._1,D=Q._2}break;case L:for(var V in W)W.hasOwnProperty(V)&&(q=q&&W[V].rethrow,E(W[V].handler(y)));return W=null,void(I&&D?setTimeout(function(){throw n.fromLeft(D)},0):n.isLeft(y)&&q&&setTimeout(function(){if(q)throw n.fromLeft(y)},0));case F:b=H;break;case _:return}}function j(n){return function(){if(b===L)return q=q&&n.rethrow,n.handler(y)(),function(){};var e=B++;return(W=W||{})[e]=n,function(){null!==W&&delete W[e]}}}return{kill:function(e,t){return function(){if(b===L)return t(n.right(void 0))(),function(){};var r=j({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case F:I=n.left(e),b=L,y=I,J(d);break;case _:null===I&&(I=n.left(e)),0===O&&(b===_&&(P=new w(v,new w(g,y(e)),P,I)),b=k,y=null,D=null,J(++d));break;default:null===I&&(I=n.left(e)),0===O&&(b=k,y=null,D=null)}return r}},join:function(n){return function(){var e=j({rethrow:!1,handler:n})();return b===F&&J(d),e}},onComplete:j,isSuspended:function(){return b===F},run:function(){b===F&&(C.isDraining()?J(d):C.enqueue(function(){J(d)}))}}}function I(e,t,r,u){var o=0,i={},c=0,f={},p=new Error("[ParAff] Early exit"),m=null,g=n;function h(t,r,u){var a,o,c=r,f=null,p=null,m=0,g={};n:for(;;)switch(a=null,c.tag){case b:if(c._3===n&&(a=i[c._1],g[m++]=a.kill(t,function(n){return function(){0===--m&&u(n)()}})),null===f)break n;c=f._2,null===p?f=null:(f=p._1,p=p._2);break;case l:c=c._2;break;case s:case d:f&&(p=new w(v,f,p)),f=c,c=c._1}if(0===m)u(e.right(void 0))();else for(o=0,a=m;o=u.bottom(u.boundedInt)&&n<=u.top(u.boundedInt)?new a.Just(r.fromCharCode(n)):a.Nothing.value},f={succ:(e=c,function(n){return function(t){return e(n(t)+1|0)}})(r.toCharCode),pred:function(n){return function(e){return function(t){return n(e(t)-1|0)}}}(c)(r.toCharCode),Ord0:function(){return o.ordChar}},l={cardinality:r.toCharCode(u.top(u.boundedChar))-r.toCharCode(u.bottom(u.boundedChar))|0,toEnum:c,fromEnum:r.toCharCode,Bounded0:function(){return u.boundedChar},Enum1:function(){return f}};t.fromEnum=i,t.toEnumWithDefaults=function(n){return function(e){return function(t){return function(r){var o=n.toEnum(r);if(o instanceof a.Just)return o.value0;if(o instanceof a.Nothing)return r0?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}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";(t["Data.Ring"]=t["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}}}(t["Data.Semiring"]=t["Data.Semiring"]||{}),function(n){"use strict";n["Data.Semiring"]=n["Data.Semiring"]||{};var e=n["Data.Semiring"],t=n["Data.Semiring"],r={add:t.intAdd,zero:0,mul:t.intMul,one:1};e.semiringInt=r}(t),function(n){"use strict";n["Data.Ring"]=n["Data.Ring"]||{};var e=n["Data.Ring"],t=n["Data.Ring"],r=n["Data.Semiring"],u={sub:t.intSub,Semiring0:function(){return r.semiringInt}};e.ringInt=u}(t),function(n){"use strict";n["Data.CommutativeRing"]=n["Data.CommutativeRing"]||{};var e=n["Data.CommutativeRing"],t=n["Data.Ring"],r={Ring0:function(){return t.ringInt}};e.commutativeRingInt=r}(t),function(n){"use strict";n["Data.EuclideanRing"]=n["Data.EuclideanRing"]||{};var e=n["Data.EuclideanRing"],t=n["Data.EuclideanRing"],r=n["Data.CommutativeRing"],u={degree:t.intDegree,div:t.intDiv,mod:t.intMod,CommutativeRing0:function(){return r.commutativeRingInt}};e.div=function(n){return n.div},e.mod=function(n){return n.mod},e.euclideanRingInt=u}(t),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)}}}(t["Data.String.CodeUnits"]=t["Data.String.CodeUnits"]||{}),function(n){"use strict";n["Data.String.CodeUnits"]=n["Data.String.CodeUnits"]||{};var e=n["Data.String.CodeUnits"],t=n["Data.String.CodeUnits"];e.singleton=t.singleton,e.length=t.length,e.drop=t.drop}(t),function(n){"use strict";(t["Data.String.Unsafe"]=t["Data.String.Unsafe"]||{}).charAt=function(n){return function(e){if(n>=0&&n1){var t=a.fromEnum(a.boundedEnumChar)(l.charAt(1)(n));return p(t)?v(e)(t):e}return e}),w=(r._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(h)(n)})(b),e=a.toEnumWithDefaults(a.boundedEnumChar)(u.bottom(u.boundedChar))(u.top(u.boundedChar)),function(n){return f.singleton(e(n))}),y=r._singleton(function(n){if(n<=65535)return w(n);var e=o.div(o.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=o.mod(o.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),D=r._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof c.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});t.take=D,t.drop=function(n){return function(e){return f.drop(f.length(D(n)(e)))(e)}}}(t),function(n){"use strict";n["Web.HTML.Common"]=n["Web.HTML.Common"]||{};n["Web.HTML.Common"].ClassName=function(n){return n}}(t),function(n){"use strict";n.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Functor"],o=n["Data.Maybe"],i=n["Data.Nullable"],c=n["Data.String.CodePoints"],f=n["Data.String.Common"],l=n["Data.Tuple"],s=n["Data.Unit"],d=n.Effect,v=n["Halogen.HTML.Core"],p=n["Halogen.HTML.Properties"],m=n.JSURI,g=n["Web.HTML"],h=n["Web.HTML.Common"],b=n["Web.HTML.Location"],w=n["Web.HTML.Window"],y=(e=o.fromMaybe(""),function(n){return e(i.toMaybe(n))}),D=function(n){var e,t,r=(e=f.replaceAll("+")(" "),function(n){return t=e(n),o.fromJust()(m.decodeURIComponent(t));var t}),a="#"===(t=c.take(1)(n))||"?"===t?c.drop(1)(n):n;return u.mapMaybe(function(n){var e=f.split("=")(n);return 1===e.length?new o.Just(new l.Tuple(r(e[0]),o.Nothing.value)):2===e.length?new o.Just(new l.Tuple(r(e[0]),new o.Just(r(e[1])))):o.Nothing.value})(u.filter(function(n){return""!==n})(f.split("&")(a)))},E=r.bindFlipped(d.bindEffect)(w.location)(g.window);t.class_=function(n){return p.class_(h.ClassName(n))},t.attr=function(n){return p.attr(n)},t._loc=E,t._curQuerystring=function(){var n=E(),e=b.search(n)();return D(e)},t._lookupQueryStringValue=function(n){return function(e){return r.join(o.bindMaybe)(a.map(o.functorMaybe)(l.snd)(u.find(function(n){return l.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(s.unit):v.text("")}},t.whenA=function(n){return function(e){return n?e(s.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(s.unit):t(s.unit)}}},t.ifElseA=function(n){return function(e){return function(t){return n?e(s.unit):t(s.unit)}}},t.fromNullableStr=y}(t),function(n){"use strict";n["Component.AccountSettings"]=n["Component.AccountSettings"]||{};var e=n["Component.AccountSettings"],t=n.App,r=n["Control.Bind"],u=n["DOM.HTML.Indexed.InputType"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Lens.Getter"],c=n["Data.Lens.Internal.Forget"],f=n["Data.Lens.Lens"],l=n["Data.Lens.Setter"],s=n["Data.Profunctor.Strong"],d=n["Data.Unit"],v=n["Effect.Aff.Class"],p=n.Globals,m=n["Halogen.Component"],g=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Elements"],b=n["Halogen.HTML.Events"],w=n["Halogen.HTML.Properties"],y=n["Halogen.Query.HalogenM"],D=n.Util,E=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}(),M=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=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(n){return f.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};e.usetting=function(n){var e;p["app'"](d.unit);return m.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return C.create(n(e))}};return h.div([D.class_("settings-form")])([h.div([D.class_("fw7 mb2")])([g.text("Account Settings")]),h.div([D.class_("flex items-center mb2")])([h.input([w.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),w.id_()("archiveDefault"),w.name("archiveDefault"),w.checked(n.us.archiveDefault),b.onChecked(e(E.create))]),h.label([w.for("archiveDefault"),D.class_("lh-copy")])([g.text("Archive Non-Private Bookmarks (archive.li)")])]),h.div([D.class_("flex items-center mb2")])([h.input([w.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),w.id_()("privateDefault"),w.name("privateDefault"),w.checked(n.us.privateDefault),b.onChecked(e(A.create))]),h.label([w.for("privateDefault"),D.class_("lh-copy")])([g.text("Default new bookmarks to Private")])]),h.div([D.class_("flex items-center mb2")])([h.input([w.type_(g.isPropInputType)(u.InputCheckbox.value),D.class_("pointer mr2"),w.id_()("privacyLock"),w.name("privacyLock"),w.checked(n.us.privacyLock),b.onChecked(e(M.create))]),h.label([w.for("privacyLock"),D.class_("lh-copy")])([g.text("Privacy Lock (Private Account)")])])])},eval:m.mkEval({handleAction:function(n){if(n instanceof C)return r.discard(r.discardUnit)(y.bindHalogenM)(l.modifying(y.monadStateHalogenM)(H(s.strongFn))(function(){if(n.value0 instanceof E)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(y.functorHalogenM)(v.liftAff(y.monadAffHalogenM(v.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof F)return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(y.functorHalogenM)(v.liftAff(y.monadAffHalogenM(v.monadAffAff))(t.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.Add"]=n["Component.Add"]||{};var e=n["Component.Add"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["DOM.HTML.Indexed.ButtonType"],i=n["DOM.HTML.Indexed.InputType"],c=n["Data.Array"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],g=n["Data.Monoid"],h=n["Data.Profunctor.Strong"],b=n["Data.Semigroup"],w=n["Data.String.Common"],y=n["Data.Tuple"],D=n["Data.Unit"],E=n["Effect.Aff"],A=n["Effect.Aff.Class"],M=n["Effect.Class"],C=n.Globals,F=n["Halogen.Component"],H=n["Halogen.HTML.Core"],T=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],L=n.Util,x=n["Web.Event.Event"],I=n["Web.HTML"],R=n["Web.HTML.Location"],N=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}(),P=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}(),B=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}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=function(){function n(){}return n.value=new n,n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed,loading:n.loading}}})(n)};e.addbmark=function(n){var e;C["app'"](D.unit);return F.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1,loading:!1})),render:function(n){c.drop(1),c.foldMap(g.monoidArray)(function(n){return[T.br_,H.text(n)]}),w.split("\n");var e=C.mmoment8601(n.bm.time),t=function(n){return function(e){return q.create(n(e))}},r=function(t){return T.div([L.class_("alert")])([H.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),_.title(m.maybe(n.bm.time)(y.snd)(e))])([H.text(m.maybe(" ")(y.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(b.append(b.semigroupArray)([_.type_(H.isPropButtonType)(o.ButtonButton.value),S.onClick(function(n){return new j(!0)}),L.class_("delete")])(g.guard(g.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([H.text("delete")]),T.span(b.append(b.semigroupArray)([L.class_("confirm red")])(g.guard(g.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([_.type_(H.isPropButtonType)(o.ButtonButton.value),S.onClick(function(n){return new j(!1)})])([H.text("cancel / ")]),T.button([_.type_(H.isPropButtonType)(o.ButtonButton.value),S.onClick(function(n){return V.value}),L.class_("red")])([H.text("destroy")])])])])])};return L.ifElseH(!n.destroyed)(function(e){return T.form([S.onSubmit(J.create)])([T.table([L.class_("w-100")])([T.tbody_([T.tr_([T.td([L.class_("w1")])([]),T.td_([L.whenH(n.bm.bid>0)(r)])]),T.tr_([T.td_([T.label([_.for("url")])([H.text("URL")])]),T.td_([T.input([_.type_(H.isPropInputType)(i.InputUrl.value),_.id_()("url"),L.class_("w-100 mv1"),_.required(!0),_.name("url"),_.autofocus(w.null(n.bm.url)),_.value(n.edit_bm.url),S.onValueChange(t(N.create))])])]),T.tr_([T.td_([T.label([_.for("title")])([H.text("title")])]),T.td([L.class_("flex")])([T.input([_.type_(H.isPropInputType)(i.InputText.value),_.id_()("title"),L.class_("w-100 mv1 flex-auto"),_.name("title"),_.value(n.edit_bm.title),S.onValueChange(t(U.create))]),T.button([_.disabled(n.loading),_.type_(H.isPropButtonType)(o.ButtonButton.value),S.onClick(function(n){return Q.value}),L.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+g.guard(g.monoidString)(n.loading)("bg-light-silver"))])([H.text("fetch")])])]),T.tr_([T.td_([T.label([_.for("description")])([H.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),_.id_()("description"),_.name("description"),_.rows(4),_.value(n.edit_bm.description),S.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([_.for("tags")])([H.text("tags")])]),T.td_([T.input([_.type_(H.isPropInputType)(i.InputText.value),_.id_()("tags"),L.class_("w-100 mv1"),_.name("tags"),_.autocomplete(!1),L.attr("autocapitalize")("off"),_.autofocus(!w.null(n.bm.url)),_.value(n.edit_bm.tags),S.onValueChange(t(O.create))])])]),T.tr_([T.td_([T.label([_.for("private")])([H.text("private")])]),T.td_([T.input([_.type_(H.isPropInputType)(i.InputCheckbox.value),_.id_()("private"),L.class_("private pointer"),_.name("private"),_.checked(n.edit_bm.private),S.onChecked(t(B.create))])])]),T.tr_([T.td_([T.label([_.for("toread")])([H.text("read later")])]),T.td_([T.input([_.type_(H.isPropInputType)(i.InputCheckbox.value),_.id_()("toread"),L.class_("toread pointer"),_.name("toread"),_.checked(n.edit_bm.toread),S.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([_.type_(H.isPropInputType)(i.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),_.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return T.p([L.class_("red")])([H.text("you killed this bookmark")])})},eval:F.mkEval({handleAction:function(n){if(n instanceof j)return a.modify_(k.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Q)return u.discard(u.discardUnit)(k.bindHalogenM)(a.modify_(k.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return u.bind(k.bindHalogenM)(a.gets(k.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(k.bindHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(k.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(k.monadStateHalogenM)(z(h.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof m.Nothing)return r.pure(k.applicativeHalogenM)(D.unit);throw new Error("Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): "+[n.constructor.name])}())(function(){return a.modify_(k.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof V)return u.bind(k.bindHalogenM)(a.gets(k.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(k.bindHalogenM)(l.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.destroy(n))))(function(){return a.modify_(k.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof q)return p.modifying(k.monadStateHalogenM)(z(h.strongFn))(function(){if(n.value0 instanceof N)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof U)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof P)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof J)return u.discard(u.discardUnit)(k.bindHalogenM)(M.liftEffect(k.monadEffectHalogenM(E.monadEffectAff))(x.preventDefault(n.value0)))(function(){return u.bind(k.bindHalogenM)(s.use(k.monadStateHalogenM)(z(d.strongForget)))(function(n){return u.discard(u.discardUnit)(k.bindHalogenM)(l.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(k.bindHalogenM)(p.assign(k.monadStateHalogenM)((e=h.strongFn,v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm,loading:n.loading}}})(e)))(n))(function(){return u.bind(k.bindHalogenM)(M.liftEffect(k.monadEffectHalogenM(E.monadEffectAff))(L._loc))(function(n){return u.bind(k.bindHalogenM)(M.liftEffect(k.monadEffectHalogenM(E.monadEffectAff))(I.window))(function(e){return u.bind(k.bindHalogenM)(M.liftEffect(k.monadEffectHalogenM(E.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof m.Just?M.liftEffect(k.monadEffectHalogenM(E.monadEffectAff))(R.setHref(r.value0)(n)):M.liftEffect(k.monadEffectHalogenM(E.monadEffectAff))(C.closeWindow(e))})})})});var e})})});throw new Error("Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): "+[n.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:F.defaultEval.initialize,finalize:F.defaultEval.finalize})})}}(t),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";(t["Web.HTML.HTMLElement"]=t["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";n["Web.HTML.HTMLElement"]=n["Web.HTML.HTMLElement"]||{};var e=n["Web.HTML.HTMLElement"],t=n["Web.HTML.HTMLElement"],r=n["Data.Maybe"],u=n["Unsafe.Coerce"],a=u.unsafeCoerce,o=u.unsafeCoerce;e.fromElement=function(n){return t._read(r.Nothing.value,r.Just.create,n)},e.toElement=o,e.toNode=a}(t),function(n){"use strict";n["Halogen.Query"]=n["Halogen.Query"]||{};var e,t=n["Halogen.Query"],r=n["Control.Bind"],u=n["Data.Functor"],a=n["Data.Maybe"],o=n["Halogen.Query.HalogenM"],i=n["Web.HTML.HTMLElement"],c=(e=u.map(o.functorHalogenM)(function(n){return r.bindFlipped(a.bindMaybe)(i.fromElement)(n)}),function(n){return e(o.getRef(n))});t.getHTMLElementRef=c}(t),function(n){"use strict";n["Component.RawHtml"]=n["Component.RawHtml"]||{};var e=n["Component.RawHtml"],t=n["Component.RawHtml"],r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Monad.State.Class"],o=n["Data.Foldable"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Unit"],l=n.Effect,s=n["Effect.Aff"],d=n["Effect.Aff.Class"],v=n["Effect.Class"],p=n["Halogen.Component"],m=n["Halogen.HTML.Elements"],g=n["Halogen.HTML.Properties"],h=n["Halogen.Query"],b=n["Halogen.Query.HalogenM"],w=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();e.mkComponent=function(n){return p.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return m.div([g.ref(n.elRef)])([])},eval:p.mkEval({handleAction:function e(i){if(i instanceof w)return u.bind(b.bindHalogenM)(a.get(b.monadStateHalogenM))(function(e){return u.bind(b.bindHalogenM)(h.getHTMLElementRef(e.elRef))(function(e){return u.discard(u.discardUnit)(b.bindHalogenM)(o.for_(b.applicativeHalogenM)(o.foldableMaybe)(e)(function(e){return u.bind(b.bindHalogenM)(a.get(b.monadStateHalogenM))(function(r){return d.liftAff(b.monadAffHalogenM(d.monadAffAff))(s.forkAff(s.makeAff(function(u){return function(){return v.liftEffect(v.monadEffectEffect)(t.unsafeSetInnerHTML(e)(n(r.inputval)))(),c.mempty(l.monoidEffect(s.monoidCanceler))()}})))})}))(function(){return r.pure(b.applicativeHalogenM)(f.unit)})})});if(i instanceof y)return u.discard(u.discardUnit)(b.bindHalogenM)(a.modify_(b.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return e(w.value)});throw new Error("Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): "+[i.constructor.name])},handleQuery:p.defaultEval.handleQuery,receive:function(n){return i.Just.create(y.create(n))},initialize:new i.Just(w.value),finalize:p.defaultEval.finalize})})}}(t),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return n?e(n):""}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";n["Foreign.Marked"]=n["Foreign.Marked"]||{};var e=n["Foreign.Marked"],t=n["Foreign.Marked"],r=n.Globals;e.marked=function(n){return r.RawHTML(t.markedImpl(n))}}(t),function(n){"use strict";n["Component.Markdown"]=n["Component.Markdown"]||{};var e=n["Component.Markdown"],t=n["Component.RawHtml"],r=n["Foreign.Marked"],u=t.mkComponent(r.marked);e.component=u}(t),function(n){"use strict";n["Data.Void"]=n["Data.Void"]||{};n["Data.Void"].absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t),function(n){"use strict";n["Halogen.HTML"]=n["Halogen.HTML"]||{};var e=n["Halogen.HTML"],t=n["Data.Maybe"],r=n["Halogen.Component"],u=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(a){return function(o){return function(i){return function(c){return function(f){return u.widget(new r.ComponentSlot(r.componentSlot()(n)(e)(a)(o)(i)(c)(function(n){return t.Just.create(f(n))})))}}}}}}}}}(t),function(n){"use strict";n["Component.BMark"]=n["Component.BMark"]||{};var e=n["Component.BMark"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["DOM.HTML.Indexed.InputType"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.Lens.Getter"],d=n["Data.Lens.Internal.Forget"],v=n["Data.Lens.Lens"],p=n["Data.Lens.Setter"],m=n["Data.Maybe"],g=n["Data.Monoid"],h=n["Data.Nullable"],b=n["Data.Ord"],w=n["Data.Profunctor.Strong"],y=n["Data.Show"],D=n["Data.String.CodePoints"],E=n["Data.String.Common"],A=n["Data.Unit"],M=n["Data.Void"],C=n.Effect,F=n["Effect.Aff"],H=n["Effect.Aff.Class"],T=n["Effect.Class"],S=n.Globals,_=n["Halogen.Component"],k=n["Halogen.HTML"],L=n["Halogen.HTML.Core"],x=n["Halogen.HTML.Elements"],I=n["Halogen.HTML.Events"],R=n["Halogen.HTML.Properties"],N=n["Halogen.Query.HalogenM"],U=n["Type.Proxy"],P=n.Util,O=n["Web.Event.Event"],B=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}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=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}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(){}return n.value=new n,n}(),X=function(){function n(){}return n.value=new n,n}(),Y=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}(),Z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),nn=function(){function n(){}return n.value=new n,n}(),en=U.Proxy.value,tn=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit,loading:n.loading}}})(n)},rn=function(n){return v.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm,loading:n.loading}}})(n)},un=function(n){return v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm,loading:n.loading}}})(n)};e.bmark=function(n){var e,v=function(n){return y.show(y.showInt)(n.bid)+"_tags"},U=S["app'"](A.unit);return _.mkComponent({initialState:f.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,edit:!1,loading:!1})),render:function(n){var e=D.take(16)(n.bm.time)+"Z",t=S.toLocaleDateString(n.bm.time),u=function(n){return P.fromNullableStr(U.userR)+"/t:"+n},a=function(n){return function(e){return $.create(n(e))}};return x.div([R.id_()(y.show(y.showInt)(n.bm.bid)),P.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])([P.whenH(U.dat.isowner)(function(e){return x.div([P.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([x.button([P.class_("moon-gray"),I.onClick(function(e){return new z(!n.bm.selected)})])([L.text("✭")])])}),P.ifElseH(n.edit)(function(e){return x.div([P.class_("edit_bookmark_form pa2 pt0 bg-white")])([x.form([I.onSubmit(Z.create)])([x.div_([L.text("url")]),x.input([R.type_(L.isPropInputType)(c.InputUrl.value),P.class_("url w-100 mb2 pt1 edit_form_input"),R.required(!0),R.name("url"),R.value(n.edit_bm.url),I.onValueChange(a(B.create))]),x.div_([L.text("title")]),x.div([P.class_("flex")])([x.input([R.type_(L.isPropInputType)(c.InputText.value),P.class_("title w-100 mb2 pt1 edit_form_input"),R.name("title"),R.value(n.edit_bm.title),I.onValueChange(a(W.create))]),x.button([R.disabled(n.loading),R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return K.value}),P.class_("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 "+g.guard(g.monoidString)(n.loading)("bg-light-silver"))])([L.text("fetch")])]),x.div_([L.text("description")]),x.textarea([P.class_("description w-100 mb1 pt1 edit_form_input"),R.name("description"),R.rows(5),R.value(n.edit_bm.description),I.onValueChange(a(q.create))]),x.div([R.id_()("tags_input_box")])([x.div_([L.text("tags")]),x.input([R.id_()(v(n.edit_bm)),R.type_(L.isPropInputType)(c.InputText.value),P.class_("tags w-100 mb1 pt1 edit_form_input"),R.name("tags"),R.autocomplete(!1),P.attr("autocapitalize")("off"),R.value(n.edit_bm.tags),I.onValueChange(a(J.create))])]),x.div([P.class_("edit_form_checkboxes mv3")])([x.input([R.type_(L.isPropInputType)(c.InputCheckbox.value),P.class_("private pointer"),R.id_()("edit_private"),R.name("private"),R.checked(n.edit_bm.private),I.onChecked(a(j.create))]),L.text(" "),x.label([R.for("edit_private"),P.class_("mr2")])([L.text("private")]),L.text(" "),x.input([R.type_(L.isPropInputType)(c.InputCheckbox.value),P.class_("toread pointer"),R.id_()("edit_toread"),R.name("toread"),R.checked(n.edit_bm.toread),I.onChecked(a(Q.create))]),L.text(" "),x.label([R.for("edit_toread")])([L.text("to-read")])]),x.input([R.type_(L.isPropInputType)(c.InputSubmit.value),P.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),R.value("save")]),L.text(" "),x.input([R.type_(L.isPropInputType)(c.InputReset.value),P.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),R.value("cancel"),I.onClick(function(n){return new Y(!1)})])])])})(function(a){return x.div([P.class_("display")])([x.a([R.href(n.bm.url),R.target("_blank"),P.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([L.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),x.br_,x.a([R.href(n.bm.url),P.class_("link f7 gray hover-blue")])([L.text(n.bm.url)]),x.a([R.href(m.fromMaybe("http://archive.is/"+n.bm.url)(h.toMaybe(n.bm.archiveUrl))),P.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(h.toMaybe(n.bm.archiveUrl)))(" green")),R.target("_blank"),R.title("archive link")])([m.isJust(h.toMaybe(n.bm.archiveUrl))?L.text("☑"):L.text("☐")]),x.br_,x.div([P.class_("description mt1 mid-gray")])([k.slot()({reflectSymbol:function(){return"markdown"}})(b.ordUnit)(en)(A.unit)(r.component)(n.bm.description)(M.absurd)]),x.div([P.class_("tags")])(P.whenA(!E.null(n.bm.tags))(function(e){return l.map(l.functorArray)(function(n){return x.a([P.class_("link tag mr1"+g.guard(g.monoidString)("."===D.take(1)(n))(" private")),R.href(u(n))])([L.text(n)])})(E.split(" ")(n.bm.tags))})),x.a([P.class_("link f7 dib gray w4"),R.href((o=n.bm.slug,P.fromNullableStr(U.userR)+"/b:"+o)),R.title(e)])([L.text(t)]),P.whenH(U.dat.isowner)(function(e){return x.div([P.class_("edit_links di")])([x.button([R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return new Y(!0)}),P.class_("edit light-silver hover-blue")])([L.text("edit  ")]),x.div([P.class_("delete_link di")])([x.button([R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return new G(!0)}),P.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([L.text("delete")]),x.span([P.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([x.button([R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return new G(!1)})])([L.text("cancel / ")]),x.button([R.type_(L.isPropButtonType)(i.ButtonButton.value),I.onClick(function(n){return X.value}),P.class_("red")])([L.text("destroy")])])])])}),P.whenH(U.dat.isowner)(function(e){return x.div([P.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([L.text("  "),x.button([I.onClick(function(n){return nn.value}),P.class_("mark_read")])([L.text("mark as read")])]))})]);var o})])},eval:_.mkEval({handleAction:function(n){if(n instanceof z)return a.bind(N.bindHalogenM)(s.use(N.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(N.bindHalogenM)(H.liftAff(N.monadAffHalogenM(H.monadAffAff))(t.toggleStar(e.bid)(n.value0?t.Star.value:t.UnStar.value)))(function(){return a.discard(a.discardUnit)(N.bindHalogenM)(p.modifying(N.monadStateHalogenM)(un(w.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return p.modifying(N.monadStateHalogenM)(tn(w.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof G)return o.modify_(N.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof X)return a.bind(N.bindHalogenM)(s.use(N.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(N.bindHalogenM)(l.void(N.functorHalogenM)(H.liftAff(N.monadAffHalogenM(H.monadAffAff))(t.destroy(n.bid))))(function(){return N.raise(V.value)})});if(n instanceof nn)return a.bind(N.bindHalogenM)(s.use(N.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(N.bindHalogenM)(l.void(N.functorHalogenM)(H.liftAff(N.monadAffHalogenM(H.monadAffAff))(t.markRead(n.bid))))(function(){return p.modifying(N.monadStateHalogenM)(un(w.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof Y)return a.bind(N.bindHalogenM)(s.use(N.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(N.bindHalogenM)(p.assign(N.monadStateHalogenM)(tn(w.strongFn))(e))(function(){return a.discard(a.discardUnit)(N.bindHalogenM)(p.assign(N.monadStateHalogenM)(rn(w.strongFn))(n.value0))(function(){return T.liftEffect(N.monadEffectHalogenM(F.monadEffectAff))(u.when(C.applicativeEffect)(n.value0)(S.setFocus(v(e))))})})});if(n instanceof $)return p.modifying(N.monadStateHalogenM)(tn(w.strongFn))(function(){if(n.value0 instanceof B)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof J)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof j)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof Q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 237, column 17 - line 243, column 36): "+[n.value0.constructor.name])}());if(n instanceof K)return a.discard(a.discardUnit)(N.bindHalogenM)(o.modify_(N.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!0,e}))(function(){return a.bind(N.bindHalogenM)(o.gets(N.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return a.bind(N.bindHalogenM)(H.liftAff(N.monadAffHalogenM(H.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(N.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(N.monadStateHalogenM)(tn(w.strongFn))(function(e){return{url:e.url,title:n.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}});if(n instanceof m.Nothing)return u.pure(N.applicativeHalogenM)(A.unit);throw new Error("Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): "+[n.constructor.name])}())(function(){return o.modify_(N.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.loading=!1,e})})})})});if(n instanceof Z)return a.discard(a.discardUnit)(N.bindHalogenM)(T.liftEffect(N.monadEffectHalogenM(F.monadEffectAff))(O.preventDefault(n.value0)))(function(){return a.bind(N.bindHalogenM)(s.use(N.monadStateHalogenM)(tn(d.strongForget)))(function(n){var e={tags:E.replaceAll(",")(" ")(n.tags),archiveUrl:n.archiveUrl,bid:n.bid,description:n.description,private:n.private,selected:n.selected,slug:n.slug,time:n.time,title:n.title,toread:n.toread,url:n.url};return a.discard(a.discardUnit)(N.bindHalogenM)(l.void(N.functorHalogenM)(H.liftAff(N.monadAffHalogenM(H.monadAffAff))(t.editBookmark(e))))(function(){return a.discard(a.discardUnit)(N.bindHalogenM)(p.assign(N.monadStateHalogenM)(un(w.strongFn))(e))(function(){return p.assign(N.monadStateHalogenM)(rn(w.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): "+[n.constructor.name])},handleQuery:_.defaultEval.handleQuery,receive:_.defaultEval.receive,initialize:_.defaultEval.initialize,finalize:_.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.BList"]=n["Component.BList"]||{};var e=n["Component.BList"],t=n["Component.BMark"],r=n["Control.Monad.State.Class"],u=n["Data.Array"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Ord"],c=n["Data.Unit"],f=n["Halogen.Component"],l=n["Halogen.HTML"],s=n["Halogen.HTML.Elements"],d=n["Halogen.Query.HalogenM"],v=n["Type.Proxy"],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=v.Proxy.value;e.blist=function(n){return f.mkComponent({initialState:a.const(n),render:function(n){return s.div_(o.map(o.functorArray)(function(n){return l.slot()({reflectSymbol:function(){return"bookmark"}})(i.ordInt)(m)(n.bid)(t.bmark(n))(c.unit)(p.create(n.bid))})(n))},eval:f.mkEval({handleAction:function(n){return r.modify_(d.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:f.defaultEval.handleQuery,receive:f.defaultEval.receive,initialize:f.defaultEval.initialize,finalize:f.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NList"]=n["Component.NList"]||{};var e=n["Component.NList"],t=n["Control.Applicative"],r=n["Data.Array"],u=n["Data.Function"],a=n["Data.Functor"],o=n["Data.Maybe"],i=n["Data.Monoid"],c=n["Data.Show"],f=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Globals,p=n["Halogen.Component"],m=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Elements"],h=n["Halogen.HTML.Properties"],b=n["Halogen.Query.HalogenM"],w=n.Util;e.nlist=function(n){var e,y=function(n){return v.mmoment8601(n.created)},D=v["app'"](d.unit),E=function(n){return w.fromNullableStr(D.userR)+"/notes/"+n};return p.mkComponent({initialState:u.const((e=n,{notes:e,cur:o.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return g.div_(a.map(a.functorArray)(function(n){return g.div([h.id_()(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2"+(n.shared?"":" private"))])([g.div([w.class_("display")])([g.a([h.href(E(n.slug)),w.class_("link f5 lh-title")])([m.text(l.null(n.title)?"[no title]":n.title)]),g.br_,g.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(r.foldMap(i.monoidArray)(function(n){return[g.br_,m.text(n)]})(l.split("\n")(e))))),g.a([w.class_("link f7 dib gray w4"),h.title(o.maybe(n.created)(s.snd)(y(n))),h.href(E(n.slug))])([m.text(o.maybe(" ")(s.fst)(y(n)))])])]);var e})(n.notes))},eval:p.mkEval({handleAction:function(n){return t.pure(b.applicativeHalogenM)(d.unit)},handleQuery:p.defaultEval.handleQuery,receive:p.defaultEval.receive,initialize:p.defaultEval.initialize,finalize:p.defaultEval.finalize})})}}(t),function(n){"use strict";n["Component.NNote"]=n["Component.NNote"]||{};var e=n["Component.NNote"],t=n.App,r=n["Component.Markdown"],u=n["Control.Applicative"],a=n["Control.Bind"],o=n["Control.Monad"],i=n["Control.Monad.State.Class"],c=n["DOM.HTML.Indexed.ButtonType"],f=n["DOM.HTML.Indexed.InputType"],l=n["Data.Array"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.Lens.Getter"],m=n["Data.Lens.Internal.Forget"],g=n["Data.Lens.Lens"],h=n["Data.Lens.Setter"],b=n["Data.Maybe"],w=n["Data.Monoid"],y=n["Data.Ord"],D=n["Data.Profunctor.Strong"],E=n["Data.Show"],A=n["Data.String.Common"],M=n["Data.Tuple"],C=n["Data.Unit"],F=n["Data.Void"],H=n.Effect,T=n["Effect.Aff"],S=n["Effect.Aff.Class"],_=n["Effect.Class"],k=n.Globals,L=n["Halogen.Component"],x=n["Halogen.HTML"],I=n["Halogen.HTML.Core"],R=n["Halogen.HTML.Elements"],N=n["Halogen.HTML.Events"],U=n["Halogen.HTML.Properties"],P=n["Halogen.Query.HalogenM"],O=n["Type.Proxy"],B=n.Util,W=n["Web.Event.Event"],q=n["Web.HTML.Location"],J=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Q=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}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),$=function(){function n(){}return n.value=new n,n}(),Z=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},nn=O.Proxy.value,en=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},tn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};e.nnote=function(n){var e,g=function(n){return E.show(E.showInt)(n.id)+"_text"},O=k["app'"](C.unit);return L.mkComponent({initialState:d.const((e=n,{note:e,edit_note:e,deleteAsk:!1,edit:e.id<=0,destroyed:!1})),render:function(n){var e=function(n){return k.mmoment8601(n.created)},t=function(n){return function(e){return G.create(n(e))}};return B.ifElseH(n.destroyed)(function(n){return R.p([B.class_("red")])([I.text("you killed this note")])})(d.const(B.ifElseH(n.edit)(function(e){return R.form([N.onSubmit(K.create)])([R.p([B.class_("mt2 mb1")])([I.text("title:")]),R.input([U.type_(I.isPropInputType)(f.InputText.value),B.class_("title w-100 mb1 pt1 edit_form_input"),U.name("title"),U.value(n.edit_note.title),N.onValueChange(t(J.create)),U.autofocus(A.null(n.edit_note.title))]),R.br_,R.p([B.class_("mt2 mb1")])([I.text("description:")]),R.textarea([U.id_()(g(n.edit_note)),B.class_("description w-100 mb1 pt1 edit_form_input"),U.name("text"),U.rows(25),U.value(n.edit_note.text),N.onValueChange(t(j.create))]),R.div([B.class_("edit_form_checkboxes mb3")])([R.input([U.type_(I.isPropInputType)(f.InputCheckbox.value),B.class_("is-markdown pointer"),U.id_()("edit_ismarkdown"),U.name("ismarkdown"),U.checked(n.edit_note.isMarkdown),N.onChecked(t(Q.create))]),I.text(" "),R.label([U.for("edit_ismarkdown"),B.class_("mr2")])([I.text("use markdown?")]),R.br_]),R.div([B.class_("edit_form_checkboxes mb3")])([R.input([U.type_(I.isPropInputType)(f.InputCheckbox.value),B.class_("is-markdown pointer"),U.id_()("edit_shared"),U.name("shared"),U.checked(n.edit_note.shared),N.onChecked(t(V.create))]),I.text(" "),R.label([U.for("edit_shared"),B.class_("mr2")])([I.text("public?")]),R.br_]),R.input([U.type_(I.isPropInputType)(f.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("save")]),I.text(" "),R.input([U.type_(I.isPropInputType)(f.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),U.value("cancel"),N.onClick(function(n){return new X(!1)})])])})(function(t){return R.div([U.id_()(E.show(E.showInt)(n.note.id)),B.class_("note w-100 mw7 pa1 mb2")])([R.div([B.class_("display")])([R.div([B.class_("link f5 lh-title")])([I.text(A.null(n.note.title)?"[no title]":n.note.title)]),R.br_,n.note.isMarkdown?R.div([B.class_("description mt1")])([x.slot()({reflectSymbol:function(){return"markdown"}})(y.ordUnit)(nn)(C.unit)(r.component)(n.note.text)(F.absurd)]):R.div([B.class_("description mt1 mid-gray")])((u=n.note.text,l.drop(1)(l.foldMap(w.monoidArray)(function(n){return[R.br_,I.text(n)]})(A.split("\n")(u))))),R.div([B.class_("link f7 dib gray w4")])([R.span([U.title(b.maybe(n.note.created)(M.snd)(e(n.note)))])([I.text(b.maybe(" ")(M.fst)(e(n.note)))]),I.text(" - "),R.span([B.class_("gray")])([I.text(n.note.shared?"public":"private")])])]),B.whenH(O.dat.isowner)(function(e){return R.div([B.class_("edit_links db mt3")])([R.button([U.type_(I.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new X(!0)}),B.class_("edit light-silver hover-blue")])([I.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([U.type_(I.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new Y(!0)}),B.class_("delete light-silver hover-blue"+w.guard(w.monoidString)(n.deleteAsk)(" dn"))])([I.text("delete")]),R.span([B.class_("confirm red"+w.guard(w.monoidString)(!n.deleteAsk)(" dn"))])([R.button([U.type_(I.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return new Y(!1)})])([I.text("cancel / ")]),R.button([U.type_(I.isPropButtonType)(c.ButtonButton.value),N.onClick(function(n){return $.value}),B.class_("red")])([I.text("destroy")])])])])})]);var u})))},eval:L.mkEval({handleAction:function(n){if(n instanceof z)return u.pure(P.applicativeHalogenM)(C.unit);if(n instanceof G)return h.modifying(P.monadStateHalogenM)(en(D.strongFn))(function(){if(n.value0 instanceof J)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,shared:e.shared,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:e.isMarkdown,shared:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 179, column 19 - line 183, column 36): "+[n.value0.constructor.name])}());if(n instanceof Y)return i.modify_(P.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof $)return a.bind(P.bindHalogenM)(p.use(P.monadStateHalogenM)(Z(m.strongForget)))(function(n){return a.discard(a.discardUnit)(P.bindHalogenM)(v.void(P.functorHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.destroyNote(n.id))))(function(){return i.modify_(P.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof X)return a.bind(P.bindHalogenM)(p.use(P.monadStateHalogenM)(Z(m.strongForget)))(function(e){return a.discard(a.discardUnit)(P.bindHalogenM)(h.assign(P.monadStateHalogenM)(en(D.strongFn))(e))(function(){return a.discard(a.discardUnit)(P.bindHalogenM)(h.assign(P.monadStateHalogenM)(tn(D.strongFn))(n.value0))(function(){return _.liftEffect(P.monadEffectHalogenM(T.monadEffectAff))(o.whenM(H.monadEffect)(u.pure(H.applicativeEffect)(n.value0))(k.setFocus(g(e))))})})});if(n instanceof K)return a.discard(a.discardUnit)(P.bindHalogenM)(_.liftEffect(P.monadEffectHalogenM(T.monadEffectAff))(W.preventDefault(n.value0)))(function(){return a.bind(P.bindHalogenM)(p.use(P.monadStateHalogenM)(en(m.strongForget)))(function(n){return a.bind(P.bindHalogenM)(S.liftAff(P.monadAffHalogenM(S.monadAffAff))(t.editNote(n)))(function(e){return s.for_(P.applicativeHalogenM)(s.foldableEither)(e)(function(e){return 0===n.id?_.liftEffect(P.monadEffectHalogenM(T.monadEffectAff))(a.bindFlipped(H.bindEffect)(q.setHref(B.fromNullableStr(O.noteR)))(B._loc)):a.discard(a.discardUnit)(P.bindHalogenM)(h.assign(P.monadStateHalogenM)(Z(D.strongFn))(n))(function(){return h.assign(P.monadStateHalogenM)(tn(D.strongFn))(!1)})})})})});throw new Error("Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): "+[n.constructor.name])},handleQuery:L.defaultEval.handleQuery,receive:L.defaultEval.receive,initialize:L.defaultEval.initialize,finalize:L.defaultEval.finalize})})}}(t),function(n){"use strict";(t["Math"]=t["Math"]||{}).log=Math.log}(),function(n){"use strict";n.Math=n.Math||{};var e=n.Math,t=n.Math;e.log=t.log}(t),function(n){"use strict";n["Component.TagCloud"]=n["Component.TagCloud"]||{};var e=n["Component.TagCloud"],t=n.App,r=n["Control.Applicative"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.State.Class"],i=n["DOM.HTML.Indexed.ButtonType"],c=n["Data.Array"],f=n["Data.Eq"],l=n["Data.Foldable"],s=n["Data.Function"],d=n["Data.Functor"],v=n["Data.Int"],p=n["Data.Maybe"],m=n["Data.Monoid"],g=n["Data.Ord"],h=n["Data.Semigroup"],b=n["Data.Show"],w=n["Data.String.Common"],y=n["Data.Tuple"],D=n["Data.Unfoldable"],E=n["Data.Unit"],A=n["Effect.Aff.Class"],M=n["Foreign.Object"],C=n.Globals,F=n["Halogen.Component"],H=n["Halogen.HTML.Core"],T=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],L=n.Math,x=n.Model,I=n.Util,R=function(){function n(){}return n.value=new n,n}(),N=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}();e.tagcloudcomponent=function(n){var e,P=function(n){return function(e){return function(t){return function(r){return function(u){return function(a){return(r-t<.01?1:n(e-t)/n(r-t))*(a-u)+u}}}}}},O=function(n){return n instanceof x.TagCloudModeNone?r.pure(k.applicativeHalogenM)(E.unit):u.bind(k.bindHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.getTagCloud(x.tagCloudModeFromF(n))))(function(e){return o.modify_(k.monadStateHalogenM)(function(t){var r={};for(var u in t)({}).hasOwnProperty.call(t,u)&&(r[u]=t[u]);return r.mode=n,r.tagcloud=p.fromMaybe(M.empty)(e),r})})},B=C["app'"](E.unit),W=function(n){return I.fromNullableStr(B.userR)+(w.null(n)?"":"/t:"+n)},q=function(n){return function(e){return function(t){var r=d.map(d.functorArray)(y.uncurry(function(n){return function(e){return function(t){return function(r){return function(u){var o=P(function(n){return L.log(1+n)})(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(.6)(1),i=w.toLower(r),l=P(a.identity(a.categoryFn))(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(100)(150),s=_.attr("style")("font-size:"+b.show(b.showNumber)(l)+"%;opacity:"+b.show(b.showNumber)(o));return[T.a([_.href(W(r)),I.class_("link tag mr1"),s])([H.text(r)]),I.whenH(!c.null(n))(function(e){return c.notElem(f.eqString)(i)(n)?T.a([_.href(W(w.joinWith("+")(c.cons(i)(n)))),I.class_("link mr2 tag-include")])([H.text("⊕")]):T.a([_.href(W(w.joinWith("+")(c.delete(f.eqString)(i)(n)))),I.class_("link mr2 tag-exclude")])([H.text("⊖")])})]}}}}}(d.map(d.functorArray)(w.toLower)(n))(e)(t))),u=c.sortBy(g.comparing(g.ordString)(function(n){return w.toLower(y.fst(n))})),o=M.toUnfoldable(D.unfoldableArray);return function(n){return c.concat(r(u(o(n))))}}}};return F.mkComponent({initialState:s.const((e=n,{mode:e,tagcloud:M.empty})),render:function(n){if(n.mode instanceof x.TagCloudModeNone)return T.div([I.class_("tag_cloud")])([]);var e=new x.TagCloudModeTop(x.isExpanded(n.mode),200),t=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),5),r=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),20),u=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),2),a=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),10),o=new x.TagCloudModeLowerBound(x.isExpanded(n.mode),1);return T.div([I.class_("tag_cloud mv3")])([T.div([I.class_("tag_cloud_header mb2")])(h.append(h.semigroupArray)(I.ifElseA(x.isRelated(n.mode))(function(e){return[T.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue mr1 b"),S.onClick(function(e){return new N(!x.isExpanded(n.mode))})])([H.text("Related Tags")])]})(function(c){return[T.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(e))(" b")),_.title("show a cloud of your most-used tags"),S.onClick(function(n){return new U(e)})])([H.text("Top Tags")]),T.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(o))(" b")),_.title("show all tags"),S.onClick(function(n){return new U(o)})])([H.text("all")]),H.text("‧"),T.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(u))(" b")),_.title("show tags with at least 2 bookmarks"),S.onClick(function(n){return new U(u)})])([H.text("2")]),H.text("‧"),T.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(t))(" b")),_.title("show tags with at least 5 bookmarks"),S.onClick(function(n){return new U(t)})])([H.text("5")]),H.text("‧"),T.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(a))(" b")),_.title("show tags with at least 10 bookmarks"),S.onClick(function(n){return new U(a)})])([H.text("10")]),H.text("‧"),T.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(x.eqTagCloudModeF)(n.mode)(r))(" b")),_.title("show tags with at least 20 bookmarks"),S.onClick(function(n){return new U(r)})])([H.text("20")])]}))([T.button([_.type_(H.isPropButtonType)(i.ButtonButton.value),I.class_("pa1 ml2 f7 link silver hover-blue "),S.onClick(function(e){return new N(!x.isExpanded(n.mode))})])([H.text(x.isExpanded(n.mode)?"hide":"show")])])),I.whenH(x.isExpanded(n.mode))(function(e){var t=p.fromMaybe(1)(l.minimum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud))),r=p.fromMaybe(1)(l.maximum(g.ordInt)(l.foldableArray)(M.values(n.tagcloud)));return T.div([I.class_("tag_cloud_body")])(n.mode instanceof x.TagCloudModeNone?[]:n.mode instanceof x.TagCloudModeRelated?q(n.mode.value1)(t)(r)(n.tagcloud):q([])(t)(r)(n.tagcloud))})])},eval:F.mkEval({handleAction:function n(e){if(e instanceof R)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return O(n)});if(e instanceof N)return u.discard(u.discardUnit)(k.bindHalogenM)(o.modify_(k.monadStateHalogenM)(function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r]);return t.mode=x.setExpanded(n.mode)(e.value0),t}))(function(){return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(k.functorHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.updateTagCloudMode(x.tagCloudModeFromF(n))))})});if(e instanceof U)return u.bind(k.bindHalogenM)(o.gets(k.monadStateHalogenM)(function(n){return n.mode}))(function(t){return f.eq(x.eqTagCloudModeF)(t)(e.value0)?n(new N(!x.isExpanded(t))):O(x.setExpanded(e.value0)(!0))});throw new Error("Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): "+[e.constructor.name])},handleQuery:F.defaultEval.handleQuery,receive:F.defaultEval.receive,initialize:new p.Just(R.value),finalize:F.defaultEval.finalize})})}}(t),function(n){"use strict";n["Control.Applicative.Free"]=n["Control.Applicative.Free"]||{};var e=n["Control.Applicative.Free"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Category"],a=n["Data.Either"],o=n["Data.List.NonEmpty"],i=n["Data.List.Types"],c=n["Data.NonEmpty"],f=n["Data.Tuple"],l=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}(),v=function(n){return function(e){return new d(n,e)}},p=s.create,m=function(n){return function(e){return function(r){return function(u){return function(a){return function(c){var v,p=n,m=e,g=r,h=u,b=a,w=!1;function y(n,e,r,u,a,v){if(a instanceof l)return w=!0,new f.Tuple(new i.Cons({func:t.pure(n)(a.value0),count:v},e),r);if(a instanceof s)return w=!0,new f.Tuple(new i.Cons({func:u(a.value0),count:v},e),r);if(a instanceof d)return p=n,m=e,g=o.cons(a.value1)(r),h=u,b=a.value0,void(c=v+1|0);throw new Error("Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): "+[a.constructor.name])}for(;!w;)v=y(p,m,g,h,b,c);return v}}}}}},g=function(n){return function(e){return function(t){return function(u){var o,l=n,s=e,d=t,v=!1;function p(n,e,t,o){if(e instanceof i.Nil)return v=!0,new a.Left(o);if(e instanceof i.Cons){var p=r.apply(n.Apply0())(e.value0.func)(o);if(1===e.value0.count)return e.value1 instanceof i.Nil?(v=!0,new a.Left(p)):(l=n,s=e.value1,d=t,void(u=p));if(t instanceof i.Nil)return v=!0,new a.Left(p);if(t instanceof i.Cons)return v=!0,a.Right.create(new f.Tuple(new i.Cons({func:p,count:e.value0.count-1|0},e.value1),new c.NonEmpty(t.value0,t.value1)));throw new Error("Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): "+[t.constructor.name])}throw new Error("Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): "+[e.constructor.name])}for(;!v;)o=p(l,s,d,u);return o}}}},h={map:function(n){return function(e){return v(new l(n))(e)}}},b=function(n){return function(e){return function(r){return function(r){var u,o=!1;function i(u){if(u.value1.value0 instanceof l){if((i=g(n)(u.value0)(u.value1.value1)(t.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=g(n)(u.value0)(u.value1.value1)(e(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 62, column 47): "+[u.value1.value0.constructor.name]);var f=new c.NonEmpty(u.value1.value0.value1,u.value1.value1);r=m(n)(u.value0)(f)(e)(u.value1.value0.value0)(1)}for(;!o;)u=i(r);return u}(new f.Tuple(i.Nil.value,o.singleton(r)))}}},w={apply:function(n){return function(e){return v(n)(e)}},Functor0:function(){return h}},y={pure:l.create,Apply0:function(){return w}};e.retractFreeAp=function(n){return b(n)(u.identity(u.categoryFn))},e.hoistFreeAp=function(n){return b(y)(function(e){return p(n(e))})}}(t),function(n){"use strict";n["Control.Monad.Fork.Class"]=n["Control.Monad.Fork.Class"]||{};var e=n["Control.Monad.Fork.Class"],t=n["Effect.Aff"],r={suspend:t.suspendAff,fork:t.forkAff,join:t.joinFiber,Monad0:function(){return t.monadAff},Functor1:function(){return t.functorFiber}};e.fork=function(n){return n.fork},e.monadForkAff=r}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){console.warn(n)}}}(),function(n){"use strict";n["Effect.Console"]=n["Effect.Console"]||{};var e=n["Effect.Console"],t=n["Effect.Console"];e.warn=t.warn}(t),function(n){"use strict";n["Halogen.Aff.Driver.State"]=n["Halogen.Aff.Driver.State"]||{};var e=n["Halogen.Aff.Driver.State"],t=n["Data.Foldable"],r=n["Data.List.Types"],u=n["Data.Map.Internal"],a=n["Data.Maybe"],o=n["Effect.Ref"],i=n["Halogen.Data.Slot"],c=n["Unsafe.Coerce"],f=c.unsafeCoerce,l=c.unsafeCoerce,s=c.unsafeCoerce,d=c.unsafeCoerce;e.mapDriverState=function(n){return function(e){return n(e)}},e.unDriverStateX=l,e.renderStateX=function(n){return function(n){return l(function(e){return s(n(e.rendering))})}},e.renderStateX_=function(n){return function(e){return l(function(r){return t.traverse_(n)(t.foldableMaybe)(e)(r.rendering)})}},e.unRenderStateX=f,e.initDriverState=function(n){return function(e){return function(t){return function(c){return function(){var f=o.new({})(),l=o.new(i.empty)(),s=o.new(i.empty)(),v=o.new(t)(),p=o.new(new a.Just(r.Nil.value))(),m=o.new(new a.Just(r.Nil.value))(),g=o.new(a.Nothing.value)(),h=o.new(1)(),b=o.new(new a.Just(u.empty))(),w=o.new(u.empty)(),y={component:n,state:n.initialState(e),refs:u.empty,children:i.empty,childrenIn:l,childrenOut:s,selfRef:f,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:a.Nothing.value,fresh:h,subscriptions:b,forks:w,lifecycleHandlers:c};return o.write(y)(f)(),d(f)}}}}}}(t),function(n){"use strict";n["Halogen.Query.ChildQuery"]=n["Halogen.Query.ChildQuery"]||{};var e=n["Halogen.Query.ChildQuery"],t=n["Unsafe.Coerce"].unsafeCoerce;e.unChildQueryBox=t}(t),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n["Unsafe.Reference"]=n["Unsafe.Reference"]||{};var e=n["Unsafe.Reference"],t=n["Unsafe.Reference"].reallyUnsafeRefEq;e.unsafeRefEq=t}(t),function(n){"use strict";n["Halogen.Subscription"]=n["Halogen.Subscription"]||{};var e=n["Halogen.Subscription"],t=n["Control.Bind"],r=n["Data.Array"],u=n["Data.Foldable"],a=n["Data.Functor"],o=n["Data.Semigroup"],i=n.Effect,c=n["Effect.Ref"],f=n["Unsafe.Reference"];e.create=function(){var n=c.new([])();return{emitter:function(e){return function(){return c.modify_(function(n){return o.append(o.semigroupArray)(n)([e])})(n)(),c.modify_(r.deleteBy(f.unsafeRefEq)(e))(n)}},listener:function(e){return t.bind(i.bindEffect)(c.read(n))(u.traverse_(i.applicativeEffect)(u.foldableArray)(function(n){return n(e)}))}}},e.notify=function(n){return function(e){return n(e)}},e.subscribe=function(n){return function(e){return n((t=a.void(i.functorEffect),function(n){return t(e(n))}));var t}},e.unsubscribe=function(n){return n}}(t),function(n){"use strict";n["Halogen.Aff.Driver.Eval"]=n["Halogen.Aff.Driver.Eval"]||{};var e=n["Halogen.Aff.Driver.Eval"],t=n["Control.Applicative"],r=n["Control.Applicative.Free"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Fork.Class"],i=n["Control.Monad.Free"],c=n["Control.Parallel"],f=n["Control.Parallel.Class"],l=n["Data.Boolean"],s=n["Data.Coyoneda"],d=n["Data.Either"],v=n["Data.Foldable"],p=n["Data.Function"],m=n["Data.Functor"],g=n["Data.List.Types"],h=n["Data.Map.Internal"],b=n["Data.Maybe"],w=n["Data.Ord"],y=n["Data.Unit"],D=n.Effect,E=n["Effect.Aff"],A=n["Effect.Class"],M=n["Effect.Exception"],C=n["Effect.Ref"],F=n["Halogen.Aff.Driver.State"],H=n["Halogen.Query.ChildQuery"],T=n["Halogen.Query.HalogenM"],S=n["Halogen.Query.HalogenQ"],_=n["Halogen.Query.Input"],k=n["Halogen.Subscription"],L=n["Unsafe.Reference"],x=function(n){return function(e){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n)))(function(t){if(t instanceof b.Nothing)return e;if(t instanceof b.Just)return A.liftEffect(E.monadEffectAff)(C.write(new b.Just(new g.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 182, column 33 - line 184, column 57): "+[t.constructor.name])})}},I=function(n){return function(e){return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.write({initializers:g.Nil.value,finalizers:g.Nil.value})(n)))(function(){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(e))(function(e){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n)))(function(n){return u.discard(u.discardUnit)(E.bindAff)(v.traverse_(E.applicativeAff)(g.foldableList)(o.fork(o.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(E.bindAff)(c.parSequence_(E.parallelAff)(g.foldableList)(n.initializers))(function(){return t.pure(E.applicativeAff)(e)})})})})})}},R=E.runAff_(d.either(M.throwException)(p.const(t.pure(D.applicativeEffect)(y.unit)))),N=function(n){return function(e){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(e)))(function(e){return A.liftEffect(E.monadEffectAff)(C["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},U=function(n){return function(e){return function(t){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(e)))(function(r){return P(n)(e)(r.component.eval(new S.Query(m.map(s.functorCoyoneda)(b.Just.create)(s.liftCoyoneda(t)),p.const(b.Nothing.value))))})}}},P=function n(e){return function(c){return function(s){var d;return i.foldFree(E.monadRecAff)((d=c,function(i){if(i instanceof T.State)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(n){var r=i.value0(n.state);if(L.unsafeRefEq(n.state)(r.value1))return t.pure(E.applicativeAff)(r.value0);if(l.otherwise)return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(d)))(function(){return u.discard(u.discardUnit)(E.bindAff)(I(n.lifecycleHandlers)(e(n.lifecycleHandlers)(d)))(function(){return t.pure(E.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 86, column 7 - line 92, column 21): "+[r.constructor.name])});if(i instanceof T.Subscribe)return u.bind(E.bindAff)(N(T.SubscriptionId)(d))(function(n){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(k.subscribe(i.value0(n))(function(n){return R(O(e)(d)(new _.Action(n)))})))(function(e){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(r){return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.modify_(m.map(b.functorMaybe)(h.insert(T.ordSubscriptionId)(n)(e)))(r.subscriptions)))(function(){return t.pure(E.applicativeAff)(i.value1(n))})})})});if(i instanceof T.Unsubscribe)return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)((c=i.value0,function(n){return function(){var e=C.read(n)(),t=C.read(e.subscriptions)();return v.traverse_(D.applicativeEffect)(v.foldableMaybe)(k.unsubscribe)(u.bindFlipped(b.bindMaybe)(h.lookup(T.ordSubscriptionId)(c))(t))()}})(d)))(function(){return t.pure(E.applicativeAff)(i.value1)});var c,s,p;if(i instanceof T.Lift)return i.value0;if(i instanceof T.ChildQuery)return function(n){return function(t){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n)))(function(n){return H.unChildQueryBox(function(t){return m.map(E.functorAff)(t.value2)(f.sequential(E.parallelAff)(t.value0(E.applicativeParAff)(function(n){return f.parallel(E.parallelAff)(u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n)))(function(n){return F.unDriverStateX(function(n){return U(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(d)(i.value0);if(i instanceof T.Raise)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(n){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(E.bindAff)(x(n.pendingOuts)(e(i.value0)))(function(){return t.pure(E.applicativeAff)(i.value1)})})});if(i instanceof T.Par)return f.sequential(E.parallelAff)(r.retractFreeAp(E.applicativeParAff)(r.hoistFreeAp((s=f.parallel(E.parallelAff),p=n(e)(d),function(n){return s(p(n))}))(i.value0)));if(i instanceof T.Fork)return u.bind(E.bindAff)(N(T.ForkId)(d))(function(r){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(c){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.new(!1)))(function(f){return u.bind(E.bindAff)(o.fork(o.monadForkAff)(E.finally(A.liftEffect(E.monadEffectAff)(function(){return C.modify_(h.delete(T.ordForkId)(r))(c.forks)(),C.write(!0)(f)()}))(n(e)(d)(i.value0))))(function(n){return u.discard(u.discardUnit)(E.bindAff)(A.liftEffect(E.monadEffectAff)(a.unlessM(D.monadEffect)(C.read(f))(C.modify_(h.insert(T.ordForkId)(r)(n))(c.forks))))(function(){return t.pure(E.applicativeAff)(i.value1(r))})})})})});if(i instanceof T.Kill)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(n){return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(n.forks)))(function(n){return u.discard(u.discardUnit)(E.bindAff)(v.traverse_(E.applicativeAff)(v.foldableMaybe)(E.killFiber(M.error("Cancelled")))(h.lookup(T.ordForkId)(i.value0)(n)))(function(){return t.pure(E.applicativeAff)(i.value1)})})});if(i instanceof T.GetRef)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(d)))(function(n){return t.pure(E.applicativeAff)(i.value1(h.lookup(w.ordString)(i.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 83, column 12 - line 133, column 33): "+[i.constructor.name])}))(s)}}},O=function(n){return function(e){return function(t){if(t instanceof _.RefUpdate)return A.liftEffect(E.monadEffectAff)(p.flip(C.modify_)(e)(F.mapDriverState(function(n){return{component:n.component,state:n.state,refs:h.alter(w.ordString)(p.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof _.Action)return u.bind(E.bindAff)(A.liftEffect(E.monadEffectAff)(C.read(e)))(function(r){return P(n)(e)(r.component.eval(new S.Action(t.value0,y.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 52, column 20 - line 58, column 62): "+[t.constructor.name])}}};e.evalF=O,e.evalQ=U,e.evalM=P,e.handleLifecycle=I,e.queueOrRun=x,e.handleAff=R}(t),function(n){"use strict";n["Halogen.Aff.Driver"]=n["Halogen.Aff.Driver"]||{};var e=n["Halogen.Aff.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Control.Monad.Fork.Class"],o=n["Control.Monad.Rec.Class"],i=n["Control.Parallel"],c=n["Data.Foldable"],f=n["Data.Function"],l=n["Data.Functor"],s=n["Data.List"],d=n["Data.List.Types"],v=n["Data.Map.Internal"],p=n["Data.Maybe"],m=n["Data.Unit"],g=n.Effect,h=n["Effect.Aff"],b=n["Effect.Class"],w=n["Effect.Console"],y=n["Effect.Exception"],D=n["Effect.Ref"],E=n["Halogen.Aff.Driver.Eval"],A=n["Halogen.Aff.Driver.State"],M=n["Halogen.Component"],C=n["Halogen.Data.Slot"],F=n["Halogen.Query.HalogenQ"],H=n["Halogen.Query.Input"],T=n["Halogen.Subscription"],S=D.new({initializers:d.Nil.value,finalizers:d.Nil.value}),_=function(n){return function(){var e,t=D.read(n)();return D.write(p.Nothing.value)(n)(),c.for_(g.applicativeEffect)(c.foldableMaybe)(t)((e=c.traverse_(h.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff)),function(n){return E.handleAff(e(s.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(k){var L=function(n){return function(e){return function(t){return M.unComponent(function(u){return function(){var a,o=S(),c=A.initDriverState(u)(t)(e)(o)(),f=D.read(n)();return D.write({initializers:d.Nil.value,finalizers:f.finalizers})(n)(),r.bindFlipped(g.bindEffect)(A.unDriverStateX((a=I(n),function(n){return a(n.selfRef)})))(D.read(c))(),r.bindFlipped(g.bindEffect)(function(n){return function(e){return A.unDriverStateX(function(t){var u=E.evalM(I)(t.selfRef)(t.component.eval(new F.Initialize(m.unit)));return D.modify_(function(n){return{initializers:new d.Cons(r.discard(r.discardUnit)(h.bindAff)(i.parSequence_(h.parallelAff)(d.foldableList)(s.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(h.bindAff)(u)(function(){return b.liftEffect(h.monadEffectAff)(function(){return _(t.pendingQueries)(),_(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(f.initializers))(D.read(c))(),c}})}}},x=function(e){return function(u){return function(a){return function(o){return M.unComponentSlot(function(i){return function(){var c=l.map(g.functorEffect)(i.pop)(D.read(a))(),s=function(){if(c instanceof p.Just){D.write(c.value0.value1)(a)();var n=D.read(c.value0.value0)();return A.unDriverStateX(function(n){return function(){var e;return f.flip(D.write)(n.handlerRef)((e=p.maybe(t.pure(h.applicativeAff)(m.unit))(u),function(n){return e(i.output(n))}))(),E.handleAff(E.evalM(I)(n.selfRef)(n.component.eval(new F.Receive(i.input,m.unit))))()}})(n)(),c.value0.value0}if(c instanceof p.Nothing)return L(e)((r=p.maybe(t.pure(h.applicativeAff)(m.unit))(u),function(n){return r(i.output(n))}))(i.input)(i.component)();var r;throw new Error("Failed pattern match at Halogen.Aff.Driver (line 210, column 14 - line 219, column 98): "+[c.constructor.name])}(),d=l.map(g.functorEffect)(function(n){return p.isJust(i.get(n))})(D.read(o))();return t.when(g.applicativeEffect)(d)(w.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),D.modify_(i.set(s))(o)(),r.bind(g.bindEffect)(D.read(s))(A.renderStateX(g.functorEffect)(function(e){if(e instanceof p.Nothing)return y.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof p.Just)return t.pure(g.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 224, column 37 - line 226, column 50): "+[e.constructor.name])}))()}})}}}},I=function e(r){return function(i){return function(){var v=D.read(i)(),b=l.map(g.functorEffect)(p.isNothing)(D.read(v.pendingHandlers))();t.when(g.applicativeEffect)(b)(D.write(new p.Just(d.Nil.value))(v.pendingHandlers))(),D.write(C.empty)(v.childrenOut)(),D.write(v.children)(v.childrenIn)();var w,y,M,F,T=u.identity(u.categoryFn)(v.selfRef),S=u.identity(u.categoryFn)(v.pendingQueries),_=u.identity(u.categoryFn)(v.pendingHandlers),k=(w=E.queueOrRun(_),y=l.void(h.functorAff),M=E.evalF(e)(T),function(n){return w(y(M(n)))}),L=(F=E.queueOrRun(S),function(n){return F(k(H.Action.create(n)))}),I=n.render(function(n){return E.handleAff(k(n))})(x(r)(L)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)(),N=D.read(v.childrenOut)(),U=D.read(v.childrenIn)();return C.foreachSlot(g.applicativeEffect)(U)(function(e){return function(){var t=D.read(e)();return A.renderStateX_(g.applicativeEffect)(n.removeChild)(t)(),R(r)(t)()}})(),f.flip(D.modify_)(v.selfRef)(A.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:N,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new p.Just(I),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(g.applicativeEffect)(b)(f.flip(o.tailRecM(o.monadRecEffect))(m.unit)(function(n){return function(){var n,e=D.read(_)();D.write(new p.Just(d.Nil.value))(_)(),c.traverse_(g.applicativeEffect)(c.foldableMaybe)((n=c.traverse_(h.applicativeAff)(d.foldableList)(a.fork(a.monadForkAff)),function(e){return E.handleAff(n(s.reverse(e)))}))(e)();var t=D.read(_)();return p.maybe(!1)(s.null)(t)?l.voidLeft(g.functorEffect)(D.write(p.Nothing.value)(_))(new o.Done(m.unit))():new o.Loop(m.unit)}}))()}}},R=function n(e){return A.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n;return r.bindFlipped(g.bindEffect)(c.traverse_(g.applicativeEffect)(c.foldableMaybe)(c.traverse_(g.applicativeEffect)(v.foldableMap)(T.unsubscribe)))(D.read(u.subscriptions))(),D.write(p.Nothing.value)(u.subscriptions)(),r.bindFlipped(g.bindEffect)(c.traverse_(g.applicativeEffect)(v.foldableMap)((n=h.killFiber(y.error("finalized")),function(e){return E.handleAff(n(e))})))(D.read(u.forks))(),D.write(v.empty)(u.forks)()})();var a=E.evalM(I)(t.selfRef)(t.component.eval(new F.Finalize(m.unit)));return D.modify_(function(n){return{initializers:n.initializers,finalizers:new d.Cons(a,n.finalizers)}})(e)(),C.foreachSlot(g.applicativeEffect)(t.children)(function(t){return function(){var r=D.read(t)();return n(e)(r)()}})()}})},N=function(n){return function(e){return function(u){return r.bind(h.bindAff)(b.liftEffect(h.monadEffectAff)(D.read(n)))(function(n){return n?t.pure(h.applicativeAff)(p.Nothing.value):E.evalQ(I)(e)(u)})}}},U=function(e){return function(t){return function(r){return E.handleLifecycle(t)(function(){return D.read(e)()?m.unit:(D.write(!0)(e)(),R(t)(r)(),A.unDriverStateX(function(e){return function(){var t=b.liftEffect(b.monadEffectEffect)(D.read(e.selfRef))();return c.for_(g.applicativeEffect)(c.foldableMaybe)(t.rendering)(n.dispose)()}})(r)())})}}};return r.bind(h.bindAff)(b.liftEffect(h.monadEffectAff)(S))(function(n){return r.bind(h.bindAff)(b.liftEffect(h.monadEffectAff)(D.new(!1)))(function(u){return E.handleLifecycle(n)(function(){var a,o,i=T.create(),c=r.bindFlipped(g.bindEffect)(D.read)(L(n)((a=b.liftEffect(h.monadEffectAff),o=T.notify(i.listener),function(n){return a(o(n))}))(k)(e))();return A.unDriverStateX(function(e){return t.pure(g.applicativeEffect)({query:N(u)(e.selfRef),messages:i.emitter,dispose:U(u)(n)(c)})})(c)()})})})}}}}(t),function(n){"use strict";(t["Web.DOM.ParentNode"]=t["Web.DOM.ParentNode"]||{})._querySelector=function(n){return function(e){return function(){return e.querySelector(n)}}}}(),function(n){"use strict";n["Web.DOM.ParentNode"]=n["Web.DOM.ParentNode"]||{};var e=n["Web.DOM.ParentNode"],t=n["Web.DOM.ParentNode"],r=n["Data.Functor"],u=n["Data.Nullable"],a=n.Effect;e.querySelector=function(n){var e=r.map(a.functorEffect)(u.toMaybe),o=t._querySelector(n);return function(n){return e(o(n))}}}(t),function(n){"use strict";n["Web.HTML.HTMLDocument"]=n["Web.HTML.HTMLDocument"]||{};var e=n["Web.HTML.HTMLDocument"],t=n["Unsafe.Coerce"],r=t.unsafeCoerce,u=t.unsafeCoerce;e.toDocument=u,e.toParentNode=r}(t),function(n){"use strict";n["Halogen.Aff.Util"]=n["Halogen.Aff.Util"]||{};var e=n["Halogen.Aff.Util"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Data.Either"],a=n["Data.Function"],o=n["Data.Maybe"],i=n["Data.Unit"],c=n.Effect,f=n["Effect.Aff"],l=n["Effect.Class"],s=n["Effect.Exception"],d=n["Web.DOM.ParentNode"],v=n["Web.HTML"],p=n["Web.HTML.HTMLDocument"],m=n["Web.HTML.HTMLElement"],g=n["Web.HTML.Window"],h=f.runAff_(u.either(s.throwException)(a.const(t.pure(c.applicativeEffect)(i.unit))));e.selectElement=function(n){return r.bind(f.bindAff)(l.liftEffect(f.monadEffectAff)(r.bindFlipped(c.bindEffect)(r.composeKleisliFlipped(c.bindEffect)((e=d.querySelector(n),function(n){return e(p.toParentNode(n))}))(g.document))(v.window)))(function(n){return t.pure(f.applicativeAff)(r.bindFlipped(o.bindMaybe)(m.fromElement)(n))});var e},e.runHalogenAff=h}(t),function(n){"use strict";(t["Web.DOM.Element"]=t["Web.DOM.Element"]||{}).setAttribute=function(n){return function(e){return function(t){return function(){t.setAttribute(n,e)}}}}}(),function(n){"use strict";n["Web.DOM.Element"]=n["Web.DOM.Element"]||{};var e=n["Web.DOM.Element"],t=n["Web.DOM.Element"],r=n["Unsafe.Coerce"].unsafeCoerce;e.toNode=r,e.setAttribute=t.setAttribute}(t),function(n){"use strict";n["Halogen.VDom.DOM"]=n["Halogen.VDom.DOM"]||{};var e=n["Halogen.VDom.DOM"],t=n["Data.Array"],r=n["Data.Boolean"],u=n["Data.Maybe"],a=n["Data.Nullable"],o=n["Data.Tuple"],i=n["Halogen.VDom.Machine"],c=n["Halogen.VDom.Types"],f=n["Halogen.VDom.Util"],l=n["Web.DOM.Element"],s=function(n){return i.halt(n.widget)},d=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Widget){var r=i.step(e.widget,t.value0);return i.unStep(function(t){return i.mkStep(new i.Step(t.value0,{build:e.build,widget:r},n,s))})(r)}return s(e),e.build(t)},v=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e)},p=function n(e,t){if(t instanceof c.Grafted)return n(e,c.runGraft(t.value0));if(t instanceof c.Text){if(e.value===t.value0)return i.mkStep(new i.Step(e.node,e,n,v));if(r.otherwise){var u={build:e.build,node:e.node,value:t.value0};return f.setTextContent(t.value0,e.node),i.mkStep(new i.Step(e.node,u,n,v))}}return v(e),e.build(t)},m=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forInE(n.children,function(n,e){return i.halt(e)}),i.halt(n.attrs)},g=function(n){var e=f.parentNode(n.node);return f.removeChild(n.node,e),f.forEachE(n.children,i.halt),i.halt(n.attrs)},h=function(n,e,t,r){return!(e!==r)&&(n instanceof u.Just&&t instanceof u.Just&&n.value0===t.value0||n instanceof u.Nothing&&t instanceof u.Nothing)},b=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Elem&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===t.length(e.children)&&0===u){var a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children};return i.mkStep(new i.Step(e.node,o,n,g))}var l=f.diffWithIxE(e.children,r.value3,function(n,t,r){var u=i.step(t,r);return f.insertChildIx(n,i.extract(u),e.node),u},function(n,e){return i.halt(e)},function(n,t){var r=e.build(t);return f.insertChildIx(n,i.extract(r),e.node),r});a=i.step(e.attrs,r.value2),o={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:l};return i.mkStep(new i.Step(e.node,o,n,g))}return g(e),e.build(r)},w=function n(e,r){if(r instanceof c.Grafted)return n(e,c.runGraft(r.value0));if(r instanceof c.Keyed&&h(e.ns,e.name,r.value0,r.value1)){var u=t.length(r.value3);if(0===e.length&&0===u){var a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:e.children,length:0};return i.mkStep(new i.Step(e.node,l,n,m))}var s=f.diffWithKeyAndIxE(e.children,r.value3,o.fst,function(n,t,r,u){var a=i.step(r,u.value1);return f.insertChildIx(t,i.extract(a),e.node),a},function(n,e){return i.halt(e)},function(n,t,r){var u=e.build(r.value1);return f.insertChildIx(t,i.extract(u),e.node),u});a=i.step(e.attrs,r.value2),l={build:e.build,node:e.node,attrs:a,ns:r.value0,name:r.value1,children:s,length:u};return i.mkStep(new i.Step(e.node,l,n,m))}return m(e),e.build(r)};e.buildVDom=function(n){return function e(r){if(r instanceof c.Text)return function(n,e,t){var r=f.createTextNode(t,n.document),u={build:e,node:r,value:t};return i.mkStep(new i.Step(r,u,p,v))}(n,e,r.value0);if(r instanceof c.Elem)return function(n,e,t,r,u,o){var c=f.createElement(a.toNullable(t),r,n.document),s=l.toNode(c),d=f.forE(o,function(n,t){var r=e(t);return f.insertChildIx(n,i.extract(r),s),r}),v=n.buildAttributes(c)(u),p={build:e,node:s,attrs:v,ns:t,name:r,children:d};return i.mkStep(new i.Step(s,p,b,g))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Keyed)return function(n,e,r,u,c,s){var d=f.createElement(a.toNullable(r),u,n.document),v=l.toNode(d),p=f.strMapWithIxE(s,o.fst,function(n,t,r){var u=e(r.value1);return f.insertChildIx(t,i.extract(u),v),u}),g=n.buildAttributes(d)(c),h={build:e,node:v,attrs:g,ns:r,name:u,children:p,length:t.length(s)};return i.mkStep(new i.Step(v,h,w,m))}(n,e,r.value0,r.value1,r.value2,r.value3);if(r instanceof c.Widget)return function(n,e,t){var r=n.buildWidget(n)(t);return i.unStep(function(n){return i.mkStep(new i.Step(n.value0,{build:e,widget:r},d,s))})(r)}(n,e,r.value0);if(r instanceof c.Grafted)return e(c.runGraft(r.value0));throw new Error("Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): "+[r.constructor.name])}}}(t),function(n){"use strict";n["Halogen.VDom.Thunk"]=n["Halogen.VDom.Thunk"]||{};var e=n["Halogen.VDom.Thunk"],t=n["Halogen.VDom.DOM"],r=n["Halogen.VDom.Machine"],u=n["Halogen.VDom.Util"],a=(function(){function n(n,e,t,r){this.value0=n,this.value1=e,this.value2=t,this.value3=r}n.create=function(e){return function(t){return function(r){return function(u){return new n(e,t,r,u)}}}}}(),function(n){return n.value2(n.value3)});e.buildThunk=function(n){var e=function(n){return r.halt(n.vdom)},o=function t(o,i){var c,f;if(c=o.thunk,f=i,u.refEq(c.value0,f.value0)&&u.refEq(c.value1,f.value1)&&c.value1(c.value3,f.value3))return r.mkStep(new r.Step(r.extract(o.vdom),o,t,e));var l=r.step(o.vdom,n(a(i)));return r.mkStep(new r.Step(r.extract(l),{vdom:l,thunk:i},t,e))};return function(u){return function(i){var c=t.buildVDom(u)(n(a(i)));return r.mkStep(new r.Step(r.extract(c),{thunk:i,vdom:c},o,e))}}}}(t),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(){t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){e.removeChild(n)}}}}(t["Web.DOM.Node"]=t["Web.DOM.Node"]||{}),function(n){"use strict";n["Web.DOM.Node"]=n["Web.DOM.Node"]||{};var e,t,r=n["Web.DOM.Node"],u=n["Web.DOM.Node"],a=n["Data.Functor"],o=n["Data.Nullable"],i=n.Effect,c=(e=a.map(i.functorEffect)(o.toMaybe),function(n){return e(u._parentNode(n))}),f=(t=a.map(i.functorEffect)(o.toMaybe),function(n){return t(u._nextSibling(n))});r.parentNode=c,r.nextSibling=f,r.insertBefore=u.insertBefore,r.appendChild=u.appendChild,r.removeChild=u.removeChild}(t),function(n){"use strict";n["Halogen.VDom.Driver"]=n["Halogen.VDom.Driver"]||{};var e=n["Halogen.VDom.Driver"],t=n["Control.Applicative"],r=n["Control.Bind"],u=n["Control.Category"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.HeytingAlgebra"],c=n["Data.Maybe"],f=n["Data.Newtype"],l=n["Data.Unit"],s=n.Effect,d=n["Effect.Aff"],v=n["Effect.Class"],p=n["Effect.Ref"],m=n["Halogen.Aff.Driver"],g=n["Halogen.Aff.Driver.State"],h=n["Halogen.Component"],b=n["Halogen.VDom.DOM"],w=n["Halogen.VDom.DOM.Prop"],y=n["Halogen.VDom.Machine"],D=n["Halogen.VDom.Thunk"],E=n["Unsafe.Reference"],A=n["Web.DOM.Node"],M=n["Web.HTML"],C=n["Web.HTML.HTMLDocument"],F=n["Web.HTML.HTMLElement"],H=n["Web.HTML.Window"],T=function(n){return function(){var e=A.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return A.removeChild(n.node)(e)})(e)()}},S=function(n){return function(e){return{render:function(r){return function(u){return function(a){return function(d){if(d instanceof c.Nothing)return function(){var t=p.new(u)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),u=function(n){return n instanceof c.Just?y.halt(n.value0):l.unit};return{buildWidget:function(n){var t=D.buildThunk(f.unwrap())(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return y.mkStep(new y.Step(a,c.Nothing.value,i,u))},o=function(n){if(n instanceof h.ComponentSlot)return a(n.value0);if(n instanceof h.ThunkSlot){var e=t(n.value0);return y.mkStep(new y.Step(y.extract(e),new c.Just(e),i,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof c.Just){if(t instanceof h.ComponentSlot)return y.halt(e.value0),a(t.value0);if(t instanceof h.ThunkSlot){var r=y.step(e.value0,t.value0);return y.mkStep(new y.Step(y.extract(r),new c.Just(r),n,u))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return o(t)};return o},buildAttributes:w.buildProp(n),document:t}}}}(r)(t)(n),d=b.buildVDom(i)(a),v=y.extract(d);return o.void(s.functorEffect)(A.appendChild(v)(F.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=A.parentNode(d.value0.node)(),e=A.nextSibling(d.value0.node)(),r=y.step(d.value0.machine,a),f=y.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(E.unsafeRefEq)(d.value0.node)(f))(function(n){return function(e){return function(r){return e instanceof c.Just&&r instanceof c.Just?o.void(s.functorEffect)(A.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(A.appendChild(n)(r.value0)):t.pure(s.applicativeEffect)(l.unit)}}}(f)(e)(n))(),{machine:r,node:f,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:u.identity(u.categoryFn),removeChild:T,dispose:T}}};e.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(o.map(s.functorEffect)(C.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(M.window))))(function(r){return m.runUI(S(r)(t))(n)(e)})}}}}(t),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";n.Main=n.Main||{};var e=n.Main,t=n.Main,r=n.App,u=n["Component.AccountSettings"],a=n["Component.Add"],o=n["Component.BList"],i=n["Component.NList"],c=n["Component.NNote"],f=n["Component.TagCloud"],l=n["Control.Bind"],s=n["Data.Foldable"],d=n["Data.Functor"],v=n["Data.Unit"],p=n.Effect,m=n["Effect.Aff"],g=n["Effect.Class"],h=n["Halogen.Aff.Util"],b=n["Halogen.VDom.Driver"],w=n.Model,y=n["Web.DOM.Element"],D=n["Web.Event.Event"],E=n["Web.HTML.HTMLElement"],A=l.bind(m.bindAff)(h.selectElement("#content"))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return g.liftEffect(m.monadEffectAff)(y.setAttribute("view-rendered")("")(E.toElement(n)))})),M=t._mainImpl;e.main=M,e.logoutE=function(n){return l.bindFlipped(p.bindEffect)((e=d.void(p.functorEffect),function(n){return e(m.launchAff(r.logout(n)))}))(D.preventDefault(n));var e},e.renderBookmarks=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(b.runUI(o.blist(e))(v.unit)(n)))(function(){return A})})))}},e.renderTagCloud=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return d.void(m.functorAff)(b.runUI(f.tagcloudcomponent(w.tagCloudModeToF(e)))(v.unit)(n))})))}},e.renderAddForm=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(b.runUI(a.addbmark(e))(v.unit)(n)))(function(){return A})})))}},e.renderNotes=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(b.runUI(i.nlist(e))(v.unit)(n)))(function(){return A})})))}},e.renderNote=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(b.runUI(c.nnote(e))(v.unit)(n)))(function(){return A})})))}},e.renderAccountSettings=function(n){return function(e){return h.runHalogenAff(l.bind(m.bindAff)(h.selectElement(n))(s.traverse_(m.applicativeAff)(s.foldableMaybe)(function(n){return l.discard(l.discardUnit)(m.bindAff)(d.void(m.functorAff)(b.runUI(u.usetting(e))(v.unit)(n)))(function(){return A})})))}},e.viewRendered=A,e._mainImpl=t._mainImpl}(t),t.Main.main(); },{"moment":"a2Bw","marked":"F7mU","process":"pBGv"}]},{},["C4Nx"], null) //# sourceMappingURL=/static/js/app.min.js.map \ No newline at end of file diff --git a/static/js/app.min.js.gz b/static/js/app.min.js.gz index 20c3c563a2b1cc5fc0d701b126044fd1fe13c0bd..10e0168b1da4f9afe20b3c3d0a6426de051f8841 100644 GIT binary patch delta 71747 zcmV(=K-s_chy~(@1qdID2nanLCtCAB zM|V5vBeIfFEXGntrrabIC$Y7^{jCE4!OM2KXXo90_IYfGxC%f4C=`G~6$DM~Q?b9i zCagS@TV{Mo1Z9UA(I<>TFVbb(3D1#1t3b4(5~2qRe{UQ^`x{rvX~@so*BE zbh%OA%R<*7W8QHrJlEe}1ND z%nPD1h;GxUS5Y5{MfR8oW&yy@1n`*;<6g`+{m=<-4Pm%{5u7nz0mi)a7d@C+X_`DE z-@S@YDC3HrCM4swBOlLe+#e$wzNGG?)HMo<9i;6;qWq_3v9ag*2|r2`x(R=Ck4m;J z*8rY=4oH^u)-DhPR^S9(D#Xa(OK4&eVM2YaRKbJ7=rO=#Y5WRSB3Wc;AH^#QG+(lb0 zd?6dR0mVz85--eXvH_H$t8IVFLgXqp)8tl=<;%kpr~Fw4VQ+E_`(tRQ1In+b9sP9qTjUZF&k*;#;+`3a+Gz!l3v|O zPtCox50uVNqhCyp0@!PYZLib$e5O84m zqIgF3zC`9tw5ATS5wzoN)!l-ACjbO_vALX~>@?8v#C<`otx8$d=j-b{dkwrIK|DXQ z^*BSc{uj55T10?aSbQmRNTc-PEl|_%2|Hd zELW^!h%>MNL!PjU`;p|=Si(#`HApYXK(c)ehbT~!qUt8EsVQ>LwU4LWv9HO=Y2R#J zOkM{{&L`5P=tMhMoaX;~Lmul5NmQPe$3)fjv~e>cAoYK~n>`oe16aK+cHn+wvxLv1 z*tGM`j+q|*OWhNsnrRv=Kna|zVOj>BWAp?77H&b6VU9$XkXphp%57op5CyuD2?9M6 z!@(fg%v0b?^ZE)n_6PP>_^;?Kth?4&`J&v{JV^N5fC4UOpWL5l4+zV% z`vZO9ndH*HI9bgu!klu*sJfs}Tv|eSR7x>q1o*so)a301?=*#ev+yC z%wIEDWUe2~T8k{eSN|2RT8g*1zedbjk+ChEti;bH#7vneb4syoW@QJ_qbE2VM-8S= zc`ScOq1rLwRPb}+`Qu%sk|`<_>lS4TN#M8&^jKBZgXGH`Pg!^n!ex%9SqzY3#hzv{ zAR%v@s4c{9MRk!EEjW|mXR3*HQ8KMhPG7JrV1lv~pUjYCJMUHK*(p9niF%3Uaf5pv zN5c}3TE-7);}qY=WQy;V>Dy5+p}ukQa;kqT7euKl=dJ{=4a<4K*3V*VY+A#BBj^bp zoY{3f(zKic1eM$309~I!4X>5T9*Zu&Hf(GS{92ZywdJ2c5IB=N z1hckR64oi+F3Uz~uV%4ynqW6wk>0SEu3;P{S&FCp+5~p8p{t&NXo%>^!XOOVAv}L{ zFZmh<0l|be*q&=ljB;51&NQaqp>~qTx?RTIUCkqGGqT1>N7*g(-DUZ^iD6;(MSNuG zq4;tx>Wnhb9y?Fp_UY%#ck7kZn#Vqb2fXFTpTvIC@Yi$icWm%-CA*+{z6qoCB~&Ck z#|(Zh{aBz|RM9FM#|H2WG|m2g`r?0i&g4vXq#UM+(TVzy8Af`ZCZWjLC$_ML=Np!+ z3M%(6k!Jr9Yxb82D^33P?B(>e9B#m+e9D2Z*~&}K5j@J|oFb^Ga{3}sp>tXe=0`=h zw{>x@Op3hMKJl6vP&Z3bzafUS&21Cj_cpg%c!gdPS_x$a{I*$yMFg>j>8F1XEy_@P zFIkn%)=D|T*f{2AuKmlCYBES!7Gm8sdnrrUv9OPq{xP-}nBB=fGxJs+1z zUiW+I3VfpR#AiG5*}iz`74Dhho^i!*&T&D`(5JqkGl{fxu2>@QbwUSg54#rBQlg{Z zjX(2Blk&Z!ni328nj)wPPyF1eoYRiCI{YU|Jb5&xym<5o*x3>EmGEOZ!)zH6FWDyK zS5ghZI3qAYc~wm1Pe^|)#$a&2}MN4$t|@P=6%K4Nn%nHpVtp%z8~ zDUEC>154l-vw>fA9SWZm>Z@fYf*jIw{I>3LUI#HWwFEV3VU zZf`qr2NB-Ad{ie^A2KkiaPz2xt*vyD$0T!B!`u;LSc>swiHr8$-@Ie#t>nkC&3Pdt zpc%TpuOIN(!WF-v>&p}14a_z56}s0xAMfJvgsZ+n_XD3D$7dJrDD{f=Bc)K=%;XJ; zydRM~OuTovLymvs&VhjE&6yro7LxcZRqD4$oR#u1F7?6e9ln5k+-S2lO4HkO+e*v% zjz%(IuS=rj{YV^w+j=WpF?@t>E!3~Urhvs38M|W15}E-Xx&Wx1NF4XS<)>ax{2zk# zMc{>DPkU(VRRYdNTDzV645-#IH-Z&?6d%^*)kn88{LFThZ5rSEliC zLtS2*((EeCAQ5fmWKW{EVS56x@}$v})go+ZN0I7GBXtHN^fePyR5+U|Q$^UQFTHLl zn^9TyfLt-T_`-l&slgyELW|dVF?i2PpYGP}Siw$wYp|Gw{nhfq_vWbhGc&F3&;sH? zp?rU?9s7Scbvun*s{$mkU3cBOq}8L-mqo__TDIc^X<|OEo+wNV?|bqbB=U$VJWY<1 z;%4eIROEe?B|pXabF;g@N8%gC8h=YE%);{#o*jlzuC|qV(nk_`d4_8ifsed->6O1k zm2$IH3D4RUD0=FQZ&K-_G&?_ssk#o*Pg3zQDd~TmlX}Vw`@**rmmcz~R{XjX1SOF$ z4EuY}l3Ol|_KI`FxNj&FNzK9vXpd)ct7$eT7-OFsg(MB&C`G56+-r3B7W-h_2NQQe1vw zU^A{l>K!aZ_zHdPPcZt8ZsLVq4{%B5G`ykzOPEu(N>O^gJt&A-&6#CGZLH z3N7_T#j!J?Qagm-@bU5}ESD{`rshpTHg*|KQD9_u7xkEhLZcamqAbF!T$T-zxnQ`JQ08F7a0K&Qeqak=g88LqNw<~cscQ>q}yB5 zQ?8rf*qFkynHNhZ!X))a;U99(-;|8Q5zBgriix@ItCgLw1d)RoN*Znb}} zwK}p*zdQpL9h$;?w5BV$LmHCT_z;VeE>lSbob~p%0ulMx^s!)}M4|~AyGsUDrEs@| z`oavYUMP-tQ2qv%`QMN)(hUU{9eun_CL?Q$1u-y`UtL{E+pSZzk-;ee+XJ%zp6e@h z^zduk8GTZP04ujpo1r_O^63xv&AZZ9LtuT+Jvq15*(j@Q+!|$N zrCNqkJMnZp2cbeGyFe=@B31Hy>qdS_B7t5i#SOU7l*`cVLfA%XDFfOmjxXX4G!ds6`d1?glG^7hkD7GmgP)lT^%F=E2*eRGe=~j0y}s7s5Qx z;}7_Pl4nS`Byn4e4%U`Np&6u?ENmaOAKI9dhtY4 z$(%Th{Hn-Up~!tjs+4yZsgm7MWUNu-{z6sS`-)Wwa|;%`vVv#RLc~leN9*aniIPy7 zI*IT^9^k-vdA+^;3HpB-wvNcq!X2AVpU0h@yRabv23ysPL$dDR$#)*`ZY|FC9J z(qsV?RMbF@{K@;%jVUTHTS|W0?je6<6;Fdi$;Y2&=ZY=AgK`p$WEbO)roC9z+-6aDe6G`qv`kkbA z;-SSlz9me?D1Po9?nho;->)H%R2 zY2v~%QHg)T)2!ot#Z&rwDbIftCw7af60%#T>6<9 zUY|QjUav8=2s@!wkW;a1TF>3f@@1=*0rN24@%l~}58@r=!DJCXmnb5^2;P%1+sOOb zyEJyw<$ZNczp`q7u2z2v3xBl@cU9`Ea{RX;^Im^OJ5h#OP79`U-juz6qQ8eaq@ye~ z)ia#9Hr-=}JOe{#$@3y}8E7>rbGYZTvudw^HUBEuh3t8L0eQ6SF7Qa&?gw5(o09B* z5*^wGAg3)kv8pOXgz$kI1VvLMPm$N3g8CtWHTp&JMhvyoy$)@wEQe@_3uPZKD(c-P9B
    &g}aciuUMKf{x@O|N-M6StV$l{WLys3R11F0U@ci(7H1Eu4&UL1KRnC9 zk#R*@AH1^U)fAUT=7jr^Sr@xxX;C}PM9Y6O*xE;QQ;+XbluX^-7~zX(@n}9EhyRp)_0s%P@*z4u%pYd~K(8{>`T&uQZ_>Z^P);pWlB5 zbE{^HE6_aa$B!Cy$@6+;vi$hk#K1Z#wd@)ADxb_j_F%(kI8FY<*WfMw4B!(}Sz9s> zN-8Ck&=z^~CB`_K*l$hxY!OKy^dc|`2!rkg#)%ZbbD?PIrLTm8Vo96lnS1#!5lLAn zj3kZGl-+P|nX*qK%z23@{Ir!_FPVRy?E-muCJ28>=v#bT?`cmjrCC9GaidH4{G?~v zKdjgHyjo+wUGH|{G{5L+I1*A};yBGvPg8JgF+*|ZE!lZ^<-3rB6=;6X-}reVf>FUM zf5K?6f96kAeEK*3L{;r${zMB&ef~uC#J}_BXWh8XlLyo-^^TS-Ku)|V%6)%xjbHoj z6W>f4X|e1t92y6FE0eJrTg(1~1K2u@We?bkoeRFdi`2q=iTxw{*(?o@wqJcsVBh|S z@7{!=v%hbHb6{Vhvv8VCd+s#b_BCw>>}O7+!8U+Ua5FPhqcBE?=^fXtiV33y2zFVs z4&#S+Jr~c>ES6AerN0%|F6MtdbseT*ksbout2mO5sqBT8T9_UaqJ6XQRH`qKlWUGb zf=|p1nX-)Fi;Y@t9=Ywh?U4(ZH5au;6Cgiw8%@}rYeiN z8J4p;tTA+06ef&LNi2tIAlxBVOz~SA(!!uCcppZy>nM5VtiR=W>E~fcH{+^O@L>=1tw)I8(bFIjJdrXlZrn-b zke>`Gu|ct}{e*&IN=uN`nJP}s(wb65aIJNut6-I(jV4RE4d zqFM*)EcBdeno>oqY)?YVD#tbV_b{3ittPd!$|ZEaPAO1TYf{lGCjh{8PJ!xP1&CN5 zlT4LT%AoF-&wF(C#ar0|kwB zzxQP#o(Lzx|2=-G_h^DhFVYEy zN}wR_a=nuuHJW?PgKpDnms^bk=$ZE3>%=I)m4Oy}tcGB&3f}z3PvO(%1>?ez%xlo4 zP+EfU1;=iEcXvka8r<94;4y`eyMBxzW>9vyVZhzNz+Hb^?w6bpaz3dDN;l78pUy#8tCVoYFpuea$UXZ9j*Cmr6J7-W#V0{Y>)Osm9 zGl8MkG|Ydb?~Bg~7!%);kDLDoeN#II^qG1W9=|14?=pcMsdc#4qS=3^oZRpq8Msgk znpIx+7x*l;hP~5(QTY#F46dv$JSDl0I^J_+=h;>bM5S}$)5E}JeO54C!{vpK`uP6g z?h#AN)pTW_Fm`Oegk8o<)DJEbvjnuP~l)lYm^37q(u0*B91A^)`;OyKzzr9_EOxKuc z@tA*Nz;_M%*{Nl7nw3cN4AZP2%`@^nGwc-v%th>HjAdI@^QkpyPTj~ppR~{f^l=@& z_NOo#(;b6`V&t=ng!nn~mJNGn#|IVz=4N$vb+!6T?;q@QYb#!MBB$?XRREBUQ!{jR zIdhZ9vmLU{xmYW)nD@GFF+b#xl$W$3u_u4lI2nd1jgt&3l$oEIhUU#0R@AKBCR8cO zV}O$BucPI;M|Ks@XIIN;whAr7_R%tOsI*`XP2*Q#ECJObvHgTkB19~5!tmFp*wzqa zsZGk2Y42=aCfnvW4ZF3qdNnpP^Q)0-u*Fq6$j}mmZW-AU*1WKcyK}x4iTx_R0EB;J zuF|7e2m~oI zy%&O?R6isjkQO(H>d6mS1j@3Bm<=BcpWA6oRq?9woNbhQT+2J;W5u&5wQtAt%aGoU ztZbzKb%A)3#(LkPAy8p?6UZKAV9kGD?nk>ohC@4cR1cpFnUYJ*ePOJcqt8->L@Ul@ z5)5s^oO8uSvZCKd_5cOI$7Her`;D3joc!#jU-DVIan z#RV{;hXS~unm*05PxPEoFO=(H2mJWS!oy=vXn9Rk+AOR!S2ZUFW~~e34_`kLR8|G2 zAkMv&7kMS}sWTMv#p5B5*%?8BiH^+s1C`Q+L7?b8>- z{!=Gou-LGZDc+urhcBLwPO~W;vlV7I4{9@S8UOa#Ky($3lu(gi=;hrCipj8b@-|Qav$!}|ch|u01e%YXhTiHuzDo^0cyla4u)G?LG>~azt&m3C#jHsE2IX;ZENtBR z(dMyyNq)3J*%#*&OmnLw8VU`RR6 zvc;B-+xSDUzVd&9=rca6tbXu5qXFvpw4e11+z8z@s2t{4K6@8WzNPO-Yl+P(8^2qR zENmFH$cLu5-bCBwZ1o{;Z)BVAQncz#Qezx;Gv37b&;OKugI{1v<$k^^o7al zRoA~+)**j5R%57lGY8(&*{N?G@zt1%bLj<7=3(slA%MB@3Gady%ZtSd{v*zUyG$90-<#QmS265M_*@}gZRp{d z58G5M512xL3w!O}7`wm|?gB|TGHl~9ey<|@ zJjTxp{QS=N4nF_btSS6E4F9IpJwnw$dAxu58ut)X%X7E3YkmVH=WJfKZsGTvPm_A3 z+pnC=D(|Np1U0d&qh9S|8PA}F&ZVeJ+4Ee5I>z~WMN2%|bBU62Jys9u>KNaU_+KpK z(=$FLLK;?2kZq)Q3%B;>+uJvjS>?+V9l%n#TAA)S5Z3!@-otI2GR4Ki36tfs(+IDW@eU@OhU~R{Zoa7h`L-8`Say|Bsnxqre9XY z>1L2l$r^3#OLt+vOBIKD5Trf}PwKi69e5+)I7zl$GH@>OS2D97OG{jFAD|u}6^1$O z4G}vQ*vqm5n&dDU8d5r-Alo2$prCj&>dvDm_my zuGf1zBk8w2C-pKxLLJvuj*5SH!2Uk_I1A5%k1^d(eCcf z1$Wy9dFhS&!Nf*c)RK+s`JyEdt!YbX9sp%99vKC-j<9NHZKPHH?9OqCj z@a&Bv|8d&LE}0*~WE)h!qVHGzsg+@M7qjriwJ*06Qlk(x57~Yx1Jh!(WIg5Kvf#r z7ENh3gZA4@xhIWblyzs_!cehgUA1kdP!I3O_Yo8_t z9__g$O9c}F)qWsDwY!TOoi%LQQQ@3v@V*-M?IoGGH1p@m1B-v?EP&k*$_;gLs-)az)VFJB$v;3g_ll#_w;(oSYyPxbo z+%KBeH=aTA=^sp;>H;`p)U;oXmeI=Vy*9;{CD>dT1~Brq!Dvp-CTG(r@`*&?Nd{=g zz?Y#oht!gcoGNU$A{>lQm;MKLr%o%%%Dq8S0lYW_8g_p$yLL7<)&kgGD%n}u5wQJE z$jmcv$^Zcpd(1e)x(ED{S{BlUG;B!&MKQ}u;P>w;=QUm}(klE^KiSp~YOEW&x)hy> zB26#1LbN$63#+h#bX$O7?7L13Ki|LYu3d&1`s?L5>x@p+^+uFq?u9-&(v?7SOA~t#l z2>Uepyh5x40rFuM8jNEdeO0;N>TR5#%#Dq;hYrB{zlSx?D^#+tw}4X?w!!ub78X_{ z2Mq98SjJJ^qLU*+mH|c7QYHZ0sOLF) z&%*Q-XCG2Aoea?R(-DTyWcs8vWi^BaeX*h4E|k!m_RtZF2?cOZ_>5`XGpBD+3Q#SQ z7T{Wyf#J1pm(2n5O> zEgXMbgp|@wZ0|-=k;zoi43)vsxmpff!I2y_XW;AqAGC^lINM{8SdC;tuVWApGz0#O2ue!Ex z2lmnq?G=fAkL+`ML2QHQWBbZoD3WKtj~9Ome568z&amm!&YL?|HYtsBu6pH#m^pPk zP{lN>^*W?8n`Pu(a?dZ^s~+$*C^*sG0)L}2Q5FiYa|b9az?gU87?ZtnWopFd+!x8$ znr7*yZnw4uN?}_jkd_kc1wm5Y%Y)Ydktr4 zNeGOuWkpLw!d0j;m5J^SrrX`caVTf;2pLe?++eoyNOe_Hr)_0)?e|scIJ~|X;X`3@ zx{<&#BH1V_1-&hMi6&r-Ent-T=T?9A@uX@^Ezw&c>}?9N2Z>{}h2B>UO?GNRYVfZs@pz+b*|f)>afVk;TP3LdfK9 z2(drmfwQTql#>?Ag7zd6BLIJL^>7;aeK!e0Q;yuHA*_*YW`U#i6;4K31ALK8l-w;K z@OnaA{gB*eGFQX(rI)92mswHTZ6e~g*nip#)&R*c#S6XX#WlKIJ!pA_bh(S4Twx(z zThw6xC+vsIVW&2WXzm-L4Y64TPKr-#^Z;aErC+Rmv~(wUhcsj)aD;ya*TDVgMKHTs z81{y{Jijiz{9u!I*UoGHMG)MDQl&zIYvBS^A{2ck%)&>EVy%E`6v?F8ols07upBll})emR}CA@2Z zPy$0-6FE=#P^3VU^bLRYxQFjdXK3Prs+QoeZqII!)LqaqqC864!$4RU={ZuRVrIurf!H#Ai9KDx8R~u2{q&4D>_rc>Q>5*MwvN1 zDNT;QT_ZrcV>p=Jc~FLP+}s5!$Nd>rzF_`>`slM$L z!tU=%RZb$GIQCl6v6qaS1k<~woMesl)I0^#*{$5h=|wU<7tIQ$Hfw@c8{!9$E(Nu#lPeuh{af?%MO+vja0+CZA31EC~3>rlh5f>4SD;Y1$@8nb+leQgyf+V%Uu)?;?vF1cYJ@QZeDmk zySj%UGX#whjY)8lcN;m{Z-MYy%&0`6)_&bgv0_b+f<@i`41Pd{h~V#0?U zjwPAWc%unDq8*xH!rHNRjK%}{NFAo>1P8T0@d>=ztyC1-@Tlo3{q3{`6leZ_n8a=w zro~xC)#Z+1^$whUtE?Xm1V<6Q8=_ML?an>`mKkz02t8tH$uk~e zD-DBB+(QBZoQz>8{e@`^aouJtweX!Wg{}8lIJJP8G$-J-%<7(X))f0lSoUW0q-chu zcm+SLsn`Io+?X*FHbBIIk$T4NhO(A%r-T;4E9if`L|^s7*tkfjmtom2%*ehWUN?kP z>OMR(nBFpJ4Eb&a??8wvUiDTF&$QawOjOnEVVVl1rv|k;8RsFCGq^<_b^JtUve{(* zI+04A{hAx--P_v@G2A)Z0GbwPX=mam_Y6}DZNkvyl)S3iByN|Ir8YM@enE6zoC;WY4*p@Tj~Ui>T2YzmX|smKoQ6tpHA#|Hu6#c ze*>GiDgwAdIuz0B?33Fjw?lt!pCd-(o}hb3(T7w>>#$GmklZl^^&8~2 z$a8W)ZU;U4hYfNGYVJ8OVKA7a#*M6!^Q!*6x7@&7h83>&(R0u;kqBTDOI0614=xgzB?RZPju`1 z=;^k)$H0S$>kx5=IZa;dB?rRq{y-7&cYw@;w@`{dF{9P}w^p8*nr285acqhmnx zcgTns5+a6mN<1V?40-Mi2@`)q#>9{sJfsE>dB6`3u$W<+vQUGE+~6TKc-Y}o9jxn+ zrofOJJftZwqDGFmkt1s4h#NU-^~puJqkV)sI^Zls5l7tA5jAhb%^P(N$?bo$2a6nW!$w`o z)8!bVQ=>tPJp*#77$#k#AtmOTkErJ3I*pMrjk+<7x-pHqG1IH@K4uvou!o5Cm`M8g zkkTIRlS>fCG^)mjL-Nod858{+_h~H{(~KI^j2aWB$5gv9*KRx{SX9R`uL0u`6*yvu zBdqXA9f6$iN^n9|J>h?4ITZq%E7bXzCn+3%uzz%d60 z?K6{3gA89(c1b4&{CsdacY+s|f ze@JehJ(#S?6>H+a0GHyqdQGZcv(52`6m!TihZMurXd=qNZL)vofZRj&U~QX2iXU=3 zRkJzd_z{&kB2Np)FSt$i9FWT~I3pXac9%RI#B=MAif-Y0(`YdUh$jG-^PFG}_i5xc z+SpOxQg^g*XgAu29E0Si(PjYcF?ne1ZnRIZy&dk)4o)<1DW=oFp6E0=rbV88_8gFh z5!RtXJKU8W>dJo(*Sdq_ve6lJ$fZNyc23xXbiHxdAkSfgJY41>&eX;s13Sdo z0d9vpeTqRs**F|ec8n%x-^xE(7QevFI)jrtSzq z_ZeEhf!){VO7#yAK%W8h4>3=l$48%rX}^!n?B+RZ&@FEJ}ofbrcXkfF+YHMAS zNj6JR6lK!3W@O4CsnJZSrP_Dc{79;jzj?5IlAQCM2GF2r*|YmERrUe_f%w5;%AEQthS znuwSt9=9x3!%NyIX-f$dEs-83ogUx-a11EL5YGhkCqjS1@fyLdBqBf_!bG$wiBKL% zd4zHqsDvX^f>NT;j0jnR&L)W#)BmkCCaNEkv|=z$XUX}$-J`W`51L+$+b zV9YQE&NheMey_*f^Lqm(Nd$wXN+Og*QWBv=Nr^&hHe9If7S|SM`@S!#IVA_9tXbnA3(g8NVgG67d^-*msCBW9kfV82V zZPCsFlOCC0#b|Vb_y{KW5mL1kd=wF62J!4)`5$6=9bHo3Q7x z)ujg#zK;Z(9D-vc#wdxTBnlZO%qp^z9$-rn9l)L>Lcj8-#C{TZB1XGDb zVayW6VOOG{+KJ+jGf|0@fc{uWjya|v2y8JcW0FA2=)s*yV33l8=PKlgB+)?vQ<4O} zE)icxj~-ws38o-XQle0zq(ntiO`Pl>A5Z9EI36930TmKFm<0PsaO(skKn0kfpp8UF z-tQpMmjoL?GQF&>N^vNo6vTgAVGc!h80CF#GL~0j_LC|OCBd^+6~`VD%rW8~N)irh z2!hOnm!OnH4Jzq%7z(z8O_53jTN2?NxCI5is6+uZ4VPhsXR`t?NAhwM4j76gMjSH` z6uy8i@pB3uPKj?LXT#NELoo}NlGzc_3L?9b==MzOerX^&fPKJFMgV_VtsY?C8Vwl- zAeG5E$r^^PH;|sh=t56=!aa{-GeSOK8?YnY0qq`o*l^Uaqy!=TIuu(z0 zxTg#~89NW1_d1g30fL$s-H<6QJ-8pSa3bclf40y*Vt`CU1f?t6CZWL@uIYfWW=tRsDM3xjJeA^80 z8aF`*2d2{WP=JXDhY}GH?)HVdVl%*Z>0pcwCJ4Id5dlJ8cn(dlC4WKO2dS*O2wg9!DQ*F^XSg71Y!jyDGX?aZ}mophDurP|Cjgb3n z?3AsB91AN6W$Ax0wz%p;aWHnWR-~|2R0v}Tc7bV`dJQa@^g>G}TVvC?uH89|Rc0EE zLZCnD7?N=;f+aQrmO$|ghaieQp&Eo{qUKpb26ANvKo5vtDEbDEpkh>xjd=wWV}N0c z;i+PbQH*$lx;`kR#`HPqo1XPbX4f{jKI|rY|9tSeu(*FcQL{csH>Th8yl?eiOerKv zwYyI`*fnkfoav&QUA*3v&Vpz)=-bRdKVs7Z2q~;eBArT9+jOdLbt)MQOzyz$YBw%K zPqkZ9JwYArVBZ7V`u;H>wVv|*P}m1I`dBYgeVB$mX2SGfLS^ZN9<8ZOPLf$% zRg$S#ay@_B3CC???7Yy?(Y~l1e=@0X=0ZmT&ya|tO?Z7K7er`eBBPOD01|P230zzvMlgw>_fgvl4WhWDSuLo4 z9+aZvEfa<-yRYB^XvoZB3|Er-PlM0azRW?1Ym00f*p?W7Y)fQ@0$LN{&tNpN;y{$; z_Qp~&2K$dCTJS-vpA?j5PVQKYzX>nl@qB+o6EIe>5ATQQD)tAqZ)i&bB@(c;(Bn3W z5$nWYOWc-xC3Xl+bkGEpEbfSd#S7wJJ9q&zptytjFeY&q^}DFw?TML!baX{jU^rtj zoH0yJEP;CrjVyr5r?*?cwlnD|h%OswXK($b+jg9WNB3mqu%>=L&Par$S4w--P z>e{{{R<{I38wHez{7|Hh6Iej*WM!*y2aF)a2T@V^2wLziroT zhf}wi?RHrQD;yzMVato`XF6PKjZ+7>mB4(LyR?7g6K_4a#ht3McjPw1Cp)}X#aYpY zSDy#he7$>J1x^(=dQmC;8$GixWsQG*DdEQKm3ywzcdG?9EvqBGLGrh}0W9FF;kWrw zxoUQ8K<(N!_or4?ffCBMd^invpxBI%4KS-o8?Xb|opQZRaFy@*&MUd|TCmA)7C5X_ ztao0#xc+qu=a*_5mww5~smi<&Y~0gh**j-GYr|*5HuX(yUb}JYdCqm6-t&Kjy>Ih# zK3@I0X0Ga}ZFV*mWv7Ui`K~*wZp||XMBeT>Nm<&U{T4^ovE%JS-mY)sDz1XdPI_Zx zzNYmLUuyk>v~G@p5q}@@!{VDy^VL^va(w2*xL-QwkR9+?1#+w`+Z$J32hH;X>x5Ww z()YGFB>m#W8e6VzOJ`1sJ2-!EyZfIiw|v7;-8%iu{n*`3Z1%lhe&GzS>EPvahj=e{ z5AiORUpTsCuu{Ee&{FBsUE2P>bGfDQM4gG*C_TU3-h6IXAD_3~Lsa&PP1!oXnkH~w zvuRoL5pw6_{OWppGjwVdW_xK5q}-o2+E&)QyKe~S4!IhB)}P$+ur7Z_Mo#^#^6ltP zw(;F&Ln!RNU0;80*W$k2h*Uk_ifHb9#^C{%kRryW}>*|c0sjGkda*NL~b(P%!Fcr-(LRCI4sL^I_G<6n zdHoBwX|K#SZFw>r?u?ps^&SmfQ7@N8ixsw&s4pKXZvFeOGaoY=;J?OGFeU2r}h1fHCyt7#3T<$6_j#C7GK3O*-=)8T)Wi~ClcPZ3YfFZd{U zx^nd+XSo$%s=C0VE9OGB5vBR?xV)WulgEo`m0JnW3jJ%+uovj5YU7~lGDf~eZ)W{Y zt0sZN=&PE%D~EUr1mE0y^)6Ql(hb$%z13Fr;uZnvKfiK%FskHdXte2t%`QHWTU5WK zsKKoq2;WBTD64--wD47kPDaRRcv6vr37QWp;9REW5u2}S`I(18L$SnXgDmA$bK%Z1bhoA3rMectAOw+rDaCp8Y2YGqBUAooL zL6y+6Tpgt8c4}QP@P!te&o*hdNO-Ehyam^(FUTro@|8|1*YnHewVO_dd}y5LJ{hs- z(`eS*Q-k54h7v8u%H4`wNaT);dWkIJROj&f`gI}0qC+*(86!kNO*d+8>9tudtHldO zeGfmZwLyQTGpxE0c`drES)Mfut7bY~(`J=PVuQl>Fmetxg{}^n#l*XGDz`w$^+~w) zk*`tWda}o#_l7&D;*6-+A!%}}j(#~ge+l7bBIP%=MhtqXQ=-4(($KhW^WoJSocsN* zf~WP7a8TjY-y8`&RtefgiE#KRyO)p5;hQ7Y)a8FRXckv1ST`#)sRA?Nw_Bb>kN`D6 z%D>&EhFQmHw4mX98n$SNvz#2|PCK|&gvsU~)-eIDOwnZVR*sJERB>3B*-WLLk($pM zzOv;LL2&KQsN?W*hR~^jf#yoXn!`0q^v?KfnloQ4*2~RCQ`fKFlFrOGSBs_QTWkT| z-K@5@>|EY|EPmE+=kQcoPS28Yy5|4y*EhGH^kShG%PoZ@8@;%iU*Ei^$D02Cs2A6I zvDNRcme-5Tl7GC<@ZiR8lFOSLM#taD(eL;+G=W_C!^CTJr;utbCsZ{HIScQVRK2Et ztrjHInu7{WLD5Q+$-D*NBmDGZJJ+lEk9u_@cs0>~O+HuX7U!!!XFrwccMN~fw<4{^b_dOq!$yO2r~&)A$t+Ey zaSDZgBNqv<0PzoeUA`DvgTzK?E5Q7{V@A}<&F!jFZywax29iG*&d3nn9Ss}M#Di*Z zP<2>;Nl7yujbx^%FD1!F&3PG|oL-Q=j+#3{RGedF!V9CcBjwbmwVjonxplTbPXPuHJX((xLX%Nd6thj24xm+ZFt+%b?zt*ViAd+vA1b^Vqo4w(T_wPQM zlqsVS6aI+emudy@qNm*h+CD058AOw#lJUHGyyg1d5m zf-v{H3It^|G&boV8!(Qt5D7BEEV8PNB)H9L-TUO(vYJ$pbIBN`4sk^S2DU;}fi05L zq?mNWw@!_ye|u24Uu`d&)E2MrkW6y;smVFWGL@#O*Y&mD=(prC^uO!HyOrjz9BIDy zmdyJ{Bd9d7)SLOoPjc+|_LBa8(pUO_Qj@!xuYb_%+smKzdaKu;^yPx`7dM($b~ItS zqyJYca*j)KT_4|*P+!vjJM!3vLk_0WJL=8rY4tUilwGz7K&updQpG6;h#Y4UBsV(|rxj>s)1>nB$V~RWuNN^UE18V^-(uveM$xJuswD1ttvC69Z4JLb z8+ER6W#1u6RLV2@Qex?Y9Edy%?&ahuv4k%MJ#@bL)vsT?thm)$J#8E{hp$e8)6r`V zbkp>Fc5$yC9yxT(7NCZF=za6{!}8;D$U~9-#0%>`dGAh6r&W?JiiX_NX8m@3O+4kx zWt?*(lluImX&f`=C&O%lLIrkzzIbbUqQtdG52#*g4#*Qg$~(+nuCeyyr6}4v@iVhN zr*8UlII^ZVX@wfA;1DZI$)=XiWOzP6j4-EbpS(9IrVQ4cVPqx^JTYJyZq`>f_Uom0 zCT4;`8T!ejgM7jim8kY8C*xaO2R3v}QVVuQn^tHZm;JS1crRyNWoaaTt@8A#GQl4* zW>c5j*i=b(^!dyxp&Si$qbl6-{I3$tbe7I0=d&s^vzq;&Je{GeP!qf$L9ySI=d6=+ z!8oIIUM6+38hI)&x89-hr*BT(r|nr?+S8(qG3(HGs|9taYV{-USz6T@Co1XenGVgY z#;c_cRqgUU9V)$O+6a<3tseD%j%7I3@lI` z!f`aovO+Uu+Do{A#YNN-;05;DR?Lo0r=&`gi|UNz@^U8qKbTrCuzXm57Q-|>-B>wO zOyjK@&S9Ea9@5*!Q9ZXjB;o1w;+zeS^YH4-{&O3}Kc%$g=B!+Qa(8D(vr;w7vz$px z`Rxx^pMoY-Zpwo_<%xOf@=sS^Fi)zZ3w<&qFBb7XV;zg&fkfg^k^S)%KlrB zXV)VH&0pZ8fKz;bQ&6}Xd7AHV@JCp^hbCHJUzOLR@}onvQmr+EkwMy+)+(>vq6%B! zB1Pzq>s{}`DwoC4qhIuf%K_1(F=HJ$EB-jd%*+y&EJ^>IqN`RJy5!`Y+vREQQv<%w zVecfFj6^{Hd78|VWRuLpQ%UYjlL<91uQ0vkNqHWap6yeA3Tw)4)3!@A94uC}*j&hpzqxGD4dxz_f*D*=R!L2}AU zo5dGSeP2U=5_E9c%1CReC3_}*#u?>l)>%Hy+L%~HZV7Il&t{sPaI^mLYO&zeR?6Y! z!*AXEZ!Pqj^A2YeyKvp7#gcoN@?!6DwUGFw$a~M3hye_q=KBW1+Ufm)3)=b5ghWm>`qil)0UA-()E?&n?<~DMrjp zC1CgQ(?U08SNEu=JBzV1d>(AET!@VtHYaki3LD^AZP(zERjln;RLZK__S3SSJnNt# zq8Hw6KWTjNVdM_eX4=$ucX#QLTQbHeHI^Qc`DH_JLbI21P(*=B{)b>J@K4T1he!3{ ztLp53vEsg%*06?;C478?%c7>|=0A4d`jrW^8Dl_GjWn&USr zdz{K&OH7P5xpAwsvYIL7r4PK&Qr$P}{(W$dsB`$HE`OCDo;}q682qmOn|&+zV#sa|LeHLC%^tR z-<^Xm963&XU3~Y8H@j_v<5%00^{Xvk0&2eR#ouk?+aAr{SCENKI2ZR0DTJweKf3zBVrt(g$yji>UZXN6aK@BMpnR|2lf9?It zcHBskC;;yJE2y}AnLrbY+s1{1|Y@sU!MC@D#*vb$BfI$#8XffND=;X#UjMa4O@ zp4H4^=FDOicQ>o~iTf$@C1Ym(1{?@Pkj%`g?(AwY;O=m^o12@PncE{QLpe#Z5b%U(7MZuaWMpG;*JzIUKgYOvxU#eaU)lf5R{k zgI9O8gbRLAPf`W71p;85levk3**+i$n1JX}TItsML*>$GeYS+FMuFmMuo7PX)96HxbFLWiv^qDZz?)O%mUMHQqU5YK0Qw9Jnw&lk3@LfPf`3WeuPoMd{~3bfY7E_ zY-~X*$JIC`Ozpvv=$L?(*y&_I+AHYmMS!Uae|?FrE0Rr~^m0Y48>o{g@MOapU+ty+O|6w4aGHEibjs4!sWE>??5w68)I$HyI;o_zU2be)wmryp{ zTGV8gM$^3&X*9zu!#o5o&kj^fvhN0`z*NJVgP~?@WA8- zq4ZvuyXyT#Y#L+I>I@pOu{>XxAIiz<1eNu3C`6@C;Z1ITX@swe1W3fQfPKVH77?-0E(=W*ESoBkRPht4%_dR!m#en81rDOsp=E&o2K$DF> zJH4Ri<(jkCHdK62iI}<%QGOkWNcU;Vdn|2=4>MZzB{kCB?gP~>&K3@JW24)U^ggSD zV*GxLNv|+}5H!nowgUUlKDDTR2>~FwM*)BV;2utXG)B4uIW7$bt4^Oy(p)yuQ42Gg ze7c9}@ttN$x17TK@g^;9Phq&J7ug))m-=j5QeI*0p`Q;;QC+-N~(zdw&#gO+lCN^>&rFYPPR`-nmqE0ftgDfeKd zjL7!pGMr%7O&1Dp;``>mtir`@QFJa za($~*w9e=A4+uQcKd-N2iXf>_gyr@!Dx>5dxTaxfyND=4|G8I&{ufVYCl}?}4#T!Y z+m(EO*F1XzOFdCgqGXYG;csXE_AUBf)}TL$E+;XjKa(lZt+ftLlyfLB-3%oclE?t9 zLO+vSw5dDgS>ITC(`4_PA7@$kryp_DYeQf(a=-V@hVebj-uxC$ndr+#89E7`*&E;V z{`Ad;Q|^TWCibW?!j&+sdNK6iX@fRr1=|%d*`a+b<$^xj86YhP(6QTlNyT*p_ z%_z!I2Si0IpQY#whU(aWv-WL|kAAJ!oS;p7eI`ab6N9a$c|^fbtOcDcy&uVK=ufnE zKYq&}fcXDNuR=dRk{6MJo_b_&@Mh|Nb3jn7qboA4lgxN!7{*o?bid#jxz{Tu0EuEG z*4!yrvco-Gd|2f*dLn#g6@;?`RtqTVilr~r(&yFuG-|A@N`O;5v9vbU7s9D%jK3NK zK#1m?kc5(U^s2!W+V{)_>>1oK7a4oA8Zkk92g=1~=%*$17Ta6sZ4TrYj%tv9cZ#rb zhH^LY%2i#Ehwrl3!;D12Pn~D-`R2!9jm)`l3*yOx+i+Jyykx`wW{p{J;gVrByXE~8 zt)aONw}O8MSSRXnoiuYIz406(`^Ltm(vd zZ`+RNM)YOJgB4L(RSRme26l9R;>S+gnbb1X2E^l-3d`QS-ew!yF6s3+ETd*vGI=5l z6aRMJ3fC};fQ0*z<25yvx7;+R6hq_dgHbYcB3S_f@XUb8*-cg^F2{}>c<0cA z?VE*O5c&~_?pAL4F!ZN?-Z1q4!<#I@O{W!_lcDufR<-^RrOZ+!=kK()HQTh=iNO3% zMOWB=%=chy*;`7PEG-`#E5YL!9Q79SIv z8x{vlUF{uuLvP~Eys>xb9eexU$UE>pc}Hl2^u@G6Dgo=uAHVE>mKz(Wo*Vihpx-J= zMgjjWP2LYl;-yS`TX;}?@;kr7)d2(?p${0MKHxo13-2)>edWr=-9LFMZqq-Fd!2Dd zGtD8F3FjY_rk#D>b@S^8r8@q2I|NF{KRf^_x`>i8+@(So#o&k^e-b$-nd9zO+VO!} z8uP16D%BBZDD&fg4*Qh(81`gyt2*+#u7UT}5fQ-Z!y(g(A-j$mlDG(exc<7@1q1c~ zF)T%_Lj|@M`NK*YY?g34qJ-N)^?Q=}wM~uZyiR1wY44UNSqG_@rB5HqjNd#BcWV6t zaO6(lVq7~m!g@k*HojZzg65I?PRtu(vT-xPc1{Vlmzhj|tYz+2v)HQ4BEwl6w#;B& zTQGK~4%DE!I@%T(9QtZN8e-Kt(+o6f{n0L>#hw6M(hT1ic{BJ;vZgnNUvZiOIY$7a zKq(on$5kZ$rir&aSh8g9byi0tA{RSdX`mH0Z$r=hZ8AVve%9mx5X2{Upt z!cUQ9@WI?2TyFRWu6Mbiuf2HH8^dO(uD(zNIG1pi?7O=)^dOU)Lp*e9^bKjNg}9+{ z&5)agm~W^Bs=ubp4w|WAjTliXXbLasi$;6RuMgONsNhK4`tgglY;ZDeY_WCPbr1RV zyhBIk#zqO4+O=l}zP+Z29lC=a_=T9?&)U;gsj*qK5KDp-|AJ=z$%y&GDFVlB?#O1_U=)dyDBrIN%uy{1}XhASuvEZw*E; zLU*I*t+CIo!BnAbIO2m46P5R$q*%ktv%=>N82)~UPC?U9yWRTw^>&V-M$l`dlu<`< zql+t~-6FfWP5fcV%=-Z!=R>-j3Z#U8S|STc5k_mK`4PpF28ci>MgKa8x#|1*It)WS zI*F&(qOskCi^f=`eKPa|sR&Vn^fNEqE8(Mqk`~vCKt2|ctoc##Q02l7H~P7d%v@9H5!RD~Qq+ZB>1R_)T z*TU|?APRAbSFW#@WPXTmq74mW?@CXa1EFB=p_u>pF+e#&|EsyTNtfHWhaIe97495Y zg^>zvd6gESdAZ`sa>>Ptjm3gV1pR54=RnAb>3JK6K*ZLv5Vt8Qm)44OjhycW-+p@u zgsQv%aytE%ZJ1wk{-fVRg_cf#knmDwKUpJ6w3ZHsWd?G?0B>mMMzObX5Nh8Bo&oP9 zd+a8$$LUrupQ|+$x*zxn>-B~|Su~Zfi}WoNg1}>xxUj=$muZyC{}k%`&i_J>Wo|0L z(Afi4BjjF4evn<3=rJxOo|4o|`&ky;;D%+gPeHOz2?CFL0Uii#kzd+>5BtGv7T<73 z67T)(92k%^fmK4aqDNB}Bh%OxAPtgn835fFPNI0k791YuyJg)BqhNSz@LIqZp;4yJ z582E&h)nbopo(?sDPLW~dcdB~Wt0iZ7fSX@7?x-Z*PhONvF<+%a3}3rDuA!HtVUU1 zhD2Ki3K5RNdr87O3ftO$GGuHSB43S?F9t1fA~qXwkP!e2y`GE)Knmvr_4b@*EbUGN z+~V*mjN!l~NxR4Glc5Mi5M~Xbm9@c_8mvvryjZ&k*S?|dzQN<}8`jM?0CR*FwfnHA zeoCQHAKXCI`|q`i4?wL*y2l&?Y{$l5CxOk}q}EYToF?f~jjdzLt4v_i{8Kz*@zH6y6d*m|Y{dmO@cm+j>(J&HEF z_>YZpWOZDPG+fPavv2O^KW4i*ic0Tu9anRPtFf;J44>iH7{ZCF<0=9*28K)3x?T)K zL5u_rEj&Tw)`Vk!8Fs7E#uGPKD3n+Lnu;6f?01BX9Lk-6qc#eMj&f_|;L(m)e%GV} zMb*N)>OoCDaSfh}Gm&Weglq&kKp`3UZp=ulW>=R^_u$`@73f=awRj(MSrmu zP=Ba##ol5+P`!ypsdosCV%90PO8vviH-~;|{pL{nrXdfbTGMPAGR>q{lh*9#FY#QK za+3@#Zu6dj`@>%Mru7pV_E=>ysA7RRyMs`wFssv5keRbpMbIYta)L}uxYeu-S}d&@ zV)Fw@ZXLdVac3!Rk$ko*xb>2A>wGv}dG@k_XXo9NigQmG*ndaPJz2oHCv$?+TT-Bb zs3>tLlX4>#$s5}-J)Y~AxR+G)ioE`Z^gHIi@dq`R?Fv?!U}E zV5_~}?DPLmUzFvQ$ z(0cKzuOo_!c2uG;Qm;GYYjCAw8Wx(oR}ZuJ{%ekOJ?X`Z>t70r(jy0Ycl` z`ZV_Rhe4`(2>oP)8yAfG3i6Vj<^6&e+{W3;A6oIg6Kn(E*AWlcAr}sCG9tf*+v}hA?~|eCTH- zKyH^lsNR|nNms^ZfQX{u&D4R-%577i(C2=Y0dkMPugP{Zv@T2f3DBDJXsFp`6_O>A zOlOrN#dKPzGpQ8+X-je{iN6IRf3*Q=0K)glbxJFfsXIwL2h%=uY{qH^x=F4xWby$j^B!mI}+VR8k841U0Pt`IAL5d>KqdZb%h z@sP7dP&&i5qtPp1oWcZYE)@?$_G3Jzzgajb+bfnG$3X&YXDSm-N2atOzlXpGzeQrNtlA%Q3I3SAAaM;3d# zZ+lcX8AVyQk5JQwPn6Rj|5X3T+U8sySO-sDf9ZB$A^P!;uK7Xr0m{&@Ur@TK>`*M1YP z*Z&y61KuXW#^_1LRSlUf3>-$BYvADi`jx5oFuViKN9?bD7z2ZurOBR?0a3dC_ZO!Y zgrL|;C$C-rJ9i5Gg?Taevi>-K`clr`=}F8qcz*p#xSFv@U-=Ba6! zW6sIxeVJt2JvapHgYiP$WI607=_vd)f6gqD#VJwkvdn<{rz;MAy&#$AjIHr7jeYeK zrb!9SdN71Znir_$@zqbLj#D_A@fkT?%w_^-newbz2~M6qN8MC+O;!YdUdnG+d;wF( z^@hFzlv7e5xrmMwbg2tLj03*9n4}{Z)K5p}J#PriwO67dI>Xt(&smV?*J(Dw$T>^~ z&*}0;96)0@95;o}^VpY--p3!{Fh9#w*mY!XCl1? zBpQwcjv{^NsW(>^nWfkA3h2SZyHWj=`d?1#txpnxFD z@WJD=gF;w7IAp{MvYF+M+s|ilR5(2hIMs7uqH%#Uwym!)=b58>*UV@mbS07SzaR9J zOb61C?t}=3xKR>rY}4%ydYB9hG~>FPNMhDG`o@&TBh=#k@BzqwV8Ap)L7YQ_N(r
    ' + (escaped ? _code : escape$1(_code, true)) + '
    \\n';\n }\n\n return '
    ' + (escaped ? _code : escape$1(_code, true)) + '
    \\n';\n };\n\n _proto.blockquote = function blockquote(quote) {\n return '
    \\n' + quote + '
    \\n';\n };\n\n _proto.html = function html(_html) {\n return _html;\n };\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '' + text + '\\n';\n } // ignore IDs\n\n\n return '' + text + '\\n';\n };\n\n _proto.hr = function hr() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n };\n\n _proto.listitem = function listitem(text) {\n return '
  • ' + text + '
  • \\n';\n };\n\n _proto.checkbox = function checkbox(checked) {\n return ' ';\n };\n\n _proto.paragraph = function paragraph(text) {\n return '

    ' + text + '

    \\n';\n };\n\n _proto.table = function table(header, body) {\n if (body) body = '' + body + '';\n return '\\n' + '\\n' + header + '\\n' + body + '
    \\n';\n };\n\n _proto.tablerow = function tablerow(content) {\n return '\\n' + content + '\\n';\n };\n\n _proto.tablecell = function tablecell(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align ? '<' + type + ' align=\"' + flags.align + '\">' : '<' + type + '>';\n return tag + content + '\\n';\n } // span level renderer\n ;\n\n _proto.strong = function strong(text) {\n return '' + text + '';\n };\n\n _proto.em = function em(text) {\n return '' + text + '';\n };\n\n _proto.codespan = function codespan(text) {\n return '' + text + '';\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? '
    ' : '
    ';\n };\n\n _proto.del = function del(text) {\n return '' + text + '';\n };\n\n _proto.link = function link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '
    ';\n return out;\n };\n\n _proto.image = function image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n return Renderer;\n }();\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n\n var TextRenderer_1 = /*#__PURE__*/function () {\n function TextRenderer() {}\n\n var _proto = TextRenderer.prototype;\n\n // no need for block level renderers\n _proto.strong = function strong(text) {\n return text;\n };\n\n _proto.em = function em(text) {\n return text;\n };\n\n _proto.codespan = function codespan(text) {\n return text;\n };\n\n _proto.del = function del(text) {\n return text;\n };\n\n _proto.html = function html(text) {\n return text;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n _proto.link = function link(href, title, text) {\n return '' + text;\n };\n\n _proto.image = function image(href, title, text) {\n return '' + text;\n };\n\n _proto.br = function br() {\n return '';\n };\n\n return TextRenderer;\n }();\n\n /**\n * Slugger generates header id\n */\n\n var Slugger_1 = /*#__PURE__*/function () {\n function Slugger() {\n this.seen = {};\n }\n\n var _proto = Slugger.prototype;\n\n _proto.serialize = function serialize(value) {\n return value.toLowerCase().trim() // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '') // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '').replace(/\\s/g, '-');\n }\n /**\n * Finds the next safe (unique) slug to use\n */\n ;\n\n _proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {\n var slug = originalSlug;\n var occurenceAccumulator = 0;\n\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n\n return slug;\n }\n /**\n * Convert string to unique id\n * @param {object} options\n * @param {boolean} options.dryrun Generates the next unique slug without updating the internal accumulator.\n */\n ;\n\n _proto.slug = function slug(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n };\n\n return Slugger;\n }();\n\n var Renderer$1 = Renderer_1;\n var TextRenderer$1 = TextRenderer_1;\n var Slugger$1 = Slugger_1;\n var defaults$1 = defaults$5.exports.defaults;\n var unescape = helpers.unescape;\n /**\n * Parsing & Compiling\n */\n\n var Parser_1 = /*#__PURE__*/function () {\n function Parser(options) {\n this.options = options || defaults$1;\n this.options.renderer = this.options.renderer || new Renderer$1();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer$1();\n this.slugger = new Slugger$1();\n }\n /**\n * Static Parse Method\n */\n\n\n Parser.parse = function parse(tokens, options) {\n var parser = new Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n ;\n\n Parser.parseInline = function parseInline(tokens, options) {\n var parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n ;\n\n var _proto = Parser.prototype;\n\n _proto.parse = function parse(tokens, top) {\n if (top === void 0) {\n top = true;\n }\n\n var out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'space':\n {\n continue;\n }\n\n case 'hr':\n {\n out += this.renderer.hr();\n continue;\n }\n\n case 'heading':\n {\n out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger);\n continue;\n }\n\n case 'code':\n {\n out += this.renderer.code(token.text, token.lang, token.escaped);\n continue;\n }\n\n case 'table':\n {\n header = ''; // header\n\n cell = '';\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(this.parseInline(token.tokens.header[j]), {\n header: true,\n align: token.align[j]\n });\n }\n\n header += this.renderer.tablerow(cell);\n body = '';\n l2 = token.cells.length;\n\n for (j = 0; j < l2; j++) {\n row = token.tokens.cells[j];\n cell = '';\n l3 = row.length;\n\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k]), {\n header: false,\n align: token.align[k]\n });\n }\n\n body += this.renderer.tablerow(cell);\n }\n\n out += this.renderer.table(header, body);\n continue;\n }\n\n case 'blockquote':\n {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n\n case 'list':\n {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n body = '';\n\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n itemBody = '';\n\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'text') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n\n case 'html':\n {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n\n case 'paragraph':\n {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n\n case 'text':\n {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n ;\n\n _proto.parseInline = function parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n var out = '',\n i,\n token;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'escape':\n {\n out += renderer.text(token.text);\n break;\n }\n\n case 'html':\n {\n out += renderer.html(token.text);\n break;\n }\n\n case 'link':\n {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'image':\n {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n\n case 'strong':\n {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'em':\n {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'codespan':\n {\n out += renderer.codespan(token.text);\n break;\n }\n\n case 'br':\n {\n out += renderer.br();\n break;\n }\n\n case 'del':\n {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'text':\n {\n out += renderer.text(token.text);\n break;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n };\n\n return Parser;\n }();\n\n var Lexer = Lexer_1;\n var Parser = Parser_1;\n var Tokenizer = Tokenizer_1;\n var Renderer = Renderer_1;\n var TextRenderer = TextRenderer_1;\n var Slugger = Slugger_1;\n var merge = helpers.merge,\n checkSanitizeDeprecation = helpers.checkSanitizeDeprecation,\n escape = helpers.escape;\n var getDefaults = defaults$5.exports.getDefaults,\n changeDefaults = defaults$5.exports.changeDefaults,\n defaults = defaults$5.exports.defaults;\n /**\n * Marked\n */\n\n function marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n if (callback) {\n var highlight = opt.highlight;\n var tokens;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n var done = function done(err) {\n var out;\n\n if (!err) {\n try {\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n if (!tokens.length) return done();\n var pending = 0;\n marked.walkTokens(tokens, function (token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(function () {\n highlight(token.text, token.lang, function (err, code) {\n if (err) {\n return done(err);\n }\n\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n try {\n var _tokens = Lexer.lex(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(_tokens, opt.walkTokens);\n }\n\n return Parser.parse(_tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n }\n /**\n * Options\n */\n\n\n marked.options = marked.setOptions = function (opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = defaults;\n /**\n * Use Extension\n */\n\n marked.use = function (extension) {\n var opts = merge({}, extension);\n\n if (extension.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop];\n\n renderer[prop] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var ret = extension.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (extension.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop];\n\n tokenizer[prop] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = extension.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in extension.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n }\n\n if (extension.walkTokens) {\n var walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n extension.walkTokens(token);\n\n if (walkTokens) {\n walkTokens(token);\n }\n };\n }\n\n marked.setOptions(opts);\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n var token = _step.value;\n callback(token);\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.tokens.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n marked.walkTokens(cell, callback);\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.tokens.cells), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n marked.walkTokens(_cell, callback);\n }\n }\n\n break;\n }\n\n case 'list':\n {\n marked.walkTokens(token.items, callback);\n break;\n }\n\n default:\n {\n if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n }\n };\n /**\n * Parse Inline\n */\n\n\n marked.parseInline = function (src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n var tokens = Lexer.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser;\n marked.parser = Parser.parse;\n marked.Renderer = Renderer;\n marked.TextRenderer = TextRenderer;\n marked.Lexer = Lexer;\n marked.lexer = Lexer.lex;\n marked.Tokenizer = Tokenizer;\n marked.Slugger = Slugger;\n marked.parse = marked;\n var marked_1 = marked;\n\n return marked_1;\n\n})));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.14.3\nvar PS = {};\n(function(exports) {\n /* global XMLHttpRequest */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url, xhr) {\n if (xhr.nodejsBaseUrl === null) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n } else {\n return url || \"/\";\n }\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (timeoutErrorMessageIdent, requestFailedMessageIdent, mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url, xhr);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n // eslint-disable-next-line no-eq-null,eqeqeq\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msgIdent) {\n return function () {\n errback(new Error(msgIdent));\n };\n };\n xhr.onerror = onerror(requestFailedMessageIdent);\n xhr.ontimeout = onerror(timeoutErrorMessageIdent);\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.timeout = options.timeout;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Semigroupoid\"] = $PS[\"Control.Semigroupoid\"] || {};\n var exports = $PS[\"Control.Semigroupoid\"];\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Category\"] = $PS[\"Control.Category\"] || {};\n var exports = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Function\"] = $PS[\"Data.Function\"] || {};\n var exports = $PS[\"Data.Function\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n var applyFlipped = function (x) {\n return function (f) {\n return f(x);\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"applyFlipped\"] = applyFlipped;\n exports[\"on\"] = on;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Unit\"] = $PS[\"Data.Unit\"] || {};\n var exports = $PS[\"Data.Unit\"];\n var $foreign = $PS[\"Data.Unit\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\n var $foreign = $PS[\"Data.Functor\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var mapFlipped = function (dictFunctor) {\n return function (fa) {\n return function (f) {\n return map(dictFunctor)(f)(fa);\n };\n };\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n }; \n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"mapFlipped\"] = mapFlipped;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Apply\"] = $PS[\"Control.Apply\"] || {};\n var exports = $PS[\"Control.Apply\"];\n var $foreign = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Applicative\"] = $PS[\"Control.Applicative\"] || {};\n var exports = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 66, column 1 - line 66, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 61, column 1 - line 61, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Bind\"] = $PS[\"Control.Bind\"] || {};\n var exports = $PS[\"Control.Bind\"];\n var $foreign = $PS[\"Control.Bind\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n }; \n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Maybe\"] = $PS[\"Data.Maybe\"] || {};\n var exports = $PS[\"Data.Maybe\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 230, column 1 - line 230, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 281, column 1 - line 281, column 46): \" + [ v.constructor.name ]);\n };\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 68, column 1 - line 70, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 126, column 1 - line 128, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeMaybe = new Control_Applicative.Applicative(function () {\n return applyMaybe;\n }, Just.create);\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"applicativeMaybe\"] = applicativeMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.MediaType.Common\"] = $PS[\"Data.MediaType.Common\"] || {};\n var exports = $PS[\"Data.MediaType.Common\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Affjax.RequestBody\"] = $PS[\"Affjax.RequestBody\"] || {};\n var exports = $PS[\"Affjax.RequestBody\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Unsafe.Coerce\"] = $PS[\"Unsafe.Coerce\"] || {};\n var exports = $PS[\"Unsafe.Coerce\"];\n var $foreign = $PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Safe.Coerce\"] = $PS[\"Safe.Coerce\"] || {};\n var exports = $PS[\"Safe.Coerce\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var coerce = function (dictCoercible) {\n return Unsafe_Coerce.unsafeCoerce;\n };\n exports[\"coerce\"] = coerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Safe_Coerce = $PS[\"Safe.Coerce\"];\n var unwrap = function (dictNewtype) {\n return Safe_Coerce.coerce();\n };\n var alaF = function (dictCoercible) {\n return function (dictCoercible1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"alaF\"] = alaF;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap()(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap()(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Affjax.ResponseFormat\"] = $PS[\"Affjax.ResponseFormat\"] || {};\n var exports = $PS[\"Affjax.ResponseFormat\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 44, column 3 - line 50, column 19): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = new $$String(Control_Category.identity(Control_Category.categoryFn));\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"string\"] = string;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Affjax.ResponseHeader\"] = $PS[\"Affjax.ResponseHeader\"] || {};\n var exports = $PS[\"Affjax.ResponseHeader\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Alt\"] = $PS[\"Control.Alt\"] || {};\n var exports = $PS[\"Control.Alt\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Either\"] = $PS[\"Data.Either\"] || {};\n var exports = $PS[\"Data.Either\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var note = function (a) {\n return Data_Maybe.maybe(new Left(a))(Right.create);\n }; \n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 31, column 1 - line 31, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 208, column 1 - line 208, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var hush = either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 70, column 1 - line 72, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindEither = new Control_Bind.Bind(function () {\n return applyEither;\n }, either(function (e) {\n return function (v) {\n return new Left(e);\n };\n })(function (a) {\n return function (f) {\n return f(a);\n };\n }));\n var applicativeEither = new Control_Applicative.Applicative(function () {\n return applyEither;\n }, Right.create);\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"note\"] = note;\n exports[\"hush\"] = hush;\n exports[\"functorEither\"] = functorEither;\n exports[\"applicativeEither\"] = applicativeEither;\n exports[\"bindEither\"] = bindEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Monad.Error.Class\"] = $PS[\"Control.Monad.Error.Class\"] || {};\n var exports = $PS[\"Control.Monad.Error.Class\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))((function () {\n var $17 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($18) {\n return $17(Data_Either.Left.create($18));\n };\n })());\n };\n };\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Monad\"] = $PS[\"Control.Monad\"] || {};\n var exports = $PS[\"Control.Monad\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var whenM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.when(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.unless(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (f$prime) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (a$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())(f$prime(a$prime));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"whenM\"] = whenM;\n exports[\"unlessM\"] = unlessM;\n exports[\"ap\"] = ap;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Semigroup\"] = $PS[\"Data.Semigroup\"] || {};\n var exports = $PS[\"Data.Semigroup\"];\n var $foreign = $PS[\"Data.Semigroup\"];\n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Monad.Except.Trans\"] = $PS[\"Control.Monad.Except.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either((function () {\n var $91 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($92) {\n return $91(Data_Either.Left.create($92));\n };\n })())(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, (function () {\n var $93 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($94) {\n return ExceptT($93(Data_Either.Right.create($94)));\n };\n })());\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, (function () {\n var $103 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($104) {\n return ExceptT($103(Data_Either.Left.create($104)));\n };\n })());\n };\n var altExceptT = function (dictSemigroup) {\n return function (dictMonad) {\n return new Control_Alt.Alt(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, function (v) {\n return function (v1) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(function (rm) {\n if (rm instanceof Data_Either.Right) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(rm.value0));\n };\n if (rm instanceof Data_Either.Left) {\n return Control_Bind.bind(dictMonad.Bind1())(v1)(function (rn) {\n if (rn instanceof Data_Either.Right) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(rn.value0));\n };\n if (rn instanceof Data_Either.Left) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(Data_Semigroup.append(dictSemigroup)(rm.value0)(rn.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 87, column 9 - line 89, column 49): \" + [ rn.constructor.name ]);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 83, column 5 - line 89, column 49): \" + [ rm.constructor.name ]);\n });\n };\n });\n };\n };\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"altExceptT\"] = altExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Monad.Except\"] = $PS[\"Control.Monad.Except\"] || {};\n var exports = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap();\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n exports[\"runExcept\"] = runExcept;\n})(PS);\n(function(exports) {\n /* eslint-disable no-eq-null, eqeqeq */\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n };\n\n function isArray(a) {\n return Object.prototype.toString.call(a) === \"[object Array]\";\n }\n\n exports._caseJson = function (isNull, isBool, isNum, isStr, isArr, isObj, j) {\n if (j == null) return isNull();\n else if (typeof j === \"boolean\") return isBool(j);\n else if (typeof j === \"number\") return isNum(j);\n else if (typeof j === \"string\") return isStr(j);\n else if (Object.prototype.toString.call(j) === \"[object Array]\")\n return isArr(j);\n else return isObj(j);\n };\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._copyST = function (m) {\n return function () {\n var r = {};\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r[k] = m[k];\n }\n }\n return r;\n };\n };\n\n exports.empty = {};\n\n exports.runST = function (f) {\n return f();\n };\n\n exports._fmapObject = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(m0[k]);\n }\n }\n return m;\n };\n\n exports._mapWithKey = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(k)(m0[k]);\n }\n }\n return m;\n };\n\n exports._foldM = function (bind) {\n return function (f) {\n return function (mz) {\n return function (m) {\n var acc = mz;\n function g(k) {\n return function (z) {\n return f(z)(k)(m[k]);\n };\n }\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n acc = bind(acc)(g(k));\n }\n }\n return acc;\n };\n };\n };\n };\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n\n exports.toArrayWithKey = toArrayWithKey;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n exports.findIndexImpl = function (just) {\n return function (nothing) {\n return function (f) {\n return function (xs) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (f(xs[i])) return just(i);\n }\n return nothing;\n };\n };\n };\n };\n\n exports._deleteAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (l) {\n if (i < 0 || i >= l.length) return nothing;\n var l1 = l.slice();\n l1.splice(i, 1);\n return just(l1);\n };\n };\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Sorting ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.sortByImpl = (function () {\n function mergeFromTo(compare, fromOrdering, xs1, xs2, from, to) {\n var mid;\n var i;\n var j;\n var k;\n var x;\n var y;\n var c;\n\n mid = from + ((to - from) >> 1);\n if (mid - from > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);\n if (to - mid > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);\n\n i = from;\n j = mid;\n k = from;\n while (i < mid && j < to) {\n x = xs2[i];\n y = xs2[j];\n c = fromOrdering(compare(x)(y));\n if (c > 0) {\n xs1[k++] = y;\n ++j;\n }\n else {\n xs1[k++] = x;\n ++i;\n }\n }\n while (i < mid) {\n xs1[k++] = xs2[i++];\n }\n while (j < to) {\n xs1[k++] = xs2[j++];\n }\n }\n\n return function (compare) {\n return function (fromOrdering) {\n return function (xs) {\n var out;\n\n if (xs.length < 2) return xs;\n\n out = xs.slice(0);\n mergeFromTo(compare, fromOrdering, out, xs.slice(0), 0, xs.length);\n\n return out;\n };\n };\n };\n })();\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n //------------------------------------------------------------------------------\n // Partial ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.unsafeIndexImpl = function (xs) {\n return function (n) {\n return xs[n];\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pushAll = function (as) {\n return function (xs) {\n return function () {\n return xs.push.apply(xs, as);\n };\n };\n };\n\n exports.unsafeFreeze = function (xs) {\n return function () {\n return xs;\n };\n };\n\n function copyImpl(xs) {\n return function () {\n return xs.slice();\n };\n } \n\n exports.thaw = copyImpl;\n})(PS[\"Data.Array.ST\"] = PS[\"Data.Array.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Array.ST\"] = $PS[\"Data.Array.ST\"] || {};\n var exports = $PS[\"Data.Array.ST\"];\n var $foreign = $PS[\"Data.Array.ST\"]; \n var withArray = function (f) {\n return function (xs) {\n return function __do() {\n var result = $foreign.thaw(xs)();\n f(result)();\n return $foreign.unsafeFreeze(result)();\n };\n };\n };\n var push = function (a) {\n return $foreign.pushAll([ a ]);\n };\n exports[\"withArray\"] = withArray;\n exports[\"push\"] = push;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Boolean\"] = $PS[\"Data.Boolean\"] || {};\n var exports = $PS[\"Data.Boolean\"];\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n }; \n exports.eqIntImpl = refEq; \n exports.eqCharImpl = refEq;\n exports.eqStringImpl = refEq;\n\n exports.eqArrayImpl = function (f) {\n return function (xs) {\n return function (ys) {\n if (xs.length !== ys.length) return false;\n for (var i = 0; i < xs.length; i++) {\n if (!f(xs[i])(ys[i])) return false;\n }\n return true;\n };\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Eq\"] = $PS[\"Data.Eq\"] || {};\n var exports = $PS[\"Data.Eq\"];\n var $foreign = $PS[\"Data.Eq\"];\n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.eqStringImpl);\n var eqInt = new Eq($foreign.eqIntImpl);\n var eqChar = new Eq($foreign.eqCharImpl);\n var eq = function (dict) {\n return dict.eq;\n };\n var eqArray = function (dictEq) {\n return new Eq($foreign.eqArrayImpl(eq(dictEq)));\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqArray\"] = eqArray;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Monoid\"] = $PS[\"Data.Monoid\"] || {};\n var exports = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 94, column 1 - line 94, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.HeytingAlgebra\"] = $PS[\"Data.HeytingAlgebra\"] || {};\n var exports = $PS[\"Data.HeytingAlgebra\"];\n var $foreign = $PS[\"Data.HeytingAlgebra\"];\n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"ff\"] = ff;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Monoid.Disj\"] = $PS[\"Data.Monoid.Disj\"] || {};\n var exports = $PS[\"Data.Monoid.Disj\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n }; \n exports.ordIntImpl = unsafeCompareImpl; \n exports.ordStringImpl = unsafeCompareImpl;\n exports.ordCharImpl = unsafeCompareImpl;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Ordering\"] = $PS[\"Data.Ordering\"] || {};\n var exports = $PS[\"Data.Ordering\"];\n var Data_Eq = $PS[\"Data.Eq\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n var eqOrdering = new Data_Eq.Eq(function (v) {\n return function (v1) {\n if (v instanceof LT && v1 instanceof LT) {\n return true;\n };\n if (v instanceof GT && v1 instanceof GT) {\n return true;\n };\n if (v instanceof EQ && v1 instanceof EQ) {\n return true;\n };\n return false;\n };\n });\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n exports[\"eqOrdering\"] = eqOrdering;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Ord\"] = $PS[\"Data.Ord\"] || {};\n var exports = $PS[\"Data.Ord\"];\n var $foreign = $PS[\"Data.Ord\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value));\n var compare = function (dict) {\n return dict.compare;\n };\n var comparing = function (dictOrd) {\n return function (f) {\n return function (x) {\n return function (y) {\n return compare(dictOrd)(f(x))(f(y));\n };\n };\n };\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"comparing\"] = comparing;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Foldable\"] = $PS[\"Data.Foldable\"] || {};\n var exports = $PS[\"Data.Foldable\"];\n var $foreign = $PS[\"Data.Foldable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)((function () {\n var $313 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($314) {\n return $313(f($314));\n };\n })())(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n };\n var intercalate = function (dictFoldable) {\n return function (dictMonoid) {\n return function (sep) {\n return function (xs) {\n var go = function (v) {\n return function (x) {\n if (v.init) {\n return {\n init: false,\n acc: x\n };\n };\n return {\n init: false,\n acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))\n };\n };\n };\n return (foldl(dictFoldable)(go)({\n init: true,\n acc: Data_Monoid.mempty(dictMonoid)\n })(xs)).acc;\n };\n };\n };\n };\n var maximumBy = function (dictFoldable) {\n return function (cmp) {\n var max$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $162 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value);\n if ($162) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 441, column 3 - line 441, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(max$prime)(Data_Maybe.Nothing.value);\n };\n };\n var maximum = function (dictOrd) {\n return function (dictFoldable) {\n return maximumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n };\n var minimumBy = function (dictFoldable) {\n return function (cmp) {\n var min$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $166 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value);\n if ($166) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 454, column 3 - line 454, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(min$prime)(Data_Maybe.Nothing.value);\n };\n };\n var minimum = function (dictOrd) {\n return function (dictFoldable) {\n return minimumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldableEither = new Foldable(function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v1 instanceof Data_Either.Right) {\n return v(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return z;\n };\n if (v1 instanceof Data_Either.Right) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return z;\n };\n if (v1 instanceof Data_Either.Right) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF()()()()(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"intercalate\"] = intercalate;\n exports[\"any\"] = any;\n exports[\"maximum\"] = maximum;\n exports[\"minimum\"] = minimum;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n exports[\"foldableEither\"] = foldableEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Tuple\"] = $PS[\"Data.Tuple\"] || {};\n var exports = $PS[\"Data.Tuple\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var uncurry = function (f) {\n return function (v) {\n return f(v.value0)(v.value1);\n };\n };\n var snd = function (v) {\n return v.value1;\n }; \n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"uncurry\"] = uncurry;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Unfoldable1\"] = $PS[\"Data.Unfoldable1\"] || {};\n var exports = $PS[\"Data.Unfoldable1\"];\n var $foreign = $PS[\"Data.Unfoldable1\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n }; \n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Unfoldable\"] = $PS[\"Data.Unfoldable\"] || {};\n var exports = $PS[\"Data.Unfoldable\"];\n var $foreign = $PS[\"Data.Unfoldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = $PS[\"Data.Unfoldable1\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n }; \n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Array\"] = $PS[\"Data.Array\"] || {};\n var exports = $PS[\"Data.Array\"];\n var $foreign = $PS[\"Data.Array\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array_ST = $PS[\"Data.Array.ST\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"]; \n var unsafeIndex = function (dictPartial) {\n return $foreign.unsafeIndexImpl;\n }; \n var toUnfoldable = function (dictUnfoldable) {\n return function (xs) {\n var len = $foreign.length(xs);\n var f = function (i) {\n if (i < len) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0));\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 158, column 3 - line 160, column 26): \" + [ i.constructor.name ]);\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0);\n };\n };\n var sortBy = function (comp) {\n return $foreign.sortByImpl(comp)(function (v) {\n if (v instanceof Data_Ordering.GT) {\n return 1;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 831, column 31 - line 834, column 11): \" + [ v.constructor.name ]);\n });\n };\n var snoc = function (xs) {\n return function (x) {\n return Data_Array_ST.withArray(Data_Array_ST.push(x))(xs)();\n };\n };\n var singleton = function (a) {\n return [ a ];\n };\n var $$null = function (xs) {\n return $foreign.length(xs) === 0;\n };\n var intercalate = function (dictMonoid) {\n return Data_Foldable.intercalate(Data_Foldable.foldableArray)(dictMonoid);\n };\n var foldMap = function (dictMonoid) {\n return Data_Foldable.foldMap(Data_Foldable.foldableArray)(dictMonoid);\n };\n var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var find = function (f) {\n return function (xs) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(unsafeIndex()(xs))(findIndex(f)(xs));\n };\n };\n var elemIndex = function (dictEq) {\n return function (x) {\n return findIndex(function (v) {\n return Data_Eq.eq(dictEq)(v)(x);\n });\n };\n };\n var notElem = function (dictEq) {\n return function (a) {\n return function (arr) {\n return Data_Maybe.isNothing(elemIndex(dictEq)(a)(arr));\n };\n };\n };\n var drop = function (n) {\n return function (xs) {\n var $89 = n < 1;\n if ($89) {\n return xs;\n };\n return $foreign.slice(n)($foreign.length(xs))(xs);\n };\n };\n var deleteAt = $foreign[\"_deleteAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2.length === 0) {\n return [ ];\n };\n return Data_Maybe.maybe(v2)(function (i) {\n return Data_Maybe.fromJust()(deleteAt(i)(v2));\n })(findIndex(v(v1))(v2));\n };\n };\n };\n var $$delete = function (dictEq) {\n return deleteBy(Data_Eq.eq(dictEq));\n };\n var cons = function (x) {\n return function (xs) {\n return Data_Semigroup.append(Data_Semigroup.semigroupArray)([ x ])(xs);\n };\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $109 = Data_Maybe.maybe([ ])(singleton);\n return function ($110) {\n return $109(f($110));\n };\n })());\n };\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"null\"] = $$null;\n exports[\"cons\"] = cons;\n exports[\"snoc\"] = snoc;\n exports[\"notElem\"] = notElem;\n exports[\"find\"] = find;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"foldMap\"] = foldMap;\n exports[\"intercalate\"] = intercalate;\n exports[\"sortBy\"] = sortBy;\n exports[\"drop\"] = drop;\n exports[\"delete\"] = $$delete;\n exports[\"deleteBy\"] = deleteBy;\n exports[\"length\"] = $foreign.length;\n exports[\"concat\"] = $foreign.concat;\n exports[\"filter\"] = $foreign.filter;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.FoldableWithIndex\"] = $PS[\"Data.FoldableWithIndex\"] || {};\n var exports = $PS[\"Data.FoldableWithIndex\"]; \n var FoldableWithIndex = function (Foldable0, foldMapWithIndex, foldlWithIndex, foldrWithIndex) {\n this.Foldable0 = Foldable0;\n this.foldMapWithIndex = foldMapWithIndex;\n this.foldlWithIndex = foldlWithIndex;\n this.foldrWithIndex = foldrWithIndex;\n };\n exports[\"FoldableWithIndex\"] = FoldableWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.runFn3 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return fn(a, b, c);\n };\n };\n };\n };\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Function.Uncurried\"] = $PS[\"Data.Function.Uncurried\"] || {};\n var exports = $PS[\"Data.Function.Uncurried\"];\n var $foreign = $PS[\"Data.Function.Uncurried\"];\n exports[\"runFn3\"] = $foreign.runFn3;\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.FunctorWithIndex\"] = $PS[\"Data.FunctorWithIndex\"] || {};\n var exports = $PS[\"Data.FunctorWithIndex\"]; \n var FunctorWithIndex = function (Functor0, mapWithIndex) {\n this.Functor0 = Functor0;\n this.mapWithIndex = mapWithIndex;\n };\n exports[\"FunctorWithIndex\"] = FunctorWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // jshint maxparams: 3\n\n exports.traverseArrayImpl = (function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n })();\n})(PS[\"Data.Traversable\"] = PS[\"Data.Traversable\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Traversable\"] = $PS[\"Data.Traversable\"] || {};\n var exports = $PS[\"Data.Traversable\"];\n var $foreign = $PS[\"Data.Traversable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Traversable = function (Foldable1, Functor0, sequence, traverse) {\n this.Foldable1 = Foldable1;\n this.Functor0 = Functor0;\n this.sequence = sequence;\n this.traverse = traverse;\n };\n var traverse = function (dict) {\n return dict.traverse;\n }; \n var sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var traversableArray = new Traversable(function () {\n return Data_Foldable.foldableArray;\n }, function () {\n return Data_Functor.functorArray;\n }, function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n }, function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n });\n exports[\"Traversable\"] = Traversable;\n exports[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.TraversableWithIndex\"] = $PS[\"Data.TraversableWithIndex\"] || {};\n var exports = $PS[\"Data.TraversableWithIndex\"]; \n var TraversableWithIndex = function (FoldableWithIndex1, FunctorWithIndex0, Traversable2, traverseWithIndex) {\n this.FoldableWithIndex1 = FoldableWithIndex1;\n this.FunctorWithIndex0 = FunctorWithIndex0;\n this.Traversable2 = Traversable2;\n this.traverseWithIndex = traverseWithIndex;\n };\n var traverseWithIndex = function (dict) {\n return dict.traverseWithIndex;\n };\n exports[\"TraversableWithIndex\"] = TraversableWithIndex;\n exports[\"traverseWithIndex\"] = traverseWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n\n exports.poke = function (k) {\n return function (v) {\n return function (m) {\n return function () {\n m[k] = v;\n return m;\n };\n };\n };\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Foreign.Object.ST\"] = $PS[\"Foreign.Object.ST\"] || {};\n var exports = $PS[\"Foreign.Object.ST\"];\n var $foreign = $PS[\"Foreign.Object.ST\"];\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"poke\"] = $foreign.poke;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = $PS[\"Data.FoldableWithIndex\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = $PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = $PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"]; \n var values = $foreign.toArrayWithKey(function (v) {\n return function (v1) {\n return v1;\n };\n });\n var toUnfoldable = function (dictUnfoldable) {\n var $36 = Data_Array.toUnfoldable(dictUnfoldable);\n var $37 = $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n return function ($38) {\n return $36($37($38));\n };\n }; \n var thawST = $foreign[\"_copyST\"];\n var mutate = function (f) {\n return function (m) {\n return $foreign.runST(function __do() {\n var s = thawST(m)();\n f(s)();\n return s;\n });\n };\n }; \n var mapWithKey = function (f) {\n return function (m) {\n return $foreign[\"_mapWithKey\"](m, f);\n };\n };\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var insert = function (k) {\n return function (v) {\n return mutate(Foreign_Object_ST.poke(k)(v));\n };\n };\n var functorObject = new Data_Functor.Functor(function (f) {\n return function (m) {\n return $foreign[\"_fmapObject\"](m, f);\n };\n });\n var functorWithIndexObject = new Data_FunctorWithIndex.FunctorWithIndex(function () {\n return functorObject;\n }, mapWithKey);\n var fold = $foreign[\"_foldM\"](Data_Function.applyFlipped);\n var foldMap = function (dictMonoid) {\n return function (f) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v));\n };\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n var foldableObject = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return foldMap(dictMonoid)(Data_Function[\"const\"](f));\n };\n }, function (f) {\n return fold(function (z) {\n return function (v) {\n return f(z);\n };\n });\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m));\n };\n };\n });\n var foldableWithIndexObject = new Data_FoldableWithIndex.FoldableWithIndex(function () {\n return foldableObject;\n }, function (dictMonoid) {\n return foldMap(dictMonoid);\n }, function (f) {\n return fold(Data_Function.flip(f));\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(Data_Tuple.uncurry(f))(z)($foreign.toArrayWithKey(Data_Tuple.Tuple.create)(m));\n };\n };\n });\n var traversableWithIndexObject = new Data_TraversableWithIndex.TraversableWithIndex(function () {\n return foldableWithIndexObject;\n }, function () {\n return functorWithIndexObject;\n }, function () {\n return traversableObject;\n }, function (dictApplicative) {\n return function (f) {\n return function (ms) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(insert(k)))(acc))(f(k)(v));\n };\n };\n })(Control_Applicative.pure(dictApplicative)($foreign.empty))(ms);\n };\n };\n });\n var traversableObject = new Data_Traversable.Traversable(function () {\n return foldableObject;\n }, function () {\n return functorObject;\n }, function (dictApplicative) {\n return Data_Traversable.traverse(traversableObject)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n }, function (dictApplicative) {\n var $43 = Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexObject)(dictApplicative);\n return function ($44) {\n return $43(Data_Function[\"const\"]($44));\n };\n });\n exports[\"lookup\"] = lookup;\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"values\"] = values;\n exports[\"traversableObject\"] = traversableObject;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Argonaut.Core\"] = $PS[\"Data.Argonaut.Core\"] || {};\n var exports = $PS[\"Data.Argonaut.Core\"];\n var $foreign = $PS[\"Data.Argonaut.Core\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var verbJsonType = function (def) {\n return function (f) {\n return function (g) {\n return g(def)(f);\n };\n };\n };\n var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n var caseJsonObject = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, j);\n };\n };\n }; \n var toObject = toJsonType(caseJsonObject);\n var caseJsonNumber = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n };\n exports[\"caseJsonNumber\"] = caseJsonNumber;\n exports[\"toObject\"] = toObject;\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Argonaut.Parser\"] = $PS[\"Data.Argonaut.Parser\"] || {};\n var exports = $PS[\"Data.Argonaut.Parser\"];\n var $foreign = $PS[\"Data.Argonaut.Parser\"];\n var Data_Either = $PS[\"Data.Either\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.toLower = function (s) {\n return s.toLowerCase();\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.String.Common\"] = $PS[\"Data.String.Common\"] || {};\n var exports = $PS[\"Data.String.Common\"];\n var $foreign = $PS[\"Data.String.Common\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"toLower\"] = $foreign.toLower;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // A helper which transforms the result ofencodeURIComponent to be compliant\n // with RFC3896, as described in the MDN documentation here:\n //\n // https://web.archive.org/web/20201206001047/https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\n function toRFC3896(input) {\n return input.replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n } \n\n exports._encodeFormURLComponent = function encode(fail, succeed, input) {\n try {\n return succeed(toRFC3896(encodeURIComponent(input)).replace(/%20/g, \"+\"));\n } catch (err) {\n return fail(err);\n }\n };\n\n function _decodeURIComponent(fail, succeed, input) {\n try {\n return succeed(decodeURIComponent(input));\n } catch (err) {\n return fail(err);\n }\n }\n\n exports._decodeURIComponent = _decodeURIComponent;\n})(PS[\"JSURI\"] = PS[\"JSURI\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"JSURI\"] = $PS[\"JSURI\"] || {};\n var exports = $PS[\"JSURI\"];\n var $foreign = $PS[\"JSURI\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var encodeFormURLComponent = Data_Function_Uncurried.runFn3($foreign[\"_encodeFormURLComponent\"])(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n var $$decodeURIComponent = Data_Function_Uncurried.runFn3($foreign[\"_decodeURIComponent\"])(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n exports[\"encodeFormURLComponent\"] = encodeFormURLComponent;\n exports[\"decodeURIComponent\"] = $$decodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.FormURLEncoded\"] = $PS[\"Data.FormURLEncoded\"] || {};\n var exports = $PS[\"Data.FormURLEncoded\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var JSURI = $PS[\"JSURI\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return JSURI.encodeFormURLComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(JSURI.encodeFormURLComponent(v.value0)))(JSURI.encodeFormURLComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 116): \" + [ v.constructor.name ]);\n };\n var $16 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $17 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($18) {\n return $16($17(toArray($18)));\n };\n })();\n exports[\"encode\"] = encode;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n\n exports.showNumberImpl = function (n) {\n var str = n.toString();\n return isNaN(str + \".0\") ? str : str + \".0\";\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Show\"] = $PS[\"Data.Show\"] || {};\n var exports = $PS[\"Data.Show\"];\n var $foreign = $PS[\"Data.Show\"];\n var Show = function (show) {\n this.show = show;\n }; \n var showNumber = new Show($foreign.showNumberImpl);\n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n exports[\"showNumber\"] = showNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.HTTP.Method\"] = $PS[\"Data.HTTP.Method\"] || {};\n var exports = $PS[\"Data.HTTP.Method\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Show = $PS[\"Data.Show\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 43, column 1 - line 59, column 23): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"GET\"] = GET;\n exports[\"POST\"] = POST;\n exports[\"DELETE\"] = DELETE;\n exports[\"print\"] = print;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Identity\"] = $PS[\"Data.Identity\"] || {};\n var exports = $PS[\"Data.Identity\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Identity = function (x) {\n return x;\n };\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Plus\"] = $PS[\"Control.Plus\"] || {};\n var exports = $PS[\"Control.Plus\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.NonEmpty\"] = $PS[\"Data.NonEmpty\"] || {};\n var exports = $PS[\"Data.NonEmpty\"];\n var Control_Plus = $PS[\"Control.Plus\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.List.Types\"] = $PS[\"Data.List.Types\"] || {};\n var exports = $PS[\"Data.List.Types\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Plus = $PS[\"Control.Plus\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var toList = function (v) {\n return new Cons(v.value0, v.value1);\n };\n var listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done1 = true;\n return acc;\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n };\n var functorList = new Data_Functor.Functor(listMap); \n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $205 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($206) {\n return $205(f($206));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 112, column 12 - line 114, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Nil) {\n $tco_done1 = true;\n return acc;\n };\n if (v instanceof Cons) {\n $tco_var_acc = new Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 108, column 7 - line 108, column 23): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Nil.value);\n })();\n var $207 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($208) {\n return $207(rev($208));\n };\n };\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n }); \n var semigroupNonEmptyList = new Data_Semigroup.Semigroup(function (v) {\n return function (as$prime) {\n return new Data_NonEmpty.NonEmpty(v.value0, Data_Semigroup.append(semigroupList)(v.value1)(toList(as$prime)));\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 158, column 1 - line 160, column 48): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"plusList\"] = plusList;\n exports[\"semigroupNonEmptyList\"] = semigroupNonEmptyList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.List.NonEmpty\"] = $PS[\"Data.List.NonEmpty\"] || {};\n var exports = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var singleton = (function () {\n var $172 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($173) {\n return Data_List_Types.NonEmptyList($172($173));\n };\n })();\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS);\n(function(exports) {\n /* eslint-disable no-eq-null, eqeqeq */\n\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Nullable\"] = $PS[\"Data.Nullable\"] || {};\n var exports = $PS[\"Data.Nullable\"];\n var $foreign = $PS[\"Data.Nullable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n exports[\"null\"] = $foreign[\"null\"];\n})(PS);\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* eslint-disable no-unused-vars, no-prototype-builtins, no-use-before-define, no-unused-labels, no-param-reassign */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n })();\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n if (count === 0) {\n return cb();\n }\n\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n try {\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n } catch (e) {\n status = RETURN;\n fail = util.left(e);\n step = null;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an unmasked interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an unmasked interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n bracketCount++;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect\"] = $PS[\"Effect\"] || {};\n var exports = $PS[\"Effect\"];\n var $foreign = $PS[\"Effect\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n var semigroupEffect = function (dictSemigroup) {\n return new Data_Semigroup.Semigroup(Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup)));\n };\n var monoidEffect = function (dictMonoid) {\n return new Data_Monoid.Monoid(function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }, $foreign.pureE(Data_Monoid.mempty(dictMonoid)));\n };\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports.modifyImpl = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect.Ref\"] = $PS[\"Effect.Ref\"] || {};\n var exports = $PS[\"Effect.Ref\"];\n var $foreign = $PS[\"Effect.Ref\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"]; \n var modify$prime = $foreign.modifyImpl;\n var modify = function (f) {\n return modify$prime(function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify'\"] = modify$prime;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Monad.Rec.Class\"] = $PS[\"Control.Monad.Rec.Class\"] || {};\n var exports = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 113, column 30 - line 113, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var r = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v = Effect_Ref.read(r)();\n if (v instanceof Loop) {\n var e = f(v.value0)();\n Effect_Ref.write(e)(r)();\n return false;\n };\n if (v instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 104, column 22 - line 109, column 28): \" + [ v.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(r))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Parallel.Class\"] = $PS[\"Control.Parallel.Class\"] || {};\n var exports = $PS[\"Control.Parallel.Class\"]; \n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Parallel\"] = $PS[\"Control.Parallel\"] || {};\n var exports = $PS[\"Control.Parallel\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parSequence_\"] = parSequence_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect.Class\"] = $PS[\"Effect.Class\"] || {};\n var exports = $PS[\"Effect.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect = $PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n };\n var monadEffectEffect = new MonadEffect(function () {\n return Effect.monadEffect;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n exports[\"monadEffectEffect\"] = monadEffectEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect.Unsafe\"] = $PS[\"Effect.Unsafe\"] || {};\n var exports = $PS[\"Effect.Unsafe\"];\n var $foreign = $PS[\"Effect.Unsafe\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports._unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports._crashWith = function (msg) {\n throw new Error(msg);\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"]; \n var crashWith = function (dictPartial) {\n return $foreign[\"_crashWith\"];\n };\n exports[\"crashWith\"] = crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Partial.Unsafe\"] = $PS[\"Partial.Unsafe\"] || {};\n var exports = $PS[\"Partial.Unsafe\"];\n var $foreign = $PS[\"Partial.Unsafe\"];\n var Partial = $PS[\"Partial\"]; \n var unsafePartial = $foreign[\"_unsafePartial\"];\n var unsafeCrashWith = function (msg) {\n return unsafePartial(function (dictPartial) {\n return Partial.crashWith()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect.Aff\"] = $PS[\"Effect.Aff\"] || {};\n var exports = $PS[\"Effect.Aff\"];\n var $foreign = $PS[\"Effect.Aff\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Unsafe = $PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = $PS[\"Partial.Unsafe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 404, column 21 - line 406, column 54): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 399, column 20 - line 401, column 54): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 394, column 12 - line 396, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var fiber = makeFiber(aff)();\n fiber.run();\n return fiber;\n };\n };\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = (function () {\n var $42 = Effect_Class.liftEffect(monadEffectAff);\n return function ($43) {\n return Canceler(Data_Function[\"const\"]($42($43)));\n };\n })();\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n }; \n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)((function () {\n var $46 = Effect_Class.liftEffect(monadEffectAff);\n return function ($47) {\n return $46(k($47));\n };\n })())(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, (function () {\n var $50 = Control_Parallel_Class.parallel(parallelAff);\n var $51 = Control_Applicative.pure(applicativeAff);\n return function ($52) {\n return $50($51($52));\n };\n })());\n var semigroupCanceler = new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (res) {\n if (res instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(res.value0);\n };\n if (res instanceof Control_Monad_Rec_Class.Loop) {\n return go(res.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 102, column 7 - line 104, column 22): \" + [ res.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n var monoidCanceler = new Data_Monoid.Monoid(function () {\n return semigroupCanceler;\n }, nonCanceler);\n exports[\"launchAff\"] = launchAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect.Aff.Compat\"] = $PS[\"Effect.Aff.Compat\"] || {};\n var exports = $PS[\"Effect.Aff.Compat\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.message = function (e) {\n return e.message;\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect.Exception\"] = $PS[\"Effect.Exception\"] || {};\n var exports = $PS[\"Effect.Exception\"];\n var $foreign = $PS[\"Effect.Exception\"];\n var $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"message\"] = $foreign.message;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.fromNumberImpl = function (just) {\n return function (nothing) {\n return function (n) {\n /* jshint bitwise: false */\n return (n | 0) === n ? just(n) : nothing;\n };\n };\n };\n\n exports.toNumber = function (n) {\n return n;\n };\n})(PS[\"Data.Int\"] = PS[\"Data.Int\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Int\"] = $PS[\"Data.Int\"] || {};\n var exports = $PS[\"Data.Int\"];\n var $foreign = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n exports[\"fromNumber\"] = fromNumber;\n exports[\"toNumber\"] = $foreign.toNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Foreign\"] = $PS[\"Foreign\"] || {};\n var exports = $PS[\"Foreign\"];\n var $foreign = $PS[\"Foreign\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var unsafeToForeign = Unsafe_Coerce.unsafeCoerce;\n var unsafeFromForeign = Unsafe_Coerce.unsafeCoerce;\n var fail = function (dictMonad) {\n var $118 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(dictMonad));\n return function ($119) {\n return $118(Data_List_NonEmpty.singleton($119));\n };\n };\n var unsafeReadTagged = function (dictMonad) {\n return function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(dictMonad)(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 110, column 1 - line 110, column 71): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n };\n var readBoolean = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"Boolean\");\n };\n var readNumber = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"Number\");\n };\n var readInt = function (dictMonad) {\n return function (value) {\n var error = Data_Either.Left.create(Data_List_NonEmpty.singleton(new TypeMismatch(\"Int\", $foreign.tagOf(value))));\n var fromNumber = (function () {\n var $120 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($121) {\n return $120(Data_Int.fromNumber($121));\n };\n })();\n return Control_Monad_Except_Trans.mapExceptT(Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.either(Data_Function[\"const\"](error))(fromNumber)))(readNumber(dictMonad)(value));\n };\n };\n var readString = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"String\");\n };\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeToForeign\"] = unsafeToForeign;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"readInt\"] = readInt;\n exports[\"fail\"] = fail;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Affjax\"] = $PS[\"Affjax\"] || {};\n var exports = $PS[\"Affjax\"];\n var $foreign = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = $PS[\"Affjax.ResponseHeader\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = $PS[\"Data.Argonaut.Parser\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = $PS[\"Data.FormURLEncoded\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = $PS[\"Effect.Aff.Compat\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Foreign = $PS[\"Foreign\"]; \n var RequestContentError = (function () {\n function RequestContentError(value0) {\n this.value0 = value0;\n };\n RequestContentError.create = function (value0) {\n return new RequestContentError(value0);\n };\n return RequestContentError;\n })();\n var ResponseBodyError = (function () {\n function ResponseBodyError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseBodyError.create = function (value0) {\n return function (value1) {\n return new ResponseBodyError(value0, value1);\n };\n };\n return ResponseBodyError;\n })();\n var TimeoutError = (function () {\n function TimeoutError() {\n\n };\n TimeoutError.value = new TimeoutError();\n return TimeoutError;\n })();\n var RequestFailedError = (function () {\n function RequestFailedError() {\n\n };\n RequestFailedError.value = new RequestFailedError();\n return RequestFailedError;\n })();\n var XHROtherError = (function () {\n function XHROtherError(value0) {\n this.value0 = value0;\n };\n XHROtherError.create = function (value0) {\n return new XHROtherError(value0);\n };\n return XHROtherError;\n })();\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either((function () {\n var $51 = Foreign.fail(Data_Identity.monadIdentity);\n return function ($52) {\n return $51(Foreign.ForeignError.create($52));\n };\n })())(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return function (x) {\n return Control_Alt.alt(Control_Monad_Except_Trans.altExceptT(Data_List_Types.semigroupNonEmptyList)(Data_Identity.monadIdentity))(Control_Alt.alt(Control_Monad_Except_Trans.altExceptT(Data_List_Types.semigroupNonEmptyList)(Data_Identity.monadIdentity))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"Document\")(x))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"XMLDocument\")(x)))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"HTMLDocument\")(x));\n };\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($53) {\n return req.responseFormat.value0(parseJSON($53));\n })(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 257, column 18 - line 265, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return Data_Either.Right.create(v.value0(Foreign.unsafeToForeign));\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Data_Either.note(\"Body contains values that cannot be encoded as application/x-www-form-urlencoded\")(Data_Functor.map(Data_Maybe.functorMaybe)(Foreign.unsafeToForeign)(Data_FormURLEncoded.encode(v.value0)));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 217, column 20 - line 232, column 69): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var ajaxRequest = function (v) {\n return {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: v,\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials,\n timeout: Data_Maybe.fromMaybe(0.0)(Data_Functor.map(Data_Maybe.functorMaybe)(function (v1) {\n return v1;\n })(req.timeout))\n };\n };\n var send = function (content) {\n return Data_Functor.mapFlipped(Effect_Aff.functorAff)(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](\"AffjaxTimeoutErrorMessageIdent\", \"AffjaxRequestFailedMessageIdent\", Affjax_ResponseHeader.ResponseHeader.create, ajaxRequest(content)))))(function (v) {\n if (v instanceof Data_Either.Right) {\n var v1 = Control_Monad_Except.runExcept(fromResponse(v.value0.body));\n if (v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(new ResponseBodyError(Data_List_NonEmpty.head(v1.value0), v.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return new Data_Either.Right({\n body: v1.value0,\n headers: v.value0.headers,\n status: v.value0.status,\n statusText: v.value0.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 193, column 9 - line 195, column 52): \" + [ v1.constructor.name ]);\n };\n if (v instanceof Data_Either.Left) {\n var message = Effect_Exception.message(v.value0);\n return Data_Either.Left.create((function () {\n var $38 = message === \"AffjaxTimeoutErrorMessageIdent\";\n if ($38) {\n return TimeoutError.value;\n };\n var $39 = message === \"AffjaxRequestFailedMessageIdent\";\n if ($39) {\n return RequestFailedError.value;\n };\n return new XHROtherError(v.value0);\n })());\n };\n throw new Error(\"Failed pattern match at Affjax (line 191, column 137 - line 201, column 33): \" + [ v.constructor.name ]);\n });\n };\n if (req.content instanceof Data_Maybe.Nothing) {\n return send(Data_Nullable.toNullable(Data_Maybe.Nothing.value));\n };\n if (req.content instanceof Data_Maybe.Just) {\n var v = extractContent(req.content.value0);\n if (v instanceof Data_Either.Right) {\n return send(Data_Nullable.toNullable(new Data_Maybe.Just(v.value0)));\n };\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(new Data_Either.Left(new RequestContentError(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 183, column 7 - line 187, column 48): \" + [ v.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Affjax (line 179, column 3 - line 187, column 48): \" + [ req.content.constructor.name ]);\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore,\n timeout: Data_Maybe.Nothing.value\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Affjax.StatusCode\"] = $PS[\"Affjax.StatusCode\"] || {};\n var exports = $PS[\"Affjax.StatusCode\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var eqStatusCode = new Data_Eq.Eq(function (x) {\n return function (y) {\n return x === y;\n };\n });\n exports[\"eqStatusCode\"] = eqStatusCode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Error\"] = $PS[\"Data.Argonaut.Decode.Error\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Error\"]; \n var TypeMismatch = (function () {\n function TypeMismatch(value0) {\n this.value0 = value0;\n };\n TypeMismatch.create = function (value0) {\n return new TypeMismatch(value0);\n };\n return TypeMismatch;\n })();\n var Named = (function () {\n function Named(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Named.create = function (value0) {\n return function (value1) {\n return new Named(value0, value1);\n };\n };\n return Named;\n })();\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"Named\"] = Named;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Bifunctor\"] = $PS[\"Data.Bifunctor\"] || {};\n var exports = $PS[\"Data.Bifunctor\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var lmap = function (dictBifunctor) {\n return function (f) {\n return bimap(dictBifunctor)(f)(Control_Category.identity(Control_Category.categoryFn));\n };\n }; \n var bifunctorEither = new Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Data_Either.Left) {\n return new Data_Either.Left(v(v2.value0));\n };\n if (v2 instanceof Data_Either.Right) {\n return new Data_Either.Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Bifunctor (line 32, column 1 - line 34, column 36): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"lmap\"] = lmap;\n exports[\"bifunctorEither\"] = bifunctorEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Decoders\"] = $PS[\"Data.Argonaut.Decode.Decoders\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Decoders\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Decode_Error = $PS[\"Data.Argonaut.Decode.Error\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var decodeNumber = Data_Argonaut_Core.caseJsonNumber(Data_Either.Left.create(new Data_Argonaut_Decode_Error.TypeMismatch(\"Number\")))(Data_Either.Right.create);\n var decodeJObject = (function () {\n var $20 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"Object\"));\n return function ($21) {\n return $20(Data_Argonaut_Core.toObject($21));\n };\n })();\n var decodeInt = Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $54 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"Integer\"));\n return function ($55) {\n return $54(Data_Int.fromNumber($55));\n };\n })())(decodeNumber);\n var decodeForeignObject = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $56 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"ForeignObject\"));\n var $57 = Data_Traversable.traverse(Foreign_Object.traversableObject)(Data_Either.applicativeEither)(decoder);\n return function ($58) {\n return $56($57($58));\n };\n })())(decodeJObject);\n };\n exports[\"decodeInt\"] = decodeInt;\n exports[\"decodeForeignObject\"] = decodeForeignObject;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Class\"] = $PS[\"Data.Argonaut.Decode.Class\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Class\"];\n var Data_Argonaut_Decode_Decoders = $PS[\"Data.Argonaut.Decode.Decoders\"];\n var DecodeJson = function (decodeJson) {\n this.decodeJson = decodeJson;\n }; \n var decodeJsonInt = new DecodeJson(Data_Argonaut_Decode_Decoders.decodeInt); \n var decodeJson = function (dict) {\n return dict.decodeJson;\n };\n var decodeForeignObject = function (dictDecodeJson) {\n return new DecodeJson(Data_Argonaut_Decode_Decoders.decodeForeignObject(decodeJson(dictDecodeJson)));\n };\n exports[\"decodeJson\"] = decodeJson;\n exports[\"decodeJsonInt\"] = decodeJsonInt;\n exports[\"decodeForeignObject\"] = decodeForeignObject;\n})(PS);\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n\n exports._setFocus = function(elemId) {\n document.getElementById(elemId).focus();\n };\n\n\n exports._toLocaleDateString = function(dateString) {\n return new Date(dateString).toLocaleDateString(undefined, {dateStyle: 'medium'}) \n }\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Globals\"] = $PS[\"Globals\"] || {};\n var exports = $PS[\"Globals\"];\n var $foreign = $PS[\"Globals\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var RawHTML = function (x) {\n return x;\n };\n var toLocaleDateString = function (s) {\n return $foreign[\"_toLocaleDateString\"](s);\n };\n var setFocus = function (s) {\n return function () {\n return $foreign[\"_setFocus\"](s);\n };\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return function () {\n return $foreign[\"_closeWindow\"](win);\n };\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n exports[\"setFocus\"] = setFocus;\n exports[\"toLocaleDateString\"] = toLocaleDateString;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Symbol\"] = $PS[\"Data.Symbol\"] || {};\n var exports = $PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS);\n(function(exports) {\n \n\n exports._unsafeStringify = JSON.stringify;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Record.Unsafe\"] = $PS[\"Record.Unsafe\"] || {};\n var exports = $PS[\"Record.Unsafe\"];\n var $foreign = $PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Record\"] = $PS[\"Record\"] || {};\n var exports = $PS[\"Record\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Record_Unsafe = $PS[\"Record.Unsafe\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Record.Builder\"] = $PS[\"Record.Builder\"] || {};\n var exports = $PS[\"Record.Builder\"];\n var $foreign = $PS[\"Record.Builder\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Type.Proxy\"] = $PS[\"Type.Proxy\"] || {};\n var exports = $PS[\"Type.Proxy\"];\n var $$Proxy = (function () {\n function $$Proxy() {\n\n };\n $$Proxy.value = new $$Proxy();\n return $$Proxy;\n })();\n exports[\"Proxy\"] = $$Proxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $PS[\"Simple.JSON\"];\n var $foreign = $PS[\"Simple.JSON\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Proxy = $PS[\"Type.Proxy\"];\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n var $87 = writeImpl(dictWriteForeign);\n return function ($88) {\n return $foreign[\"_unsafeStringify\"]($87($88));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign((function () {\n var $91 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($92) {\n return $91(Data_Nullable.toMaybe($92));\n };\n })());\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignForeign = new WriteForeign(Control_Category.identity(Control_Category.categoryFn));\n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Proxy[\"Proxy\"].value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Proxy[\"Proxy\"].value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)()(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"writeForeignForeign\"] = writeForeignForeign;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Simple_JSON = $PS[\"Simple.JSON\"]; \n var TagCloudModeTop = (function () {\n function TagCloudModeTop(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeTop.create = function (value0) {\n return function (value1) {\n return new TagCloudModeTop(value0, value1);\n };\n };\n return TagCloudModeTop;\n })();\n var TagCloudModeLowerBound = (function () {\n function TagCloudModeLowerBound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeLowerBound.create = function (value0) {\n return function (value1) {\n return new TagCloudModeLowerBound(value0, value1);\n };\n };\n return TagCloudModeLowerBound;\n })();\n var TagCloudModeRelated = (function () {\n function TagCloudModeRelated(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeRelated.create = function (value0) {\n return function (value1) {\n return new TagCloudModeRelated(value0, value1);\n };\n };\n return TagCloudModeRelated;\n })();\n var TagCloudModeNone = (function () {\n function TagCloudModeNone() {\n\n };\n TagCloudModeNone.value = new TagCloudModeNone();\n return TagCloudModeNone;\n })();\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var tagcloudmode_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"expanded\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"mode\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"value\";\n }))(Simple_JSON.writeForeignForeign)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var tagCloudModeToF = function (tagCloudMode) {\n return Data_Maybe.fromMaybe(TagCloudModeNone.value)(Data_Either.hush(Control_Monad_Except.runExcept((function () {\n if (tagCloudMode.mode === \"top\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeTop.create(tagCloudMode.expanded))(Foreign.readInt(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"lowerBound\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeLowerBound.create(tagCloudMode.expanded))(Foreign.readInt(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"related\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(function (s) {\n return new TagCloudModeRelated(tagCloudMode.expanded, Data_String_Common.split(\" \")(s));\n })(Foreign.readString(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(TagCloudModeNone.value);\n })())));\n };\n var tagCloudModeFromF = function (v) {\n if (v instanceof TagCloudModeTop) {\n return {\n mode: \"top\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeLowerBound) {\n return {\n mode: \"lowerBound\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeRelated) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(Data_Array.intercalate(Data_Monoid.monoidString)(\" \")(v.value1)),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeNone) {\n return {\n mode: \"none\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 92, column 1 - line 92, column 51): \" + [ v.constructor.name ]);\n };\n var setExpanded = function (v) {\n return function (v1) {\n if (v instanceof TagCloudModeTop) {\n return new TagCloudModeTop(v1, v.value1);\n };\n if (v instanceof TagCloudModeLowerBound) {\n return new TagCloudModeLowerBound(v1, v.value1);\n };\n if (v instanceof TagCloudModeRelated) {\n return new TagCloudModeRelated(v1, v.value1);\n };\n if (v instanceof TagCloudModeNone) {\n return TagCloudModeNone.value;\n };\n throw new Error(\"Failed pattern match at Model (line 112, column 1 - line 112, column 57): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"shared\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());\n var isRelated = function (v) {\n if (v instanceof TagCloudModeRelated) {\n return true;\n };\n return false;\n };\n var isExpanded = function (v) {\n if (v instanceof TagCloudModeTop) {\n return v.value0;\n };\n if (v instanceof TagCloudModeLowerBound) {\n return v.value0;\n };\n if (v instanceof TagCloudModeRelated) {\n return v.value0;\n };\n if (v instanceof TagCloudModeNone) {\n return false;\n };\n throw new Error(\"Failed pattern match at Model (line 102, column 1 - line 102, column 39): \" + [ v.constructor.name ]);\n };\n var eqTagCloudModeF = new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof TagCloudModeTop && y instanceof TagCloudModeTop) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeLowerBound && y instanceof TagCloudModeLowerBound) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeRelated && y instanceof TagCloudModeRelated) {\n return x.value0 === y.value0 && Data_Eq.eq(Data_Eq.eqArray(Data_Eq.eqString))(x.value1)(y.value1);\n };\n if (x instanceof TagCloudModeNone && y instanceof TagCloudModeNone) {\n return true;\n };\n return false;\n };\n });\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"TagCloudModeTop\"] = TagCloudModeTop;\n exports[\"TagCloudModeLowerBound\"] = TagCloudModeLowerBound;\n exports[\"TagCloudModeRelated\"] = TagCloudModeRelated;\n exports[\"TagCloudModeNone\"] = TagCloudModeNone;\n exports[\"tagCloudModeToF\"] = tagCloudModeToF;\n exports[\"tagCloudModeFromF\"] = tagCloudModeFromF;\n exports[\"isExpanded\"] = isExpanded;\n exports[\"isRelated\"] = isRelated;\n exports[\"setExpanded\"] = setExpanded;\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n exports[\"tagcloudmode_wfI\"] = tagcloudmode_wfI;\n exports[\"eqTagCloudModeF\"] = eqTagCloudModeF;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.HTML\"] = $PS[\"Web.HTML\"] || {};\n var exports = $PS[\"Web.HTML\"];\n var $foreign = $PS[\"Web.HTML\"];\n exports[\"window\"] = $foreign.window;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.HTML.Location\"] = $PS[\"Web.HTML.Location\"] || {};\n var exports = $PS[\"Web.HTML.Location\"];\n var $foreign = $PS[\"Web.HTML.Location\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.HTML.Window\"] = $PS[\"Web.HTML.Window\"] || {};\n var exports = $PS[\"Web.HTML.Window\"];\n var $foreign = $PS[\"Web.HTML.Window\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"App\"] = $PS[\"App\"] || {};\n var exports = $PS[\"App\"];\n var Affjax = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_StatusCode = $PS[\"Affjax.StatusCode\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Decode_Class = $PS[\"Data.Argonaut.Decode.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Model = $PS[\"Model\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 29, column 1 - line 31, column 25): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt,\n timeout: Affjax.defaultRequest.timeout\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n 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)(Affjax_ResponseFormat.ignore)))(function () {\n 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));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)((function () {\n var $5 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($6) {\n return Affjax_RequestBody.string($5($6));\n };\n })())(content))(rt);\n };\n };\n };\n };\n };\n var getTagCloud = function (mode) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloud\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.json))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n return Data_Either.hush(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeForeignObject(Data_Argonaut_Decode_Class.decodeJsonInt))(res.body));\n }));\n });\n };\n var lookupTitle = function (bm) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/lookuptitle\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n var $4 = Data_Eq.eq(Affjax_StatusCode.eqStatusCode)(res.status)(200);\n if ($4) {\n return new Data_Maybe.Just(res.body);\n };\n return Data_Maybe.Nothing.value;\n }));\n });\n };\n var updateTagCloudMode = function (mode) {\n return fetchJson(Model.tagcloudmode_wfI)(Data_HTTP_Method.POST.value)(\"api/tagcloudmode\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.ignore);\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"lookupTitle\"] = lookupTitle;\n exports[\"getTagCloud\"] = getTagCloud;\n exports[\"updateTagCloudMode\"] = updateTagCloudMode;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.InputType\"] = $PS[\"DOM.HTML.Indexed.InputType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.InputType\"];\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 22): \" + [ v.constructor.name ]);\n };\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputText\"] = InputText;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"renderInputType\"] = renderInputType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Monad.State.Class\"] = $PS[\"Control.Monad.State.Class\"] || {};\n var exports = $PS[\"Control.Monad.State.Class\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap()(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($24) {\n return v1(f($24));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($25) {\n return v(Data_Tuple.fst($25));\n };\n }, function (v) {\n return function ($26) {\n return v(Data_Tuple.snd($26));\n };\n });\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($84) {\n return f(v1.value0($84));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n 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)));\n };\n if (v instanceof Three) {\n 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)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 626, column 1 - line 626, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 211, column 5 - line 211, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n }; \n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 432, column 3 - line 437, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 429, column 1 - line 429, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 468, column 5 - line 473, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 465, column 3 - line 465, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done1 = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 448, column 3 - line 448, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = 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);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = 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);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 525, column 9 - line 542, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 522, column 5 - line 542, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done1 = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done1 = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 554, column 5 - line 558, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done2 = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done2 = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done2 = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 545, column 33 - line 549, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done2) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done3 = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done3 = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done3 = true;\n 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)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done3 = true;\n 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)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done3 = true;\n 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)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 495, column 34 - line 518, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done3) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n };\n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 563, column 15 - line 565, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"alter\"] = alter;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 372, column 3 - line 372, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done1 = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $45 = Data_CatQueue[\"null\"](v.value1);\n if ($45) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $119 = Control_Applicative.pure(freeApplicative);\n return function ($120) {\n return $119(k($120));\n };\n })())(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($121) {\n return fromView(Return.create($121));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $122 = Control_Applicative.pure(freeApplicative);\n return function ($123) {\n return $122($123);\n };\n })()));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($135) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($135));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($136) {\n return HalogenM(Control_Monad_Free.liftF(State.create($136)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $141 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($142) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($141($142))));\n };\n })());\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, (function () {\n var $143 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($144) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($143($144))));\n };\n })());\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $25 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($26) {\n return $25(args.handleQuery($26));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 182, column 15 - line 192, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: input,\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.hasAttribute = function (ns, attr, el) {\n if (ns != null) {\n return el.hasAttributeNS(ns, attr);\n } else {\n return el.hasAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"hasAttribute\"] = $foreign.hasAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = $PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Halogen_VDom_Util.hasAttribute(Data_Nullable[\"null\"], key, el);\n if (v) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable[\"null\"], key, el);\n };\n var v1 = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v1 === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $57 = v11.value2 === v2.value2;\n if ($57) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $66 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($66) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($55) {\n return f($55);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($57) {\n return f(v.value0($57));\n }, function ($58) {\n return g(v.value1($58));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"]; \n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var HTML = function (x) {\n return x;\n };\n var widget = function ($18) {\n return HTML(Halogen_VDom_Types.Widget.create($18));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($19) {\n return HTML(Halogen_VDom_Types.Text.create($19));\n };\n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($20) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 103, column 21 - line 105, column 23): \" + [ v.constructor.name ]);\n })($20));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $21 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $22 = toPropValue(dictIsProp);\n return function ($23) {\n return $21($22($23));\n };\n };\n }; \n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($31) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($31));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($37) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($37));\n });\n var isPropButtonType = new IsProp(function ($42) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($42));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"widget\"] = widget;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"a\"] = a;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Foreign = $PS[\"Foreign\"];\n var unsafeReadProp = function (dictMonad) {\n return function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(dictMonad)(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad)), k, value);\n };\n };\n };\n var readProp = function (dictMonad) {\n return unsafeReadProp(dictMonad);\n };\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($5) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($5));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Index = $PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler$prime = function (et) {\n return function (f) {\n return Halogen_HTML_Core.handler(et)(function (ev) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create)(f(ev));\n });\n };\n };\n var handler = function (et) {\n return function (f) {\n return Halogen_HTML_Core.handler(et)(function (ev) {\n return new Data_Maybe.Just(new Halogen_Query_Input.Action(f(ev)));\n });\n };\n }; \n var onClick = (function () {\n var $1 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($2) {\n return $1(mouseHandler($2));\n };\n })(); \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(Data_Identity.monadIdentity)(prop))(Foreign.unsafeToForeign(a));\n };\n return handler$prime(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(function ($71) {\n return Data_Maybe.Just.create(f($71));\n })(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean(Data_Identity.monadIdentity)); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString(Data_Identity.monadIdentity));\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($9) {\n return Halogen_HTML_Core.ref(go($9));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var id_ = function (dictWarn) {\n return id;\n };\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\"); \n var disabled = prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\n var class_ = (function () {\n var $16 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $17 = Data_Newtype.unwrap();\n return function ($18) {\n return $16($17($18));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $19 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($20) {\n return $19((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($20));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"disabled\"] = disabled;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $51 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($51) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\n var Data_String_Unsafe = $PS[\"Data.String.Unsafe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = (function () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\n })();\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.HTML.Common\"] = $PS[\"Web.HTML.Common\"] || {};\n var exports = $PS[\"Web.HTML.Common\"];\n var ClassName = function (x) {\n return x;\n };\n exports[\"ClassName\"] = ClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var JSURI = $PS[\"JSURI\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Common = $PS[\"Web.HTML.Common\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var unsafeDecode = function (str) {\n return Data_Maybe.fromJust()(JSURI[\"decodeURIComponent\"](str));\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var ifElseA = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $45 = Data_Maybe.fromMaybe(\"\");\n return function ($46) {\n return $45(Data_Nullable.toMaybe($46));\n };\n })();\n var class_ = function ($47) {\n return Halogen_HTML_Properties.class_(Web_HTML_Common.ClassName($47));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $48 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($49) {\n return unsafeDecode($48($49));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $44 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($44) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Array.find(function ($52) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($52));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"ifElseA\"] = ifElseA;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($19) {\n return UEditField.create(f($19));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_()(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_()(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_()(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $63 = Data_Array.drop(1);\n var $64 = Data_Array.foldMap(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $65 = Data_String_Common.split(\"\\x0a\");\n return function ($66) {\n return $63($64($65($66)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($67) {\n return BEditField.create(f($67));\n };\n };\n var display_exists = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new BDeleteAsk(true);\n }), 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 red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new BDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(BEditSubmit.create) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_([ Util.whenH(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.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_()(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), 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([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_()(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BLookupTitle.value;\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]) ]), 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_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_()(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), 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.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_()(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), 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.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_()(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), 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.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_()(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.loading = true;\n return $41;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.loading = false;\n return $46;\n });\n });\n });\n });\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (bid) {\n 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(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.destroyed = true;\n return $49;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n 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(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (win) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var v1 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v1 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v1.value0)(loc));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(win));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $13 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($14) {\n return $13(Halogen_Query_HalogenM.getRef($14));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\n var $foreign = $PS[\"Component.RawHtml\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = $PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $10 = {};\n for (var $11 in v1) {\n if ({}.hasOwnProperty.call(v1, $11)) {\n $10[$11] = v1[$11];\n };\n };\n $10.inputval = v.value0;\n return $10;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($14) {\n return Data_Maybe.Just.create(Receive.create($14));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(function ($6) {\n return Data_Maybe.Just.create(outputQuery($6));\n })));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Type_Proxy = $PS[\"Type.Proxy\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Type_Proxy[\"Proxy\"].value;\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var tagid = function (bm) {\n return Data_Show.show(Data_Show.showInt)(bm.bid) + \"_tags\";\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n 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(bm.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $47 = {};\n for (var $48 in v1) {\n if ({}.hasOwnProperty.call(v1, $48)) {\n $47[$48] = v1[$48];\n };\n };\n $47.deleteAsk = v.value0;\n return $47;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n 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(bm.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n 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(bm.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: false,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(bm))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Applicative.when(Effect.applicativeEffect)(v.value0)(Globals.setFocus(tagid(bm))));\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 237, column 17 - line 243, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $60 = {};\n for (var $61 in v1) {\n if ({}.hasOwnProperty.call(v1, $61)) {\n $60[$61] = v1[$61];\n };\n };\n $60.loading = true;\n return $60;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $65 = {};\n for (var $66 in v1) {\n if ({}.hasOwnProperty.call(v1, $66)) {\n $65[$66] = v1[$66];\n };\n };\n $65.loading = false;\n return $65;\n });\n });\n });\n });\n });\n };\n if (v instanceof BEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n var edit_bm$prime = {\n tags: Data_String_Common.replaceAll(\",\")(\" \")(edit_bm.tags),\n archiveUrl: edit_bm.archiveUrl,\n bid: edit_bm.bid,\n description: edit_bm.description,\n \"private\": edit_bm[\"private\"],\n selected: edit_bm.selected,\n slug: edit_bm.slug,\n time: edit_bm.time,\n title: edit_bm.title,\n toread: edit_bm.toread,\n url: edit_bm.url\n };\n 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(edit_bm$prime))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm$prime))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v2) {\n return new BStar(!v.bm.selected);\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shdatetime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var shdate = Globals.toLocaleDateString(v.bm.time);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($74) {\n return BEditField.create(f($74));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(BEditSubmit.create) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 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(editField(Eurl.create)) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BLookupTitle.value;\n }), Util.class_(\"ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 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(editField(Edescription.create)) ]), Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_()(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.id_()(tagid(v.edit_bm)), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 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(editField(Etags.create)) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_()(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_()(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]) ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new BEdit(false);\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $70 = Data_String_Common[\"null\"](v.bm.title);\n if ($70) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $71 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($71) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)), Halogen_HTML_Properties.title(shdatetime) ])([ Halogen_HTML_Core.text(shdate) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BEdit(true);\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BDeleteAsk(true);\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return BDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v3) {\n return BMarkRead.value;\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_()(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Type_Proxy = $PS[\"Type.Proxy\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Type_Proxy[\"Proxy\"].value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(HandleBMessage.create(b.bid));\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Array.foldMap(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (note) {\n return Globals.mmoment8601(note.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_()(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Type_Proxy = $PS[\"Type.Proxy\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Type_Proxy[\"Proxy\"].value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var notetextid = function (note) {\n return Data_Show.show(Data_Show.showInt)(note.id) + \"_text\";\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 179, column 19 - line 183, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $38 = {};\n for (var $39 in v1) {\n if ({}.hasOwnProperty.call(v1, $39)) {\n $38[$39] = v1[$39];\n };\n };\n $38.deleteAsk = v.value0;\n return $38;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n 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.destroyNote(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $42 = {};\n for (var $43 in v1) {\n if ({}.hasOwnProperty.call(v1, $43)) {\n $42[$43] = v1[$43];\n };\n };\n $42.destroyed = true;\n return $42;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(note))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Monad.whenM(Effect.monadEffect)(Control_Applicative.pure(Effect.applicativeEffect)(v.value0))(Globals.setFocus(notetextid(note))));\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (edit_note) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (res$prime) {\n return Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableEither)(res$prime)(function (v1) {\n var $46 = edit_note.id === 0;\n if ($46) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): \" + [ v.constructor.name ]);\n };\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Array.foldMap(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_()(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $49 = Data_String_Common[\"null\"](v.note.title);\n if ($49) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\") ])([ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]), Halogen_HTML_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NEdit(true);\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NDeleteAsk(true);\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return NDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($54) {\n return NEditField.create(f($54));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(NEditSubmit.create) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.edit_note.title)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Halogen_HTML_Properties.id_()(notetextid(v.edit_note)), Util.class_(\"description w-100 mb1 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(25), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_()(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_()(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new NEdit(false);\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function(exports) {\n \"use strict\"; \n\n function nativeImul(a) {\n return function (b) {\n return Math.imul(a, b);\n };\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\n function emulatedImul(a) {\n /*jshint bitwise: false*/\n return function (b) {\n var ah = a >>> 16 & 0xffff;\n var al = a & 0xffff;\n var bh = b >>> 16 & 0xffff;\n var bl = b & 0xffff;\n // the shift by 0 fixes the sign on the high part\n // the final |0 converts the unsigned value into a signed value\n return al * bl + (ah * bl + al * bh << 16 >>> 0) | 0;\n };\n } \n\n exports.log = Math.log;\n})(PS[\"Math\"] = PS[\"Math\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Math\"] = $PS[\"Math\"] || {};\n var exports = $PS[\"Math\"];\n var $foreign = $PS[\"Math\"];\n exports[\"log\"] = $foreign.log;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Component.TagCloud\"] = $PS[\"Component.TagCloud\"] || {};\n var exports = $PS[\"Component.TagCloud\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var $$Math = $PS[\"Math\"];\n var Model = $PS[\"Model\"];\n var Util = $PS[\"Util\"]; \n var TInitialize = (function () {\n function TInitialize() {\n\n };\n TInitialize.value = new TInitialize();\n return TInitialize;\n })();\n var TExpanded = (function () {\n function TExpanded(value0) {\n this.value0 = value0;\n };\n TExpanded.create = function (value0) {\n return new TExpanded(value0);\n };\n return TExpanded;\n })();\n var TChangeMode = (function () {\n function TChangeMode(value0) {\n this.value0 = value0;\n };\n TChangeMode.create = function (value0) {\n return new TChangeMode(value0);\n };\n return TChangeMode;\n })();\n var tagcloudcomponent = function (m$prime) {\n var rescale = function (f) {\n return function (v) {\n return function (n) {\n return function (m) {\n return function (l) {\n return function (h) {\n return (function () {\n var $25 = m - n < 1.0e-2;\n if ($25) {\n return 1.0;\n };\n return f(v - n) / f(m - n);\n })() * (h - l) + l;\n };\n };\n };\n };\n };\n };\n var mkState = function (m) {\n return {\n mode: m,\n tagcloud: Foreign_Object.empty\n };\n };\n var fetchTagCloud = function (mode$prime) {\n if (mode$prime instanceof Model.TagCloudModeNone) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.getTagCloud(Model.tagCloudModeFromF(mode$prime))))(function (tagcloud) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $27 = {};\n for (var $28 in s) {\n if ({}.hasOwnProperty.call(s, $28)) {\n $27[$28] = s[$28];\n };\n };\n $27.mode = mode$prime;\n $27.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $27;\n });\n });\n };\n var handleAction = function (v) {\n if (v instanceof TInitialize) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return fetchTagCloud(mode);\n });\n };\n if (v instanceof TExpanded) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $31 = {};\n for (var $32 in s) {\n if ({}.hasOwnProperty.call(s, $32)) {\n $31[$32] = s[$32];\n };\n };\n $31.mode = Model.setExpanded(s.mode)(v.value0);\n return $31;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.updateTagCloudMode(Model.tagCloudModeFromF(mode))));\n });\n });\n };\n if (v instanceof TChangeMode) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n var $35 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($35) {\n return handleAction(new TExpanded(!Model.isExpanded(mode)));\n };\n return fetchTagCloud(Model.setExpanded(v.value0)(true));\n });\n };\n throw new Error(\"Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (function () {\n var $37 = Data_String_Common[\"null\"](tag);\n if ($37) {\n return \"\";\n };\n return \"/t:\" + tag;\n })();\n };\n var toSizedTag = function (curtags) {\n return function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($47) {\n return $$Math.log((function (v1) {\n return 1.0 + v1;\n })($47));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var k_lower = Data_String_Common.toLower(k);\n var fontsize = rescale(Control_Category.identity(Control_Category.categoryFn))(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(100.0)(150.0);\n var style = Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity)))));\n return [ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(k)), Util.class_(\"link tag mr1\"), style ])([ Halogen_HTML_Core.text(k) ]), Util.whenH(!Data_Array[\"null\"](curtags))(function (v1) {\n var $38 = Data_Array.notElem(Data_Eq.eqString)(k_lower)(curtags);\n if ($38) {\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array.cons(k_lower)(curtags)))), Util.class_(\"link mr2 tag-include\") ])([ Halogen_HTML_Core.text(\"\\u2295\") ]);\n };\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array[\"delete\"](Data_Eq.eqString)(k_lower)(curtags)))), Util.class_(\"link mr2 tag-exclude\") ])([ Halogen_HTML_Core.text(\"\\u2296\") ]);\n }) ];\n };\n };\n };\n };\n };\n var toArray = function (curtags) {\n return function (n) {\n return function (m) {\n var $48 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(Data_Functor.map(Data_Functor.functorArray)(Data_String_Common.toLower)(curtags))(n)(m)));\n var $49 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($52) {\n return Data_String_Common.toLower(Data_Tuple.fst($52));\n }));\n var $50 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($51) {\n return Data_Array.concat($48($49($50($51))));\n };\n };\n };\n };\n var render = function (v) {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud\") ])([ ]);\n };\n var modetop = new Model.TagCloudModeTop(Model.isExpanded(v.mode), 200);\n var modelb5 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 5);\n var modelb20 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 20);\n var modelb2 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 2);\n var modelb10 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 10);\n var modelb1 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 1);\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud mv3\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_header mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Util.ifElseA(Model.isRelated(v.mode))(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1 b\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TExpanded(!Model.isExpanded(v.mode));\n }) ])([ Halogen_HTML_Core.text(\"Related Tags\") ]) ];\n })(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modetop))(\" b\")), Halogen_HTML_Properties.title(\"show a cloud of your most-used tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modetop);\n }) ])([ Halogen_HTML_Core.text(\"Top Tags\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue ml2 \" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb1))(\" b\")), Halogen_HTML_Properties.title(\"show all tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb1);\n }) ])([ Halogen_HTML_Core.text(\"all\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb2))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 2 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb2);\n }) ])([ Halogen_HTML_Core.text(\"2\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb5))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 5 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb5);\n }) ])([ Halogen_HTML_Core.text(\"5\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb10))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 10 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb10);\n }) ])([ Halogen_HTML_Core.text(\"10\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb20))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 20 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb20);\n }) ])([ Halogen_HTML_Core.text(\"20\") ]) ];\n }))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 ml2 f7 link silver hover-blue \"), Halogen_HTML_Events.onClick(function (v1) {\n return new TExpanded(!Model.isExpanded(v.mode));\n }) ])([ Halogen_HTML_Core.text((function () {\n var $41 = Model.isExpanded(v.mode);\n if ($41) {\n return \"hide\";\n };\n return \"show\";\n })()) ]) ])), Util.whenH(Model.isExpanded(v.mode))(function (v1) {\n var n = Data_Maybe.fromMaybe(1)(Data_Foldable.minimum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n var m = Data_Maybe.fromMaybe(1)(Data_Foldable.maximum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_body\") ])((function () {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return [ ];\n };\n if (v.mode instanceof Model.TagCloudModeRelated) {\n return toArray(v.mode.value1)(n)(m)(v.tagcloud);\n };\n return toArray([ ])(n)(m)(v.tagcloud);\n })());\n }) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(m$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: new Data_Maybe.Just(TInitialize.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"tagcloudcomponent\"] = tagcloudcomponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Applicative.Free\"] = $PS[\"Control.Applicative.Free\"] || {};\n var exports = $PS[\"Control.Applicative.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Control.Monad.Fork.Class\"] = $PS[\"Control.Monad.Fork.Class\"] || {};\n var exports = $PS[\"Control.Monad.Fork.Class\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Effect.Console\"] = $PS[\"Effect.Console\"] || {};\n var exports = $PS[\"Effect.Console\"];\n var $foreign = $PS[\"Effect.Console\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.State\"] = $PS[\"Halogen.Aff.Driver.State\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.State\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var selfRef = Effect_Ref[\"new\"]({})();\n var childrenIn = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var childrenOut = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var handlerRef = Effect_Ref[\"new\"](handler)();\n var pendingQueries = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingOuts = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingHandlers = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var fresh = Effect_Ref[\"new\"](1)();\n var subscriptions = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var forks = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: childrenIn,\n childrenOut: childrenOut,\n selfRef: selfRef,\n handlerRef: handlerRef,\n pendingQueries: pendingQueries,\n pendingOuts: pendingOuts,\n pendingHandlers: pendingHandlers,\n rendering: Data_Maybe.Nothing.value,\n fresh: fresh,\n subscriptions: subscriptions,\n forks: forks,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(selfRef)();\n return mkDriverStateXRef(selfRef);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Query.ChildQuery\"] = $PS[\"Halogen.Query.ChildQuery\"] || {};\n var exports = $PS[\"Halogen.Query.ChildQuery\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Unsafe.Reference\"] = $PS[\"Unsafe.Reference\"] || {};\n var exports = $PS[\"Unsafe.Reference\"];\n var $foreign = $PS[\"Unsafe.Reference\"];\n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Subscription\"] = $PS[\"Halogen.Subscription\"] || {};\n var exports = $PS[\"Halogen.Subscription\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\n var unsubscribe = function (v) {\n return v;\n };\n var subscribe = function (v) {\n return function (k) {\n return v((function () {\n var $55 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($56) {\n return $55(k($56));\n };\n })());\n };\n }; \n var notify = function (v) {\n return function (a) {\n return v(a);\n };\n };\n var create = function __do() {\n var subscribers = Effect_Ref[\"new\"]([ ])();\n return {\n emitter: function (k) {\n return function __do() {\n Effect_Ref.modify_(function (v) {\n return Data_Semigroup.append(Data_Semigroup.semigroupArray)(v)([ k ]);\n })(subscribers)();\n return Effect_Ref.modify_(Data_Array.deleteBy(Unsafe_Reference.unsafeRefEq)(k))(subscribers);\n };\n },\n listener: function (a) {\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(subscribers))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableArray)(function (k) {\n return k(a);\n }));\n }\n };\n };\n exports[\"create\"] = create;\n exports[\"notify\"] = notify;\n exports[\"subscribe\"] = subscribe;\n exports[\"unsubscribe\"] = unsubscribe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.Eval\"] = $PS[\"Halogen.Aff.Driver.Eval\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Applicative_Free = $PS[\"Control.Applicative.Free\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = $PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Halogen_Subscription = $PS[\"Halogen.Subscription\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n var subs = Effect_Ref.read(v.subscriptions)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Halogen_Subscription.unsubscribe)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))();\n };\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 182, column 33 - line 184, column 57): \" + [ v.constructor.name ]);\n });\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (result) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v) {\n 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))(v.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(result);\n });\n });\n });\n });\n });\n };\n };\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (dsx) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(dsx);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 86, column 7 - line 92, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (sid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Halogen_Subscription.subscribe(v1.value0(sid))(function (act) {\n return handleAff(evalF(render)(ref)(new Halogen_Query_Input.Action(act)));\n })))(function (finalize) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n 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(Halogen_Query_HalogenM.ordSubscriptionId)(sid)(finalize)))(v2.subscriptions)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(sid));\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(unsubscribe(v1.value0)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (handler) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(handler(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp((function () {\n var $78 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $79 = evalM(render)(ref);\n return function ($80) {\n return $78($79($80));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (fid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (doneRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(fid))(v2.forks)();\n return Effect_Ref.write(true)(doneRef)();\n }))(evalM(render)(ref)(v1.value0))))(function (fiber) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(doneRef))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(fid)(fiber))(v2.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(fid));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (forkMap) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(forkMap)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 83, column 12 - line 133, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 52, column 20 - line 58, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n exports[\"handleAff\"] = handleAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Aff.Driver\"] = $PS[\"Halogen.Aff.Driver\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Console = $PS[\"Effect.Console\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_Eval = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Halogen_Subscription = $PS[\"Halogen.Subscription\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handlePending = function (ref) {\n return function __do() {\n var queue = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(queue)((function () {\n var $28 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($29) {\n return Halogen_Aff_Driver_Eval.handleAff($28(Data_List.reverse($29)));\n };\n })())();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(Halogen_Subscription.unsubscribe)))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $30 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($31) {\n return Halogen_Aff_Driver_Eval.handleAff($30($31));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n 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 () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var lchs$prime = newLifecycleHandlers();\n var $$var = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(lchs$prime)();\n var pre = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: pre.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $32 = render(lchs);\n return function ($33) {\n return $32((function (v) {\n return v.selfRef;\n })($33));\n };\n })()))(Effect_Ref.read($$var))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(pre.initializers))(Effect_Ref.read($$var))();\n return $$var;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var childrenIn = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var $$var = (function () {\n if (childrenIn instanceof Data_Maybe.Just) {\n Effect_Ref.write(childrenIn.value0.value1)(childrenInRef)();\n var dsx = Effect_Ref.read(childrenIn.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $34 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($35) {\n return $34(slot.output($35));\n };\n })())();\n return Halogen_Aff_Driver_Eval.handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Receive(slot.input, Data_Unit.unit))))();\n };\n })(dsx)();\n return childrenIn.value0.value0;\n };\n if (childrenIn instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)((function () {\n var $36 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($37) {\n return $36(slot.output($37));\n };\n })())(slot.input)(slot.component)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 210, column 14 - line 219, column 98): \" + [ childrenIn.constructor.name ]);\n })();\n var isDuplicate = Data_Functor.map(Effect.functorEffect)(function ($38) {\n return Data_Maybe.isJust(slot.get($38));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(isDuplicate)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set($$var))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read($$var))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 224, column 37 - line 226, column 50): \" + [ v.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var shouldProcessHandlers = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $39 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $40 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $41 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($42) {\n return $39($40($41($42)));\n };\n })();\n var childHandler = (function () {\n var $43 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($44) {\n return $43(handler(Halogen_Query_Input.Action.create($44)));\n };\n })();\n var rendering = renderSpec.render(function ($45) {\n return Halogen_Aff_Driver_Eval.handleAff(handler($45));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var children = Effect_Ref.read(v.childrenOut)();\n var childrenIn = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(childrenIn)(function (v1) {\n return function __do() {\n var childDS = Effect_Ref.read(v1)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(childDS)();\n return finalize(lchs)(childDS)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: children,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(rendering),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v1) {\n return function __do() {\n var handlers = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $46 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($47) {\n return Halogen_Aff_Driver_Eval.handleAff($46(Data_List.reverse($47)));\n };\n })())(handlers)();\n var mmore = Effect_Ref.read(pendingHandlers)();\n var $21 = Data_Maybe.maybe(false)(Data_List[\"null\"])(mmore);\n if ($21) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var dsx = Effect_Ref.read(v)();\n return finalize(lchs)(dsx)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function (v1) {\n return function __do() {\n var v2 = Effect_Class.liftEffect(Effect_Class.monadEffectEffect)(Effect_Ref.read(v1.selfRef))();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2.rendering)(renderSpec.dispose)();\n };\n })(dsx)();\n });\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (lchs) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (disposed) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var sio = Halogen_Subscription.create();\n var dsx = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(lchs)((function () {\n var $48 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $49 = Halogen_Subscription.notify(sio.listener);\n return function ($50) {\n return $48($49($50));\n };\n })())(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(disposed)(st.selfRef),\n messages: sio.emitter,\n dispose: dispose(disposed)(lchs)(dsx)\n });\n })(dsx)();\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.DOM.ParentNode\"] = $PS[\"Web.DOM.ParentNode\"] || {};\n var exports = $PS[\"Web.DOM.ParentNode\"];\n var $foreign = $PS[\"Web.DOM.ParentNode\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var querySelector = function (qs) {\n var $0 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $1 = $foreign[\"_querySelector\"](qs);\n return function ($2) {\n return $0($1($2));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.HTML.HTMLDocument\"] = $PS[\"Web.HTML.HTMLDocument\"] || {};\n var exports = $PS[\"Web.HTML.HTMLDocument\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.Aff.Util\"] = $PS[\"Halogen.Aff.Util\"] || {};\n var exports = $PS[\"Halogen.Aff.Util\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Web_DOM_ParentNode = $PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)((function () {\n var $2 = Web_DOM_ParentNode.querySelector(query);\n return function ($3) {\n return $2(Web_HTML_HTMLDocument.toParentNode($3));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (mel) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(mel));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setAttribute = function (name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.DOM.Element\"] = $PS[\"Web.DOM.Element\"] || {};\n var exports = $PS[\"Web.DOM.Element\"];\n var $foreign = $PS[\"Web.DOM.Element\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.VDom.DOM\"] = $PS[\"Halogen.VDom.DOM\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var res = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v.value0, {\n build: state.build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, parent);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forInE(v.children, function (v1, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $58 = v === v1;\n if ($58) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var res = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (ix, v2) {\n var res = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var res = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (v2, ix, v3) {\n var res = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var res = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var node = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: node,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (v1, ix, v2) {\n var res = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (ix, child) {\n var res = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.forE(ch1, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n };\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.VDom.Thunk\"] = $PS[\"Halogen.VDom.Thunk\"] || {};\n var exports = $PS[\"Halogen.VDom.Thunk\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && v.value1(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $43 = unsafeEqThunk(state.thunk, t2);\n if ($43) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var vdom = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n vdom: vdom,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var vdom = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n thunk: t,\n vdom: vdom\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Web.DOM.Node\"] = $PS[\"Web.DOM.Node\"] || {};\n var exports = $PS[\"Web.DOM.Node\"];\n var $foreign = $PS[\"Web.DOM.Node\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var parentNode = (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_parentNode\"]($4));\n };\n })();\n var nextSibling = (function () {\n var $14 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($15) {\n return $14($foreign[\"_nextSibling\"]($15));\n };\n })();\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Halogen.VDom.Driver\"] = $PS[\"Halogen.VDom.Driver\"] || {};\n var exports = $PS[\"Halogen.VDom.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver = $PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = $PS[\"Halogen.VDom.Thunk\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\n var Web_DOM_Node = $PS[\"Web.DOM.Node\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var npn = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(npn)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap())(spec);\n var renderComponentSlot = function (cs) {\n var renderChild = Effect_Ref.read(renderChildRef)();\n var rsx = renderChild(cs)();\n var node = getNode(rsx);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step), new Data_Maybe.Just(step), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step$prime = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step$prime), new Data_Maybe.Just(step$prime), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var renderChildRef = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(renderChildRef)(document);\n var machine = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(machine);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: machine,\n node: node,\n renderChildRef: renderChildRef\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var parent = Web_DOM_Node.parentNode(v1.value0.node)();\n var nextSib = Web_DOM_Node.nextSibling(v1.value0.node)();\n var machine$prime = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(machine$prime);\n 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)(nextSib)(parent))();\n return {\n machine: machine$prime,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n 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 (document) {\n return Halogen_Aff_Driver.runUI(renderSpec(document)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.3\n \"use strict\";\n $PS[\"Main\"] = $PS[\"Main\"] || {};\n var exports = $PS[\"Main\"];\n var $foreign = $PS[\"Main\"];\n var App = $PS[\"App\"];\n var Component_AccountSettings = $PS[\"Component.AccountSettings\"];\n var Component_Add = $PS[\"Component.Add\"];\n var Component_BList = $PS[\"Component.BList\"];\n var Component_NList = $PS[\"Component.NList\"];\n var Component_NNote = $PS[\"Component.NNote\"];\n var Component_TagCloud = $PS[\"Component.TagCloud\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Aff_Util = $PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = $PS[\"Halogen.VDom.Driver\"];\n var Model = $PS[\"Model\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"]; \n var viewRendered = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\"#content\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderTagCloud = function (renderElSelector) {\n return function (tagCloudMode) {\n 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) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_TagCloud.tagcloudcomponent(Model.tagCloudModeToF(tagCloudMode)))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n 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) {\n 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 () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderTagCloud\"] = renderTagCloud;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"viewRendered\"] = viewRendered;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS);\nPS[\"Main\"].main();"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/moment/moment.js","../node_modules/marked/lib/marked.js","../node_modules/process/browser.js","bundle.js"],"names":["global","factory","exports","module","define","amd","globalThis","self","marked","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_arrayLikeToArray","arr","len","arr2","Array","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","isArray","_unsupportedIterableToArray","minLen","n","prototype","toString","slice","constructor","name","from","test","done","value","TypeError","defaults$5","getDefaults$1","baseUrl","breaks","extensions","gfm","headerIds","headerPrefix","highlight","langPrefix","mangle","pedantic","renderer","sanitize","sanitizer","silent","smartLists","smartypants","tokenizer","walkTokens","xhtml","defaults","getDefaults","changeDefaults","changeDefaults$1","newDefaults","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","unescapeTest","unescape$1","html","replace","_","toLowerCase","charAt","String","fromCharCode","parseInt","substring","caret","nonWordAndColonTest","originIndependentUrl","baseUrls","justDomain","protocol","domain","resolveUrl","base","href","rtrim$1","relativeBase","indexOf","str","c","invert","l","suffLen","currChar","substr","helpers","escape$2","encode","edit$1","regex","opt","source","obj","val","getRegex","RegExp","cleanUrl$1","prot","decodeURIComponent","e","encodeURI","exec","merge$2","arguments","hasOwnProperty","splitCells$1","tableRow","count","row","cells","match","offset","escaped","curr","split","trim","shift","pop","splice","push","findClosingBracket$1","b","level","checkSanitizeDeprecation$1","console","warn","repeatString$1","pattern","result","defaults$4","rtrim","splitCells","_escape","findClosingBracket","outputLink","cap","link","raw","lexer","title","text","state","inLink","token","type","tokens","inlineTokens","Tokenizer_1","Tokenizer","options","_proto","space","src","rules","block","newline","code","codeBlockStyle","fences","indentCodeCompensation","matchIndentToCode","indentToCode","map","node","matchIndentInNode","join","lang","heading","trimmed","depth","inline","hr","blockquote","blockTokens","list","istask","ischecked","indent","blankLine","endsWithBlankLine","line","lines","itemContents","bull","isordered","ordered","start","loose","items","itemRegex","trimLeft","search","nextBulletRegex","Math","min","task","checked","trimRight","top","some","t","pre","def","tag","table","item","header","align","rows","j","k","lheading","paragraph","escape","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","_escapes","reflink","links","nolink","emStrong","maskedSrc","prevChar","lDelim","nextChar","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","lastIndex","_text","index","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","url","prevCapZero","_backpedal","inlineText","noopTest","edit","merge$1","block$1","_paragraph","_label","_title","bullet","listItemStart","_tag","_comment","normal","inline$1","reflinkSearch","_punctuation","blockSkip","escapedEmSt","_scheme","_email","_attribute","_href","strong","middle","endAst","endUnd","em","_extended_email","Tokenizer$1","defaults$3","repeatString","out","charCodeAt","random","Lexer_1","Lexer","create","inlineQueue","lex","lexInline","Constructor","protoProps","staticProps","_this","lastToken","cutSrc","lastParagraphClipped","extTokenizer","startBlock","startIndex","Infinity","tempSrc","tempStart","forEach","getStartIndex","errMsg","error","Error","_this2","keepPrevChar","keys","includes","lastIndexOf","startInline","get","defaults$2","cleanUrl","escape$1","Renderer_1","Renderer","_code","infostring","quote","_html","slugger","slug","body","listitem","checkbox","tablerow","content","tablecell","flags","image","TextRenderer_1","TextRenderer","Slugger_1","Slugger","seen","serialize","getNextSafeSlug","originalSlug","isDryRun","occurenceAccumulator","dryrun","Renderer$1","TextRenderer$1","Slugger$1","defaults$1","unescape","Parser","textRenderer","parse","parser","parseInline","l2","l3","cell","itemBody","ret","renderers","unshift","merge","checkSanitizeDeprecation","callback","err","pending","setTimeout","_tokens","message","marked_1","setOptions","use","_len","args","_key","opts","hasExtensions","apply","concat","childTokens","pack","ext","prevRenderer","_len2","_key2","_loop","prop","_len3","_key3","_loop2","prevTokenizer","_len4","_key4","_loop3","_step","_step2","_iterator2","_step3","_iterator3","_step4","_iterator4","_cell","_iterator","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","Item","array","noop","nextTick","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","PS","platformSpecific","_ajax","require","newXHR","XMLHttpRequest","fixupUrl","getResponse","xhr","response","nodejsBaseUrl","urllib","u","hostname","format","timeoutErrorMessageIdent","requestFailedMessageIdent","mkHeader","errback","fixedUrl","open","method","username","password","headers","setRequestHeader","field","onerror","msgIdent","ontimeout","onload","status","statusText","getAllResponseHeaders","filter","responseType","withCredentials","send","cancelErrback","cancelCallback","abort","$PS","dict","compose","f","g","x","Control_Semigroupoid","categoryFn","identity","Semigroupoid0","semigroupoidFn","a","v","y","arrayMap","unit","$foreign","Data_Function","Data_Unit","functorArray","dictFunctor","fa","Control_Category","Data_Functor","Nothing","Just","value0","maybe","v1","v2","isNothing","isJust","functorMaybe","applyMaybe","Functor0","bindMaybe","Apply0","applicativeMaybe","pure","dictPartial","Data_Maybe","Data_MediaType_Common","ArrayView","Blob","Document","$$String","FormData","FormURLEncoded","Json","string","applicationFormURLEncoded","applicationJSON","unsafeCoerce","Unsafe_Coerce","dictCoercible","Safe_Coerce","dictNewtype","coerce","dictCoercible1","dictNewtype1","Data_Newtype","Accept","ContentType","RequestHeader","value1","unwrap","$$ArrayBuffer","Ignore","json","ignore","ResponseHeader","alt","arrayApply","fs","xs","applyArray","dictApply","Control_Apply","dictApplicative","arrayBind","bindArray","bindFlipped","dictBind","flip","discardUnit","discard","m","Left","Right","functorEither","either","hush","applyEither","bindEither","applicativeEither","Control_Applicative","Data_Either","throwError","dictMonadError","catchError","MonadThrow0","Monad0","Bind1","$21","Applicative0","$22","Control_Bind","dictMonad","mb","when","unless","f$prime","a$prime","concatString","s1","s2","concatArray","ys","semigroupString","append","semigroupArray","Control_Monad","Data_Semigroup","ExceptT","mapExceptT","functorExceptT","monadExceptT","applicativeExceptT","bindExceptT","$91","$92","applyExceptT","ap","$93","$94","dictSemigroup","rm","rn","$103","$104","$0","Control_Monad_Except_Trans","runExcept","$1","runExceptT","fromObject","id","stringify","JSON","_caseJson","isNull","isBool","isNum","isStr","isArr","isObj","_copyST","r","empty","runST","_fmapObject","m0","_mapWithKey","_foldM","mz","acc","z","_lookup","no","yes","toArrayWithKey","findIndexImpl","just","nothing","_deleteAt","l1","xss","sortByImpl","compare","fromOrdering","mergeFromTo","xs1","xs2","to","mid","s","unsafeIndexImpl","pushAll","as","unsafeFreeze","thaw","copyImpl","refEq","r1","r2","eqIntImpl","eqCharImpl","eqStringImpl","eqArrayImpl","eqString","eq","eqInt","eqChar","dictEq","foldrArray","init","foldlArray","monoidString","mempty","Semigroup0","monoidArray","dictMonoid","boolConj","b1","b2","boolDisj","boolNot","not","ff","disj","heytingAlgebraBoolean","tt","implies","conj","dictHeytingAlgebra","Data_HeytingAlgebra","semigroupDisj","unsafeCompareImpl","lt","gt","ordIntImpl","ordStringImpl","ordCharImpl","LT","GT","EQ","eqOrdering","Data_Eq","Data_Ordering","ordUnit","Eq0","eqUnit","ordString","ordInt","ordChar","dictOrd","Data_Monoid","Data_Monoid_Disj","Data_Ord","foldr","traverse_","dictFoldable","$316","applySecond","$317","foldl","foldableMaybe","foldMap","foldableEither","foldableArray","foldMapDefaultR","sep","alaF","Disj","monoidDisj","maximumBy","cmp","minimumBy","Tuple","functorTuple","dictOrd1","eqTuple","dictEq1","unfoldrArrayImpl","fromJust","fst","snd","tuple","unfoldr1ArrayImpl","Data_Tuple","unfoldable1Array","unfoldr1","Data_Unfoldable1","unfoldableArray","unfoldr","Unfoldable10","Data_Array_ST","Data_Boolean","Data_Foldable","Data_Unfoldable","unsafeIndex","singleton","findIndex","deleteAt","deleteBy","concatMap","dictUnfoldable","otherwise","withArray","elemIndex","$109","$110","intercalate","comp","$89","runFn3","fn","runFn4","d","traverseArrayImpl","array1","array2","array3","concat2","go","bot","pivot","floor","traverse","traversableArray","sequence","sequenceDefault","dictTraversable","Foldable1","traverseWithIndex","poke","Data_Array","Data_Function_Uncurried","Data_Traversable","Data_TraversableWithIndex","Foreign_Object_ST","values","thawST","lookup","insert","mutate","functorObject","functorWithIndexObject","mapWithIndex","fold","applyFlipped","foldableObject","foldableWithIndexObject","foldlWithIndex","foldrWithIndex","uncurry","foldMapWithIndex","Foldable0","traversableWithIndexObject","ms","FunctorWithIndex0","FoldableWithIndex1","Traversable2","traversableObject","$43","$44","$36","toUnfoldable","$37","$38","Foreign_Object","toJsonType","jsonEmptyObject","toObject","_jsonParser","fail","succ","replaceAll","s3","toLower","joinWith","_encodeFormURLComponent","succeed","input","toRFC3896","encodeURIComponent","_decodeURIComponent","encodeFormURLComponent","$$decodeURIComponent","$16","$17","Data_String_Common","JSURI","$18","showIntImpl","showNumberImpl","isNaN","showNumber","show","showInt","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","showMethod","print","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","monadIdentity","Control_Plus","NonEmpty","dictPlus","Data_NonEmpty","Nil","Cons","functorList","chunkedRevMap","$copy_chunksAcc","$copy_v","$tco_var_chunksAcc","$tco_result","$tco_done","$tco_loop","chunksAcc","$copy_v1","$copy_acc","$tco_var_v1","$tco_done1","unrolledMap","foldableList","rev","$tco_var_acc","$205","$206","$copy_b","$tco_var_b","$207","$208","semigroupList","semigroupNonEmptyList","as$prime","toList","applyList","applicativeList","altList","plusList","Alt0","$172","Data_List_Types","$173","NonEmptyList","nullable","notNull","toNullable","Aff","EMPTY","PURE","THROW","CATCH","SYNC","ASYNC","BIND","BRACKET","FORK","SEQ","MAP","APPLY","ALT","CONS","RESUME","RELEASE","FINALIZER","FINALIZED","FORKED","_1","_2","_3","AffCtr","nonCanceler","runEff","eff","runSync","left","right","runAsync","Scheduler","limit","size","ix","drain","thunk","isDraining","enqueue","cb","tmp","SUSPENDED","CONTINUE","STEP_BIND","STEP_RESULT","PENDING","RETURN","COMPLETED","Fiber","util","supervisor","aff","runTick","step","interrupt","bhead","btail","attempts","bracketCount","joinId","joins","rethrow","localRunTick","attempt","isLeft","fromRight","register","sequential","fromLeft","killed","failed","completed","handler","onComplete","jid","kill","canceler","isSuspended","runPar","par","fiberId","fibers","killId","kills","early","root","kid","head","tail","loop","resolve","fiber","lhs","rhs","fid","killError","killCb","cancel","innerKills","newKills","Pure","Throw","Catch","Sync","Async","Bind","Bracket","Fork","Seq","ParMap","ParApply","ParAlt","Supervisor","isEmpty","killAll","killCount","_pure","_throwError","_catchError","_map","_bind","_fork","immediate","_liftEffect","_parAffMap","_parAffApply","aff1","aff2","makeAff","generalBracket","acquire","_makeFiber","_sequential","pureE","bindE","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","liftA1","semigroupEffect","lift2","new","read","ref","modifyImpl","write","Effect","modify$prime","s$prime","modify","Effect_Ref","Loop","Done","monadRecEffect","tailRecM","fromDone","parallel","Control_Parallel_Class","dictParallel","parTraverse_","$20","Applicative1","$19","monadEffectEffect","liftEffect","unsafePerformEffect","_unsafePartial","_crashWith","msg","Partial","unsafePartial","crashWith","$42","$50","$51","Control_Monad_Error_Class","Control_Monad_Rec_Class","Control_Parallel","Effect_Class","Effect_Unsafe","Partial_Unsafe","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","effectCanceler","Canceler","joinFiber","functorFiber","monadThrowAff","monadErrorAff","parallelAff","applicativeParAff","$52","semigroupCanceler","parSequence_","monadRecAff","res","monoidCanceler","$46","$47","runAff","fin","bracket","Effect_Aff","$4","$5","k2","$6","$7","throwException","$2","typeOf","tagOf","fromNumberImpl","toNumber","fromNumber","Data_Int","Data_List_NonEmpty","ForeignError","TypeMismatch","unsafeToForeign","unsafeFromForeign","$118","monadThrowExceptT","$119","unsafeReadTagged","$120","$121","readNumber","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Control_Alt","Control_Monad_Except","Data_Argonaut_Core","Data_Argonaut_Parser","Data_FormURLEncoded","Data_HTTP_Method","Data_Identity","Data_Nullable","Effect_Aff_Compat","Effect_Exception","Foreign","RequestContentError","ResponseBodyError","TimeoutError","RequestFailedError","XHROtherError","defaultRequest","responseFormat","req","parseJSON","fromResponse","altExceptT","composeKleisliFlipped","$53","jsonParser","addHeader","mh","hs","any","snoc","mapFlipped","fromEffectFnAff","h","reqContent","toMediaType","toResponseType","fromMaybe","note","extractContent","Named","bimap","bifunctorEither","dictBifunctor","$54","Data_Argonaut_Decode_Error","Data_Bifunctor","decodeNumber","caseJsonNumber","decodeJObject","decodeInt","$55","decoder","$56","lmap","$57","$58","Data_Argonaut_Decode_Decoders","decodeJsonInt","decodeJson","dictDecodeJson","decodeForeignObject","moment","_app","app","_mmoment8601","ISO_8601","fromNow","_closeWindow","window","close","_setFocus","elemId","document","getElementById","focus","_toLocaleDateString","dateString","Date","toLocaleDateString","undefined","dateStyle","win","_unsafeStringify","SProxy","reflectSymbol","unsafeGet","label","rec","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","$$Proxy","Record","Record_Builder","Type_Proxy","writeImplFields","writeImpl","writeForeignString","writeForeignInt","writeForeignForeign","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$97","$98","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","Simple_JSON","TagCloudModeTop","TagCloudModeLowerBound","TagCloudModeRelated","TagCloudModeNone","writeForeignTagCloudMode$prime","recordWriteForeign","consWriteForeignFields","writeForeignNote$prime","writeForeignBookmark$prime","writeForeignNullable","writeForeignAccountSettin","eqTagCloudModeF","eqArray","tagCloudMode","mode","expanded","readInt","readString","setHref","location","reload","Affjax","Affjax_StatusCode","Data_Argonaut_Decode_Class","Globals","Model","Web_HTML","Web_HTML_Location","Web_HTML_Window","Star","UnStar","showStar","fetchUrl","rt","request","cons","csrfHeaderName","csrfToken","fetchPath","path","homeR","fetchUrlEnc","fetchJson","writeJSON","bid","action","bm","eres","eqStatusCode","nid","us","authRlogoutR","InputButton","InputCheckbox","InputColor","InputDate","InputDatetimeLocal","InputEmail","InputFile","InputHidden","InputImage","InputMonth","InputNumber","InputPassword","InputRadio","InputRange","InputReset","InputSearch","InputSubmit","InputTel","InputText","InputTime","InputUrl","InputWeek","dictMonadState","Control_Monad_State_Class","viewOn","view","p","gets","profunctorForget","dimap","$24","strongForget","first","$25","second","$26","Profunctor0","a2b","c2d","b2c","$10","Data_Profunctor","strongFn","profunctorFn","Data_Profunctor_Strong","set","dictStrong","lens$prime","pab","over","monadAffAff","liftAff","MonadEffect0","runExists","mkExists","Data_Exists","CoyonedaF","coyoneda","fi","Coyoneda","functorCoyoneda","$84","liftCoyoneda","Leaf","Two","value2","value3","Three","value4","value5","value6","TwoLeft","TwoRight","ThreeLeft","ThreeMiddle","ThreeRight","KickUp","v3","v4","fromZipper","$copy_dictOrd","$copy_tree","$tco_var_dictOrd","$tco_var_v","tree","up","$copy_ctx","$copy_v2","down","$tco_var_ctx","ctx","$copy_ctxs","$tco_var_ctxs","ctxs","removeMaxNode","$copy_m","maxNode","$tco_done2","$tco_done3","max","leaves","foldableMap","$$delete","OrdBox","eqOrdBox","ordOrdBox","Data_Map_Internal","Halogen_Data_OrdBox","sym","ordTuple","mkOrdBox","reverse","Data_List","CatQueue","Data_CatQueue","CatNil","CatCons","semigroupCatList","cat","q","$copy_xs","$copy_c","$tco_var_c","$copy_ys","$tco_var_xs","uncons","Data_CatList","Free","Return","fromView","freeMonad","freeApplicative","freeBind","freeFunctor","freeApply","$122","$123","dictMonadRec","runExpF","concatF","toView","$135","Control_Monad_Free","Effect_Aff_Class","State","Subscribe","Unsubscribe","Lift","ChildQuery","Raise","Par","Kill","GetRef","HalogenM","ordSubscriptionId","ordForkId","monadHalogenM","monadStateHalogenM","$136","liftF","monadEffectHalogenM","dictMonadEffect","$141","$142","functorHalogenM","bindHalogenM","applicativeHalogenM","dictMonadAff","$143","$144","Initialize","Finalize","Receive","Action","Query","Data_Coyoneda","Halogen_Data_Slot","Halogen_Query_HalogenM","Halogen_Query_HalogenQ","ComponentSlot","ThunkSlot","unComponentSlot","unComponent","mkComponentSlot","mkComponent","defaultEval","handleAction","handleQuery","receive","initialize","finalize","voidLeft","unCoyoneda","output","component","ButtonButton","ButtonSubmit","ButtonReset","On","Off","Step","unStep","mkStep","extract","unsafeGetAny","unsafeHasAny","unsafeSetAny","forE","forEachE","forInE","ks","diffWithIxE","a1","a2","f1","f2","f3","a3","strMapWithIxE","fk","diffWithKeyAndIxE","o1","o2","createTextNode","doc","setTextContent","textContent","createElement","ns","createElementNS","insertChildIx","childNodes","insertBefore","removeChild","parentNode","setAttribute","attr","el","setAttributeNS","removeAttribute","removeAttributeNS","hasAttribute","hasAttributeNS","addEventListener","ev","listener","removeEventListener","jsUndefined","unsafeLookup","pokeMutMap","newMutMap","eventListener","event","Halogen_VDom_Machine","Halogen_VDom_Util","Web_Event_EventTarget","Created","Removed","Attribute","Property","Handler","Ref","unsafeGetProperty","setProperty","propToStrKey","propFromString","propFromInt","propFromBoolean","removeProp","prevEvents","removeProperty","mbEmit","haltProp","applyProp","events","patchProp","ps2","onThis","onThese","v11","elVal","$66","diffProp","onThat","nextState","renderProp","ps1","ps1$prime","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","graft","bifunctorGraft","runGraft","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_VDom_DOM_Prop","Halogen_VDom_Types","HTML","isPropString","toPropValue","isPropOnOff","$32","renderOnOff","isPropInt","isPropInputType","renderInputType","isPropButtonType","renderButtonType","isPropBoolean","children","dictIsProp","$23","element","form","span","tbody_","tbody","td","td_","tr_","tr","div","div_","button","br_","es","unsafeReadPropImpl","unsafeReadProp","RefUpdate","_currentTarget","currentTarget","preventDefault","Foreign_Index","Halogen_HTML_Core","Halogen_Query_Input","Web_Event_Event","Web_HTML_Event_EventTypes","Web_UIEvent_MouseEvent_EventTypes","mouseHandler","et","onClick","click","onSubmit","addForeignPropHandler","reader","handler$prime","composeKleisli","$71","readProp","onChecked","change","readBoolean","onValueChange","$9","mel","required","$$for","disabled","class_","autofocus","autocomplete","dictWarn","hasArrayFrom","hasStringIterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","topInt","bottomInt","topChar","bottomChar","boundedInt","bottom","Ord0","boundedChar","toCharCode","toEnum$prime","Data_Bounded","fromEnum","charToEnum","enumChar","fromEnum$prime","pred","defaultPred","boundedEnumChar","cardinality","toEnum","Bounded0","Enum1","dictBoundedEnum","low","high","intDegree","abs","intDiv","intMod","yy","intSub","intAdd","intMul","semiringInt","add","zero","mul","one","Data_Semiring","ringInt","sub","Semiring0","Data_Ring","commutativeRingInt","Ring0","Data_CommutativeRing","euclideanRingInt","degree","mod","CommutativeRing0","drop","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","toEnumWithDefaults","take","takeFallback","$45","Data_String_CodePoints","Halogen_HTML_Properties","Web_HTML_Common","fromNullableStr","_parseQueryString","srh","decode","$48","srh$prime","$49","unsafeDecode","qs","mapMaybe","kv","_loc","ClassName","loc","find","App","Data_Lens_Getter","Data_Lens_Internal_Forget","Data_Lens_Lens","Data_Lens_Setter","Halogen_Component","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","render","initialState","editField","type_","id_","archiveDefault","privateDefault","privacyLock","mkEval","modifying","monadAffHalogenM","editAccountSettings","Eurl","Etitle","Edescription","Etags","Eprivate","Etoread","BEditField","BEditSubmit","BDeleteAsk","BLookupTitle","BDestroy","_edit_bm","edit_bm","deleteAsk","destroyed","loading","b$prime","toTextarea","mmoment","mmoment8601","time","$67","display_exists","guard","ifElseH","whenH","textarea","description","tags","toread","modify_","$41","lookupTitle","mtitle","selected","archiveUrl","destroy","editBookmark","assign","closeWindow","unsafeSetInnerHTML","innerHTML","_read","toNode","toElement","$13","Web_HTML_HTMLElement","getHTMLElementRef","fromElement","$14","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","for_","monoidEffect","$11","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","spin","outputQuery","widget","componentSlot","Component_Markdown","Data_Void","Halogen_HTML","BNotifyRemove","BStar","BEdit","BMarkRead","_markdown","_edit","_bm","tagid","star","shdatetime","shdate","linkToFilterTag","userR","$74","dat","isowner","slot","absurd","whenA","toggleStar","raise","markRead","setFocus","$60","$61","$65","edit_bm$prime","Component_BMark","HandleBMessage","_bookmark","st","bms","bmark","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","shared","Etext","EisMarkdown","Eshared","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","edit_note","_edit_note","notetextid","note$prime","isMarkdown","updated","$39","destroyNote","whenM","editNote","res$prime","noteR","log","$$Math","TInitialize","TExpanded","TChangeMode","m$prime","rescale","fetchTagCloud","mode$prime","getTagCloud","tagCloudModeFromF","tagcloud","$27","$28","toArray","curtags","opacity","k_lower","fontsize","style","notElem","toSizedTag","sortBy","comparing","modetop","isExpanded","modelb5","modelb20","modelb2","modelb10","modelb1","ifElseA","isRelated","minimum","maximum","$31","setExpanded","updateTagCloudMode","$35","Ap","mkAp","fba","fb","liftFreeAp","goLeft","$copy_dictApplicative","$copy_fStack","$copy_valStack","$copy_nat","$copy_func","$copy_count","$tco_var_dictApplicative","$tco_var_fStack","$tco_var_valStack","$tco_var_nat","$tco_var_func","fStack","valStack","nat","func","goApply","$copy_vals","$copy_gVal","$tco_var_vals","vals","gVal","gRes","functorFreeAp","foldFreeAp","nextVals","applyFreeAp","applicativeFreeAp","monadForkAff","suspend","fork","Functor1","unRenderStateX","unDriverStateX","mkRenderStateX","mkDriverStateXRef","rendering","lchs","selfRef","childrenIn","childrenOut","handlerRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","forks","ds","refs","lifecycleHandlers","unChildQueryBox","reallyUnsafeRefEq","unsafeRefEq","Unsafe_Reference","subscribers","emitter","Control_Applicative_Free","Control_Monad_Fork_Class","Halogen_Aff_Driver_State","Halogen_Query_ChildQuery","Halogen_Subscription","queueOrRun","au","handleLifecycle","initializers","finalizers","handleAff","runAff_","evalQ","evalM","initRef","evalChildQuery","foldFree","SubscriptionId","sid","subscribe","act","evalF","subs","unsubscribe","$78","$79","cqb","dsx","retractFreeAp","hoistFreeAp","$80","ForkId","doneRef","unlessM","forkMap","killFiber","mapDriverState","alter","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handlePending","$29","renderSpec","squashChildInitializers","runComponent","lchs$prime","$$var","initDriverState","$33","preInits","parentInitializer","handlers","renderChild","childrenInRef","childrenOutRef","$34","isDuplicate","renderStateX","shouldProcessHandlers","$40","childHandler","foreachSlot","childDS","renderStateX_","ds$prime","mmore","$30","evalDriver","disposed","dispose","sio","notify","query","messages","_querySelector","selector","querySelector","toParentNode","toDocument","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","$3","Web_DOM_Element","haltWidget","halt","patchWidget","vdom","haltText","parent","patchText","haltKeyed","attrs","haltElem","eqElemSpec","ns1","ns2","patchElem","attrs2","children2","patchKeyed","ix$prime","spec","buildText","buildElem","name1","as1","ch1","child","buildAttributes","buildKeyed","buildWidget","w","Halogen_VDom_DOM","runThunk","Thunk","toVDom","haltThunk","patchThunk","t2","renderThunk","buildVDom","getEffProp","_parentNode","_nextSibling","node1","node2","appendChild","nextSibling","$15","Halogen_Aff_Driver","Halogen_VDom_Thunk","Web_DOM_Node","npn","pn","container","renderChildRef","getNode","buildThunk","renderComponentSlot","cs","rsx","patch","step$prime","buildProp","mkSpec","machine","nextSib","machine$prime","newNode","heytingAlgebraFunction","substInParent","runUI","_mainImpl","Component_AccountSettings","Component_Add","Component_BList","Component_NList","Component_NNote","Component_TagCloud","Halogen_Aff_Util","Halogen_VDom_Driver","viewRendered","selectElement","main","logout","renderElSelector","bmarks","blist","tagcloudcomponent","tagCloudModeToF","addbmark","nlist","nnote","accountSettings","usetting"],"mappings":"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","file":"app.min.js","sourceRoot":"","sourcesContent":["//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\n })\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2021, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.marked = factory());\n}(this, (function () { 'use strict';\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var defaults$5 = {exports: {}};\n\n function getDefaults$1() {\n return {\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n\n function changeDefaults$1(newDefaults) {\n defaults$5.exports.defaults = newDefaults;\n }\n\n defaults$5.exports = {\n defaults: getDefaults$1(),\n getDefaults: getDefaults$1,\n changeDefaults: changeDefaults$1\n };\n\n /**\n * Helpers\n */\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function escape$2(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n }\n\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n function unescape$1(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n\n var caret = /(^|[^\\[])\\^/g;\n\n function edit$1(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n var obj = {\n replace: function replace(name, val) {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n function cleanUrl$1(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape$1(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim$1(base, '/', true);\n }\n }\n\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n\n var noopTest$1 = {\n exec: function noopTest() {}\n };\n\n function merge$2(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n }\n\n function splitCells$1(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n\n if (!cells[0].trim()) {\n cells.shift();\n }\n\n if (!cells[cells.length - 1].trim()) {\n cells.pop();\n }\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n\n return cells;\n } // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n // /c*$/ is vulnerable to REDOS.\n // invert: Remove suffix of non-c chars instead. Default falsey.\n\n\n function rtrim$1(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, l - suffLen);\n }\n\n function findClosingBracket$1(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n\n function checkSanitizeDeprecation$1(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n } // copied from https://stackoverflow.com/a/5450113/806777\n\n\n function repeatString$1(pattern, count) {\n if (count < 1) {\n return '';\n }\n\n var result = '';\n\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n\n count >>= 1;\n pattern += pattern;\n }\n\n return result + pattern;\n }\n\n var helpers = {\n escape: escape$2,\n unescape: unescape$1,\n edit: edit$1,\n cleanUrl: cleanUrl$1,\n resolveUrl: resolveUrl,\n noopTest: noopTest$1,\n merge: merge$2,\n splitCells: splitCells$1,\n rtrim: rtrim$1,\n findClosingBracket: findClosingBracket$1,\n checkSanitizeDeprecation: checkSanitizeDeprecation$1,\n repeatString: repeatString$1\n };\n\n var defaults$4 = defaults$5.exports.defaults;\n var rtrim = helpers.rtrim,\n splitCells = helpers.splitCells,\n _escape = helpers.escape,\n findClosingBracket = helpers.findClosingBracket;\n\n function outputLink(cap, link, raw, lexer) {\n var href = link.href;\n var title = link.title ? _escape(link.title) : null;\n var text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n var token = {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: text,\n tokens: lexer.inlineTokens(text, [])\n };\n lexer.state.inLink = false;\n return token;\n } else {\n return {\n type: 'image',\n raw: raw,\n href: href,\n title: title,\n text: _escape(text)\n };\n }\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer_1 = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || defaults$4;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap) {\n if (cap[0].length > 1) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n\n return {\n raw: '\\n'\n };\n }\n };\n\n _proto.code = function code(src) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n var text = cap[2].trim(); // remove trailing #s\n\n if (/#$/.test(text)) {\n var trimmed = rtrim(text, '#');\n\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n var token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text,\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *> ?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens: this.lexer.blockTokens(text, []),\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, lines, itemContents;\n var bull = cap[1].trim();\n var isordered = bull.length > 1;\n var list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? \"\\\\d{1,9}\\\\\" + bull.slice(-1) : \"\\\\\" + bull;\n\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n } // Get next list item\n\n\n var itemRegex = new RegExp(\"^( {0,3}\" + bull + \")((?: [^\\\\n]*| *)(?:\\\\n[^\\\\n]*)*(?:\\\\n|$))\"); // Get each top-level item\n\n while (src) {\n if (this.rules.block.hr.test(src)) {\n // End list if we encounter an HR (possibly move into itemRegex?)\n break;\n }\n\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n\n lines = cap[2].split('\\n');\n\n if (this.options.pedantic) {\n indent = 2;\n itemContents = lines[0].trimLeft();\n } else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n\n indent = cap[1].length + (indent > 4 ? 1 : indent); // intented code blocks after 4 spaces; indent is always 1\n\n itemContents = lines[0].slice(indent - cap[1].length);\n }\n\n blankLine = false;\n raw = cap[0];\n\n if (!lines[0] && /^ *$/.test(lines[1])) {\n // items begin with at most one blank line\n raw = cap[1] + lines.slice(0, 2).join('\\n') + '\\n';\n list.loose = true;\n lines = [];\n }\n\n var nextBulletRegex = new RegExp(\"^ {0,\" + Math.min(3, indent - 1) + \"}(?:[*+-]|\\\\d{1,9}[.)])\");\n\n for (i = 1; i < lines.length; i++) {\n line = lines[i];\n\n if (this.options.pedantic) {\n // Re-align to follow commonmark nesting rules\n line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n } // End list item if found start of new bullet\n\n\n if (nextBulletRegex.test(line)) {\n raw = cap[1] + lines.slice(0, i).join('\\n') + '\\n';\n break;\n } // Until we encounter a blank line, item contents do not need indentation\n\n\n if (!blankLine) {\n if (!line.trim()) {\n // Check if current line is empty\n blankLine = true;\n } // Dedent if possible\n\n\n if (line.search(/[^ ]/) >= indent) {\n itemContents += '\\n' + line.slice(indent);\n } else {\n itemContents += '\\n' + line;\n }\n\n continue;\n } // Dedent this line\n\n\n if (line.search(/[^ ]/) >= indent || !line.trim()) {\n itemContents += '\\n' + line.slice(indent);\n continue;\n } else {\n // Line was not properly indented; end of this item\n raw = cap[1] + lines.slice(0, i).join('\\n') + '\\n';\n break;\n }\n }\n\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n } else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n } // Check for task list items\n\n\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents\n });\n list.raw += raw;\n src = src.slice(raw.length);\n } // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n\n\n list.items[list.items.length - 1].raw = raw.trimRight();\n list.items[list.items.length - 1].text = itemContents.trimRight();\n list.raw = list.raw.trimRight();\n var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first\n\n for (i = 0; i < l; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n\n if (list.items[i].tokens.some(function (t) {\n return t.type === 'space';\n })) {\n list.loose = true;\n list.items[i].loose = true;\n }\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n var token = {\n type: 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n };\n\n if (this.options.sanitize) {\n token.type = 'paragraph';\n token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]);\n token.tokens = [];\n this.lexer.inline(token.text, token.tokens);\n }\n\n return token;\n }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n type: 'def',\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells(cap[1]).map(function (c) {\n return {\n text: c\n };\n }),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n rows: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n var l = item.align.length;\n var i, j, k, row;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.rows.length;\n\n for (i = 0; i < l; i++) {\n item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) {\n return {\n text: c\n };\n });\n } // parse child tokens inside headers and cells\n // header child tokens\n\n\n l = item.header.length;\n\n for (j = 0; j < l; j++) {\n item.header[j].tokens = [];\n this.lexer.inlineTokens(item.header[j].text, item.header[j].tokens);\n } // cell child tokens\n\n\n l = item.rows.length;\n\n for (j = 0; j < l; j++) {\n row = item.rows[j];\n\n for (k = 0; k < row.length; k++) {\n row[k].tokens = [];\n this.lexer.inlineTokens(row[k].text, row[k].tokens);\n }\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n var token = {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n var token = {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n };\n\n _proto.text = function text(src) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n var token = {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: []\n };\n this.lexer.inline(token.text, token.tokens);\n return token;\n }\n };\n\n _proto.escape = function escape(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: _escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!this.lexer.state.inLink && /^
    /i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n } else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var trimmedUrl = cap[2].trim();\n\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n } // ending angle bracket cannot be escaped\n\n\n var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n var lastParenIndex = findClosingBracket(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n // split pedantic href and title\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n\n if (/^$/.test(trimmedUrl)) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0], this.lexer);\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n return outputLink(cap, link, cap[0], this.lexer);\n }\n };\n\n _proto.emStrong = function emStrong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return; // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n\n if (match[3] && prevChar.match(/(?:[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xBC-\\xBE\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u0660-\\u0669\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0966-\\u096F\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09F9\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AEF\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\\u0B71-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0BE6-\\u0BF2\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D58-\\u0D61\\u0D66-\\u0D78\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DE6-\\u0DEF\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F20-\\u0F33\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1090-\\u1099\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B50-\\u1B59\\u1B83-\\u1BA0\\u1BAE-\\u1BE5\\u1C00-\\u1C23\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2CFD\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3192-\\u3195\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA830-\\uA835\\uA840-\\uA873\\uA882-\\uA8B3\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA900-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF-\\uA9D9\\uA9E0-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE1-\\uDEFB\\uDF00-\\uDF23\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC58-\\uDC76\\uDC79-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE40-\\uDE48\\uDE60-\\uDE7E\\uDE80-\\uDE9F\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDEEB-\\uDEEF\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD23\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF27\\uDF30-\\uDF45\\uDF51-\\uDF54\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC52-\\uDC6F\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD03-\\uDD26\\uDD36-\\uDD3F\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDD0-\\uDDDA\\uDDDC\\uDDE1-\\uDDF4\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDEF0-\\uDEF9\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC50-\\uDC59\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEAA\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF30-\\uDF3B]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCF2\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC50-\\uDC6C\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF2\\uDFB0\\uDFC0-\\uDFD4]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE96\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD834[\\uDEE0-\\uDEF3\\uDF60-\\uDF78]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEEB\\uDEF0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCCF\\uDD00-\\uDD43\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDC71-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDCB4\\uDD01-\\uDD2D\\uDD2F-\\uDD3D\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83C[\\uDD00-\\uDD0C]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/)) return;\n var nextChar = match[1] || match[2] || '';\n\n if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {\n var lLength = match[0].length - 1;\n var rDelim,\n rLength,\n delimTotal = lLength,\n midDelimTotal = 0;\n var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?)\n\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) {\n // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a***\n\n if (Math.min(lLength, rLength) % 2) {\n var _text = src.slice(1, lLength + match.index + rLength);\n\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: _text,\n tokens: this.lexer.inlineTokens(_text, [])\n };\n } // Create 'strong' if smallest delimiter has even char count. **a***\n\n\n var text = src.slice(2, lLength + match.index + rLength - 1);\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: text,\n tokens: this.lexer.inlineTokens(text, [])\n };\n }\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = _escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2], [])\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = _escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = _escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (this.lexer.state.inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];\n } else {\n text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n\n var noopTest = helpers.noopTest,\n edit = helpers.edit,\n merge$1 = helpers.merge;\n /**\n * Block-Level Grammar\n */\n\n var block$1 = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3}bull)( [^\\n]+?)?(?:\\n|$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n };\n block$1._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\n block$1._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block$1.def = edit(block$1.def).replace('label', block$1._label).replace('title', block$1._title).getRegex();\n block$1.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block$1.listItemStart = edit(/^( *)(bull) */).replace('bull', block$1.bullet).getRegex();\n block$1.list = edit(block$1.list).replace(/bull/g, block$1.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block$1.def.source + ')').getRegex();\n block$1._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';\n block$1._comment = /|$)/;\n block$1.html = edit(block$1.html, 'i').replace('comment', block$1._comment).replace('tag', block$1._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block$1.paragraph = edit(block$1._paragraph).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block$1._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block$1.blockquote = edit(block$1.blockquote).replace('paragraph', block$1.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block$1.normal = merge$1({}, block$1);\n /**\n * GFM Block Grammar\n */\n\n block$1.gfm = merge$1({}, block$1.normal, {\n table: '^ *([^\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}(?:\\\\| *)?(:?-+:? *(?:\\\\| *:?-+:? *)*)\\\\|?' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block$1.gfm.table = edit(block$1.gfm.table).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|textarea|!--)').replace('tag', block$1._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block$1.pedantic = merge$1({}, block$1.normal, {\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))').replace('comment', block$1._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b').getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n // fences not supported\n paragraph: edit(block$1.normal._paragraph).replace('hr', block$1.hr).replace('heading', ' *#{1,6} *[^\\n]').replace('lheading', block$1.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()\n });\n /**\n * Inline-Level Grammar\n */\n\n var inline$1 = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment' + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^',\n // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip other delimiter (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /\\_\\_[^_*]*?\\*[^_*]*?\\_\\_|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /\\*\\*[^_*]*?\\_[^_*]*?\\*\\*|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~';\n inline$1.punctuation = edit(inline$1.punctuation).replace(/punctuation/g, inline$1._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, \n\n inline$1.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\n inline$1.escapedEmSt = /\\\\\\*|\\\\_/g;\n inline$1._comment = edit(block$1._comment).replace('(?:-->|$)', '-->').getRegex();\n inline$1.emStrong.lDelim = edit(inline$1.emStrong.lDelim).replace(/punct/g, inline$1._punctuation).getRegex();\n inline$1.emStrong.rDelimAst = edit(inline$1.emStrong.rDelimAst, 'g').replace(/punct/g, inline$1._punctuation).getRegex();\n inline$1.emStrong.rDelimUnd = edit(inline$1.emStrong.rDelimUnd, 'g').replace(/punct/g, inline$1._punctuation).getRegex();\n inline$1._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n inline$1._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\n inline$1._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\n inline$1.autolink = edit(inline$1.autolink).replace('scheme', inline$1._scheme).replace('email', inline$1._email).getRegex();\n inline$1._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n inline$1.tag = edit(inline$1.tag).replace('comment', inline$1._comment).replace('attribute', inline$1._attribute).getRegex();\n inline$1._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline$1._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\n inline$1._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n inline$1.link = edit(inline$1.link).replace('label', inline$1._label).replace('href', inline$1._href).replace('title', inline$1._title).getRegex();\n inline$1.reflink = edit(inline$1.reflink).replace('label', inline$1._label).getRegex();\n inline$1.reflinkSearch = edit(inline$1.reflinkSearch, 'g').replace('reflink', inline$1.reflink).replace('nolink', inline$1.nolink).getRegex();\n /**\n * Normal Inline Grammar\n */\n\n inline$1.normal = merge$1({}, inline$1);\n /**\n * Pedantic Inline Grammar\n */\n\n inline$1.pedantic = merge$1({}, inline$1.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/).replace('label', inline$1._label).getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace('label', inline$1._label).getRegex()\n });\n /**\n * GFM Inline Grammar\n */\n\n inline$1.gfm = merge$1({}, inline$1.normal, {\n escape: edit(inline$1.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ 0.5) {\n ch = 'x' + ch.toString(16);\n }\n\n out += '&#' + ch + ';';\n }\n\n return out;\n }\n /**\n * Block Lexer\n */\n\n\n var Lexer_1 = /*#__PURE__*/function () {\n function Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults$3;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer$1();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n var rules = {\n block: block.normal,\n inline: inline.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n\n\n /**\n * Static Lex Method\n */\n Lexer.lex = function lex(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n ;\n\n Lexer.lexInline = function lexInline(src, options) {\n var lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n ;\n\n var _proto = Lexer.prototype;\n\n _proto.lex = function lex(src) {\n src = src.replace(/\\r\\n|\\r/g, '\\n').replace(/\\t/g, ' ');\n this.blockTokens(src, this.tokens);\n var next;\n\n while (next = this.inlineQueue.shift()) {\n this.inlineTokens(next.src, next.tokens);\n }\n\n return this.tokens;\n }\n /**\n * Lexing\n */\n ;\n\n _proto.blockTokens = function blockTokens(src, tokens) {\n var _this = this;\n\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (this.options.pedantic) {\n src = src.replace(/^ +$/gm, '');\n }\n\n var token, lastToken, cutSrc, lastParagraphClipped;\n\n while (src) {\n if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) {\n if (token = extTokenizer.call({\n lexer: _this\n }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n\n return false;\n })) {\n continue;\n } // newline\n\n\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n }\n\n continue;\n } // code\n\n\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // fences\n\n\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // heading\n\n\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // hr\n\n\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // blockquote\n\n\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // list\n\n\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // html\n\n\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // def\n\n\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n\n continue;\n } // table (gfm)\n\n\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // lheading\n\n\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n\n\n cutSrc = src;\n\n if (this.options.extensions && this.options.extensions.startBlock) {\n (function () {\n var startIndex = Infinity;\n var tempSrc = src.slice(1);\n var tempStart = void 0;\n\n _this.options.extensions.startBlock.forEach(function (getStartIndex) {\n tempStart = getStartIndex.call({\n lexer: this\n }, tempSrc);\n\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n })();\n }\n\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n lastParagraphClipped = cutSrc.length !== src.length;\n src = src.substring(token.raw.length);\n continue;\n } // text\n\n\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n this.state.top = true;\n return tokens;\n };\n\n _proto.inline = function inline(src, tokens) {\n this.inlineQueue.push({\n src: src,\n tokens: tokens\n });\n }\n /**\n * Lexing/Compiling\n */\n ;\n\n _proto.inlineTokens = function inlineTokens(src, tokens) {\n var _this2 = this;\n\n if (tokens === void 0) {\n tokens = [];\n }\n\n var token, lastToken, cutSrc; // String with links masked to avoid interference with em and strong\n\n var maskedSrc = src;\n var match;\n var keepPrevChar, prevChar; // Mask out reflinks\n\n if (this.tokens.links) {\n var links = Object.keys(this.tokens.links);\n\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n } // Mask out other blocks\n\n\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n } // Mask out escaped em & strong delimiters\n\n\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n\n keepPrevChar = false; // extensions\n\n if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) {\n if (token = extTokenizer.call({\n lexer: _this2\n }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n\n return false;\n })) {\n continue;\n } // escape\n\n\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // tag\n\n\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // link\n\n\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // reflink, nolink\n\n\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // em & strong\n\n\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // code\n\n\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // br\n\n\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // del (gfm)\n\n\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // autolink\n\n\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // url (gfm)\n\n\n if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n\n\n cutSrc = src;\n\n if (this.options.extensions && this.options.extensions.startInline) {\n (function () {\n var startIndex = Infinity;\n var tempSrc = src.slice(1);\n var tempStart = void 0;\n\n _this2.options.extensions.startInline.forEach(function (getStartIndex) {\n tempStart = getStartIndex.call({\n lexer: this\n }, tempSrc);\n\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n })();\n }\n\n if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {\n src = src.substring(token.raw.length);\n\n if (token.raw.slice(-1) !== '_') {\n // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _createClass(Lexer, null, [{\n key: \"rules\",\n get: function get() {\n return {\n block: block,\n inline: inline\n };\n }\n }]);\n\n return Lexer;\n }();\n\n var defaults$2 = defaults$5.exports.defaults;\n var cleanUrl = helpers.cleanUrl,\n escape$1 = helpers.escape;\n /**\n * Renderer\n */\n\n var Renderer_1 = /*#__PURE__*/function () {\n function Renderer(options) {\n this.options = options || defaults$2;\n }\n\n var _proto = Renderer.prototype;\n\n _proto.code = function code(_code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n\n if (this.options.highlight) {\n var out = this.options.highlight(_code, lang);\n\n if (out != null && out !== _code) {\n escaped = true;\n _code = out;\n }\n }\n\n _code = _code.replace(/\\n$/, '') + '\\n';\n\n if (!lang) {\n return '
    ' + (escaped ? _code : escape$1(_code, true)) + '
    \\n';\n }\n\n return '
    ' + (escaped ? _code : escape$1(_code, true)) + '
    \\n';\n };\n\n _proto.blockquote = function blockquote(quote) {\n return '
    \\n' + quote + '
    \\n';\n };\n\n _proto.html = function html(_html) {\n return _html;\n };\n\n _proto.heading = function heading(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '' + text + '\\n';\n } // ignore IDs\n\n\n return '' + text + '\\n';\n };\n\n _proto.hr = function hr() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n };\n\n _proto.list = function list(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = ordered && start !== 1 ? ' start=\"' + start + '\"' : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n };\n\n _proto.listitem = function listitem(text) {\n return '
  • ' + text + '
  • \\n';\n };\n\n _proto.checkbox = function checkbox(checked) {\n return ' ';\n };\n\n _proto.paragraph = function paragraph(text) {\n return '

    ' + text + '

    \\n';\n };\n\n _proto.table = function table(header, body) {\n if (body) body = '' + body + '';\n return '\\n' + '\\n' + header + '\\n' + body + '
    \\n';\n };\n\n _proto.tablerow = function tablerow(content) {\n return '\\n' + content + '\\n';\n };\n\n _proto.tablecell = function tablecell(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align ? '<' + type + ' align=\"' + flags.align + '\">' : '<' + type + '>';\n return tag + content + '\\n';\n } // span level renderer\n ;\n\n _proto.strong = function strong(text) {\n return '' + text + '';\n };\n\n _proto.em = function em(text) {\n return '' + text + '';\n };\n\n _proto.codespan = function codespan(text) {\n return '' + text + '';\n };\n\n _proto.br = function br() {\n return this.options.xhtml ? '
    ' : '
    ';\n };\n\n _proto.del = function del(text) {\n return '' + text + '';\n };\n\n _proto.link = function link(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '
    ';\n return out;\n };\n\n _proto.image = function image(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n return Renderer;\n }();\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n\n var TextRenderer_1 = /*#__PURE__*/function () {\n function TextRenderer() {}\n\n var _proto = TextRenderer.prototype;\n\n // no need for block level renderers\n _proto.strong = function strong(text) {\n return text;\n };\n\n _proto.em = function em(text) {\n return text;\n };\n\n _proto.codespan = function codespan(text) {\n return text;\n };\n\n _proto.del = function del(text) {\n return text;\n };\n\n _proto.html = function html(text) {\n return text;\n };\n\n _proto.text = function text(_text) {\n return _text;\n };\n\n _proto.link = function link(href, title, text) {\n return '' + text;\n };\n\n _proto.image = function image(href, title, text) {\n return '' + text;\n };\n\n _proto.br = function br() {\n return '';\n };\n\n return TextRenderer;\n }();\n\n /**\n * Slugger generates header id\n */\n\n var Slugger_1 = /*#__PURE__*/function () {\n function Slugger() {\n this.seen = {};\n }\n\n var _proto = Slugger.prototype;\n\n _proto.serialize = function serialize(value) {\n return value.toLowerCase().trim() // remove html tags\n .replace(/<[!\\/a-z].*?>/ig, '') // remove unwanted chars\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '').replace(/\\s/g, '-');\n }\n /**\n * Finds the next safe (unique) slug to use\n */\n ;\n\n _proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {\n var slug = originalSlug;\n var occurenceAccumulator = 0;\n\n if (this.seen.hasOwnProperty(slug)) {\n occurenceAccumulator = this.seen[originalSlug];\n\n do {\n occurenceAccumulator++;\n slug = originalSlug + '-' + occurenceAccumulator;\n } while (this.seen.hasOwnProperty(slug));\n }\n\n if (!isDryRun) {\n this.seen[originalSlug] = occurenceAccumulator;\n this.seen[slug] = 0;\n }\n\n return slug;\n }\n /**\n * Convert string to unique id\n * @param {object} options\n * @param {boolean} options.dryrun Generates the next unique slug without updating the internal accumulator.\n */\n ;\n\n _proto.slug = function slug(value, options) {\n if (options === void 0) {\n options = {};\n }\n\n var slug = this.serialize(value);\n return this.getNextSafeSlug(slug, options.dryrun);\n };\n\n return Slugger;\n }();\n\n var Renderer$1 = Renderer_1;\n var TextRenderer$1 = TextRenderer_1;\n var Slugger$1 = Slugger_1;\n var defaults$1 = defaults$5.exports.defaults;\n var unescape = helpers.unescape;\n /**\n * Parsing & Compiling\n */\n\n var Parser_1 = /*#__PURE__*/function () {\n function Parser(options) {\n this.options = options || defaults$1;\n this.options.renderer = this.options.renderer || new Renderer$1();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new TextRenderer$1();\n this.slugger = new Slugger$1();\n }\n /**\n * Static Parse Method\n */\n\n\n Parser.parse = function parse(tokens, options) {\n var parser = new Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n ;\n\n Parser.parseInline = function parseInline(tokens, options) {\n var parser = new Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n ;\n\n var _proto = Parser.prototype;\n\n _proto.parse = function parse(tokens, top) {\n if (top === void 0) {\n top = true;\n }\n\n var out = '',\n i,\n j,\n k,\n l2,\n l3,\n row,\n cell,\n header,\n body,\n token,\n ordered,\n start,\n loose,\n itemBody,\n item,\n checked,\n task,\n checkbox,\n ret;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i]; // Run any renderer extensions\n\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({\n parser: this\n }, token);\n\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'space':\n {\n continue;\n }\n\n case 'hr':\n {\n out += this.renderer.hr();\n continue;\n }\n\n case 'heading':\n {\n out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger);\n continue;\n }\n\n case 'code':\n {\n out += this.renderer.code(token.text, token.lang, token.escaped);\n continue;\n }\n\n case 'table':\n {\n header = ''; // header\n\n cell = '';\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), {\n header: true,\n align: token.align[j]\n });\n }\n\n header += this.renderer.tablerow(cell);\n body = '';\n l2 = token.rows.length;\n\n for (j = 0; j < l2; j++) {\n row = token.rows[j];\n cell = '';\n l3 = row.length;\n\n for (k = 0; k < l3; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), {\n header: false,\n align: token.align[k]\n });\n }\n\n body += this.renderer.tablerow(cell);\n }\n\n out += this.renderer.table(header, body);\n continue;\n }\n\n case 'blockquote':\n {\n body = this.parse(token.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n\n case 'list':\n {\n ordered = token.ordered;\n start = token.start;\n loose = token.loose;\n l2 = token.items.length;\n body = '';\n\n for (j = 0; j < l2; j++) {\n item = token.items[j];\n checked = item.checked;\n task = item.task;\n itemBody = '';\n\n if (item.task) {\n checkbox = this.renderer.checkbox(checked);\n\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n } else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox\n });\n }\n } else {\n itemBody += checkbox;\n }\n }\n\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, checked);\n }\n\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n\n case 'html':\n {\n // TODO parse inline content if parameter markdown=1\n out += this.renderer.html(token.text);\n continue;\n }\n\n case 'paragraph':\n {\n out += this.renderer.paragraph(this.parseInline(token.tokens));\n continue;\n }\n\n case 'text':\n {\n body = token.tokens ? this.parseInline(token.tokens) : token.text;\n\n while (i + 1 < l && tokens[i + 1].type === 'text') {\n token = tokens[++i];\n body += '\\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);\n }\n\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n ;\n\n _proto.parseInline = function parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n var out = '',\n i,\n token,\n ret;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i]; // Run any renderer extensions\n\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n ret = this.options.extensions.renderers[token.type].call({\n parser: this\n }, token);\n\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n\n switch (token.type) {\n case 'escape':\n {\n out += renderer.text(token.text);\n break;\n }\n\n case 'html':\n {\n out += renderer.html(token.text);\n break;\n }\n\n case 'link':\n {\n out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'image':\n {\n out += renderer.image(token.href, token.title, token.text);\n break;\n }\n\n case 'strong':\n {\n out += renderer.strong(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'em':\n {\n out += renderer.em(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'codespan':\n {\n out += renderer.codespan(token.text);\n break;\n }\n\n case 'br':\n {\n out += renderer.br();\n break;\n }\n\n case 'del':\n {\n out += renderer.del(this.parseInline(token.tokens, renderer));\n break;\n }\n\n case 'text':\n {\n out += renderer.text(token.text);\n break;\n }\n\n default:\n {\n var errMsg = 'Token with \"' + token.type + '\" type was not found.';\n\n if (this.options.silent) {\n console.error(errMsg);\n return;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n }\n\n return out;\n };\n\n return Parser;\n }();\n\n var Lexer = Lexer_1;\n var Parser = Parser_1;\n var Tokenizer = Tokenizer_1;\n var Renderer = Renderer_1;\n var TextRenderer = TextRenderer_1;\n var Slugger = Slugger_1;\n var merge = helpers.merge,\n checkSanitizeDeprecation = helpers.checkSanitizeDeprecation,\n escape = helpers.escape;\n var getDefaults = defaults$5.exports.getDefaults,\n changeDefaults = defaults$5.exports.changeDefaults,\n defaults = defaults$5.exports.defaults;\n /**\n * Marked\n */\n\n function marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (typeof opt === 'function') {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n if (callback) {\n var highlight = opt.highlight;\n var tokens;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n var done = function done(err) {\n var out;\n\n if (!err) {\n try {\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n }\n\n opt.highlight = highlight;\n return err ? callback(err) : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n if (!tokens.length) return done();\n var pending = 0;\n marked.walkTokens(tokens, function (token) {\n if (token.type === 'code') {\n pending++;\n setTimeout(function () {\n highlight(token.text, token.lang, function (err, code) {\n if (err) {\n return done(err);\n }\n\n if (code != null && code !== token.text) {\n token.text = code;\n token.escaped = true;\n }\n\n pending--;\n\n if (pending === 0) {\n done();\n }\n });\n }, 0);\n }\n });\n\n if (pending === 0) {\n done();\n }\n\n return;\n }\n\n try {\n var _tokens = Lexer.lex(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(_tokens, opt.walkTokens);\n }\n\n return Parser.parse(_tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n }\n /**\n * Options\n */\n\n\n marked.options = marked.setOptions = function (opt) {\n merge(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = defaults;\n /**\n * Use Extension\n */\n\n marked.use = function () {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var opts = merge.apply(void 0, [{}].concat(args));\n var extensions = marked.defaults.extensions || {\n renderers: {},\n childTokens: {}\n };\n var hasExtensions;\n args.forEach(function (pack) {\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n hasExtensions = true;\n pack.extensions.forEach(function (ext) {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n\n if (ext.renderer) {\n // Renderer extensions\n var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;\n\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var ret = ext.renderer.apply(this, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n\n return ret;\n };\n } else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n\n if (ext.tokenizer) {\n // Tokenizer Extensions\n if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n\n if (extensions[ext.level]) {\n extensions[ext.level].unshift(ext.tokenizer);\n } else {\n extensions[ext.level] = [ext.tokenizer];\n }\n\n if (ext.start) {\n // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n } else {\n extensions.startBlock = [ext.start];\n }\n } else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n } else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n\n if (ext.childTokens) {\n // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n } // ==-- Parse \"overwrite\" extensions --== //\n\n\n if (pack.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer();\n\n var _loop = function _loop(prop) {\n var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false\n\n renderer[prop] = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var ret = pack.renderer[prop].apply(renderer, args);\n\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in pack.renderer) {\n _loop(prop);\n }\n\n opts.renderer = renderer;\n })();\n }\n\n if (pack.tokenizer) {\n (function () {\n var tokenizer = marked.defaults.tokenizer || new Tokenizer();\n\n var _loop2 = function _loop2(prop) {\n var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false\n\n tokenizer[prop] = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n var ret = pack.tokenizer[prop].apply(tokenizer, args);\n\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n\n return ret;\n };\n };\n\n for (var prop in pack.tokenizer) {\n _loop2(prop);\n }\n\n opts.tokenizer = tokenizer;\n })();\n } // ==-- Parse WalkTokens extensions --== //\n\n\n if (pack.walkTokens) {\n var walkTokens = marked.defaults.walkTokens;\n\n opts.walkTokens = function (token) {\n pack.walkTokens.call(_this, token);\n\n if (walkTokens) {\n walkTokens(token);\n }\n };\n }\n\n if (hasExtensions) {\n opts.extensions = extensions;\n }\n\n marked.setOptions(opts);\n });\n };\n /**\n * Run callback for every token\n */\n\n\n marked.walkTokens = function (tokens, callback) {\n var _loop3 = function _loop3() {\n var token = _step.value;\n callback(token);\n\n switch (token.type) {\n case 'table':\n {\n for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) {\n var cell = _step2.value;\n marked.walkTokens(cell.tokens, callback);\n }\n\n for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) {\n var row = _step3.value;\n\n for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {\n var _cell = _step4.value;\n marked.walkTokens(_cell.tokens, callback);\n }\n }\n\n break;\n }\n\n case 'list':\n {\n marked.walkTokens(token.items, callback);\n break;\n }\n\n default:\n {\n if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) {\n // Walk any extensions\n marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) {\n marked.walkTokens(token[childTokens], callback);\n });\n } else if (token.tokens) {\n marked.walkTokens(token.tokens, callback);\n }\n }\n }\n };\n\n for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {\n _loop3();\n }\n };\n /**\n * Parse Inline\n */\n\n\n marked.parseInline = function (src, opt) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked.parseInline(): input parameter is undefined or null');\n }\n\n if (typeof src !== 'string') {\n throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n try {\n var tokens = Lexer.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser.parseInline(tokens, opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n\n if (opt.silent) {\n return '

    An error occurred:

    ' + escape(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser;\n marked.parser = Parser.parse;\n marked.Renderer = Renderer;\n marked.TextRenderer = TextRenderer;\n marked.Lexer = Lexer;\n marked.lexer = Lexer.lex;\n marked.Tokenizer = Tokenizer;\n marked.Slugger = Slugger;\n marked.parse = marked;\n var marked_1 = marked;\n\n return marked_1;\n\n})));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.14.4\nvar PS = {};\n(function(exports) {\n /* global XMLHttpRequest */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url, xhr) {\n if (xhr.nodejsBaseUrl === null) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n } else {\n return url || \"/\";\n }\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (timeoutErrorMessageIdent, requestFailedMessageIdent, mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url, xhr);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n // eslint-disable-next-line no-eq-null,eqeqeq\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msgIdent) {\n return function () {\n errback(new Error(msgIdent));\n };\n };\n xhr.onerror = onerror(requestFailedMessageIdent);\n xhr.ontimeout = onerror(timeoutErrorMessageIdent);\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.timeout = options.timeout;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Semigroupoid\"] = $PS[\"Control.Semigroupoid\"] || {};\n var exports = $PS[\"Control.Semigroupoid\"];\n var semigroupoidFn = {\n compose: function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n }\n };\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Category\"] = $PS[\"Control.Category\"] || {};\n var exports = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"]; \n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = {\n identity: function (x) {\n return x;\n },\n Semigroupoid0: function () {\n return Control_Semigroupoid.semigroupoidFn;\n }\n };\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Function\"] = $PS[\"Data.Function\"] || {};\n var exports = $PS[\"Data.Function\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n var applyFlipped = function (x) {\n return function (f) {\n return f(x);\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"applyFlipped\"] = applyFlipped;\n exports[\"on\"] = on;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Unit\"] = $PS[\"Data.Unit\"] || {};\n var exports = $PS[\"Data.Unit\"];\n var $foreign = $PS[\"Data.Unit\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\n var $foreign = $PS[\"Data.Functor\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var map = function (dict) {\n return dict.map;\n };\n var mapFlipped = function (dictFunctor) {\n return function (fa) {\n return function (f) {\n return map(dictFunctor)(f)(fa);\n };\n };\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorArray = {\n map: $foreign.arrayMap\n };\n exports[\"map\"] = map;\n exports[\"mapFlipped\"] = mapFlipped;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Maybe\"] = $PS[\"Data.Maybe\"] || {};\n var exports = $PS[\"Data.Maybe\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 230, column 1 - line 230, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = {\n map: function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n }\n };\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 281, column 1 - line 281, column 46): \" + [ v.constructor.name ]);\n };\n };\n var applyMaybe = {\n apply: function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 68, column 1 - line 70, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorMaybe;\n }\n };\n var bindMaybe = {\n bind: function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 126, column 1 - line 128, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Apply0: function () {\n return applyMaybe;\n }\n };\n var applicativeMaybe = {\n pure: Just.create,\n Apply0: function () {\n return applyMaybe;\n }\n };\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"applicativeMaybe\"] = applicativeMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.MediaType.Common\"] = $PS[\"Data.MediaType.Common\"] || {};\n var exports = $PS[\"Data.MediaType.Common\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Affjax.RequestBody\"] = $PS[\"Affjax.RequestBody\"] || {};\n var exports = $PS[\"Affjax.RequestBody\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Unsafe.Coerce\"] = $PS[\"Unsafe.Coerce\"] || {};\n var exports = $PS[\"Unsafe.Coerce\"];\n var $foreign = $PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Safe.Coerce\"] = $PS[\"Safe.Coerce\"] || {};\n var exports = $PS[\"Safe.Coerce\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var coerce = function (dictCoercible) {\n return Unsafe_Coerce.unsafeCoerce;\n };\n exports[\"coerce\"] = coerce;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Safe_Coerce = $PS[\"Safe.Coerce\"];\n var unwrap = function (dictNewtype) {\n return Safe_Coerce.coerce();\n };\n var alaF = function (dictCoercible) {\n return function (dictCoercible1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return Safe_Coerce.coerce();\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"alaF\"] = alaF;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap()(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap()(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n };\n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Affjax.ResponseFormat\"] = $PS[\"Affjax.ResponseFormat\"] || {};\n var exports = $PS[\"Affjax.ResponseFormat\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"]; \n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 44, column 3 - line 50, column 19): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = new $$String(Control_Category.identity(Control_Category.categoryFn));\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"string\"] = string;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Affjax.ResponseHeader\"] = $PS[\"Affjax.ResponseHeader\"] || {};\n var exports = $PS[\"Affjax.ResponseHeader\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Alt\"] = $PS[\"Control.Alt\"] || {};\n var exports = $PS[\"Control.Alt\"];\n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"alt\"] = alt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Apply\"] = $PS[\"Control.Apply\"] || {};\n var exports = $PS[\"Control.Apply\"];\n var $foreign = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var applyArray = {\n apply: $foreign.arrayApply,\n Functor0: function () {\n return Data_Functor.functorArray;\n }\n };\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Applicative\"] = $PS[\"Control.Applicative\"] || {};\n var exports = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var pure = function (dict) {\n return dict.pure;\n };\n var unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 66, column 1 - line 66, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 61, column 1 - line 61, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Bind\"] = $PS[\"Control.Bind\"] || {};\n var exports = $PS[\"Control.Bind\"];\n var $foreign = $PS[\"Control.Bind\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Function = $PS[\"Data.Function\"]; \n var discard = function (dict) {\n return dict.discard;\n };\n var bindArray = {\n bind: $foreign.arrayBind,\n Apply0: function () {\n return Control_Apply.applyArray;\n }\n };\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = {\n discard: function (dictBind) {\n return bind(dictBind);\n }\n };\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Either\"] = $PS[\"Data.Either\"] || {};\n var exports = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var note = function (a) {\n return Data_Maybe.maybe(new Left(a))(Right.create);\n };\n var functorEither = {\n map: function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 31, column 1 - line 31, column 52): \" + [ m.constructor.name ]);\n };\n }\n };\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 208, column 1 - line 208, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var hush = either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n var applyEither = {\n apply: function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 70, column 1 - line 72, column 30): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorEither;\n }\n };\n var bindEither = {\n bind: either(function (e) {\n return function (v) {\n return new Left(e);\n };\n })(function (a) {\n return function (f) {\n return f(a);\n };\n }),\n Apply0: function () {\n return applyEither;\n }\n };\n var applicativeEither = {\n pure: Right.create,\n Apply0: function () {\n return applyEither;\n }\n };\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"note\"] = note;\n exports[\"hush\"] = hush;\n exports[\"functorEither\"] = functorEither;\n exports[\"applicativeEither\"] = applicativeEither;\n exports[\"bindEither\"] = bindEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Monad.Error.Class\"] = $PS[\"Control.Monad.Error.Class\"] || {};\n var exports = $PS[\"Control.Monad.Error.Class\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var throwError = function (dict) {\n return dict.throwError;\n };\n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))((function () {\n var $21 = Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0());\n return function ($22) {\n return $21(Data_Either.Left.create($22));\n };\n })());\n };\n };\n exports[\"throwError\"] = throwError;\n exports[\"try\"] = $$try;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Monad\"] = $PS[\"Control.Monad\"] || {};\n var exports = $PS[\"Control.Monad\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"]; \n var whenM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.when(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (b) {\n return Control_Applicative.unless(dictMonad.Applicative0())(b)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (f$prime) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (a$prime) {\n return Control_Applicative.pure(dictMonad.Applicative0())(f$prime(a$prime));\n });\n });\n };\n };\n };\n exports[\"whenM\"] = whenM;\n exports[\"unlessM\"] = unlessM;\n exports[\"ap\"] = ap;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Semigroup\"] = $PS[\"Data.Semigroup\"] || {};\n var exports = $PS[\"Data.Semigroup\"];\n var $foreign = $PS[\"Data.Semigroup\"];\n var semigroupString = {\n append: $foreign.concatString\n };\n var semigroupArray = {\n append: $foreign.concatArray\n };\n var append = function (dict) {\n return dict.append;\n };\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Monad.Except.Trans\"] = $PS[\"Control.Monad.Except.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n };\n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return {\n map: function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n }\n };\n };\n var monadExceptT = function (dictMonad) {\n return {\n Applicative0: function () {\n return applicativeExceptT(dictMonad);\n },\n Bind1: function () {\n return bindExceptT(dictMonad);\n }\n };\n };\n var bindExceptT = function (dictMonad) {\n return {\n bind: function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either((function () {\n var $91 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($92) {\n return $91(Data_Either.Left.create($92));\n };\n })())(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n },\n Apply0: function () {\n return applyExceptT(dictMonad);\n }\n };\n };\n var applyExceptT = function (dictMonad) {\n return {\n apply: Control_Monad.ap(monadExceptT(dictMonad)),\n Functor0: function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }\n };\n };\n var applicativeExceptT = function (dictMonad) {\n return {\n pure: (function () {\n var $93 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($94) {\n return ExceptT($93(Data_Either.Right.create($94)));\n };\n })(),\n Apply0: function () {\n return applyExceptT(dictMonad);\n }\n };\n };\n var monadThrowExceptT = function (dictMonad) {\n return {\n throwError: (function () {\n var $103 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($104) {\n return ExceptT($103(Data_Either.Left.create($104)));\n };\n })(),\n Monad0: function () {\n return monadExceptT(dictMonad);\n }\n };\n };\n var altExceptT = function (dictSemigroup) {\n return function (dictMonad) {\n return {\n alt: function (v) {\n return function (v1) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(function (rm) {\n if (rm instanceof Data_Either.Right) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(rm.value0));\n };\n if (rm instanceof Data_Either.Left) {\n return Control_Bind.bind(dictMonad.Bind1())(v1)(function (rn) {\n if (rn instanceof Data_Either.Right) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(rn.value0));\n };\n if (rn instanceof Data_Either.Left) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(Data_Semigroup.append(dictSemigroup)(rm.value0)(rn.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 87, column 9 - line 89, column 49): \" + [ rn.constructor.name ]);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Except.Trans (line 83, column 5 - line 89, column 49): \" + [ rm.constructor.name ]);\n });\n };\n },\n Functor0: function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }\n };\n };\n };\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"altExceptT\"] = altExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Monad.Except\"] = $PS[\"Control.Monad.Except\"] || {};\n var exports = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap();\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n exports[\"runExcept\"] = runExcept;\n})(PS);\n(function(exports) {\n /* eslint-disable no-eq-null, eqeqeq */\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n };\n\n exports._caseJson = function (isNull, isBool, isNum, isStr, isArr, isObj, j) {\n if (j == null) return isNull();\n else if (typeof j === \"boolean\") return isBool(j);\n else if (typeof j === \"number\") return isNum(j);\n else if (typeof j === \"string\") return isStr(j);\n else if (Object.prototype.toString.call(j) === \"[object Array]\")\n return isArr(j);\n else return isObj(j);\n };\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._copyST = function (m) {\n return function () {\n var r = {};\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r[k] = m[k];\n }\n }\n return r;\n };\n };\n\n exports.empty = {};\n\n exports.runST = function (f) {\n return f();\n };\n\n exports._fmapObject = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(m0[k]);\n }\n }\n return m;\n };\n\n exports._mapWithKey = function (m0, f) {\n var m = {};\n for (var k in m0) {\n if (hasOwnProperty.call(m0, k)) {\n m[k] = f(k)(m0[k]);\n }\n }\n return m;\n };\n\n exports._foldM = function (bind) {\n return function (f) {\n return function (mz) {\n return function (m) {\n var acc = mz;\n function g(k) {\n return function (z) {\n return f(z)(k)(m[k]);\n };\n }\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n acc = bind(acc)(g(k));\n }\n }\n return acc;\n };\n };\n };\n };\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n\n exports.toArrayWithKey = toArrayWithKey;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n exports.findIndexImpl = function (just) {\n return function (nothing) {\n return function (f) {\n return function (xs) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (f(xs[i])) return just(i);\n }\n return nothing;\n };\n };\n };\n };\n\n exports._deleteAt = function (just) {\n return function (nothing) {\n return function (i) {\n return function (l) {\n if (i < 0 || i >= l.length) return nothing;\n var l1 = l.slice();\n l1.splice(i, 1);\n return just(l1);\n };\n };\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Sorting ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.sortByImpl = (function () {\n function mergeFromTo(compare, fromOrdering, xs1, xs2, from, to) {\n var mid;\n var i;\n var j;\n var k;\n var x;\n var y;\n var c;\n\n mid = from + ((to - from) >> 1);\n if (mid - from > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, from, mid);\n if (to - mid > 1) mergeFromTo(compare, fromOrdering, xs2, xs1, mid, to);\n\n i = from;\n j = mid;\n k = from;\n while (i < mid && j < to) {\n x = xs2[i];\n y = xs2[j];\n c = fromOrdering(compare(x)(y));\n if (c > 0) {\n xs1[k++] = y;\n ++j;\n }\n else {\n xs1[k++] = x;\n ++i;\n }\n }\n while (i < mid) {\n xs1[k++] = xs2[i++];\n }\n while (j < to) {\n xs1[k++] = xs2[j++];\n }\n }\n\n return function (compare) {\n return function (fromOrdering) {\n return function (xs) {\n var out;\n\n if (xs.length < 2) return xs;\n\n out = xs.slice(0);\n mergeFromTo(compare, fromOrdering, out, xs.slice(0), 0, xs.length);\n\n return out;\n };\n };\n };\n })();\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n //------------------------------------------------------------------------------\n // Partial ---------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.unsafeIndexImpl = function (xs) {\n return function (n) {\n return xs[n];\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pushAll = function (as) {\n return function (xs) {\n return function () {\n return xs.push.apply(xs, as);\n };\n };\n };\n\n exports.unsafeFreeze = function (xs) {\n return function () {\n return xs;\n };\n };\n\n function copyImpl(xs) {\n return function () {\n return xs.slice();\n };\n } \n\n exports.thaw = copyImpl;\n})(PS[\"Data.Array.ST\"] = PS[\"Data.Array.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Array.ST\"] = $PS[\"Data.Array.ST\"] || {};\n var exports = $PS[\"Data.Array.ST\"];\n var $foreign = $PS[\"Data.Array.ST\"]; \n var withArray = function (f) {\n return function (xs) {\n return function __do() {\n var result = $foreign.thaw(xs)();\n f(result)();\n return $foreign.unsafeFreeze(result)();\n };\n };\n };\n var push = function (a) {\n return $foreign.pushAll([ a ]);\n };\n exports[\"withArray\"] = withArray;\n exports[\"push\"] = push;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Boolean\"] = $PS[\"Data.Boolean\"] || {};\n var exports = $PS[\"Data.Boolean\"];\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n }; \n exports.eqIntImpl = refEq; \n exports.eqCharImpl = refEq;\n exports.eqStringImpl = refEq;\n\n exports.eqArrayImpl = function (f) {\n return function (xs) {\n return function (ys) {\n if (xs.length !== ys.length) return false;\n for (var i = 0; i < xs.length; i++) {\n if (!f(xs[i])(ys[i])) return false;\n }\n return true;\n };\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Eq\"] = $PS[\"Data.Eq\"] || {};\n var exports = $PS[\"Data.Eq\"];\n var $foreign = $PS[\"Data.Eq\"];\n var eqUnit = {\n eq: function (v) {\n return function (v1) {\n return true;\n };\n }\n };\n var eqString = {\n eq: $foreign.eqStringImpl\n };\n var eqInt = {\n eq: $foreign.eqIntImpl\n };\n var eqChar = {\n eq: $foreign.eqCharImpl\n };\n var eq = function (dict) {\n return dict.eq;\n };\n var eqArray = function (dictEq) {\n return {\n eq: $foreign.eqArrayImpl(eq(dictEq))\n };\n };\n exports[\"eq\"] = eq;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqArray\"] = eqArray;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Monoid\"] = $PS[\"Data.Monoid\"] || {};\n var exports = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var monoidString = {\n mempty: \"\",\n Semigroup0: function () {\n return Data_Semigroup.semigroupString;\n }\n };\n var monoidArray = {\n mempty: [ ],\n Semigroup0: function () {\n return Data_Semigroup.semigroupArray;\n }\n };\n var mempty = function (dict) {\n return dict.mempty;\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 94, column 1 - line 94, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.HeytingAlgebra\"] = $PS[\"Data.HeytingAlgebra\"] || {};\n var exports = $PS[\"Data.HeytingAlgebra\"];\n var $foreign = $PS[\"Data.HeytingAlgebra\"];\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = {\n ff: false,\n tt: true,\n implies: function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n },\n conj: $foreign.boolConj,\n disj: $foreign.boolDisj,\n not: $foreign.boolNot\n };\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return {\n ff: function (v) {\n return ff(dictHeytingAlgebra);\n },\n tt: function (v) {\n return tt(dictHeytingAlgebra);\n },\n implies: function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n },\n conj: function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n },\n disj: function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n },\n not: function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }\n };\n };\n exports[\"ff\"] = ff;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Monoid.Disj\"] = $PS[\"Data.Monoid.Disj\"] || {};\n var exports = $PS[\"Data.Monoid.Disj\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return {\n append: function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n }\n };\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return {\n mempty: Data_HeytingAlgebra.ff(dictHeytingAlgebra),\n Semigroup0: function () {\n return semigroupDisj(dictHeytingAlgebra);\n }\n };\n };\n exports[\"Disj\"] = Disj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n }; \n exports.ordIntImpl = unsafeCompareImpl; \n exports.ordStringImpl = unsafeCompareImpl;\n exports.ordCharImpl = unsafeCompareImpl;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Ordering\"] = $PS[\"Data.Ordering\"] || {};\n var exports = $PS[\"Data.Ordering\"];\n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n var eqOrdering = {\n eq: function (v) {\n return function (v1) {\n if (v instanceof LT && v1 instanceof LT) {\n return true;\n };\n if (v instanceof GT && v1 instanceof GT) {\n return true;\n };\n if (v instanceof EQ && v1 instanceof EQ) {\n return true;\n };\n return false;\n };\n }\n };\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n exports[\"eqOrdering\"] = eqOrdering;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Ord\"] = $PS[\"Data.Ord\"] || {};\n var exports = $PS[\"Data.Ord\"];\n var $foreign = $PS[\"Data.Ord\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var ordUnit = {\n compare: function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n },\n Eq0: function () {\n return Data_Eq.eqUnit;\n }\n };\n var ordString = {\n compare: $foreign.ordStringImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value),\n Eq0: function () {\n return Data_Eq.eqString;\n }\n };\n var ordInt = {\n compare: $foreign.ordIntImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value),\n Eq0: function () {\n return Data_Eq.eqInt;\n }\n };\n var ordChar = {\n compare: $foreign.ordCharImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value),\n Eq0: function () {\n return Data_Eq.eqChar;\n }\n };\n var compare = function (dict) {\n return dict.compare;\n };\n var comparing = function (dictOrd) {\n return function (f) {\n return function (x) {\n return function (y) {\n return compare(dictOrd)(f(x))(f(y));\n };\n };\n };\n };\n exports[\"compare\"] = compare;\n exports[\"comparing\"] = comparing;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Foldable\"] = $PS[\"Data.Foldable\"] || {};\n var exports = $PS[\"Data.Foldable\"];\n var $foreign = $PS[\"Data.Foldable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)((function () {\n var $316 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($317) {\n return $316(f($317));\n };\n })())(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n };\n var intercalate = function (dictFoldable) {\n return function (dictMonoid) {\n return function (sep) {\n return function (xs) {\n var go = function (v) {\n return function (x) {\n if (v.init) {\n return {\n init: false,\n acc: x\n };\n };\n return {\n init: false,\n acc: Data_Semigroup.append(dictMonoid.Semigroup0())(v.acc)(Data_Semigroup.append(dictMonoid.Semigroup0())(sep)(x))\n };\n };\n };\n return (foldl(dictFoldable)(go)({\n init: true,\n acc: Data_Monoid.mempty(dictMonoid)\n })(xs)).acc;\n };\n };\n };\n };\n var maximumBy = function (dictFoldable) {\n return function (cmp) {\n var max$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $164 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value);\n if ($164) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 441, column 3 - line 441, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(max$prime)(Data_Maybe.Nothing.value);\n };\n };\n var maximum = function (dictOrd) {\n return function (dictFoldable) {\n return maximumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n };\n var minimumBy = function (dictFoldable) {\n return function (cmp) {\n var min$prime = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing) {\n return new Data_Maybe.Just(v1);\n };\n if (v instanceof Data_Maybe.Just) {\n return new Data_Maybe.Just((function () {\n var $168 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value);\n if ($168) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 454, column 3 - line 454, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n return foldl(dictFoldable)(min$prime)(Data_Maybe.Nothing.value);\n };\n };\n var minimum = function (dictOrd) {\n return function (dictFoldable) {\n return minimumBy(dictFoldable)(Data_Ord.compare(dictOrd));\n };\n };\n var foldableMaybe = {\n foldr: function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n },\n foldl: function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 138, column 1 - line 144, column 27): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n }\n };\n var foldableEither = {\n foldr: function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return z;\n };\n if (v1 instanceof Data_Either.Right) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n },\n foldl: function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return z;\n };\n if (v1 instanceof Data_Either.Right) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v1 instanceof Data_Either.Right) {\n return v(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 181, column 1 - line 187, column 28): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n }\n };\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = {\n foldr: $foreign.foldrArray,\n foldl: $foreign.foldlArray,\n foldMap: function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }\n };\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF()()()()(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"intercalate\"] = intercalate;\n exports[\"any\"] = any;\n exports[\"maximum\"] = maximum;\n exports[\"minimum\"] = minimum;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n exports[\"foldableEither\"] = foldableEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Tuple\"] = $PS[\"Data.Tuple\"] || {};\n var exports = $PS[\"Data.Tuple\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var uncurry = function (f) {\n return function (v) {\n return f(v.value0)(v.value1);\n };\n };\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = {\n map: function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }\n };\n var fst = function (v) {\n return v.value0;\n };\n var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return {\n eq: function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n }\n };\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return {\n compare: function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n },\n Eq0: function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }\n };\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"uncurry\"] = uncurry;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Unfoldable1\"] = $PS[\"Data.Unfoldable1\"] || {};\n var exports = $PS[\"Data.Unfoldable1\"];\n var $foreign = $PS[\"Data.Unfoldable1\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var unfoldable1Array = {\n unfoldr1: $foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd)\n };\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Unfoldable\"] = $PS[\"Data.Unfoldable\"] || {};\n var exports = $PS[\"Data.Unfoldable\"];\n var $foreign = $PS[\"Data.Unfoldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = $PS[\"Data.Unfoldable1\"]; \n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = {\n unfoldr: $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd),\n Unfoldable10: function () {\n return Data_Unfoldable1.unfoldable1Array;\n }\n };\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Array\"] = $PS[\"Data.Array\"] || {};\n var exports = $PS[\"Data.Array\"];\n var $foreign = $PS[\"Data.Array\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array_ST = $PS[\"Data.Array.ST\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"]; \n var unsafeIndex = function (dictPartial) {\n return $foreign.unsafeIndexImpl;\n }; \n var toUnfoldable = function (dictUnfoldable) {\n return function (xs) {\n var len = $foreign.length(xs);\n var f = function (i) {\n if (i < len) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(unsafeIndex()(xs)(i), i + 1 | 0));\n };\n if (Data_Boolean.otherwise) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 158, column 3 - line 160, column 26): \" + [ i.constructor.name ]);\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0);\n };\n };\n var sortBy = function (comp) {\n return $foreign.sortByImpl(comp)(function (v) {\n if (v instanceof Data_Ordering.GT) {\n return 1;\n };\n if (v instanceof Data_Ordering.EQ) {\n return 0;\n };\n if (v instanceof Data_Ordering.LT) {\n return -1 | 0;\n };\n throw new Error(\"Failed pattern match at Data.Array (line 831, column 31 - line 834, column 11): \" + [ v.constructor.name ]);\n });\n };\n var snoc = function (xs) {\n return function (x) {\n return Data_Array_ST.withArray(Data_Array_ST.push(x))(xs)();\n };\n };\n var singleton = function (a) {\n return [ a ];\n };\n var $$null = function (xs) {\n return $foreign.length(xs) === 0;\n };\n var intercalate = function (dictMonoid) {\n return Data_Foldable.intercalate(Data_Foldable.foldableArray)(dictMonoid);\n };\n var foldMap = function (dictMonoid) {\n return Data_Foldable.foldMap(Data_Foldable.foldableArray)(dictMonoid);\n };\n var findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var find = function (f) {\n return function (xs) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(unsafeIndex()(xs))(findIndex(f)(xs));\n };\n };\n var elemIndex = function (dictEq) {\n return function (x) {\n return findIndex(function (v) {\n return Data_Eq.eq(dictEq)(v)(x);\n });\n };\n };\n var notElem = function (dictEq) {\n return function (a) {\n return function (arr) {\n return Data_Maybe.isNothing(elemIndex(dictEq)(a)(arr));\n };\n };\n };\n var drop = function (n) {\n return function (xs) {\n var $89 = n < 1;\n if ($89) {\n return xs;\n };\n return $foreign.slice(n)($foreign.length(xs))(xs);\n };\n };\n var deleteAt = $foreign[\"_deleteAt\"](Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n var deleteBy = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2.length === 0) {\n return [ ];\n };\n return Data_Maybe.maybe(v2)(function (i) {\n return Data_Maybe.fromJust()(deleteAt(i)(v2));\n })(findIndex(v(v1))(v2));\n };\n };\n };\n var $$delete = function (dictEq) {\n return deleteBy(Data_Eq.eq(dictEq));\n };\n var cons = function (x) {\n return function (xs) {\n return Data_Semigroup.append(Data_Semigroup.semigroupArray)([ x ])(xs);\n };\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $109 = Data_Maybe.maybe([ ])(singleton);\n return function ($110) {\n return $109(f($110));\n };\n })());\n };\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"null\"] = $$null;\n exports[\"cons\"] = cons;\n exports[\"snoc\"] = snoc;\n exports[\"notElem\"] = notElem;\n exports[\"find\"] = find;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"foldMap\"] = foldMap;\n exports[\"intercalate\"] = intercalate;\n exports[\"sortBy\"] = sortBy;\n exports[\"drop\"] = drop;\n exports[\"delete\"] = $$delete;\n exports[\"deleteBy\"] = deleteBy;\n exports[\"length\"] = $foreign.length;\n exports[\"concat\"] = $foreign.concat;\n exports[\"filter\"] = $foreign.filter;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.runFn3 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return fn(a, b, c);\n };\n };\n };\n };\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Function.Uncurried\"] = $PS[\"Data.Function.Uncurried\"] || {};\n var exports = $PS[\"Data.Function.Uncurried\"];\n var $foreign = $PS[\"Data.Function.Uncurried\"];\n exports[\"runFn3\"] = $foreign.runFn3;\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // jshint maxparams: 3\n\n exports.traverseArrayImpl = (function () {\n function array1(a) {\n return [a];\n }\n\n function array2(a) {\n return function (b) {\n return [a, b];\n };\n }\n\n function array3(a) {\n return function (b) {\n return function (c) {\n return [a, b, c];\n };\n };\n }\n\n function concat2(xs) {\n return function (ys) {\n return xs.concat(ys);\n };\n }\n\n return function (apply) {\n return function (map) {\n return function (pure) {\n return function (f) {\n return function (array) {\n function go(bot, top) {\n switch (top - bot) {\n case 0: return pure([]);\n case 1: return map(array1)(f(array[bot]));\n case 2: return apply(map(array2)(f(array[bot])))(f(array[bot + 1]));\n case 3: return apply(apply(map(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));\n default:\n // This slightly tricky pivot selection aims to produce two\n // even-length partitions where possible.\n var pivot = bot + Math.floor((top - bot) / 4) * 2;\n return apply(map(concat2)(go(bot, pivot)))(go(pivot, top));\n }\n }\n return go(0, array.length);\n };\n };\n };\n };\n };\n })();\n})(PS[\"Data.Traversable\"] = PS[\"Data.Traversable\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Traversable\"] = $PS[\"Data.Traversable\"] || {};\n var exports = $PS[\"Data.Traversable\"];\n var $foreign = $PS[\"Data.Traversable\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var traverse = function (dict) {\n return dict.traverse;\n };\n var sequenceDefault = function (dictTraversable) {\n return function (dictApplicative) {\n return traverse(dictTraversable)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var traversableArray = {\n traverse: function (dictApplicative) {\n return $foreign.traverseArrayImpl(Control_Apply.apply(dictApplicative.Apply0()))(Data_Functor.map((dictApplicative.Apply0()).Functor0()))(Control_Applicative.pure(dictApplicative));\n },\n sequence: function (dictApplicative) {\n return sequenceDefault(traversableArray)(dictApplicative);\n },\n Functor0: function () {\n return Data_Functor.functorArray;\n },\n Foldable1: function () {\n return Data_Foldable.foldableArray;\n }\n };\n exports[\"traverse\"] = traverse;\n exports[\"traversableArray\"] = traversableArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.TraversableWithIndex\"] = $PS[\"Data.TraversableWithIndex\"] || {};\n var exports = $PS[\"Data.TraversableWithIndex\"];\n var traverseWithIndex = function (dict) {\n return dict.traverseWithIndex;\n };\n exports[\"traverseWithIndex\"] = traverseWithIndex;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n\n exports.poke = function (k) {\n return function (v) {\n return function (m) {\n return function () {\n m[k] = v;\n return m;\n };\n };\n };\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Foreign.Object.ST\"] = $PS[\"Foreign.Object.ST\"] || {};\n var exports = $PS[\"Foreign.Object.ST\"];\n var $foreign = $PS[\"Foreign.Object.ST\"];\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"poke\"] = $foreign.poke;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Foreign.Object\"] = $PS[\"Foreign.Object\"] || {};\n var exports = $PS[\"Foreign.Object\"];\n var $foreign = $PS[\"Foreign.Object\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = $PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"]; \n var values = $foreign.toArrayWithKey(function (v) {\n return function (v1) {\n return v1;\n };\n });\n var toUnfoldable = function (dictUnfoldable) {\n var $36 = Data_Array.toUnfoldable(dictUnfoldable);\n var $37 = $foreign.toArrayWithKey(Data_Tuple.Tuple.create);\n return function ($38) {\n return $36($37($38));\n };\n }; \n var thawST = $foreign[\"_copyST\"];\n var mutate = function (f) {\n return function (m) {\n return $foreign.runST(function __do() {\n var s = thawST(m)();\n f(s)();\n return s;\n });\n };\n }; \n var mapWithKey = function (f) {\n return function (m) {\n return $foreign[\"_mapWithKey\"](m, f);\n };\n };\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var insert = function (k) {\n return function (v) {\n return mutate(Foreign_Object_ST.poke(k)(v));\n };\n };\n var functorObject = {\n map: function (f) {\n return function (m) {\n return $foreign[\"_fmapObject\"](m, f);\n };\n }\n };\n var functorWithIndexObject = {\n mapWithIndex: mapWithKey,\n Functor0: function () {\n return functorObject;\n }\n };\n var fold = $foreign[\"_foldM\"](Data_Function.applyFlipped);\n var foldMap = function (dictMonoid) {\n return function (f) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f(k)(v));\n };\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n var foldableObject = {\n foldl: function (f) {\n return fold(function (z) {\n return function (v) {\n return f(z);\n };\n });\n },\n foldr: function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(f)(z)(values(m));\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return foldMap(dictMonoid)(Data_Function[\"const\"](f));\n };\n }\n };\n var foldableWithIndexObject = {\n foldlWithIndex: function (f) {\n return fold(Data_Function.flip(f));\n },\n foldrWithIndex: function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_Foldable.foldableArray)(Data_Tuple.uncurry(f))(z)($foreign.toArrayWithKey(Data_Tuple.Tuple.create)(m));\n };\n };\n },\n foldMapWithIndex: function (dictMonoid) {\n return foldMap(dictMonoid);\n },\n Foldable0: function () {\n return foldableObject;\n }\n };\n var traversableWithIndexObject = {\n traverseWithIndex: function (dictApplicative) {\n return function (f) {\n return function (ms) {\n return fold(function (acc) {\n return function (k) {\n return function (v) {\n return Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(Data_Function.flip(insert(k)))(acc))(f(k)(v));\n };\n };\n })(Control_Applicative.pure(dictApplicative)($foreign.empty))(ms);\n };\n };\n },\n FunctorWithIndex0: function () {\n return functorWithIndexObject;\n },\n FoldableWithIndex1: function () {\n return foldableWithIndexObject;\n },\n Traversable2: function () {\n return traversableObject;\n }\n };\n var traversableObject = {\n traverse: function (dictApplicative) {\n var $43 = Data_TraversableWithIndex.traverseWithIndex(traversableWithIndexObject)(dictApplicative);\n return function ($44) {\n return $43(Data_Function[\"const\"]($44));\n };\n },\n sequence: function (dictApplicative) {\n return Data_Traversable.traverse(traversableObject)(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n },\n Functor0: function () {\n return functorObject;\n },\n Foldable1: function () {\n return foldableObject;\n }\n };\n exports[\"lookup\"] = lookup;\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"values\"] = values;\n exports[\"traversableObject\"] = traversableObject;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Argonaut.Core\"] = $PS[\"Data.Argonaut.Core\"] || {};\n var exports = $PS[\"Data.Argonaut.Core\"];\n var $foreign = $PS[\"Data.Argonaut.Core\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var verbJsonType = function (def) {\n return function (f) {\n return function (g) {\n return g(def)(f);\n };\n };\n };\n var toJsonType = verbJsonType(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n var caseJsonObject = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, j);\n };\n };\n }; \n var toObject = toJsonType(caseJsonObject);\n var caseJsonNumber = function (d) {\n return function (f) {\n return function (j) {\n return $foreign[\"_caseJson\"](Data_Function[\"const\"](d), Data_Function[\"const\"](d), f, Data_Function[\"const\"](d), Data_Function[\"const\"](d), Data_Function[\"const\"](d), j);\n };\n };\n };\n exports[\"caseJsonNumber\"] = caseJsonNumber;\n exports[\"toObject\"] = toObject;\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Argonaut.Parser\"] = $PS[\"Data.Argonaut.Parser\"] || {};\n var exports = $PS[\"Data.Argonaut.Parser\"];\n var $foreign = $PS[\"Data.Argonaut.Parser\"];\n var Data_Either = $PS[\"Data.Either\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.toLower = function (s) {\n return s.toLowerCase();\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.String.Common\"] = $PS[\"Data.String.Common\"] || {};\n var exports = $PS[\"Data.String.Common\"];\n var $foreign = $PS[\"Data.String.Common\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"toLower\"] = $foreign.toLower;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // A helper which transforms the result ofencodeURIComponent to be compliant\n // with RFC3896, as described in the MDN documentation here:\n //\n // https://web.archive.org/web/20201206001047/https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\n function toRFC3896(input) {\n return input.replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16);\n });\n } \n\n exports._encodeFormURLComponent = function encode(fail, succeed, input) {\n try {\n return succeed(toRFC3896(encodeURIComponent(input)).replace(/%20/g, \"+\"));\n } catch (err) {\n return fail(err);\n }\n };\n\n function _decodeURIComponent(fail, succeed, input) {\n try {\n return succeed(decodeURIComponent(input));\n } catch (err) {\n return fail(err);\n }\n }\n\n exports._decodeURIComponent = _decodeURIComponent;\n})(PS[\"JSURI\"] = PS[\"JSURI\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"JSURI\"] = $PS[\"JSURI\"] || {};\n var exports = $PS[\"JSURI\"];\n var $foreign = $PS[\"JSURI\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Function_Uncurried = $PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var encodeFormURLComponent = Data_Function_Uncurried.runFn3($foreign[\"_encodeFormURLComponent\"])(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n var $$decodeURIComponent = Data_Function_Uncurried.runFn3($foreign[\"_decodeURIComponent\"])(Data_Function[\"const\"](Data_Maybe.Nothing.value))(Data_Maybe.Just.create);\n exports[\"encodeFormURLComponent\"] = encodeFormURLComponent;\n exports[\"decodeURIComponent\"] = $$decodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.FormURLEncoded\"] = $PS[\"Data.FormURLEncoded\"] || {};\n var exports = $PS[\"Data.FormURLEncoded\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var JSURI = $PS[\"JSURI\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return JSURI.encodeFormURLComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Control_Apply.apply(Data_Maybe.applyMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(function (key) {\n return function (val) {\n return key + (\"=\" + val);\n };\n })(JSURI.encodeFormURLComponent(v.value0)))(JSURI.encodeFormURLComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 116): \" + [ v.constructor.name ]);\n };\n var $16 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $17 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($18) {\n return $16($17(toArray($18)));\n };\n })();\n exports[\"encode\"] = encode;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n\n exports.showNumberImpl = function (n) {\n var str = n.toString();\n return isNaN(str + \".0\") ? str : str + \".0\";\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Show\"] = $PS[\"Data.Show\"] || {};\n var exports = $PS[\"Data.Show\"];\n var $foreign = $PS[\"Data.Show\"];\n var showNumber = {\n show: $foreign.showNumberImpl\n };\n var showInt = {\n show: $foreign.showIntImpl\n };\n var show = function (dict) {\n return dict.show;\n };\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n exports[\"showNumber\"] = showNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.HTTP.Method\"] = $PS[\"Data.HTTP.Method\"] || {};\n var exports = $PS[\"Data.HTTP.Method\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Show = $PS[\"Data.Show\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = {\n show: function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 43, column 1 - line 59, column 23): \" + [ v.constructor.name ]);\n }\n };\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"GET\"] = GET;\n exports[\"POST\"] = POST;\n exports[\"DELETE\"] = DELETE;\n exports[\"print\"] = print;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Identity\"] = $PS[\"Data.Identity\"] || {};\n var exports = $PS[\"Data.Identity\"]; \n var Identity = function (x) {\n return x;\n };\n var functorIdentity = {\n map: function (f) {\n return function (m) {\n return f(m);\n };\n }\n };\n var applyIdentity = {\n apply: function (v) {\n return function (v1) {\n return v(v1);\n };\n },\n Functor0: function () {\n return functorIdentity;\n }\n };\n var bindIdentity = {\n bind: function (v) {\n return function (f) {\n return f(v);\n };\n },\n Apply0: function () {\n return applyIdentity;\n }\n };\n var applicativeIdentity = {\n pure: Identity,\n Apply0: function () {\n return applyIdentity;\n }\n };\n var monadIdentity = {\n Applicative0: function () {\n return applicativeIdentity;\n },\n Bind1: function () {\n return bindIdentity;\n }\n };\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Plus\"] = $PS[\"Control.Plus\"] || {};\n var exports = $PS[\"Control.Plus\"];\n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"empty\"] = empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.NonEmpty\"] = $PS[\"Data.NonEmpty\"] || {};\n var exports = $PS[\"Data.NonEmpty\"];\n var Control_Plus = $PS[\"Control.Plus\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.List.Types\"] = $PS[\"Data.List.Types\"] || {};\n var exports = $PS[\"Data.List.Types\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var toList = function (v) {\n return new Cons(v.value0, v.value1);\n };\n var listMap = function (f) {\n var chunkedRevMap = function ($copy_chunksAcc) {\n return function ($copy_v) {\n var $tco_var_chunksAcc = $copy_chunksAcc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(chunksAcc, v) {\n if (v instanceof Cons && (v.value1 instanceof Cons && v.value1.value1 instanceof Cons)) {\n $tco_var_chunksAcc = new Cons(v, chunksAcc);\n $copy_v = v.value1.value1.value1;\n return;\n };\n var unrolledMap = function (v1) {\n if (v1 instanceof Cons && (v1.value1 instanceof Cons && v1.value1.value1 instanceof Nil)) {\n return new Cons(f(v1.value0), new Cons(f(v1.value1.value0), Nil.value));\n };\n if (v1 instanceof Cons && v1.value1 instanceof Nil) {\n return new Cons(f(v1.value0), Nil.value);\n };\n return Nil.value;\n };\n var reverseUnrolledMap = function ($copy_v1) {\n return function ($copy_acc) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(v1, acc) {\n if (v1 instanceof Cons && (v1.value0 instanceof Cons && (v1.value0.value1 instanceof Cons && v1.value0.value1.value1 instanceof Cons))) {\n $tco_var_v1 = v1.value1;\n $copy_acc = new Cons(f(v1.value0.value0), new Cons(f(v1.value0.value1.value0), new Cons(f(v1.value0.value1.value1.value0), acc)));\n return;\n };\n $tco_done1 = true;\n return acc;\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_v1, $copy_acc);\n };\n return $tco_result;\n };\n };\n $tco_done = true;\n return reverseUnrolledMap(chunksAcc)(unrolledMap(v));\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_chunksAcc, $copy_v);\n };\n return $tco_result;\n };\n };\n return chunkedRevMap(Nil.value);\n };\n var functorList = {\n map: listMap\n }; \n var foldableList = {\n foldr: function (f) {\n return function (b) {\n var rev = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Cons) {\n $tco_var_acc = new Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 108, column 7 - line 108, column 23): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Nil.value);\n })();\n var $205 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($206) {\n return $205(rev($206));\n };\n };\n },\n foldl: function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done1 = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 112, column 12 - line 114, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n var $207 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($208) {\n return $207(f($208));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }\n };\n var semigroupList = {\n append: function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n }\n };\n var semigroupNonEmptyList = {\n append: function (v) {\n return function (as$prime) {\n return new Data_NonEmpty.NonEmpty(v.value0, Data_Semigroup.append(semigroupList)(v.value1)(toList(as$prime)));\n };\n }\n };\n var applyList = {\n apply: function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 158, column 1 - line 160, column 48): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n },\n Functor0: function () {\n return functorList;\n }\n };\n var applicativeList = {\n pure: function (a) {\n return new Cons(a, Nil.value);\n },\n Apply0: function () {\n return applyList;\n }\n };\n var altList = {\n alt: Data_Semigroup.append(semigroupList),\n Functor0: function () {\n return functorList;\n }\n };\n var plusList = {\n empty: Nil.value,\n Alt0: function () {\n return altList;\n }\n };\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"plusList\"] = plusList;\n exports[\"semigroupNonEmptyList\"] = semigroupNonEmptyList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.List.NonEmpty\"] = $PS[\"Data.List.NonEmpty\"] || {};\n var exports = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var singleton = (function () {\n var $172 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($173) {\n return Data_List_Types.NonEmptyList($172($173));\n };\n })();\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS);\n(function(exports) {\n /* eslint-disable no-eq-null, eqeqeq */\n\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Nullable\"] = $PS[\"Data.Nullable\"] || {};\n var exports = $PS[\"Data.Nullable\"];\n var $foreign = $PS[\"Data.Nullable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n exports[\"null\"] = $foreign[\"null\"];\n})(PS);\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* eslint-disable no-unused-vars, no-prototype-builtins, no-use-before-define, no-unused-labels, no-param-reassign */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n })();\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n if (count === 0) {\n return cb();\n }\n\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n try {\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n } catch (e) {\n status = RETURN;\n fail = util.left(e);\n step = null;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an unmasked interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an unmasked interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp && bracketCount === 0 || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item, and the bracket count is 0. If the\n // bracket count is non-zero then we are in a masked state so it's\n // impossible to be killed.\n if (interrupt && interrupt !== tmp && bracketCount === 0) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n bracketCount++;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect\"] = $PS[\"Effect\"] || {};\n var exports = $PS[\"Effect\"];\n var $foreign = $PS[\"Effect\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"]; \n var monadEffect = {\n Applicative0: function () {\n return applicativeEffect;\n },\n Bind1: function () {\n return bindEffect;\n }\n };\n var bindEffect = {\n bind: $foreign.bindE,\n Apply0: function () {\n return applyEffect;\n }\n };\n var applyEffect = {\n apply: Control_Monad.ap(monadEffect),\n Functor0: function () {\n return functorEffect;\n }\n };\n var applicativeEffect = {\n pure: $foreign.pureE,\n Apply0: function () {\n return applyEffect;\n }\n };\n var functorEffect = {\n map: Control_Applicative.liftA1(applicativeEffect)\n };\n var semigroupEffect = function (dictSemigroup) {\n return {\n append: Control_Apply.lift2(applyEffect)(Data_Semigroup.append(dictSemigroup))\n };\n };\n var monoidEffect = function (dictMonoid) {\n return {\n mempty: $foreign.pureE(Data_Monoid.mempty(dictMonoid)),\n Semigroup0: function () {\n return semigroupEffect(dictMonoid.Semigroup0());\n }\n };\n };\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n exports[\"monoidEffect\"] = monoidEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports.modifyImpl = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect.Ref\"] = $PS[\"Effect.Ref\"] || {};\n var exports = $PS[\"Effect.Ref\"];\n var $foreign = $PS[\"Effect.Ref\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"]; \n var modify$prime = $foreign.modifyImpl;\n var modify = function (f) {\n return modify$prime(function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify'\"] = modify$prime;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Monad.Rec.Class\"] = $PS[\"Control.Monad.Rec.Class\"] || {};\n var exports = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var tailRecM = function (dict) {\n return dict.tailRecM;\n };\n var monadRecEffect = {\n tailRecM: function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 113, column 30 - line 113, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var r = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v = Effect_Ref.read(r)();\n if (v instanceof Loop) {\n var e = f(v.value0)();\n Effect_Ref.write(e)(r)();\n return false;\n };\n if (v instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 104, column 22 - line 109, column 28): \" + [ v.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(r))();\n };\n };\n },\n Monad0: function () {\n return Effect.monadEffect;\n }\n };\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Parallel.Class\"] = $PS[\"Control.Parallel.Class\"] || {};\n var exports = $PS[\"Control.Parallel.Class\"];\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Parallel\"] = $PS[\"Control.Parallel\"] || {};\n var exports = $PS[\"Control.Parallel\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n var $17 = Control_Parallel_Class.sequential(dictParallel);\n var $18 = Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)((function () {\n var $20 = Control_Parallel_Class.parallel(dictParallel);\n return function ($21) {\n return $20(f($21));\n };\n })());\n return function ($19) {\n return $17($18($19));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parSequence_\"] = parSequence_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect.Class\"] = $PS[\"Effect.Class\"] || {};\n var exports = $PS[\"Effect.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect = $PS[\"Effect\"]; \n var monadEffectEffect = {\n liftEffect: Control_Category.identity(Control_Category.categoryFn),\n Monad0: function () {\n return Effect.monadEffect;\n }\n };\n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"monadEffectEffect\"] = monadEffectEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect.Unsafe\"] = $PS[\"Effect.Unsafe\"] || {};\n var exports = $PS[\"Effect.Unsafe\"];\n var $foreign = $PS[\"Effect.Unsafe\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports._unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports._crashWith = function (msg) {\n throw new Error(msg);\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"]; \n var crashWith = function (dictPartial) {\n return $foreign[\"_crashWith\"];\n };\n exports[\"crashWith\"] = crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Partial.Unsafe\"] = $PS[\"Partial.Unsafe\"] || {};\n var exports = $PS[\"Partial.Unsafe\"];\n var $foreign = $PS[\"Partial.Unsafe\"];\n var Partial = $PS[\"Partial\"]; \n var unsafePartial = $foreign[\"_unsafePartial\"];\n var unsafeCrashWith = function (msg) {\n return unsafePartial(function (dictPartial) {\n return Partial.crashWith()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect.Aff\"] = $PS[\"Effect.Aff\"] || {};\n var exports = $PS[\"Effect.Aff\"];\n var $foreign = $PS[\"Effect.Aff\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Unsafe = $PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = $PS[\"Partial.Unsafe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = {\n map: $foreign[\"_parAffMap\"]\n };\n var functorAff = {\n map: $foreign[\"_map\"]\n };\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 404, column 21 - line 406, column 54): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 399, column 20 - line 401, column 54): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 394, column 12 - line 396, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var fiber = makeFiber(aff)();\n fiber.run();\n return fiber;\n };\n };\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n };\n var applyParAff = {\n apply: $foreign[\"_parAffApply\"],\n Functor0: function () {\n return functorParAff;\n }\n };\n var monadAff = {\n Applicative0: function () {\n return applicativeAff;\n },\n Bind1: function () {\n return bindAff;\n }\n };\n var bindAff = {\n bind: $foreign[\"_bind\"],\n Apply0: function () {\n return applyAff;\n }\n };\n var applyAff = {\n apply: Control_Monad.ap(monadAff),\n Functor0: function () {\n return functorAff;\n }\n };\n var applicativeAff = {\n pure: $foreign[\"_pure\"],\n Apply0: function () {\n return applyAff;\n }\n };\n var $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = {\n liftEffect: $foreign[\"_liftEffect\"],\n Monad0: function () {\n return monadAff;\n }\n };\n var effectCanceler = (function () {\n var $42 = Effect_Class.liftEffect(monadEffectAff);\n return function ($43) {\n return Canceler(Data_Function[\"const\"]($42($43)));\n };\n })();\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = {\n map: function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n }\n };\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n }; \n var monadThrowAff = {\n throwError: $foreign[\"_throwError\"],\n Monad0: function () {\n return monadAff;\n }\n };\n var monadErrorAff = {\n catchError: $foreign[\"_catchError\"],\n MonadThrow0: function () {\n return monadThrowAff;\n }\n }; \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)((function () {\n var $46 = Effect_Class.liftEffect(monadEffectAff);\n return function ($47) {\n return $46(k($47));\n };\n })())(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = {\n parallel: Unsafe_Coerce.unsafeCoerce,\n sequential: $foreign[\"_sequential\"],\n Monad0: function () {\n return monadAff;\n },\n Applicative1: function () {\n return applicativeParAff;\n }\n };\n var applicativeParAff = {\n pure: (function () {\n var $50 = Control_Parallel_Class.parallel(parallelAff);\n var $51 = Control_Applicative.pure(applicativeAff);\n return function ($52) {\n return $50($51($52));\n };\n })(),\n Apply0: function () {\n return applyParAff;\n }\n };\n var semigroupCanceler = {\n append: function (v) {\n return function (v1) {\n return function (err) {\n return Control_Parallel.parSequence_(parallelAff)(Data_Foldable.foldableArray)([ v(err), v1(err) ]);\n };\n };\n }\n };\n var monadRecAff = {\n tailRecM: function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (res) {\n if (res instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(res.value0);\n };\n if (res instanceof Control_Monad_Rec_Class.Loop) {\n return go(res.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 102, column 7 - line 104, column 22): \" + [ res.constructor.name ]);\n });\n };\n return go;\n },\n Monad0: function () {\n return monadAff;\n }\n };\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n var monoidCanceler = {\n mempty: nonCanceler,\n Semigroup0: function () {\n return semigroupCanceler;\n }\n };\n exports[\"launchAff\"] = launchAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"monoidCanceler\"] = monoidCanceler;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect.Aff.Compat\"] = $PS[\"Effect.Aff.Compat\"] || {};\n var exports = $PS[\"Effect.Aff.Compat\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.message = function (e) {\n return e.message;\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect.Exception\"] = $PS[\"Effect.Exception\"] || {};\n var exports = $PS[\"Effect.Exception\"];\n var $foreign = $PS[\"Effect.Exception\"];\n var $$throw = function ($2) {\n return $foreign.throwException($foreign.error($2));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"message\"] = $foreign.message;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.fromNumberImpl = function (just) {\n return function (nothing) {\n return function (n) {\n /* jshint bitwise: false */\n return (n | 0) === n ? just(n) : nothing;\n };\n };\n };\n\n exports.toNumber = function (n) {\n return n;\n };\n})(PS[\"Data.Int\"] = PS[\"Data.Int\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Int\"] = $PS[\"Data.Int\"] || {};\n var exports = $PS[\"Data.Int\"];\n var $foreign = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var fromNumber = $foreign.fromNumberImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\n exports[\"fromNumber\"] = fromNumber;\n exports[\"toNumber\"] = $foreign.toNumber;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Foreign\"] = $PS[\"Foreign\"] || {};\n var exports = $PS[\"Foreign\"];\n var $foreign = $PS[\"Foreign\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var unsafeToForeign = Unsafe_Coerce.unsafeCoerce;\n var unsafeFromForeign = Unsafe_Coerce.unsafeCoerce;\n var fail = function (dictMonad) {\n var $118 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(dictMonad));\n return function ($119) {\n return $118(Data_List_NonEmpty.singleton($119));\n };\n };\n var unsafeReadTagged = function (dictMonad) {\n return function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad))(unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(dictMonad)(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 110, column 1 - line 110, column 71): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n };\n var readBoolean = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"Boolean\");\n };\n var readNumber = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"Number\");\n };\n var readInt = function (dictMonad) {\n return function (value) {\n var error = Data_Either.Left.create(Data_List_NonEmpty.singleton(new TypeMismatch(\"Int\", $foreign.tagOf(value))));\n var fromNumber = (function () {\n var $120 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($121) {\n return $120(Data_Int.fromNumber($121));\n };\n })();\n return Control_Monad_Except_Trans.mapExceptT(Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.either(Data_Function[\"const\"](error))(fromNumber)))(readNumber(dictMonad)(value));\n };\n };\n var readString = function (dictMonad) {\n return unsafeReadTagged(dictMonad)(\"String\");\n };\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeToForeign\"] = unsafeToForeign;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"readInt\"] = readInt;\n exports[\"fail\"] = fail;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Affjax\"] = $PS[\"Affjax\"] || {};\n var exports = $PS[\"Affjax\"];\n var $foreign = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = $PS[\"Affjax.ResponseHeader\"];\n var Control_Alt = $PS[\"Control.Alt\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = $PS[\"Data.Argonaut.Parser\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = $PS[\"Data.FormURLEncoded\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = $PS[\"Effect.Aff.Compat\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Foreign = $PS[\"Foreign\"]; \n var RequestContentError = (function () {\n function RequestContentError(value0) {\n this.value0 = value0;\n };\n RequestContentError.create = function (value0) {\n return new RequestContentError(value0);\n };\n return RequestContentError;\n })();\n var ResponseBodyError = (function () {\n function ResponseBodyError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseBodyError.create = function (value0) {\n return function (value1) {\n return new ResponseBodyError(value0, value1);\n };\n };\n return ResponseBodyError;\n })();\n var TimeoutError = (function () {\n function TimeoutError() {\n\n };\n TimeoutError.value = new TimeoutError();\n return TimeoutError;\n })();\n var RequestFailedError = (function () {\n function RequestFailedError() {\n\n };\n RequestFailedError.value = new RequestFailedError();\n return RequestFailedError;\n })();\n var XHROtherError = (function () {\n function XHROtherError(value0) {\n this.value0 = value0;\n };\n XHROtherError.create = function (value0) {\n return new XHROtherError(value0);\n };\n return XHROtherError;\n })();\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either((function () {\n var $51 = Foreign.fail(Data_Identity.monadIdentity);\n return function ($52) {\n return $51(Foreign.ForeignError.create($52));\n };\n })())(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return function (x) {\n return Control_Alt.alt(Control_Monad_Except_Trans.altExceptT(Data_List_Types.semigroupNonEmptyList)(Data_Identity.monadIdentity))(Control_Alt.alt(Control_Monad_Except_Trans.altExceptT(Data_List_Types.semigroupNonEmptyList)(Data_Identity.monadIdentity))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"Document\")(x))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"XMLDocument\")(x)))(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"HTMLDocument\")(x));\n };\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($53) {\n return req.responseFormat.value0(parseJSON($53));\n })(Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(Data_Identity.monadIdentity)(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 257, column 18 - line 265, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return Data_Either.Right.create(v.value0(Foreign.unsafeToForeign));\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(v.value0));\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Data_Either.note(\"Body contains values that cannot be encoded as application/x-www-form-urlencoded\")(Data_Functor.map(Data_Maybe.functorMaybe)(Foreign.unsafeToForeign)(Data_FormURLEncoded.encode(v.value0)));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Data_Either.Right.create(Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 217, column 20 - line 232, column 69): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var ajaxRequest = function (v) {\n return {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: v,\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials,\n timeout: Data_Maybe.fromMaybe(0.0)(Data_Functor.map(Data_Maybe.functorMaybe)(function (v1) {\n return v1;\n })(req.timeout))\n };\n };\n var send = function (content) {\n return Data_Functor.mapFlipped(Effect_Aff.functorAff)(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](\"AffjaxTimeoutErrorMessageIdent\", \"AffjaxRequestFailedMessageIdent\", Affjax_ResponseHeader.ResponseHeader.create, ajaxRequest(content)))))(function (v) {\n if (v instanceof Data_Either.Right) {\n var v1 = Control_Monad_Except.runExcept(fromResponse(v.value0.body));\n if (v1 instanceof Data_Either.Left) {\n return new Data_Either.Left(new ResponseBodyError(Data_List_NonEmpty.head(v1.value0), v.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return new Data_Either.Right({\n body: v1.value0,\n headers: v.value0.headers,\n status: v.value0.status,\n statusText: v.value0.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 193, column 9 - line 195, column 52): \" + [ v1.constructor.name ]);\n };\n if (v instanceof Data_Either.Left) {\n var message = Effect_Exception.message(v.value0);\n return Data_Either.Left.create((function () {\n var $38 = message === \"AffjaxTimeoutErrorMessageIdent\";\n if ($38) {\n return TimeoutError.value;\n };\n var $39 = message === \"AffjaxRequestFailedMessageIdent\";\n if ($39) {\n return RequestFailedError.value;\n };\n return new XHROtherError(v.value0);\n })());\n };\n throw new Error(\"Failed pattern match at Affjax (line 191, column 137 - line 201, column 33): \" + [ v.constructor.name ]);\n });\n };\n if (req.content instanceof Data_Maybe.Nothing) {\n return send(Data_Nullable.toNullable(Data_Maybe.Nothing.value));\n };\n if (req.content instanceof Data_Maybe.Just) {\n var v = extractContent(req.content.value0);\n if (v instanceof Data_Either.Right) {\n return send(Data_Nullable.toNullable(new Data_Maybe.Just(v.value0)));\n };\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(new Data_Either.Left(new RequestContentError(v.value0)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 183, column 7 - line 187, column 48): \" + [ v.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Affjax (line 179, column 3 - line 187, column 48): \" + [ req.content.constructor.name ]);\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore,\n timeout: Data_Maybe.Nothing.value\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Affjax.StatusCode\"] = $PS[\"Affjax.StatusCode\"] || {};\n var exports = $PS[\"Affjax.StatusCode\"];\n var eqStatusCode = {\n eq: function (x) {\n return function (y) {\n return x === y;\n };\n }\n };\n exports[\"eqStatusCode\"] = eqStatusCode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Error\"] = $PS[\"Data.Argonaut.Decode.Error\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Error\"]; \n var TypeMismatch = (function () {\n function TypeMismatch(value0) {\n this.value0 = value0;\n };\n TypeMismatch.create = function (value0) {\n return new TypeMismatch(value0);\n };\n return TypeMismatch;\n })();\n var Named = (function () {\n function Named(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Named.create = function (value0) {\n return function (value1) {\n return new Named(value0, value1);\n };\n };\n return Named;\n })();\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"Named\"] = Named;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Bifunctor\"] = $PS[\"Data.Bifunctor\"] || {};\n var exports = $PS[\"Data.Bifunctor\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"]; \n var bimap = function (dict) {\n return dict.bimap;\n };\n var lmap = function (dictBifunctor) {\n return function (f) {\n return bimap(dictBifunctor)(f)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n var bifunctorEither = {\n bimap: function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Data_Either.Left) {\n return new Data_Either.Left(v(v2.value0));\n };\n if (v2 instanceof Data_Either.Right) {\n return new Data_Either.Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Bifunctor (line 32, column 1 - line 34, column 36): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n }\n };\n exports[\"bimap\"] = bimap;\n exports[\"lmap\"] = lmap;\n exports[\"bifunctorEither\"] = bifunctorEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Decoders\"] = $PS[\"Data.Argonaut.Decode.Decoders\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Decoders\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Core = $PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Decode_Error = $PS[\"Data.Argonaut.Decode.Error\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Traversable = $PS[\"Data.Traversable\"];\n var Foreign_Object = $PS[\"Foreign.Object\"]; \n var decodeNumber = Data_Argonaut_Core.caseJsonNumber(Data_Either.Left.create(new Data_Argonaut_Decode_Error.TypeMismatch(\"Number\")))(Data_Either.Right.create);\n var decodeJObject = (function () {\n var $20 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"Object\"));\n return function ($21) {\n return $20(Data_Argonaut_Core.toObject($21));\n };\n })();\n var decodeInt = Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $54 = Data_Either.note(new Data_Argonaut_Decode_Error.TypeMismatch(\"Integer\"));\n return function ($55) {\n return $54(Data_Int.fromNumber($55));\n };\n })())(decodeNumber);\n var decodeForeignObject = function (decoder) {\n return Control_Bind.composeKleisliFlipped(Data_Either.bindEither)((function () {\n var $56 = Data_Bifunctor.lmap(Data_Bifunctor.bifunctorEither)(Data_Argonaut_Decode_Error.Named.create(\"ForeignObject\"));\n var $57 = Data_Traversable.traverse(Foreign_Object.traversableObject)(Data_Either.applicativeEither)(decoder);\n return function ($58) {\n return $56($57($58));\n };\n })())(decodeJObject);\n };\n exports[\"decodeInt\"] = decodeInt;\n exports[\"decodeForeignObject\"] = decodeForeignObject;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Argonaut.Decode.Class\"] = $PS[\"Data.Argonaut.Decode.Class\"] || {};\n var exports = $PS[\"Data.Argonaut.Decode.Class\"];\n var Data_Argonaut_Decode_Decoders = $PS[\"Data.Argonaut.Decode.Decoders\"];\n var decodeJsonInt = {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeInt\n };\n var decodeJson = function (dict) {\n return dict.decodeJson;\n };\n var decodeForeignObject = function (dictDecodeJson) {\n return {\n decodeJson: Data_Argonaut_Decode_Decoders.decodeForeignObject(decodeJson(dictDecodeJson))\n };\n };\n exports[\"decodeJson\"] = decodeJson;\n exports[\"decodeJsonInt\"] = decodeJsonInt;\n exports[\"decodeForeignObject\"] = decodeForeignObject;\n})(PS);\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n\n exports._setFocus = function(elemId) {\n document.getElementById(elemId).focus();\n };\n\n\n exports._toLocaleDateString = function(dateString) {\n return new Date(dateString).toLocaleDateString(undefined, {dateStyle: 'medium'}) \n }\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Globals\"] = $PS[\"Globals\"] || {};\n var exports = $PS[\"Globals\"];\n var $foreign = $PS[\"Globals\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var RawHTML = function (x) {\n return x;\n };\n var toLocaleDateString = function (s) {\n return $foreign[\"_toLocaleDateString\"](s);\n };\n var setFocus = function (s) {\n return function () {\n return $foreign[\"_setFocus\"](s);\n };\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return function () {\n return $foreign[\"_closeWindow\"](win);\n };\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n exports[\"setFocus\"] = setFocus;\n exports[\"toLocaleDateString\"] = toLocaleDateString;\n})(PS);\n(function(exports) {\n \n\n exports._unsafeStringify = JSON.stringify;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Symbol\"] = $PS[\"Data.Symbol\"] || {};\n var exports = $PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Record.Unsafe\"] = $PS[\"Record.Unsafe\"] || {};\n var exports = $PS[\"Record.Unsafe\"];\n var $foreign = $PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Record\"] = $PS[\"Record\"] || {};\n var exports = $PS[\"Record\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Record_Unsafe = $PS[\"Record.Unsafe\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Record.Builder\"] = $PS[\"Record.Builder\"] || {};\n var exports = $PS[\"Record.Builder\"];\n var $foreign = $PS[\"Record.Builder\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Type.Proxy\"] = $PS[\"Type.Proxy\"] || {};\n var exports = $PS[\"Type.Proxy\"];\n var $$Proxy = (function () {\n function $$Proxy() {\n\n };\n $$Proxy.value = new $$Proxy();\n return $$Proxy;\n })();\n exports[\"Proxy\"] = $$Proxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $PS[\"Simple.JSON\"];\n var $foreign = $PS[\"Simple.JSON\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Foreign = $PS[\"Foreign\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Proxy = $PS[\"Type.Proxy\"];\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n var $93 = writeImpl(dictWriteForeign);\n return function ($94) {\n return $foreign[\"_unsafeStringify\"]($93($94));\n };\n };\n var writeForeignString = {\n writeImpl: Foreign.unsafeToForeign\n };\n var writeForeignNullable = function (dictWriteForeign) {\n return {\n writeImpl: (function () {\n var $97 = Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign));\n return function ($98) {\n return $97(Data_Nullable.toMaybe($98));\n };\n })()\n };\n };\n var writeForeignInt = {\n writeImpl: Foreign.unsafeToForeign\n };\n var writeForeignForeign = {\n writeImpl: Control_Category.identity(Control_Category.categoryFn)\n };\n var writeForeignBoolean = {\n writeImpl: Foreign.unsafeToForeign\n };\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return {\n writeImpl: function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Proxy[\"Proxy\"].value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n }\n };\n };\n };\n var nilWriteForeignFields = {\n writeImplFields: function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n }\n };\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return {\n writeImplFields: function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Proxy[\"Proxy\"].value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)()(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n }\n };\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"writeForeignForeign\"] = writeForeignForeign;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Model\"] = $PS[\"Model\"] || {};\n var exports = $PS[\"Model\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Foreign = $PS[\"Foreign\"];\n var Simple_JSON = $PS[\"Simple.JSON\"]; \n var TagCloudModeTop = (function () {\n function TagCloudModeTop(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeTop.create = function (value0) {\n return function (value1) {\n return new TagCloudModeTop(value0, value1);\n };\n };\n return TagCloudModeTop;\n })();\n var TagCloudModeLowerBound = (function () {\n function TagCloudModeLowerBound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeLowerBound.create = function (value0) {\n return function (value1) {\n return new TagCloudModeLowerBound(value0, value1);\n };\n };\n return TagCloudModeLowerBound;\n })();\n var TagCloudModeRelated = (function () {\n function TagCloudModeRelated(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TagCloudModeRelated.create = function (value0) {\n return function (value1) {\n return new TagCloudModeRelated(value0, value1);\n };\n };\n return TagCloudModeRelated;\n })();\n var TagCloudModeNone = (function () {\n function TagCloudModeNone() {\n\n };\n TagCloudModeNone.value = new TagCloudModeNone();\n return TagCloudModeNone;\n })();\n var writeForeignTagCloudMode$prime = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"expanded\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"mode\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"value\";\n }\n })(Simple_JSON.writeForeignForeign)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var writeForeignNote$prime = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"created\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"id\";\n }\n })(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"isMarkdown\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"length\";\n }\n })(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"shared\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"slug\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"text\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"title\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"updated\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()());\n var writeForeignBookmark$prime = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"archiveUrl\";\n }\n })(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"bid\";\n }\n })(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"description\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"private\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"selected\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"slug\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"tags\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"time\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"title\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"toread\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"url\";\n }\n })(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n var writeForeignAccountSettin = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"archiveDefault\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"privacyLock\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields({\n reflectSymbol: function () {\n return \"privateDefault\";\n }\n })(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var eqTagCloudModeF = {\n eq: function (x) {\n return function (y) {\n if (x instanceof TagCloudModeTop && y instanceof TagCloudModeTop) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeLowerBound && y instanceof TagCloudModeLowerBound) {\n return x.value0 === y.value0 && x.value1 === y.value1;\n };\n if (x instanceof TagCloudModeRelated && y instanceof TagCloudModeRelated) {\n return x.value0 === y.value0 && Data_Eq.eq(Data_Eq.eqArray(Data_Eq.eqString))(x.value1)(y.value1);\n };\n if (x instanceof TagCloudModeNone && y instanceof TagCloudModeNone) {\n return true;\n };\n return false;\n };\n }\n };\n var tagCloudModeToF = function (tagCloudMode) {\n return Data_Maybe.fromMaybe(TagCloudModeNone.value)(Data_Either.hush(Control_Monad_Except.runExcept((function () {\n if (tagCloudMode.mode === \"top\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeTop.create(tagCloudMode.expanded))(Foreign.readInt(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"lowerBound\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(TagCloudModeLowerBound.create(tagCloudMode.expanded))(Foreign.readInt(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n if (tagCloudMode.mode === \"related\") {\n return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(function (s) {\n return new TagCloudModeRelated(tagCloudMode.expanded, Data_String_Common.split(\" \")(s));\n })(Foreign.readString(Data_Identity.monadIdentity)(tagCloudMode.value));\n };\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(TagCloudModeNone.value);\n })())));\n };\n var tagCloudModeFromF = function (v) {\n if (v instanceof TagCloudModeTop) {\n return {\n mode: \"top\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeLowerBound) {\n return {\n mode: \"lowerBound\",\n value: Foreign.unsafeToForeign(v.value1),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeRelated) {\n return {\n mode: \"related\",\n value: Foreign.unsafeToForeign(Data_Array.intercalate(Data_Monoid.monoidString)(\" \")(v.value1)),\n expanded: v.value0\n };\n };\n if (v instanceof TagCloudModeNone) {\n return {\n mode: \"none\",\n value: Foreign.unsafeToForeign(\"\"),\n expanded: false\n };\n };\n throw new Error(\"Failed pattern match at Model (line 92, column 1 - line 92, column 51): \" + [ v.constructor.name ]);\n };\n var setExpanded = function (v) {\n return function (v1) {\n if (v instanceof TagCloudModeTop) {\n return new TagCloudModeTop(v1, v.value1);\n };\n if (v instanceof TagCloudModeLowerBound) {\n return new TagCloudModeLowerBound(v1, v.value1);\n };\n if (v instanceof TagCloudModeRelated) {\n return new TagCloudModeRelated(v1, v.value1);\n };\n if (v instanceof TagCloudModeNone) {\n return TagCloudModeNone.value;\n };\n throw new Error(\"Failed pattern match at Model (line 112, column 1 - line 112, column 57): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var isRelated = function (v) {\n if (v instanceof TagCloudModeRelated) {\n return true;\n };\n return false;\n };\n var isExpanded = function (v) {\n if (v instanceof TagCloudModeTop) {\n return v.value0;\n };\n if (v instanceof TagCloudModeLowerBound) {\n return v.value0;\n };\n if (v instanceof TagCloudModeRelated) {\n return v.value0;\n };\n if (v instanceof TagCloudModeNone) {\n return false;\n };\n throw new Error(\"Failed pattern match at Model (line 102, column 1 - line 102, column 39): \" + [ v.constructor.name ]);\n };\n exports[\"TagCloudModeTop\"] = TagCloudModeTop;\n exports[\"TagCloudModeLowerBound\"] = TagCloudModeLowerBound;\n exports[\"TagCloudModeRelated\"] = TagCloudModeRelated;\n exports[\"TagCloudModeNone\"] = TagCloudModeNone;\n exports[\"tagCloudModeToF\"] = tagCloudModeToF;\n exports[\"tagCloudModeFromF\"] = tagCloudModeFromF;\n exports[\"isExpanded\"] = isExpanded;\n exports[\"isRelated\"] = isRelated;\n exports[\"setExpanded\"] = setExpanded;\n exports[\"writeForeignBookmark'\"] = writeForeignBookmark$prime;\n exports[\"writeForeignNote'\"] = writeForeignNote$prime;\n exports[\"writeForeignAccountSettin\"] = writeForeignAccountSettin;\n exports[\"writeForeignTagCloudMode'\"] = writeForeignTagCloudMode$prime;\n exports[\"eqTagCloudModeF\"] = eqTagCloudModeF;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.HTML\"] = $PS[\"Web.HTML\"] || {};\n var exports = $PS[\"Web.HTML\"];\n var $foreign = $PS[\"Web.HTML\"];\n exports[\"window\"] = $foreign.window;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.HTML.Location\"] = $PS[\"Web.HTML.Location\"] || {};\n var exports = $PS[\"Web.HTML.Location\"];\n var $foreign = $PS[\"Web.HTML.Location\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.HTML.Window\"] = $PS[\"Web.HTML.Window\"] || {};\n var exports = $PS[\"Web.HTML.Window\"];\n var $foreign = $PS[\"Web.HTML.Window\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"App\"] = $PS[\"App\"] || {};\n var exports = $PS[\"App\"];\n var Affjax = $PS[\"Affjax\"];\n var Affjax_RequestBody = $PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = $PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = $PS[\"Affjax.ResponseFormat\"];\n var Affjax_StatusCode = $PS[\"Affjax.StatusCode\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Argonaut_Decode_Class = $PS[\"Data.Argonaut.Decode.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HTTP_Method = $PS[\"Data.HTTP.Method\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_MediaType_Common = $PS[\"Data.MediaType.Common\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Model = $PS[\"Model\"];\n var Simple_JSON = $PS[\"Simple.JSON\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = {\n show: function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 29, column 1 - line 31, column 25): \" + [ v.constructor.name ]);\n }\n };\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt,\n timeout: Affjax.defaultRequest.timeout\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n 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)(Affjax_ResponseFormat.ignore)))(function () {\n 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));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)((function () {\n var $5 = Simple_JSON.writeJSON(dictWriteForeign);\n return function ($6) {\n return Affjax_RequestBody.string($5($6));\n };\n })())(content))(rt);\n };\n };\n };\n };\n };\n var getTagCloud = function (mode) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model[\"writeForeignTagCloudMode'\"])(Data_HTTP_Method.POST.value)(\"api/tagcloud\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.json))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n return Data_Either.hush(Data_Argonaut_Decode_Class.decodeJson(Data_Argonaut_Decode_Class.decodeForeignObject(Data_Argonaut_Decode_Class.decodeJsonInt))(res.body));\n }));\n });\n };\n var lookupTitle = function (bm) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fetchJson(Model[\"writeForeignBookmark'\"])(Data_HTTP_Method.POST.value)(\"api/lookuptitle\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.string))(function (eres) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bind(Data_Maybe.bindMaybe)(Data_Either.hush(eres))(function (res) {\n var $4 = Data_Eq.eq(Affjax_StatusCode.eqStatusCode)(res.status)(200);\n if ($4) {\n return new Data_Maybe.Just(res.body);\n };\n return Data_Maybe.Nothing.value;\n }));\n });\n };\n var updateTagCloudMode = function (mode) {\n return fetchJson(Model[\"writeForeignTagCloudMode'\"])(Data_HTTP_Method.POST.value)(\"api/tagcloudmode\")(new Data_Maybe.Just(mode))(Affjax_ResponseFormat.ignore);\n };\n var editNote = function (bm) {\n return fetchJson(Model[\"writeForeignNote'\"])(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model[\"writeForeignBookmark'\"])(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.writeForeignAccountSettin)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"lookupTitle\"] = lookupTitle;\n exports[\"getTagCloud\"] = getTagCloud;\n exports[\"updateTagCloudMode\"] = updateTagCloudMode;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.InputType\"] = $PS[\"DOM.HTML.Indexed.InputType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.InputType\"];\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 22): \" + [ v.constructor.name ]);\n };\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputText\"] = InputText;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"renderInputType\"] = renderInputType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Monad.State.Class\"] = $PS[\"Control.Monad.State.Class\"] || {};\n var exports = $PS[\"Control.Monad.State.Class\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Lens.Getter\"] = $PS[\"Data.Lens.Getter\"] || {};\n var exports = $PS[\"Data.Lens.Getter\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap()(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"use\"] = use;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Lens.Internal.Forget\"] = $PS[\"Data.Lens.Internal.Forget\"] || {};\n var exports = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var profunctorForget = {\n dimap: function (f) {\n return function (v) {\n return function (v1) {\n return function ($24) {\n return v1(f($24));\n };\n };\n };\n }\n };\n var strongForget = {\n first: function (v) {\n return function ($25) {\n return v(Data_Tuple.fst($25));\n };\n },\n second: function (v) {\n return function ($26) {\n return v(Data_Tuple.snd($26));\n };\n },\n Profunctor0: function () {\n return profunctorForget;\n }\n };\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"]; \n var profunctorFn = {\n dimap: function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($10) {\n return c2d(b2c(a2b($10)));\n };\n };\n };\n }\n };\n var dimap = function (dict) {\n return dict.dimap;\n };\n exports[\"dimap\"] = dimap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Profunctor.Strong\"] = $PS[\"Data.Profunctor.Strong\"] || {};\n var exports = $PS[\"Data.Profunctor.Strong\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var strongFn = {\n first: function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n },\n second: Data_Functor.map(Data_Tuple.functorTuple),\n Profunctor0: function () {\n return Data_Profunctor.profunctorFn;\n }\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"strongFn\"] = strongFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Lens.Lens\"] = $PS[\"Data.Lens.Lens\"] || {};\n var exports = $PS[\"Data.Lens.Lens\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Lens.Setter\"] = $PS[\"Data.Lens.Setter\"] || {};\n var exports = $PS[\"Data.Lens.Setter\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect.Aff.Class\"] = $PS[\"Effect.Aff.Class\"] || {};\n var exports = $PS[\"Effect.Aff.Class\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Effect_Aff = $PS[\"Effect.Aff\"]; \n var monadAffAff = {\n liftAff: Control_Category.identity(Control_Category.categoryFn),\n MonadEffect0: function () {\n return Effect_Aff.monadEffectAff;\n }\n };\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Exists\"] = $PS[\"Data.Exists\"] || {};\n var exports = $PS[\"Data.Exists\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Coyoneda\"] = $PS[\"Data.Coyoneda\"] || {};\n var exports = $PS[\"Data.Coyoneda\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Exists = $PS[\"Data.Exists\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = {\n map: function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($84) {\n return f(v1.value0($84));\n })(v1.value1);\n })(v);\n };\n }\n };\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Map.Internal\"] = $PS[\"Data.Map.Internal\"] || {};\n var exports = $PS[\"Data.Map.Internal\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n 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)));\n };\n if (v instanceof Three) {\n 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)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 626, column 1 - line 626, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 211, column 5 - line 211, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 432, column 3 - line 437, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 429, column 1 - line 429, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $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));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 468, column 5 - line 473, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 465, column 3 - line 465, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done1 = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done1 = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 448, column 3 - line 448, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = 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);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = 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);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n 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));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n 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)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 525, column 9 - line 542, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 522, column 5 - line 542, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done1 = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done1 = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 554, column 5 - line 558, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done2 = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done2 = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done2 = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 545, column 33 - line 549, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done2) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done3 = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done3 = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done3 = true;\n 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)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done3 = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done3 = true;\n 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)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done3 = true;\n 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)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 495, column 34 - line 518, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done3) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = {\n foldl: function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n },\n foldr: function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n },\n foldMap: function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }\n };\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n };\n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 563, column 15 - line 565, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"alter\"] = alter;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Data.OrdBox\"] = $PS[\"Halogen.Data.OrdBox\"] || {};\n var exports = $PS[\"Halogen.Data.OrdBox\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Ord = $PS[\"Data.Ord\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = {\n eq: function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n }\n };\n var ordOrdBox = {\n compare: function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n },\n Eq0: function () {\n return eqOrdBox;\n }\n };\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Data.Slot\"] = $PS[\"Halogen.Data.Slot\"] || {};\n var exports = $PS[\"Halogen.Data.Slot\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Symbol = $PS[\"Data.Symbol\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = $PS[\"Halogen.Data.OrdBox\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.List\"] = $PS[\"Data.List\"] || {};\n var exports = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 372, column 3 - line 372, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.CatQueue\"] = $PS[\"Data.CatQueue\"] || {};\n var exports = $PS[\"Data.CatQueue\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.CatList\"] = $PS[\"Data.CatList\"] || {};\n var exports = $PS[\"Data.CatList\"];\n var Data_CatQueue = $PS[\"Data.CatQueue\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done1 = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done1 = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done1) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $45 = Data_CatQueue[\"null\"](v.value1);\n if ($45) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = {\n append: append\n };\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"empty\"] = empty;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Monad.Free\"] = $PS[\"Control.Monad.Free\"] || {};\n var exports = $PS[\"Control.Monad.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Data_CatList = $PS[\"Data.CatList\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 227, column 7 - line 231, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 225, column 3 - line 233, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = {\n Applicative0: function () {\n return freeApplicative;\n },\n Bind1: function () {\n return freeBind;\n }\n };\n var freeFunctor = {\n map: function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)((function () {\n var $119 = Control_Applicative.pure(freeApplicative);\n return function ($120) {\n return $119(k($120));\n };\n })())(f);\n };\n }\n };\n var freeBind = {\n bind: function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n },\n Apply0: function () {\n return freeApply;\n }\n };\n var freeApply = {\n apply: Control_Monad.ap(freeMonad),\n Functor0: function () {\n return freeFunctor;\n }\n };\n var freeApplicative = {\n pure: function ($121) {\n return fromView(Return.create($121));\n },\n Apply0: function () {\n return freeApply;\n }\n };\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $122 = Control_Applicative.pure(freeApplicative);\n return function ($123) {\n return $122($123);\n };\n })()));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($135) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($135));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 158, column 10 - line 160, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeMonad\"] = freeMonad;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Query.HalogenM\"] = $PS[\"Halogen.Query.HalogenM\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenM\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = {\n state: function ($136) {\n return HalogenM(Control_Monad_Free.liftF(State.create($136)));\n },\n Monad0: function () {\n return monadHalogenM;\n }\n };\n var monadEffectHalogenM = function (dictMonadEffect) {\n return {\n liftEffect: (function () {\n var $141 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($142) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($141($142))));\n };\n })(),\n Monad0: function () {\n return monadHalogenM;\n }\n };\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return {\n liftAff: (function () {\n var $143 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($144) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($143($144))));\n };\n })(),\n MonadEffect0: function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }\n };\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Query.HalogenQ\"] = $PS[\"Halogen.Query.HalogenQ\"] || {};\n var exports = $PS[\"Halogen.Query.HalogenQ\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Component\"] = $PS[\"Halogen.Component\"] || {};\n var exports = $PS[\"Halogen.Component\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n var $25 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($26) {\n return $25(args.handleQuery($26));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 182, column 15 - line 192, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup()(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop()(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert()(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: input,\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.ButtonType\"] = $PS[\"DOM.HTML.Indexed.ButtonType\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 25): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"DOM.HTML.Indexed.OnOff\"] = $PS[\"DOM.HTML.Indexed.OnOff\"] || {};\n var exports = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 15): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.VDom.Machine\"] = $PS[\"Halogen.VDom.Machine\"] || {};\n var exports = $PS[\"Halogen.VDom.Machine\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.hasAttribute = function (ns, attr, el) {\n if (ns != null) {\n return el.hasAttributeNS(ns, attr);\n } else {\n return el.hasAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.VDom.Util\"] = $PS[\"Halogen.VDom.Util\"] || {};\n var exports = $PS[\"Halogen.VDom.Util\"];\n var $foreign = $PS[\"Halogen.VDom.Util\"];\n var Foreign_Object_ST = $PS[\"Foreign.Object.ST\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"hasAttribute\"] = $foreign.hasAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.Event.EventTarget\"] = $PS[\"Web.Event.EventTarget\"] || {};\n var exports = $PS[\"Web.Event.EventTarget\"];\n var $foreign = $PS[\"Web.Event.EventTarget\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.VDom.DOM.Prop\"] = $PS[\"Halogen.VDom.DOM.Prop\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = $PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Halogen_VDom_Util.hasAttribute(Data_Nullable[\"null\"], key, el);\n if (v) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable[\"null\"], key, el);\n };\n var v1 = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v1 === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 187, column 16): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $57 = v11.value2 === v2.value2;\n if ($57) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $66 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($66) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var ref = Effect_Ref[\"new\"](v2.value1)();\n var listener = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var f$prime = Effect_Ref.read(ref)();\n return mbEmit(f$prime(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(listener, ref), events);\n Halogen_VDom_Util.addEventListener(v2.value0, listener, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var events = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, events);\n var onThat = applyProp(events);\n var props = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: props\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var events = Halogen_VDom_Util.newMutMap();\n var ps1$prime = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(events));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(events),\n props: ps1$prime\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.VDom.Types\"] = $PS[\"Halogen.VDom.Types\"] || {};\n var exports = $PS[\"Halogen.VDom.Types\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($55) {\n return f($55);\n };\n };\n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = {\n bimap: function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($57) {\n return f(v.value0($57));\n }, function ($58) {\n return g(v.value1($58));\n }, v.value2));\n });\n };\n }\n };\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 86, column 7 - line 86, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"runGraft\"] = runGraft;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.HTML.Core\"] = $PS[\"Halogen.HTML.Core\"] || {};\n var exports = $PS[\"Halogen.HTML.Core\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"]; \n var HTML = function (x) {\n return x;\n };\n var widget = function ($19) {\n return HTML(Halogen_VDom_Types.Widget.create($19));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($20) {\n return HTML(Halogen_VDom_Types.Text.create($20));\n };\n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($21) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 103, column 21 - line 105, column 23): \" + [ v.constructor.name ]);\n })($21));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $22 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $23 = toPropValue(dictIsProp);\n return function ($24) {\n return $22($23($24));\n };\n };\n };\n var isPropString = {\n toPropValue: Halogen_VDom_DOM_Prop.propFromString\n };\n var isPropOnOff = {\n toPropValue: function ($32) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($32));\n }\n };\n var isPropInt = {\n toPropValue: Halogen_VDom_DOM_Prop.propFromInt\n };\n var isPropInputType = {\n toPropValue: function ($38) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($38));\n }\n };\n var isPropButtonType = {\n toPropValue: function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($43));\n }\n };\n var isPropBoolean = {\n toPropValue: Halogen_VDom_DOM_Prop.propFromBoolean\n };\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n };\n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"widget\"] = widget;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.HTML.Elements\"] = $PS[\"Halogen.HTML.Elements\"] || {};\n var exports = $PS[\"Halogen.HTML.Elements\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"a\"] = a;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr_\"] = tr_;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Foreign.Index\"] = $PS[\"Foreign.Index\"] || {};\n var exports = $PS[\"Foreign.Index\"];\n var $foreign = $PS[\"Foreign.Index\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Foreign = $PS[\"Foreign\"]; \n var unsafeReadProp = function (dictMonad) {\n return function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(dictMonad)(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonad)), k, value);\n };\n };\n };\n var readProp = function (dictMonad) {\n return unsafeReadProp(dictMonad);\n };\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Query.Input\"] = $PS[\"Halogen.Query.Input\"] || {};\n var exports = $PS[\"Halogen.Query.Input\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.Event.Event\"] = $PS[\"Web.Event.Event\"] || {};\n var exports = $PS[\"Web.Event.Event\"];\n var $foreign = $PS[\"Web.Event.Event\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var currentTarget = function ($5) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($5));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.HTML.Event.EventTypes\"] = $PS[\"Web.HTML.Event.EventTypes\"] || {};\n var exports = $PS[\"Web.HTML.Event.EventTypes\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {};\n var exports = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.HTML.Events\"] = $PS[\"Halogen.HTML.Events\"] || {};\n var exports = $PS[\"Halogen.HTML.Events\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_Except = $PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Foreign = $PS[\"Foreign\"];\n var Foreign_Index = $PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Event_EventTypes = $PS[\"Web.HTML.Event.EventTypes\"];\n var Web_UIEvent_MouseEvent_EventTypes = $PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler$prime = function (et) {\n return function (f) {\n return Halogen_HTML_Core.handler(et)(function (ev) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create)(f(ev));\n });\n };\n };\n var handler = function (et) {\n return function (f) {\n return Halogen_HTML_Core.handler(et)(function (ev) {\n return new Data_Maybe.Just(new Halogen_Query_Input.Action(f(ev)));\n });\n };\n }; \n var onClick = (function () {\n var $1 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($2) {\n return $1(mouseHandler($2));\n };\n })(); \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(Data_Identity.monadIdentity)(prop))(Foreign.unsafeToForeign(a));\n };\n return handler$prime(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(function ($71) {\n return Data_Maybe.Just.create(f($71));\n })(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean(Data_Identity.monadIdentity)); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString(Data_Identity.monadIdentity));\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.HTML.Properties\"] = $PS[\"Halogen.HTML.Properties\"] || {};\n var exports = $PS[\"Halogen.HTML.Properties\"];\n var DOM_HTML_Indexed_OnOff = $PS[\"DOM.HTML.Indexed.OnOff\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($9) {\n return Halogen_HTML_Core.ref(go($9));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var id_ = function (dictWarn) {\n return id;\n };\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\"); \n var disabled = prop(Halogen_HTML_Core.isPropBoolean)(\"disabled\");\n var class_ = (function () {\n var $16 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $17 = Data_Newtype.unwrap();\n return function ($18) {\n return $16($17($18));\n };\n })();\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = (function () {\n var $19 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($20) {\n return $19((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($20));\n };\n })();\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"disabled\"] = disabled;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS);\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Bounded\"] = $PS[\"Data.Bounded\"] || {};\n var exports = $PS[\"Data.Bounded\"];\n var $foreign = $PS[\"Data.Bounded\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var top = function (dict) {\n return dict.top;\n };\n var boundedInt = {\n top: $foreign.topInt,\n bottom: $foreign.bottomInt,\n Ord0: function () {\n return Data_Ord.ordInt;\n }\n };\n var boundedChar = {\n top: $foreign.topChar,\n bottom: $foreign.bottomChar,\n Ord0: function () {\n return Data_Ord.ordChar;\n }\n };\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Enum\"] = $PS[\"Data.Enum\"] || {};\n var exports = $PS[\"Data.Enum\"];\n var $foreign = $PS[\"Data.Enum\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var toEnum = function (dict) {\n return dict.toEnum;\n };\n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $55 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($55) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = {\n succ: defaultSucc(charToEnum)($foreign.toCharCode),\n pred: defaultPred(charToEnum)($foreign.toCharCode),\n Ord0: function () {\n return Data_Ord.ordChar;\n }\n };\n var boundedEnumChar = {\n cardinality: $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0,\n toEnum: charToEnum,\n fromEnum: $foreign.toCharCode,\n Bounded0: function () {\n return Data_Bounded.boundedChar;\n },\n Enum1: function () {\n return enumChar;\n }\n };\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Semiring\"] = $PS[\"Data.Semiring\"] || {};\n var exports = $PS[\"Data.Semiring\"];\n var $foreign = $PS[\"Data.Semiring\"];\n var semiringInt = {\n add: $foreign.intAdd,\n zero: 0,\n mul: $foreign.intMul,\n one: 1\n };\n exports[\"semiringInt\"] = semiringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Ring\"] = $PS[\"Data.Ring\"] || {};\n var exports = $PS[\"Data.Ring\"];\n var $foreign = $PS[\"Data.Ring\"];\n var Data_Semiring = $PS[\"Data.Semiring\"];\n var ringInt = {\n sub: $foreign.intSub,\n Semiring0: function () {\n return Data_Semiring.semiringInt;\n }\n };\n exports[\"ringInt\"] = ringInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.CommutativeRing\"] = $PS[\"Data.CommutativeRing\"] || {};\n var exports = $PS[\"Data.CommutativeRing\"];\n var Data_Ring = $PS[\"Data.Ring\"];\n var commutativeRingInt = {\n Ring0: function () {\n return Data_Ring.ringInt;\n }\n };\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.EuclideanRing\"] = $PS[\"Data.EuclideanRing\"] || {};\n var exports = $PS[\"Data.EuclideanRing\"];\n var $foreign = $PS[\"Data.EuclideanRing\"];\n var Data_CommutativeRing = $PS[\"Data.CommutativeRing\"]; \n var mod = function (dict) {\n return dict.mod;\n };\n var euclideanRingInt = {\n degree: $foreign.intDegree,\n div: $foreign.intDiv,\n mod: $foreign.intMod,\n CommutativeRing0: function () {\n return Data_CommutativeRing.commutativeRingInt;\n }\n };\n var div = function (dict) {\n return dict.div;\n };\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.String.CodeUnits\"] = $PS[\"Data.String.CodeUnits\"] || {};\n var exports = $PS[\"Data.String.CodeUnits\"];\n var $foreign = $PS[\"Data.String.CodeUnits\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.String.Unsafe\"] = $PS[\"Data.String.Unsafe\"] || {};\n var exports = $PS[\"Data.String.Unsafe\"];\n var $foreign = $PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.String.CodePoints\"] = $PS[\"Data.String.CodePoints\"] || {};\n var exports = $PS[\"Data.String.CodePoints\"];\n var $foreign = $PS[\"Data.String.CodePoints\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Bounded = $PS[\"Data.Bounded\"];\n var Data_Enum = $PS[\"Data.Enum\"];\n var Data_EuclideanRing = $PS[\"Data.EuclideanRing\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_String_CodeUnits = $PS[\"Data.String.CodeUnits\"];\n var Data_String_Unsafe = $PS[\"Data.String.Unsafe\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n };\n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = (function () {\n var $53 = Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar));\n return function ($54) {\n return Data_String_CodeUnits.singleton($53($54));\n };\n })();\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.HTML.Common\"] = $PS[\"Web.HTML.Common\"] || {};\n var exports = $PS[\"Web.HTML.Common\"];\n var ClassName = function (x) {\n return x;\n };\n exports[\"ClassName\"] = ClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Util\"] = $PS[\"Util\"] || {};\n var exports = $PS[\"Util\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var JSURI = $PS[\"JSURI\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Common = $PS[\"Web.HTML.Common\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var whenH = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return Halogen_HTML_Core.text(\"\");\n };\n };\n var whenA = function (b) {\n return function (k) {\n if (b) {\n return k(Data_Unit.unit);\n };\n return [ ];\n };\n };\n var unsafeDecode = function (str) {\n return Data_Maybe.fromJust()(JSURI[\"decodeURIComponent\"](str));\n };\n var ifElseH = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var ifElseA = function (b) {\n return function (f) {\n return function (k) {\n if (b) {\n return f(Data_Unit.unit);\n };\n return k(Data_Unit.unit);\n };\n };\n };\n var fromNullableStr = (function () {\n var $45 = Data_Maybe.fromMaybe(\"\");\n return function ($46) {\n return $45(Data_Nullable.toMaybe($46));\n };\n })();\n var class_ = function ($47) {\n return Halogen_HTML_Properties.class_(Web_HTML_Common.ClassName($47));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = (function () {\n var $48 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($49) {\n return unsafeDecode($48($49));\n };\n })();\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $44 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($44) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Array.find(function ($52) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($52));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var loc = _loc();\n var srh = Web_HTML_Location.search(loc)();\n return _parseQueryString(srh);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"whenH\"] = whenH;\n exports[\"whenA\"] = whenA;\n exports[\"ifElseH\"] = ifElseH;\n exports[\"ifElseA\"] = ifElseA;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.AccountSettings\"] = $PS[\"Component.AccountSettings\"] || {};\n var exports = $PS[\"Component.AccountSettings\"];\n var App = $PS[\"App\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($19) {\n return UEditField.create(f($19));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_()(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_()(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_()(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (us) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(us)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"usetting\"] = usetting;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.Add\"] = $PS[\"Component.Add\"] || {};\n var exports = $PS[\"Component.Add\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = (function () {\n var $63 = Data_Array.drop(1);\n var $64 = Data_Array.foldMap(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n });\n var $65 = Data_String_Common.split(\"\\x0a\");\n return function ($66) {\n return $63($64($65($66)));\n };\n })();\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($67) {\n return BEditField.create(f($67));\n };\n };\n var display_exists = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new BDeleteAsk(true);\n }), 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 red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return new BDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(BEditSubmit.create) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_([ Util.whenH(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.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_()(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), 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([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_()(\"title\"), Util.class_(\"w-100 mv1 flex-auto\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BLookupTitle.value;\n }), Util.class_(\"ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]) ]), 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_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_()(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), 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.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_()(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), 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.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_()(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), 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.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_()(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $33 = v.bm.bid > 0;\n if ($33) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n };\n return Util.ifElseH(!v.destroyed)(display_edit)(display_destroyed);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $37 = {};\n for (var $38 in v1) {\n if ({}.hasOwnProperty.call(v1, $38)) {\n $37[$38] = v1[$38];\n };\n };\n $37.deleteAsk = v.value0;\n return $37;\n });\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.loading = true;\n return $41;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.Add (line 165, column 5 - line 167, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $46 = {};\n for (var $47 in v1) {\n if ({}.hasOwnProperty.call(v1, $47)) {\n $46[$47] = v1[$47];\n };\n };\n $46.loading = false;\n return $46;\n });\n });\n });\n });\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (bid) {\n 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(bid))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $49 = {};\n for (var $50 in v1) {\n if ({}.hasOwnProperty.call(v1, $50)) {\n $49[$50] = v1[$50];\n };\n };\n $49.destroyed = true;\n return $49;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 174, column 17 - line 180, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n 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(edit_bm))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (loc) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (win) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (qs) {\n var v1 = Util[\"_lookupQueryStringValue\"](qs)(\"next\");\n if (v1 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v1.value0)(loc));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(win));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 158, column 3 - line 158, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"addbmark\"] = addbmark;\n})(PS);\n(function(exports) {\n // use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.HTML.HTMLElement\"] = $PS[\"Web.HTML.HTMLElement\"] || {};\n var exports = $PS[\"Web.HTML.HTMLElement\"];\n var $foreign = $PS[\"Web.HTML.HTMLElement\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Query\"] = $PS[\"Halogen.Query\"] || {};\n var exports = $PS[\"Halogen.Query\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = (function () {\n var $13 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n });\n return function ($14) {\n return $13(Halogen_Query_HalogenM.getRef($14));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.RawHtml\"] = $PS[\"Component.RawHtml\"] || {};\n var exports = $PS[\"Component.RawHtml\"];\n var $foreign = $PS[\"Component.RawHtml\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = $PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (mel) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(mel)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v2) {\n return Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(Effect_Aff.forkAff(Effect_Aff.makeAff(function (cb) {\n return function __do() {\n Effect_Class.liftEffect(Effect_Class.monadEffectEffect)($foreign.unsafeSetInnerHTML(el)(toRawHTML(v2.inputval)))();\n return Data_Monoid.mempty(Effect.monoidEffect(Effect_Aff.monoidCanceler))();\n };\n })));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $10 = {};\n for (var $11 in v1) {\n if ({}.hasOwnProperty.call(v1, $11)) {\n $10[$11] = v1[$11];\n };\n };\n $10.inputval = v.value0;\n return $10;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 50, column 18 - line 63, column 34): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($14) {\n return Data_Maybe.Just.create(Receive.create($14));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"mkComponent\"] = mkComponent;\n})(PS);\n(function(exports) {\n \n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n if (!str) return \"\";\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Foreign.Marked\"] = $PS[\"Foreign.Marked\"] || {};\n var exports = $PS[\"Foreign.Marked\"];\n var $foreign = $PS[\"Foreign.Marked\"];\n var Globals = $PS[\"Globals\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.Markdown\"] = $PS[\"Component.Markdown\"] || {};\n var exports = $PS[\"Component.Markdown\"];\n var Component_RawHtml = $PS[\"Component.RawHtml\"];\n var Foreign_Marked = $PS[\"Foreign.Marked\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Data.Void\"] = $PS[\"Data.Void\"] || {};\n var exports = $PS[\"Data.Void\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.widget(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot()(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(function ($6) {\n return Data_Maybe.Just.create(outputQuery($6));\n })));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.BMark\"] = $PS[\"Component.BMark\"] || {};\n var exports = $PS[\"Component.BMark\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Type_Proxy = $PS[\"Type.Proxy\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BLookupTitle = (function () {\n function BLookupTitle() {\n\n };\n BLookupTitle.value = new BLookupTitle();\n return BLookupTitle;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _markdown = Type_Proxy[\"Proxy\"].value;\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm,\n loading: v.loading\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var tagid = function (bm) {\n return Data_Show.show(Data_Show.showInt)(bm.bid) + \"_tags\";\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false,\n loading: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n 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(bm.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v.value0,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $47 = {};\n for (var $48 in v1) {\n if ({}.hasOwnProperty.call(v1, $48)) {\n $47[$48] = v1[$48];\n };\n };\n $47.deleteAsk = v.value0;\n return $47;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n 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(bm.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n 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(bm.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: false,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (bm) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(bm))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Applicative.when(Effect.applicativeEffect)(v.value0)(Globals.setFocus(tagid(bm))));\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 237, column 17 - line 243, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BLookupTitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $60 = {};\n for (var $61 in v1) {\n if ({}.hasOwnProperty.call(v1, $61)) {\n $60[$61] = v1[$61];\n };\n };\n $60.loading = true;\n return $60;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.edit_bm;\n }))(function (edit_bm) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.lookupTitle(edit_bm)))(function (mtitle) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)((function () {\n if (mtitle instanceof Data_Maybe.Just) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v1) {\n return {\n url: v1.url,\n title: mtitle.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n });\n };\n if (mtitle instanceof Data_Maybe.Nothing) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 250, column 5 - line 252, column 29): \" + [ mtitle.constructor.name ]);\n })())(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $65 = {};\n for (var $66 in v1) {\n if ({}.hasOwnProperty.call(v1, $66)) {\n $65[$66] = v1[$66];\n };\n };\n $65.loading = false;\n return $65;\n });\n });\n });\n });\n });\n };\n if (v instanceof BEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (edit_bm) {\n var edit_bm$prime = {\n tags: Data_String_Common.replaceAll(\",\")(\" \")(edit_bm.tags),\n archiveUrl: edit_bm.archiveUrl,\n bid: edit_bm.bid,\n description: edit_bm.description,\n \"private\": edit_bm[\"private\"],\n selected: edit_bm.selected,\n slug: edit_bm.slug,\n time: edit_bm.time,\n title: edit_bm.title,\n toread: edit_bm.toread,\n url: edit_bm.url\n };\n 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(edit_bm$prime))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(edit_bm$prime))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var star = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v2) {\n return new BStar(!v.bm.selected);\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]);\n };\n var shdatetime = Data_String_CodePoints.take(16)(v.bm.time) + \"Z\";\n var shdate = Globals.toLocaleDateString(v.bm.time);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($74) {\n return BEditField.create(f($74));\n };\n };\n var display_edit = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(BEditSubmit.create) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 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(editField(Eurl.create)) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.disabled(v.loading), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v2) {\n return BLookupTitle.value;\n }), Util.class_(\"ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 \" + Data_Monoid.guard(Data_Monoid.monoidString)(v.loading)(\"bg-light-silver\")) ])([ Halogen_HTML_Core.text(\"fetch\") ]) ]), Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 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(editField(Edescription.create)) ]), Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_()(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.id_()(tagid(v.edit_bm)), Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 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(editField(Etags.create)) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_()(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_()(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]) ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new BEdit(false);\n }) ]) ]) ]);\n };\n var display = function (v1) {\n return Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $70 = Data_String_Common[\"null\"](v.bm.title);\n if ($70) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $71 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($71) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])([ Halogen_HTML.slot()({\n reflectSymbol: function () {\n return \"markdown\";\n }\n })(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.bm.description)(Data_Void.absurd) ]), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Util.whenA(!Data_String_Common[\"null\"](v.bm.tags))(function (v2) {\n return Data_Functor.map(Data_Functor.functorArray)(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags));\n })), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)), Halogen_HTML_Properties.title(shdatetime) ])([ Halogen_HTML_Core.text(shdate) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BEdit(true);\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BDeleteAsk(true);\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new BDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return BDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v3) {\n return BMarkRead.value;\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ]));\n }) ]);\n };\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_()(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])([ Util.whenH(app.dat.isowner)(star), Util.ifElseH(v.edit)(display_edit)(display) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"bmark\"] = bmark;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.BList\"] = $PS[\"Component.BList\"] || {};\n var exports = $PS[\"Component.BList\"];\n var Component_BMark = $PS[\"Component.BMark\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Type_Proxy = $PS[\"Type.Proxy\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Type_Proxy[\"Proxy\"].value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()({\n reflectSymbol: function () {\n return \"bookmark\";\n }\n })(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(HandleBMessage.create(b.bid));\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"blist\"] = blist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.NList\"] = $PS[\"Component.NList\"] || {};\n var exports = $PS[\"Component.NList\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_CodePoints = $PS[\"Data.String.CodePoints\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Util = $PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Array.foldMap(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (note) {\n return Globals.mmoment8601(note.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (note) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_()(Data_Show.show(Data_Show.showInt)(note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\" + (function () {\n if (note.shared) {\n return \"\";\n };\n return \" private\";\n })()) ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $6 = Data_String_Common[\"null\"](note.title);\n if ($6) {\n return \"[no title]\";\n };\n return note.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(note.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(note.created)(Data_Tuple.snd)(mmoment(note))), Halogen_HTML_Properties.href(linkToFilterSingle(note.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(note))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.NNote\"] = $PS[\"Component.NNote\"] || {};\n var exports = $PS[\"Component.NNote\"];\n var App = $PS[\"App\"];\n var Component_Markdown = $PS[\"Component.Markdown\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = $PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Lens_Getter = $PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = $PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = $PS[\"Data.Lens.Setter\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = $PS[\"Data.Profunctor.Strong\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Data_Void = $PS[\"Data.Void\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML = $PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Type_Proxy = $PS[\"Type.Proxy\"];\n var Util = $PS[\"Util\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_Location = $PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var Eshared = (function () {\n function Eshared(value0) {\n this.value0 = value0;\n };\n Eshared.create = function (value0) {\n return new Eshared(value0);\n };\n return Eshared;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Type_Proxy[\"Proxy\"].value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var notetextid = function (note) {\n return Data_Show.show(Data_Show.showInt)(note.id) + \"_text\";\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n shared: v1.shared,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Eshared) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n shared: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 179, column 19 - line 183, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $38 = {};\n for (var $39 in v1) {\n if ({}.hasOwnProperty.call(v1, $39)) {\n $38[$39] = v1[$39];\n };\n };\n $38.deleteAsk = v.value0;\n return $38;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n 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.destroyNote(note.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $42 = {};\n for (var $43 in v1) {\n if ({}.hasOwnProperty.call(v1, $43)) {\n $42[$43] = v1[$43];\n };\n };\n $42.destroyed = true;\n return $42;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (note) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(note))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0))(function () {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Monad.whenM(Effect.monadEffect)(Control_Applicative.pure(Effect.applicativeEffect)(v.value0))(Globals.setFocus(notetextid(note))));\n });\n });\n });\n };\n if (v instanceof NEditSubmit) {\n 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 () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (edit_note) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(edit_note)))(function (res$prime) {\n return Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableEither)(res$prime)(function (v1) {\n var $46 = edit_note.id === 0;\n if ($46) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(edit_note))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 174, column 3 - line 174, column 77): \" + [ v.constructor.name ]);\n };\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Array.foldMap(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = function (v1) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_()(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $49 = Data_String_Common[\"null\"](v.note.title);\n if ($49) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()({\n reflectSymbol: function () {\n return \"markdown\";\n }\n })(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\") ])([ Halogen_HTML_Elements.span([ Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]), Halogen_HTML_Core.text(\" - \"), Halogen_HTML_Elements.span([ Util.class_(\"gray\") ])([ Halogen_HTML_Core.text((function () {\n if (v.note.shared) {\n return \"public\";\n };\n return \"private\";\n })()) ]) ]) ]), Util.whenH(app.dat.isowner)(function (v2) {\n return Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NEdit(true);\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NDeleteAsk(true);\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return new NDeleteAsk(false);\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v3) {\n return NDestroy.value;\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($54) {\n return NEditField.create(f($54));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(NEditSubmit.create) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.edit_note.title)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Halogen_HTML_Properties.id_()(notetextid(v.edit_note)), Util.class_(\"description w-100 mb1 pt1 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(25), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_()(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_()(\"edit_shared\"), Halogen_HTML_Properties.name(\"shared\"), Halogen_HTML_Properties.checked(v.edit_note.shared), Halogen_HTML_Events.onChecked(editField(Eshared.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_shared\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"public?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v2) {\n return new NEdit(false);\n }) ]) ]);\n };\n var display_destroyed = function (v1) {\n return Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n };\n return Util.ifElseH(v.destroyed)(display_destroyed)(Data_Function[\"const\"](Util.ifElseH(v.edit)(renderNote_edit)(renderNote)));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nnote\"] = nnote;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.log = Math.log;\n})(PS[\"Math\"] = PS[\"Math\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Math\"] = $PS[\"Math\"] || {};\n var exports = $PS[\"Math\"];\n var $foreign = $PS[\"Math\"];\n exports[\"log\"] = $foreign.log;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Component.TagCloud\"] = $PS[\"Component.TagCloud\"] || {};\n var exports = $PS[\"Component.TagCloud\"];\n var App = $PS[\"App\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_State_Class = $PS[\"Control.Monad.State.Class\"];\n var DOM_HTML_Indexed_ButtonType = $PS[\"DOM.HTML.Indexed.ButtonType\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Int = $PS[\"Data.Int\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Monoid = $PS[\"Data.Monoid\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Data_Show = $PS[\"Data.Show\"];\n var Data_String_Common = $PS[\"Data.String.Common\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unfoldable = $PS[\"Data.Unfoldable\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect_Aff_Class = $PS[\"Effect.Aff.Class\"];\n var Foreign_Object = $PS[\"Foreign.Object\"];\n var Globals = $PS[\"Globals\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = $PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = $PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var $$Math = $PS[\"Math\"];\n var Model = $PS[\"Model\"];\n var Util = $PS[\"Util\"]; \n var TInitialize = (function () {\n function TInitialize() {\n\n };\n TInitialize.value = new TInitialize();\n return TInitialize;\n })();\n var TExpanded = (function () {\n function TExpanded(value0) {\n this.value0 = value0;\n };\n TExpanded.create = function (value0) {\n return new TExpanded(value0);\n };\n return TExpanded;\n })();\n var TChangeMode = (function () {\n function TChangeMode(value0) {\n this.value0 = value0;\n };\n TChangeMode.create = function (value0) {\n return new TChangeMode(value0);\n };\n return TChangeMode;\n })();\n var tagcloudcomponent = function (m$prime) {\n var rescale = function (f) {\n return function (v) {\n return function (n) {\n return function (m) {\n return function (l) {\n return function (h) {\n return (function () {\n var $25 = m - n < 1.0e-2;\n if ($25) {\n return 1.0;\n };\n return f(v - n) / f(m - n);\n })() * (h - l) + l;\n };\n };\n };\n };\n };\n };\n var mkState = function (m) {\n return {\n mode: m,\n tagcloud: Foreign_Object.empty\n };\n };\n var fetchTagCloud = function (mode$prime) {\n if (mode$prime instanceof Model.TagCloudModeNone) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.getTagCloud(Model.tagCloudModeFromF(mode$prime))))(function (tagcloud) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $27 = {};\n for (var $28 in s) {\n if ({}.hasOwnProperty.call(s, $28)) {\n $27[$28] = s[$28];\n };\n };\n $27.mode = mode$prime;\n $27.tagcloud = Data_Maybe.fromMaybe(Foreign_Object.empty)(tagcloud);\n return $27;\n });\n });\n };\n var handleAction = function (v) {\n if (v instanceof TInitialize) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return fetchTagCloud(mode);\n });\n };\n if (v instanceof TExpanded) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (s) {\n var $31 = {};\n for (var $32 in s) {\n if ({}.hasOwnProperty.call(s, $32)) {\n $31[$32] = s[$32];\n };\n };\n $31.mode = Model.setExpanded(s.mode)(v.value0);\n return $31;\n }))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.updateTagCloudMode(Model.tagCloudModeFromF(mode))));\n });\n });\n };\n if (v instanceof TChangeMode) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.mode;\n }))(function (mode) {\n var $35 = Data_Eq.eq(Model.eqTagCloudModeF)(mode)(v.value0);\n if ($35) {\n return handleAction(new TExpanded(!Model.isExpanded(mode)));\n };\n return fetchTagCloud(Model.setExpanded(v.value0)(true));\n });\n };\n throw new Error(\"Failed pattern match at Component.TagCloud (line 161, column 3 - line 161, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (function () {\n var $37 = Data_String_Common[\"null\"](tag);\n if ($37) {\n return \"\";\n };\n return \"/t:\" + tag;\n })();\n };\n var toSizedTag = function (curtags) {\n return function (n) {\n return function (m) {\n return function (k) {\n return function (v) {\n var opacity = rescale(function ($47) {\n return $$Math.log((function (v1) {\n return 1.0 + v1;\n })($47));\n })(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(0.6)(1.0);\n var k_lower = Data_String_Common.toLower(k);\n var fontsize = rescale(Control_Category.identity(Control_Category.categoryFn))(Data_Int.toNumber(v))(Data_Int.toNumber(n))(Data_Int.toNumber(m))(100.0)(150.0);\n var style = Halogen_HTML_Properties.attr(\"style\")(\"font-size:\" + (Data_Show.show(Data_Show.showNumber)(fontsize) + (\"%\" + (\";opacity:\" + Data_Show.show(Data_Show.showNumber)(opacity)))));\n return [ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(k)), Util.class_(\"link tag mr1\"), style ])([ Halogen_HTML_Core.text(k) ]), Util.whenH(!Data_Array[\"null\"](curtags))(function (v1) {\n var $38 = Data_Array.notElem(Data_Eq.eqString)(k_lower)(curtags);\n if ($38) {\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array.cons(k_lower)(curtags)))), Util.class_(\"link mr2 tag-include\") ])([ Halogen_HTML_Core.text(\"\\u2295\") ]);\n };\n return Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterTag(Data_String_Common.joinWith(\"+\")(Data_Array[\"delete\"](Data_Eq.eqString)(k_lower)(curtags)))), Util.class_(\"link mr2 tag-exclude\") ])([ Halogen_HTML_Core.text(\"\\u2296\") ]);\n }) ];\n };\n };\n };\n };\n };\n var toArray = function (curtags) {\n return function (n) {\n return function (m) {\n var $48 = Data_Functor.map(Data_Functor.functorArray)(Data_Tuple.uncurry(toSizedTag(Data_Functor.map(Data_Functor.functorArray)(Data_String_Common.toLower)(curtags))(n)(m)));\n var $49 = Data_Array.sortBy(Data_Ord.comparing(Data_Ord.ordString)(function ($52) {\n return Data_String_Common.toLower(Data_Tuple.fst($52));\n }));\n var $50 = Foreign_Object.toUnfoldable(Data_Unfoldable.unfoldableArray);\n return function ($51) {\n return Data_Array.concat($48($49($50($51))));\n };\n };\n };\n };\n var render = function (v) {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud\") ])([ ]);\n };\n var modetop = new Model.TagCloudModeTop(Model.isExpanded(v.mode), 200);\n var modelb5 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 5);\n var modelb20 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 20);\n var modelb2 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 2);\n var modelb10 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 10);\n var modelb1 = new Model.TagCloudModeLowerBound(Model.isExpanded(v.mode), 1);\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud mv3\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_header mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(Util.ifElseA(Model.isRelated(v.mode))(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1 b\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TExpanded(!Model.isExpanded(v.mode));\n }) ])([ Halogen_HTML_Core.text(\"Related Tags\") ]) ];\n })(function (v1) {\n return [ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modetop))(\" b\")), Halogen_HTML_Properties.title(\"show a cloud of your most-used tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modetop);\n }) ])([ Halogen_HTML_Core.text(\"Top Tags\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue ml2 \" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb1))(\" b\")), Halogen_HTML_Properties.title(\"show all tags\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb1);\n }) ])([ Halogen_HTML_Core.text(\"all\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb2))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 2 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb2);\n }) ])([ Halogen_HTML_Core.text(\"2\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb5))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 5 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb5);\n }) ])([ Halogen_HTML_Core.text(\"5\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb10))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 10 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb10);\n }) ])([ Halogen_HTML_Core.text(\"10\") ]), Halogen_HTML_Core.text(\"\\u2027\"), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 f7 link hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Eq.eq(Model.eqTagCloudModeF)(v.mode)(modelb20))(\" b\")), Halogen_HTML_Properties.title(\"show tags with at least 20 bookmarks\"), Halogen_HTML_Events.onClick(function (v2) {\n return new TChangeMode(modelb20);\n }) ])([ Halogen_HTML_Core.text(\"20\") ]) ];\n }))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Util.class_(\"pa1 ml2 f7 link silver hover-blue \"), Halogen_HTML_Events.onClick(function (v1) {\n return new TExpanded(!Model.isExpanded(v.mode));\n }) ])([ Halogen_HTML_Core.text((function () {\n var $41 = Model.isExpanded(v.mode);\n if ($41) {\n return \"hide\";\n };\n return \"show\";\n })()) ]) ])), Util.whenH(Model.isExpanded(v.mode))(function (v1) {\n var n = Data_Maybe.fromMaybe(1)(Data_Foldable.minimum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n var m = Data_Maybe.fromMaybe(1)(Data_Foldable.maximum(Data_Ord.ordInt)(Data_Foldable.foldableArray)(Foreign_Object.values(v.tagcloud)));\n return Halogen_HTML_Elements.div([ Util.class_(\"tag_cloud_body\") ])((function () {\n if (v.mode instanceof Model.TagCloudModeNone) {\n return [ ];\n };\n if (v.mode instanceof Model.TagCloudModeRelated) {\n return toArray(v.mode.value1)(n)(m)(v.tagcloud);\n };\n return toArray([ ])(n)(m)(v.tagcloud);\n })());\n }) ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(m$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: new Data_Maybe.Just(TInitialize.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"tagcloudcomponent\"] = tagcloudcomponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Applicative.Free\"] = $PS[\"Control.Applicative.Free\"] || {};\n var exports = $PS[\"Control.Applicative.Free\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Apply = $PS[\"Control.Apply\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_List_NonEmpty = $PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_NonEmpty = $PS[\"Data.NonEmpty\"];\n var Data_Tuple = $PS[\"Data.Tuple\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = {\n map: function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n }\n };\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 62, column 47): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = {\n apply: function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n },\n Functor0: function () {\n return functorFreeAp;\n }\n };\n var applicativeFreeAp = {\n pure: Pure.create,\n Apply0: function () {\n return applyFreeAp;\n }\n };\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Control.Monad.Fork.Class\"] = $PS[\"Control.Monad.Fork.Class\"] || {};\n var exports = $PS[\"Control.Monad.Fork.Class\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var monadForkAff = {\n suspend: Effect_Aff.suspendAff,\n fork: Effect_Aff.forkAff,\n join: Effect_Aff.joinFiber,\n Monad0: function () {\n return Effect_Aff.monadAff;\n },\n Functor1: function () {\n return Effect_Aff.functorFiber;\n }\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Effect.Console\"] = $PS[\"Effect.Console\"] || {};\n var exports = $PS[\"Effect.Console\"];\n var $foreign = $PS[\"Effect.Console\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.State\"] = $PS[\"Halogen.Aff.Driver.State\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.State\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var selfRef = Effect_Ref[\"new\"]({})();\n var childrenIn = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var childrenOut = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var handlerRef = Effect_Ref[\"new\"](handler)();\n var pendingQueries = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingOuts = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var pendingHandlers = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var fresh = Effect_Ref[\"new\"](1)();\n var subscriptions = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var forks = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: childrenIn,\n childrenOut: childrenOut,\n selfRef: selfRef,\n handlerRef: handlerRef,\n pendingQueries: pendingQueries,\n pendingOuts: pendingOuts,\n pendingHandlers: pendingHandlers,\n rendering: Data_Maybe.Nothing.value,\n fresh: fresh,\n subscriptions: subscriptions,\n forks: forks,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(selfRef)();\n return mkDriverStateXRef(selfRef);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Query.ChildQuery\"] = $PS[\"Halogen.Query.ChildQuery\"] || {};\n var exports = $PS[\"Halogen.Query.ChildQuery\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Unsafe.Reference\"] = $PS[\"Unsafe.Reference\"] || {};\n var exports = $PS[\"Unsafe.Reference\"];\n var $foreign = $PS[\"Unsafe.Reference\"];\n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Subscription\"] = $PS[\"Halogen.Subscription\"] || {};\n var exports = $PS[\"Halogen.Subscription\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Semigroup = $PS[\"Data.Semigroup\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\n var unsubscribe = function (v) {\n return v;\n };\n var subscribe = function (v) {\n return function (k) {\n return v((function () {\n var $55 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($56) {\n return $55(k($56));\n };\n })());\n };\n }; \n var notify = function (v) {\n return function (a) {\n return v(a);\n };\n };\n var create = function __do() {\n var subscribers = Effect_Ref[\"new\"]([ ])();\n return {\n emitter: function (k) {\n return function __do() {\n Effect_Ref.modify_(function (v) {\n return Data_Semigroup.append(Data_Semigroup.semigroupArray)(v)([ k ]);\n })(subscribers)();\n return Effect_Ref.modify_(Data_Array.deleteBy(Unsafe_Reference.unsafeRefEq)(k))(subscribers);\n };\n },\n listener: function (a) {\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(subscribers))(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableArray)(function (k) {\n return k(a);\n }));\n }\n };\n };\n exports[\"create\"] = create;\n exports[\"notify\"] = notify;\n exports[\"subscribe\"] = subscribe;\n exports[\"unsubscribe\"] = unsubscribe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Aff.Driver.Eval\"] = $PS[\"Halogen.Aff.Driver.Eval\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Applicative_Free = $PS[\"Control.Applicative.Free\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Monad = $PS[\"Control.Monad\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = $PS[\"Control.Monad.Free\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Coyoneda = $PS[\"Data.Coyoneda\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ord = $PS[\"Data.Ord\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = $PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_HalogenM = $PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Halogen_Subscription = $PS[\"Halogen.Subscription\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n var subs = Effect_Ref.read(v.subscriptions)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Halogen_Subscription.unsubscribe)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))();\n };\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 182, column 33 - line 184, column 57): \" + [ v.constructor.name ]);\n });\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (result) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v) {\n 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))(v.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(result);\n });\n });\n });\n });\n });\n };\n };\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (dsx) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(dsx);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 86, column 7 - line 92, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (sid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Halogen_Subscription.subscribe(v1.value0(sid))(function (act) {\n return handleAff(evalF(render)(ref)(new Halogen_Query_Input.Action(act)));\n })))(function (finalize) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n 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(Halogen_Query_HalogenM.ordSubscriptionId)(sid)(finalize)))(v2.subscriptions)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(sid));\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(unsubscribe(v1.value0)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (handler) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(handler(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp((function () {\n var $78 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $79 = evalM(render)(ref);\n return function ($80) {\n return $78($79($80));\n };\n })())(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (fid) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (doneRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(fid))(v2.forks)();\n return Effect_Ref.write(true)(doneRef)();\n }))(evalM(render)(ref)(v1.value0))))(function (fiber) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(doneRef))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(fid)(fiber))(v2.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(fid));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (forkMap) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(forkMap)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 83, column 12 - line 133, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 52, column 20 - line 58, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n exports[\"handleAff\"] = handleAff;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Aff.Driver\"] = $PS[\"Halogen.Aff.Driver\"] || {};\n var exports = $PS[\"Halogen.Aff.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Control_Monad_Fork_Class = $PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = $PS[\"Control.Parallel\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_List = $PS[\"Data.List\"];\n var Data_List_Types = $PS[\"Data.List.Types\"];\n var Data_Map_Internal = $PS[\"Data.Map.Internal\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Console = $PS[\"Effect.Console\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_Eval = $PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = $PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"];\n var Halogen_Subscription = $PS[\"Halogen.Subscription\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handlePending = function (ref) {\n return function __do() {\n var queue = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(queue)((function () {\n var $28 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($29) {\n return Halogen_Aff_Driver_Eval.handleAff($28(Data_List.reverse($29)));\n };\n })())();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(Halogen_Subscription.unsubscribe)))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $30 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($31) {\n return Halogen_Aff_Driver_Eval.handleAff($30($31));\n };\n })()))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n 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 () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var lchs$prime = newLifecycleHandlers();\n var $$var = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(lchs$prime)();\n var pre = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: pre.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX((function () {\n var $32 = render(lchs);\n return function ($33) {\n return $32((function (v) {\n return v.selfRef;\n })($33));\n };\n })()))(Effect_Ref.read($$var))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(pre.initializers))(Effect_Ref.read($$var))();\n return $$var;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var childrenIn = Data_Functor.map(Effect.functorEffect)(slot.pop)(Effect_Ref.read(childrenInRef))();\n var $$var = (function () {\n if (childrenIn instanceof Data_Maybe.Just) {\n Effect_Ref.write(childrenIn.value0.value1)(childrenInRef)();\n var dsx = Effect_Ref.read(childrenIn.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)((function () {\n var $34 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($35) {\n return $34(slot.output($35));\n };\n })())();\n return Halogen_Aff_Driver_Eval.handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Receive(slot.input, Data_Unit.unit))))();\n };\n })(dsx)();\n return childrenIn.value0.value0;\n };\n if (childrenIn instanceof Data_Maybe.Nothing) {\n return runComponent(lchs)((function () {\n var $36 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($37) {\n return $36(slot.output($37));\n };\n })())(slot.input)(slot.component)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 210, column 14 - line 219, column 98): \" + [ childrenIn.constructor.name ]);\n })();\n var isDuplicate = Data_Functor.map(Effect.functorEffect)(function ($38) {\n return Data_Maybe.isJust(slot.get($38));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(isDuplicate)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set($$var))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read($$var))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 224, column 37 - line 226, column 50): \" + [ v.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var shouldProcessHandlers = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var selfRef = Control_Category.identity(Control_Category.categoryFn)(v.selfRef);\n var pendingQueries = Control_Category.identity(Control_Category.categoryFn)(v.pendingQueries);\n var pendingHandlers = Control_Category.identity(Control_Category.categoryFn)(v.pendingHandlers);\n var handler = (function () {\n var $39 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $40 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $41 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($42) {\n return $39($40($41($42)));\n };\n })();\n var childHandler = (function () {\n var $43 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($44) {\n return $43(handler(Halogen_Query_Input.Action.create($44)));\n };\n })();\n var rendering = renderSpec.render(function ($45) {\n return Halogen_Aff_Driver_Eval.handleAff(handler($45));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var children = Effect_Ref.read(v.childrenOut)();\n var childrenIn = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(childrenIn)(function (v1) {\n return function __do() {\n var childDS = Effect_Ref.read(v1)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(childDS)();\n return finalize(lchs)(childDS)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: children,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(rendering),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(shouldProcessHandlers)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v1) {\n return function __do() {\n var handlers = Effect_Ref.read(pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)((function () {\n var $46 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($47) {\n return Halogen_Aff_Driver_Eval.handleAff($46(Data_List.reverse($47)));\n };\n })())(handlers)();\n var mmore = Effect_Ref.read(pendingHandlers)();\n var $21 = Data_Maybe.maybe(false)(Data_List[\"null\"])(mmore);\n if ($21) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var dsx = Effect_Ref.read(v)();\n return finalize(lchs)(dsx)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function (v1) {\n return function __do() {\n var v2 = Effect_Class.liftEffect(Effect_Class.monadEffectEffect)(Effect_Ref.read(v1.selfRef))();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v2.rendering)(renderSpec.dispose)();\n };\n })(dsx)();\n });\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (lchs) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (disposed) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(lchs)(function __do() {\n var sio = Halogen_Subscription.create();\n var dsx = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(lchs)((function () {\n var $48 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $49 = Halogen_Subscription.notify(sio.listener);\n return function ($50) {\n return $48($49($50));\n };\n })())(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(disposed)(st.selfRef),\n messages: sio.emitter,\n dispose: dispose(disposed)(lchs)(dsx)\n });\n })(dsx)();\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.DOM.ParentNode\"] = $PS[\"Web.DOM.ParentNode\"] || {};\n var exports = $PS[\"Web.DOM.ParentNode\"];\n var $foreign = $PS[\"Web.DOM.ParentNode\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var querySelector = function (qs) {\n var $0 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $1 = $foreign[\"_querySelector\"](qs);\n return function ($2) {\n return $0($1($2));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.HTML.HTMLDocument\"] = $PS[\"Web.HTML.HTMLDocument\"] || {};\n var exports = $PS[\"Web.HTML.HTMLDocument\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.Aff.Util\"] = $PS[\"Halogen.Aff.Util\"] || {};\n var exports = $PS[\"Halogen.Aff.Util\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Exception = $PS[\"Effect.Exception\"];\n var Web_DOM_ParentNode = $PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)((function () {\n var $2 = Web_DOM_ParentNode.querySelector(query);\n return function ($3) {\n return $2(Web_HTML_HTMLDocument.toParentNode($3));\n };\n })())(Web_HTML_Window.document))(Web_HTML.window)))(function (mel) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(mel));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.setAttribute = function (name) {\n return function (value) {\n return function (element) {\n return function () {\n element.setAttribute(name, value);\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.DOM.Element\"] = $PS[\"Web.DOM.Element\"] || {};\n var exports = $PS[\"Web.DOM.Element\"];\n var $foreign = $PS[\"Web.DOM.Element\"];\n var Unsafe_Coerce = $PS[\"Unsafe.Coerce\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.VDom.DOM\"] = $PS[\"Halogen.VDom.DOM\"] || {};\n var exports = $PS[\"Halogen.VDom.DOM\"];\n var Data_Array = $PS[\"Data.Array\"];\n var Data_Boolean = $PS[\"Data.Boolean\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = $PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var res = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v.value0, {\n build: state.build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, parent);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forInE(v.children, function (v1, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var parent = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, parent);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $58 = v === v1;\n if ($58) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var res = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (ix, v2) {\n var res = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var res = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var onThat = function (v2, ix, v3) {\n var res = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), state.node);\n return res;\n };\n var children2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var attrs2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: attrs2,\n ns: vdom.value0,\n name: vdom.value1,\n children: children2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var res = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: build,\n widget: res\n }, patchWidget, haltWidget));\n })(res);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var node = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: node,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (v1, ix, v2) {\n var res = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var el = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(el);\n var onChild = function (ix, child) {\n var res = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(res), node);\n return res;\n };\n var children = Halogen_VDom_Util.forE(ch1, onChild);\n var attrs = v.buildAttributes(el)(as1);\n var state = {\n build: build,\n node: node,\n attrs: attrs,\n ns: ns1,\n name: name1,\n children: children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n };\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.VDom.Thunk\"] = $PS[\"Halogen.VDom.Thunk\"] || {};\n var exports = $PS[\"Halogen.VDom.Thunk\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = $PS[\"Halogen.VDom.Util\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && v.value1(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $43 = unsafeEqThunk(state.thunk, t2);\n if ($43) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var vdom = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n vdom: vdom,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var vdom = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(vdom), {\n thunk: t,\n vdom: vdom\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Web.DOM.Node\"] = $PS[\"Web.DOM.Node\"] || {};\n var exports = $PS[\"Web.DOM.Node\"];\n var $foreign = $PS[\"Web.DOM.Node\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Nullable = $PS[\"Data.Nullable\"];\n var Effect = $PS[\"Effect\"];\n var parentNode = (function () {\n var $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($4) {\n return $3($foreign[\"_parentNode\"]($4));\n };\n })();\n var nextSibling = (function () {\n var $14 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n return function ($15) {\n return $14($foreign[\"_nextSibling\"]($15));\n };\n })();\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Halogen.VDom.Driver\"] = $PS[\"Halogen.VDom.Driver\"] || {};\n var exports = $PS[\"Halogen.VDom.Driver\"];\n var Control_Applicative = $PS[\"Control.Applicative\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Control_Category = $PS[\"Control.Category\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Effect_Ref = $PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver = $PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = $PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = $PS[\"Halogen.Component\"];\n var Halogen_VDom_DOM = $PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = $PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = $PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = $PS[\"Halogen.VDom.Thunk\"];\n var Unsafe_Reference = $PS[\"Unsafe.Reference\"];\n var Web_DOM_Node = $PS[\"Web.DOM.Node\"];\n var Web_HTML = $PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = $PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = $PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var npn = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(npn)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap())(spec);\n var renderComponentSlot = function (cs) {\n var renderChild = Effect_Ref.read(renderChildRef)();\n var rsx = renderChild(cs)();\n var node = getNode(rsx);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step), new Data_Maybe.Just(step), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var step$prime = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(step$prime), new Data_Maybe.Just(step$prime), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var renderChildRef = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(renderChildRef)(document);\n var machine = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(machine);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: machine,\n node: node,\n renderChildRef: renderChildRef\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var parent = Web_DOM_Node.parentNode(v1.value0.node)();\n var nextSib = Web_DOM_Node.nextSibling(v1.value0.node)();\n var machine$prime = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(machine$prime);\n 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)(nextSib)(parent))();\n return {\n machine: machine$prime,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n 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 (document) {\n return Halogen_Aff_Driver.runUI(renderSpec(document)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function($PS) {\n // Generated by purs version 0.14.4\n \"use strict\";\n $PS[\"Main\"] = $PS[\"Main\"] || {};\n var exports = $PS[\"Main\"];\n var $foreign = $PS[\"Main\"];\n var App = $PS[\"App\"];\n var Component_AccountSettings = $PS[\"Component.AccountSettings\"];\n var Component_Add = $PS[\"Component.Add\"];\n var Component_BList = $PS[\"Component.BList\"];\n var Component_NList = $PS[\"Component.NList\"];\n var Component_NNote = $PS[\"Component.NNote\"];\n var Component_TagCloud = $PS[\"Component.TagCloud\"];\n var Control_Bind = $PS[\"Control.Bind\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Effect = $PS[\"Effect\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var Halogen_Aff_Util = $PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = $PS[\"Halogen.VDom.Driver\"];\n var Model = $PS[\"Model\"];\n var Web_DOM_Element = $PS[\"Web.DOM.Element\"];\n var Web_Event_Event = $PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = $PS[\"Web.HTML.HTMLElement\"]; \n var viewRendered = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\"#content\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.setAttribute(\"view-rendered\")(\"\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderTagCloud = function (renderElSelector) {\n return function (tagCloudMode) {\n 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) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_TagCloud.tagcloudcomponent(Model.tagCloudModeToF(tagCloudMode)))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n 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) {\n 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 () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n 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) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el)))(function () {\n return viewRendered;\n });\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)((function () {\n var $0 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($1) {\n return $0(Effect_Aff.launchAff(App.logout($1)));\n };\n })())(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderTagCloud\"] = renderTagCloud;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"viewRendered\"] = viewRendered;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS);\nPS[\"Main\"].main();"]} \ No newline at end of file diff --git a/static/js/app.min.js.map.gz b/static/js/app.min.js.map.gz index 8e648fed894f86ebedc7ab7f519845190c2013fa..c5972c734dccac39cb6e971c8b9c545461905ed4 100644 GIT binary patch literal 262050 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�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≈AjG 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

      QRIhDkY-o8MbUn=dmdXViSW9Wp8Dz+ook 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 z zaC?Kzy(}GX!gPjB0Fd4^-Y_S~q$aso824M_esLsa!?m|nMLM$CqB#%}T0_&^LU^a1 z$vGQmV^p~(6PW@Lv373EJ@m^)fjm6jlBX~I7}1QsF~@})Omb{Or{EQrEY!+w>Dj4k z&qPx1E(^m^dIod5k7KWgV-G2K;SIO9@CqOjd$ZgWqBGR*t2J|HgC^&DhU<`8dGl+E z={TaQ5*LfsfJ)k5Ho0s=)sLuUsVm-<`%;8&Ir7Y{A|or`J1XcE4}Q|>-}y-gXX;=0 zZt07{hB}>>p$!bLC^0229~eiQhu=SJ2C#B(jh=4pyFanBO5O(1#q-6BEX^g&3i@pf zIV0N$e^EI;xh*pot7EHd(NUGH^5$OOWgl+hsv`hm*+WC`n!b$_znj-=mhDg_98WEp ze8jY;d5PzPo&3P*WO!7YZN4J_35Nl(GNN5I-G%hChzg@N3n4o#?KrY}xu{>e!PQYo zUp?atsC)}3eq)_4(S*zP(CcE7Tjy2)(e8Zp+-FWGnHtZ9jhB?6V*~sUZDnpHnbpd>ypk+j)T1MZezE z@3Y>m`3|WDw_h&;d8y|{F&t{wteZj}a>bVFkOvu%j^~27b8iIsTX+QFwcPqVeAYy? z%$qp-DhFobD3Fi$SK^4*g4Kv+HA=J^*|_CPU#p=12)`JecT0P#lTFX+B9-L6OSa~I z%VT*alGUbecfDiE#S{b6{Quz?rRhDVV^pShg4ZZu^IHvLZ}b1nV3_Uz^~C||)`#fY zJ+Gm7QCyXZNbWIAOfkZm1_? zCJX=546e)U|4|Q8+Y5{W$wL&^yNMQ^Ge3_q#R%8wk%x!LR2ca5QM>jGl2p_xLBB1OHIQViB@TzRH&8ooWYc1QCE5k!(tAdfhxeF{`#n5e z+C_)v3Lr5RI@qHJPsZ3cV@vH8tDi4cSgM)^K)lV@t$!~rp2YJ_PR>SER z7@RluQTi2zmyJD)KE`OaLv{!~7-8YMq2cqOfQFgFp`r5@21|`SY~I0WtwH>t$nnNH zM79$%MoKd|i|v0A>J(M5?0+ZJ30Vzj;<)p{QbL`%c4Ol-KY|6glCvtd{;_1B_s8$B-o7(^3g;e9p+w(qoo+N@1%U^wx{O;70d*JHwA*P?j?&^k}OsX7L3=M$hlTZ z>fW~v{QKt_UfJVY49Jt0#EiVbormst&4HBFH*FMa02D2M+&^PIa&M#gJl&d2> zn4F`yL@x~vY@&2fqsL*`2^>fG9Z7yks{p&H+-D^%glY!JuXD>UV#5?$Gk!cH#J><5@`!BXqNX$U--o2cp zSG+{L7va#ccjR{V{iW7|WaQmL^i5c1y; z%`_Di$kwG5jS@W(d@oU^aKjW}m)%uZL;o2c~h3b^Kf?9jwv6G72>`fr(_XnD?I6PiRZ*`?B&he!l1srgJ zot36Jd(m#YJP4^Mj|&cfm~^g~I_w#J5B_Hr1&Ui^Fb6AYe#b|XUmoacaKNwZ_JbMn z^d1ZFuNj3q>1*ixYo?8{z%SbZUkg=~r$Jkat#@ld1xSsPR1G0cB~^rSwUi0VAu1SJ zWWH_eh24t>Ph)XT)SAz;y9OmocibOmBkw&$v)Iic(;AhnsJB?0mH!`k(fbxDa8cgyI*MNV(Gy4Ibx zNRC?W#mkiT*LBF1X>J-^qxZHme!H;2#v>Bm5phE@is_YgYvTbK{EtZ8S25g(cIE2t zEQH;9lQh>wwY7X5R@`@@vGQt6-f#JFTbrGeW`Xk_TemVirP4Pina{++OnJT$+0pnN z?bDt2yodz|E!8=Xg52lj95Ykt2HQGB8_#ZJPbzs=uW*B(Hp4F|3NXTMSm*eL-Zzc^ z-PG-dU(A6SVe=p1Ck9EufYB1G~)-JF9_5Vhh zLDyH#)O&kho`H1?>U}TcVTeQI_L}7-7v#wm`8(N>h3bCp{<8~@ zupy-2M@ls(IIfpJpx8t5kV+B$bY1Q4L@p|iSr4S%6lY%5%Wq%z$bh4?1>7F>IJqi{ zR$PSCowxX(8J#O_*W$&wZw_WKyq$N7UEPum!24_Nvq2jyIS#1OAi_0C@2huGz7DxZ zW+0h-<1gPTldG&?0n;s73*TYTgpeg{aNZ(_uuN!$Ao&uu0-D5N>&))wKyD}iYdB>)-P<)zwt*)jT7OWVmA zEKcq0jC#C>&ufz$nFEtInIrI1;y`=2$$J3a!3)35%Y`z8fJ!f_t1%$AHisj`nbL}n zim4i1(^2t=+M^qO+WneM@_{FnS$I~uDpy4!c8PEuYugV9d>^~7S^`tVd^ zfty_S%6Bjt1mQ9lc)UeSnH}rz)MM7OP!RkgrTth@dQ+9}_5|A2T zFsZXDkQmnpgX20nq$9|M4(ylx?d{JTg}`V`RXNl~9$LV=7y%xdN4b#Pc@rQcGn_gJy8V>l$!wCC%Y{|-Uy-6 z2v{_l62Q1!#rkF`i z;^3k#GP_2#)7PQM<_Z&kp-I`%`UJ%%a*;cQETsSo*4N;=`JQG4ff9Uj@YYv7*Kh<57K zM_Z{@=jgQcm??0w@lpqv(%!VK_lw-UbvWquHn)FbfUbJ-5D)eAo6=Aasy_-zo$+R$ zX@Gxc)2MMlqti3{+UH2% zLPH!`BXr!r3Q*LK5C;fs|3F|R`FW-Wv8WDW%$>U}$6v$6y53d&()xpJ>IXB2EYZ_D zegDRJEELhpl`4VmOkx?>Dj9O2^#jnP*B8)a!)|R5_O*j4n0limKm6Wspw~U&K;u^B zE}uS?6>xPz* z^oulrlowSJxLrF)R){9o2dLk0TVkO|L%XDSbF8^tNvp}o_DQrMWA!@r4Cl`$mvs%P zrZWZTD9kR2z|I<*+TTiOdpCPv0D#PFINn#KRoSY`9ZsSZp)Z*;{y#FsUm1#NgL^vh z(iP)CmRH1))n1|Q%O}UJevmEvK9bJ;BK)BJV1eN~S2$d!$LE3Esg07Y+a6xv#YU`h zJ2*$FA;&dUb3jQIboMFhz-@$1aD>>l-DcNErdPWkY=-p7Y35lE$z^Ff{*+zwQ#IwB z=}x1di_mdPFD+@8e2Vtc={ED_T<)-8a?6wY1B%nzwDTkPlKEr^dZ1cf=H{JKDc)dP zJk~wuNw`3)*)yezaIp>p-6H3)DNP94*dM16FJE%S##Q$^OmuqPt~Bc9wlu27uM2a2 zUF4p{erd`^UC-N{N2YcjQLG@;%44cPFX#U10PdifIORe(w?dK``+tJscTh*2#$Jvx z=$7zmyWT42o`G(6gza`7Z)=D?xo0?r*BkzoGtZgm3Kh)RPZ4p*{nMJ9Wo7yaB)w(u z-RCsB!)*J#p?Aap7Ec{L_8+1+N{Pc%j|&v02vg}2`W|}{g4qQ~tf$*eg(wQHK% z<3-sg=%4W%!>B|}cH0|BY@n|XXLfg9t(Tdgld&*Cr(?ag|A_y(Vm9=3=zLPq^4sNf zzr_PR+AC5dXP>9}-_a@GqfO4S6ccYT_IKjH@rEelahsZQIaQHdj>QRBEn<;VqM79*vJ?7M#)+{Q`ML;X$teq4CW6b`L;ji%tL6(>9NvbS-P?b)u;L4=_EIoF(y=%1J z>hp2DP{JU`4FdStW3-y<)k|FB?34j?Wt~{ufaCgpGg0}PW-qX0g%B%-ntCcsUXPw# zx7)J|JvZd+f`Z7Ne`RtzyodZOcVI%TGz}YRM;9a7>A_)kg7Y`!HpveTkkmFg^=I5m z_yP9~e!kID+B@Y+i$USzO+ki74zp}5cv1e2nVKG>d9|D5ps%7>a(1E4B-?-SuQ153faa4@e&S1{_(KxC)WKY-}->1?Hz0u+C_=iY&WR z@gY^+(-mgB?RiTKE@MG|1~p9G+&G|UwV&$LPo*UX%=6J_Hthg`ej^KA${ku2wM8qZ zAp^rpRzv_!K(W8|6ttWzp!&>kIiq!2siY{*aOU*~I=N7-RD?AXiOI@*@4jk7Q6<`? zUR6;{((%5@$ky{|>e#$Y9k!?qKIBiLj?Gc(7;k+GLp40#nXlze9_)eO-_CpLQYLjW zf~&}}IuTZt!qA%T6~hY6sHEo_(~>YIwXjdyE z{96@JTvnB>PjM)@H^;@bbB=~pJXD$kTcoDe6}qkF zF>6uR#q(&}T0qoQ5i+ATai43AtA6U^5_l?gCKE_(NozOAcjbV&;i(Y0mZDs1rew?6 zQckcBwWlyPA+^HY8yQ}7j{QN>uX|SRqg9)UoJ}2A&nckgz{ywrx^$89Ewtdl@*ZUU zsjj_^+jI6eVeWu8z|WfW?A0P#^BNyNGT_Xp5sPlv6*|Ad@DQ@~yhTh`{yD^l4k#|I z0Fc-$0~cDr>G`;Fvv}BjO!nZphdRRf2!~%`BA=K=AhNU1TtO1*m1&58+zE19fD<&t zdJQg`?(n9FpV~_|s4l+16fe*)}!fFLq_RsG(`Ig+guc0pW z7o$^mg6>t*neu)F+O(QgCZ8)zK389s&&HPPKfxCX;bAGZnSYsW7DTo=3{GO3`J-$T ze17}M`?1a76>O87Y8Fcv3HG==#lvHVY`Gpgk;``zb{3_b7yr*N%0AuiWjqgo56W%L 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%0A`LXJTk);enzl5J~EHU&wde*)tO_;pa|;X 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

      Rm43xr>6?T(0Qj;8r-bqp*$ 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 z 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%0DlO`g_^HGqoG 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�tWKiN}iTDm&|nCB<2s-Eo% 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

    olbe1-4N?wVUy1Dk^apK?dD%)vexi+eE6l+k8 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 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\n })\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2021, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.marked = factory());\n}(this, (function () { 'use strict';\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var defaults$5 = {exports: {}};\n\n function getDefaults$1() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n }\n\n function changeDefaults$1(newDefaults) {\n defaults$5.exports.defaults = newDefaults;\n }\n\n defaults$5.exports = {\n defaults: getDefaults$1(),\n getDefaults: getDefaults$1,\n changeDefaults: changeDefaults$1\n };\n\n /**\n * Helpers\n */\n var escapeTest = /[&<>\"']/;\n var escapeReplace = /[&<>\"']/g;\n var escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\n var escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n var escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n var getEscapeReplacement = function getEscapeReplacement(ch) {\n return escapeReplacements[ch];\n };\n\n function escape$2(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n }\n\n var unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\n function unescape$1(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, function (_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));\n }\n\n return '';\n });\n }\n\n var caret = /(^|[^\\[])\\^/g;\n\n function edit$1(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n var obj = {\n replace: function replace(name, val) {\n val = val.source || val;\n val = val.replace(caret, '$1');\n regex = regex.replace(name, val);\n return obj;\n },\n getRegex: function getRegex() {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n }\n\n var nonWordAndColonTest = /[^\\w:]/g;\n var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\n function cleanUrl$1(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape$1(href)).replace(nonWordAndColonTest, '').toLowerCase();\n } catch (e) {\n return null;\n }\n\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n\n return href;\n }\n\n var baseUrls = {};\n var justDomain = /^[^:]+:\\/*[^/]*$/;\n var protocol = /^([^:]+:)[\\s\\S]*$/;\n var domain = /^([^:]+:\\/*[^/]*)[\\s\\S]*$/;\n\n function resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (justDomain.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim$1(base, '/', true);\n }\n }\n\n base = baseUrls[' ' + base];\n var relativeBase = base.indexOf(':') === -1;\n\n if (href.substring(0, 2) === '//') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(protocol, '$1') + href;\n } else if (href.charAt(0) === '/') {\n if (relativeBase) {\n return href;\n }\n\n return base.replace(domain, '$1') + href;\n } else {\n return base + href;\n }\n }\n\n var noopTest$1 = {\n exec: function noopTest() {}\n };\n\n function merge$2(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n }\n\n function splitCells$1(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n\n while (--curr >= 0 && str[curr] === '\\\\') {\n escaped = !escaped;\n }\n\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/);\n var i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) {\n cells.push('');\n }\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n\n return cells;\n } // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n // /c*$/ is vulnerable to REDOS.\n // invert: Remove suffix of non-c chars instead. Default falsey.\n\n\n function rtrim$1(str, c, invert) {\n var l = str.length;\n\n if (l === 0) {\n return '';\n } // Length of suffix matching the invert condition.\n\n\n var suffLen = 0; // Step left until we fail to match the invert condition.\n\n while (suffLen < l) {\n var currChar = str.charAt(l - suffLen - 1);\n\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, l - suffLen);\n }\n\n function findClosingBracket$1(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n\n var l = str.length;\n var level = 0,\n i = 0;\n\n for (; i < l; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n\n if (level < 0) {\n return i;\n }\n }\n }\n\n return -1;\n }\n\n function checkSanitizeDeprecation$1(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n } // copied from https://stackoverflow.com/a/5450113/806777\n\n\n function repeatString$1(pattern, count) {\n if (count < 1) {\n return '';\n }\n\n var result = '';\n\n while (count > 1) {\n if (count & 1) {\n result += pattern;\n }\n\n count >>= 1;\n pattern += pattern;\n }\n\n return result + pattern;\n }\n\n var helpers = {\n escape: escape$2,\n unescape: unescape$1,\n edit: edit$1,\n cleanUrl: cleanUrl$1,\n resolveUrl: resolveUrl,\n noopTest: noopTest$1,\n merge: merge$2,\n splitCells: splitCells$1,\n rtrim: rtrim$1,\n findClosingBracket: findClosingBracket$1,\n checkSanitizeDeprecation: checkSanitizeDeprecation$1,\n repeatString: repeatString$1\n };\n\n var defaults$4 = defaults$5.exports.defaults;\n var rtrim = helpers.rtrim,\n splitCells = helpers.splitCells,\n _escape = helpers.escape,\n findClosingBracket = helpers.findClosingBracket;\n\n function outputLink(cap, link, raw) {\n var href = link.href;\n var title = link.title ? _escape(link.title) : null;\n var text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n\n if (cap[0].charAt(0) !== '!') {\n return {\n type: 'link',\n raw: raw,\n href: href,\n title: title,\n text: text\n };\n } else {\n return {\n type: 'image',\n raw: raw,\n href: href,\n title: title,\n text: _escape(text)\n };\n }\n }\n\n function indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split('\\n').map(function (node) {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var indentInNode = matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join('\\n');\n }\n /**\n * Tokenizer\n */\n\n\n var Tokenizer_1 = /*#__PURE__*/function () {\n function Tokenizer(options) {\n this.options = options || defaults$4;\n }\n\n var _proto = Tokenizer.prototype;\n\n _proto.space = function space(src) {\n var cap = this.rules.block.newline.exec(src);\n\n if (cap) {\n if (cap[0].length > 1) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n\n return {\n raw: '\\n'\n };\n }\n };\n\n _proto.code = function code(src) {\n var cap = this.rules.block.code.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic ? rtrim(text, '\\n') : text\n };\n }\n };\n\n _proto.fences = function fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw: raw,\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: text\n };\n }\n };\n\n _proto.heading = function heading(src) {\n var cap = this.rules.block.heading.exec(src);\n\n if (cap) {\n var text = cap[2].trim(); // remove trailing #s\n\n if (/#$/.test(text)) {\n var trimmed = rtrim(text, '#');\n\n if (this.options.pedantic) {\n text = trimmed.trim();\n } else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text: text\n };\n }\n };\n\n _proto.nptable = function nptable(src) {\n var cap = this.rules.block.nptable.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : [],\n raw: cap[0]\n };\n\n if (item.header.length === item.align.length) {\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.hr = function hr(src) {\n var cap = this.rules.block.hr.exec(src);\n\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n };\n\n _proto.blockquote = function blockquote(src) {\n var cap = this.rules.block.blockquote.exec(src);\n\n if (cap) {\n var text = cap[0].replace(/^ *> ?/gm, '');\n return {\n type: 'blockquote',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.list = function list(src) {\n var cap = this.rules.block.list.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var bull = cap[2];\n var isordered = bull.length > 1;\n var list = {\n type: 'list',\n raw: raw,\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n }; // Get each top-level item.\n\n var itemMatch = cap[0].match(this.rules.block.item);\n var next = false,\n item,\n space,\n bcurr,\n bnext,\n addBack,\n loose,\n istask,\n ischecked,\n endMatch;\n var l = itemMatch.length;\n bcurr = this.rules.block.listItemStart.exec(itemMatch[0]);\n\n for (var i = 0; i < l; i++) {\n item = itemMatch[i];\n raw = item;\n\n if (!this.options.pedantic) {\n // Determine if current item contains the end of the list\n endMatch = item.match(new RegExp('\\\\n\\\\s*\\\\n {0,' + (bcurr[0].length - 1) + '}\\\\S'));\n\n if (endMatch) {\n addBack = item.length - endMatch.index + itemMatch.slice(i + 1).join('\\n').length;\n list.raw = list.raw.substring(0, list.raw.length - addBack);\n item = item.substring(0, endMatch.index);\n raw = item;\n l = i + 1;\n }\n } // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n\n\n if (i !== l - 1) {\n bnext = this.rules.block.listItemStart.exec(itemMatch[i + 1]);\n\n if (!this.options.pedantic ? bnext[1].length >= bcurr[0].length || bnext[1].length > 3 : bnext[1].length > bcurr[1].length) {\n // nested list or continuation\n itemMatch.splice(i, 2, itemMatch[i] + (!this.options.pedantic && bnext[1].length < bcurr[0].length && !itemMatch[i].match(/\\n$/) ? '' : '\\n') + itemMatch[i + 1]);\n i--;\n l--;\n continue;\n } else if ( // different bullet style\n !this.options.pedantic || this.options.smartLists ? bnext[2][bnext[2].length - 1] !== bull[bull.length - 1] : isordered === (bnext[2].length === 1)) {\n addBack = itemMatch.slice(i + 1).join('\\n').length;\n list.raw = list.raw.substring(0, list.raw.length - addBack);\n i = l - 1;\n }\n\n bcurr = bnext;\n } // Remove the list item's bullet\n // so it is seen as the next token.\n\n\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+[.)]) ?/, ''); // Outdent whatever the\n // list item contains. Hacky.\n\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') : item.replace(/^ {1,4}/gm, '');\n } // trim item newlines at end\n\n\n item = rtrim(item, '\\n');\n\n if (i !== l - 1) {\n raw = raw + '\\n';\n } // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n\n\n loose = next || /\\n\\n(?!\\s*$)/.test(raw);\n\n if (i !== l - 1) {\n next = raw.slice(-2) === '\\n\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n list.loose = true;\n } // Check for task list items\n\n\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n\n list.items.push({\n type: 'list_item',\n raw: raw,\n task: istask,\n checked: ischecked,\n loose: loose,\n text: item\n });\n }\n\n return list;\n }\n };\n\n _proto.html = function html(src) {\n var cap = this.rules.block.html.exec(src);\n\n if (cap) {\n return {\n type: this.options.sanitize ? 'paragraph' : 'html',\n raw: cap[0],\n pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.def = function def(src) {\n var cap = this.rules.block.def.exec(src);\n\n if (cap) {\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n var tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n return {\n type: 'def',\n tag: tag,\n raw: cap[0],\n href: cap[2],\n title: cap[3]\n };\n }\n };\n\n _proto.table = function table(src) {\n var cap = this.rules.block.table.exec(src);\n\n if (cap) {\n var item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n item.raw = cap[0];\n var l = item.align.length;\n var i;\n\n for (i = 0; i < l; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n l = item.cells.length;\n\n for (i = 0; i < l; i++) {\n item.cells[i] = splitCells(item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''), item.header.length);\n }\n\n return item;\n }\n }\n };\n\n _proto.lheading = function lheading(src) {\n var cap = this.rules.block.lheading.exec(src);\n\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n };\n }\n };\n\n _proto.paragraph = function paragraph(src) {\n var cap = this.rules.block.paragraph.exec(src);\n\n if (cap) {\n return {\n type: 'paragraph',\n raw: cap[0],\n text: cap[1].charAt(cap[1].length - 1) === '\\n' ? cap[1].slice(0, -1) : cap[1]\n };\n }\n };\n\n _proto.text = function text(src) {\n var cap = this.rules.block.text.exec(src);\n\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0]\n };\n }\n };\n\n _proto.escape = function escape(src) {\n var cap = this.rules.inline.escape.exec(src);\n\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: _escape(cap[1])\n };\n }\n };\n\n _proto.tag = function tag(src, inLink, inRawBlock) {\n var cap = this.rules.inline.tag.exec(src);\n\n if (cap) {\n if (!inLink && /^/i.test(cap[0])) {\n inLink = false;\n }\n\n if (!inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = true;\n } else if (inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n inRawBlock = false;\n }\n\n return {\n type: this.options.sanitize ? 'text' : 'html',\n raw: cap[0],\n inLink: inLink,\n inRawBlock: inRawBlock,\n text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]\n };\n }\n };\n\n _proto.link = function link(src) {\n var cap = this.rules.inline.link.exec(src);\n\n if (cap) {\n var trimmedUrl = cap[2].trim();\n\n if (!this.options.pedantic && /^$/.test(trimmedUrl)) {\n return;\n } // ending angle bracket cannot be escaped\n\n\n var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n } else {\n // find closing parenthesis\n var lastParenIndex = findClosingBracket(cap[2], '()');\n\n if (lastParenIndex > -1) {\n var start = cap[0].indexOf('!') === 0 ? 5 : 4;\n var linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n\n var href = cap[2];\n var title = '';\n\n if (this.options.pedantic) {\n // split pedantic href and title\n var link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n\n href = href.trim();\n\n if (/^$/.test(trimmedUrl)) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n } else {\n href = href.slice(1, -1);\n }\n }\n\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline._escapes, '$1') : href,\n title: title ? title.replace(this.rules.inline._escapes, '$1') : title\n }, cap[0]);\n }\n };\n\n _proto.reflink = function reflink(src, links) {\n var cap;\n\n if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {\n var link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = links[link.toLowerCase()];\n\n if (!link || !link.href) {\n var text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text: text\n };\n }\n\n return outputLink(cap, link, cap[0]);\n }\n };\n\n _proto.emStrong = function emStrong(src, maskedSrc, prevChar) {\n if (prevChar === void 0) {\n prevChar = '';\n }\n\n var match = this.rules.inline.emStrong.lDelim.exec(src);\n if (!match) return; // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n\n if (match[3] && prevChar.match(/(?:[0-9A-Za-z\\xAA\\xB2\\xB3\\xB5\\xB9\\xBA\\xBC-\\xBE\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u0660-\\u0669\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07C0-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0966-\\u096F\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09E6-\\u09F1\\u09F4-\\u09F9\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A6F\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AE6-\\u0AEF\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B66-\\u0B6F\\u0B71-\\u0B77\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0BE6-\\u0BF2\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C66-\\u0C6F\\u0C78-\\u0C7E\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D58-\\u0D61\\u0D66-\\u0D78\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DE6-\\u0DEF\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F20-\\u0F33\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F-\\u1049\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1090-\\u1099\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1369-\\u137C\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u17E0-\\u17E9\\u17F0-\\u17F9\\u1810-\\u1819\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B50-\\u1B59\\u1B83-\\u1BA0\\u1BAE-\\u1BE5\\u1C00-\\u1C23\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2070\\u2071\\u2074-\\u2079\\u207F-\\u2089\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2150-\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2CFD\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u3192-\\u3195\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7BF\\uA7C2-\\uA7CA\\uA7F5-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA830-\\uA835\\uA840-\\uA873\\uA882-\\uA8B3\\uA8D0-\\uA8D9\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA900-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF-\\uA9D9\\uA9E0-\\uA9E4\\uA9E6-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD07-\\uDD33\\uDD40-\\uDD78\\uDD8A\\uDD8B\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE1-\\uDEFB\\uDF00-\\uDF23\\uDF2D-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC58-\\uDC76\\uDC79-\\uDC9E\\uDCA7-\\uDCAF\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDCFB-\\uDD1B\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBC-\\uDDCF\\uDDD2-\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE40-\\uDE48\\uDE60-\\uDE7E\\uDE80-\\uDE9F\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDEEB-\\uDEEF\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF58-\\uDF72\\uDF78-\\uDF91\\uDFA9-\\uDFAF]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDCFA-\\uDD23\\uDD30-\\uDD39\\uDE60-\\uDE7E\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF27\\uDF30-\\uDF45\\uDF51-\\uDF54\\uDFB0-\\uDFCB\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC52-\\uDC6F\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD03-\\uDD26\\uDD36-\\uDD3F\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDD0-\\uDDDA\\uDDDC\\uDDE1-\\uDDF4\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDEF0-\\uDEF9\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC50-\\uDC59\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEAA\\uDEB8\\uDEC0-\\uDEC9\\uDF00-\\uDF1A\\uDF30-\\uDF3B]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCF2\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDD50-\\uDD59\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEC0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC50-\\uDC6C\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD50-\\uDD59\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDDA0-\\uDDA9\\uDEE0-\\uDEF2\\uDFB0\\uDFC0-\\uDFD4]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC00-\\uDC6E\\uDC80-\\uDD43]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF5B-\\uDF61\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE96\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82C[\\uDC00-\\uDD1E\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD834[\\uDEE0-\\uDEF3\\uDF60-\\uDF78]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD40-\\uDD49\\uDD4E\\uDEC0-\\uDEEB\\uDEF0-\\uDEF9]|\\uD83A[\\uDC00-\\uDCC4\\uDCC7-\\uDCCF\\uDD00-\\uDD43\\uDD4B\\uDD50-\\uDD59]|\\uD83B[\\uDC71-\\uDCAB\\uDCAD-\\uDCAF\\uDCB1-\\uDCB4\\uDD01-\\uDD2D\\uDD2F-\\uDD3D\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD83C[\\uDD00-\\uDD0C]|\\uD83E[\\uDFF0-\\uDFF9]|\\uD869[\\uDC00-\\uDEDD\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])/)) return;\n var nextChar = match[1] || match[2] || '';\n\n if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {\n var lLength = match[0].length - 1;\n var rDelim,\n rLength,\n delimTotal = lLength,\n midDelimTotal = 0;\n var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;\n endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?)\n\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim) continue; // skip single * in __abc*abc__\n\n rLength = rDelim.length;\n\n if (match[3] || match[4]) {\n // found another Left Delim\n delimTotal += rLength;\n continue;\n } else if (match[5] || match[6]) {\n // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n\n delimTotal -= rLength;\n if (delimTotal > 0) continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a***\n\n if (Math.min(lLength, rLength) % 2) {\n return {\n type: 'em',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: src.slice(1, lLength + match.index + rLength)\n };\n } // Create 'strong' if smallest delimiter has even char count. **a***\n\n\n return {\n type: 'strong',\n raw: src.slice(0, lLength + match.index + rLength + 1),\n text: src.slice(2, lLength + match.index + rLength - 1)\n };\n }\n }\n };\n\n _proto.codespan = function codespan(src) {\n var cap = this.rules.inline.code.exec(src);\n\n if (cap) {\n var text = cap[2].replace(/\\n/g, ' ');\n var hasNonSpaceChars = /[^ ]/.test(text);\n var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n\n text = _escape(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text: text\n };\n }\n };\n\n _proto.br = function br(src) {\n var cap = this.rules.inline.br.exec(src);\n\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n };\n\n _proto.del = function del(src) {\n var cap = this.rules.inline.del.exec(src);\n\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2]\n };\n }\n };\n\n _proto.autolink = function autolink(src, mangle) {\n var cap = this.rules.inline.autolink.exec(src);\n\n if (cap) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);\n href = 'mailto:' + text;\n } else {\n text = _escape(cap[1]);\n href = text;\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.url = function url(src, mangle) {\n var cap;\n\n if (cap = this.rules.inline.url.exec(src)) {\n var text, href;\n\n if (cap[2] === '@') {\n text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n var prevCapZero;\n\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n\n text = _escape(cap[0]);\n\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n\n return {\n type: 'link',\n raw: cap[0],\n text: text,\n href: href,\n tokens: [{\n type: 'text',\n raw: text,\n text: text\n }]\n };\n }\n };\n\n _proto.inlineText = function inlineText(src, inRawBlock, smartypants) {\n var cap = this.rules.inline.text.exec(src);\n\n if (cap) {\n var text;\n\n if (inRawBlock) {\n text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];\n } else {\n text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);\n }\n\n return {\n type: 'text',\n raw: cap[0],\n text: text\n };\n }\n };\n\n return Tokenizer;\n }();\n\n var noopTest = helpers.noopTest,\n edit = helpers.edit,\n merge$1 = helpers.merge;\n /**\n * Block-Level Grammar\n */\n\n var block$1 = {\n newline: /^(?: *(?:\\n|$))+/,\n code: /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/,\n fences: /^ {0,3}(`{3,}(?=[^`\\n]*\\n)|~{3,})([^\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?! {0,3}bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|\\\\n*|$)' // (4)\n + '|\\\\n*|$)' // (5)\n + '|)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noopTest,\n table: noopTest,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html| +\\n)[^\\n]+)*)/,\n text: /^[^\\n]+/\n };\n block$1._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\n block$1._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block$1.def = edit(block$1.def).replace('label', block$1._label).replace('title', block$1._title).getRegex();\n block$1.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block$1.item = /^( *)(bull) ?[^\\n]*(?:\\n(?! *bull ?)[^\\n]*)*/;\n block$1.item = edit(block$1.item, 'gm').replace(/bull/g, block$1.bullet).getRegex();\n block$1.listItemStart = edit(/^( *)(bull) */).replace('bull', block$1.bullet).getRegex();\n block$1.list = edit(block$1.list).replace(/bull/g, block$1.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block$1.def.source + ')').getRegex();\n block$1._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';\n block$1._comment = /|$)/;\n block$1.html = edit(block$1.html, 'i').replace('comment', block$1._comment).replace('tag', block$1._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block$1.paragraph = edit(block$1._paragraph).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block$1._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block$1.blockquote = edit(block$1.blockquote).replace('paragraph', block$1.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block$1.normal = merge$1({}, block$1);\n /**\n * GFM Block Grammar\n */\n\n block$1.gfm = merge$1({}, block$1.normal, {\n nptable: '^ *([^|\\\\n ].*\\\\|.*)\\\\n' // Header\n + ' {0,3}([-:]+ *\\\\|[-| :]*)' // Align\n + '(?:\\\\n((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)',\n // Cells\n table: '^ *\\\\|(.+)\\\\n' // Header\n + ' {0,3}\\\\|?( *[-:]+[-| :]*)' // Align\n + '(?:\\\\n *((?:(?!\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)' // Cells\n\n });\n block$1.gfm.nptable = edit(block$1.gfm.nptable).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block$1._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block$1.gfm.table = edit(block$1.gfm.table).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', ')|<(?:script|pre|style|!--)').replace('tag', block$1._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\n block$1.pedantic = merge$1({}, block$1.normal, {\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))').replace('comment', block$1._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b').getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest,\n // fences not supported\n paragraph: edit(block$1.normal._paragraph).replace('hr', block$1.hr).replace('heading', ' *#{1,6} *[^\\n]').replace('lheading', block$1.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()\n });\n /**\n * Inline-Level Grammar\n */\n\n var inline$1 = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest,\n tag: '^comment' + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^',\n // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n reflinkSearch: 'reflink|nolink(?!\\\\()',\n emStrong: {\n lDelim: /^(?:\\*+(?:([punct_])|[^\\s*]))|^_+(?:([punct*])|([^\\s_]))/,\n // (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.\n // () Skip other delimiter (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a\n rDelimAst: /\\_\\_[^_*]*?\\*[^_*]*?\\_\\_|[punct_](\\*+)(?=[\\s]|$)|[^punct*_\\s](\\*+)(?=[punct_\\s]|$)|[punct_\\s](\\*+)(?=[^punct*_\\s])|[\\s](\\*+)(?=[punct_])|[punct_](\\*+)(?=[punct_])|[^punct*_\\s](\\*+)(?=[^punct*_\\s])/,\n rDelimUnd: /\\*\\*[^_*]*?\\_[^_*]*?\\*\\*|[punct*](\\_+)(?=[\\s]|$)|[^punct*_\\s](\\_+)(?=[punct*\\s]|$)|[punct*\\s](\\_+)(?=[^punct*_\\s])|[\\s](\\_+)(?=[punct*])|[punct*](\\_+)(?=[punct*])/ // ^- Not allowed for _\n\n },\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noopTest,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~';\n inline$1.punctuation = edit(inline$1.punctuation).replace(/punctuation/g, inline$1._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, \n\n inline$1.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\n inline$1.escapedEmSt = /\\\\\\*|\\\\_/g;\n inline$1._comment = edit(block$1._comment).replace('(?:-->|$)', '-->').getRegex();\n inline$1.emStrong.lDelim = edit(inline$1.emStrong.lDelim).replace(/punct/g, inline$1._punctuation).getRegex();\n inline$1.emStrong.rDelimAst = edit(inline$1.emStrong.rDelimAst, 'g').replace(/punct/g, inline$1._punctuation).getRegex();\n inline$1.emStrong.rDelimUnd = edit(inline$1.emStrong.rDelimUnd, 'g').replace(/punct/g, inline$1._punctuation).getRegex();\n inline$1._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n inline$1._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\n inline$1._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\n inline$1.autolink = edit(inline$1.autolink).replace('scheme', inline$1._scheme).replace('email', inline$1._email).getRegex();\n inline$1._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n inline$1.tag = edit(inline$1.tag).replace('comment', inline$1._comment).replace('attribute', inline$1._attribute).getRegex();\n inline$1._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline$1._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\n inline$1._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n inline$1.link = edit(inline$1.link).replace('label', inline$1._label).replace('href', inline$1._href).replace('title', inline$1._title).getRegex();\n inline$1.reflink = edit(inline$1.reflink).replace('label', inline$1._label).getRegex();\n inline$1.reflinkSearch = edit(inline$1.reflinkSearch, 'g').replace('reflink', inline$1.reflink).replace('nolink', inline$1.nolink).getRegex();\n /**\n * Normal Inline Grammar\n */\n\n inline$1.normal = merge$1({}, inline$1);\n /**\n * Pedantic Inline Grammar\n */\n\n inline$1.pedantic = merge$1({}, inline$1.normal, {\n strong: {\n start: /^__|\\*\\*/,\n middle: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n endAst: /\\*\\*(?!\\*)/g,\n endUnd: /__(?!_)/g\n },\n em: {\n start: /^_|\\*/,\n middle: /^()\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)|^_(?=\\S)([\\s\\S]*?\\S)_(?!_)/,\n endAst: /\\*(?!\\*)/g,\n endUnd: /_(?!_)/g\n },\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/).replace('label', inline$1._label).getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace('label', inline$1._label).getRegex()\n });\n /**\n * GFM Inline Grammar\n */\n\n inline$1.gfm = merge$1({}, inline$1.normal, {\n escape: edit(inline$1.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\ 0.5) {\n ch = 'x' + ch.toString(16);\n }\n\n out += '&#' + ch + ';';\n }\n\n return out;\n }\n /**\n * Block Lexer\n */\n\n\n var Lexer_1 = /*#__PURE__*/function () {\n function Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || defaults$3;\n this.options.tokenizer = this.options.tokenizer || new Tokenizer$1();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n var rules = {\n block: block.normal,\n inline: inline.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n } else if (this.options.gfm) {\n rules.block = block.gfm;\n\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n } else {\n rules.inline = inline.gfm;\n }\n }\n\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n\n\n /**\n * Static Lex Method\n */\n Lexer.lex = function lex(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n ;\n\n Lexer.lexInline = function lexInline(src, options) {\n var lexer = new Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n ;\n\n var _proto = Lexer.prototype;\n\n _proto.lex = function lex(src) {\n src = src.replace(/\\r\\n|\\r/g, '\\n').replace(/\\t/g, ' ');\n this.blockTokens(src, this.tokens, true);\n this.inline(this.tokens);\n return this.tokens;\n }\n /**\n * Lexing\n */\n ;\n\n _proto.blockTokens = function blockTokens(src, tokens, top) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (top === void 0) {\n top = true;\n }\n\n if (this.options.pedantic) {\n src = src.replace(/^ +$/gm, '');\n }\n\n var token, i, l, lastToken;\n\n while (src) {\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type) {\n tokens.push(token);\n }\n\n continue;\n } // code\n\n\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.\n\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // fences\n\n\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // heading\n\n\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // table no leading pipe (gfm)\n\n\n if (token = this.tokenizer.nptable(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // hr\n\n\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // blockquote\n\n\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.blockTokens(token.text, [], top);\n tokens.push(token);\n continue;\n } // list\n\n\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n l = token.items.length;\n\n for (i = 0; i < l; i++) {\n token.items[i].tokens = this.blockTokens(token.items[i].text, [], false);\n }\n\n tokens.push(token);\n continue;\n } // html\n\n\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // def\n\n\n if (top && (token = this.tokenizer.def(src))) {\n src = src.substring(token.raw.length);\n\n if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n\n continue;\n } // table (gfm)\n\n\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // lheading\n\n\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // top-level paragraph\n\n\n if (top && (token = this.tokenizer.paragraph(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n\n\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _proto.inline = function inline(tokens) {\n var i, j, k, l2, row, token;\n var l = tokens.length;\n\n for (i = 0; i < l; i++) {\n token = tokens[i];\n\n switch (token.type) {\n case 'paragraph':\n case 'text':\n case 'heading':\n {\n token.tokens = [];\n this.inlineTokens(token.text, token.tokens);\n break;\n }\n\n case 'table':\n {\n token.tokens = {\n header: [],\n cells: []\n }; // header\n\n l2 = token.header.length;\n\n for (j = 0; j < l2; j++) {\n token.tokens.header[j] = [];\n this.inlineTokens(token.header[j], token.tokens.header[j]);\n } // cells\n\n\n l2 = token.cells.length;\n\n for (j = 0; j < l2; j++) {\n row = token.cells[j];\n token.tokens.cells[j] = [];\n\n for (k = 0; k < row.length; k++) {\n token.tokens.cells[j][k] = [];\n this.inlineTokens(row[k], token.tokens.cells[j][k]);\n }\n }\n\n break;\n }\n\n case 'blockquote':\n {\n this.inline(token.tokens);\n break;\n }\n\n case 'list':\n {\n l2 = token.items.length;\n\n for (j = 0; j < l2; j++) {\n this.inline(token.items[j].tokens);\n }\n\n break;\n }\n }\n }\n\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n ;\n\n _proto.inlineTokens = function inlineTokens(src, tokens, inLink, inRawBlock) {\n if (tokens === void 0) {\n tokens = [];\n }\n\n if (inLink === void 0) {\n inLink = false;\n }\n\n if (inRawBlock === void 0) {\n inRawBlock = false;\n }\n\n var token, lastToken; // String with links masked to avoid interference with em and strong\n\n var maskedSrc = src;\n var match;\n var keepPrevChar, prevChar; // Mask out reflinks\n\n if (this.tokens.links) {\n var links = Object.keys(this.tokens.links);\n\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n } // Mask out other blocks\n\n\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n } // Mask out escaped em & strong delimiters\n\n\n while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);\n }\n\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n\n keepPrevChar = false; // escape\n\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // tag\n\n\n if (token = this.tokenizer.tag(src, inLink, inRawBlock)) {\n src = src.substring(token.raw.length);\n inLink = token.inLink;\n inRawBlock = token.inRawBlock;\n var _lastToken = tokens[tokens.length - 1];\n\n if (_lastToken && token.type === 'text' && _lastToken.type === 'text') {\n _lastToken.raw += token.raw;\n _lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // link\n\n\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n }\n\n tokens.push(token);\n continue;\n } // reflink, nolink\n\n\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n var _lastToken2 = tokens[tokens.length - 1];\n\n if (token.type === 'link') {\n token.tokens = this.inlineTokens(token.text, [], true, inRawBlock);\n tokens.push(token);\n } else if (_lastToken2 && token.type === 'text' && _lastToken2.type === 'text') {\n _lastToken2.raw += token.raw;\n _lastToken2.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n } // em & strong\n\n\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // code\n\n\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // br\n\n\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // del (gfm)\n\n\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock);\n tokens.push(token);\n continue;\n } // autolink\n\n\n if (token = this.tokenizer.autolink(src, mangle)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // url (gfm)\n\n\n if (!inLink && (token = this.tokenizer.url(src, mangle))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n } // text\n\n\n if (token = this.tokenizer.inlineText(src, inRawBlock, smartypants)) {\n src = src.substring(token.raw.length);\n\n if (token.raw.slice(-1) !== '_') {\n // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n } else {\n tokens.push(token);\n }\n\n continue;\n }\n\n if (src) {\n var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n\n if (this.options.silent) {\n console.error(errMsg);\n break;\n } else {\n throw new Error(errMsg);\n }\n }\n }\n\n return tokens;\n };\n\n _createClass(Lexer, null, [{\n key: \"rules\",\n get: function get() {\n return {\n block: block,\n inline: inline\n };\n }\n }]);\n\n return Lexer;\n }();\n\n var defaults$2 = defaults$5.exports.defaults;\n var cleanUrl = helpers.cleanUrl,\n escape$1 = helpers.escape;\n /**\n * Renderer\n */\n\n var Renderer_1 = /*#__PURE__*/function () {\n function Renderer(options) {\n this.options = options || defaults$2;\n }\n\n var _proto = Renderer.prototype;\n\n _proto.code = function code(_code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n\n if (this.options.highlight) {\n var out = this.options.highlight(_code, lang);\n\n if (out != null && out !== _code) {\n escaped = true;\n _code = out;\n }\n }\n\n _code = _code.replace(/\\n$/, '') + '\\n';\n\n if (!lang) {\n return '