From 398ab95b34574714ef370c1fa7bcc6897662555c Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Thu, 10 Jun 2021 12:47:44 -0500 Subject: [PATCH] update to purescript v14, upgrade halogen to v6 --- purs/package-lock.json | 2381 ++++++++++++----------- purs/package.json | 10 +- purs/packages.dhall | 2 +- purs/spago.dhall | 62 +- purs/src/Component/AccountSettings.purs | 6 +- purs/src/Component/Add.purs | 16 +- purs/src/Component/BList.purs | 8 +- purs/src/Component/BMark.purs | 28 +- purs/src/Component/Markdown.purs | 2 +- purs/src/Component/NList.purs | 2 +- purs/src/Component/NNote.purs | 25 +- purs/src/Component/RawHtml.purs | 4 +- purs/src/Component/TagCloud.purs | 18 +- purs/src/Util.purs | 10 +- static/js/app.min.js | 4 +- static/js/app.min.js.gz | Bin 85462 -> 83052 bytes static/js/app.min.js.map | 2 +- static/js/app.min.js.map.gz | Bin 271161 -> 262404 bytes 18 files changed, 1377 insertions(+), 1203 deletions(-) diff --git a/purs/package-lock.json b/purs/package-lock.json index 65b00d4..60195da 100644 --- a/purs/package-lock.json +++ b/purs/package-lock.json @@ -4,58 +4,58 @@ "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.14.5" } }, "@babel/compat-data": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.4.tgz", - "integrity": "sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - } + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz", + "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==", + "dev": true }, "@babel/core": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.4.tgz", - "integrity": "sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.5.tgz", + "integrity": "sha512-RN/AwP2DJmQTZSfiDaD+JQQ/J99KsIpOCfBE5pL+5jJSt7nI3nYGoAXZu+ffYSQ029NLs2DstZb+eR81uuARgg==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", + "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", + "semver": "^6.3.0", "source-map": "^0.5.0" }, "dependencies": { "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" } }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -65,14 +65,13 @@ } }, "@babel/generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz", - "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", "dev": true, "requires": { - "@babel/types": "^7.10.4", + "@babel/types": "^7.14.5", "jsesc": "^2.5.1", - "lodash": "^4.17.13", "source-map": "^0.5.0" }, "dependencies": { @@ -85,390 +84,448 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", + "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", - "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-react-jsx-experimental": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.10.4.tgz", - "integrity": "sha512-LyacH/kgQPgLAuaWrvvq1+E7f5bLyT8jXCh7nM67sRsy2cpIGfgWJ+FCnAKQXfY+F0tXUaN6FqLkp4JiCzdK8Q==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-explode-assignable-expression": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-compilation-targets": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", - "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", "dev": true, "requires": { - "@babel/compat-data": "^7.10.4", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/helper-create-class-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.4.tgz", - "integrity": "sha512-9raUiOsXPxzzLjCXeosApJItoMnX3uyT4QdM2UldffuGApNrF8e938MwNpDCK9CPoyxrEoCgT+hObJc3mZa6lQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.5.tgz", + "integrity": "sha512-Uq9z2e7ZtcnDMirRqAGLRaLwJn+Lrh388v5ETrR3pALJnElVh2zqQmdbz4W2RUJYohAPh2mtyPUgyMHMzXMncQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", - "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", + "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.0" + "@babel/helper-annotate-as-pure": "^7.14.5", + "regexpu-core": "^4.7.1" } }, - "@babel/helper-define-map": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz", - "integrity": "sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==", + "@babel/helper-define-polyfill-provider": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", + "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz", - "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", + "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", "dev": true, "requires": { - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" } }, "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" } }, "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz", - "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz", + "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" } }, "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" } }, "@babel/helper-module-transforms": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz", - "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", + "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4", - "lodash": "^4.17.13" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" } }, "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", "dev": true }, - "@babel/helper-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.4.tgz", - "integrity": "sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, "@babel/helper-remap-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz", - "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", + "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-wrap-function": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", + "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", + "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" } }, "@babel/helper-split-export-declaration": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz", - "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.14.5" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", - "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", + "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-function-name": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.5.tgz", + "integrity": "sha512-xtcWOuN9VL6nApgVHtq3PPcQv5qFBJzoSZzJ/2c0QK/IP/gxVcoWSNQwFEGvmbQsuS9rhYqjILDGGXcTkA705Q==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz", - "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.5.tgz", + "integrity": "sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg==", "dev": true }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz", - "integrity": "sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.5.tgz", + "integrity": "sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", - "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", + "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", + "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", - "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", + "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", + "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", - "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", + "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", + "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", - "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", + "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", - "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", + "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.14.5", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz", - "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.5.tgz", + "integrity": "sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" + "@babel/compat-data": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.14.5" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", - "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", + "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz", - "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", + "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz", - "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", + "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", - "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", + "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-async-generators": { @@ -481,12 +538,21 @@ } }, "@babel/plugin-syntax-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", - "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-dynamic-import": { @@ -498,13 +564,22 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-flow": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz", - "integrity": "sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ==", + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz", + "integrity": "sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-json-strings": { @@ -517,9 +592,18 @@ } }, "@babel/plugin-syntax-jsx": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", + "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -570,428 +654,452 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", - "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", - "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", + "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", - "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4" + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", - "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", + "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz", - "integrity": "sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", + "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "lodash": "^4.17.13" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-classes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", - "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", + "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", - "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", + "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", - "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.5.tgz", + "integrity": "sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", - "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", + "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", - "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", + "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", - "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", + "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz", - "integrity": "sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.14.5.tgz", + "integrity": "sha512-KhcolBKfXbvjwI3TV7r7TkYm8oNXHNBqGOy6JDVwtecFaRoKYsUUqJdS10q0YDKW1c6aZQgO+Ys3LfGkox8pXA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-flow": "^7.14.5" } }, "@babel/plugin-transform-for-of": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", - "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", + "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", - "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", + "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", - "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", + "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", - "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", + "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz", - "integrity": "sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", + "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", - "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", + "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz", - "integrity": "sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", + "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", - "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", + "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", - "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.5.tgz", + "integrity": "sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.14.5" } }, "@babel/plugin-transform-new-target": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", - "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", + "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-object-super": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", - "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", + "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5" } }, "@babel/plugin-transform-parameters": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz", - "integrity": "sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", + "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-property-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", - "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", + "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz", - "integrity": "sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz", + "integrity": "sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==", "dev": true, "requires": { - "@babel/helper-builder-react-jsx": "^7.10.4", - "@babel/helper-builder-react-jsx-experimental": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" + "@babel/helper-annotate-as-pure": "^7.14.5", + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-jsx": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", - "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", + "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", - "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", + "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", - "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", + "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-spread": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz", - "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.5.tgz", + "integrity": "sha512-/3iqoQdiWergnShZYl0xACb4ADeYCJ7X/RgmwtXshn6cIvautRPAFzhd58frQlokLO6Jb4/3JXvmm6WNTPtiTw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", - "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", + "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-template-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz", - "integrity": "sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", + "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", - "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", + "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz", - "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", + "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", - "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", + "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/preset-env": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz", - "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.5.tgz", + "integrity": "sha512-ci6TsS0bjrdPpWGnQ+m4f+JSSzDKlckqKIJJt9UZ/+g7Zz9k0N8lYU8IeLg/01o2h8LyNZDMLGgRLDTxpudLsA==", "dev": true, "requires": { - "@babel/compat-data": "^7.10.4", - "@babel/helper-compilation-targets": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-proposal-async-generator-functions": "^7.10.4", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-proposal-dynamic-import": "^7.10.4", - "@babel/plugin-proposal-json-strings": "^7.10.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", - "@babel/plugin-proposal-numeric-separator": "^7.10.4", - "@babel/plugin-proposal-object-rest-spread": "^7.10.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", - "@babel/plugin-proposal-optional-chaining": "^7.10.4", - "@babel/plugin-proposal-private-methods": "^7.10.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/compat-data": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.5", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.5", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.10.4", - "@babel/plugin-transform-arrow-functions": "^7.10.4", - "@babel/plugin-transform-async-to-generator": "^7.10.4", - "@babel/plugin-transform-block-scoped-functions": "^7.10.4", - "@babel/plugin-transform-block-scoping": "^7.10.4", - "@babel/plugin-transform-classes": "^7.10.4", - "@babel/plugin-transform-computed-properties": "^7.10.4", - "@babel/plugin-transform-destructuring": "^7.10.4", - "@babel/plugin-transform-dotall-regex": "^7.10.4", - "@babel/plugin-transform-duplicate-keys": "^7.10.4", - "@babel/plugin-transform-exponentiation-operator": "^7.10.4", - "@babel/plugin-transform-for-of": "^7.10.4", - "@babel/plugin-transform-function-name": "^7.10.4", - "@babel/plugin-transform-literals": "^7.10.4", - "@babel/plugin-transform-member-expression-literals": "^7.10.4", - "@babel/plugin-transform-modules-amd": "^7.10.4", - "@babel/plugin-transform-modules-commonjs": "^7.10.4", - "@babel/plugin-transform-modules-systemjs": "^7.10.4", - "@babel/plugin-transform-modules-umd": "^7.10.4", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", - "@babel/plugin-transform-new-target": "^7.10.4", - "@babel/plugin-transform-object-super": "^7.10.4", - "@babel/plugin-transform-parameters": "^7.10.4", - "@babel/plugin-transform-property-literals": "^7.10.4", - "@babel/plugin-transform-regenerator": "^7.10.4", - "@babel/plugin-transform-reserved-words": "^7.10.4", - "@babel/plugin-transform-shorthand-properties": "^7.10.4", - "@babel/plugin-transform-spread": "^7.10.4", - "@babel/plugin-transform-sticky-regex": "^7.10.4", - "@babel/plugin-transform-template-literals": "^7.10.4", - "@babel/plugin-transform-typeof-symbol": "^7.10.4", - "@babel/plugin-transform-unicode-escapes": "^7.10.4", - "@babel/plugin-transform-unicode-regex": "^7.10.4", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.10.4", - "browserslist": "^4.12.0", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.5", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.5", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.5", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.14.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -1002,50 +1110,49 @@ } }, "@babel/runtime": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.4.tgz", - "integrity": "sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.5.tgz", + "integrity": "sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" } }, "@babel/traverse": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz", - "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz", + "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4", + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz", - "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.13", + "@babel/helper-validator-identifier": "^7.14.5", "to-fast-properties": "^2.0.0" } }, @@ -1128,15 +1235,15 @@ "dev": true }, "abab": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", - "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, "acorn": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", - "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-globals": { @@ -1150,9 +1257,9 @@ }, "dependencies": { "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true } } @@ -1203,12 +1310,12 @@ } }, "ansi-to-html": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", - "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.15.tgz", + "integrity": "sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ==", "dev": true, "requires": { - "entities": "^1.1.2" + "entities": "^2.0.0" } }, "anymatch": { @@ -1239,9 +1346,9 @@ "dev": true }, "arch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz", - "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "dev": true }, "argparse": { @@ -1293,20 +1400,21 @@ } }, "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -1395,6 +1503,44 @@ "object.assign": "^4.1.0" } }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", + "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.2", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz", + "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.9.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", + "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2" + } + }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -1506,9 +1652,9 @@ } }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "bcrypt-pbkdf": { @@ -1542,9 +1688,9 @@ "dev": true }, "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, "boolbase": { @@ -1654,34 +1800,26 @@ } }, "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { - "bn.js": "^4.1.0", + "bn.js": "^5.0.0", "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } } }, "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "requires": { "bn.js": "^5.1.1", "browserify-rsa": "^4.0.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", + "elliptic": "^6.5.3", "inherits": "^2.0.4", "parse-asn1": "^5.1.5", "readable-stream": "^3.6.0", @@ -1725,15 +1863,16 @@ } }, "browserslist": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz", - "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==", + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001093", - "electron-to-chromium": "^1.3.488", - "escalade": "^3.0.1", - "node-releases": "^1.1.58" + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" } }, "buffer": { @@ -1816,6 +1955,16 @@ "unset-value": "^1.0.0" } }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "call-me-maybe": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", @@ -1846,12 +1995,6 @@ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -1865,9 +2008,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001097", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001097.tgz", - "integrity": "sha512-TeuSleKt/vWXaPkLVFqGDnbweYfq4IaZ6rUugFf3rWY6dlII8StUZ8Ddin0PkADfgYZ4wRqCdO2ORl4Rn5eZIA==", + "version": "1.0.30001236", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz", + "integrity": "sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ==", "dev": true }, "caseless": { @@ -1961,34 +2104,6 @@ "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", "dev": true }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -2017,13 +2132,13 @@ } }, "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", "dev": true, "requires": { "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-string": "^1.5.4" } }, "color-convert": { @@ -2042,15 +2157,21 @@ "dev": true }, "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", + "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", "dev": true, "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2138,18 +2259,18 @@ "dev": true }, "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true }, "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.14.0.tgz", + "integrity": "sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A==", "dev": true, "requires": { - "browserslist": "^4.8.5", + "browserslist": "^4.16.6", "semver": "7.0.0" }, "dependencies": { @@ -2180,19 +2301,19 @@ } }, "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "requires": { "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "elliptic": "^6.5.3" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -2381,14 +2502,13 @@ "dev": true }, "css-selector-tokenizer": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", - "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", "dev": true, "requires": { "cssesc": "^3.0.0", - "fastparse": "^1.1.2", - "regexpu-core": "^4.6.0" + "fastparse": "^1.1.2" } }, "css-tree": { @@ -2402,9 +2522,9 @@ } }, "css-what": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", - "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssesc": { @@ -2414,21 +2534,21 @@ "dev": true }, "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", "dev": true, "requires": { "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", + "cssnano-preset-default": "^4.0.8", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" } }, "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", "dev": true, "requires": { "css-declaration-sorter": "^4.0.1", @@ -2459,7 +2579,7 @@ "postcss-ordered-values": "^4.1.2", "postcss-reduce-initial": "^4.0.3", "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", + "postcss-svgo": "^4.0.3", "postcss-unique-selectors": "^4.0.1" } }, @@ -2491,28 +2611,28 @@ "dev": true }, "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.39" + "css-tree": "^1.1.2" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true } } @@ -2559,9 +2679,9 @@ } }, "deasync": { - "version": "0.1.20", - "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.20.tgz", - "integrity": "sha512-E1GI7jMI57hL30OX6Ht/hfQU8DO4AuB9m72WFm4c38GNbUD4Q03//XZaOIHZiY+H1xUaomcot5yk2q/qIZQkGQ==", + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.21.tgz", + "integrity": "sha512-kUmM8Y+PZpMpQ+B4AuOW9k2Pfx/mSupJtxOsLzmnHY2WqZUYRFccFn2RhzPAqt3Xb+sorK/badW2D4zNzqZz5w==", "dev": true, "requires": { "bindings": "^1.5.0", @@ -2569,20 +2689,14 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -2702,9 +2816,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -2720,15 +2834,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true - }, - "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true } } @@ -2755,12 +2863,20 @@ } }, "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "^2.2.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } } }, "domutils": { @@ -2774,9 +2890,9 @@ } }, "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "requires": { "is-obj": "^2.0.0" @@ -2832,30 +2948,30 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.495", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.495.tgz", - "integrity": "sha512-cIPX+4Y3RH/+SoqYd168Rx//CnjsZSdF3XTUhwMf3dwYuTfvWIgmmy6s1ipptGaOA+scH2Vj57Mc9fqp/ho22Q==", + "version": "1.3.752", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz", + "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==", "dev": true }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -2882,21 +2998,21 @@ } }, "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, "env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true }, "envinfo": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.1.tgz", - "integrity": "sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, "error-ex": { @@ -2909,28 +3025,33 @@ } }, "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" }, "dependencies": { "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", "dev": true } } @@ -2947,9 +3068,9 @@ } }, "escalade": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz", - "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-html": { @@ -3002,9 +3123,9 @@ "dev": true }, "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "evp_bytestokey": { @@ -3052,9 +3173,9 @@ "dev": true }, "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -3339,15 +3460,6 @@ } } }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -3457,16 +3569,21 @@ "dev": true }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } }, "get-port": { "version": "3.2.0", @@ -3475,9 +3592,9 @@ "dev": true }, "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { "pump": "^3.0.0" @@ -3603,6 +3720,12 @@ } } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -3610,9 +3733,9 @@ "dev": true }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, "has-value": { @@ -3716,12 +3839,6 @@ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", "dev": true }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, "html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", @@ -3738,67 +3855,81 @@ "dev": true }, "htmlnano": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.5.tgz", - "integrity": "sha512-X1iPSwXG/iF9bVs+/obt2n6F64uH0ETkA8zp7qFDmLW9/+A6ueHGeb/+qD67T21qUY22owZPMdawljN50ajkqA==", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.9.tgz", + "integrity": "sha512-jWTtP3dCd7R8x/tt9DK3pvpcQd7HDMcRPUqPxr/i9989q2k5RHIhmlRDFeyQ/LSd8IKrteG8Ce5g0Ig4eGIipg==", "dev": true, "requires": { - "cssnano": "^4.1.10", - "normalize-html-whitespace": "^1.0.0", - "posthtml": "^0.12.0", - "posthtml-render": "^1.1.5", - "purgecss": "^1.4.0", + "cssnano": "^4.1.11", + "posthtml": "^0.15.1", + "purgecss": "^2.3.0", + "relateurl": "^0.2.7", + "srcset": "^3.0.0", "svgo": "^1.3.2", - "terser": "^4.3.9", - "uncss": "^0.17.2" + "terser": "^5.6.1", + "timsort": "^0.3.0", + "uncss": "^0.17.3" }, "dependencies": { "posthtml": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.12.3.tgz", - "integrity": "sha512-Fbpi95+JJyR0tqU7pUy1zTSQFjAsluuwB9pJ1h0jtnGk7n/O2TBtP5nDl9rV0JVACjQ1Lm5wSp4ppChr8u3MhA==", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.15.2.tgz", + "integrity": "sha512-YugEJ5ze/0DLRIVBjCpDwANWL4pPj1kHJ/2llY8xuInr0nbkon3qTiMPe5LQa+cCwNjxS7nAZZTp+1M+6mT4Zg==", "dev": true, "requires": { - "posthtml-parser": "^0.4.2", - "posthtml-render": "^1.2.2" + "posthtml-parser": "^0.7.2", + "posthtml-render": "^1.3.1" } }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "posthtml-parser": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.7.2.tgz", + "integrity": "sha512-LjEEG/3fNcWZtBfsOE3Gbyg1Li4CmsZRkH1UmbMR7nKdMXVMYI3B4/ZMiCpaq8aI1Aym4FRMMW9SAOLSwOnNsQ==", "dev": true, "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" + "htmlparser2": "^6.0.0" } } } }, "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" }, "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domutils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", + "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" } } } @@ -3849,9 +3980,9 @@ "dev": true }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "iferr": { @@ -3898,15 +4029,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, "is-absolute-url": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", @@ -3939,6 +4061,12 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true + }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -3948,6 +4076,15 @@ "binary-extensions": "^1.0.0" } }, + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -3955,9 +4092,9 @@ "dev": true }, "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-color-stop": { @@ -3974,6 +4111,15 @@ "rgba-regex": "^1.0.0" } }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -3995,9 +4141,9 @@ } }, "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", "dev": true }, "is-descriptor": { @@ -4061,6 +4207,12 @@ "html-tags": "^1.0.0" } }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -4081,6 +4233,12 @@ } } }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true + }, "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -4103,12 +4261,13 @@ } }, "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" } }, "is-resolvable": { @@ -4123,22 +4282,19 @@ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true }, "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, "requires": { - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.2" } }, "is-typedarray": { @@ -4196,9 +4352,9 @@ "dev": true }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -4254,9 +4410,9 @@ }, "dependencies": { "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "escodegen": { @@ -4279,9 +4435,9 @@ "dev": true }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -4346,21 +4502,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dev": true, - "requires": { - "leven": "^3.1.0" - } - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -4371,20 +4512,10 @@ "type-check": "~0.3.2" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.clone": { @@ -4393,6 +4524,12 @@ "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", "dev": true }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -4431,15 +4568,6 @@ "wrap-ansi": "^5.0.0" } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -4474,9 +4602,9 @@ } }, "marked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.0.tgz", - "integrity": "sha512-NqRSh2+LlN2NInpqTQnS614Y/3NkVMFFU6sJlRFEpxJ/LHuK/qJECH7/fXZjk4VZstPW/Pevjil/VtSONsLc7Q==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.7.tgz", + "integrity": "sha512-BJXxkuIfJchcXOJWTT2DOL+yFWifFv2yGYOUzvXg8Qz610QKw+sHCvTMYwA+qWGhlA2uivBezChZ/pBy1tWdkQ==", "dev": true }, "md5.js": { @@ -4557,9 +4685,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -4712,9 +4840,9 @@ "dev": true }, "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", "dev": true, "optional": true }, @@ -4750,9 +4878,9 @@ "dev": true }, "node-forge": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", - "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, "node-libs-browser": { @@ -4795,15 +4923,9 @@ } }, "node-releases": { - "version": "1.1.59", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.59.tgz", - "integrity": "sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw==", - "dev": true - }, - "normalize-html-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-1.0.0.tgz", - "integrity": "sha512-9ui7CGtOOlehQu0t/OhhlmDyc71mKVlv+4vF+me4iZLPrNtRL2xoquEdfZxasC/bdQi/Hr3iTrpyRKIG+ocabA==", + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", "dev": true }, "normalize-path": { @@ -4915,25 +5037,26 @@ } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.2" } }, "object.pick": { @@ -4946,15 +5069,14 @@ } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", + "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "es-abstract": "^1.18.2" } }, "on-finished": { @@ -5033,30 +5155,6 @@ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", "dev": true }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", @@ -5075,9 +5173,9 @@ } }, "parcel-bundler": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.4.tgz", - "integrity": "sha512-G+iZGGiPEXcRzw0fiRxWYCKxdt/F7l9a0xkiU4XbcVRJCSlBnioWEwJMutOCCpoQmaQtjB4RBHDGIHN85AIhLQ==", + "version": "1.12.5", + "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.5.tgz", + "integrity": "sha512-hpku8mW67U6PXQIenW6NBbphBOMb8XzW6B9r093DUhYj5GN2FUB/CXCiz5hKoPYUsusZ35BpProH8AUF9bh5IQ==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -5123,7 +5221,7 @@ "json5": "^1.0.1", "micromatch": "^3.0.4", "mkdirp": "^0.5.1", - "node-forge": "^0.7.1", + "node-forge": "^0.10.0", "node-libs-browser": "^2.0.0", "opn": "^5.1.0", "postcss": "^7.0.11", @@ -5155,14 +5253,13 @@ } }, "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, "requires": { - "asn1.js": "^4.0.0", + "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", "pbkdf2": "^3.0.3", "safe-buffer": "^5.1.1" @@ -5208,12 +5305,6 @@ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -5227,15 +5318,15 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -5270,9 +5361,9 @@ "dev": true }, "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -5292,9 +5383,9 @@ } }, "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", "dev": true, "requires": { "postcss": "^7.0.27", @@ -5695,23 +5786,21 @@ } }, "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", "dev": true, "requires": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "util-deprecate": "^1.0.2" } }, "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", "dev": true, "requires": { - "is-svg": "^3.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0", "svgo": "^1.0.0" @@ -5751,12 +5840,54 @@ "dev": true, "requires": { "htmlparser2": "^3.9.2" + }, + "dependencies": { + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "posthtml-render": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.2.2.tgz", - "integrity": "sha512-MbIXTWwAfJ9qET6Zl29UNwJcDJEEz9Zkr5oDhiujitJa7YBJwEpbkX2cmuklCDxubTMoRWpid3q8DrSyGnUUzQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.4.0.tgz", + "integrity": "sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==", "dev": true }, "prelude-ls": { @@ -5804,9 +5935,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -5851,9 +5982,9 @@ "dev": true }, "purescript": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.13.8.tgz", - "integrity": "sha512-1ZyVEVFLgcEcjPXxJYeVEyYn66DF2DnOLTWzo/K/MrQUF2chdLSyZ8sJpcarWyrz2HxXaubYceYbo5KexKzynA==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/purescript/-/purescript-0.14.2.tgz", + "integrity": "sha512-kEXY5yUaG8a1FNN/IdtfNl4gcql7p76CPqnanMZ37GdtBZTcFK/SB24bp2rOAT1/N9qU8/corlra6uNf4+5pgQ==", "dev": true, "requires": { "purescript-installer": "^0.2.0" @@ -5905,15 +6036,43 @@ } }, "purgecss": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-1.4.2.tgz", - "integrity": "sha512-hkOreFTgiyMHMmC2BxzdIw5DuC6kxAbP/gGOGd3MEsF3+5m69rIvUEPaxrnoUtfODTFKe9hcXjGwC6jcjoyhOw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", "dev": true, "requires": { - "glob": "^7.1.3", - "postcss": "^7.0.14", - "postcss-selector-parser": "^6.0.0", - "yargs": "^14.0.0" + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "q": { @@ -6003,9 +6162,9 @@ } }, "regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { @@ -6018,9 +6177,9 @@ } }, "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", "dev": true }, "regenerator-transform": { @@ -6043,9 +6202,9 @@ } }, "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", "dev": true, "requires": { "regenerate": "^1.4.0", @@ -6063,9 +6222,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -6079,6 +6238,12 @@ } } }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -6086,9 +6251,9 @@ "dev": true }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { @@ -6126,43 +6291,32 @@ } }, "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "requires": { - "lodash": "^4.17.15" + "lodash": "^4.17.19" } }, "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", "dev": true, "requires": { - "request-promise-core": "1.1.3", + "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" } }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -6340,12 +6494,6 @@ "send": "0.17.1" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -6593,15 +6741,15 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "spago": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/spago/-/spago-0.19.1.tgz", - "integrity": "sha512-OD/yopJZ9Ub+XsFtayDeLAWLT4kLdMxosJEyyp8W5OkyJVVSbCrvYacsO7iq3lSuHJmmNny/TEZdyb7uSyupng==", + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/spago/-/spago-0.20.3.tgz", + "integrity": "sha512-R4CWLP5IbaWoNIpS1QAUuDK2LKlKYqT5gBKVZL7ILilvCwdwS72u3NbGZbvx7VCRRZz4lG7zXUkqKNow7zh6wQ==", "dev": true, "requires": { "request": "^2.88.0", @@ -6623,6 +6771,12 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "srcset": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-3.0.1.tgz", + "integrity": "sha512-MM8wDGg5BQJEj94tDrZDrX9wrC439/Eoeg3sgmVLPMjHgrAFeXAKk3tmFlCbKw5k+yOEhPXRpPlRcisQmqWVSQ==", + "dev": true + }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", @@ -6641,9 +6795,9 @@ } }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -6808,23 +6962,23 @@ } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -6927,9 +7081,9 @@ } }, "terser": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz", - "integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.0.tgz", + "integrity": "sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g==", "dev": true, "requires": { "commander": "^2.20.0", @@ -6956,9 +7110,9 @@ } }, "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -7091,6 +7245,18 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, "uncss": { "version": "0.17.3", "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", @@ -7113,6 +7279,17 @@ "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", "dev": true + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } } } }, @@ -7329,9 +7506,9 @@ "dev": true }, "v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "vendors": { @@ -7433,11 +7610,18 @@ "isexe": "^2.0.0" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } }, "word-wrap": { "version": "1.2.3", @@ -7480,9 +7664,9 @@ "dev": true }, "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz", + "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -7507,9 +7691,9 @@ "dev": true }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { @@ -7518,35 +7702,6 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "yargs": { - "version": "14.2.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", - "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.1" - } - }, - "yargs-parser": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", - "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, "zen-observable": { "version": "0.8.15", "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", diff --git a/purs/package.json b/purs/package.json index 786ed83..255d384 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.0", + "marked": "^2.0.7", "moment": "^2.29.1", - "parcel-bundler": "^1.12.4", - "purescript": "^0.13.8", - "spago": "^0.19.1", - "terser": "^5.6.0" + "parcel-bundler": "^1.12.5", + "purescript": "^0.14.2", + "spago": "^0.20.3", + "terser": "^5.7.0" }, "dependencies": {} } diff --git a/purs/packages.dhall b/purs/packages.dhall index 46977c5..a2338ae 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.13.8-20210118/src/packages.dhall sha256:a59c5c93a68d5d066f3815a89f398bcf00e130a51cb185b2da29b20e2d8ae115 + https://raw.githubusercontent.com/purescript/package-sets/psc-0.14.1-20210516/src/packages.dhall sha256:f5e978371d4cdc4b916add9011021509c8d869f4c3f6d0d2694c0e03a85046c8 in upstream diff --git a/purs/spago.dhall b/purs/spago.dhall index 2fa4190..3344e3f 100644 --- a/purs/spago.dhall +++ b/purs/spago.dhall @@ -1,26 +1,40 @@ -{ sources = - [ "src/**/*.purs", "test/**/*.purs" ] -, name = - "espial" +{ sources = [ "src/**/*.purs", "test/**/*.purs" ] +, name = "espial" , dependencies = - [ "aff" - , "simple-json" - , "affjax" - , "argonaut" - , "arrays" - , "console" - , "debug" - , "effect" - , "either" - , "functions" - , "halogen" - , "prelude" - , "psci-support" - , "strings" - , "transformers" - , "web-html" - , "profunctor-lenses" - ] -, packages = - ./packages.dhall + [ "aff" + , "affjax" + , "argonaut" + , "arrays" + , "console" + , "const" + , "effect" + , "either" + , "foldable-traversable" + , "foreign" + , "foreign-object" + , "form-urlencoded" + , "functions" + , "halogen" + , "http-methods" + , "integers" + , "js-uri" + , "math" + , "maybe" + , "media-types" + , "newtype" + , "nullable" + , "partial" + , "prelude" + , "profunctor-lenses" + , "psci-support" + , "simple-json" + , "strings" + , "transformers" + , "tuples" + , "web-dom" + , "web-events" + , "web-html" + , "web-xhr" + ] +, packages = ./packages.dhall } diff --git a/purs/src/Component/AccountSettings.purs b/purs/src/Component/AccountSettings.purs index 270d660..b27dbbd 100644 --- a/purs/src/Component/AccountSettings.purs +++ b/purs/src/Component/AccountSettings.purs @@ -34,7 +34,7 @@ data EditField -- | The bookmark component definition. -usetting :: forall q i o. AccountSettings -> H.Component HTML q i o Aff +usetting :: forall q i o. AccountSettings -> H.Component q i o Aff usetting u' = H.mkComponent { initialState: const (mkState u') @@ -72,8 +72,8 @@ usetting u' = ] ] where - editField :: forall a. (a -> EditField) -> a -> Maybe UAction - editField f = Just <<< UEditField <<< f + editField :: forall a. (a -> EditField) -> a -> UAction + editField f = UEditField <<< f handleAction :: UAction -> H.HalogenM UState UAction () o Aff Unit handleAction (UEditField f) = do diff --git a/purs/src/Component/Add.purs b/purs/src/Component/Add.purs index e3c8d3a..a49c6bc 100644 --- a/purs/src/Component/Add.purs +++ b/purs/src/Component/Add.purs @@ -54,7 +54,7 @@ _bm = lens _.bm (_ { bm = _ }) _edit_bm :: Lens' BState Bookmark _edit_bm = lens _.edit_bm (_ { edit_bm = _ }) -addbmark :: forall q i o. Bookmark -> H.Component HTML q i o Aff +addbmark :: forall q i o. Bookmark -> H.Component q i o Aff addbmark b' = H.mkComponent { initialState: const (mkState b') @@ -79,7 +79,7 @@ addbmark b' = display_destroyed where display_edit _ = - form [ onSubmit (Just <<< BEditSubmit) ] + form [ onSubmit BEditSubmit ] [ table [ class_ "w-100" ] [ tbody_ [ tr_ @@ -97,7 +97,7 @@ addbmark b' = [ td_ [ label [ for "title" ] [ text "title" ] ] , td [class_ "flex"] [ input [ type_ InputText , id_ "title", class_ "w-100 mv1 flex-auto" , name "title" , value (edit_bm.title) , onValueChange (editField Etitle)] - , button [ disabled s.loading, type_ ButtonButton, onClick \_ -> Just BLookupTitle, class_ ("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 " <> guard s.loading "bg-light-silver") ] [ text "fetch" ] + , button [ disabled s.loading, type_ ButtonButton, onClick \_ -> BLookupTitle, class_ ("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 " <> guard s.loading "bg-light-silver") ] [ text "fetch" ] ] ] , tr_ @@ -136,10 +136,10 @@ addbmark b' = [ text (maybe " " fst mmoment) ] , div [ class_ "edit_links dib ml1" ] [ div [ class_ "delete_link di" ] - [ button ([ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk true), class_ "delete" ] <> guard s.deleteAsk [ attr "hidden" "hidden" ]) [ text "delete" ] + [ button ([ type_ ButtonButton, onClick \_ -> BDeleteAsk true, class_ "delete" ] <> guard s.deleteAsk [ attr "hidden" "hidden" ]) [ text "delete" ] , span ([ class_ "confirm red" ] <> guard (not s.deleteAsk) [ attr "hidden" "hidden" ]) - [ button [ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk false)] [ text "cancel / " ] - , button [ type_ ButtonButton, onClick \_ -> Just BDestroy, class_ "red" ] [ text "destroy" ] + [ button [ type_ ButtonButton, onClick \_ -> BDeleteAsk false] [ text "cancel / " ] + , button [ type_ ButtonButton, onClick \_ -> BDestroy, class_ "red" ] [ text "destroy" ] ] ] ] @@ -147,8 +147,8 @@ addbmark b' = display_destroyed _ = p [ class_ "red"] [text "you killed this bookmark"] - editField :: forall a. (a -> EditField) -> a -> Maybe BAction - editField f = Just <<< BEditField <<< f + editField :: forall a. (a -> EditField) -> a -> BAction + editField f = BEditField <<< f mmoment = mmoment8601 bm.time toTextarea = drop 1 diff --git a/purs/src/Component/BList.purs b/purs/src/Component/BList.purs index ccd8291..7013192 100644 --- a/purs/src/Component/BList.purs +++ b/purs/src/Component/BList.purs @@ -10,7 +10,7 @@ import Data.Maybe (Maybe(..)) import Effect.Aff (Aff) import Halogen as H import Halogen.HTML as HH -import Data.Symbol (SProxy(..)) +import Type.Proxy (Proxy(..)) data LAction = HandleBMessage BookmarkId BMessage @@ -19,9 +19,9 @@ type ChildSlots = ( bookmark :: BSlot Int ) -_bookmark = SProxy :: SProxy "bookmark" +_bookmark = Proxy :: Proxy "bookmark" -blist :: forall q i o. Array Bookmark -> H.Component HH.HTML q i o Aff +blist :: forall q i o. Array Bookmark -> H.Component q i o Aff blist st = H.mkComponent { initialState: const st @@ -32,7 +32,7 @@ blist st = render :: Array Bookmark -> H.ComponentHTML LAction ChildSlots Aff render bms = - HH.div_ $ map (\b -> HH.slot _bookmark b.bid (bmark b) unit (Just <<< HandleBMessage b.bid)) bms + HH.div_ $ map (\b -> HH.slot _bookmark b.bid (bmark b) unit (HandleBMessage b.bid)) bms handleAction :: LAction -> H.HalogenM (Array Bookmark) LAction ChildSlots o Aff Unit handleAction (HandleBMessage bid BNotifyRemove) = do diff --git a/purs/src/Component/BMark.purs b/purs/src/Component/BMark.purs index 9a8c4c4..7e9ee6a 100644 --- a/purs/src/Component/BMark.purs +++ b/purs/src/Component/BMark.purs @@ -11,7 +11,7 @@ import Data.Monoid (guard) import Data.Nullable (toMaybe) import Data.String (null, split, take, replaceAll) as S import Data.String.Pattern (Pattern(..), Replacement(..)) -import Data.Symbol (SProxy(..)) +import Type.Proxy (Proxy(..)) import Effect.Aff (Aff) import Globals (app', setFocus, toLocaleDateString) import Halogen as H @@ -66,13 +66,13 @@ _edit_bm = lens _.edit_bm (_ { edit_bm = _ }) _edit :: Lens' BState Boolean _edit = lens _.edit (_ { edit = _ }) -_markdown = SProxy :: SProxy "markdown" +_markdown = Proxy :: Proxy "markdown" type ChildSlots = ( markdown :: Markdown.Slot Unit ) -bmark :: forall q i. Bookmark -> H.Component HTML q i BMessage Aff +bmark :: forall q i. Bookmark -> H.Component q i BMessage Aff bmark b' = H.mkComponent { initialState: const (mkState b') @@ -104,7 +104,7 @@ bmark b' = star _ = div [ class_ ("star fl pointer" <> guard bm.selected " selected") ] - [ button [ class_ "moon-gray", onClick \_ -> Just (BStar (not bm.selected)) ] [ text "✭" ] ] + [ button [ class_ "moon-gray", onClick \_ -> BStar (not bm.selected) ] [ text "✭" ] ] display _ = div [ class_ "display" ] $ @@ -131,12 +131,12 @@ bmark b' = -- links , whenH app.dat.isowner $ \_ -> div [ class_ "edit_links di" ] - [ button [ type_ ButtonButton, onClick \_ -> Just (BEdit true), class_ "edit light-silver hover-blue" ] [ text "edit  " ] + [ button [ type_ ButtonButton, onClick \_ -> BEdit true, class_ "edit light-silver hover-blue" ] [ text "edit  " ] , div [ class_ "delete_link di" ] - [ button [ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk true), class_ ("delete light-silver hover-blue" <> guard s.deleteAsk " dn") ] [ text "delete" ] + [ button [ type_ ButtonButton, onClick \_ -> BDeleteAsk true, class_ ("delete light-silver hover-blue" <> guard s.deleteAsk " dn") ] [ text "delete" ] , span ([ class_ ("confirm red" <> guard (not s.deleteAsk) " dn") ] ) - [ button [ type_ ButtonButton, onClick \_ -> Just (BDeleteAsk false)] [ text "cancel / " ] - , button [ type_ ButtonButton, onClick \_ -> Just BDestroy, class_ "red" ] [ text "destroy" ] + [ button [ type_ ButtonButton, onClick \_ -> BDeleteAsk false] [ text "cancel / " ] + , button [ type_ ButtonButton, onClick \_ -> BDestroy, class_ "red" ] [ text "destroy" ] ] ] ] @@ -144,14 +144,14 @@ bmark b' = div [ class_ "read di" ] $ guard bm.toread [ text "  " - , button [ onClick \_ -> Just BMarkRead, class_ "mark_read" ] [ text "mark as read"] + , button [ onClick \_ -> BMarkRead, class_ "mark_read" ] [ text "mark as read"] ] ] display_edit _ = div [ class_ "edit_bookmark_form pa2 pt0 bg-white" ] $ - [ form [ onSubmit (Just <<< BEditSubmit) ] + [ form [ onSubmit BEditSubmit ] [ div_ [ text "url" ] , input [ type_ InputUrl , class_ "url w-100 mb2 pt1 edit_form_input" , required true , name "url" , value (edit_bm.url) , onValueChange (editField Eurl) ] @@ -159,7 +159,7 @@ bmark b' = , div [class_ "flex"] [input [ type_ InputText , class_ "title w-100 mb2 pt1 edit_form_input" , name "title" , value (edit_bm.title) , onValueChange (editField Etitle) ] - , button [ disabled s.loading, type_ ButtonButton, onClick \_ -> Just BLookupTitle, class_ ("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 " <> guard s.loading "bg-light-silver") ] [ text "fetch" ] + , button [ disabled s.loading, type_ ButtonButton, onClick \_ -> BLookupTitle, class_ ("ml1 pa1 mb2 dark-gray ba b--moon-gray bg-near-white pointer rdim f7 " <> guard s.loading "bg-light-silver") ] [ text "fetch" ] ] , div_ [ text "description" ] , textarea [ class_ "description w-100 mb1 pt1 edit_form_input" , name "description", rows 5 @@ -184,13 +184,13 @@ bmark b' = , input [ type_ InputSubmit , class_ "mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "save" ] , text " " , input [ type_ InputReset , class_ "pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "cancel" - , onClick \_ -> Just (BEdit false) ] + , onClick \_ -> BEdit false ] ] ] - editField :: forall a. (a -> EditField) -> a -> Maybe BAction - editField f = Just <<< BEditField <<< f + editField :: forall a. (a -> EditField) -> a -> BAction + editField f = BEditField <<< f linkToFilterSingle slug = fromNullableStr app.userR <> "/b:" <> slug linkToFilterTag tag = fromNullableStr app.userR <> "/t:" <> tag shdate = toLocaleDateString bm.time diff --git a/purs/src/Component/Markdown.purs b/purs/src/Component/Markdown.purs index 8f456bd..f8cd3e3 100644 --- a/purs/src/Component/Markdown.purs +++ b/purs/src/Component/Markdown.purs @@ -10,5 +10,5 @@ import Prelude (Void) type Slot = H.Slot (Const Void) Void -component :: forall q o. H.Component HH.HTML q String o Aff +component :: forall q o. H.Component q String o Aff component = RH.mkComponent marked diff --git a/purs/src/Component/NList.purs b/purs/src/Component/NList.purs index f37c1c2..c5d8ae0 100644 --- a/purs/src/Component/NList.purs +++ b/purs/src/Component/NList.purs @@ -27,7 +27,7 @@ type NLState = } -nlist :: forall q i o. Array Note -> H.Component HH.HTML q i o Aff +nlist :: forall q i o. Array Note -> H.Component q i o Aff nlist st' = H.mkComponent { initialState: const (mkState st') diff --git a/purs/src/Component/NNote.purs b/purs/src/Component/NNote.purs index c4a7739..374f16c 100644 --- a/purs/src/Component/NNote.purs +++ b/purs/src/Component/NNote.purs @@ -12,7 +12,7 @@ import Data.Monoid (guard) import Data.String (null) import Data.String (null, split) as S import Data.String.Pattern (Pattern(..)) -import Data.Symbol (SProxy(..)) +import Type.Proxy (Proxy(..)) import Data.Tuple (fst, snd) import Effect.Aff (Aff) import Effect.Class (liftEffect) @@ -59,13 +59,13 @@ data EditField | EisMarkdown Boolean | Eshared Boolean -_markdown = SProxy :: SProxy "markdown" +_markdown = Proxy :: Proxy "markdown" type ChildSlots = ( markdown :: Markdown.Slot Unit ) -nnote :: forall q i o. Note -> H.Component HH.HTML q i o Aff +nnote :: forall q i o. Note -> H.Component q i o Aff nnote st' = H.mkComponent { initialState: const (mkState st') @@ -111,12 +111,12 @@ nnote st' = ] , whenH app.dat.isowner $ \_ -> div [ class_ "edit_links db mt3" ] - [ button [ type_ ButtonButton, onClick \_ -> Just (NEdit true), class_ "edit light-silver hover-blue" ] [ text "edit  " ] + [ button [ type_ ButtonButton, onClick \_ -> NEdit true, class_ "edit light-silver hover-blue" ] [ text "edit  " ] , div [ class_ "delete_link di" ] - [ button [ type_ ButtonButton, onClick \_ -> Just (NDeleteAsk true), class_ ("delete light-silver hover-blue" <> guard st.deleteAsk " dn") ] [ text "delete" ] + [ button [ type_ ButtonButton, onClick \_ -> NDeleteAsk true, class_ ("delete light-silver hover-blue" <> guard st.deleteAsk " dn") ] [ text "delete" ] , span ([ class_ ("confirm red" <> guard (not st.deleteAsk) " dn") ] ) - [ button [ type_ ButtonButton, onClick \_ -> Just (NDeleteAsk false)] [ text "cancel / " ] - , button [ type_ ButtonButton, onClick \_ -> Just NDestroy, class_ "red" ] [ text "destroy" ] + [ button [ type_ ButtonButton, onClick \_ -> NDeleteAsk false] [ text "cancel / " ] + , button [ type_ ButtonButton, onClick \_ -> NDestroy, class_ "red" ] [ text "destroy" ] ] ] ] @@ -124,7 +124,7 @@ nnote st' = ] renderNote_edit _ = - form [ onSubmit (Just <<< NEditSubmit) ] + form [ onSubmit NEditSubmit ] [ p [ class_ "mt2 mb1"] [ text "title:" ] , input [ type_ InputText , class_ "title w-100 mb1 pt1 edit_form_input" , name "title" , value (edit_note.title) , onValueChange (editField Etitle), autofocus (null edit_note.title) @@ -155,15 +155,15 @@ nnote st' = , input [ type_ InputReset , class_ "pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim" , value "cancel" - , onClick \_ -> Just (NEdit false) + , onClick \_ -> NEdit false ] ] display_destroyed _ = p [ class_ "red"] [text "you killed this note"] mmoment n = mmoment8601 n.created - editField :: forall a. (a -> EditField) -> a -> Maybe NAction - editField f = Just <<< NEditField <<< f + editField :: forall a. (a -> EditField) -> a -> NAction + editField f = NEditField <<< f toTextarea input = S.split (Pattern "\n") input # foldMap (\x -> [br_, text x]) @@ -204,8 +204,7 @@ nnote st' = H.liftEffect (preventDefault e) edit_note <- use _edit_note res' <- H.liftAff (editNote edit_note) - for_ res' \res -> do - let r = res.body + for_ res' \_ -> do if (edit_note.id == 0) then do liftEffect (setHref (fromNullableStr app.noteR) =<< _loc) diff --git a/purs/src/Component/RawHtml.purs b/purs/src/Component/RawHtml.purs index 424a37a..c5ffe39 100644 --- a/purs/src/Component/RawHtml.purs +++ b/purs/src/Component/RawHtml.purs @@ -26,10 +26,10 @@ type State i = , inputval :: Input i } -component :: forall q o. H.Component HH.HTML q (Input String) o Aff +component :: forall q o. H.Component q (Input String) o Aff component = mkComponent RawHTML -mkComponent :: forall q i o. (Input i -> RawHTML) -> H.Component HH.HTML q (Input i) o Aff +mkComponent :: forall q i o. (Input i -> RawHTML) -> H.Component q (Input i) o Aff mkComponent toRawHTML = H.mkComponent { initialState: \inputval -> { elRef: H.RefLabel "inputval", inputval } diff --git a/purs/src/Component/TagCloud.purs b/purs/src/Component/TagCloud.purs index 65272da..054428d 100644 --- a/purs/src/Component/TagCloud.purs +++ b/purs/src/Component/TagCloud.purs @@ -38,7 +38,7 @@ type TState = _mode :: Lens' TState TagCloudModeF _mode = lens _.mode (_ { mode = _ }) -tagcloudcomponent :: forall q i o. TagCloudModeF -> H.Component HTML q i o Aff +tagcloudcomponent :: forall q i o. TagCloudModeF -> H.Component q i o Aff tagcloudcomponent m' = H.mkComponent { initialState: const (mkState m') @@ -64,42 +64,42 @@ tagcloudcomponent m' = ifElseA (isRelated mode) (\_ -> do --RELATED [ button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue mr1 b") - , onClick \_ -> Just (TExpanded (not (isExpanded mode))) + , onClick \_ -> TExpanded (not (isExpanded mode)) ] [text "Related Tags"] ] ) (\_ -> do -- NOT RELATED [ button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue mr1" <> guard (mode == modetop) " b") , title "show a cloud of your most-used tags" - , onClick \_ -> Just (TChangeMode modetop) + , onClick \_ -> TChangeMode modetop ] [text "Top Tags"] , button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue ml2 " <> guard (mode == modelb1) " b") , title "show all tags" - , onClick \_ -> Just (TChangeMode modelb1) + , onClick \_ -> TChangeMode modelb1 ] [text "all"] , text "‧" , button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue" <> guard (mode == modelb2) " b") , title "show tags with at least 2 bookmarks" - , onClick \_ -> Just (TChangeMode modelb2) + , onClick \_ -> TChangeMode modelb2 ] [text "2"] , text "‧" , button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue" <> guard (mode == modelb5) " b") , title "show tags with at least 5 bookmarks" - , onClick \_ -> Just (TChangeMode modelb5) + , onClick \_ -> TChangeMode modelb5 ] [text "5"] , text "‧" , button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue" <> guard (mode == modelb10) " b") , title "show tags with at least 10 bookmarks" - , onClick \_ -> Just (TChangeMode modelb10) + , onClick \_ -> TChangeMode modelb10 ] [text "10"] , text "‧" , button [ type_ ButtonButton, class_ ("pa1 f7 link hover-blue" <> guard (mode == modelb20) " b") , title "show tags with at least 20 bookmarks" - , onClick \_ -> Just (TChangeMode modelb20) + , onClick \_ -> TChangeMode modelb20 ] [text "20"] ]) <> [button [ type_ ButtonButton, class_ "pa1 ml2 f7 link silver hover-blue " - , onClick \_ -> Just (TExpanded (not (isExpanded mode)))] + , onClick \_ -> TExpanded (not (isExpanded mode))] [ text (if isExpanded mode then "hide" else "show") ]] , whenH (isExpanded mode) \_ -> do let n = fromMaybe 1 (minimum (F.values tagcloud)) diff --git a/purs/src/Util.purs b/purs/src/Util.purs index 46fc506..4e72deb 100644 --- a/purs/src/Util.purs +++ b/purs/src/Util.purs @@ -10,7 +10,6 @@ import Data.Nullable (Nullable, toMaybe) import Data.String (Pattern(..), Replacement(..), drop, replaceAll, split, take) import Data.Tuple (Tuple(..), fst, snd) import Effect (Effect) -import Global.Unsafe (unsafeDecodeURIComponent) import Halogen (ClassName(..)) import Halogen.HTML as HH import Halogen.HTML.Properties as HP @@ -28,6 +27,13 @@ import Web.HTML.HTMLElement (HTMLElement) import Web.HTML.HTMLElement (fromElement) as HE import Web.HTML.Location (search) import Web.HTML.Window (document, location) +import JSURI (decodeURIComponent) + +import Partial.Unsafe (unsafePartial) +import Data.Maybe (fromJust) + +unsafeDecode :: String -> String +unsafeDecode str = unsafePartial $ fromJust $ decodeURIComponent str -- Halogen @@ -94,7 +100,7 @@ _parseQueryString srh = do let qs = let srh' = take 1 srh in if (srh' == "#" || srh' == "?") then drop 1 srh else srh mapMaybe go $ (filter (_ /= "") <<< split (Pattern "&")) qs where - decode = unsafeDecodeURIComponent <<< replaceAll (Pattern "+") (Replacement " ") + decode = unsafeDecode <<< replaceAll (Pattern "+") (Replacement " ") go kv = case split (Pattern "=") kv of [k] -> Just (Tuple (decode k) Nothing) diff --git a/static/js/app.min.js b/static/js/app.min.js index d3078cf..927c895 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.")}return(n=e[Symbol.iterator]()).next.bind(n)}var n,r=(function(e){function u(){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}}e.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:u,changeDefaults:function(u){e.exports.defaults=u}}}(n={exports:{}},n.exports),n.exports),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=r.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=u[0],c=u[2],h=c.length>1,p={type:"list",raw:o,ordered:h,start:h?+c.slice(0,-1):"",loose:!1,items:[]},g=u[0].match(this.rules.block.item),f=!1,F=g.length;r=this.rules.block.listItemStart.exec(g[0]);for(var A=0;Ar[1].length:i[1].length>r[0].length||i[1].length>3){g.splice(A,2,g[A]+"\n"+g[A+1]),A--,F--;continue}(!this.options.pedantic||this.options.smartLists?i[2][i[2].length-1]!==c[c.length-1]:h===(1===i[2].length))&&(s=g.slice(A+1).join("\n"),p.raw=p.raw.substring(0,p.raw.length-s.length),A=F-1),r=i}n=t.length,~(t=t.replace(/^ *([*+-]|\d+[.)]) ?/,"")).indexOf("\n ")&&(n-=t.length,t=this.options.pedantic?t.replace(/^ {1,4}/gm,""):t.replace(new RegExp("^ {1,"+n+"}","gm"),"")),l=f||/\n\n(?!\s*$)/.test(t),A!==F-1&&(f="\n"===t.charAt(t.length-1),l||(l=f)),l&&(p.loose=!0),this.options.gfm&&(D=void 0,(a=/^\[[ xX]\] /.test(t))&&(D=" "!==t[1],t=t.replace(/^\[[ xX]\] +/,""))),p.items.push({type:"list_item",raw:o,task:a,checked:D,loose:l,text:t})}return p}},u.html=function(e){var u=this.rules.block.html.exec(e);if(u)return{type:this.options.sanitize?"paragraph":"html",raw:u[0],pre:!this.options.sanitizer&&("pre"===u[1]||"script"===u[1]||"style"===u[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(u[0]):Z(u[0]):u[0]}},u.def=function(e){var u=this.rules.block.def.exec(e);if(u)return u[3]&&(u[3]=u[3].substring(1,u[3].length-1)),{tag:u[1].toLowerCase().replace(/\s+/g," "),raw:u[0],href:u[2],title:u[3]}},u.table=function(e){var u=this.rules.block.table.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"):[]};if(t.header.length===t.align.length){t.raw=u[0];var n,r=t.align.length;for(n=0;n/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)){if(a+D-s<=0&&!u.slice(o.lastIndex).match(o)&&(s=Math.min(s,s+a+D)),Math.min(l,s)%2)return{type:"em",raw:e.slice(0,l+n.index+s+1),text:e.slice(1,l+n.index+s)};if(Math.min(l,s)%2==0)return{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{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",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)|[\s\S]*?(?:(?=[\\.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n}var W=function(){function u(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||G,this.options.tokenizer=this.options.tokenizer||new j,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options;var u={block:V.normal,inline:H.normal};this.options.pedantic?(u.block=V.pedantic,u.inline=H.pedantic):this.options.gfm&&(u.block=V.gfm,this.options.breaks?u.inline=H.breaks:u.inline=H.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)+"["+J("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)+"["+J("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,Q))e=e.substring(r.raw.length),u.push(r);else if(t||!(r=this.tokenizer.url(e,Q))){if(r=this.tokenizer.inlineText(e,n,K))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:V,inline:H}}}],(n=null)&&e(t.prototype,n),r&&e(t,r),u}(),Y=r.defaults,ee=B,ue=m,te=function(){function e(e){this.options=e||Y}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:ue(e,!0))+"
\n":"
"+(t?e:ue(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=ee(this.options.sanitize,this.options.baseUrl,e)))return t;var n='"},u.image=function(e,u,t){if(null===(e=ee(this.options.sanitize,this.options.baseUrl,e)))return t;var n=''+t+'":">"},u.text=function(e){return e},e}(),ne=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}(),re=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}(),ie=r.defaults,se=b,le=function(){function e(e){this.options=e||ie,this.options.renderer=this.options.renderer||new te,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new ne,this.slugger=new re}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:

    "+oe(a.message+"",!0)+"
    ";throw a}}return ge.options=ge.setOptions=function(e){return ae(ge.defaults,e),he(ge.defaults),ge},ge.getDefaults=ce,ge.defaults=pe,ge.use=function(e){var u=ae({},e);if(e.renderer&&function(){var t=ge.defaults.renderer||new te,n=function(u){var n=t[u];t[u]=function(){for(var r=arguments.length,i=new Array(r),s=0;sAn error occurred:

    "+oe(n.message+"",!0)+"
    ";throw n}},ge.Parser=le,ge.parser=le.parse,ge.Renderer=te,ge.TextRenderer=ne,ge.Lexer=W,ge.lexer=W.lex,ge.Tokenizer=j,ge.Slugger=re,ge.parse=ge,ge}); +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}); },{}],"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(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(a)})},a.responseType=e.responseType,a.withCredentials=e.withCredentials,a.timeout=e.timeout,a.send(e.content),function(n,e,t){try{a.abort()}catch(l){return e(l)}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=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;a=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;t0)&&(w=T,y=Q._3(j)));break;case m:B=new b(v,new b(h,y,D),B,L),w=T,y=L&&L!==O&&0===P?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,P++;break;case g:P++,B=new b(v,new b(h,y,D),B,L),w=T,y=Q._1;break;case h:P--,w=k,y=Q._1,D=Q._2}break;case x: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=T;break;case _:return}}function j(n){return function(){if(w===x)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===x)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=x,y=L,J(d);break;case _:null===L&&(L=n.left(e)),0===P&&(w===_&&(B=new b(v,new b(g,y(e)),B,L)),w=k,y=null,D=null,J(++d));break;default:null===L&&(L=n.left(e)),0===P&&(w=k,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.Util=n.Util||{};var e,t=n.Util,r=n["Control.Bind"],u=n["Data.Array"],a=n["Data.Foldable"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Nullable"],f=n["Data.String.CodePoints"],l=n["Data.String.Common"],s=n["Data.Tuple"],d=n["Data.Unit"],v=n.Effect,p=n["Global.Unsafe"],m=n["Halogen.HTML.Core"],g=n["Halogen.HTML.Properties"],h=n["Web.HTML"],w=n["Web.HTML.Location"],b=n["Web.HTML.Window"],y=(e=i.fromMaybe(""),function(n){return e(c.toMaybe(n))}),D=r.bindFlipped(v.bindEffect)(b.location)(h.window);t.class_=function(n){return g.class_(m.ClassName(n))},t.attr=function(n){return g.attr(n)},t._loc=D,t._curQuerystring=function(){var n=D();return function(n){var e,t,r=(e=l.replaceAll("+")(" "),function(n){return p.unsafeDecodeURIComponent(e(n))}),a="#"===(t=f.take(1)(n))||"?"===t?f.drop(1)(n):n;return u.mapMaybe(function(n){var e=l.split("=")(n);return 1===e.length?new i.Just(new s.Tuple(r(e[0]),i.Nothing.value)):2===e.length?new i.Just(new s.Tuple(r(e[0]),new i.Just(r(e[1])))):i.Nothing.value})(u.filter(function(n){return""!==n})(l.split("&")(a)))}(w.search(n)())},t._lookupQueryStringValue=function(n){return function(e){return r.join(i.bindMaybe)(o.map(i.functorMaybe)(s.snd)(a.find(a.foldableArray)(function(n){return s.fst(n)===e})(n)))}},t.whenH=function(n){return function(e){return n?e(d.unit):m.text("")}},t.whenA=function(n){return function(e){return n?e(d.unit):[]}},t.ifElseH=function(n){return function(e){return function(t){return n?e(d.unit):t(d.unit)}}},t.ifElseA=function(n){return function(e){return function(t){return n?e(d.unit):t(d.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.Maybe"],d=n["Data.Profunctor.Strong"],v=n["Data.Unit"],p=n["Effect.Aff.Class"],m=n.Globals,g=n["Halogen.Component"],h=n["Halogen.HTML.Core"],w=n["Halogen.HTML.Elements"],b=n["Halogen.HTML.Events"],y=n["Halogen.HTML.Properties"],D=n["Halogen.Query.HalogenM"],E=n.Util,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}(),T=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;m["app'"](v.unit);return g.mkComponent({initialState:a.const((e=n,{us:e})),render:function(n){var e=function(n){return function(e){return s.Just.create(F.create(n(e)))}};return w.div([E.class_("settings-form")])([w.div([E.class_("fw7 mb2")])([h.text("Account Settings")]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("archiveDefault"),y.name("archiveDefault"),y.checked(n.us.archiveDefault),b.onChecked(e(A.create))]),w.label([y.for("archiveDefault"),E.class_("lh-copy")])([h.text("Archive Non-Private Bookmarks (archive.li)")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privateDefault"),y.name("privateDefault"),y.checked(n.us.privateDefault),b.onChecked(e(M.create))]),w.label([y.for("privateDefault"),E.class_("lh-copy")])([h.text("Default new bookmarks to Private")])]),w.div([E.class_("flex items-center mb2")])([w.input([y.type_(h.isPropInputType)(u.InputCheckbox.value),E.class_("pointer mr2"),y.id_("privacyLock"),y.name("privacyLock"),y.checked(n.us.privacyLock),b.onChecked(e(C.create))]),w.label([y.for("privacyLock"),E.class_("lh-copy")])([h.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof F)return r.discard(r.discardUnit)(D.bindHalogenM)(l.modifying(D.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof A)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof M)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof C)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(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.monadAffAff))(t.editAccountSettings(n)))})});if(n instanceof T)return r.bind(D.bindHalogenM)(i.use(D.monadStateHalogenM)(H(c.strongForget)))(function(n){return o.void(D.functorHalogenM)(p.liftAff(D.monadAffHalogenM(p.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:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.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.Foldable"],l=n["Data.Function"],s=n["Data.Functor"],d=n["Data.Lens.Getter"],v=n["Data.Lens.Internal.Forget"],p=n["Data.Lens.Lens"],m=n["Data.Lens.Setter"],g=n["Data.Maybe"],h=n["Data.Monoid"],w=n["Data.Profunctor.Strong"],b=n["Data.Semigroup"],y=n["Data.String.Common"],D=n["Data.Tuple"],E=n["Data.Unit"],A=n["Effect.Aff"],M=n["Effect.Aff.Class"],C=n["Effect.Class"],F=n.Globals,T=n["Halogen.Component"],H=n["Halogen.HTML.Core"],S=n["Halogen.HTML.Elements"],_=n["Halogen.HTML.Events"],k=n["Halogen.HTML.Properties"],x=n["Halogen.Query.HalogenM"],I=n.Util,L=n["Web.Event.Event"],R=n["Web.HTML"],N=n["Web.HTML.Location"],U=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}(),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}(),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(){}return n.value=new n,n}(),G=function(n){return p.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;F["app'"](E.unit);return T.mkComponent({initialState:l.const((e=n,{bm:e,edit_bm:e,deleteAsk:!1,destroyed:!1,loading:!1})),render:function(n){c.drop(1),f.foldMap(f.foldableArray)(h.monoidArray)(function(n){return[S.br_,H.text(n)]}),y.split("\n");var e=F.mmoment8601(n.bm.time),t=function(n){return function(e){return g.Just.create(J.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"),k.title(g.maybe(n.bm.time)(D.snd)(e))])([H.text(g.maybe(" ")(D.fst)(e))]),S.div([I.class_("edit_links dib ml1")])([S.div([I.class_("delete_link di")])([S.button(b.append(b.semigroupArray)([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!0))}),I.class_("delete")])(h.guard(h.monoidArray)(n.deleteAsk)([I.attr("hidden")("hidden")])))([H.text("delete")]),S.span(b.append(b.semigroupArray)([I.class_("confirm red")])(h.guard(h.monoidArray)(!n.deleteAsk)([I.attr("hidden")("hidden")])))([S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(new Q(!1))})])([H.text("cancel / ")]),S.button([k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(z.value)}),I.class_("red")])([H.text("destroy")])])])])])};return I.ifElseH(!n.destroyed)(function(e){return S.form([_.onSubmit(function(n){return g.Just.create(j.create(n))})])([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([k.for("url")])([H.text("URL")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputUrl.value),k.id_("url"),I.class_("w-100 mv1"),k.required(!0),k.name("url"),k.autofocus(y.null(n.bm.url)),k.value(n.edit_bm.url),_.onValueChange(t(U.create))])])]),S.tr_([S.td_([S.label([k.for("title")])([H.text("title")])]),S.td([I.class_("flex")])([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("title"),I.class_("w-100 mv1 flex-auto"),k.name("title"),k.value(n.edit_bm.title),_.onValueChange(t(B.create))]),S.button([k.disabled(n.loading),k.type_(H.isPropButtonType)(o.ButtonButton.value),_.onClick(function(n){return new g.Just(V.value)}),I.class_("ml2 input-reset ba b--navy pointer f6 di dim pa1 ma1 mr0 "+h.guard(h.monoidString)(n.loading)("bg-light-silver"))])([H.text("fetch")])])]),S.tr_([S.td_([S.label([k.for("description")])([H.text("description")])]),S.td_([S.textarea([I.class_("w-100 mt1 mid-gray"),k.id_("description"),k.name("description"),k.rows(4),k.value(n.edit_bm.description),_.onValueChange(t(P.create))])])]),S.tr_([S.td_([S.label([k.for("tags")])([H.text("tags")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputText.value),k.id_("tags"),I.class_("w-100 mv1"),k.name("tags"),k.autocomplete(!1),I.attr("autocapitalize")("off"),k.autofocus(!y.null(n.bm.url)),k.value(n.edit_bm.tags),_.onValueChange(t(O.create))])])]),S.tr_([S.td_([S.label([k.for("private")])([H.text("private")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("private"),I.class_("private pointer"),k.name("private"),k.checked(n.edit_bm.private),_.onChecked(t(W.create))])])]),S.tr_([S.td_([S.label([k.for("toread")])([H.text("read later")])]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputCheckbox.value),k.id_("toread"),I.class_("toread pointer"),k.name("toread"),k.checked(n.edit_bm.toread),_.onChecked(t(q.create))])])]),S.tr_([S.td_([]),S.td_([S.input([k.type_(H.isPropInputType)(i.InputSubmit.value),I.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),k.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])])})(function(n){return S.p([I.class_("red")])([H.text("you killed this bookmark")])})},eval:T.mkEval({handleAction:function(n){if(n instanceof Q)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 V)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)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(function(){if(n instanceof g.Just)return m.modifying(x.monadStateHalogenM)(G(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 g.Nothing)return r.pure(x.applicativeHalogenM)(E.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 z)return u.bind(x.bindHalogenM)(a.gets(x.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(M.liftAff(x.monadAffHalogenM(M.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 J)return m.modifying(x.monadStateHalogenM)(G(w.strongFn))(function(){if(n.value0 instanceof U)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 B)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 W)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.Add (line 174, column 17 - line 180, column 36): "+[n.value0.constructor.name])}());if(n instanceof j)return u.discard(u.discardUnit)(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(L.preventDefault(n.value0)))(function(){return u.bind(x.bindHalogenM)(d.use(x.monadStateHalogenM)(G(v.strongForget)))(function(n){return u.discard(u.discardUnit)(x.bindHalogenM)(s.void(x.functorHalogenM)(M.liftAff(x.monadAffHalogenM(M.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(x.bindHalogenM)(m.assign(x.monadStateHalogenM)((e=w.strongFn,p.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)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(I._loc))(function(n){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(R.window))(function(e){return u.bind(x.bindHalogenM)(C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(I._curQuerystring))(function(t){var r=I._lookupQueryStringValue(t)("next");return r instanceof g.Just?C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(N.setHref(r.value0)(n)):C.liftEffect(x.monadEffectHalogenM(A.monadEffectAff))(F.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:T.defaultEval.handleQuery,receive:T.defaultEval.receive,initialize:T.defaultEval.initialize,finalize:T.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["Halogen.Component"],r=n["Halogen.HTML.Core"];e.slot=function(n){return function(n){return function(e){return function(u){return function(a){return function(o){return function(i){return function(c){return r.widget(new t.ComponentSlot(t.componentSlot()(n)(e)(u)(a)(o)(i)(c)))}}}}}}}}}(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,T=n["Effect.Aff"],H=n["Effect.Aff.Class"],S=n["Effect.Class"],_=n.Globals,k=n["Halogen.Component"],x=n["Halogen.HTML"],I=n["Halogen.HTML.Core"],L=n["Halogen.HTML.Elements"],R=n["Halogen.HTML.Events"],N=n["Halogen.HTML.Properties"],U=n["Halogen.Query.HalogenM"],B=n.Util,P=n["Web.Event.Event"],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(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=A.SProxy.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"},an=_["app'"](M.unit);return k.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(an.userR)+"/t:"+n},a=function(n){return function(e){return m.Just.create($.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(an.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 m.Just(new z(!n.bm.selected))})])([I.text("✭")])])}),B.ifElseH(n.edit)(function(e){return L.div([B.class_("edit_bookmark_form pa2 pt0 bg-white")])([L.form([R.onSubmit(function(n){return m.Just.create(Z.create(n))})])([L.div_([I.text("url")]),L.input([N.type_(I.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(O.create))]),L.div_([I.text("title")]),L.div([B.class_("flex")])([L.input([N.type_(I.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(W.create))]),L.button([N.disabled(n.loading),N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(K.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"))])([I.text("fetch")])]),L.div_([I.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(q.create))]),L.div([N.id_("tags_input_box")])([L.div_([I.text("tags")]),L.input([N.id_(v(n.edit_bm)),N.type_(I.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_(I.isPropInputType)(c.InputCheckbox.value),B.class_("private pointer"),N.id_("edit_private"),N.name("private"),N.checked(n.edit_bm.private),R.onChecked(a(j.create))]),I.text(" "),L.label([N.for("edit_private"),B.class_("mr2")])([I.text("private")]),I.text(" "),L.input([N.type_(I.isPropInputType)(c.InputCheckbox.value),B.class_("toread pointer"),N.id_("edit_toread"),N.name("toread"),N.checked(n.edit_bm.toread),R.onChecked(a(Q.create))]),I.text(" "),L.label([N.for("edit_toread")])([I.text("to-read")])]),L.input([N.type_(I.isPropInputType)(c.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),N.value("save")]),I.text(" "),L.input([N.type_(I.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 m.Just(new Y(!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"))])([I.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")])([I.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))?I.text("☑"):I.text("☐")]),L.br_,L.div([B.class_("description mt1 mid-gray")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(en)(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))])([I.text(n)])})(E.split(" ")(n.bm.tags))})),L.a([B.class_("link f7 dib gray w4"),N.href((o=n.bm.slug,B.fromNullableStr(an.userR)+"/b:"+o)),N.title(e)])([I.text(t)]),B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("edit_links di")])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new Y(!0))}),B.class_("edit light-silver hover-blue")])([I.text("edit  ")]),L.div([B.class_("delete_link di")])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new G(!0))}),B.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([I.text("delete")]),L.span([B.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(new G(!1))})])([I.text("cancel / ")]),L.button([N.type_(I.isPropButtonType)(i.ButtonButton.value),R.onClick(function(n){return new m.Just(X.value)}),B.class_("red")])([I.text("destroy")])])])])}),B.whenH(an.dat.isowner)(function(e){return L.div([B.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([I.text("  "),L.button([R.onClick(function(n){return new m.Just(nn.value)}),B.class_("mark_read")])([I.text("mark as read")])]))})]);var o})])},eval:k.mkEval({handleAction:function(n){if(n instanceof z)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(H.liftAff(U.monadAffHalogenM(H.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)(un(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)(tn(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 G)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 X)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.destroy(n.bid))))(function(){return U.raise(V.value)})});if(n instanceof nn)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.markRead(n.bid))))(function(){return p.modifying(U.monadStateHalogenM)(un(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 Y)return a.bind(U.bindHalogenM)(s.use(U.monadStateHalogenM)(un(d.strongForget)))(function(e){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(tn(b.strongFn))(e))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(rn(b.strongFn))(n.value0))(function(){return S.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(u.when(F.applicativeEffect)(n.value0)(_.setFocus(v(e))))})})});if(n instanceof $)return p.modifying(U.monadStateHalogenM)(tn(b.strongFn))(function(){if(n.value0 instanceof O)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)(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)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.lookupTitle(n)))(function(n){return a.discard(a.discardUnit)(U.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(U.monadStateHalogenM)(tn(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 Z)return a.discard(a.discardUnit)(U.bindHalogenM)(S.liftEffect(U.monadEffectHalogenM(T.monadEffectAff))(P.preventDefault(n.value0)))(function(){return a.bind(U.bindHalogenM)(s.use(U.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)(U.bindHalogenM)(l.void(U.functorHalogenM)(H.liftAff(U.monadAffHalogenM(H.monadAffAff))(t.editBookmark(e))))(function(){return a.discard(a.discardUnit)(U.bindHalogenM)(p.assign(U.monadStateHalogenM)(un(b.strongFn))(e))(function(){return p.assign(U.monadStateHalogenM)(rn(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 201, column 3 - line 201, column 84): "+[n.constructor.name])},handleQuery:k.defaultEval.handleQuery,receive:k.defaultEval.receive,initialize:k.defaultEval.initialize,finalize:k.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.Maybe"],c=n["Data.Ord"],f=n["Data.Symbol"],l=n["Data.Unit"],s=n["Halogen.Component"],d=n["Halogen.HTML"],v=n["Halogen.HTML.Elements"],p=n["Halogen.Query.HalogenM"],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=f.SProxy.value;e.blist=function(n){return s.mkComponent({initialState:a.const(n),render:function(n){return v.div_(o.map(o.functorArray)(function(n){return d.slot()(new f.IsSymbol(function(){return"bookmark"}))(c.ordInt)(g)(n.bid)(t.bmark(n))(l.unit)((e=m.create(n.bid),function(n){return i.Just.create(e(n))}));var e})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(u.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.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.Foldable"],a=n["Data.Function"],o=n["Data.Functor"],i=n["Data.Maybe"],c=n["Data.Monoid"],f=n["Data.Show"],l=n["Data.String.CodePoints"],s=n["Data.String.Common"],d=n["Data.Tuple"],v=n["Data.Unit"],p=n.Globals,m=n["Halogen.Component"],g=n["Halogen.HTML.Core"],h=n["Halogen.HTML.Elements"],w=n["Halogen.HTML.Properties"],b=n["Halogen.Query.HalogenM"],y=n.Util;e.nlist=function(n){var e,D=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),A=function(n){return y.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:a.const((e=n,{notes:e,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return h.div_(o.map(o.functorArray)(function(n){return h.div([w.id_(f.show(f.showInt)(n.id)),y.class_("note w-100 mw7 pa1 mb2"+(n.shared?"":" private"))])([h.div([y.class_("display")])([h.a([w.href(A(n.slug)),y.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),h.br_,h.div([y.class_("description mt1 mid-gray")])((e=l.take(200)(n.text),r.drop(1)(u.foldMap(u.foldableArray)(c.monoidArray)(function(n){return[h.br_,g.text(n)]})(s.split("\n")(e))))),h.a([y.class_("link f7 dib gray w4"),w.title(i.maybe(n.created)(d.snd)(D(n))),w.href(A(n.slug))])([g.text(i.maybe(" ")(d.fst)(D(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return t.pure(b.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.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.Either"],d=n["Data.Foldable"],v=n["Data.Function"],p=n["Data.Functor"],m=n["Data.Lens.Getter"],g=n["Data.Lens.Internal.Forget"],h=n["Data.Lens.Lens"],w=n["Data.Lens.Setter"],b=n["Data.Maybe"],y=n["Data.Monoid"],D=n["Data.Ord"],E=n["Data.Profunctor.Strong"],A=n["Data.Show"],M=n["Data.String.Common"],C=n["Data.Symbol"],F=n["Data.Tuple"],T=n["Data.Unit"],H=n["Data.Void"],S=n.Effect,_=n["Effect.Aff"],k=n["Effect.Aff.Class"],x=n["Effect.Class"],I=n.Globals,L=n["Halogen.Component"],R=n["Halogen.HTML"],N=n["Halogen.HTML.Core"],U=n["Halogen.HTML.Elements"],B=n["Halogen.HTML.Events"],P=n["Halogen.HTML.Properties"],O=n["Halogen.Query.HalogenM"],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 h.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=C.SProxy.value,tn=function(n){return h.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 h.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,h=function(n){return A.show(A.showInt)(n.id)+"_text"},un=I["app'"](T.unit);return L.mkComponent({initialState:v.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 b.Just.create(K.create(n(e)))}};return W.ifElseH(n.destroyed)(function(n){return U.p([W.class_("red")])([N.text("you killed this note")])})(v.const(W.ifElseH(n.edit)(function(e){return U.form([B.onSubmit(function(n){return b.Just.create(X.create(n))})])([U.p([W.class_("mt2 mb1")])([N.text("title:")]),U.input([P.type_(N.isPropInputType)(f.InputText.value),W.class_("title w-100 mb1 pt1 edit_form_input"),P.name("title"),P.value(n.edit_note.title),B.onValueChange(t(j.create)),P.autofocus(M.null(n.edit_note.title))]),U.br_,U.p([W.class_("mt2 mb1")])([N.text("description:")]),U.textarea([P.id_(h(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),B.onValueChange(t(Q.create))]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_ismarkdown"),P.name("ismarkdown"),P.checked(n.edit_note.isMarkdown),B.onChecked(t(V.create))]),N.text(" "),U.label([P.for("edit_ismarkdown"),W.class_("mr2")])([N.text("use markdown?")]),U.br_]),U.div([W.class_("edit_form_checkboxes mb3")])([U.input([P.type_(N.isPropInputType)(f.InputCheckbox.value),W.class_("is-markdown pointer"),P.id_("edit_shared"),P.name("shared"),P.checked(n.edit_note.shared),B.onChecked(t(z.create))]),N.text(" "),U.label([P.for("edit_shared"),W.class_("mr2")])([N.text("public?")]),U.br_]),U.input([P.type_(N.isPropInputType)(f.InputSubmit.value),W.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("save")]),N.text(" "),U.input([P.type_(N.isPropInputType)(f.InputReset.value),W.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),P.value("cancel"),B.onClick(function(n){return new b.Just(new Y(!1))})])])})(function(t){return U.div([P.id_(A.show(A.showInt)(n.note.id)),W.class_("note w-100 mw7 pa1 mb2")])([U.div([W.class_("display")])([U.div([W.class_("link f5 lh-title")])([N.text(M.null(n.note.title)?"[no title]":n.note.title)]),U.br_,n.note.isMarkdown?U.div([W.class_("description mt1")])([R.slot()(new C.IsSymbol(function(){return"markdown"}))(D.ordUnit)(en)(T.unit)(r.component)(n.note.text)(H.absurd)]):U.div([W.class_("description mt1 mid-gray")])((u=n.note.text,l.drop(1)(d.foldMap(d.foldableArray)(y.monoidArray)(function(n){return[U.br_,N.text(n)]})(M.split("\n")(u))))),U.div([W.class_("link f7 dib gray w4")])([U.span([P.title(b.maybe(n.note.created)(F.snd)(e(n.note)))])([N.text(b.maybe(" ")(F.fst)(e(n.note)))]),N.text(" - "),U.span([W.class_("gray")])([N.text(n.note.shared?"public":"private")])])]),W.whenH(un.dat.isowner)(function(e){return U.div([W.class_("edit_links db mt3")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new Y(!0))}),W.class_("edit light-silver hover-blue")])([N.text("edit  ")]),U.div([W.class_("delete_link di")])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!0))}),W.class_("delete light-silver hover-blue"+y.guard(y.monoidString)(n.deleteAsk)(" dn"))])([N.text("delete")]),U.span([W.class_("confirm red"+y.guard(y.monoidString)(!n.deleteAsk)(" dn"))])([U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(new $(!1))})])([N.text("cancel / ")]),U.button([P.type_(N.isPropButtonType)(c.ButtonButton.value),B.onClick(function(n){return new b.Just(Z.value)}),W.class_("red")])([N.text("destroy")])])])])})]);var u})))},eval:L.mkEval({handleAction:function(n){if(n instanceof G)return u.pure(O.applicativeHalogenM)(T.unit);if(n instanceof K)return w.modifying(O.monadStateHalogenM)(tn(E.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_(O.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(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(n){return a.discard(a.discardUnit)(O.bindHalogenM)(p.void(O.functorHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.destroyNote(n.id))))(function(){return i.modify_(O.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(O.bindHalogenM)(m.use(O.monadStateHalogenM)(nn(g.strongForget)))(function(e){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(tn(E.strongFn))(e))(function(){return a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(rn(E.strongFn))(n.value0))(function(){return x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(o.whenM(S.monadEffect)(u.pure(S.applicativeEffect)(n.value0))(I.setFocus(h(e))))})})});if(n instanceof X)return a.discard(a.discardUnit)(O.bindHalogenM)(x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(q.preventDefault(n.value0)))(function(){return a.bind(O.bindHalogenM)(m.use(O.monadStateHalogenM)(tn(g.strongForget)))(function(n){return a.bind(O.bindHalogenM)(k.liftAff(O.monadAffHalogenM(k.monadAffAff))(t.editNote(n)))(function(e){return d.for_(O.applicativeHalogenM)(s.foldableEither)(e)(function(e){return 0===n.id?x.liftEffect(O.monadEffectHalogenM(_.monadEffectAff))(a.bindFlipped(S.bindEffect)(J.setHref(W.fromNullableStr(un.noteR)))(W._loc)):a.discard(a.discardUnit)(O.bindHalogenM)(w.assign(O.monadStateHalogenM)(nn(E.strongFn))(n))(function(){return w.assign(O.monadStateHalogenM)(rn(E.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"],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"],T=n["Halogen.HTML.Core"],H=n["Halogen.HTML.Elements"],S=n["Halogen.HTML.Events"],_=n["Halogen.HTML.Properties"],k=n["Halogen.Query.HalogenM"],x=n.Math,I=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,B=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}}}}}},P=function(n){return n instanceof I.TagCloudModeNone?r.pure(k.applicativeHalogenM)(E.unit):u.bind(k.bindHalogenM)(A.liftAff(k.monadAffHalogenM(A.monadAffAff))(t.getTagCloud(I.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})})},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=B(function(n){return x.log(1+n)})(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(.6)(1),i=b.toLower(r),s=B(a.identity(a.categoryFn))(v.toNumber(u))(v.toNumber(e))(v.toNumber(t))(100)(150),d=_.attr("style")("font-size:"+w.show(w.showNumber)(s)+"%;opacity:"+w.show(w.showNumber)(o));return[H.a([_.href(W(r)),L.class_("link tag mr1"),d])([T.text(r)]),L.whenH(!c.null(n))(function(e){return l.notElem(l.foldableArray)(f.eqString)(i)(n)?H.a([_.href(W(b.joinWith("+")(c.cons(i)(n)))),L.class_("link mr2 tag-include")])([T.text("⊕")]):H.a([_.href(W(b.joinWith("+")(c.delete(f.eqString)(i)(n)))),L.class_("link mr2 tag-exclude")])([T.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 I.TagCloudModeNone)return H.div([L.class_("tag_cloud")])([]);var e=new I.TagCloudModeTop(I.isExpanded(n.mode),200),t=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),5),r=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),20),u=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),2),a=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),10),o=new I.TagCloudModeLowerBound(I.isExpanded(n.mode),1);return H.div([L.class_("tag_cloud mv3")])([H.div([L.class_("tag_cloud_header mb2")])(h.append(h.semigroupArray)(L.ifElseA(I.isRelated(n.mode))(function(e){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1 b"),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text("Related Tags")])]})(function(c){return[H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue mr1"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(e))(" b")),_.title("show a cloud of your most-used tags"),S.onClick(function(n){return new p.Just(new U(e))})])([T.text("Top Tags")]),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue ml2 "+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(o))(" b")),_.title("show all tags"),S.onClick(function(n){return new p.Just(new U(o))})])([T.text("all")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(u))(" b")),_.title("show tags with at least 2 bookmarks"),S.onClick(function(n){return new p.Just(new U(u))})])([T.text("2")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(t))(" b")),_.title("show tags with at least 5 bookmarks"),S.onClick(function(n){return new p.Just(new U(t))})])([T.text("5")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(a))(" b")),_.title("show tags with at least 10 bookmarks"),S.onClick(function(n){return new p.Just(new U(a))})])([T.text("10")]),T.text("‧"),H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 f7 link hover-blue"+m.guard(m.monoidString)(f.eq(I.eqTagCloudModeF)(n.mode)(r))(" b")),_.title("show tags with at least 20 bookmarks"),S.onClick(function(n){return new p.Just(new U(r))})])([T.text("20")])]}))([H.button([_.type_(T.isPropButtonType)(i.ButtonButton.value),L.class_("pa1 ml2 f7 link silver hover-blue "),S.onClick(function(e){return new p.Just(new N(!I.isExpanded(n.mode)))})])([T.text(I.isExpanded(n.mode)?"hide":"show")])])),L.whenH(I.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 H.div([L.class_("tag_cloud_body")])(n.mode instanceof I.TagCloudModeNone?[]:n.mode instanceof I.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 P(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=I.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(I.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(I.eqTagCloudModeF)(t)(e.value0)?n(new N(!I.isExpanded(t))):P(I.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.Trans.Class"]=n["Control.Monad.Trans.Class"]||{};var e=n["Control.Monad.Trans.Class"];e.lift=function(n){return n.lift},e.MonadTrans=function(n){this.lift=n}}(t),function(n){"use strict";n["Control.Monad.Free.Trans"]=n["Control.Monad.Free.Trans"]||{};var e=n["Control.Monad.Free.Trans"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Monad"],o=n["Control.Monad.Rec.Class"],i=n["Control.Monad.Trans.Class"],c=n["Data.Bifunctor"],f=n["Data.Either"],l=n["Data.Exists"],s=n["Data.Functor"],d=n["Data.Unit"],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(){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}(),g=p.create,h=function(n){return function(e){return new m(l.mkExists(new v(n,e)))}},w=function n(e){return function(t){return new s.Functor(function(r){return function(u){if(u instanceof p)return new p(function(a){return s.map(t)(c.bimap(f.bifunctorEither)(r)(s.map(e)(s.map(n(e)(t))(r))))(u.value0(d.unit))});if(u instanceof m)return l.runExists(function(u){return h(u.value0)((a=s.map(n(e)(t))(r),function(n){return a(u.value1(n))}));var a})(u.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, column 71): "+[r.constructor.name,u.constructor.name])}})}},b=function(n){return function(e){return new a.Monad(function(){return E(n)(e)},function(){return y(n)(e)})}},y=function(n){return function(e){return new u.Bind(function(){return D(n)(e)},function(n){return function(e){return n instanceof m?l.runExists(function(n){return h(n.value0)(function(t){return h(function(e){return n.value1(t)})(e)})})(n.value0):h(function(e){return n})(e)}})}},D=function(n){return function(e){return new r.Apply(function(){return w(n)(e.Bind1().Apply0().Functor0())},a.ap(b(n)(e)))}},E=function(n){return function(e){return new t.Applicative(function(){return D(n)(e)},function(n){return new p(function(r){return t.pure(e.Applicative0())(new f.Left(n))})})}},A=function(n){return function(e){return o.tailRecM(e)(function(r){if(r instanceof p)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Done.create)(r.value0(d.unit));if(r instanceof m)return l.runExists(function(r){var a=r.value0(d.unit);if(a instanceof p)return u.bind(e.Monad0().Bind1())(a.value0(d.unit))(function(a){if(a instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Loop(r.value1(a.value0)));if(a instanceof f.Right)return t.pure(e.Monad0().Applicative0())(new o.Done(new f.Right(s.map(n)(function(t){return u.bind(y(n)(e.Monad0()))(t)(r.value1)})(a.value0))));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 54, column 20 - line 56, column 67): "+[a.constructor.name])});if(a instanceof m)return l.runExists(function(a){return t.pure(e.Monad0().Applicative0())(new o.Loop(u.bind(y(n)(e.Monad0()))(a.value0(d.unit))(function(t){return u.bind(y(n)(e.Monad0()))(a.value1(t))(r.value1)})))})(a.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 52, column 5 - line 57, column 98): "+[a.constructor.name])})(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, column 75): "+[r.constructor.name])})}};e.freeT=g,e.liftFreeT=function(n){return function(e){return function(r){return new p(function(u){return t.pure(e.Applicative0())(new f.Right(s.map(n)(t.pure(E(n)(e)))(r)))})}}},e.resume=A,e.runFreeT=function(n){return function(e){return function(r){return o.tailRecM(e)(u.composeKleisliFlipped(e.Monad0().Bind1())(function(n){if(n instanceof f.Left)return t.pure(e.Monad0().Applicative0())(new o.Done(n.value0));if(n instanceof f.Right)return s.map(e.Monad0().Bind1().Apply0().Functor0())(o.Loop.create)(r(n.value0));throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 141, column 3 - line 141, column 63): "+[n.constructor.name])})(A(n)(e)))}}},e.functorFreeT=w,e.applicativeFreeT=E,e.bindFreeT=y,e.monadTransFreeT=function(n){return new i.MonadTrans(function(n){return function(e){return new p(function(t){return s.map(n.Bind1().Apply0().Functor0())(f.Left.create)(e)})}})},e.monadRecFreeT=function(n){return function(e){return new o.MonadRec(function(){return b(n)(e)},function(r){return function a(i){return u.bind(y(n)(e))(r(i))(function(r){if(r instanceof o.Loop)return a(r.value0);if(r instanceof o.Done)return t.pure(E(n)(e))(r.value0);throw new Error("Failed pattern match at Control.Monad.Free.Trans (line 82, column 15 - line 84, column 25): "+[r.constructor.name])})}})}}}(t),function(n){"use strict";n["Control.Coroutine"]=n["Control.Coroutine"]||{};var e=n["Control.Coroutine"],t=n["Control.Applicative"],r=n["Control.Apply"],u=n["Control.Bind"],a=n["Control.Category"],o=n["Control.Monad.Except.Trans"],i=n["Control.Monad.Free.Trans"],c=n["Control.Monad.Rec.Class"],f=n["Control.Monad.Trans.Class"],l=n["Control.Parallel.Class"],s=n["Data.Bifunctor"],d=n["Data.Either"],v=n["Data.Functor"],p=n["Data.Identity"],m=n["Data.Maybe"],g=n["Data.Newtype"],h=n["Data.Profunctor"],w=n["Data.Tuple"],b=n["Data.Unit"],y=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),D=new h.Profunctor(function(n){return function(e){return function(t){return h.dimap(h.profunctorFn)(n)(e)(t)}}}),E=function(n){return function(e){return function(r){return function(a){return function(c){return function(f){return function(l){return i.freeT(function(s){return function f(l){return o.runExceptT(u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(n)(a)(l.value0)))(function(n){return u.bind(o.bindExceptT(a.Monad0()))(o.ExceptT(i.resume(e)(a)(l.value1)))(function(e){return t.pure(o.applicativeExceptT(a.Monad0()))(v.map(r)(function(n){return i.freeT(function(e){return f(n)})})(c(w.Tuple.create)(n)(e)))})}))}(new w.Tuple(f,l))})}}}}}}},A=function(n){return function(e){return function(a){return function(o){return function(c){return function(f){return function(s){return function(p){return i.freeT(function(m){return function s(p){return u.bind(o.Monad0().Bind1())(l.sequential(c)(r.apply(c.Applicative1().Apply0())(v.map(c.Applicative1().Apply0().Functor0())(r.lift2(d.applyEither)(f(w.Tuple.create)))(l.parallel(c)(i.resume(n)(o)(p.value0))))(l.parallel(c)(i.resume(e)(o)(p.value1)))))(function(n){if(n instanceof d.Left)return t.pure(o.Monad0().Applicative0())(new d.Left(n.value0));if(n instanceof d.Right)return t.pure(o.Monad0().Applicative0())(new d.Right(v.map(a)(function(n){return i.freeT(function(e){return s(n)})})(n.value0)));throw new Error("Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): "+[n.constructor.name])})}(new w.Tuple(s,p))})}}}}}}}},M=new v.Functor(h.rmap(D)),C=new s.Bifunctor(function(n){return function(e){return function(t){return new y(n(t.value0),e(t.value1))}}}),F=new v.Functor(s.rmap(C));e.runProcess=function(n){return i.runFreeT(p.functorIdentity)(n)((e=t.pure(n.Monad0().Applicative0()),r=g.unwrap(p.newtypeIdentity),function(n){return e(r(n))}));var e,r},e.producer=function(n){return function(e){return(r=F,function(n){return function(e){return c.tailRecM(i.monadRecFreeT(r)(n))(function(t){return v.map(i.functorFreeT(r)(n.Bind1().Apply0().Functor0()))(m.maybe(new c.Loop(b.unit))(c.Done.create))(e)})(b.unit)}})(n)(u.bind(i.bindFreeT(F)(n))(f.lift(i.monadTransFreeT(F))(n)(e))(function(e){if(e instanceof d.Left)return v.voidLeft(i.functorFreeT(F)(n.Bind1().Apply0().Functor0()))(function(n){return function(e){return i.liftFreeT(F)(n)(new y(e,b.unit))}}(n)(e.value0))(m.Nothing.value);if(e instanceof d.Right)return t.pure(i.applicativeFreeT(F)(n))(new m.Just(e.value0));throw new Error("Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): "+[e.constructor.name])}));var r}},e.await=function(n){return i.liftFreeT(M)(n)(a.identity(a.categoryFn))},e.connect=function(n){return function(e){return A(F)(M)(p.functorIdentity)(n)(e)(function(n){return function(e){return function(t){return n(e.value1)(t(e.value0))}}})}},e.pullFrom=function(n){return E(M)(F)(p.functorIdentity)(n)(function(n){return function(e){return function(r){return t.pure(p.applicativeIdentity)(n(e(r.value0))(r.value1))}}})},e.functorAwait=M}(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";var e=function(){function n(){this.head=null,this.last=null,this.size=0}function e(n,e){this.queue=n,this.value=e,this.next=null,this.prev=null}function t(e){this.draining=!1,this.error=null,this.value=e,this.takes=new n,this.reads=new n,this.puts=new n}var r={};function u(n){try{n()}catch(e){setTimeout(function(){throw e},0)}}function a(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.last,n.head.next=null,n.last=null;break;default:e=n.last,n.last=e.prev,n.last.next=null}return e.prev=null,e.queue=null,n.size--,e.value}function o(n){var e;switch(n.size){case 0:return null;case 1:e=n.head,n.head=null;break;case 2:e=n.head,n.last.prev=null,n.head=n.last,n.last=null;break;default:e=n.head,n.head=e.next,n.head.prev=null}return e.next=null,e.queue=null,n.size--,e.value}return t.EMPTY=r,t.putLast=function(n,t){var r=new e(n,t);switch(n.size){case 0:n.head=r;break;case 1:r.prev=n.head,n.head.next=r,n.last=r;break;default:r.prev=n.last,n.last.next=r,n.last=r}return n.size++,r},t.takeLast=a,t.takeHead=o,t.deleteCell=function(n){null!==n.queue&&(n.queue.last!==n?n.queue.head!==n?(n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),n.queue.size--,n.queue=null,n.value=null,n.next=null,n.prev=null):o(n.queue):a(n.queue))},t.drainVar=function(n,e){if(!e.draining){var t,a,i,c,f,l=e.puts,s=e.takes,d=e.reads;for(e.draining=!0;;){if(t=null,a=null,i=null,c=e.value,f=d.size,null!==e.error){for(c=n.left(e.error);t=o(l);)u(t.cb(c));for(;a=o(d);)u(a(c));for(;i=o(s);)u(i(c));break}if(c===r&&(t=o(l))&&(e.value=c=t.value),c!==r){for(i=o(s);f--&&(a=o(d));)u(a(n.right(c)));null!==i&&(e.value=r,u(i(n.right(c))))}if(null!==t&&u(t.cb(n.right(void 0))),e.value===r&&0===l.size||e.value!==r&&0===s.size)break}e.draining=!1}},t}();n.empty=function(){return new e(e.EMPTY)},n._killVar=function(n,t,r){return function(){null===r.error&&(r.error=t,r.value=e.EMPTY,e.drainVar(n,r))}},n._putVar=function(n,t,r,u){return function(){var a=e.putLast(r.puts,{cb:u,value:t});return e.drainVar(n,r),function(){e.deleteCell(a)}}},n._takeVar=function(n,t,r){return function(){var u=e.putLast(t.takes,r);return e.drainVar(n,t),function(){e.deleteCell(u)}}}}(t["Effect.AVar"]=t["Effect.AVar"]||{}),function(n){"use strict";n["Effect.AVar"]=n["Effect.AVar"]||{};var e=n["Effect.AVar"],t=n["Effect.AVar"],r=n["Data.Either"],u=n["Data.Maybe"],a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(){}return n.value=new n,n}(),c={left:r.Left.create,right:r.Right.create,nothing:u.Nothing.value,just:u.Just.create,killed:a.create,filled:o.create,empty:i.value};e.take=function(n){return function(e){return t._takeVar(c,n,e)}},e.put=function(n){return function(e){return function(r){return t._putVar(c,n,e,r)}}},e.kill=function(n){return function(e){return t._killVar(c,n,e)}},e.empty=t.empty}(t),function(n){"use strict";n["Effect.Aff.AVar"]=n["Effect.Aff.AVar"]||{};var e=n["Effect.Aff.AVar"],t=n["Effect.AVar"],r=n["Effect.Aff"],u=n["Effect.Class"],a=u.liftEffect(r.monadEffectAff)(t.empty);e.empty=a,e.take=function(n){return r.makeAff(function(e){return function(){var u=t.take(n)(e)();return r.effectCanceler(u)}})},e.put=function(n){return function(e){return r.makeAff(function(u){return function(){var a=t.put(n)(e)(u)();return r.effectCanceler(a)}})}},e.kill=function(n){var e=u.liftEffect(r.monadEffectAff),a=t.kill(n);return function(n){return e(a(n))}}}(t),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return 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.error=function(n){return new Error(n)},n.throwException=function(n){return function(){throw n}}}(t["Effect.Exception"]=t["Effect.Exception"]||{}),function(n){"use strict";n["Effect.Exception"]=n["Effect.Exception"]||{};var e=n["Effect.Exception"],t=n["Effect.Exception"];e.throw=function(n){return t.throwException(t.error(n))},e.error=t.error,e.throwException=t.throwException}(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";n["Halogen.Query.EventSource"]=n["Halogen.Query.EventSource"]||{};n["Halogen.Query.EventSource"].finalize=function(n){return n}}(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.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.Coroutine"],o=n["Control.Monad"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Free"],f=n["Control.Monad.Free.Trans"],l=n["Control.Monad.Trans.Class"],s=n["Control.Parallel"],d=n["Control.Parallel.Class"],v=n["Data.Boolean"],p=n["Data.Coyoneda"],m=n["Data.Eq"],g=n["Data.Foldable"],h=n["Data.Function"],w=n["Data.Functor"],b=n["Data.List.Types"],y=n["Data.Map.Internal"],D=n["Data.Maybe"],E=n["Data.Ord"],A=n["Data.Unit"],M=n.Effect,C=n["Effect.Aff"],F=n["Effect.Class"],T=n["Effect.Exception"],H=n["Effect.Ref"],S=n["Halogen.Aff.Driver.State"],_=n["Halogen.Query.ChildQuery"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenM"],I=n["Halogen.Query.HalogenQ"],L=n["Halogen.Query.Input"],R=n["Unsafe.Reference"],N=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(t){if(t instanceof D.Nothing)return e;if(t instanceof D.Just)return F.liftEffect(C.monadEffectAff)(H.write(new D.Just(new b.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 57): "+[t.constructor.name])})}},U=function(n){return function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.write({initializers:b.Nil.value,finalizers:b.Nil.value})(n)))(function(){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(e))(function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(b.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return u.discard(u.discardUnit)(C.bindAff)(s.parSequence_(C.parallelAff)(b.foldableList)(n.initializers))(function(){return t.pure(C.applicativeAff)(e)})})})})})}},B=function(n){return function(e){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(e){return F.liftEffect(C.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},P=function(n){return function(e){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Query(w.map(p.functorCoyoneda)(D.Just.create)(p.liftCoyoneda(t)),h.const(D.Nothing.value))))})}}},O=function n(e){return function(s){return function(p){var h;return c.foldFree(C.monadRecAff)((h=s,function(c){if(c instanceof x.State)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){var r=c.value0(n.state);if(R.unsafeRefEq(n.state)(r.value1))return t.pure(C.applicativeAff)(r.value0);if(v.otherwise)return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.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})(h)))(function(){return u.discard(u.discardUnit)(C.bindAff)(U(n.lifecycleHandlers)(e(n.lifecycleHandlers)(h)))(function(){return t.pure(C.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(c instanceof x.Subscribe)return u.bind(C.bindAff)(B(x.SubscriptionId)(h))(function(n){var r=c.value0(n);return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(o){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(u.bind(C.bindAff)(r)(function(r){var c=u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.delete(x.ordSubscriptionId)(n)))(o.subscriptions)))(function(){return t.when(C.applicativeAff)(D.maybe(!1)(y.member(x.ordSubscriptionId)(n))(e))(k.finalize(r.finalizer))})}),s=u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(a.await(C.monadAff))(function(r){return u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(F.liftEffect(C.monadEffectAff)(H.read(o.subscriptions))))(function(o){return t.when(f.applicativeFreeT(a.functorAwait)(C.monadAff))(m.eq(D.eqMaybe(m.eqBoolean))(w.map(D.functorMaybe)(y.member(x.ordSubscriptionId)(n))(o))(new D.Just(!0)))(u.bind(f.bindFreeT(a.functorAwait)(C.monadAff))(l.lift(f.monadTransFreeT(a.functorAwait))(C.monadAff)(i.fork(i.monadForkAff)(W(e)(h)(new L.Action(r)))))(function(){return s}))})});return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.modify_(w.map(D.functorMaybe)(y.insert(x.ordSubscriptionId)(n)(c)))(o.subscriptions)))(function(){return u.discard(u.discardUnit)(C.bindAff)(a.runProcess(C.monadRecAff)(a.pullFrom(C.monadRecAff)(s)(r.producer)))(function(){return k.finalize(c)})})})))(function(){return t.pure(C.applicativeAff)(c.value1(n))})})});if(c instanceof x.Unsubscribe)return u.discard(u.discardUnit)(C.bindAff)((s=c.value0,function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(C.applicativeAff)(g.foldableMaybe)(k.finalize)(u.bindFlipped(D.bindMaybe)(y.lookup(x.ordSubscriptionId)(s))(n))})})})(h))(function(){return t.pure(C.applicativeAff)(c.value1)});var s,p,b;if(c instanceof x.Lift)return c.value0;if(c instanceof x.ChildQuery)return function(n){return function(t){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return _.unChildQueryBox(function(t){return w.map(C.functorAff)(t.value2)(d.sequential(C.parallelAff)(t.value0(C.applicativeParAff)(function(n){return d.parallel(C.parallelAff)(u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return P(e)(n.selfRef)(t.value1)})(n)}))})(n.children)))})(t)})}}(h)(c.value0);if(c instanceof x.Raise)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.handlerRef)))(function(e){return u.discard(u.discardUnit)(C.bindAff)(N(n.pendingOuts)(e(c.value0)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.Par)return d.sequential(C.parallelAff)(r.retractFreeAp(C.applicativeParAff)(r.hoistFreeAp((p=d.parallel(C.parallelAff),b=n(e)(h),function(n){return p(b(n))}))(c.value0)));if(c instanceof x.Fork)return u.bind(C.bindAff)(B(x.ForkId)(h))(function(r){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(a){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.new(!1)))(function(f){return u.bind(C.bindAff)(i.fork(i.monadForkAff)(C.finally(F.liftEffect(C.monadEffectAff)(function(){return H.modify_(y.delete(x.ordForkId)(r))(a.forks)(),H.write(!0)(f)()}))(n(e)(h)(c.value0))))(function(n){return u.discard(u.discardUnit)(C.bindAff)(F.liftEffect(C.monadEffectAff)(o.unlessM(M.monadEffect)(H.read(f))(H.modify_(y.insert(x.ordForkId)(r)(n))(a.forks))))(function(){return t.pure(C.applicativeAff)(c.value1(r))})})})})});if(c instanceof x.Kill)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(n.forks)))(function(n){return u.discard(u.discardUnit)(C.bindAff)(g.traverse_(C.applicativeAff)(g.foldableMaybe)(C.killFiber(T.error("Cancelled")))(y.lookup(x.ordForkId)(c.value0)(n)))(function(){return t.pure(C.applicativeAff)(c.value1)})})});if(c instanceof x.GetRef)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(h)))(function(n){return t.pure(C.applicativeAff)(c.value1(y.lookup(E.ordString)(c.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[c.constructor.name])}))(p)}}},W=function(n){return function(e){return function(t){if(t instanceof L.RefUpdate)return F.liftEffect(C.monadEffectAff)(h.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:y.alter(E.ordString)(h.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 L.Action)return u.bind(C.bindAff)(F.liftEffect(C.monadEffectAff)(H.read(e)))(function(r){return O(n)(e)(r.component.eval(new I.Action(t.value0,A.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};e.evalF=W,e.evalQ=P,e.evalM=O,e.handleLifecycle=U,e.queueOrRun=N}(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.Coroutine"],o=n["Control.Monad.Error.Class"],i=n["Control.Monad.Fork.Class"],c=n["Control.Monad.Rec.Class"],f=n["Control.Parallel"],l=n["Data.Either"],s=n["Data.Foldable"],d=n["Data.Function"],v=n["Data.Functor"],p=n["Data.List"],m=n["Data.List.Types"],g=n["Data.Map.Internal"],h=n["Data.Maybe"],w=n["Data.Ord"],b=n["Data.Unit"],y=n.Effect,D=n["Effect.Aff"],E=n["Effect.Aff.AVar"],A=n["Effect.Class"],M=n["Effect.Console"],C=n["Effect.Exception"],F=n["Effect.Ref"],T=n["Halogen.Aff.Driver.Eval"],H=n["Halogen.Aff.Driver.State"],S=n["Halogen.Component"],_=n["Halogen.Data.Slot"],k=n["Halogen.Query.EventSource"],x=n["Halogen.Query.HalogenQ"],I=n["Halogen.Query.Input"],L=F.new({initializers:m.Nil.value,finalizers:m.Nil.value}),R=D.runAff_(l.either(C.throwException)(d.const(t.pure(y.applicativeEffect)(b.unit)))),N=function(n){return function(){var e,t=F.read(n)();return F.write(h.Nothing.value)(n)(),s.for_(y.applicativeEffect)(s.foldableMaybe)(t)((e=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(n){return R(e(p.reverse(n)))}))()}};e.runUI=function(n){return function(e){return function(U){var B=function(n){return function(e){return function(t){return r.bind(D.bindAff)(E.empty)(function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(function(){var t=F.read(n)();return F.modify_(function(n){return n+1|0})(n)(),F.modify_(g.insert(w.ordInt)(t)(u))(e)(),t}))(function(n){var c=a.producer(D.monadAff)(v.map(D.functorAff)(l.either(d.const(new l.Right(b.unit)))(l.Left.create))(o.try(D.monadErrorAff)(E.take(u))));return v.void(D.functorAff)(i.fork(i.monadForkAff)(r.discard(r.discardUnit)(D.bindAff)(a.runProcess(D.monadRecAff)(a.connect(D.monadRecAff)(D.parallelAff)(c)(t)))(function(){return r.discard(r.discardUnit)(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.modify_(g.delete(w.ordInt)(n))(e)))(function(){return E.kill(C.error("ended"))(u)})})))})})}}},P=function(n){return function(e){return function(t){return S.unComponent(function(u){return function(){var a,o=L(),i=H.initDriverState(u)(t)(e)(o)(),c=F.read(n)();return F.write({initializers:m.Nil.value,finalizers:c.finalizers})(n)(),r.bindFlipped(y.bindEffect)(H.unDriverStateX((a=W(n),function(n){return a(n.selfRef)})))(F.read(i))(),r.bindFlipped(y.bindEffect)(function(n){return function(e){return H.unDriverStateX(function(t){var u=T.evalM(W)(t.selfRef)(t.component.eval(new x.Initialize(b.unit)));return F.modify_(function(n){return{initializers:new m.Cons(r.discard(r.discardUnit)(D.bindAff)(f.parSequence_(D.parallelAff)(m.foldableList)(p.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(D.bindAff)(u)(function(){return A.liftEffect(D.monadEffectAff)(function(){return N(t.pendingQueries)(),N(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(c.initializers))(F.read(i))(),i}})}}},O=function(e){return function(u){return function(a){return function(o){return S.unComponentSlot(function(i){return function(){var c=v.map(y.functorEffect)(i.pop)(F.read(a))(),f=function(){if(c instanceof h.Just){F.write(c.value0.value1)(a)();var n=F.read(c.value0.value0)();return H.unDriverStateX(function(n){return function(){var e;return d.flip(F.write)(n.handlerRef)((e=h.maybe(t.pure(D.applicativeAff)(b.unit))(u),function(n){return e(i.output(n))}))(),R(T.evalM(W)(n.selfRef)(n.component.eval(new x.Receive(i.input,b.unit))))()}})(n)(),c.value0.value0}if(c instanceof h.Nothing)return P(e)((r=h.maybe(t.pure(D.applicativeAff)(b.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 236, column 14 - line 245, column 98): "+[c.constructor.name])}(),l=v.map(y.functorEffect)(function(n){return h.isJust(i.get(n))})(F.read(o))();return t.when(y.applicativeEffect)(l)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),F.modify_(i.set(f))(o)(),r.bind(y.bindEffect)(F.read(f))(H.renderStateX(y.functorEffect)(function(e){if(e instanceof h.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(e instanceof h.Just)return t.pure(y.applicativeEffect)(n.renderChild(e.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): "+[e.constructor.name])}))()}})}}}},W=function e(r){return function(a){return function(){var o=F.read(a)(),f=v.map(y.functorEffect)(h.isNothing)(F.read(o.pendingHandlers))();t.when(y.applicativeEffect)(f)(F.write(new h.Just(m.Nil.value))(o.pendingHandlers))(),F.write(_.empty)(o.childrenOut)(),F.write(o.children)(o.childrenIn)();var l,g,w,E,A=u.identity(u.categoryFn)(o.selfRef),M=u.identity(u.categoryFn)(o.pendingQueries),C=u.identity(u.categoryFn)(o.pendingHandlers),S=(l=T.queueOrRun(C),g=v.void(D.functorAff),w=T.evalF(e)(A),function(n){return l(g(w(n)))}),k=(E=T.queueOrRun(M),function(n){return E(S(I.Action.create(n)))}),x=n.render(function(n){return R(S(n))})(O(r)(k)(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),L=F.read(o.childrenOut)(),N=F.read(o.childrenIn)();return _.foreachSlot(y.applicativeEffect)(N)(function(e){return function(){var t=F.read(e)();return H.renderStateX_(y.applicativeEffect)(n.removeChild)(t)(),q(r)(t)()}})(),d.flip(F.modify_)(o.selfRef)(H.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:L,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new h.Just(x),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),t.when(y.applicativeEffect)(f)(d.flip(c.tailRecM(c.monadRecEffect))(b.unit)(function(n){return function(){var n,e=F.read(C)();F.write(new h.Just(m.Nil.value))(C)(),s.traverse_(y.applicativeEffect)(s.foldableMaybe)((n=s.traverse_(D.applicativeAff)(m.foldableList)(i.fork(i.monadForkAff)),function(e){return R(n(p.reverse(e)))}))(e)();var t=F.read(C)();return h.maybe(!1)(p.null)(t)?v.voidLeft(y.functorEffect)(F.write(h.Nothing.value)(C))(new c.Done(b.unit))():new c.Loop(b.unit)}}))()}}},q=function n(e){return H.unDriverStateX(function(t){return function(){var u;(u=t,function(){var n,e,t;return r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(s.foldableMaybe)((e=s.traverse_(D.applicativeAff)(g.foldableMap)((n=i.fork(i.monadForkAff),function(e){return n(k.finalize(e))})),function(n){return R(e(n))})))(F.read(u.subscriptions))(),F.write(h.Nothing.value)(u.subscriptions)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((t=D.killFiber(C.error("finalized")),function(n){return R(t(n))})))(F.read(u.forks))(),F.write(g.empty)(u.forks)()})();var a=T.evalM(W)(t.selfRef)(t.component.eval(new x.Finalize(b.unit)));return F.modify_(function(n){return{initializers:n.initializers,finalizers:new m.Cons(a,n.finalizers)}})(e)(),_.foreachSlot(y.applicativeEffect)(t.children)(function(t){return function(){var r=F.read(t)();return n(e)(r)()}})()}})},J=function(n){return function(e){return function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.read(n)))(function(n){return n?t.pure(D.applicativeAff)(h.Nothing.value):T.evalQ(W)(e)(u)})}}},j=function(e){return function(t){return function(u){return function(a){return T.handleLifecycle(t)(function(){var o;return F.read(e)()?b.unit:(F.write(!0)(e)(),r.bindFlipped(y.bindEffect)(s.traverse_(y.applicativeEffect)(g.foldableMap)((o=E.kill(C.error("disposed")),function(n){return D.launchAff_(o(n))})))(F.read(a))(),q(t)(u)(),H.unDriverStateX(function(e){return function(){var t=A.liftEffect(A.monadEffectEffect)(F.read(e.selfRef))();return s.for_(y.applicativeEffect)(s.foldableMaybe)(t.rendering)(n.dispose)()}})(u)())})}}}};return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(L))(function(n){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.new(0)))(function(u){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.new(!1)))(function(a){return T.handleLifecycle(n)(function(){var o,c=F.new(g.empty)(),f=r.bindFlipped(y.bindEffect)(F.read)(P(n)((o=c,function(n){return r.bind(D.bindAff)(A.liftEffect(D.monadEffectAff)(F.read(o)))(function(e){return s.traverse_(D.applicativeAff)(g.foldableMap)(i.fork(i.monadForkAff))(v.map(g.functorMap)(E.put(n))(e))})}))(U)(e))();return H.unDriverStateX(function(e){return t.pure(y.applicativeEffect)({query:J(a)(e.selfRef),subscribe:B(u)(c),dispose:j(a)(n)(f)(c)})})(f)()})})})})}}}}(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(){return 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(){return t.insertBefore(n,e)}}}},n.appendChild=function(n){return function(e){return function(){return e.appendChild(n)}}},n.removeChild=function(n){return function(e){return function(){return e.removeChild(n)}}}}(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.HTML.Core"],b=n["Halogen.VDom.DOM"],y=n["Halogen.VDom.DOM.Prop"],D=n["Halogen.VDom.Machine"],E=n["Halogen.VDom.Thunk"],A=n["Unsafe.Reference"],M=n["Web.DOM.Node"],C=n["Web.HTML"],F=n["Web.HTML.HTMLDocument"],T=n["Web.HTML.HTMLElement"],H=n["Web.HTML.Window"],S=function(n){return function(){var e=M.parentNode(n.node)();return a.traverse_(s.applicativeEffect)(a.foldableMaybe)(function(e){return M.removeChild(n.node)(e)})(e)()}},_=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?D.halt(n.value0):l.unit};return{buildWidget:function(n){var t=E.buildThunk(f.unwrap(w.newtypeHTML))(n),a=function(n){var t=p.read(e)()(n)(),a=r(t);return D.mkStep(new D.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 D.mkStep(new D.Step(D.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 D.halt(e.value0),a(t.value0);if(t instanceof h.ThunkSlot){var r=D.step(e.value0,t.value0);return D.mkStep(new D.Step(D.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:y.buildProp(n),document:t}}}}(r)(t)(n),d=b.buildVDom(i)(a),v=D.extract(d);return o.void(s.functorEffect)(M.appendChild(v)(T.toNode(e)))(),{machine:d,node:v,renderChildRef:t}};if(d instanceof c.Just)return function(){p.write(u)(d.value0.renderChildRef)();var n=M.parentNode(d.value0.node)(),e=M.nextSibling(d.value0.node)(),r=D.step(d.value0.machine,a),f=D.extract(r);return t.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(A.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)(M.insertBefore(n)(e.value0)(r.value0)):e instanceof c.Nothing&&r instanceof c.Just?o.void(s.functorEffect)(M.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)(F.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(C.window))))(function(r){return m.runUI(_(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";(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=I,y=Q._1,D=Q._2}break;case x: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===x)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===x)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=x,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=I,y=null,D=null,J(++d));break;default:null===L&&(L=n.left(e)),0===B&&(w=I,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"],I=n["Halogen.Query.HalogenM"],x=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([x.class_("alert")])([H.text("previously saved "),S.span([x.class_("link f7 dib gray pr3"),_.title(m.maybe(n.bm.time)(y.snd)(e))])([H.text(m.maybe(" ")(y.fst)(e))]),S.div([x.class_("edit_links dib ml1")])([S.div([x.class_("delete_link di")])([S.button(w.append(w.semigroupArray)([_.type_(H.isPropButtonType)(o.ButtonButton.value),T.onClick(function(n){return new j(!0)}),x.class_("delete")])(g.guard(g.monoidArray)(n.deleteAsk)([x.attr("hidden")("hidden")])))([H.text("delete")]),S.span(w.append(w.semigroupArray)([x.class_("confirm red")])(g.guard(g.monoidArray)(!n.deleteAsk)([x.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}),x.class_("red")])([H.text("destroy")])])])])])};return x.ifElseH(!n.destroyed)(function(e){return S.form([T.onSubmit(J.create)])([S.table([x.class_("w-100")])([S.tbody_([S.tr_([S.td([x.class_("w1")])([]),S.td_([x.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"),x.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([x.class_("flex")])([S.input([_.type_(H.isPropInputType)(i.InputText.value),_.id_()("title"),x.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}),x.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([x.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"),x.class_("w-100 mv1"),_.name("tags"),_.autocomplete(!1),x.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"),x.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"),x.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),x.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([x.class_("red")])([H.text("you killed this bookmark")])})},eval:F.mkEval({handleAction:function(n){if(n instanceof j)return a.modify_(I.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)(I.bindHalogenM)(a.modify_(I.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(I.bindHalogenM)(a.gets(I.monadStateHalogenM)(function(n){return n.edit_bm}))(function(n){return u.bind(I.bindHalogenM)(A.liftAff(I.monadAffHalogenM(A.monadAffAff))(t.lookupTitle(n)))(function(n){return u.discard(u.discardUnit)(I.bindHalogenM)(function(){if(n instanceof m.Just)return p.modifying(I.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(I.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_(I.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(I.bindHalogenM)(a.gets(I.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return u.discard(u.discardUnit)(I.bindHalogenM)(l.void(I.functorHalogenM)(A.liftAff(I.monadAffHalogenM(A.monadAffAff))(t.destroy(n))))(function(){return a.modify_(I.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(I.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)(I.bindHalogenM)(M.liftEffect(I.monadEffectHalogenM(E.monadEffectAff))(k.preventDefault(n.value0)))(function(){return u.bind(I.bindHalogenM)(s.use(I.monadStateHalogenM)(z(d.strongForget)))(function(n){return u.discard(u.discardUnit)(I.bindHalogenM)(l.void(I.functorHalogenM)(A.liftAff(I.monadAffHalogenM(A.monadAffAff))(t.editBookmark(n))))(function(){return u.discard(u.discardUnit)(I.bindHalogenM)(p.assign(I.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(I.bindHalogenM)(M.liftEffect(I.monadEffectHalogenM(E.monadEffectAff))(x._loc))(function(n){return u.bind(I.bindHalogenM)(M.liftEffect(I.monadEffectHalogenM(E.monadEffectAff))(L.window))(function(e){return u.bind(I.bindHalogenM)(M.liftEffect(I.monadEffectHalogenM(E.monadEffectAff))(x._curQuerystring))(function(t){var r=x._lookupQueryStringValue(t)("next");return r instanceof m.Just?M.liftEffect(I.monadEffectHalogenM(E.monadEffectAff))(R.setHref(r.value0)(n)):M.liftEffect(I.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,I=n["Halogen.Component"],x=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 I.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")])([x.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:I.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:I.defaultEval.handleQuery,receive:I.defaultEval.receive,initialize:I.defaultEval.initialize,finalize:I.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"],I=n["Effect.Class"],x=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=x["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 x.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 I.liftEffect(B.monadEffectHalogenM(T.monadEffectAff))(o.whenM(S.monadEffect)(u.pure(S.applicativeEffect)(n.value0))(x.setFocus(g(e))))})})});if(n instanceof X)return a.discard(a.discardUnit)(B.bindHalogenM)(I.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?I.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"],I=n["Halogen.Query.HalogenM"],x=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(I.applicativeHalogenM)(E.unit):u.bind(I.bindHalogenM)(A.liftAff(I.monadAffHalogenM(A.monadAffAff))(t.getTagCloud(k.tagCloudModeFromF(n))))(function(e){return o.modify_(I.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 x.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(I.bindHalogenM)(o.gets(I.monadStateHalogenM)(function(n){return n.mode}))(function(n){return B(n)});if(e instanceof N)return u.discard(u.discardUnit)(I.bindHalogenM)(o.modify_(I.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(I.bindHalogenM)(o.gets(I.monadStateHalogenM)(function(n){return n.mode}))(function(n){return d.void(I.functorHalogenM)(A.liftAff(I.monadAffHalogenM(A.monadAffAff))(t.updateTagCloudMode(k.tagCloudModeFromF(n))))})});if(e instanceof U)return u.bind(I.bindHalogenM)(o.gets(I.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"],I=n["Halogen.Subscription"],x=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(x.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)(I.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)(I.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(I){var x=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 x(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),I=(b=E.queueOrRun(_),y=l.void(h.functorAff),M=E.evalF(e)(S),function(n){return b(y(M(n)))}),x=(F=E.queueOrRun(T),function(n){return F(I(H.Action.create(n)))}),L=n.render(function(n){return E.handleAff(I(n))})(k(r)(x)(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)(x(n)((a=w.liftEffect(h.monadEffectAff),o=S.notify(i.listener),function(n){return a(o(n))}))(I)(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(); },{"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 ba2c0d6b1204cbf74ed49603795b9e19269e5d19..c2b78c48f997619c840dfae1453e20fa0ac4f894 100644 GIT binary patch delta 71929 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 z

    y3j@J8ffn7SU!8l#ct&(-;vf5 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 z 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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;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\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 it = o[Symbol.iterator]();\n return it.next.bind(it);\n }\n\n function createCommonjsModule(fn) {\n var module = { exports: {} };\n \treturn fn(module, module.exports), module.exports;\n }\n\n var defaults = createCommonjsModule(function (module) {\n function getDefaults() {\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(newDefaults) {\n module.exports.defaults = newDefaults;\n }\n\n module.exports = {\n defaults: getDefaults(),\n getDefaults: getDefaults,\n changeDefaults: changeDefaults\n };\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(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(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(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(sanitize, base, href) {\n if (sanitize) {\n var prot;\n\n try {\n prot = decodeURIComponent(unescape(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(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 = {\n exec: function noopTest() {}\n };\n\n function merge(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(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(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(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(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(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,\n unescape: unescape,\n edit: edit,\n cleanUrl: cleanUrl,\n resolveUrl: resolveUrl,\n noopTest: noopTest,\n merge: merge,\n splitCells: splitCells,\n rtrim: rtrim,\n findClosingBracket: findClosingBracket,\n checkSanitizeDeprecation: checkSanitizeDeprecation,\n repeatString: repeatString\n };\n\n var defaults$1 = defaults.defaults;\n var rtrim$1 = helpers.rtrim,\n splitCells$1 = helpers.splitCells,\n _escape = helpers.escape,\n findClosingBracket$1 = 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$1;\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$1(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$1(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$1(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$1(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 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; // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\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\n itemMatch.splice(i, 2, itemMatch[i] + '\\n' + itemMatch[i + 1]);\n i--;\n l--;\n continue;\n } else {\n 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');\n list.raw = list.raw.substring(0, list.raw.length - addBack.length);\n i = l - 1;\n }\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 } // 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(item);\n\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\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 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$1(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$1(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$1(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$1(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;\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; // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n\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;\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength); // Bump maskedSrc to same section of string as src (move to lexer?)\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; // matched the first alternative in rules.js (skip the * 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 // If this is the last rDelimiter, remove extra characters. *a*** -> *a*\n\n if (delimTotal + midDelimTotal - rLength <= 0 && !maskedSrc.slice(endReg.lastIndex).match(endReg)) {\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n }\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 }\n\n if (Math.min(lLength, rLength) % 2 === 0) {\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\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$1 = helpers.noopTest,\n edit$1 = helpers.edit,\n merge$1 = helpers.merge;\n /**\n * Block-Level Grammar\n */\n\n var block = {\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{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noopTest$1,\n table: noopTest$1,\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._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\n block._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\n block.def = edit$1(block.def).replace('label', block._label).replace('title', block._title).getRegex();\n block.bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n block.item = /^( *)(bull) ?[^\\n]*(?:\\n(?! *bull ?)[^\\n]*)*/;\n block.item = edit$1(block.item, 'gm').replace(/bull/g, block.bullet).getRegex();\n block.listItemStart = edit$1(/^( *)(bull)/).replace('bull', block.bullet).getRegex();\n block.list = edit$1(block.list).replace(/bull/g, block.bullet).replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))').replace('def', '\\\\n+(?=' + block.def.source + ')').getRegex();\n block._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._comment = /|$)/;\n block.html = edit$1(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex();\n block.paragraph = edit$1(block._paragraph).replace('hr', block.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._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n block.blockquote = edit$1(block.blockquote).replace('paragraph', block.paragraph).getRegex();\n /**\n * Normal Block Grammar\n */\n\n block.normal = merge$1({}, block);\n /**\n * GFM Block Grammar\n */\n\n block.gfm = merge$1({}, block.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.gfm.nptable = edit$1(block.gfm.nptable).replace('hr', block.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._tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n block.gfm.table = edit$1(block.gfm.table).replace('hr', block.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._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.pedantic = merge$1({}, block.normal, {\n html: edit$1('^ *(?:comment *(?:\\\\n|\\\\s*$)' + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))').replace('comment', block._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$1,\n // fences not supported\n paragraph: edit$1(block.normal._paragraph).replace('hr', block.hr).replace('heading', ' *#{1,6} *[^\\n]').replace('lheading', block.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()\n });\n /**\n * Inline-Level Grammar\n */\n\n var inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noopTest$1,\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$1,\n text: /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\?@\\\\[\\\\]`^{|}~';\n inline.punctuation = edit$1(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, \n\n inline.blockSkip = /\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>/g;\n inline.escapedEmSt = /\\\\\\*|\\\\_/g;\n inline._comment = edit$1(block._comment).replace('(?:-->|$)', '-->').getRegex();\n inline.emStrong.lDelim = edit$1(inline.emStrong.lDelim).replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimAst = edit$1(inline.emStrong.rDelimAst, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline.emStrong.rDelimUnd = edit$1(inline.emStrong.rDelimUnd, 'g').replace(/punct/g, inline._punctuation).getRegex();\n inline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\n inline._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.autolink = edit$1(inline.autolink).replace('scheme', inline._scheme).replace('email', inline._email).getRegex();\n inline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n inline.tag = edit$1(inline.tag).replace('comment', inline._comment).replace('attribute', inline._attribute).getRegex();\n inline._label = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n inline._href = /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/;\n inline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n inline.link = edit$1(inline.link).replace('label', inline._label).replace('href', inline._href).replace('title', inline._title).getRegex();\n inline.reflink = edit$1(inline.reflink).replace('label', inline._label).getRegex();\n inline.reflinkSearch = edit$1(inline.reflinkSearch, 'g').replace('reflink', inline.reflink).replace('nolink', inline.nolink).getRegex();\n /**\n * Normal Inline Grammar\n */\n\n inline.normal = merge$1({}, inline);\n /**\n * Pedantic Inline Grammar\n */\n\n inline.pedantic = merge$1({}, inline.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$1(/^!?\\[(label)\\]\\((.*?)\\)/).replace('label', inline._label).getRegex(),\n reflink: edit$1(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace('label', inline._label).getRegex()\n });\n /**\n * GFM Inline Grammar\n */\n\n inline.gfm = merge$1({}, inline.normal, {\n escape: edit$1(inline.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)|[\\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$2;\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$1.normal,\n inline: inline$1.normal\n };\n\n if (this.options.pedantic) {\n rules.block = block$1.pedantic;\n rules.inline = inline$1.pedantic;\n } else if (this.options.gfm) {\n rules.block = block$1.gfm;\n\n if (this.options.breaks) {\n rules.inline = inline$1.breaks;\n } else {\n rules.inline = inline$1.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$1('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$1('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$1,\n inline: inline$1\n };\n }\n }]);\n\n return Lexer;\n }();\n\n var defaults$3 = defaults.defaults;\n var cleanUrl$1 = 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$3;\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$1(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$1(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 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 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 defaults$4 = defaults.defaults;\n var unescape$1 = helpers.unescape;\n /**\n * Parsing & Compiling\n */\n\n var Parser_1 = /*#__PURE__*/function () {\n function Parser(options) {\n this.options = options || defaults$4;\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$1(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 merge$2 = helpers.merge,\n checkSanitizeDeprecation$1 = helpers.checkSanitizeDeprecation,\n escape$2 = helpers.escape;\n var getDefaults = defaults.getDefaults,\n changeDefaults = defaults.changeDefaults,\n defaults$5 = defaults.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$2({}, marked.defaults, opt || {});\n checkSanitizeDeprecation$1(opt);\n\n if (callback) {\n var highlight = opt.highlight;\n var tokens;\n\n try {\n tokens = Lexer_1.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 out = Parser_1.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_1.lex(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(_tokens, opt.walkTokens);\n }\n\n return Parser_1.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$2(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$2(marked.defaults, opt);\n changeDefaults(marked.defaults);\n return marked;\n };\n\n marked.getDefaults = getDefaults;\n marked.defaults = defaults$5;\n /**\n * Use Extension\n */\n\n marked.use = function (extension) {\n var opts = merge$2({}, extension);\n\n if (extension.renderer) {\n (function () {\n var renderer = marked.defaults.renderer || new Renderer_1();\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_1();\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$2({}, marked.defaults, opt || {});\n checkSanitizeDeprecation$1(opt);\n\n try {\n var tokens = Lexer_1.lexInline(src, opt);\n\n if (opt.walkTokens) {\n marked.walkTokens(tokens, opt.walkTokens);\n }\n\n return Parser_1.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$2(e.message + '', true) + '
    ';\n }\n\n throw e;\n }\n };\n /**\n * Expose\n */\n\n\n marked.Parser = Parser_1;\n marked.parser = Parser_1.parse;\n marked.Renderer = Renderer_1;\n marked.TextRenderer = TextRenderer_1;\n marked.Lexer = Lexer_1;\n marked.lexer = Lexer_1.lex;\n marked.Tokenizer = Tokenizer_1;\n marked.Slugger = Slugger_1;\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.13.8\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 (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 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 (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\n \"use strict\";\n $PS[\"Data.Functor\"] = $PS[\"Data.Functor\"] || {};\n var exports = $PS[\"Data.Functor\"];\n var $foreign = $PS[\"Data.Functor\"];\n var Control_Semigroupoid = $PS[\"Control.Semigroupoid\"];\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 functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\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[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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 62, column 1 - line 62, 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 57, column 1 - line 57, 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.13.8\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 (discard) {\n this.discard = discard;\n };\n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\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(exports) {\n \"use strict\";\n\n var refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n\n exports.eqBooleanImpl = refEq;\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 === ys) return true;\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.13.8\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 eqBoolean = new Eq($foreign.eqBooleanImpl);\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[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n exports[\"eqArray\"] = eqArray;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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_Eq = $PS[\"Data.Eq\"];\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 217, column 1 - line 217, 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 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\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 67, column 1 - line 69, 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 125, column 1 - line 127, 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 exports[\"eqMaybe\"] = eqMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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 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.13.8\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(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.13.8\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.13.8\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 73, column 1 - line 73, 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($PS) {\n // Generated by purs version 0.13.8\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($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.Newtype\"] = $PS[\"Data.Newtype\"] || {};\n var exports = $PS[\"Data.Newtype\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Monoid_Disj = $PS[\"Data.Monoid.Disj\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n var $96 = Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1));\n var $97 = Data_Functor.map(dictFunctor)(wrap(dictNewtype));\n return function ($98) {\n return $96(f($97($98)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Data.MediaType\"] = $PS[\"Data.MediaType\"] || {};\n var exports = $PS[\"Data.MediaType\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Affjax.RequestHeader\"] = $PS[\"Affjax.RequestHeader\"] || {};\n var exports = $PS[\"Affjax.RequestHeader\"];\n var Data_MediaType = $PS[\"Data.MediaType\"];\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(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(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.13.8\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.13.8\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.13.8\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 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 rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"lmap\"] = lmap;\n exports[\"rmap\"] = rmap;\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(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.13.8\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.13.8\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.13.8\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_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = $PS[\"Data.HeytingAlgebra\"];\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 $197 = Control_Apply.applySecond(dictApplicative.Apply0());\n return function ($198) {\n return $197(f($198));\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 $116 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.GT.value);\n if ($116) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 389, column 3 - line 389, 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 $120 = Data_Eq.eq(Data_Ordering.eqOrdering)(cmp(v.value0)(v1))(Data_Ordering.LT.value);\n if ($120) {\n return v.value0;\n };\n return v1;\n })());\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 402, column 3 - line 402, 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 (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): \" + [ f.constructor.name, v.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 129, column 1 - line 135, 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 129, column 1 - line 135, column 27): \" + [ 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 find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n var elem = function (dictFoldable) {\n return function (dictEq) {\n var $204 = any(dictFoldable)(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $205 = Data_Eq.eq(dictEq);\n return function ($206) {\n return $204($205($206));\n };\n };\n };\n var notElem = function (dictFoldable) {\n return function (dictEq) {\n return function (x) {\n var $207 = Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraBoolean);\n var $208 = elem(dictFoldable)(dictEq)(x);\n return function ($209) {\n return $207($208($209));\n };\n };\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[\"notElem\"] = notElem;\n exports[\"find\"] = find;\n exports[\"maximum\"] = maximum;\n exports[\"minimum\"] = minimum;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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_Bifunctor = $PS[\"Data.Bifunctor\"];\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_Monoid = $PS[\"Data.Monoid\"]; \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 38, column 1 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var foldableEither = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Left) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Right) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, 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 Left) {\n return z;\n };\n if (v1 instanceof Right) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 187, column 1 - line 193, column 28): \" + [ v.constructor.name, z.constructor.name, v1.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 238, column 1 - line 238, 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 bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 48, column 36): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\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 82, column 1 - line 84, 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[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n exports[\"applicativeEither\"] = applicativeEither;\n exports[\"bindEither\"] = bindEither;\n exports[\"foldableEither\"] = foldableEither;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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[\"ap\"] = ap;\n exports[\"whenM\"] = whenM;\n exports[\"unlessM\"] = unlessM;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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_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 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 $90 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($91) {\n return $90(Data_Either.Left.create($91));\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 $92 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($93) {\n return ExceptT($92(Data_Either.Right.create($93)));\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 $102 = Control_Applicative.pure(dictMonad.Applicative0());\n return function ($103) {\n return ExceptT($102(Data_Either.Left.create($103)));\n };\n })());\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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 Data_Newtype = $PS[\"Data.Newtype\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\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[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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_Identity = $PS[\"Data.Identity\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var runExcept = (function () {\n var $0 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($1) {\n return $0(Control_Monad_Except_Trans.runExceptT($1));\n };\n })();\n var mapExcept = function (f) {\n return Control_Monad_Except_Trans.mapExceptT((function () {\n var $2 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($3) {\n return Data_Identity.Identity(f($2($3)));\n };\n })());\n };\n exports[\"runExcept\"] = runExcept;\n exports[\"mapExcept\"] = mapExcept;\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 //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\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.sortImpl = function (f) {\n return function (l) {\n return l.slice().sort(function (x, y) {\n return f(x)(y);\n });\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(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($PS) {\n // Generated by purs version 0.13.8\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($PS) {\n // Generated by purs version 0.13.8\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.13.8\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.13.8\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.13.8\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_Boolean = $PS[\"Data.Boolean\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Ordering = $PS[\"Data.Ordering\"];\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 143, column 3 - line 145, column 26): \" + [ i.constructor.name ]);\n };\n return Data_Unfoldable.unfoldr(dictUnfoldable)(f)(0);\n };\n }; \n var sortBy = function (comp) {\n return function (xs) {\n var comp$prime = function (x) {\n return function (y) {\n var v = comp(x)(y);\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 702, column 15 - line 705, column 13): \" + [ v.constructor.name ]);\n };\n };\n return $foreign.sortImpl(comp$prime)(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 findIndex = $foreign.findIndexImpl(Data_Maybe.Just.create)(Data_Maybe.Nothing.value);\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 concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap((function () {\n var $94 = Data_Maybe.maybe([ ])(singleton);\n return function ($95) {\n return $94(f($95));\n };\n })());\n };\n exports[\"toUnfoldable\"] = toUnfoldable;\n exports[\"null\"] = $$null;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"sortBy\"] = sortBy;\n exports[\"delete\"] = $$delete;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"concat\"] = $foreign.concat;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.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.13.8\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[\"runFn4\"] = $foreign.runFn4;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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 /* globals exports */\n \"use strict\"; \n\n var encdecURI = function (encdec) {\n return function (fail, succ, s) {\n try {\n return succ(encdec(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n }; \n exports._encodeURIComponent = encdecURI(encodeURIComponent);\n})(PS[\"Global\"] = PS[\"Global\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Global\"] = $PS[\"Global\"] || {};\n var exports = $PS[\"Global\"];\n var $foreign = $PS[\"Global\"];\n var Data_Function = $PS[\"Data.Function\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var $$encodeURIComponent = function (s) {\n return $foreign[\"_encodeURIComponent\"](Data_Function[\"const\"](Data_Maybe.Nothing.value), Data_Maybe.Just.create, s);\n };\n exports[\"encodeURIComponent\"] = $$encodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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 Global = $PS[\"Global\"];\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 Global[\"encodeURIComponent\"](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 })(Global[\"encodeURIComponent\"](v.value0)))(Global[\"encodeURIComponent\"](v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 108): \" + [ v.constructor.name ]);\n };\n var $19 = Data_Functor.map(Data_Maybe.functorMaybe)(Data_String_Common.joinWith(\"&\"));\n var $20 = Data_Traversable.traverse(Data_Traversable.traversableArray)(Data_Maybe.applicativeMaybe)(encodePart);\n return function ($21) {\n return $19($20(toArray($21)));\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.13.8\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.13.8\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 40, column 1 - line 56, 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.13.8\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 exports[\"Alt\"] = Alt;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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_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 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_done = 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_done = true;\n return acc;\n };\n while (!$tco_done) {\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 $202 = Data_Semigroup.append(dictMonoid.Semigroup0())(acc);\n return function ($203) {\n return $202(f($203));\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 109, column 12 - line 111, 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 = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n var $204 = Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b);\n return function ($205) {\n return $204(rev($205));\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 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 155, column 1 - line 157, 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})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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 $168 = Data_NonEmpty.singleton(Data_List_Types.plusList);\n return function ($169) {\n return Data_List_Types.NonEmptyList($168($169));\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 \"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.13.8\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 /* jshint -W083, -W098, -W003 */\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.13.8\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[\"modify'\"] = 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 return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\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 = function (f) {\n return $foreign[\"modify'\"](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_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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 () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Partial\"] = $PS[\"Partial\"] || {};\n var exports = $PS[\"Partial\"];\n var $foreign = $PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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 unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith()(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\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.13.8\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.13.8\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 400, column 21 - line 402, 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 395, column 20 - line 397, 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 390, column 12 - line 392, 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 launchAff_ = (function () {\n var $43 = Data_Functor[\"void\"](Effect.functorEffect);\n return function ($44) {\n return $43(launchAff($44));\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 $45 = Effect_Class.liftEffect(monadEffectAff);\n return function ($46) {\n return Canceler(Data_Function[\"const\"]($45($46)));\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 $49 = Effect_Class.liftEffect(monadEffectAff);\n return function ($50) {\n return $49(k($50));\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 $53 = Control_Parallel_Class.parallel(parallelAff);\n var $54 = Control_Applicative.pure(applicativeAff);\n return function ($55) {\n return $53($54($55));\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 100, column 7 - line 102, 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[\"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[\"effectCanceler\"] = effectCanceler;\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.13.8\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.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\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.13.8\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.13.8\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 = $PS[\"Control.Monad.Except\"];\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_Identity = $PS[\"Data.Identity\"];\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 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 fail = (function () {\n var $107 = Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity));\n return function ($108) {\n return $107(Data_List_NonEmpty.singleton($108));\n };\n })();\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readNumber = unsafeReadTagged(\"Number\");\n var readInt = 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 $109 = Data_Maybe.maybe(error)(Control_Applicative.pure(Data_Either.applicativeEither));\n return function ($110) {\n return $109(Data_Int.fromNumber($110));\n };\n })();\n return Control_Monad_Except.mapExcept(Data_Either.either(Data_Function[\"const\"](error))(fromNumber))(readNumber(value));\n };\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"readInt\"] = readInt;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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_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_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 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 XHRError = (function () {\n function XHRError(value0) {\n this.value0 = value0;\n };\n XHRError.create = function (value0) {\n return new XHRError(value0);\n };\n return XHRError;\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 ($49) {\n return Foreign.fail(Foreign.ForeignError.create($49));\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(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($50) {\n return req.responseFormat.value0(parseJSON($50));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"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 241, column 18 - line 247, 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 207, column 20 - line 222, 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\"](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 187, column 9 - line 189, column 52): \" + [ v1.constructor.name ]);\n };\n if (v instanceof Data_Either.Left) {\n return new Data_Either.Left(new XHRError(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 185, column 86 - line 191, column 28): \" + [ 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 176, column 7 - line 180, column 48): \" + [ v.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Affjax (line 172, column 3 - line 180, 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.13.8\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.13.8\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.13.8\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_Either.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.13.8\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.13.8\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.13.8\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 /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Global.Unsafe\"] = $PS[\"Global.Unsafe\"] || {};\n var exports = $PS[\"Global.Unsafe\"];\n var $foreign = $PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\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.13.8\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.13.8\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.13.8\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.13.8\n \"use strict\";\n $PS[\"Type.Data.RowList\"] = $PS[\"Type.Data.RowList\"] || {};\n var exports = $PS[\"Type.Data.RowList\"];\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Simple.JSON\"] = $PS[\"Simple.JSON\"] || {};\n var exports = $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 Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Record = $PS[\"Record\"];\n var Record_Builder = $PS[\"Record.Builder\"];\n var Type_Data_RowList = $PS[\"Type.Data.RowList\"];\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 Global_Unsafe.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_Data_RowList.RLProxy.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_Data_RowList.RLProxy.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.13.8\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_Either = $PS[\"Data.Either\"];\n var Data_Eq = $PS[\"Data.Eq\"];\n var Data_Foldable = $PS[\"Data.Foldable\"];\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(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(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(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_Foldable.intercalate(Data_Foldable.foldableArray)(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 /* global window */\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\n \"use strict\";\n $PS[\"Data.Profunctor\"] = $PS[\"Data.Profunctor\"] || {};\n var exports = $PS[\"Data.Profunctor\"];\n var Control_Category = $PS[\"Control.Category\"]; \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 var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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_Newtype = $PS[\"Data.Newtype\"];\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 Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"strongForget\"] = strongForget;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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_Lens_Internal_Forget = $PS[\"Data.Lens.Internal.Forget\"];\n var Data_Newtype = $PS[\"Data.Newtype\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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 ($85) {\n return f(v1.value0($85));\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.13.8\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_Functor = $PS[\"Data.Functor\"];\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 612, column 1 - line 612, 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 200, column 5 - line 200, 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 member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 99, column 110): \" + [ v.constructor.name, v1.constructor.name ]);\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 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, 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 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, 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_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = 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_done = 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_done = 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_done = 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 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\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 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, 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_done = 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_done = 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_done = 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 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\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_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = 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_done = 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 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\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_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = 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_done = 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_done = 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_done = 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_done = 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_done = 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_done = 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 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\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 549, column 15 - line 551, 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[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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.13.8\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 368, column 3 - line 368, 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.13.8\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.13.8\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_done = 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_done = 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_done) {\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 $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\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.13.8\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 $120 = Control_Applicative.pure(freeApplicative);\n return function ($121) {\n return $120(k($121));\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 ($122) {\n return fromView(Return.create($122));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, (function () {\n var $123 = Control_Applicative.pure(freeApplicative);\n return function ($124) {\n return $123($124);\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 ($136) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($136));\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.13.8\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 ($139) {\n return HalogenM(Control_Monad_Free.liftF(State.create($139)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, (function () {\n var $144 = Effect_Class.liftEffect(dictMonadEffect);\n return function ($145) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($144($145))));\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 $146 = Effect_Aff_Class.liftAff(dictMonadAff);\n return function ($147) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create($146($147))));\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.13.8\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.13.8\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 $28 = Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g));\n return function ($29) {\n return $28(args.handleQuery($29));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 187, column 15 - line 197, 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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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 $56 = v11.value2 === v2.value2;\n if ($56) {\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 $65 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($65) {\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.13.8\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 ($58) {\n return f($58);\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 ($60) {\n return f(v.value0($60));\n }, function ($61) {\n return g(v.value1($61));\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.13.8\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 Data_Newtype = $PS[\"Data.Newtype\"];\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 ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var widget = function ($30) {\n return HTML(Halogen_VDom_Types.Widget.create($30));\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($31) {\n return HTML(Halogen_VDom_Types.Text.create($31));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($32) {\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 104, column 21 - line 106, column 23): \" + [ v.constructor.name ]);\n })($32));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n var $33 = Halogen_VDom_DOM_Prop.Property.create(v);\n var $34 = toPropValue(dictIsProp);\n return function ($35) {\n return $33($34($35));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($43) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($43));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($49) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($49));\n });\n var isPropButtonType = new IsProp(function ($54) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($54));\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[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\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 exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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 Data_Identity = $PS[\"Data.Identity\"];\n var Foreign = $PS[\"Foreign\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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 ($8) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($8));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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.13.8\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 = function (et) {\n var $1 = Halogen_HTML_Core.handler(et);\n var $2 = Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create));\n return function ($3) {\n return $1($2($3));\n };\n }; \n var onClick = (function () {\n var $4 = handler(Web_UIEvent_MouseEvent_EventTypes.click);\n return function ($5) {\n return $4(mouseHandler($5));\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(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(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))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\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.13.8\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 ($11) {\n return Halogen_HTML_Core.ref(go($11));\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 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 $18 = prop(Halogen_HTML_Core.isPropString)(\"className\");\n var $19 = Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName);\n return function ($20) {\n return $18($19($20));\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 $21 = prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\");\n return function ($22) {\n return $21((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($22));\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.13.8\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.13.8\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 $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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.13.8\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_Foldable = $PS[\"Data.Foldable\"];\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 Global_Unsafe = $PS[\"Global.Unsafe\"];\n var Halogen_HTML_Core = $PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = $PS[\"Halogen.HTML.Properties\"];\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 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 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 $44 = Data_Maybe.fromMaybe(\"\");\n return function ($45) {\n return $44(Data_Nullable.toMaybe($45));\n };\n })();\n var class_ = function ($46) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($46));\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 $47 = Data_String_Common.replaceAll(\"+\")(\" \");\n return function ($48) {\n return Global_Unsafe.unsafeDecodeURIComponent($47($48));\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 $43 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($43) {\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_Foldable.find(Data_Foldable.foldableArray)(function ($51) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($51));\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.13.8\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_Maybe = $PS[\"Data.Maybe\"];\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 Data_Maybe.Just.create(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.13.8\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_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_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_Foldable.foldMap(Data_Foldable.foldableArray)(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 Data_Maybe.Just.create(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 Data_Maybe.Just(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 Data_Maybe.Just(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 new Data_Maybe.Just(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(function ($68) {\n return Data_Maybe.Just.create(BEditSubmit.create($68));\n }) ])([ 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 new Data_Maybe.Just(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.13.8\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.13.8\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 $1 = 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 ($2) {\n return $1(Halogen_Query_HalogenM.getRef($2));\n };\n })();\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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.13.8\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.13.8\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.13.8\n \"use strict\";\n $PS[\"Halogen.HTML\"] = $PS[\"Halogen.HTML\"] || {};\n var exports = $PS[\"Halogen.HTML\"];\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)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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 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 = Data_Symbol.SProxy.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 Data_Maybe.Just(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 Data_Maybe.Just.create(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(function ($75) {\n return Data_Maybe.Just.create(BEditSubmit.create($75));\n }) ])([ 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 new Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 new Data_Maybe.Just(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 new Data_Maybe.Just(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.13.8\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_Maybe = $PS[\"Data.Maybe\"];\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 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 = Data_Symbol.SProxy.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)((function () {\n var $5 = HandleBMessage.create(b.bid);\n return function ($6) {\n return Data_Maybe.Just.create($5($6));\n };\n })());\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.13.8\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_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_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_Foldable.foldMap(Data_Foldable.foldableArray)(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.13.8\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_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_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 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 = Data_Symbol.SProxy.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 $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 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 $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.destroyed = true;\n return $41;\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_Either.foldableEither)(res$prime)(function (res) {\n var $45 = edit_note.id === 0;\n if ($45) {\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_Foldable.foldMap(Data_Foldable.foldableArray)(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 $48 = Data_String_Common[\"null\"](v.note.title);\n if ($48) {\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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]);\n }) ]);\n };\n var editField = function (f) {\n return function ($53) {\n return Data_Maybe.Just.create(NEditField.create(f($53)));\n };\n };\n var renderNote_edit = function (v1) {\n return Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($54) {\n return Data_Maybe.Just.create(NEditSubmit.create($54));\n }) ])([ 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 Data_Maybe.Just(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.13.8\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.13.8\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_Foldable.notElem(Data_Foldable.foldableArray)(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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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 Data_Maybe.Just(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.13.8\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.13.8\n \"use strict\";\n $PS[\"Control.Monad.Trans.Class\"] = $PS[\"Control.Monad.Trans.Class\"] || {};\n var exports = $PS[\"Control.Monad.Trans.Class\"];\n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Monad.Free.Trans\"] = $PS[\"Control.Monad.Free.Trans\"] || {};\n var exports = $PS[\"Control.Monad.Free.Trans\"];\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 Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Exists = $PS[\"Data.Exists\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Unit = $PS[\"Data.Unit\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)((function () {\n var $123 = Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f);\n return function ($124) {\n return $123(v1.value1($124));\n };\n })());\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 59, column 1 - line 61, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 54, column 20 - line 56, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 5 - line 57, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 49, column 3 - line 49, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 141, column 3 - line 141, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 82, column 15 - line 84, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Control.Coroutine\"] = $PS[\"Control.Coroutine\"] || {};\n var exports = $PS[\"Control.Coroutine\"];\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 Control_Monad_Except_Trans = $PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = $PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel_Class = $PS[\"Control.Parallel.Class\"];\n var Data_Bifunctor = $PS[\"Data.Bifunctor\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Functor = $PS[\"Data.Functor\"];\n var Data_Identity = $PS[\"Data.Identity\"];\n var Data_Maybe = $PS[\"Data.Maybe\"];\n var Data_Newtype = $PS[\"Data.Newtype\"];\n var Data_Profunctor = $PS[\"Data.Profunctor\"];\n var Data_Tuple = $PS[\"Data.Tuple\"];\n var Data_Unit = $PS[\"Data.Unit\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)((function () {\n var $176 = Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0());\n var $177 = Data_Newtype.unwrap(Data_Identity.newtypeIdentity);\n return function ($178) {\n return $176($177($178));\n };\n })());\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (l) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (r) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v1) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(l)(r)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (next) {\n if (next instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(next.value0));\n };\n if (next instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v1) {\n return go(t);\n });\n })(next.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ next.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (e) {\n if (e instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(e.value0))(Data_Maybe.Nothing.value);\n };\n if (e instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(e.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ e.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"runProcess\"] = runProcess;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"functorAwait\"] = functorAwait;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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 /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\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 putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.AVar\"] = $PS[\"Effect.AVar\"] || {};\n var exports = $PS[\"Effect.AVar\"];\n var $foreign = $PS[\"Effect.AVar\"];\n var Data_Either = $PS[\"Data.Either\"];\n var Data_Maybe = $PS[\"Data.Maybe\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Effect.Aff.AVar\"] = $PS[\"Effect.Aff.AVar\"] || {};\n var exports = $PS[\"Effect.Aff.AVar\"];\n var Effect_AVar = $PS[\"Effect.AVar\"];\n var Effect_Aff = $PS[\"Effect.Aff\"];\n var Effect_Class = $PS[\"Effect.Class\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var c = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(c);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var c = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(c);\n };\n });\n };\n }; \n var kill = function (error) {\n var $11 = Effect_Class.liftEffect(Effect_Aff.monadEffectAff);\n var $12 = Effect_AVar.kill(error);\n return function ($13) {\n return $11($12($13));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS);\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\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(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\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.13.8\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[\"throwException\"] = $foreign.throwException;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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($PS) {\n // Generated by purs version 0.13.8\n \"use strict\";\n $PS[\"Halogen.Query.EventSource\"] = $PS[\"Halogen.Query.EventSource\"] || {};\n var exports = $PS[\"Halogen.Query.EventSource\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\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.13.8\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.13.8\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_Coroutine = $PS[\"Control.Coroutine\"];\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_Monad_Free_Trans = $PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = $PS[\"Control.Monad.Trans.Class\"];\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_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_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_EventSource = $PS[\"Halogen.Query.EventSource\"];\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 Unsafe_Reference = $PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\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 Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (subs) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs));\n });\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 195, column 33 - line 197, 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 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 85, column 7 - line 91, 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 var v2 = v1.value0(sid);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v2)(function (v4) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3.subscriptions)))(function (subs) {\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[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(sid)))(v3.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(Halogen_Query_EventSource.finalize(v4.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (act) {\n return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3.subscriptions))))(function (subs) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(subs))(new Data_Maybe.Just(true)))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(act)))))(function () {\n return consumer;\n }));\n });\n });\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)(done)))(v3.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v4.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(sid));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(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 $85 = Control_Parallel_Class.parallel(Effect_Aff.parallelAff);\n var $86 = evalM(render)(ref);\n return function ($87) {\n return $85($86($87));\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 82, column 12 - line 146, 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 51, column 20 - line 57, 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})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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_Coroutine = $PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = $PS[\"Control.Monad.Error.Class\"];\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_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 = $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_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_Aff_AVar = $PS[\"Effect.Aff.AVar\"];\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_EventSource = $PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = $PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = $PS[\"Halogen.Query.Input\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\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 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 $29 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($30) {\n return handleAff($29(Data_List.reverse($30)));\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)((function () {\n var $31 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)((function () {\n var $33 = Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff);\n return function ($34) {\n return $33(Halogen_Query_EventSource.finalize($34));\n };\n })());\n return function ($32) {\n return handleAff($31($32));\n };\n })()))(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 $35 = Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"));\n return function ($36) {\n return handleAff($35($36));\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 subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (inputVar) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var listenerId = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v) {\n return v + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(listenerId)(inputVar))(ref)();\n return listenerId;\n }))(function (listenerId) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(inputVar))));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(listenerId))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(inputVar);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (listeners) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(listeners));\n });\n };\n };\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 $37 = render(lchs);\n return function ($38) {\n return $37((function (v) {\n return v.selfRef;\n })($38));\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 $39 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($40) {\n return $39(slot.output($40));\n };\n })())();\n return 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 $41 = Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler);\n return function ($42) {\n return $41(slot.output($42));\n };\n })())(slot.input)(slot.component)();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 236, column 14 - line 245, column 98): \" + [ childrenIn.constructor.name ]);\n })();\n var isDuplicate = Data_Functor.map(Effect.functorEffect)(function ($43) {\n return Data_Maybe.isJust(slot.get($43));\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 250, column 37 - line 252, 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 $44 = Halogen_Aff_Driver_Eval.queueOrRun(pendingHandlers);\n var $45 = Data_Functor[\"void\"](Effect_Aff.functorAff);\n var $46 = Halogen_Aff_Driver_Eval.evalF(render)(selfRef);\n return function ($47) {\n return $44($45($46($47)));\n };\n })();\n var childHandler = (function () {\n var $48 = Halogen_Aff_Driver_Eval.queueOrRun(pendingQueries);\n return function ($49) {\n return $48(handler(Halogen_Query_Input.Action.create($49)));\n };\n })();\n var rendering = renderSpec.render(function ($50) {\n return handleAff(handler($50));\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 $51 = Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff));\n return function ($52) {\n return handleAff($51(Data_List.reverse($52)));\n };\n })())(handlers)();\n var mmore = Effect_Ref.read(pendingHandlers)();\n var $22 = Data_Maybe.maybe(false)(Data_List[\"null\"])(mmore);\n if ($22) {\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 function (subsRef) {\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 Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)((function () {\n var $53 = Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"));\n return function ($54) {\n return Effect_Aff.launchAff_($53($54));\n };\n })()))(Effect_Ref.read(subsRef))();\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 };\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\"](0)))(function (fresh) {\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 listeners = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var dsx = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(lchs)(rootHandler(listeners))(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 subscribe: subscribe(fresh)(listeners),\n dispose: dispose(disposed)(lchs)(dsx)(listeners)\n });\n })(dsx)();\n });\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.13.8\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 $3 = Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe);\n var $4 = $foreign[\"_querySelector\"](qs);\n return function ($5) {\n return $3($4($5));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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 return {};\n };\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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 $56 = v === v1;\n if ($56) {\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 (ix, 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 (k, ix, v1) {\n var res = build(v1.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.13.8\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 return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function($PS) {\n // Generated by purs version 0.13.8\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.13.8\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_HTML_Core = $PS[\"Halogen.HTML.Core\"];\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(Halogen_HTML_Core.newtypeHTML))(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.13.8\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","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","splice","push","trim","findClosingBracket$1","b","level","checkSanitizeDeprecation$1","console","warn","repeatString$1","pattern","result","defaults$4","rtrim","splitCells","_escape","findClosingBracket","outputLink","cap","link","raw","title","text","type","Tokenizer_1","Tokenizer","options","_proto","space","src","rules","block","newline","code","codeBlockStyle","fences","indentCodeCompensation","matchIndentToCode","indentToCode","map","node","matchIndentInNode","join","lang","heading","trimmed","depth","nptable","item","header","align","hr","blockquote","list","bcurr","bnext","addBack","loose","istask","ischecked","endMatch","bull","isordered","ordered","start","items","itemMatch","listItemStart","index","undefined","task","checked","pre","def","tag","table","lheading","paragraph","escape","inline","inLink","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","_escapes","reflink","links","nolink","emStrong","maskedSrc","prevChar","lDelim","nextChar","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","rDelimAst","rDelimUnd","lastIndex","Math","min","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","tokens","url","prevCapZero","_backpedal","inlineText","noopTest","edit","merge$1","block$1","_paragraph","_label","_title","bullet","_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","lex","lexer","lexInline","inlineTokens","Constructor","protoProps","staticProps","blockTokens","top","token","lastToken","errMsg","error","Error","j","k","l2","keepPrevChar","keys","includes","lastIndexOf","_lastToken","_lastToken2","get","defaults$2","cleanUrl","escape$1","Renderer_1","Renderer","_code","infostring","quote","_html","slugger","slug","body","listitem","checkbox","tablerow","content","tablecell","flags","image","_text","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","l3","cell","itemBody","unshift","merge","checkSanitizeDeprecation","callback","err","pending","setTimeout","_tokens","message","marked_1","setOptions","use","extension","opts","_loop","prop","prevRenderer","_len","args","_key","ret","apply","_loop2","prevTokenizer","_len2","_key2","_step","_iterator","_step2","_iterator2","_step3","_iterator3","_step4","_iterator4","_cell","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","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","arrayApply","fs","xs","f","$PS","semigroupoidFn","compose","g","x","dict","Control_Semigroupoid","categoryFn","Semigroupoid0","identity","a","v","y","arrayMap","unit","$foreign","Data_Function","Data_Unit","Functor","functorArray","dictFunctor","fa","Control_Category","Data_Functor","Apply","Functor0","applyArray","dictApply","Control_Apply","pure","Apply0","dictApplicative","v1","arrayBind","Bind","bindArray","bindFlipped","dictBind","flip","discardUnit","discard","m","Control_Applicative","Control_Bind","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","applicativeMaybe","Applicative","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","Left","Right","functorEither","either","hush","applyEither","bindEither","applicativeEither","Data_Either","throwError","Monad0","MonadThrow0","catchError","dictMonadError","Bind1","$17","Applicative0","$18","dictMonad","mb","when","unless","f$prime","a$prime","concatString","s1","s2","concatArray","ys","Semigroup","append","semigroupString","semigroupArray","Control_Alt","Control_Monad","Control_Monad_Error_Class","Data_Semigroup","ExceptT","mapExceptT","functorExceptT","monadExceptT","Monad","applicativeExceptT","bindExceptT","applyExceptT","$91","$92","ap","$93","$94","dictSemigroup","Alt","rm","rn","MonadThrow","$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","Eq","eq","eqUnit","eqString","eqInt","eqChar","dictEq","foldrArray","init","foldlArray","Monoid","Semigroup0","mempty","monoidString","monoidArray","dictMonoid","boolConj","b1","b2","boolDisj","boolNot","HeytingAlgebra","conj","disj","ff","implies","not","tt","heytingAlgebraBoolean","dictHeytingAlgebra","Data_HeytingAlgebra","Data_Monoid","semigroupDisj","unsafeCompareImpl","lt","gt","ordIntImpl","ordStringImpl","ordCharImpl","Data_Eq","LT","GT","EQ","eqOrdering","Data_Ordering","Ord","Eq0","ordUnit","ordString","ordInt","ordChar","dictOrd","Data_Monoid_Disj","Data_Ord","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$313","applySecond","$314","foldableMaybe","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","Unfoldable10","unfoldr","Data_Array_ST","Data_Boolean","Data_Foldable","Data_Unfoldable","unsafeIndex","singleton","findIndex","deleteAt","deleteBy","concatMap","dictUnfoldable","otherwise","withArray","elemIndex","$109","$110","intercalate","comp","$89","Foldable0","foldMapWithIndex","foldlWithIndex","foldrWithIndex","runFn3","fn","runFn4","d","mapWithIndex","traverseArrayImpl","array1","array2","array3","concat2","go","bot","pivot","floor","Traversable","Foldable1","sequence","traverse","traversableArray","sequenceDefault","dictTraversable","FoldableWithIndex1","FunctorWithIndex0","Traversable2","traverseWithIndex","poke","Data_Array","Data_FoldableWithIndex","Data_Function_Uncurried","Data_FunctorWithIndex","Data_Traversable","Data_TraversableWithIndex","Foreign_Object_ST","values","thawST","lookup","insert","mutate","functorObject","functorWithIndexObject","FunctorWithIndex","fold","applyFlipped","foldableObject","foldableWithIndexObject","FoldableWithIndex","uncurry","traversableWithIndexObject","TraversableWithIndex","traversableObject","ms","$43","$44","$36","toUnfoldable","$37","$38","Foreign_Object","toJsonType","jsonEmptyObject","toObject","_jsonParser","fail","succ","replaceAll","s3","toLower","joinWith","_encodeURIComponent","succeed","input","toRFC3896","encodeURIComponent","_decodeURIComponent","$$encodeURIComponent","$$decodeURIComponent","$16","Data_String_Common","JSURI","showIntImpl","showNumberImpl","isNaN","Show","show","showNumber","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","Alt0","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","$205","$206","$copy_b","$tco_var_b","rev","$tco_var_acc","$207","$208","semigroupList","semigroupNonEmptyList","as$prime","toList","applyList","applicativeList","altList","plusList","Plus","$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","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","t","state","write","Effect","modify$prime","s$prime","modify","Effect_Ref","Loop","Done","MonadRec","tailRecM","monadRecEffect","fromDone","parallel","Applicative1","Control_Parallel_Class","dictParallel","parTraverse_","$20","$21","$19","MonadEffect","liftEffect","monadEffectEffect","unsafePerformEffect","_unsafePartial","_crashWith","msg","Partial","unsafePartial","crashWith","$42","$50","$51","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","MonadError","parallelAff","Parallel","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_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","eqStatusCode","Named","Bifunctor","bimap","bifunctorEither","dictBifunctor","$54","Data_Argonaut_Decode_Error","Data_Bifunctor","decodeNumber","caseJsonNumber","decodeJObject","decodeInt","$55","decoder","$56","lmap","$57","$58","Data_Argonaut_Decode_Decoders","DecodeJson","decodeJson","decodeJsonInt","dictDecodeJson","decodeForeignObject","moment","_app","app","_mmoment8601","ISO_8601","fromNow","_closeWindow","window","close","_setFocus","elemId","document","getElementById","focus","_toLocaleDateString","dateString","Date","toLocaleDateString","dateStyle","win","SProxy","reflectSymbol","_unsafeStringify","unsafeGet","label","rec","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","$$Proxy","Record","Record_Builder","Type_Proxy","WriteForeignFields","writeImplFields","WriteForeign","writeImpl","writeForeignString","writeForeignInt","writeForeignForeign","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$87","$88","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","Simple_JSON","TagCloudModeTop","TagCloudModeLowerBound","TagCloudModeRelated","TagCloudModeNone","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","tagcloudmode_wfI","note_wfI","eqTagCloudModeF","eqArray","bookmark_wfI","writeForeignNullable","tagCloudMode","mode","expanded","readInt","readString","setHref","location","search","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","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","Profunctor","dimap","profunctorFn","a2b","c2d","b2c","$9","Data_Profunctor","Strong","Profunctor0","first","second","strongFn","Data_Profunctor_Strong","profunctorForget","$24","strongForget","$25","$26","set","dictStrong","lens$prime","pab","over","MonadAff","MonadEffect0","liftAff","monadAffAff","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","pop","$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","MonadState","$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","IsProp","toPropValue","HTML","isPropString","isPropOnOff","$31","renderOnOff","isPropInt","isPropInputType","renderInputType","isPropButtonType","renderButtonType","isPropBoolean","children","dictIsProp","$22","$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","mel","required","rows","$$for","disabled","class_","autofocus","autocomplete","dictWarn","hasArrayFrom","hasStringIterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","topInt","bottomInt","topChar","bottomChar","Bounded","Ord0","bottom","boundedInt","boundedChar","toCharCode","toEnum$prime","Data_Bounded","fromEnum","charToEnum","enumChar","pred","fromEnum$prime","defaultSucc","boundedEnumChar","Bounded0","Enum1","cardinality","toEnum","dictBoundedEnum","low","high","intDegree","abs","intDiv","intMod","yy","intSub","intAdd","intMul","semiringInt","add","mul","one","zero","Data_Semiring","ringInt","Semiring0","sub","Data_Ring","commutativeRingInt","Ring0","Data_CommutativeRing","euclideanRingInt","CommutativeRing0","degree","mod","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","$10","$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","$32","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","Functor1","fork","suspend","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 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 '
    ' + (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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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._encodeURIComponent = function encode(fail, succeed, input) {\n try {\n return succeed(toRFC3896(encodeURIComponent(input)));\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.2\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 $$encodeURIComponent = Data_Function_Uncurried.runFn3($foreign[\"_encodeURIComponent\"])(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[\"encodeURIComponent\"] = $$encodeURIComponent;\n exports[\"decodeURIComponent\"] = $$decodeURIComponent;\n})(PS);\n(function($PS) {\n // Generated by purs version 0.14.2\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[\"encodeURIComponent\"](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[\"encodeURIComponent\"](v.value0)))(JSURI[\"encodeURIComponent\"](v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 37, column 18 - line 39, column 108): \" + [ 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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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.2\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 7f396f375983103e59fb8607c9af5278243d1e43..d438bec3dc9924ff223404250e06fdca30119b60 100644 GIT binary patch literal 262404 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%0AOa(60g&H3_s=7mi|7m^hwIg#kvb? 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
    6irg0NUgNh=tCa}tgqq3{4uRevqV6WM> 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%0A4=^nCCS$*G5sg&z;L8p=vl74C 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 literal 271161 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