From 5229db1668bfa276405f1f47f98783adbbdcfeea Mon Sep 17 00:00:00 2001 From: Ro Date: Fri, 2 Nov 2018 16:25:47 -0400 Subject: [PATCH] integrated date chooser with entry RTE --- brain/routes/back/index.js | 8 +- brain/utils/DateUtils.js | 23 +- package-lock.json | 6626 +++++++++++++++++ package.json | 3 +- themes/dash/assets/css/dash.css | 310 + themes/dash/assets/css/dash.css.map | 2 +- themes/dash/assets/js/dash.min.js | 1222 ++- themes/dash/assets/js/dash.min.map | 2 +- themes/dash/entry-edit.pug | 3 +- .../src/com/tools/utilities/TextEditor.jsx | 4 + themes/dash/src/styles/main/_editor.styl | 268 +- 11 files changed, 8438 insertions(+), 33 deletions(-) create mode 100644 package-lock.json diff --git a/brain/routes/back/index.js b/brain/routes/back/index.js index 6c3cf2d..cdeb705 100644 --- a/brain/routes/back/index.js +++ b/brain/routes/back/index.js @@ -122,14 +122,14 @@ router.get('/entries/edit/:id', function (req, res) { featured = featured_img[0].substr(7, featured_img[0].length); let pretty = hljs.highlight('markdown', entry.entry_plaintext).value; - let newdate = new Date(entry.created_at); - let formattedDate = newdate.getFullYear()+"-"+newdate.getMonth()+"-"+newdate.getDate(); - console.log(DateUtils.getDate('null', 'full')); + //let newdate = new Date(entry.created_at); + //let formattedDate = newdate.getFullYear()+"-"+newdate.getMonth()+"-"+newdate.getDate(); + let sexydate = DateUtils.getDate('stamp', entry.created_at) res.render('dash/entry-edit', { title: 'Edit Entry', mode: 'admin', post: entry, - date:formattedDate, + date:sexydate, colored: pretty, html: entry.entry_plaintext, feature: featured, diff --git a/brain/utils/DateUtils.js b/brain/utils/DateUtils.js index fa95822..650bcec 100644 --- a/brain/utils/DateUtils.js +++ b/brain/utils/DateUtils.js @@ -1,5 +1,5 @@ module.exports = { - decodeHTML: function(string, quote_style) { + decodeHTML: function (string, quote_style) { var optTemp = 0, i = 0, noquotes = false; @@ -41,8 +41,8 @@ module.exports = { string = string.replace(/&/g, '&'); return string; }, - cleanString: function(str) { - return (str + '').replace(/\\(.?)/g, function(s, n1) { + cleanString: function (str) { + return (str + '').replace(/\\(.?)/g, function (s, n1) { switch (n1) { case '\\': return '\\'; @@ -55,25 +55,30 @@ module.exports = { } }); }, - - cleanString: function(string) { + + cleanString: function (string) { var clean = string.replace(/(^\-+|[^a-zA-Z0-9\/_| -]+|\-+$)/g, '').toLowerCase().replace(/[\/_| -]+/g, '-'); return clean; }, - getDate: function(type, rawdate) { + getDate: function (type, rawdate) { var day = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCDate()) : String(new Date().getUTCDate())); - var month = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCMonth()+1) : String(new Date().getUTCMonth()+1)); + var month = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCMonth() + 1) : String(new Date().getUTCMonth() + 1)); var year = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCFullYear()) : String(new Date().getUTCFullYear())); var hour = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCHours()) : String(new Date().getUTCHours())); var minute = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCMinutes()) : String(new Date().getUTCMinutes())); var seconds = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCSeconds()) : String(new Date().getUTCSeconds())); var millisecond = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getUTCMilliseconds()) : String(new Date().getUTCMilliseconds())); + var offset = ((rawdate != null || rawdate != '') ? String(new Date(rawdate).getTimezoneOffset()) : String(new Date().getTimezoneOffset())); if (day.length == 1) day = String("0" + day); if (month.length == 1) month = String("0" + month); + offset = String(offset / 60); + if (offset.length == 1) + offset = String("0" + offset); + switch (type) { case "day": return day; @@ -85,11 +90,11 @@ module.exports = { return year; break; case "stamp": - return String(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + seconds+"."+millisecond); + return String(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + seconds + "." + millisecond + "-" + (offset)); break default: return String(year + "-" + month + "-" + day + " : " + hour + "-" + minute + "-" + seconds); break; } } -}; +}; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e4994ca --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6626 @@ +{ + "name": "fipamo", + "version": "0.0.5", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/cli": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.2.tgz", + "integrity": "sha512-K3WDlpBPGpoW11SLKFEBhMsITomPovsrZ/wnM3y+WStbytukDXC0OBic3yQp+j058QUw0+R/jfx2obwp1fOzcA==", + "dev": true, + "requires": { + "chokidar": "^2.0.3", + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.10", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", + "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.2", + "@babel/helpers": "^7.1.2", + "@babel/parser": "^7.1.2", + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.1.2", + "convert-source-map": "^1.1.0", + "debug": "^3.1.0", + "json5": "^0.5.0", + "lodash": "^4.17.10", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", + "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", + "dev": true, + "requires": { + "@babel/types": "^7.1.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.10", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz", + "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-define-map": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz", + "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz", + "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz", + "integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", + "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz", + "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", + "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-wrap-function": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz", + "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helpers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", + "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", + "dev": true, + "requires": { + "@babel/template": "^7.1.2", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.1.2" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz", + "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz", + "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.0.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz", + "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.0.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz", + "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.0.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz", + "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.2.0" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz", + "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz", + "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz", + "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz", + "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz", + "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz", + "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz", + "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", + "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.10" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz", + "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.1.0", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz", + "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz", + "integrity": "sha512-Mb9M4DGIOspH1ExHOUnn2UUXFOyVTiX84fXCd+6B5iWrQg/QMeeRmSwpZ9lnjYLSXtZwiw80ytVMr3zue0ucYw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz", + "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz", + "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz", + "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz", + "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz", + "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz", + "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz", + "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz", + "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz", + "integrity": "sha512-PvTxgjxQAq4pvVUZF3mD5gEtVDuId8NtWkJsZLEJZMZAW3TvgQl1pmydLLN1bM8huHFVVU43lf0uvjQj9FRkKw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz", + "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz", + "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz", + "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz", + "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.1.0", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz", + "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.13.3" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz", + "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz", + "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz", + "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz", + "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz", + "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz", + "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0", + "regexpu-core": "^4.1.3" + } + }, + "@babel/preset-env": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz", + "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.1.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.0.0", + "@babel/plugin-syntax-async-generators": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-to-generator": "^7.1.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.1.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-dotall-regex": "^7.0.0", + "@babel/plugin-transform-duplicate-keys": "^7.0.0", + "@babel/plugin-transform-exponentiation-operator": "^7.1.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.1.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-modules-amd": "^7.1.0", + "@babel/plugin-transform-modules-commonjs": "^7.1.0", + "@babel/plugin-transform-modules-systemjs": "^7.0.0", + "@babel/plugin-transform-modules-umd": "^7.1.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.1.0", + "@babel/plugin-transform-parameters": "^7.1.0", + "@babel/plugin-transform-regenerator": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "@babel/plugin-transform-typeof-symbol": "^7.0.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "browserslist": "^4.1.0", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "@babel/template": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz", + "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.1.2", + "@babel/types": "^7.1.2" + } + }, + "@babel/traverse": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz", + "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.3", + "@babel/types": "^7.1.3", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", + "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.10", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@types/babel-types": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.4.tgz", + "integrity": "sha512-WiZhq3SVJHFRgRYLXvpf65XnV6ipVHhnNaNvE8yCimejrGglkg38kEj0JcizqwSHxmPSjcTlig/6JouxLGEhGw==" + }, + "@types/babylon": { + "version": "6.16.3", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.3.tgz", + "integrity": "sha512-lyJ8sW1PbY3uwuvpOBZ9zMYKshMnQpXmeDHh8dj9j2nJm/xrW0FgB5gLSYOArj5X0IfaXnmhFoJnhS4KbqIMug==", + "requires": { + "@types/babel-types": "*" + } + }, + "@types/geojson": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-1.0.6.tgz", + "integrity": "sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w==" + }, + "@types/node": { + "version": "10.12.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.1.tgz", + "integrity": "sha512-i1sl+WCX2OCHeUi9oi7PiCNUtYFrpWhpcx878vpeq/tlZTKzcFdHePlyFHVbWqeuKN0SRPl/9ZFDSTsfv9h7VQ==" + }, + "abab": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", + "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==" + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "requires": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + }, + "acorn-globals": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", + "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.2.tgz", + "integrity": "sha512-GXmKIvbrN3TV7aVqAzVFaMW8F8wzVX7voEBRO3bDA64+EX37YSayggRJP5Xig6HYHBkWKpFg9W5gg6orklubhg==" + } + } + }, + "acorn-walk": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.0.tgz", + "integrity": "sha512-ugTb7Lq7u4GfWSqqpwE0bGyoBZNMTok/zDBXxfEG0QM50jNlGhIWjRC1pPN7bvV1anhF+bs+/gNcRw+o55Evbg==" + }, + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "animejs": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/animejs/-/animejs-2.2.0.tgz", + "integrity": "sha1-Ne79/FNbgZScnLBvCz5gwC5v3IA=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.6.tgz", + "integrity": "sha512-nHiuV14upVGl7MWwFUYbzJ6YlfwWS084CU9EA8HajfYQjMSli5TQi3UTRygGF58LFWVkXxS1rbgRhROEqlQkXg==" + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "requires": { + "lodash": "^4.17.10" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true, + "optional": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + } + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "bcrypt-nodejs": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bcrypt-nodejs/-/bcrypt-nodejs-0.0.3.tgz", + "integrity": "sha1-xgkX8m3CNWYVZsaBBhwwPCsohCs=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", + "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", + "dev": true, + "optional": true + }, + "bluebird": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", + "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==" + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brfs": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", + "requires": { + "quote-stream": "^1.0.1", + "resolve": "^1.1.5", + "static-module": "^2.2.0", + "through2": "^2.0.0" + } + }, + "browser-process-hrtime": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", + "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==" + }, + "browserslist": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz", + "integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000899", + "electron-to-chromium": "^1.3.82", + "node-releases": "^1.0.1" + } + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-writer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.1.tgz", + "integrity": "sha1-Iqk2kB4wKa/NdUfrRIfOtpejvwg=" + }, + "bulma.styl": { + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/bulma.styl/-/bulma.styl-0.6.11.tgz", + "integrity": "sha512-CWtETgVM6vdg9b4TTFoVrj0nwSlzfyTHXGE2Kj+CATDlADDnZ5PZuKWBAUowGDnLvLHQJh9PANCpIZDBhwJ23A==", + "dev": true + }, + "busboy": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", + "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", + "requires": { + "dicer": "0.2.5", + "readable-stream": "1.1.x" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "caniuse-lite": { + "version": "1.0.30000903", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000903.tgz", + "integrity": "sha512-T1XVJEpGCoaq7MDw7/6hCdYUukmSaS+1l/OQJkLtw7Cr2+/+d67tNGKEbyiqf7Ck8x6EhNFUxjYFXXka0N/w5g==", + "dev": true + }, + "caret-pos": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/caret-pos/-/caret-pos-1.2.1.tgz", + "integrity": "sha512-hBPxTSBjyL9Ovd56Kg2km2xUvL9Cv7uWYikcP3wOa+pFZRxOpL65pXhoT+he9U6prUk0Phn7KWc7G0MDXc3ksA==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "requires": { + "is-regex": "^1.0.3" + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "requires": { + "source-map": "~0.6.0" + } + }, + "clipboard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.1.tgz", + "integrity": "sha512-7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==", + "optional": true, + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + } + } + }, + "cls-bluebird": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", + "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", + "requires": { + "is-bluebird": "^1.0.2", + "shimmer": "^1.1.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-flash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz", + "integrity": "sha1-2GMPJtlaf4UfmVax6MxnMvO2qjA=" + }, + "constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "requires": { + "@types/babel-types": "^7.0.0", + "@types/babylon": "^6.16.2", + "babel-types": "^6.26.0", + "babylon": "^6.18.0" + } + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz", + "integrity": "sha1-5zSlwUF/zkctWu+Cw4HKu2TRpDU=" + }, + "cookie-parser": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz", + "integrity": "sha1-nXVVcPtdF4kHcSJ6AjFNm+fPg1Y=", + "requires": { + "cookie": "0.1.3", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", + "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "requires": { + "boom": "2.x.x" + } + }, + "cssom": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", + "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==" + }, + "cssstyle": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz", + "integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==", + "requires": { + "cssom": "0.3.x" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-uri-to-buffer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz", + "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==" + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "debug": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", + "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "requires": { + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "degenerator": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz", + "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=", + "requires": { + "ast-types": "0.x.x", + "escodegen": "1.x.x", + "esprima": "3.x.x" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "optional": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "dicer": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", + "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", + "requires": { + "readable-stream": "1.1.x", + "streamsearch": "0.1.2" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dottie": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.1.tgz", + "integrity": "sha512-ch5OQgvGDK2u8pSZeSYAQaV/lczImd7pMJ7BcEPXmnFVjy4yJIzP6CsODJUTH8mg1tyH1Z2abOiuJO3DjZ/GBw==" + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "requires": { + "readable-stream": "^2.0.2" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "electron-to-chromium": { + "version": "1.3.82", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.82.tgz", + "integrity": "sha512-NI4nB2IWGcU4JVT1AE8kBb/dFor4zjLHMLsOROPahppeHrR0FG5uslxMmkp/thO1MvPjM2xhlKoY29/I60s0ew==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "entypo": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entypo/-/entypo-2.1.0.tgz", + "integrity": "sha512-nq4MSx9m+qkJnAn4FCaW1ZFCsD4B49MH45lS/npnFNMt7kk26SjmL7yTTOhAI+cxIdraomRwM2Y9OUm8mSPzAw==", + "requires": { + "brfs": "^1.4.3" + } + }, + "es6-promise": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escodegen": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + } + } + }, + "express-session": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.15.6.tgz", + "integrity": "sha512-r0nrHTCYtAMrFwZ0kBzZEXa1vtPVrw0dKvGSrKP4dahwBQ1BJpF2/y1Pp4sCD/0kvxV4zZeclyvfmw0B4RMJQA==", + "requires": { + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "crc": "3.4.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "on-headers": "~1.0.1", + "parseurl": "~1.3.2", + "uid-safe": "~2.1.5", + "utils-merge": "1.0.1" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "falafel": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", + "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", + "requires": { + "acorn": "^5.0.0", + "foreach": "^2.0.5", + "isarray": "0.0.1", + "object-keys": "^1.0.6" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-extra": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", + "requires": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "generic-pool": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.4.2.tgz", + "integrity": "sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==" + }, + "get-uri": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz", + "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==", + "requires": { + "data-uri-to-buffer": "1", + "debug": "2", + "extend": "3", + "file-uri-to-path": "1", + "ftp": "~0.3.10", + "readable-stream": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "optional": true, + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "highlight.js": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", + "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==" + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "htmlparser2": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", + "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz", + "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inflection": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", + "integrity": "sha1-ogCTVlbW9fa8TcdQLhrstwMihBY=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "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" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-bluebird": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bluebird/-/is-bluebird-1.0.2.tgz", + "integrity": "sha1-CWQ5Bg9KpBGr7hkUOoTWpVNG1uI=" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "requires": { + "acorn": "~4.0.2", + "object-assign": "^4.0.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "js-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz", + "integrity": "sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow==", + "dev": true + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-12.2.0.tgz", + "integrity": "sha512-QPOggIJ8fquWPLaYYMoh+zqUmdphDtu1ju0QGTitZT1Yd8I5qenPpXM1etzUegu3MjVp8XPzgZxdn8Yj7e40ig==", + "requires": { + "abab": "^2.0.0", + "acorn": "^6.0.2", + "acorn-globals": "^4.3.0", + "array-equal": "^1.0.0", + "cssom": "^0.3.4", + "cssstyle": "^1.1.1", + "data-urls": "^1.0.1", + "domexception": "^1.0.1", + "escodegen": "^1.11.0", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.0.9", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.5", + "saxes": "^3.1.3", + "symbol-tree": "^3.2.2", + "tough-cookie": "^2.4.3", + "w3c-hr-time": "^1.0.1", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0", + "ws": "^6.1.0", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.2.tgz", + "integrity": "sha512-GXmKIvbrN3TV7aVqAzVFaMW8F8wzVX7voEBRO3bDA64+EX37YSayggRJP5Xig6HYHBkWKpFg9W5gg6orklubhg==" + }, + "escodegen": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", + "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + } + } + }, + "jsesc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "linkify-it": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", + "integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", + "requires": { + "uc.micro": "^1.0.1" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "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, + "optional": true + }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=" + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "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": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "magic-string": { + "version": "0.22.5", + "resolved": "http://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "requires": { + "vlq": "^0.2.2" + } + }, + "mailgun-js": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.18.1.tgz", + "integrity": "sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg==", + "requires": { + "async": "~2.6.0", + "debug": "~3.1.0", + "form-data": "~2.3.0", + "inflection": "~1.12.0", + "is-stream": "^1.1.0", + "path-proxy": "~1.0.0", + "promisify-call": "^2.0.2", + "proxy-agent": "~3.0.0", + "tsscmp": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memorystore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/memorystore/-/memorystore-1.6.0.tgz", + "integrity": "sha1-H7X7Xwsu3xrdGEkX6RjwlKn/NGU=", + "requires": { + "debug": "3.1.0", + "lru-cache": "^4.0.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-source-map": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", + "requires": { + "source-map": "^0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "requires": { + "mime-db": "~1.37.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "moment": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + }, + "moment-timezone": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.23.tgz", + "integrity": "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w==", + "requires": { + "moment": ">= 2.9.0" + } + }, + "morgan": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz", + "integrity": "sha512-HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==", + "requires": { + "basic-auth": "~2.0.0", + "debug": "2.6.9", + "depd": "~1.1.2", + "on-finished": "~2.3.0", + "on-headers": "~1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.1.tgz", + "integrity": "sha512-zzOLNRxzszwd+61JFuAo0fxdQfvku12aNJgnla0AQ+hHxFmfc/B7jBVuPr5Rmvu46Jze/iJrFpSOsD7afO8SDw==", + "requires": { + "append-field": "^1.0.0", + "busboy": "^0.2.11", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.1", + "on-finished": "^2.3.0", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + } + }, + "nan": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", + "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + }, + "netmask": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz", + "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=" + }, + "node-releases": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.2.tgz", + "integrity": "sha512-zP8Asfg13lG9KDAW85rylSxXBYvaSdtjMIYKHUk8c1fM8drmFwRqbSYKYD+UlNVPUvrceSvgLUKHMOWR5jPWQg==", + "dev": true, + "requires": { + "semver": "^5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "nodemailer": { + "version": "4.6.8", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.6.8.tgz", + "integrity": "sha512-A3s7EM/426OBIZbLHXq2KkgvmKbn2Xga4m4G+ZUA4IaZvG8PcZXrFh+2E4VaS2o+emhuUVRnzKN2YmpkXQ9qwA==" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "nwsapi": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.0.9.tgz", + "integrity": "sha512-nlWFSCTYQcHk/6A9FFnfhKc14c3aFhfdNBXgo8Qgi9QTBu/qg3Ww+Uiz9wMzXd1T8GFxPc2QIHB6Qtf2XFryFQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-inspect": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "output-file-sync": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", + "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "pac-proxy-agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-3.0.0.tgz", + "integrity": "sha512-AOUX9jES/EkQX2zRz0AW7lSx9jD//hQS8wFXBvcnd/J2Py9KaMJMqV/LPqJssj1tgGufotb2mmopGPR15ODv1Q==", + "requires": { + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "get-uri": "^2.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "pac-resolver": "^3.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "^4.0.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "pac-resolver": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-3.0.0.tgz", + "integrity": "sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA==", + "requires": { + "co": "^4.6.0", + "degenerator": "^1.0.4", + "ip": "^1.1.5", + "netmask": "^1.0.6", + "thunkify": "^2.1.2" + } + }, + "packet-reader": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-0.3.1.tgz", + "integrity": "sha1-zWLmCvjX/qinBexP+ZCHHEaHHyc=" + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true, + "optional": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "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==" + }, + "path-proxy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz", + "integrity": "sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4=", + "requires": { + "inflection": "~1.3.0" + }, + "dependencies": { + "inflection": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz", + "integrity": "sha1-y9Fg2p91sUw8xjV41POWeEvzAU4=" + } + } + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pg": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-7.6.0.tgz", + "integrity": "sha512-INUjsobS7O0Slad6fVlSSSVpMd5wozwtdSrWL5/JfEGYCWtPwgka0uQOf2KCo7QbWUmwefcuNQtzijeztDquQg==", + "requires": { + "buffer-writer": "1.0.1", + "packet-reader": "0.3.1", + "pg-connection-string": "0.1.3", + "pg-pool": "~2.0.3", + "pg-types": "~1.12.1", + "pgpass": "1.x", + "semver": "4.3.2" + } + }, + "pg-connection-string": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz", + "integrity": "sha1-2hhHsglA5C7hSSvq9l1J2RskXfc=" + }, + "pg-hstore": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/pg-hstore/-/pg-hstore-2.3.2.tgz", + "integrity": "sha1-9+8FPnubiSrphq8vfL6GQy388k8=", + "requires": { + "underscore": "^1.7.0" + } + }, + "pg-pool": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.3.tgz", + "integrity": "sha1-wCIDLIlJ8xKk+R+2QJzgQHa+Mlc=" + }, + "pg-types": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-1.12.1.tgz", + "integrity": "sha1-1kCH45A7WP+q0nnnWVxSIIoUw9I=", + "requires": { + "postgres-array": "~1.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.0", + "postgres-interval": "^1.1.0" + } + }, + "pgpass": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.2.tgz", + "integrity": "sha1-Knu0G2BltnkH6R2hsHwYR8h3swY=", + "requires": { + "split": "^1.0.0" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postgres-array": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-1.0.3.tgz", + "integrity": "sha512-5wClXrAP0+78mcsNX3/ithQ5exKvCyK5lr5NEEEeGwwM6NJdQgzIJBVxLvRW+huFpX92F2QnZ5CcokH0VhK2qQ==" + }, + "postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=" + }, + "postgres-date": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.3.tgz", + "integrity": "sha1-4tiXAu/bJY/52c7g/pG9BpdSV6g=" + }, + "postgres-interval": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.1.2.tgz", + "integrity": "sha512-fC3xNHeTskCxL1dC8KOtxXt7YeFmlbTYtn7ul8MkVERuTmf7pI4DrkAxcw3kh1fQ9uz4wQmd03a1mRiXUZChfQ==", + "requires": { + "xtend": "^4.0.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prismjs": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.15.0.tgz", + "integrity": "sha512-Lf2JrFYx8FanHrjoV5oL8YHCclLQgbJcVZR+gikGGMqz6ub5QVWDTM6YIwm3BuPxM/LOV+rKns3LssXNLIf+DA==", + "requires": { + "clipboard": "^2.0.0" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promisify-call": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/promisify-call/-/promisify-call-2.0.4.tgz", + "integrity": "sha1-1IwtRWUszM1SgB3ey9UzptS9X7o=", + "requires": { + "with-callback": "^1.0.2" + } + }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.8.0" + } + }, + "proxy-agent": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-3.0.3.tgz", + "integrity": "sha512-PXVVVuH9tiQuxQltFJVSnXWuDtNr+8aNBP6XVDDCDiUuDN8eRCm+ii4/mFWmXWEA0w8jjJSlePa4LXlM4jIzNA==", + "requires": { + "agent-base": "^4.2.0", + "debug": "^3.1.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "lru-cache": "^4.1.2", + "pac-proxy-agent": "^3.0.0", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^4.0.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" + }, + "pug": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.3.tgz", + "integrity": "sha1-ccuoJTfJWl6rftBGluQiH1Oqh44=", + "requires": { + "pug-code-gen": "^2.0.1", + "pug-filters": "^3.1.0", + "pug-lexer": "^4.0.0", + "pug-linker": "^3.0.5", + "pug-load": "^2.0.11", + "pug-parser": "^5.0.0", + "pug-runtime": "^2.0.4", + "pug-strip-comments": "^1.0.3" + } + }, + "pug-attrs": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.3.tgz", + "integrity": "sha1-owlflw5kFR972tlX7vVftdeQXRU=", + "requires": { + "constantinople": "^3.0.1", + "js-stringify": "^1.0.1", + "pug-runtime": "^2.0.4" + } + }, + "pug-code-gen": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.1.tgz", + "integrity": "sha1-CVHsgyJddNjPxHan+Zolm199BQw=", + "requires": { + "constantinople": "^3.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.1", + "pug-attrs": "^2.0.3", + "pug-error": "^1.3.2", + "pug-runtime": "^2.0.4", + "void-elements": "^2.0.1", + "with": "^5.0.0" + } + }, + "pug-error": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.2.tgz", + "integrity": "sha1-U659nSm7A89WRJOgJhCfVMR/XyY=" + }, + "pug-filters": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.0.tgz", + "integrity": "sha1-JxZVVbwEwjbkqisDZiRt+gIbYm4=", + "requires": { + "clean-css": "^4.1.11", + "constantinople": "^3.0.1", + "jstransformer": "1.0.0", + "pug-error": "^1.3.2", + "pug-walk": "^1.1.7", + "resolve": "^1.1.6", + "uglify-js": "^2.6.1" + } + }, + "pug-lexer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.0.0.tgz", + "integrity": "sha1-IQwYRX7y4XYCQnQMXmR715TOwng=", + "requires": { + "character-parser": "^2.1.1", + "is-expression": "^3.0.0", + "pug-error": "^1.3.2" + } + }, + "pug-linker": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.5.tgz", + "integrity": "sha1-npp65ABWgtAn3uuWsAD4juuDoC8=", + "requires": { + "pug-error": "^1.3.2", + "pug-walk": "^1.1.7" + } + }, + "pug-load": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.11.tgz", + "integrity": "sha1-5kjlftET/iwfRdV4WOorrWvAFSc=", + "requires": { + "object-assign": "^4.1.0", + "pug-walk": "^1.1.7" + } + }, + "pug-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.0.tgz", + "integrity": "sha1-45Stmz/KkxI5QK/4hcBuRKt+aOQ=", + "requires": { + "pug-error": "^1.3.2", + "token-stream": "0.0.1" + } + }, + "pug-runtime": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.4.tgz", + "integrity": "sha1-4XjhvaaKsujArPybztLFT9iM61g=" + }, + "pug-strip-comments": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.3.tgz", + "integrity": "sha1-8VWVkiBu3G+FMQ2s9K+0igJa9Z8=", + "requires": { + "pug-error": "^1.3.2" + } + }, + "pug-walk": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.7.tgz", + "integrity": "sha1-wA1cUSi6xYBr7BXSt+fNq+QlMfM=" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "quote-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", + "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", + "requires": { + "buffer-equal": "0.0.1", + "minimist": "^1.1.3", + "through2": "^2.0.0" + } + }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "reframe.js": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/reframe.js/-/reframe.js-2.2.4.tgz", + "integrity": "sha512-hewOLpdQNCPTmEkxfOfSjAhhRs/IU2OKunK2CNkGbAUZjP8K2vxsp5667jvyOp7t6g/4kKRbnD1ffJINszvN1w==" + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz", + "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "regenerator-transform": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpu-core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz", + "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^7.0.0", + "regjsgen": "^0.4.0", + "regjsparser": "^0.3.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.0.2" + } + }, + "regjsgen": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz", + "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==", + "dev": true + }, + "regjsparser": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz", + "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "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==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise-core": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", + "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", + "requires": { + "lodash": "^4.13.1" + } + }, + "request-promise-native": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.5.tgz", + "integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=", + "requires": { + "request-promise-core": "1.1.1", + "stealthy-require": "^1.1.0", + "tough-cookie": ">=2.3.3" + } + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry-as-promised": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-2.3.2.tgz", + "integrity": "sha1-zZdO5P2bX+A8vzGHHuSCIcB3N7c=", + "requires": { + "bluebird": "^3.4.6", + "debug": "^2.6.9" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sanitize-html": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.19.1.tgz", + "integrity": "sha512-zNYr6FvBn4bZukr9x2uny6od/9YdjCLwF+FqxivqI0YOt/m9GIxfX+tWhm52tBAPUXiTTb4bJTGVagRz5b06bw==", + "requires": { + "chalk": "^2.3.0", + "htmlparser2": "^3.9.0", + "lodash.clonedeep": "^4.5.0", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.mergewith": "^4.6.0", + "postcss": "^6.0.14", + "srcset": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "saxes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.3.tgz", + "integrity": "sha512-Nc5DXc5A+m3rUDtkS+vHlBWKT7mCKjJPyia7f8YMW773hsXVv2wEHQZGE0zs4+5PLwz9U5Sbl/94Cnd9vHV7Bg==", + "requires": { + "xmlchars": "^1.3.1" + } + }, + "scramble-text": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/scramble-text/-/scramble-text-0.0.8.tgz", + "integrity": "sha1-io6pbtN0G4WpKgSCQuniBxyePLE=", + "dev": true + }, + "scrape-metadata": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/scrape-metadata/-/scrape-metadata-2.0.0.tgz", + "integrity": "sha1-fr9sO14F211ZzX6I/G8auTuIL/4=", + "requires": { + "htmlparser2": "3.9.2", + "request": "2.81.0" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "requires": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + } + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + } + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "requires": { + "punycode": "^1.4.1" + } + } + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "optional": true + }, + "semver": { + "version": "4.3.2", + "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.2.tgz", + "integrity": "sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c=" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + } + } + }, + "sequelize": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-4.41.0.tgz", + "integrity": "sha512-6zCYxjPriUBgLQ5dN4ZxC5eadUtRu2tHFoBiSU9vNGb6G3f4bZM6vFpJu0DhxeeyhodTAXqY1GaBpZzT3PXB/Q==", + "requires": { + "bluebird": "^3.5.0", + "cls-bluebird": "^2.1.0", + "debug": "^3.1.0", + "depd": "^1.1.0", + "dottie": "^2.0.0", + "generic-pool": "^3.4.0", + "inflection": "1.12.0", + "lodash": "^4.17.1", + "moment": "^2.20.0", + "moment-timezone": "^0.5.14", + "retry-as-promised": "^2.3.2", + "semver": "^5.5.0", + "terraformer-wkt-parser": "^1.1.2", + "toposort-class": "^1.0.1", + "uuid": "^3.2.1", + "validator": "^10.4.0", + "wkx": "^0.4.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + } + } + }, + "serve-favicon": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", + "integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=", + "requires": { + "etag": "~1.8.1", + "fresh": "0.5.2", + "ms": "2.1.1", + "parseurl": "~1.3.2", + "safe-buffer": "5.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + } + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=" + }, + "shimmer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.0.tgz", + "integrity": "sha512-xTCx2vohXC2EWWDqY/zb4+5Mu28D+HYNSOuFzsyRDRvI/e1ICb69afwaUwfjr+25ZXldbOLyp+iDUZHq8UnTag==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "smart-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz", + "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==" + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "requires": { + "hoek": "2.x.x" + } + }, + "socks": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz", + "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==", + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.0.1" + } + }, + "socks-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", + "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", + "requires": { + "agent-base": "~4.2.0", + "socks": "~2.2.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "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=", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "srcset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-1.0.0.tgz", + "integrity": "sha1-pWad4StC87HV6D7QPHEEb8SPQe8=", + "requires": { + "array-uniq": "^1.0.2", + "number-is-nan": "^1.0.0" + } + }, + "sshpk": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "static-eval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.0.tgz", + "integrity": "sha512-6flshd3F1Gwm+Ksxq463LtFd1liC77N/PX1FVVc3OzL3hAmo2fwHFbuArkcfi7s9rTNsLEhcRmXGFZhlgy40uw==", + "requires": { + "escodegen": "^1.8.1" + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "static-module": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", + "requires": { + "concat-stream": "~1.6.0", + "convert-source-map": "^1.5.1", + "duplexer2": "~0.1.4", + "escodegen": "~1.9.0", + "falafel": "^2.1.0", + "has": "^1.0.1", + "magic-string": "^0.22.4", + "merge-source-map": "1.0.4", + "object-inspect": "~1.4.0", + "quote-stream": "~1.0.2", + "readable-stream": "~2.3.3", + "shallow-copy": "~0.0.1", + "static-eval": "^2.0.0", + "through2": "~2.0.3" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=" + }, + "terraformer": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/terraformer/-/terraformer-1.0.9.tgz", + "integrity": "sha512-YlmQ1fsMWTkKGDGibCRWgmLzrpDRUr63Q025LJ/taYQ6j1Yb8q9McKF7NBi6ACAyUXO6F/bl9w6v4MY307y5Ag==", + "requires": { + "@types/geojson": "^1.0.0" + } + }, + "terraformer-wkt-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.0.tgz", + "integrity": "sha512-QU3iA54St5lF8Za1jg1oj4NYc8sn5tCZ08aNSWDeGzrsaV48eZk1iAVWasxhNspYBoCqdHuoot1pUTUrE1AJ4w==", + "requires": { + "@types/geojson": "^1.0.0", + "terraformer": "~1.0.5" + } + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "thunkify": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", + "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" + }, + "tiny-date-picker": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/tiny-date-picker/-/tiny-date-picker-3.2.6.tgz", + "integrity": "sha512-SX72rn7Hjr8tqy6OGFjQe8Fs0wnPdT6tqpzBbTWRNHM2p3n1DVsC8YHmYbwoyu7vzTXnCGCw4ShWbmM7nE7ByQ==" + }, + "tiny-emitter": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", + "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==", + "optional": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" + }, + "toposort-class": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", + "integrity": "sha1-f/0feMi+KMO6Rc1OGj9e4ZO9mYg=" + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "requires": { + "punycode": "^2.1.0" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uc.micro": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", + "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==" + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "requires": { + "random-bytes": "~1.0.0" + } + }, + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz", + "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz", + "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true, + "optional": true + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "validator": { + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.8.0.tgz", + "integrity": "sha512-mXqMxfCh5NLsVgYVKl9WvnHNDPCcbNppHSPPowu0VjtSsGWVY+z8hJF44edLR1nbLNzi3jYoYsIl8KZpioIk6g==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "requires": { + "browser-process-hrtime": "^0.1.2" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-mimetype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.2.0.tgz", + "integrity": "sha512-5YSO1nMd5D1hY3WzAQV3PzZL83W3YeyR1yW9PcH26Weh1t+Vzh9B6XkDh7aXm83HBZ4nSMvkjvN2H2ySWIvBgw==" + }, + "whatwg-url": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", + "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", + "requires": { + "acorn": "^3.1.0", + "acorn-globals": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "requires": { + "acorn": "^4.0.4" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + } + } + }, + "with-callback": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/with-callback/-/with-callback-1.0.2.tgz", + "integrity": "sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE=" + }, + "wkx": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.5.tgz", + "integrity": "sha512-01dloEcJZAJabLO5XdcRgqdKpmnxS0zIT02LhkdWOZX2Zs2tPM6hlZ4XG9tWaWur1Qd1OO4kJxUbe2+5BofvnA==", + "requires": { + "@types/node": "*" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz", + "integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-1.3.1.tgz", + "integrity": "sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw==" + }, + "xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } +} diff --git a/package.json b/package.json index aecd787..d4f4ccd 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.5", "private": true, "description": "The most chill blog framework ever.", - "repository": "https://code.playvicio.us/Are0h/thetwelfthhouse", + "repository": "https://code.playvicio.us/Are0h/Fipamo", "theme": "default", "scripts": { "start": "forever start init.js", @@ -49,6 +49,7 @@ "scrape-metadata": "^2.0.0", "sequelize": "^4.37.6", "serve-favicon": "latest", + "tiny-date-picker": "^3.2.6", "uuid": "^3.2.1" }, "devDependencies": { diff --git a/themes/dash/assets/css/dash.css b/themes/dash/assets/css/dash.css index 06803fd..02d8f5d 100644 --- a/themes/dash/assets/css/dash.css +++ b/themes/dash/assets/css/dash.css @@ -2268,6 +2268,7 @@ select { padding: 5px; border-radius: 5px; background: rgba(137,126,113,0.75); + z-index: 2000; } #edit-control button { margin: 5px; @@ -2325,6 +2326,315 @@ select { text-decoration: line-through; font-style: italic; } +.dp-modal { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(46,42,38,0.75); + z-index: 2000; +} +.dp { + position: relative; + background: #968c80; + box-shadow: 2px 2px 16px rgba(0,0,0,0.25); + line-height: 1.4; + border-radius: 4px; + max-height: 400px; + z-index: 5000; + padding-top: 6px; + overflow: hidden; + -webkit-tap-highlight-color: transparent; +} +.dp:before { + content: ' '; + height: 6px; + position: absolute; + top: 0; + left: 0; + right: 0; + background: #cd898d; +} +.dp-permanent .dp { + padding-top: 0; + border: 1px solid #eee; + box-shadow: none; +} +.dp-permanent .dp:before { + display: none; +} +.dp-cal { + min-height: 300px; +} +.dp-below { + position: absolute; + font-size: 0.8em; + width: 400px; + max-width: 100vw; +} +.dp-permanent { + position: relative; + font-size: 0.8em; + width: 400px; + max-width: 100vw; +} +.dp-permanent .dp { + z-index: 0; +} +.dp-modal .dp { + position: absolute; + top: 50%; + left: 50%; + max-width: 600px; + width: calc(100% - 4em); + transform: translate(-50%, -50%); + animation: slide-up 0.3s forwards; +} +.dp-months { + padding: 24px; +} +.dp-years { + box-sizing: border-box; + max-height: 400px; + padding: 8px 0; + overflow: auto !important /* HACK for Chrome on Android */; +} +.dp-cal-month, +.dp-cal-year, +.dp-day, +.dp-month, +.dp-year { + box-sizing: border-box; + text-align: center; + text-decoration: none; + position: relative; + color: #eee; + border-radius: 2px; + border: 0; + background: transparent; +} +.dp-cal-header { + position: relative; + text-align: center; + padding-bottom: 16px; + background: #897e71; +} +.dp-next, +.dp-prev { + position: absolute; + width: 30px; + height: 30px; + overflow: hidden; + top: 14px; + color: #4c463f; + border-radius: 2px; + border: 0; + background: transparent; +} +.dp-next:focus, +.dp-prev:focus, +.dp-next:hover, +.dp-prev:hover { + outline: none; + color: inherit; +} +.dp-prev { + left: 24px; +} +.dp-next { + right: 24px; +} +.dp-prev:before, +.dp-next:before { + content: ''; + border: 2px solid; + width: 10px; + height: 10px; + display: inline-block; + transform: rotate(-45deg); + transition: border-color 0.2s; + margin: 9px 0 40px 4px; +} +.dp-prev:before { + border-right: 0; + border-bottom: 0; +} +.dp-next:before { + border-left: 0; + border-top: 0; + margin-left: 0; + margin-right: 4px; +} +.dp-cal-month, +.dp-cal-year { + display: inline-block; + font-size: 1.4em; + padding: 16px 8px 8px; + outline: none; +} +.dp-cal-footer { + text-align: center; + background: #897e71; +} +.dp-day-today:after { + content: ''; + height: 0; + width: 0; + border: 7px solid #cd898d; + border-bottom-color: transparent; + border-left-color: transparent; + position: absolute; + top: 0; + right: 0; +} +.dp-close, +.dp-clear, +.dp-today { + box-sizing: border-box; + display: inline-block; + width: 33%; + padding: 8px; + text-decoration: none; + color: #4c463f; + border: 0; + background: transparent; +} +.dp-permanent .dp-close, +.dp-permanent .dp-clear { + display: none; +} +.dp-close:active, +.dp-clear:active, +.dp-today:active, +.dp-next:active, +.dp-prev:active, +.dp-cal-month:active, +.dp-cal-year:active { + background: #cd898d; + color: #eee; +} +@media screen and (min-device-width: 1200px) { + .dp-close:hover, + .dp-close:focus, + .dp-clear:hover, + .dp-clear:focus, + .dp-today:hover, + .dp-today:focus, + .dp-next:hover, + .dp-next:focus, + .dp-prev:hover, + .dp-prev:focus, + .dp-cal-month:focus, + .dp-cal-month:hover, + .dp-cal-year:hover, + .dp-cal-year:focus { + background: #cd898d; + color: #eee; + } +} +.dp-col-header, +.dp-day { + width: 14.28571429%; + display: inline-block; + padding: 8px; + text-align: center; +} +.dp-col-header { + color: #aaa; + text-transform: uppercase; + font-weight: 300; + font-size: 0.8em; + padding: 8px 0; +} +.dp-month { + width: 33%; + display: inline-block; + padding: 8px; +} +.dp-year { + display: block; + padding: 8px 40px; + width: 100%; +} +.dp-edge-day { + color: #aaa; +} +.dp-day:hover, +.dp-month:hover, +.dp-year:hover, +.dp-current:focus, +.dp-current, +.dp-day:focus, +.dp-month:focus, +.dp-year:focus { + outline: none; + background: #7c4a3e; + color: #eee; +} +.dp-selected:hover, +.dp-selected:focus, +.dp-selected { + background: #643c32; + color: #eee; +} +.dp-day-disabled { + background: transparent; + color: #ddd; +} +.dp-day-disabled:focus, +.dp-day-disabled:hover { + background: #ddd; +} +.dp-focuser { + position: absolute; + z-index: 0; + top: 50%; + left: 50%; +} +@media (max-width: 480px), (max-height: 480px) { + .dp-modal .dp { + font-size: 0.9em; + width: auto; + width: 100%; + } + .dp-day-of-week, + .dp-day { + padding: 8px; + } +} +@-moz-keyframes slide-up { + 0% { + transform: translate(-50%, 100%); + } + 100% { + transform: translate(-50%, -50%); + } +} +@-webkit-keyframes slide-up { + 0% { + transform: translate(-50%, 100%); + } + 100% { + transform: translate(-50%, -50%); + } +} +@-o-keyframes slide-up { + 0% { + transform: translate(-50%, 100%); + } + 100% { + transform: translate(-50%, -50%); + } +} +@keyframes slide-up { + 0% { + transform: translate(-50%, 100%); + } + 100% { + transform: translate(-50%, -50%); + } +} .hljs { display: block; overflow-x: auto; diff --git a/themes/dash/assets/css/dash.css.map b/themes/dash/assets/css/dash.css.map index 587e614..bf70a98 100644 --- a/themes/dash/assets/css/dash.css.map +++ b/themes/dash/assets/css/dash.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/styles/dash.styl","../../../../node_modules/bulma.styl/stylus/utilities/animations.styl","../../../../node_modules/bulma.styl/stylus/grid/columns.styl","../../../../node_modules/bulma.styl/stylus/utilities/mixins.styl","../../src/styles/main/_normalize.styl","../../src/styles/main/_typography.styl","../../src/styles/main/_structure.styl","../../src/styles/main/_mixins.styl","../../src/styles/main/_index.styl","../../src/styles/main/_settings.styl","../../src/styles/main/_fipamo.styl","../../src/styles/main/_folio.styl","../../src/styles/main/_forms.styl","../../src/styles/main/_entries.styl","../../src/styles/main/_editor.styl","../../src/styles/main/_editor-highlight.styl"],"names":[],"mappings":"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","file":"dash.css"} \ No newline at end of file +{"version":3,"sources":["../../src/styles/dash.styl","../../../../node_modules/bulma.styl/stylus/utilities/animations.styl","../../../../node_modules/bulma.styl/stylus/grid/columns.styl","../../../../node_modules/bulma.styl/stylus/utilities/mixins.styl","../../src/styles/main/_normalize.styl","../../src/styles/main/_typography.styl","../../src/styles/main/_structure.styl","../../src/styles/main/_mixins.styl","../../src/styles/main/_index.styl","../../src/styles/main/_settings.styl","../../src/styles/main/_fipamo.styl","../../src/styles/main/_folio.styl","../../src/styles/main/_forms.styl","../../src/styles/main/_entries.styl","../../src/styles/main/_editor.styl","../../src/styles/main/_editor-highlight.styl"],"names":[],"mappings":"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","file":"dash.css"} \ No newline at end of file diff --git a/themes/dash/assets/js/dash.min.js b/themes/dash/assets/js/dash.min.js index 0aa7b93..ddafc2e 100644 --- a/themes/dash/assets/js/dash.min.js +++ b/themes/dash/assets/js/dash.min.js @@ -748,7 +748,1212 @@ function () { }(); exports.default = EntryTasks; -},{"../tools/utilities/DataUtils":"tools/utilities/DataUtils.jsx","../tools/events/DataEvent":"tools/events/DataEvent.jsx","../tools/utilities/StringUtils":"tools/utilities/StringUtils.jsx"}],"../../../../node_modules/caret-pos/lib/esm2015/main.js":[function(require,module,exports) { +},{"../tools/utilities/DataUtils":"tools/utilities/DataUtils.jsx","../tools/events/DataEvent":"tools/events/DataEvent.jsx","../tools/utilities/StringUtils":"tools/utilities/StringUtils.jsx"}],"../../../../node_modules/tiny-date-picker/dist/tiny-date-picker.js":[function(require,module,exports) { +var define; +var global = arguments[3]; +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.TinyDatePicker = factory()); +}(this, (function () { 'use strict'; + + /** + * @file A generic set of mutation-free date functions. + */ + + /** + * now returns the current date without any time values + * + * @returns {Date} + */ + function now() { + var dt = new Date(); + dt.setHours(0, 0, 0, 0); + return dt; + } + + /** + * dateEq compares two dates + * + * @param {Date} date1 the first date + * @param {Date} date2 the second date + * @returns {boolean} + */ + function datesEq(date1, date2) { + return (date1 && date1.toDateString()) === (date2 && date2.toDateString()); + } + + /** + * shiftDay shifts the specified date by n days + * + * @param {Date} dt + * @param {number} n + * @returns {Date} + */ + function shiftDay(dt, n) { + dt = new Date(dt); + dt.setDate(dt.getDate() + n); + return dt; + } + + /** + * shiftMonth shifts the specified date by a specified number of months + * + * @param {Date} dt + * @param {number} n + * @param {boolean} wrap optional, if true, does not change year + * value, defaults to false + * @returns {Date} + */ + function shiftMonth(dt, n, wrap) { + dt = new Date(dt); + + var dayOfMonth = dt.getDate(); + var month = dt.getMonth() + n; + + dt.setDate(1); + dt.setMonth(wrap ? (12 + month) % 12 : month); + dt.setDate(dayOfMonth); + + // If dayOfMonth = 31, but the target month only has 30 or 29 or whatever... + // head back to the max of the target month + if (dt.getDate() < dayOfMonth) { + dt.setDate(0); + } + + return dt; + } + + /** + * shiftYear shifts the specified date by n years + * + * @param {Date} dt + * @param {number} n + * @returns {Date} + */ + function shiftYear(dt, n) { + dt = new Date(dt); + dt.setFullYear(dt.getFullYear() + n); + return dt; + } + + /** + * setYear changes the specified date to the specified year + * + * @param {Date} dt + * @param {number} year + */ + function setYear(dt, year) { + dt = new Date(dt); + dt.setFullYear(year); + return dt; + } + + /** + * setMonth changes the specified date to the specified month + * + * @param {Date} dt + * @param {number} month + */ + function setMonth(dt, month) { + return shiftMonth(dt, month - dt.getMonth()); + } + + /** + * dateOrParse creates a function which, given a date or string, returns a date + * + * @param {function} parse the function used to parse strings + * @returns {function} + */ + function dateOrParse(parse) { + return function (dt) { + return dropTime(typeof dt === 'string' ? parse(dt) : dt); + }; + } + + /** + * constrainDate returns dt or min/max depending on whether dt is out of bounds (inclusive) + * + * @export + * @param {Date} dt + * @param {Date} min + * @param {Date} max + * @returns {Date} + */ + function constrainDate(dt, min, max) { + return (dt < min) ? min : + (dt > max) ? max : + dt; + } + + function dropTime(dt) { + dt = new Date(dt); + dt.setHours(0, 0, 0, 0); + return dt; + } + + /** + * @file Utility functions for function manipulation. + */ + + /** + * bufferFn buffers calls to fn so they only happen every ms milliseconds + * + * @param {number} ms number of milliseconds + * @param {function} fn the function to be buffered + * @returns {function} + */ + function bufferFn(ms, fn) { + var timeout = undefined; + return function () { + clearTimeout(timeout); + timeout = setTimeout(fn, ms); + }; + } + + /** + * noop is a function which does nothing at all. + */ + function noop() { } + + /** + * copy properties from object o2 to object o1. + * + * @params {Object} o1 + * @params {Object} o2 + * @returns {Object} + */ + function cp() { + var args = arguments; + var o1 = args[0]; + for (var i = 1; i < args.length; ++i) { + var o2 = args[i] || {}; + for (var key in o2) { + o1[key] = o2[key]; + } + } + return o1; + } + + /** + * @file Responsible for sanitizing and creating date picker options. + */ + + var english = { + days: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + today: 'Today', + clear: 'Clear', + close: 'Close', + }; + + /** + * DatePickerOptions constructs a new date picker options object, overriding + * default values with any values specified in opts. + * + * @param {DatePickerOptions} opts + * @returns {DatePickerOptions} + */ + function DatePickerOptions(opts) { + opts = opts || {}; + opts = cp(defaults(), opts); + var parse = dateOrParse(opts.parse); + opts.lang = cp(english, opts.lang); + opts.parse = parse; + opts.inRange = makeInRangeFn(opts); + opts.min = parse(opts.min || shiftYear(now(), -100)); + opts.max = parse(opts.max || shiftYear(now(), 100)); + opts.hilightedDate = opts.parse(opts.hilightedDate); + + return opts; + } + + function defaults() { + return { + lang: english, + + // Possible values: dp-modal, dp-below, dp-permanent + mode: 'dp-modal', + + // The date to hilight initially if the date picker has no + // initial value. + hilightedDate: now(), + + format: function (dt) { + return (dt.getMonth() + 1) + '/' + dt.getDate() + '/' + dt.getFullYear(); + }, + + parse: function (str) { + var date = new Date(str); + return isNaN(date) ? now() : date; + }, + + dateClass: function () { }, + + inRange: function () { + return true; + } + }; + } + + function makeInRangeFn(opts) { + var inRange = opts.inRange; // Cache this version, and return a variant + + return function (dt, dp) { + return inRange(dt, dp) && opts.min <= dt && opts.max >= dt; + }; + } + + /** + * @file Helper functions for dealing with dom elements. + */ + + var Key = { + left: 37, + up: 38, + right: 39, + down: 40, + enter: 13, + esc: 27, + }; + + /** + * on attaches an event handler to the specified element, and returns an + * off function which can be used to remove the handler. + * + * @param {string} evt the name of the event to handle + * @param {HTMLElement} el the element to attach to + * @param {function} handler the event handler + * @returns {function} the off function + */ + function on(evt, el, handler) { + el.addEventListener(evt, handler, true); + + return function () { + el.removeEventListener(evt, handler, true); + }; + } + + var CustomEvent = shimCustomEvent(); + + function shimCustomEvent() { + var CustomEvent = window.CustomEvent; + + if (typeof CustomEvent !== 'function') { + CustomEvent = function (event, params) { + params = params || {bubbles: false, cancelable: false, detail: undefined}; + var evt = document.createEvent('CustomEvent'); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + return evt; + }; + + CustomEvent.prototype = window.Event.prototype; + } + + return CustomEvent; + } + + /** + * @file Manages the calendar / day-picker view. + */ + + var dayPicker = { + onKeyDown: keyDown, + onClick: { + 'dp-day': selectDay, + 'dp-next': gotoNextMonth, + 'dp-prev': gotoPrevMonth, + 'dp-today': selectToday, + 'dp-clear': clear, + 'dp-close': close, + 'dp-cal-month': showMonthPicker, + 'dp-cal-year': showYearPicker, + }, + render: render + }; + + /** + * view renders the calendar (day picker) as an HTML string. + * + * @param {DatePickerContext} context the date picker being rendered + * @returns {string} + */ + function render(dp) { + var opts = dp.opts; + var lang = opts.lang; + var state = dp.state; + var dayNames = lang.days; + var dayOffset = opts.dayOffset || 0; + var selectedDate = state.selectedDate; + var hilightedDate = state.hilightedDate; + var hilightedMonth = hilightedDate.getMonth(); + var today = now().getTime(); + + return ( + '
' + + '
' + + '' + + '' + + '' + + '' + + '
' + + '
' + + dayNames.map(function (name, i) { + return ( + '' + dayNames[(i + dayOffset) % dayNames.length] + '' + ); + }).join('') + + mapDays(hilightedDate, dayOffset, function (date) { + var isNotInMonth = date.getMonth() !== hilightedMonth; + var isDisabled = !opts.inRange(date); + var isToday = date.getTime() === today; + var className = 'dp-day'; + className += (isNotInMonth ? ' dp-edge-day' : ''); + className += (datesEq(date, hilightedDate) ? ' dp-current' : ''); + className += (datesEq(date, selectedDate) ? ' dp-selected' : ''); + className += (isDisabled ? ' dp-day-disabled' : ''); + className += (isToday ? ' dp-day-today' : ''); + className += ' ' + opts.dateClass(date, dp); + + return ( + '' + ); + }) + + '
' + + '
' + + '' + + '' + + '' + + '
' + + '
' + ); + } + + /** + * keyDown handles the key down event for the day-picker + * + * @param {Event} e + * @param {DatePickerContext} dp + */ + function keyDown(e, dp) { + var key = e.keyCode; + var shiftBy = + (key === Key.left) ? -1 : + (key === Key.right) ? 1 : + (key === Key.up) ? -7 : + (key === Key.down) ? 7 : + 0; + + if (key === Key.esc) { + dp.close(); + } else if (shiftBy) { + e.preventDefault(); + dp.setState({ + hilightedDate: shiftDay(dp.state.hilightedDate, shiftBy) + }); + } + } + + function selectToday(e, dp) { + dp.setState({ + selectedDate: now(), + }); + } + + function clear(e, dp) { + dp.setState({ + selectedDate: null, + }); + } + + function close(e, dp) { + dp.close(); + } + + function showMonthPicker(e, dp) { + dp.setState({ + view: 'month' + }); + } + + function showYearPicker(e, dp) { + dp.setState({ + view: 'year' + }); + } + + function gotoNextMonth(e, dp) { + var hilightedDate = dp.state.hilightedDate; + dp.setState({ + hilightedDate: shiftMonth(hilightedDate, 1) + }); + } + + function gotoPrevMonth(e, dp) { + var hilightedDate = dp.state.hilightedDate; + dp.setState({ + hilightedDate: shiftMonth(hilightedDate, -1) + }); + } + + function selectDay(e, dp) { + dp.setState({ + selectedDate: new Date(parseInt(e.target.getAttribute('data-date'))), + }); + } + + function mapDays(currentDate, dayOffset, fn) { + var result = ''; + var iter = new Date(currentDate); + iter.setDate(1); + iter.setDate(1 - iter.getDay() + dayOffset); + + // If we are showing monday as the 1st of the week, + // and the monday is the 2nd of the month, the sunday won't + // show, so we need to shift backwards + if (dayOffset && iter.getDate() === dayOffset + 1) { + iter.setDate(dayOffset - 6); + } + + // We are going to have 6 weeks always displayed to keep a consistent + // calendar size + for (var day = 0; day < (6 * 7); ++day) { + result += fn(iter); + iter.setDate(iter.getDate() + 1); + } + + return result; + } + + /** + * @file Manages the month-picker view. + */ + + var monthPicker = { + onKeyDown: keyDown$1, + onClick: { + 'dp-month': onChooseMonth + }, + render: render$1 + }; + + function onChooseMonth(e, dp) { + dp.setState({ + hilightedDate: setMonth(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-month'))), + view: 'day', + }); + } + + /** + * render renders the month picker as an HTML string + * + * @param {DatePickerContext} dp the date picker context + * @returns {string} + */ + function render$1(dp) { + var opts = dp.opts; + var lang = opts.lang; + var months = lang.months; + var currentDate = dp.state.hilightedDate; + var currentMonth = currentDate.getMonth(); + + return ( + '
' + + months.map(function (month, i) { + var className = 'dp-month'; + className += (currentMonth === i ? ' dp-current' : ''); + + return ( + '' + ); + }).join('') + + '
' + ); + } + + /** + * keyDown handles keydown events that occur in the month picker + * + * @param {Event} e + * @param {DatePickerContext} dp + */ + function keyDown$1(e, dp) { + var key = e.keyCode; + var shiftBy = + (key === Key.left) ? -1 : + (key === Key.right) ? 1 : + (key === Key.up) ? -3 : + (key === Key.down) ? 3 : + 0; + + if (key === Key.esc) { + dp.setState({ + view: 'day', + }); + } else if (shiftBy) { + e.preventDefault(); + dp.setState({ + hilightedDate: shiftMonth(dp.state.hilightedDate, shiftBy, true) + }); + } + } + + /** + * @file Manages the year-picker view. + */ + + var yearPicker = { + render: render$2, + onKeyDown: keyDown$2, + onClick: { + 'dp-year': onChooseYear + }, + }; + + /** + * view renders the year picker as an HTML string. + * + * @param {DatePickerContext} dp the date picker context + * @returns {string} + */ + function render$2(dp) { + var state = dp.state; + var currentYear = state.hilightedDate.getFullYear(); + var selectedYear = state.selectedDate.getFullYear(); + + return ( + '
' + + mapYears(dp, function (year) { + var className = 'dp-year'; + className += (year === currentYear ? ' dp-current' : ''); + className += (year === selectedYear ? ' dp-selected' : ''); + + return ( + '' + ); + }) + + '
' + ); + } + + function onChooseYear(e, dp) { + dp.setState({ + hilightedDate: setYear(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-year'))), + view: 'day', + }); + } + + function keyDown$2(e, dp) { + var key = e.keyCode; + var opts = dp.opts; + var shiftBy = + (key === Key.left || key === Key.up) ? 1 : + (key === Key.right || key === Key.down) ? -1 : + 0; + + if (key === Key.esc) { + dp.setState({ + view: 'day', + }); + } else if (shiftBy) { + e.preventDefault(); + var shiftedYear = shiftYear(dp.state.hilightedDate, shiftBy); + + dp.setState({ + hilightedDate: constrainDate(shiftedYear, opts.min, opts.max), + }); + } + } + + function mapYears(dp, fn) { + var result = ''; + var max = dp.opts.max.getFullYear(); + + for (var i = max; i >= dp.opts.min.getFullYear(); --i) { + result += fn(i); + } + + return result; + } + + /** + * @file Defines the base date picker behavior, overridden by various modes. + */ + + var views = { + day: dayPicker, + year: yearPicker, + month: monthPicker + }; + + function BaseMode(input, emit, opts) { + var detatchInputEvents; // A function that detaches all events from the input + var closing = false; // A hack to prevent calendar from re-opening when closing. + var selectedDate; // The currently selected date + var dp = { + // The root DOM element for the date picker, initialized on first open. + el: undefined, + opts: opts, + shouldFocusOnBlur: true, + shouldFocusOnRender: true, + state: initialState(), + adjustPosition: noop, + containerHTML: '
', + + attachToDom: function () { + document.body.appendChild(dp.el); + }, + + updateInput: function (selectedDate) { + var e = new CustomEvent('change', {bubbles: true}); + e.simulated = true; + input.value = selectedDate ? opts.format(selectedDate) : ''; + input.dispatchEvent(e); + }, + + computeSelectedDate: function () { + return opts.parse(input.value); + }, + + currentView: function() { + return views[dp.state.view]; + }, + + open: function () { + if (closing) { + return; + } + + if (!dp.el) { + dp.el = createContainerElement(opts, dp.containerHTML); + attachContainerEvents(dp); + } + + selectedDate = constrainDate(dp.computeSelectedDate(), opts.min, opts.max); + dp.state.hilightedDate = selectedDate || opts.hilightedDate; + dp.state.view = 'day'; + + dp.attachToDom(); + dp.render(); + + emit('open'); + }, + + isVisible: function () { + return !!dp.el && !!dp.el.parentNode; + }, + + hasFocus: function () { + var focused = document.activeElement; + return dp.el && + dp.el.contains(focused) && + focused.className.indexOf('dp-focuser') < 0; + }, + + shouldHide: function () { + return dp.isVisible(); + }, + + close: function (becauseOfBlur) { + var el = dp.el; + + if (!dp.isVisible()) { + return; + } + + if (el) { + var parent = el.parentNode; + parent && parent.removeChild(el); + } + + closing = true; + + if (becauseOfBlur && dp.shouldFocusOnBlur) { + focusInput(input); + } + + // When we close, the input often gains refocus, which + // can then launch the date picker again, so we buffer + // a bit and don't show the date picker within N ms of closing + setTimeout(function() { + closing = false; + }, 100); + + emit('close'); + }, + + destroy: function () { + dp.close(); + detatchInputEvents(); + }, + + render: function () { + if (!dp.el) { + return; + } + + var hadFocus = dp.hasFocus(); + var html = dp.currentView().render(dp); + html && (dp.el.firstChild.innerHTML = html); + + dp.adjustPosition(); + + if (hadFocus || dp.shouldFocusOnRender) { + focusCurrent(dp); + } + }, + + // Conceptually similar to setState in React, updates + // the view state and re-renders. + setState: function (state) { + for (var key in state) { + dp.state[key] = state[key]; + } + + emit('statechange'); + dp.render(); + }, + }; + + detatchInputEvents = attachInputEvents(input, dp); + + // Builds the initial view state + // selectedDate is a special case and causes changes to hilightedDate + // hilightedDate is set on open, so remains undefined initially + // view is the current view (day, month, year) + function initialState() { + return { + get selectedDate() { + return selectedDate; + }, + set selectedDate(dt) { + if (dt && !opts.inRange(dt)) { + return; + } + + if (dt) { + selectedDate = new Date(dt); + dp.state.hilightedDate = selectedDate; + } else { + selectedDate = dt; + } + + dp.updateInput(selectedDate); + emit('select'); + dp.close(); + }, + view: 'day', + }; + } + + return dp; + } + + function createContainerElement(opts, containerHTML) { + var el = document.createElement('div'); + + el.className = opts.mode; + el.innerHTML = containerHTML; + + return el; + } + + function attachInputEvents(input, dp) { + var bufferShow = bufferFn(5, function () { + if (dp.shouldHide()) { + dp.close(); + } else { + dp.open(); + } + }); + + var off = [ + on('blur', input, bufferFn(150, function () { + if (!dp.hasFocus()) { + dp.close(true); + } + })), + + on('mousedown', input, function () { + if (input === document.activeElement) { + bufferShow(); + } + }), + + on('focus', input, bufferShow), + + on('input', input, function (e) { + var date = dp.opts.parse(e.target.value); + isNaN(date) || dp.setState({ + hilightedDate: date + }); + }), + ]; + + // Unregister all events that were registered above. + return function() { + off.forEach(function (f) { + f(); + }); + }; + } + + function focusCurrent(dp) { + var current = dp.el.querySelector('.dp-current'); + return current && current.focus(); + } + + function attachContainerEvents(dp) { + var el = dp.el; + var calEl = el.querySelector('.dp'); + + // Hack to get iOS to show active CSS states + el.ontouchstart = noop; + + function onClick(e) { + e.target.className.split(' ').forEach(function(evt) { + var handler = dp.currentView().onClick[evt]; + handler && handler(e, dp); + }); + } + + // The calender fires a blur event *every* time we redraw + // this means we need to buffer the blur event to see if + // it still has no focus after redrawing, and only then + // do we return focus to the input. A possible other approach + // would be to set context.redrawing = true on redraw and + // set it to false in the blur event. + on('blur', calEl, bufferFn(150, function () { + if (!dp.hasFocus()) { + dp.close(true); + } + })); + + on('keydown', el, function (e) { + if (e.keyCode === Key.enter) { + onClick(e); + } else { + dp.currentView().onKeyDown(e, dp); + } + }); + + // If the user clicks in non-focusable space, but + // still within the date picker, we don't want to + // hide, so we need to hack some things... + on('mousedown', calEl, function (e) { + e.target.focus && e.target.focus(); // IE hack + if (document.activeElement !== e.target) { + e.preventDefault(); + focusCurrent(dp); + } + }); + + on('click', el, onClick); + } + + function focusInput(input) { + // When the modal closes, we need to focus the original input so the + // user can continue tabbing from where they left off. + input.focus(); + + // iOS zonks out if we don't blur the input, so... + if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) { + input.blur(); + } + } + + /** + * @file Defines the modal date picker behavior. + */ + + function ModalMode(input, emit, opts) { + var dp = BaseMode(input, emit, opts); + + // In modal mode, users really shouldn't be able to type in + // the input, as all input is done via the calendar. + input.readonly = true; + + // In modal mode, we need to know when the user has tabbed + // off the end of the calendar, and set focus to the original + // input. To do this, we add a special element to the DOM. + // When the user tabs off the bottom of the calendar, they + // will tab onto this element. + dp.containerHTML += '.'; + + return dp; + } + + /** + * @file Defines the dropdown date picker behavior. + */ + + function DropdownMode(input, emit, opts) { + var dp = BaseMode(input, emit, opts); + + dp.shouldFocusOnBlur = false; + + Object.defineProperty(dp, 'shouldFocusOnRender', { + get: function() { + return input !== document.activeElement; + } + }); + + dp.adjustPosition = function () { + autoPosition(input, dp); + }; + + return dp; + } + + function autoPosition(input, dp) { + var inputPos = input.getBoundingClientRect(); + var win = window; + + adjustCalY(dp, inputPos, win); + adjustCalX(dp, inputPos, win); + + dp.el.style.visibility = ''; + } + + function adjustCalX(dp, inputPos, win) { + var cal = dp.el; + var scrollLeft = win.pageXOffset; + var inputLeft = inputPos.left + scrollLeft; + var maxRight = win.innerWidth + scrollLeft; + var offsetWidth = cal.offsetWidth; + var calRight = inputLeft + offsetWidth; + var shiftedLeft = maxRight - offsetWidth; + var left = calRight > maxRight && shiftedLeft > 0 ? shiftedLeft : inputLeft; + + cal.style.left = left + 'px'; + } + + function adjustCalY(dp, inputPos, win) { + var cal = dp.el; + var scrollTop = win.pageYOffset; + var inputTop = scrollTop + inputPos.top; + var calHeight = cal.offsetHeight; + var belowTop = inputTop + inputPos.height + 8; + var aboveTop = inputTop - calHeight - 8; + var isAbove = (aboveTop > 0 && belowTop + calHeight > scrollTop + win.innerHeight); + var top = isAbove ? aboveTop : belowTop; + + if (cal.classList) { + cal.classList.toggle('dp-is-above', isAbove); + cal.classList.toggle('dp-is-below', !isAbove); + } + cal.style.top = top + 'px'; + } + + /** + * @file Defines the permanent date picker behavior. + */ + + function PermanentMode(root, emit, opts) { + var dp = BaseMode(root, emit, opts); + + dp.close = noop; + dp.destroy = noop; + dp.updateInput = noop; + dp.shouldFocusOnRender = opts.shouldFocusOnRender; + + dp.computeSelectedDate = function () { + return opts.hilightedDate; + }; + + dp.attachToDom = function () { + root.appendChild(dp.el); + }; + + dp.open(); + + return dp; + } + + /** + * @file Defines the various date picker modes (modal, dropdown, permanent) + */ + + function Mode(input, emit, opts) { + input = input && input.tagName ? input : document.querySelector(input); + + if (opts.mode === 'dp-modal') { + return ModalMode(input, emit, opts); + } + + if (opts.mode === 'dp-below') { + return DropdownMode(input, emit, opts); + } + + if (opts.mode === 'dp-permanent') { + return PermanentMode(input, emit, opts); + } + } + + /** + * @file Defines simple event emitter behavior. + */ + + /** + * Emitter constructs a new emitter object which has on/off methods. + * + * @returns {EventEmitter} + */ + function Emitter() { + var handlers = {}; + + function onOne(name, handler) { + (handlers[name] = (handlers[name] || [])).push(handler); + } + + function onMany(fns) { + for (var name in fns) { + onOne(name, fns[name]); + } + } + + return { + on: function (name, handler) { + if (handler) { + onOne(name, handler); + } else { + onMany(name); + } + + return this; + }, + + emit: function (name, arg) { + (handlers[name] || []).forEach(function (handler) { + handler(name, arg); + }); + }, + + off: function (name, handler) { + if (!name) { + handlers = {}; + } else if (!handler) { + handlers[name] = []; + } else { + handlers[name] = (handlers[name] || []).filter(function (h) { + return h !== handler; + }); + } + + return this; + } + }; + } + + /** + * @file The root date picker file, defines public exports for the library. + */ + + /** + * The date picker language configuration + * @typedef {Object} LangOptions + * @property {Array.} [days] - Days of the week + * @property {Array.} [months] - Months of the year + * @property {string} today - The label for the 'today' button + * @property {string} close - The label for the 'close' button + * @property {string} clear - The label for the 'clear' button + */ + + /** + * The configuration options for a date picker. + * + * @typedef {Object} DatePickerOptions + * @property {LangOptions} [lang] - Configures the label text, defaults to English + * @property {('dp-modal'|'dp-below'|'dp-permanent')} [mode] - The date picker mode, defaults to 'dp-modal' + * @property {(string|Date)} [hilightedDate] - The date to hilight if no date is selected + * @property {function(string|Date):Date} [parse] - Parses a date, the complement of the "format" function + * @property {function(Date):string} [format] - Formats a date for displaying to user + * @property {function(Date):string} [dateClass] - Associates a custom CSS class with a date + * @property {function(Date):boolean} [inRange] - Indicates whether or not a date is selectable + * @property {(string|Date)} [min] - The minimum selectable date (inclusive, default 100 years ago) + * @property {(string|Date)} [max] - The maximum selectable date (inclusive, default 100 years from now) + */ + + /** + * The state values for the date picker + * + * @typedef {Object} DatePickerState + * @property {string} view - The current view 'day' | 'month' | 'year' + * @property {Date} selectedDate - The date which has been selected by the user + * @property {Date} hilightedDate - The date which is currently hilighted / active + */ + + /** + * An instance of TinyDatePicker + * + * @typedef {Object} DatePicker + * @property {DatePickerState} state - The values currently displayed. + * @property {function} on - Adds an event handler + * @property {function} off - Removes an event handler + * @property {function} setState - Changes the current state of the date picker + * @property {function} open - Opens the date picker + * @property {function} close - Closes the date picker + * @property {function} destroy - Destroys the date picker (removing all handlers from the input, too) + */ + + /** + * TinyDatePicker constructs a new date picker for the specified input + * + * @param {HTMLElement | string} input The input or CSS selector associated with the datepicker + * @param {DatePickerOptions} opts The options for initializing the date picker + * @returns {DatePicker} + */ + function TinyDatePicker(input, opts) { + var emitter = Emitter(); + var options = DatePickerOptions(opts); + var mode = Mode(input, emit, options); + var me = { + get state() { + return mode.state; + }, + on: emitter.on, + off: emitter.off, + setState: mode.setState, + open: mode.open, + close: mode.close, + destroy: mode.destroy, + }; + + function emit(evt) { + emitter.emit(evt, me); + } + + return me; + } + + return TinyDatePicker; + +}))); + +},{}],"../../../../node_modules/caret-pos/lib/esm2015/main.js":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { @@ -1248,8 +2453,12 @@ var _DataUtils = _interopRequireWildcard(require("./DataUtils")); var DataEvent = _interopRequireWildcard(require("../events/DataEvent")); +var _tinyDatePicker = _interopRequireDefault(require("tiny-date-picker")); + var _caretPos = require("caret-pos"); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -1271,6 +2480,9 @@ function () { hljs.initHighlightingOnLoad(); this.dataUtils = new _DataUtils.default(); this.url = ''; + (0, _tinyDatePicker.default)(document.getElementById('option-date', { + mode: 'dp-modal' + })); window.addEventListener("scroll", function (f) { var fixLimit = document.getElementById('header').offsetHeight + document.getElementById('entry-header').offsetHeight + document.getElementById('entry-feature').offsetHeight; @@ -1423,7 +2635,7 @@ function () { var _default = TextEditor; exports.default = _default; -},{"./DataUtils":"tools/utilities/DataUtils.jsx","../events/DataEvent":"tools/events/DataEvent.jsx","caret-pos":"../../../../node_modules/caret-pos/lib/esm2015/main.js"}],"controllers/DashEntry.jsx":[function(require,module,exports) { +},{"./DataUtils":"tools/utilities/DataUtils.jsx","../events/DataEvent":"tools/events/DataEvent.jsx","tiny-date-picker":"../../../../node_modules/tiny-date-picker/dist/tiny-date-picker.js","caret-pos":"../../../../node_modules/caret-pos/lib/esm2015/main.js"}],"controllers/DashEntry.jsx":[function(require,module,exports) { "use strict"; Object.defineProperty(exports, "__esModule", { @@ -1779,7 +2991,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de document.addEventListener('DOMContentLoaded', function () { var base = new _Base.default(); }, false); -},{"./Base.jsx":"Base.jsx"}],"../../../../../../../.nvm/versions/node/v8.12.0/lib/node_modules/parcel-bundler/src/builtins/hmr-runtime.js":[function(require,module,exports) { +},{"./Base.jsx":"Base.jsx"}],"../../../../../../.nvm/versions/node/v8.12.0/lib/node_modules/parcel-bundler/src/builtins/hmr-runtime.js":[function(require,module,exports) { var global = arguments[3]; var OVERLAY_ID = '__parcel__error__overlay__'; var OldModule = module.bundle.Module; @@ -1806,7 +3018,7 @@ var parent = module.bundle.parent; if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') { var hostname = "" || location.hostname; var protocol = location.protocol === 'https:' ? 'wss' : 'ws'; - var ws = new WebSocket(protocol + '://' + hostname + ':' + "49864" + '/'); + var ws = new WebSocket(protocol + '://' + hostname + ':' + "60962" + '/'); ws.onmessage = function (event) { var data = JSON.parse(event.data); @@ -1948,5 +3160,5 @@ function hmrAccept(bundle, id) { return hmrAccept(global.parcelRequire, id); }); } -},{}]},{},["../../../../../../../.nvm/versions/node/v8.12.0/lib/node_modules/parcel-bundler/src/builtins/hmr-runtime.js","Start.jsx"], null) +},{}]},{},["../../../../../../.nvm/versions/node/v8.12.0/lib/node_modules/parcel-bundler/src/builtins/hmr-runtime.js","Start.jsx"], null) //# sourceMappingURL=/dash/assets/js/dash.min.map \ No newline at end of file diff --git a/themes/dash/assets/js/dash.min.map b/themes/dash/assets/js/dash.min.map index 5ca27f4..64e9592 100644 --- a/themes/dash/assets/js/dash.min.map +++ b/themes/dash/assets/js/dash.min.map @@ -1 +1 @@ -{"version":3,"sources":["tools/events/EventEmitter.jsx","tools/events/DataEvent.jsx","tools/utilities/DataUtils.jsx","tools/effects/Animate.jsx","tools/effects/TextEffects.jsx","tools/utilities/StringUtils.jsx","tasks/EntryTasks.jsx","../../src/mirror.js","../../src/utils.js","../../src/input.js","../../src/editable.js","../../src/main.js","tools/utilities/TextEditor.jsx","controllers/DashEntry.jsx","controllers/DisplayManager.jsx","Base.jsx","Start.jsx"],"names":["EventEmitter","listeners","Map","label","callback","has","set","get","push","isFunction","obj","index","length","reduce","i","listener","splice","args","forEach","REQUEST_GOOD","REQUEST_LAME","IMG_REQUEST_GOOD","IMG_REQUEST_LAME","SETTINGS_LOADED","HTML_LOADED","ARCHIVES_JSON_LOADED","ARCHIVES_PAGE_LOADED","ARCHIVES_ENTRY_LOADED","PROJECT_UPDATED","PROJECT_ADDED","PROJECTS_SORTED","POST_IMAGE_ADDED","DataEvent","REQUEST_TYPE_POST","REQUEST_TYPE_GET","REQUEST_TYPE_PUT","REQUEST_TYPE_DELETE","CONTENT_TYPE_JSON","CONTENT_TYPE_FORM","DataUtils","self","requestURL","eventType","requestType","contentType","requestData","Promise","resolve","reject","request","XMLHttpRequest","upload","onprogress","handleLoadProgress","open","onload","e","status","setRequestHeader","send","JSON","stringify","url","responseType","response","Error","statusText","onerror","src","body","document","querySelector","myImage","Image","crossOrigin","imgLoad","then","imageURL","window","URL","createObjectURL","percentComplete","Math","ceil","loaded","total","Animate","properties","animation","anime","TexEffects","offset","complete","scrambleText","ScrambleText","timeOffset","chars","start","StringUtils","string","clean","replace","toLowerCase","quote_style","optTemp","noquotes","toString","OPTS","concat","ENT_HTML_QUOTE_SINGLE","EntryTasks","folio","dataUtils","edit","uploadFiles","postData","FormData","files","file","type","match","append","name","txt","createElement","innerHTML","getElementById","value","cleanString","postURL","postEventType","postID","getAttribute","console","log","POST_UPDATED","POST_ADDED","catch","err","valid","entry_form","title","price","description","attributes","createMirror","element","html","mirror","mirrorCss","css","tagName","attr","getComputedStyle","initialize","styles","keys","style","key","parentNode","insertBefore","nextSibling","rect","marker","ownerDocument","boundingRect","offsetLeft","offsetTop","offsetHeight","removeChild","isContentEditable","contentEditable","getContext","settings","customPos","iframe","noShadowCaret","contentWindow","contentDocument","getOffset","ctx","win","doc","getBoundingClientRect","docEl","documentElement","scrollLeft","pageXOffset","scrollTop","pageYOffset","top","left","isObject","createInputCaret","getPos","selectionStart","setPos","pos","setSelectionRange","elementOffset","position","getPosition","height","format","val","undefined","startRange","slice","endRange","createEditableCaret","sel","getSelection","found","find","parent","childNodes","node","nodeType","range","createRange","setStart","removeAllRanges","addRange","getRange","hasCustomPos","endOffset","endContainer","clonedRange","cloneRange","fixedPosition","setEnd","width","detach","shadowCaret","createTextNode","insertNode","selectNode","clientTop","clientLeft","inputOffset","rangeCount","getRangeAt","selectNodeContents","createCaret","options","caret","TextEditor","setInputs","hljs","initHighlightingOnLoad","addEventListener","f","fixLimit","refresh","editorButtons","querySelectorAll","handleEditorOption","handlePostImageAdd","click","spiffed","highlight","innerText","temp","preventDefault","pulled","deleteContents","target","id","stopPropagation","parse","Entry","reframe","editor","object","targets","duration","opacity","easing","display","visibility","TextEffects","scramble","handleDragOver","handleDrop","handleClicked","submitPost","note","message","dataTransfer","dropEffect","reader","FileReader","theFile","span","result","escape","join","appendChild","readAsDataURL","DisplayManager","currentDisplay","urlPieces","split","chooseDisplay","section","page","Base","admin","displayManager","base"],"mappings":"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","file":"dash.min.map","sourceRoot":"../../src/com","sourcesContent":["class EventEmitter\n{\n\n //--------------------------\n // constructor\n //--------------------------\n constructor()\n {\n this.listeners = new Map();\n }\n //--------------------------\n // methods\n //--------------------------\n addListener(label, callback) {\n this.listeners.has(label) || this.listeners.set(label, []);\n this.listeners.get(label).push(callback);\n }\n\n removeListener(label, callback) {\n var isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n\n var listeners = this.listeners.get(label),\n index;\n\n if (listeners && listeners.length) {\n index = listeners.reduce((i, listener, index) => {\n return (isFunction(listener) && listener === callback)\n ? i = index\n : i;\n }, -1);\n\n if (index > -1) {\n listeners.splice(index, 1);\n this.listeners.set(label, listeners);\n return true;\n }\n }\n return false;\n }\n\n emitEvent(label, ...args) {\n var listeners = this.listeners.get(label);\n if (listeners && listeners.length) {\n listeners.forEach((listener) => {\n listener(...args);\n });\n return true;\n }\n return false;\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default EventEmitter\n","export const REQUEST_GOOD = 'requestGood';\nexport const REQUEST_LAME = 'requestLame';\nexport const IMG_REQUEST_GOOD = 'imgRequestGood';\nexport const IMG_REQUEST_LAME = 'imgRequestLame';\nexport const SETTINGS_LOADED = 'dataLoaded';\nexport const HTML_LOADED = 'htmlLoaded';\nexport const ARCHIVES_JSON_LOADED = 'archivesJSONLoaded';\nexport const ARCHIVES_PAGE_LOADED = 'archivesPAGELoaded';\nexport const ARCHIVES_ENTRY_LOADED = 'archivesEntryLoaded';\nexport const PROJECT_UPDATED = 'projectUpdated';\nexport const PROJECT_ADDED = 'projectAdded';\nexport const PROJECTS_SORTED = 'projectsSorted';\nexport const POST_IMAGE_ADDED = 'postImageAdded';\n\nclass DataEvent\n{\n\n //--------------------------\n // methods\n //--------------------------\n\n\n\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default new DataEvent\n","export const REQUEST_TYPE_POST = \"POST\";\nexport const REQUEST_TYPE_GET = \"GET\";\nexport const REQUEST_TYPE_PUT = \"PUT\";\nexport const REQUEST_TYPE_DELETE = \"DELETE\";\nexport const CONTENT_TYPE_JSON = 'json';\nexport const CONTENT_TYPE_FORM = 'x-www-form-urlencoded';\nimport EventEmitter from '../events/EventEmitter.jsx';\nimport * as DataEvent from '../events/DataEvent.jsx';\nclass DataUtils extends EventEmitter {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n super();\n var self = this;\n }\n //--------------------------\n // methods\n //--------------------------\n request(requestURL, eventType, requestType = REQUEST_TYPE_GET, contentType = CONTENT_TYPE_JSON, requestData = null) {\n var self = this;\n return new Promise(function(resolve, reject) {\n var request = new XMLHttpRequest();\n request.upload.onprogress = self.handleLoadProgress;\n request.open(requestType, requestURL, true);\n request.onload = function(e) {\n if (request.status == 200) {\n resolve({\n request,\n eventType\n });\n } else {\n reject({\n request,\n eventType\n });\n }\n ;\n };\n if (requestType == REQUEST_TYPE_PUT || requestType == REQUEST_TYPE_POST) {\n switch (contentType) {\n case CONTENT_TYPE_JSON:\n request.setRequestHeader(\"Content-type\", \"application/\" + contentType);\n request.send(JSON.stringify(requestData));\n break;\n case CONTENT_TYPE_FORM:\n request.send(requestData);\n break;\n }\n } else {\n request.send();\n }\n })\n }\n imgLoad(url) {\n 'use strict';\n // Create new promise with the Promise() constructor;\n // This has as its argument a function with two parameters, resolve and reject\n return new Promise(function(resolve, reject) {\n // Standard XHR to load an image\n var request = new XMLHttpRequest();\n request.open('GET', url);\n request.responseType = 'blob';\n // When the request loads, check whether it was successful\n request.onload = function() {\n if (request.status === 200) {\n // If successful, resolve the promise by passing back the request response\n resolve(request.response);\n } else {\n // If it fails, reject the promise with a error message\n reject(new Error('Image didn\\'t load successfully; error code:' + request.statusText));\n }\n };\n request.onerror = function() {\n // Also deal with the case when the entire request fails to begin with\n // This is probably a network error, so reject the promise with an appropriate message\n reject(new Error('There was a network error.'));\n };\n // Send the request\n request.send();\n });\n }\n loadImage(src) {\n 'use strict';\n let self = this;\n return new Promise(function(resolve, reject) {\n // Get a reference to the body element, and create a new image object\n var body = document.querySelector('body'),\n myImage = new Image();\n myImage.crossOrigin = \"\"; // or \"anonymous\"\n // Call the function with the URL we want to load, but then chain the\n // promise then() method on to the end of it. This contains two callbacks\n self.imgLoad(src).then(function(response) {\n // The first runs when the promise resolves, with the request.reponse specified within the resolve() method.\n var imageURL = window.URL.createObjectURL(response);\n resolve(imageURL);\n //$('background-content').setStyle('background-image', 'url('+imageURL+')') //myImage.src = imageURL;\n //console.log(imageURL);\n //body.appendChild(myImage);\n // The second runs when the promise is rejected, and logs the Error specified with the reject() method.\n }, function(Error) {\n reject(Error)\n });\n });\n }\n //--------------------------\n // event handlers\n //--------------------------\n handleLoadProgress(e) {\n var percentComplete = Math.ceil((e.loaded / e.total) * 100);\n //console.log(percentComplete);\n }\n}\nexport default DataUtils;\n","import EventEmitter from '../events/EventEmitter.jsx';;\n\nclass Animate extends EventEmitter {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n super();\n }\n //--------------------------\n // methods\n //--------------------------\n object(properties) {\n var animation = anime(\n properties\n );\n //animation.start(properties);\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default Animate\n","class TexEffects {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {}\n //--------------------------\n // methods\n //--------------------------\n scramble(obj, offset, complete)\n {\n var scrambleText = new ScrambleText(obj, {\n timeOffset: offset,\n chars: [\n '安',\n '以',\n '宇',\n '衣',\n '於',\n '加',\n '幾',\n '久',\n '計',\n '己',\n '左',\n '之',\n '寸',\n '世',\n '曽',\n '太',\n '知',\n '川',\n '天',\n '止',\n '奈',\n '仁',\n '奴',\n '称',\n '乃',\n '波',\n '比',\n '不',\n '部',\n '保',\n '末',\n '美',\n '武',\n '女',\n '毛',\n '也',\n '為',\n '由',\n '恵',\n '与',\n '良',\n '利',\n '留',\n '礼',\n '呂',\n '和',\n '遠',\n '无'\n ],\n callback: complete\n }).start();\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default TexEffects\n","class StringUtils\n{\n\n //--------------------------\n // constructor\n //--------------------------\n constructor()\n {}\n //--------------------------\n // methods\n //--------------------------\n cleanString(string)\n {\n var clean = string.replace(/(^\\-+|[^a-zA-Z0-9\\/_| -]+|\\-+$)/g, '').toLowerCase().replace(/[\\/_| -]+/g, '-');\n return clean;\n }\n\n decodeHTML(string, quote_style) {\n var optTemp = 0,\n i = 0,\n noquotes = false;\n if (typeof quote_style === 'undefined') {\n quote_style = 2;\n }\n string = string.toString().replace(/</g, '<').replace(/>/g, '>');\n var OPTS = {\n 'ENT_NOQUOTES': 0,\n 'ENT_HTML_QUOTE_SINGLE': 1,\n 'ENT_HTML_QUOTE_DOUBLE': 2,\n 'ENT_COMPAT': 2,\n 'ENT_QUOTES': 3,\n 'ENT_IGNORE': 4\n };\n if (quote_style === 0) {\n noquotes = true;\n }\n if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags\n quote_style = [].concat(quote_style);\n for (i = 0; i < quote_style.length; i++) {\n // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4\n if (OPTS[quote_style[i]] === 0) {\n noquotes = true;\n } else if (OPTS[quote_style[i]]) {\n optTemp = optTemp | OPTS[quote_style[i]];\n }\n }\n quote_style = optTemp;\n }\n if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {\n string = string.replace(/�*39;/g, \"'\"); // PHP doesn't currently escape if more than one 0, but it should\n // string = string.replace(/'|�*27;/g, \"'\"); // This would also be useful here, but not a part of PHP\n }\n if (!noquotes) {\n string = string.replace(/"/g, '\"');\n }\n // Put this in last place to avoid escape being double-decoded\n string = string.replace(/&/g, '&');\n return string;\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default StringUtils\n","import DataUtils, { REQUEST_TYPE_GET, REQUEST_TYPE_PUT, REQUEST_TYPE_POST, REQUEST_TYPE_DELETE, CONTENT_TYPE_JSON, CONTENT_TYPE_FORM } from '../tools/utilities/DataUtils';\nimport * as DataEvent from '../tools/events/DataEvent';\nimport StringUtils from '../tools/utilities/StringUtils';\nclass EntryTasks {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n var folio = [];\n this.dataUtils = new DataUtils();\n }\n //--------------------------\n // methods\n //--------------------------\n start() {}\n\n submitPost(edit, uploadFiles) {\n let self = this;\n return new Promise(function(resolve, reject) {\n //collect form data\n //if(!this.validateForm())\n var postData = new FormData();\n //let projectImages = document.getElementById('projectImages');\n //var fileSelect = projectImages;\n var files = uploadFiles;\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n // Check the file type.\n if (!file.type.match('image.*')) {\n continue;\n }\n // Add the file to the request.\n postData.append('feature_image', file, file.name);\n }\n //var category = document.getElementById(\"content_category\");\n //let project_form = document.forms.namedItem(\"folio-project\");\n var txt = document.createElement(\"textarea\");\n txt.innerHTML = document.getElementById('edit-text-code').innerHTML;\n postData.append(\"title\", document.getElementById('entry_title').value);\n postData.append('slug', new StringUtils().cleanString(document.getElementById('entry_title').value));\n postData.append(\"entry_plaintext\", txt.value);\n postData.append(\"tags\", document.getElementById('entry_tags').value);\n let postURL;\n let postEventType;\n if (edit) {\n let postID = document.getElementById('post-sumbit-btn').getAttribute('data-id');\n console.log(\"POST ID: \"+postID);\n postURL = \"/api/blog/update/\" + postID;\n postEventType = DataEvent.POST_UPDATED;\n \n } else {\n postURL = \"/api/blog/add\";\n postEventType = DataEvent.POST_ADDED;\n }\n self.dataUtils.request(postURL, postEventType, REQUEST_TYPE_POST, CONTENT_TYPE_FORM, postData)\n .then((response) => {\n resolve({\n response\n })\n }).catch((err) => {\n reject({\n err\n });\n })\n });\n }\n\n validateForm() {\n let valid = false;\n if (this.entry_form.title.value == \"\" || this.entry_form.price.value == \"\" || this.entry_form.description == \"\") {\n return valid;\n } else {\n valid = true;\n return valid;\n }\n }\n//--------------------------\n// event handlers\n//--------------------------\n}\nexport { EntryTasks as default }\n","const attributes = [\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopStyle',\n 'borderRightStyle',\n 'borderBottomStyle',\n 'borderLeftStyle',\n 'borderTopWidth',\n 'boxSizing',\n 'fontFamily',\n 'fontSize',\n 'fontWeight',\n 'height',\n 'letterSpacing',\n 'lineHeight',\n 'marginBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'outlineWidth',\n 'overflow',\n 'overflowX',\n 'overflowY',\n 'paddingBottom',\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'textAlign',\n 'textOverflow',\n 'textTransform',\n 'whiteSpace',\n 'wordBreak',\n 'wordWrap',\n];\n\n/**\n * Create a mirror\n *\n * @param {Element} element The element\n * @param {string} html The html\n *\n * @return {object} The mirror object\n */\nconst createMirror = (element, html) => {\n\n /**\n * The mirror element\n */\n const mirror = document.createElement('div');\n\n /**\n * Create the CSS for the mirror object\n *\n * @return {object} The style object\n */\n const mirrorCss = () => {\n const css = {\n position: 'absolute',\n left: -9999,\n top: 0,\n zIndex: -2000\n };\n\n if (element.tagName === 'TEXTAREA') {\n attributes.push('width');\n }\n\n attributes.forEach((attr) => {\n css[attr] = getComputedStyle(element)[attr];\n });\n\n return css;\n };\n\n /**\n * Initialize the mirror\n *\n * @param {string} html The html\n *\n * @return {void}\n */\n const initialize = (html) => {\n const styles = mirrorCss();\n Object.keys(styles).forEach(key => {\n mirror.style[key] = styles[key];\n });\n mirror.innerHTML = html;\n element.parentNode.insertBefore(mirror, element.nextSibling);\n };\n\n /**\n * Get the rect\n *\n * @return {Rect} The bounding rect\n */\n const rect = () => {\n const marker = mirror.ownerDocument.getElementById('caret-position-marker');\n const boundingRect = {\n left: marker.offsetLeft,\n top: marker.offsetTop,\n height: marker.offsetHeight\n };\n mirror.parentNode.removeChild(mirror);\n\n return boundingRect;\n };\n\n initialize(html);\n\n return {\n rect,\n };\n};\n\nexport default createMirror;\n","/**\n * Check if a DOM Element is content editable\n *\n * @param {Element} element The DOM element\n *\n * @return {bool} If it is content editable\n */\nexport const isContentEditable = (element) => !!(\n element.contentEditable &&\n element.contentEditable === 'true'\n);\n\n/**\n * Get the context from settings passed in\n *\n * @param {object} settings The settings object\n *\n * @return {object} window and document\n */\nexport const getContext = (settings = {}) => {\n const { customPos, iframe, noShadowCaret } = settings;\n if (iframe) {\n return {\n iframe,\n window: iframe.contentWindow,\n document: iframe.contentDocument || iframe.contentWindow.document,\n noShadowCaret,\n customPos,\n };\n }\n\n return {\n window,\n document,\n noShadowCaret,\n customPos,\n };\n};\n\n/**\n * Get the offset of an element\n *\n * @param {Element} element The DOM element\n * @param {object} ctx The context\n *\n * @return {object} top and left\n */\nexport const getOffset = (element, ctx) => {\n const win = ctx && ctx.window || window;\n const doc = ctx && ctx.document || document;\n const rect = element.getBoundingClientRect();\n const docEl = doc.documentElement;\n const scrollLeft = win.pageXOffset || docEl.scrollLeft;\n const scrollTop = win.pageYOffset || docEl.scrollTop;\n\n return {\n top: rect.top + scrollTop,\n left: rect.left + scrollLeft\n };\n};\n\n/**\n * Check if a value is an object\n *\n * @param {any} value The value to check\n *\n * @return {bool} If it is an object\n */\nexport const isObject = (value) => typeof value === 'object' && value !== null;\n","import createMirror from './mirror';\nimport { getOffset as elementOffset } from './utils';\n\n/**\n * Create a Input caret object.\n *\n * @param {Element} element The element\n * @param {Object} ctx The context\n */\nconst createInputCaret = (element, ctx) => {\n\n /**\n * Get the current position\n *\n * @returns {int} The caret position\n */\n const getPos = () => {\n return element.selectionStart;\n };\n\n /**\n * Set the position\n *\n * @param {int} pos The position\n *\n * @return {Element} The element\n */\n const setPos = (pos) => {\n element.setSelectionRange(pos, pos);\n\n return element;\n };\n\n /**\n * The offset\n *\n * @param {int} pos The position\n *\n * @return {object} The offset\n */\n const getOffset = (pos) => {\n const rect = elementOffset(element);\n const position = getPosition(pos);\n\n return {\n top: rect.top + position.top + ctx.document.body.scrollTop,\n left: rect.left + position.left + ctx.document.body.scrollLeft,\n height: position.height,\n };\n };\n\n /**\n * Get the current position\n *\n * @param {int} pos The position\n *\n * @return {object} The position\n */\n const getPosition = (pos) => {\n const format = (val) => {\n let value = val.replace(/<|>|`|\"|&/g, '?')\n .replace(/\\r\\n|\\r|\\n/g,'
');\n return value;\n };\n\n if (ctx.customPos || ctx.customPos === 0) {\n pos = ctx.customPos;\n }\n\n const position = pos === undefined ? getPos() : pos;\n const startRange = element.value.slice(0, position);\n const endRange = element.value.slice(position);\n let html = `${format(startRange)}`;\n html += '|';\n html += `${format(endRange)}`;\n\n const mirror = createMirror(element, html);\n const rect = mirror.rect();\n rect.pos = getPos();\n\n return rect;\n };\n\n return {\n getPos,\n setPos,\n getOffset,\n getPosition,\n };\n};\n\nexport default createInputCaret;\n","/**\n * Create an Editable Caret\n * @param {Element} element The editable element\n * @param {object|null} ctx The context\n *\n * @return {EditableCaret}\n */\nconst createEditableCaret = (element, ctx) => {\n\n /**\n * Set the caret position\n *\n * @param {int} pos The position to se\n *\n * @return {Element} The element\n */\n const setPos = (pos) => {\n const sel = ctx.window.getSelection();\n if (sel) {\n let offset = 0;\n let found = false;\n const find = (position, parent) => {\n for (let i = 0; i < parent.childNodes.length; i++) {\n const node = parent.childNodes[i];\n if (found) {\n break;\n }\n if (node.nodeType === 3) {\n if (offset + node.length >= position) {\n found = true;\n const range = ctx.document.createRange();\n range.setStart(node, position - offset);\n sel.removeAllRanges();\n sel.addRange(range);\n break;\n } else {\n offset += node.length;\n }\n } else {\n find(pos, node);\n }\n }\n };\n find(pos, element);\n }\n\n return element;\n };\n\n /**\n * Get the offset\n *\n * @return {object} The offset\n */\n const getOffset = () => {\n const range = getRange();\n let offset = {\n height: 0,\n left: 0,\n right: 0,\n };\n\n if (!range) {\n return offset;\n }\n\n const hasCustomPos = ctx.customPos || ctx.customPos === 0;\n\n // endContainer in Firefox would be the element at the start of\n // the line\n if ((range.endOffset - 1 > 0 && range.endContainer !== element) || hasCustomPos) {\n const clonedRange = range.cloneRange();\n const fixedPosition = hasCustomPos ? ctx.customPos : range.endOffset;\n clonedRange.setStart(range.endContainer, fixedPosition - 1 < 0 ? 0 : fixedPosition - 1);\n clonedRange.setEnd(range.endContainer, fixedPosition);\n const rect = clonedRange.getBoundingClientRect();\n offset = {\n height: rect.height,\n left: rect.left + rect.width,\n top: rect.top,\n };\n clonedRange.detach();\n }\n\n if ((!offset || (offset && offset.height === 0)) && !ctx.noShadowCaret) {\n const clonedRange = range.cloneRange();\n const shadowCaret = ctx.document.createTextNode('|');\n clonedRange.insertNode(shadowCaret);\n clonedRange.selectNode(shadowCaret);\n const rect = clonedRange.getBoundingClientRect();\n offset = {\n height: rect.height,\n left: rect.left,\n top: rect.top,\n };\n shadowCaret.parentNode.removeChild(shadowCaret);\n clonedRange.detach();\n }\n\n if (offset) {\n const doc = ctx.document.documentElement;\n offset.top += ctx.window.pageYOffset - (doc.clientTop || 0);\n offset.left += ctx.window.pageXOffset - (doc.clientLeft || 0);\n }\n\n return offset;\n };\n\n /**\n * Get the position\n *\n * @return {object} The position\n */\n const getPosition = () => {\n const offset = getOffset();\n const pos = getPos();\n const rect = element.getBoundingClientRect();\n const inputOffset = {\n top: rect.top + ctx.document.body.scrollTop,\n left: rect.left + ctx.document.body.scrollLeft\n };\n offset.left -= inputOffset.left;\n offset.top -= inputOffset.top;\n offset.pos = pos;\n\n return offset;\n };\n\n /**\n * Get the range\n *\n * @return {Range|null}\n */\n const getRange = () => {\n if (!ctx.window.getSelection) {\n return;\n }\n const sel = ctx.window.getSelection();\n\n return sel.rangeCount > 0 ? sel.getRangeAt(0) : null;\n };\n\n /**\n * Get the caret position\n *\n * @return {int} The position\n */\n const getPos = () => {\n const range = getRange();\n const clonedRange = range.cloneRange();\n clonedRange.selectNodeContents(element);\n clonedRange.setEnd(range.endContainer, range.endOffset);\n const pos = clonedRange.toString().length;\n clonedRange.detach();\n\n return pos;\n };\n\n return {\n getPos,\n setPos,\n getPosition,\n getOffset,\n getRange,\n };\n};\n\nexport default createEditableCaret;\n","import createInputCaret from './input';\nimport createEditableCaret from './editable';\nimport {\n isContentEditable,\n getContext,\n isObject,\n} from './utils';\n\nexport { getOffset } from './utils';\n\nconst createCaret = (element, ctx) => {\n if (isContentEditable(element)) {\n return createEditableCaret(element, ctx);\n }\n\n return createInputCaret(element, ctx);\n};\n\nexport const position = (element, value, settings = {}) => {\n let options = settings;\n if (isObject(value)) {\n options = value;\n value = null;\n }\n const ctx = getContext(options);\n const caret = createCaret(element, ctx);\n\n if (value || value === 0) {\n return caret.setPos(value);\n }\n\n return caret.getPosition();\n};\n\n/**\n *\n * @param {Element} element The DOM element\n * @param {number|undefined} value The value to set\n * @param {object} settings Any settings for context\n */\nexport const offset = (element, value, settings = {}) => {\n let options = settings;\n if (isObject(value)) {\n options = value;\n value = null;\n }\n\n const ctx = getContext(options);\n const caret = createCaret(element, ctx);\n return caret.getOffset(value);\n};\n","import DataUtils, {\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n} from './DataUtils';\nimport * as DataEvent from '../events/DataEvent';\nimport {\n position,\n offset\n} from 'caret-pos';\n\nclass TextEditor {\n\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n this.setInputs();\n hljs.initHighlightingOnLoad();\n this.dataUtils = new DataUtils();\n this.url = '';\n window.addEventListener(\"scroll\", f => {\n var fixLimit = document.getElementById('header').offsetHeight + document.getElementById('entry-header').offsetHeight + document.getElementById('entry-feature').offsetHeight\n if (window.pageYOffset >= fixLimit) {\n document.getElementById('edit-control').style.position = \"fixed\"\n } else {\n document.getElementById('edit-control').style.position = \"relative\"\n }\n });\n this.refresh();\n }\n //--------------------------\n // methods\n //--------------------------\n setInputs() {\n let self = this;\n var editorButtons = document.querySelectorAll('.editor-button');\n for (var i = 0, length = editorButtons.length; i < length; i++) {\n editorButtons[i].addEventListener('click', e => this.handleEditorOption(e), false);\n }\n document.getElementById('edit-text-code').addEventListener('input', f => {\n self.refresh();\n })\n\n document.getElementById('post-image').addEventListener('change', e => this.handlePostImageAdd(e), false);\n document.getElementById('option-image').addEventListener('click', e => {\n document.getElementById('post-image').click();\n })\n }\n\n refresh() {\n var caret = position(document.getElementById('edit-text-code')).pos;\n var spiffed = hljs.highlight('markdown', document.getElementById('edit-text-code').innerText).value;\n var temp = document.createElement(\"div\");\n temp.innerText = spiffed;\n document.getElementById('edit-text-code').innerHTML = temp.innerText;\n position(document.getElementById('edit-text-code'), caret)\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n handleEditorOption(e) {\n e.preventDefault();\n var self = this;\n var sel, range, pulled;\n sel = window.getSelection(); //console.log(sel)\n if (sel.rangeCount) {\n range = sel.getRangeAt(0);\n pulled = sel.getRangeAt(0).toString();\n range.deleteContents();\n switch (e.target.id) {\n case \"option-bold\":\n range.insertNode(document.createTextNode(\"**\" + pulled + \"**\"));\n break;\n case \"option-italic\":\n range.insertNode(document.createTextNode(\"*\" + pulled + \"*\"));\n break;\n case \"option-strikethrough\":\n range.insertNode(document.createTextNode(\"\" + pulled + \"\"));\n break;\n case \"option-header1\":\n range.insertNode(document.createTextNode(\"# \" + pulled));\n break;\n case \"option-header2\":\n range.insertNode(document.createTextNode(\"## \" + pulled));\n break;\n case \"option-header3\":\n range.insertNode(document.createTextNode(\"### \" + pulled));\n break;\n case \"option-link\":\n range.insertNode(document.createTextNode(\"[\" + pulled + \"](PASTE URL HERE)\"));\n break;\n case \"option-date\":\n console.log(\"DATE UPDATE\")\n break\n default:\n //range.insertNode(document.createTextNode(\"[\" + self.url + \"](PASTE URL HERE)\"));\n break;\n }\n }\n this.refresh()\n }\n\n handlePostImageAdd(e) {\n e.stopPropagation();\n e.preventDefault();\n let self = this;\n\n var postData = new FormData();\n var files = e.target.files;\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n // Check the file type.\n if (!file.type.match('image.*')) {\n continue;\n }\n postData.append('post_image', file, file.name);\n }\n var caret = position(document.getElementById('edit-text-code')).pos;\n self.dataUtils.request(\"/api/blog/add-post-image\", DataEvent.POST_IMAGE_ADDED, REQUEST_TYPE_POST, CONTENT_TYPE_FORM, postData)\n .then((response) => {\n //console.log(\"01 \"+response.request['response']);\n position(document.getElementById('edit-text-code'), caret)\n var sel, range, pulled;\n sel = window.getSelection(); //console.log(sel)\n //console.log(note.message)\n if (sel.rangeCount) {\n range = sel.getRangeAt(0);\n pulled = sel.getRangeAt(0).toString();\n range.deleteContents();\n range.insertNode(document.createTextNode(\"![image alt text](\" + JSON.parse(response.request['response']).url + \" 'image title')\"));\n }\n self.refresh();\n\n }).catch((err) => {\n console.log(err)\n })\n\n }\n}\nexport default TextEditor","//TOOLS\nimport DataUtils, {\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n} from '../tools/utilities/DataUtils';\nimport * as DataEvent from '../tools/events/DataEvent';\nimport Animate from '../tools/effects/Animate';\nimport * as Ease from '../tools/effects/Animate';\nimport TextEffects from '../tools/effects/TextEffects';\nimport EntryTasks from '../tasks/EntryTasks';\nimport TextEditor from '../tools/utilities/TextEditor';\nclass Entry {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n reframe('iframe');\n this.uploadFiles;\n this.start();\n this.editor = new TextEditor();\n }\n //--------------------------\n // methods\n //--------------------------\n start() {\n new Animate().object({\n targets: document.getElementById('loader'),\n duration: 300,\n opacity: 0,\n easing: 'easeInOutQuad',\n complete: function() {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n new Animate().object({\n targets: document.getElementById('header'),\n duration: 10,\n opacity: 1,\n easing: 'easeInOutQuad',\n complete: function() {\n new TextEffects().scramble(document.getElementById('the-title'), 50, function() {\n\n if (document.getElementById('the-intro'))\n document.getElementById('the-intro').style.opacity = 1;\n if (document.getElementById('blog-entry'))\n document.getElementById('blog-entry').style.opacity = 1;\n //START SEcTION\n });\n }\n });\n }\n });\n\n if (document.getElementById('featured-image-drop')) {\n document.getElementById('featured-image-drop').addEventListener('dragover', this.handleDragOver, false);\n document.getElementById('featured-image-drop').addEventListener('drop', this.handleDrop, false);\n document.getElementById('featured-click').addEventListener('change', this.handleClicked, false);\n \n if(document.getElementById('new-upload-link'))\n {\n document.getElementById('new-upload-link').addEventListener('click', e=>{\n document.getElementById('featured-click').click();\n })\n }\n document.getElementById(\"post-sumbit-btn\").addEventListener('click', f => {\n f.preventDefault();\n let edit = false;\n if (f.target.getAttribute('data-action') == 'blog-update')\n edit = true;\n console.log('clicked')\n new EntryTasks().submitPost(edit, Entry.uploadFiles).then((response) => {\n let note = JSON.parse(response['response']['request'].response);\n console.log(note.message);\n }).catch((err) => {\n console.log(err)\n });\n });\n }\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n handleDragOver(e) {\n e.stopPropagation();\n e.preventDefault();\n e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\n }\n handleClicked(e) {\n e.stopPropagation();\n e.preventDefault();\n //console.log(\"IMAGES \" + e.target.files);\n Entry.uploadFiles = e.target.files;\n for (var i = 0, f; f = Entry.uploadFiles[i]; i++) {\n // Only process image files.\n if (!f.type.match('image.*')) {\n continue;\n }\n var reader = new FileReader();\n // Closure to capture the file information.\n reader.onload = (function(theFile) {\n return function(f) {\n // Render thumbnail.\n var span = document.createElement('span');\n span.innerHTML = [\n ''\n ].join('');\n //document.getElementById('featured-image-drop').insertBefore(span, null);\n document.getElementById('featured-image-drop').innerHTML = '';\n document.getElementById('featured-image-drop').appendChild(span);\n };\n })(f);\n // Read in the image file as a data URL.\n reader.readAsDataURL(f);\n }\n\n }\n\n handleDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n Entry.uploadFiles = e.dataTransfer.files;\n //console.log(MemberArea.uploadFiles.length);\n for (var i = 0, f; f = Entry.uploadFiles[i]; i++) {\n // Only process image files.\n if (!f.type.match('image.*')) {\n continue;\n }\n var reader = new FileReader();\n // Closure to capture the file information.\n reader.onload = (function(theFile) {\n return function(f) {\n // Render thumbnail.\n var span = document.createElement('span');\n span.innerHTML = [\n ''\n ].join('');\n //document.getElementById('featured-image-drop').insertBefore(span, null);\n document.getElementById('featured-image-drop').innerHTML = '';\n document.getElementById('featured-image-drop').appendChild(span);\n };\n })(f);\n // Read in the image file as a data URL.\n reader.readAsDataURL(f);\n }\n }\n\n}\nEntry.uploadFiles = [];\nexport {\n Entry as\n default\n}","//TOOLS\nimport DataUtils, {\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n} from '../tools/utilities/DataUtils.jsx';\nimport Entry from './DashEntry';\nimport Animate from '../tools/effects/Animate.jsx';\nclass DisplayManager {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n this.dataUtils = new DataUtils();\n this.currentDisplay = '';\n this.urlPieces = document.URL.split(\"/\");\n //grab url so system knows what to display \n this.chooseDisplay(this.urlPieces[5], this.urlPieces[6]);\n\n }\n //--------------------------\n // methods\n //--------------------------\n start() {\n let self = this;\n new Animate().object({\n targets: document.getElementById('loader'),\n duration: 300,\n opacity: 0,\n easing: 'easeInOutQuad',\n complete: function () {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n new Animate().object({\n targets: document.getElementById('header'),\n duration: 10,\n opacity: 1,\n easing: 'easeInOutQuad',\n complete: function () {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n }\n });\n }\n });\n }\n\n chooseDisplay(section, page) {\n this.currentDisplay = '';\n //console.log(section+\" \"+page)\n switch (section) {\n case 'entries':\n this\n this.currentDisplay = new Entry();\n break;\n \n default:\n // just chill\n break;\n }\n this.start();\n\n }\n //--------------------------\n // event handlers\n //--------------------------\n\n}\nexport {\n DisplayManager as\n default\n}","import DataUtils, { REQUEST_TYPE_GET, REQUEST_TYPE_PUT, REQUEST_TYPE_POST, REQUEST_TYPE_DELETE, CONTENT_TYPE_JSON, CONTENT_TYPE_FORM } from './tools/utilities/DataUtils.jsx';\nimport * as DataEvent from './tools/events/DataEvent.jsx';\nimport DisplayManager from './controllers/DisplayManager.jsx';\n\nexport default class Base {\n //--------------------------\n // constructor\n //--------------------------\n \n //TODO: Flip to unified structure defined in BMG, brah\n constructor() {\n var self = this;\n var admin = [];\n var folio = [];\n var displayManager = [];\n this.dataUtils = new DataUtils();\n this.settings = [];\n this.start(); \n }\n start() {\n this.displayManager = new DisplayManager();\n }\n //--------------------------\n // methods\n //--------------------------\n loadSettings() {\n var self = this;\n this.dataUtils.request('/base-assets/data/settings.json', DataEvent.SETTINGS_LOADED)\n .then((response) => {\n this.settings = JSON.parse(response['request'].response);\n this.start();\n //transfer \n \n })\n .catch((err) => {\n //console.log(err);\n });\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n\n}\n","import Base from './Base.jsx'\n\ndocument.addEventListener('DOMContentLoaded', function() {\n\n var base = new Base();\n}, false);\n"]} \ No newline at end of file +{"version":3,"sources":["tools/events/EventEmitter.jsx","tools/events/DataEvent.jsx","tools/utilities/DataUtils.jsx","tools/effects/Animate.jsx","tools/effects/TextEffects.jsx","tools/utilities/StringUtils.jsx","tasks/EntryTasks.jsx","../../../../node_modules/tiny-date-picker/dist/tiny-date-picker.js","../../src/mirror.js","../../src/utils.js","../../src/input.js","../../src/editable.js","../../src/main.js","tools/utilities/TextEditor.jsx","controllers/DashEntry.jsx","controllers/DisplayManager.jsx","Base.jsx","Start.jsx"],"names":["EventEmitter","listeners","Map","label","callback","has","set","get","push","isFunction","obj","index","length","reduce","i","listener","splice","args","forEach","REQUEST_GOOD","REQUEST_LAME","IMG_REQUEST_GOOD","IMG_REQUEST_LAME","SETTINGS_LOADED","HTML_LOADED","ARCHIVES_JSON_LOADED","ARCHIVES_PAGE_LOADED","ARCHIVES_ENTRY_LOADED","PROJECT_UPDATED","PROJECT_ADDED","PROJECTS_SORTED","POST_IMAGE_ADDED","DataEvent","REQUEST_TYPE_POST","REQUEST_TYPE_GET","REQUEST_TYPE_PUT","REQUEST_TYPE_DELETE","CONTENT_TYPE_JSON","CONTENT_TYPE_FORM","DataUtils","self","requestURL","eventType","requestType","contentType","requestData","Promise","resolve","reject","request","XMLHttpRequest","upload","onprogress","handleLoadProgress","open","onload","e","status","setRequestHeader","send","JSON","stringify","url","responseType","response","Error","statusText","onerror","src","body","document","querySelector","myImage","Image","crossOrigin","imgLoad","then","imageURL","window","URL","createObjectURL","percentComplete","Math","ceil","loaded","total","Animate","properties","animation","anime","TexEffects","offset","complete","scrambleText","ScrambleText","timeOffset","chars","start","StringUtils","string","clean","replace","toLowerCase","quote_style","optTemp","noquotes","toString","OPTS","concat","ENT_HTML_QUOTE_SINGLE","EntryTasks","folio","dataUtils","edit","uploadFiles","postData","FormData","files","file","type","match","append","name","txt","createElement","innerHTML","getElementById","value","cleanString","postURL","postEventType","postID","getAttribute","console","log","POST_UPDATED","POST_ADDED","catch","err","valid","entry_form","title","price","description","attributes","createMirror","element","html","mirror","mirrorCss","css","tagName","attr","getComputedStyle","initialize","styles","keys","style","key","parentNode","insertBefore","nextSibling","rect","marker","ownerDocument","boundingRect","offsetLeft","offsetTop","offsetHeight","removeChild","isContentEditable","contentEditable","getContext","settings","customPos","iframe","noShadowCaret","contentWindow","contentDocument","getOffset","ctx","win","doc","getBoundingClientRect","docEl","documentElement","scrollLeft","pageXOffset","scrollTop","pageYOffset","top","left","isObject","createInputCaret","getPos","selectionStart","setPos","pos","setSelectionRange","elementOffset","position","getPosition","height","format","val","undefined","startRange","slice","endRange","createEditableCaret","sel","getSelection","found","find","parent","childNodes","node","nodeType","range","createRange","setStart","removeAllRanges","addRange","getRange","hasCustomPos","endOffset","endContainer","clonedRange","cloneRange","fixedPosition","setEnd","width","detach","shadowCaret","createTextNode","insertNode","selectNode","clientTop","clientLeft","inputOffset","rangeCount","getRangeAt","selectNodeContents","createCaret","options","caret","TextEditor","setInputs","hljs","initHighlightingOnLoad","mode","addEventListener","f","fixLimit","refresh","editorButtons","querySelectorAll","handleEditorOption","handlePostImageAdd","click","spiffed","highlight","innerText","temp","preventDefault","pulled","deleteContents","target","id","stopPropagation","parse","Entry","reframe","editor","object","targets","duration","opacity","easing","display","visibility","TextEffects","scramble","handleDragOver","handleDrop","handleClicked","submitPost","note","message","dataTransfer","dropEffect","reader","FileReader","theFile","span","result","escape","join","appendChild","readAsDataURL","DisplayManager","currentDisplay","urlPieces","split","chooseDisplay","section","page","Base","admin","displayManager","base"],"mappings":"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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjrCA,IAAMK,UAAAA,GAAa,CACjB,mBADiB,EAEjB,iBAFiB,EAGjB,kBAHiB,EAIjB,gBAJiB,EAKjB,kBALiB,EAMjB,m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","file":"dash.min.map","sourceRoot":"../../src/com","sourcesContent":["class EventEmitter\n{\n\n //--------------------------\n // constructor\n //--------------------------\n constructor()\n {\n this.listeners = new Map();\n }\n //--------------------------\n // methods\n //--------------------------\n addListener(label, callback) {\n this.listeners.has(label) || this.listeners.set(label, []);\n this.listeners.get(label).push(callback);\n }\n\n removeListener(label, callback) {\n var isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n\n var listeners = this.listeners.get(label),\n index;\n\n if (listeners && listeners.length) {\n index = listeners.reduce((i, listener, index) => {\n return (isFunction(listener) && listener === callback)\n ? i = index\n : i;\n }, -1);\n\n if (index > -1) {\n listeners.splice(index, 1);\n this.listeners.set(label, listeners);\n return true;\n }\n }\n return false;\n }\n\n emitEvent(label, ...args) {\n var listeners = this.listeners.get(label);\n if (listeners && listeners.length) {\n listeners.forEach((listener) => {\n listener(...args);\n });\n return true;\n }\n return false;\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default EventEmitter\n","export const REQUEST_GOOD = 'requestGood';\nexport const REQUEST_LAME = 'requestLame';\nexport const IMG_REQUEST_GOOD = 'imgRequestGood';\nexport const IMG_REQUEST_LAME = 'imgRequestLame';\nexport const SETTINGS_LOADED = 'dataLoaded';\nexport const HTML_LOADED = 'htmlLoaded';\nexport const ARCHIVES_JSON_LOADED = 'archivesJSONLoaded';\nexport const ARCHIVES_PAGE_LOADED = 'archivesPAGELoaded';\nexport const ARCHIVES_ENTRY_LOADED = 'archivesEntryLoaded';\nexport const PROJECT_UPDATED = 'projectUpdated';\nexport const PROJECT_ADDED = 'projectAdded';\nexport const PROJECTS_SORTED = 'projectsSorted';\nexport const POST_IMAGE_ADDED = 'postImageAdded';\n\nclass DataEvent\n{\n\n //--------------------------\n // methods\n //--------------------------\n\n\n\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default new DataEvent\n","export const REQUEST_TYPE_POST = \"POST\";\nexport const REQUEST_TYPE_GET = \"GET\";\nexport const REQUEST_TYPE_PUT = \"PUT\";\nexport const REQUEST_TYPE_DELETE = \"DELETE\";\nexport const CONTENT_TYPE_JSON = 'json';\nexport const CONTENT_TYPE_FORM = 'x-www-form-urlencoded';\nimport EventEmitter from '../events/EventEmitter.jsx';\nimport * as DataEvent from '../events/DataEvent.jsx';\nclass DataUtils extends EventEmitter {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n super();\n var self = this;\n }\n //--------------------------\n // methods\n //--------------------------\n request(requestURL, eventType, requestType = REQUEST_TYPE_GET, contentType = CONTENT_TYPE_JSON, requestData = null) {\n var self = this;\n return new Promise(function(resolve, reject) {\n var request = new XMLHttpRequest();\n request.upload.onprogress = self.handleLoadProgress;\n request.open(requestType, requestURL, true);\n request.onload = function(e) {\n if (request.status == 200) {\n resolve({\n request,\n eventType\n });\n } else {\n reject({\n request,\n eventType\n });\n }\n ;\n };\n if (requestType == REQUEST_TYPE_PUT || requestType == REQUEST_TYPE_POST) {\n switch (contentType) {\n case CONTENT_TYPE_JSON:\n request.setRequestHeader(\"Content-type\", \"application/\" + contentType);\n request.send(JSON.stringify(requestData));\n break;\n case CONTENT_TYPE_FORM:\n request.send(requestData);\n break;\n }\n } else {\n request.send();\n }\n })\n }\n imgLoad(url) {\n 'use strict';\n // Create new promise with the Promise() constructor;\n // This has as its argument a function with two parameters, resolve and reject\n return new Promise(function(resolve, reject) {\n // Standard XHR to load an image\n var request = new XMLHttpRequest();\n request.open('GET', url);\n request.responseType = 'blob';\n // When the request loads, check whether it was successful\n request.onload = function() {\n if (request.status === 200) {\n // If successful, resolve the promise by passing back the request response\n resolve(request.response);\n } else {\n // If it fails, reject the promise with a error message\n reject(new Error('Image didn\\'t load successfully; error code:' + request.statusText));\n }\n };\n request.onerror = function() {\n // Also deal with the case when the entire request fails to begin with\n // This is probably a network error, so reject the promise with an appropriate message\n reject(new Error('There was a network error.'));\n };\n // Send the request\n request.send();\n });\n }\n loadImage(src) {\n 'use strict';\n let self = this;\n return new Promise(function(resolve, reject) {\n // Get a reference to the body element, and create a new image object\n var body = document.querySelector('body'),\n myImage = new Image();\n myImage.crossOrigin = \"\"; // or \"anonymous\"\n // Call the function with the URL we want to load, but then chain the\n // promise then() method on to the end of it. This contains two callbacks\n self.imgLoad(src).then(function(response) {\n // The first runs when the promise resolves, with the request.reponse specified within the resolve() method.\n var imageURL = window.URL.createObjectURL(response);\n resolve(imageURL);\n //$('background-content').setStyle('background-image', 'url('+imageURL+')') //myImage.src = imageURL;\n //console.log(imageURL);\n //body.appendChild(myImage);\n // The second runs when the promise is rejected, and logs the Error specified with the reject() method.\n }, function(Error) {\n reject(Error)\n });\n });\n }\n //--------------------------\n // event handlers\n //--------------------------\n handleLoadProgress(e) {\n var percentComplete = Math.ceil((e.loaded / e.total) * 100);\n //console.log(percentComplete);\n }\n}\nexport default DataUtils;\n","import EventEmitter from '../events/EventEmitter.jsx';;\n\nclass Animate extends EventEmitter {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n super();\n }\n //--------------------------\n // methods\n //--------------------------\n object(properties) {\n var animation = anime(\n properties\n );\n //animation.start(properties);\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default Animate\n","class TexEffects {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {}\n //--------------------------\n // methods\n //--------------------------\n scramble(obj, offset, complete)\n {\n var scrambleText = new ScrambleText(obj, {\n timeOffset: offset,\n chars: [\n '安',\n '以',\n '宇',\n '衣',\n '於',\n '加',\n '幾',\n '久',\n '計',\n '己',\n '左',\n '之',\n '寸',\n '世',\n '曽',\n '太',\n '知',\n '川',\n '天',\n '止',\n '奈',\n '仁',\n '奴',\n '称',\n '乃',\n '波',\n '比',\n '不',\n '部',\n '保',\n '末',\n '美',\n '武',\n '女',\n '毛',\n '也',\n '為',\n '由',\n '恵',\n '与',\n '良',\n '利',\n '留',\n '礼',\n '呂',\n '和',\n '遠',\n '无'\n ],\n callback: complete\n }).start();\n }\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default TexEffects\n","class StringUtils\n{\n\n //--------------------------\n // constructor\n //--------------------------\n constructor()\n {}\n //--------------------------\n // methods\n //--------------------------\n cleanString(string)\n {\n var clean = string.replace(/(^\\-+|[^a-zA-Z0-9\\/_| -]+|\\-+$)/g, '').toLowerCase().replace(/[\\/_| -]+/g, '-');\n return clean;\n }\n\n decodeHTML(string, quote_style) {\n var optTemp = 0,\n i = 0,\n noquotes = false;\n if (typeof quote_style === 'undefined') {\n quote_style = 2;\n }\n string = string.toString().replace(/</g, '<').replace(/>/g, '>');\n var OPTS = {\n 'ENT_NOQUOTES': 0,\n 'ENT_HTML_QUOTE_SINGLE': 1,\n 'ENT_HTML_QUOTE_DOUBLE': 2,\n 'ENT_COMPAT': 2,\n 'ENT_QUOTES': 3,\n 'ENT_IGNORE': 4\n };\n if (quote_style === 0) {\n noquotes = true;\n }\n if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags\n quote_style = [].concat(quote_style);\n for (i = 0; i < quote_style.length; i++) {\n // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4\n if (OPTS[quote_style[i]] === 0) {\n noquotes = true;\n } else if (OPTS[quote_style[i]]) {\n optTemp = optTemp | OPTS[quote_style[i]];\n }\n }\n quote_style = optTemp;\n }\n if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {\n string = string.replace(/�*39;/g, \"'\"); // PHP doesn't currently escape if more than one 0, but it should\n // string = string.replace(/'|�*27;/g, \"'\"); // This would also be useful here, but not a part of PHP\n }\n if (!noquotes) {\n string = string.replace(/"/g, '\"');\n }\n // Put this in last place to avoid escape being double-decoded\n string = string.replace(/&/g, '&');\n return string;\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n}\nexport default StringUtils\n","import DataUtils, { REQUEST_TYPE_GET, REQUEST_TYPE_PUT, REQUEST_TYPE_POST, REQUEST_TYPE_DELETE, CONTENT_TYPE_JSON, CONTENT_TYPE_FORM } from '../tools/utilities/DataUtils';\nimport * as DataEvent from '../tools/events/DataEvent';\nimport StringUtils from '../tools/utilities/StringUtils';\nclass EntryTasks {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n var folio = [];\n this.dataUtils = new DataUtils();\n }\n //--------------------------\n // methods\n //--------------------------\n start() {}\n\n submitPost(edit, uploadFiles) {\n let self = this;\n return new Promise(function(resolve, reject) {\n //collect form data\n //if(!this.validateForm())\n var postData = new FormData();\n //let projectImages = document.getElementById('projectImages');\n //var fileSelect = projectImages;\n var files = uploadFiles;\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n // Check the file type.\n if (!file.type.match('image.*')) {\n continue;\n }\n // Add the file to the request.\n postData.append('feature_image', file, file.name);\n }\n //var category = document.getElementById(\"content_category\");\n //let project_form = document.forms.namedItem(\"folio-project\");\n var txt = document.createElement(\"textarea\");\n txt.innerHTML = document.getElementById('edit-text-code').innerHTML;\n postData.append(\"title\", document.getElementById('entry_title').value);\n postData.append('slug', new StringUtils().cleanString(document.getElementById('entry_title').value));\n postData.append(\"entry_plaintext\", txt.value);\n postData.append(\"tags\", document.getElementById('entry_tags').value);\n let postURL;\n let postEventType;\n if (edit) {\n let postID = document.getElementById('post-sumbit-btn').getAttribute('data-id');\n console.log(\"POST ID: \"+postID);\n postURL = \"/api/blog/update/\" + postID;\n postEventType = DataEvent.POST_UPDATED;\n \n } else {\n postURL = \"/api/blog/add\";\n postEventType = DataEvent.POST_ADDED;\n }\n self.dataUtils.request(postURL, postEventType, REQUEST_TYPE_POST, CONTENT_TYPE_FORM, postData)\n .then((response) => {\n resolve({\n response\n })\n }).catch((err) => {\n reject({\n err\n });\n })\n });\n }\n\n validateForm() {\n let valid = false;\n if (this.entry_form.title.value == \"\" || this.entry_form.price.value == \"\" || this.entry_form.description == \"\") {\n return valid;\n } else {\n valid = true;\n return valid;\n }\n }\n//--------------------------\n// event handlers\n//--------------------------\n}\nexport { EntryTasks as default }\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.TinyDatePicker = factory());\n}(this, (function () { 'use strict';\n\n /**\n * @file A generic set of mutation-free date functions.\n */\n\n /**\n * now returns the current date without any time values\n *\n * @returns {Date}\n */\n function now() {\n var dt = new Date();\n dt.setHours(0, 0, 0, 0);\n return dt;\n }\n\n /**\n * dateEq compares two dates\n *\n * @param {Date} date1 the first date\n * @param {Date} date2 the second date\n * @returns {boolean}\n */\n function datesEq(date1, date2) {\n return (date1 && date1.toDateString()) === (date2 && date2.toDateString());\n }\n\n /**\n * shiftDay shifts the specified date by n days\n *\n * @param {Date} dt\n * @param {number} n\n * @returns {Date}\n */\n function shiftDay(dt, n) {\n dt = new Date(dt);\n dt.setDate(dt.getDate() + n);\n return dt;\n }\n\n /**\n * shiftMonth shifts the specified date by a specified number of months\n *\n * @param {Date} dt\n * @param {number} n\n * @param {boolean} wrap optional, if true, does not change year\n * value, defaults to false\n * @returns {Date}\n */\n function shiftMonth(dt, n, wrap) {\n dt = new Date(dt);\n\n var dayOfMonth = dt.getDate();\n var month = dt.getMonth() + n;\n\n dt.setDate(1);\n dt.setMonth(wrap ? (12 + month) % 12 : month);\n dt.setDate(dayOfMonth);\n\n // If dayOfMonth = 31, but the target month only has 30 or 29 or whatever...\n // head back to the max of the target month\n if (dt.getDate() < dayOfMonth) {\n dt.setDate(0);\n }\n\n return dt;\n }\n\n /**\n * shiftYear shifts the specified date by n years\n *\n * @param {Date} dt\n * @param {number} n\n * @returns {Date}\n */\n function shiftYear(dt, n) {\n dt = new Date(dt);\n dt.setFullYear(dt.getFullYear() + n);\n return dt;\n }\n\n /**\n * setYear changes the specified date to the specified year\n *\n * @param {Date} dt\n * @param {number} year\n */\n function setYear(dt, year) {\n dt = new Date(dt);\n dt.setFullYear(year);\n return dt;\n }\n\n /**\n * setMonth changes the specified date to the specified month\n *\n * @param {Date} dt\n * @param {number} month\n */\n function setMonth(dt, month) {\n return shiftMonth(dt, month - dt.getMonth());\n }\n\n /**\n * dateOrParse creates a function which, given a date or string, returns a date\n *\n * @param {function} parse the function used to parse strings\n * @returns {function}\n */\n function dateOrParse(parse) {\n return function (dt) {\n return dropTime(typeof dt === 'string' ? parse(dt) : dt);\n };\n }\n\n /**\n * constrainDate returns dt or min/max depending on whether dt is out of bounds (inclusive)\n *\n * @export\n * @param {Date} dt\n * @param {Date} min\n * @param {Date} max\n * @returns {Date}\n */\n function constrainDate(dt, min, max) {\n return (dt < min) ? min :\n (dt > max) ? max :\n dt;\n }\n\n function dropTime(dt) {\n dt = new Date(dt);\n dt.setHours(0, 0, 0, 0);\n return dt;\n }\n\n /**\n * @file Utility functions for function manipulation.\n */\n\n /**\n * bufferFn buffers calls to fn so they only happen every ms milliseconds\n *\n * @param {number} ms number of milliseconds\n * @param {function} fn the function to be buffered\n * @returns {function}\n */\n function bufferFn(ms, fn) {\n var timeout = undefined;\n return function () {\n clearTimeout(timeout);\n timeout = setTimeout(fn, ms);\n };\n }\n\n /**\n * noop is a function which does nothing at all.\n */\n function noop() { }\n\n /**\n * copy properties from object o2 to object o1.\n *\n * @params {Object} o1\n * @params {Object} o2\n * @returns {Object}\n */\n function cp() {\n var args = arguments;\n var o1 = args[0];\n for (var i = 1; i < args.length; ++i) {\n var o2 = args[i] || {};\n for (var key in o2) {\n o1[key] = o2[key];\n }\n }\n return o1;\n }\n\n /**\n * @file Responsible for sanitizing and creating date picker options.\n */\n\n var english = {\n days: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n today: 'Today',\n clear: 'Clear',\n close: 'Close',\n };\n\n /**\n * DatePickerOptions constructs a new date picker options object, overriding\n * default values with any values specified in opts.\n *\n * @param {DatePickerOptions} opts\n * @returns {DatePickerOptions}\n */\n function DatePickerOptions(opts) {\n opts = opts || {};\n opts = cp(defaults(), opts);\n var parse = dateOrParse(opts.parse);\n opts.lang = cp(english, opts.lang);\n opts.parse = parse;\n opts.inRange = makeInRangeFn(opts);\n opts.min = parse(opts.min || shiftYear(now(), -100));\n opts.max = parse(opts.max || shiftYear(now(), 100));\n opts.hilightedDate = opts.parse(opts.hilightedDate);\n\n return opts;\n }\n\n function defaults() {\n return {\n lang: english,\n\n // Possible values: dp-modal, dp-below, dp-permanent\n mode: 'dp-modal',\n\n // The date to hilight initially if the date picker has no\n // initial value.\n hilightedDate: now(),\n\n format: function (dt) {\n return (dt.getMonth() + 1) + '/' + dt.getDate() + '/' + dt.getFullYear();\n },\n\n parse: function (str) {\n var date = new Date(str);\n return isNaN(date) ? now() : date;\n },\n\n dateClass: function () { },\n\n inRange: function () {\n return true;\n }\n };\n }\n\n function makeInRangeFn(opts) {\n var inRange = opts.inRange; // Cache this version, and return a variant\n\n return function (dt, dp) {\n return inRange(dt, dp) && opts.min <= dt && opts.max >= dt;\n };\n }\n\n /**\n * @file Helper functions for dealing with dom elements.\n */\n\n var Key = {\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n enter: 13,\n esc: 27,\n };\n\n /**\n * on attaches an event handler to the specified element, and returns an\n * off function which can be used to remove the handler.\n *\n * @param {string} evt the name of the event to handle\n * @param {HTMLElement} el the element to attach to\n * @param {function} handler the event handler\n * @returns {function} the off function\n */\n function on(evt, el, handler) {\n el.addEventListener(evt, handler, true);\n\n return function () {\n el.removeEventListener(evt, handler, true);\n };\n }\n\n var CustomEvent = shimCustomEvent();\n\n function shimCustomEvent() {\n var CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function (event, params) {\n params = params || {bubbles: false, cancelable: false, detail: undefined};\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n }\n\n return CustomEvent;\n }\n\n /**\n * @file Manages the calendar / day-picker view.\n */\n\n var dayPicker = {\n onKeyDown: keyDown,\n onClick: {\n 'dp-day': selectDay,\n 'dp-next': gotoNextMonth,\n 'dp-prev': gotoPrevMonth,\n 'dp-today': selectToday,\n 'dp-clear': clear,\n 'dp-close': close,\n 'dp-cal-month': showMonthPicker,\n 'dp-cal-year': showYearPicker,\n },\n render: render\n };\n\n /**\n * view renders the calendar (day picker) as an HTML string.\n *\n * @param {DatePickerContext} context the date picker being rendered\n * @returns {string}\n */\n function render(dp) {\n var opts = dp.opts;\n var lang = opts.lang;\n var state = dp.state;\n var dayNames = lang.days;\n var dayOffset = opts.dayOffset || 0;\n var selectedDate = state.selectedDate;\n var hilightedDate = state.hilightedDate;\n var hilightedMonth = hilightedDate.getMonth();\n var today = now().getTime();\n\n return (\n '
' +\n '
' +\n '' +\n '' +\n '' +\n '' +\n '
' +\n '
' +\n dayNames.map(function (name, i) {\n return (\n '' + dayNames[(i + dayOffset) % dayNames.length] + ''\n );\n }).join('') +\n mapDays(hilightedDate, dayOffset, function (date) {\n var isNotInMonth = date.getMonth() !== hilightedMonth;\n var isDisabled = !opts.inRange(date);\n var isToday = date.getTime() === today;\n var className = 'dp-day';\n className += (isNotInMonth ? ' dp-edge-day' : '');\n className += (datesEq(date, hilightedDate) ? ' dp-current' : '');\n className += (datesEq(date, selectedDate) ? ' dp-selected' : '');\n className += (isDisabled ? ' dp-day-disabled' : '');\n className += (isToday ? ' dp-day-today' : '');\n className += ' ' + opts.dateClass(date, dp);\n\n return (\n ''\n );\n }) +\n '
' +\n '
' +\n '' +\n '' +\n '' +\n '
' +\n '
'\n );\n }\n\n /**\n * keyDown handles the key down event for the day-picker\n *\n * @param {Event} e\n * @param {DatePickerContext} dp\n */\n function keyDown(e, dp) {\n var key = e.keyCode;\n var shiftBy =\n (key === Key.left) ? -1 :\n (key === Key.right) ? 1 :\n (key === Key.up) ? -7 :\n (key === Key.down) ? 7 :\n 0;\n\n if (key === Key.esc) {\n dp.close();\n } else if (shiftBy) {\n e.preventDefault();\n dp.setState({\n hilightedDate: shiftDay(dp.state.hilightedDate, shiftBy)\n });\n }\n }\n\n function selectToday(e, dp) {\n dp.setState({\n selectedDate: now(),\n });\n }\n\n function clear(e, dp) {\n dp.setState({\n selectedDate: null,\n });\n }\n\n function close(e, dp) {\n dp.close();\n }\n\n function showMonthPicker(e, dp) {\n dp.setState({\n view: 'month'\n });\n }\n\n function showYearPicker(e, dp) {\n dp.setState({\n view: 'year'\n });\n }\n\n function gotoNextMonth(e, dp) {\n var hilightedDate = dp.state.hilightedDate;\n dp.setState({\n hilightedDate: shiftMonth(hilightedDate, 1)\n });\n }\n\n function gotoPrevMonth(e, dp) {\n var hilightedDate = dp.state.hilightedDate;\n dp.setState({\n hilightedDate: shiftMonth(hilightedDate, -1)\n });\n }\n\n function selectDay(e, dp) {\n dp.setState({\n selectedDate: new Date(parseInt(e.target.getAttribute('data-date'))),\n });\n }\n\n function mapDays(currentDate, dayOffset, fn) {\n var result = '';\n var iter = new Date(currentDate);\n iter.setDate(1);\n iter.setDate(1 - iter.getDay() + dayOffset);\n\n // If we are showing monday as the 1st of the week,\n // and the monday is the 2nd of the month, the sunday won't\n // show, so we need to shift backwards\n if (dayOffset && iter.getDate() === dayOffset + 1) {\n iter.setDate(dayOffset - 6);\n }\n\n // We are going to have 6 weeks always displayed to keep a consistent\n // calendar size\n for (var day = 0; day < (6 * 7); ++day) {\n result += fn(iter);\n iter.setDate(iter.getDate() + 1);\n }\n\n return result;\n }\n\n /**\n * @file Manages the month-picker view.\n */\n\n var monthPicker = {\n onKeyDown: keyDown$1,\n onClick: {\n 'dp-month': onChooseMonth\n },\n render: render$1\n };\n\n function onChooseMonth(e, dp) {\n dp.setState({\n hilightedDate: setMonth(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-month'))),\n view: 'day',\n });\n }\n\n /**\n * render renders the month picker as an HTML string\n *\n * @param {DatePickerContext} dp the date picker context\n * @returns {string}\n */\n function render$1(dp) {\n var opts = dp.opts;\n var lang = opts.lang;\n var months = lang.months;\n var currentDate = dp.state.hilightedDate;\n var currentMonth = currentDate.getMonth();\n\n return (\n '
' +\n months.map(function (month, i) {\n var className = 'dp-month';\n className += (currentMonth === i ? ' dp-current' : '');\n\n return (\n ''\n );\n }).join('') +\n '
'\n );\n }\n\n /**\n * keyDown handles keydown events that occur in the month picker\n *\n * @param {Event} e\n * @param {DatePickerContext} dp\n */\n function keyDown$1(e, dp) {\n var key = e.keyCode;\n var shiftBy =\n (key === Key.left) ? -1 :\n (key === Key.right) ? 1 :\n (key === Key.up) ? -3 :\n (key === Key.down) ? 3 :\n 0;\n\n if (key === Key.esc) {\n dp.setState({\n view: 'day',\n });\n } else if (shiftBy) {\n e.preventDefault();\n dp.setState({\n hilightedDate: shiftMonth(dp.state.hilightedDate, shiftBy, true)\n });\n }\n }\n\n /**\n * @file Manages the year-picker view.\n */\n\n var yearPicker = {\n render: render$2,\n onKeyDown: keyDown$2,\n onClick: {\n 'dp-year': onChooseYear\n },\n };\n\n /**\n * view renders the year picker as an HTML string.\n *\n * @param {DatePickerContext} dp the date picker context\n * @returns {string}\n */\n function render$2(dp) {\n var state = dp.state;\n var currentYear = state.hilightedDate.getFullYear();\n var selectedYear = state.selectedDate.getFullYear();\n\n return (\n '
' +\n mapYears(dp, function (year) {\n var className = 'dp-year';\n className += (year === currentYear ? ' dp-current' : '');\n className += (year === selectedYear ? ' dp-selected' : '');\n\n return (\n ''\n );\n }) +\n '
'\n );\n }\n\n function onChooseYear(e, dp) {\n dp.setState({\n hilightedDate: setYear(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-year'))),\n view: 'day',\n });\n }\n\n function keyDown$2(e, dp) {\n var key = e.keyCode;\n var opts = dp.opts;\n var shiftBy =\n (key === Key.left || key === Key.up) ? 1 :\n (key === Key.right || key === Key.down) ? -1 :\n 0;\n\n if (key === Key.esc) {\n dp.setState({\n view: 'day',\n });\n } else if (shiftBy) {\n e.preventDefault();\n var shiftedYear = shiftYear(dp.state.hilightedDate, shiftBy);\n\n dp.setState({\n hilightedDate: constrainDate(shiftedYear, opts.min, opts.max),\n });\n }\n }\n\n function mapYears(dp, fn) {\n var result = '';\n var max = dp.opts.max.getFullYear();\n\n for (var i = max; i >= dp.opts.min.getFullYear(); --i) {\n result += fn(i);\n }\n\n return result;\n }\n\n /**\n * @file Defines the base date picker behavior, overridden by various modes.\n */\n\n var views = {\n day: dayPicker,\n year: yearPicker,\n month: monthPicker\n };\n\n function BaseMode(input, emit, opts) {\n var detatchInputEvents; // A function that detaches all events from the input\n var closing = false; // A hack to prevent calendar from re-opening when closing.\n var selectedDate; // The currently selected date\n var dp = {\n // The root DOM element for the date picker, initialized on first open.\n el: undefined,\n opts: opts,\n shouldFocusOnBlur: true,\n shouldFocusOnRender: true,\n state: initialState(),\n adjustPosition: noop,\n containerHTML: '
',\n\n attachToDom: function () {\n document.body.appendChild(dp.el);\n },\n\n updateInput: function (selectedDate) {\n var e = new CustomEvent('change', {bubbles: true});\n e.simulated = true;\n input.value = selectedDate ? opts.format(selectedDate) : '';\n input.dispatchEvent(e);\n },\n\n computeSelectedDate: function () {\n return opts.parse(input.value);\n },\n\n currentView: function() {\n return views[dp.state.view];\n },\n\n open: function () {\n if (closing) {\n return;\n }\n\n if (!dp.el) {\n dp.el = createContainerElement(opts, dp.containerHTML);\n attachContainerEvents(dp);\n }\n\n selectedDate = constrainDate(dp.computeSelectedDate(), opts.min, opts.max);\n dp.state.hilightedDate = selectedDate || opts.hilightedDate;\n dp.state.view = 'day';\n\n dp.attachToDom();\n dp.render();\n\n emit('open');\n },\n\n isVisible: function () {\n return !!dp.el && !!dp.el.parentNode;\n },\n\n hasFocus: function () {\n var focused = document.activeElement;\n return dp.el &&\n dp.el.contains(focused) &&\n focused.className.indexOf('dp-focuser') < 0;\n },\n\n shouldHide: function () {\n return dp.isVisible();\n },\n\n close: function (becauseOfBlur) {\n var el = dp.el;\n\n if (!dp.isVisible()) {\n return;\n }\n\n if (el) {\n var parent = el.parentNode;\n parent && parent.removeChild(el);\n }\n\n closing = true;\n\n if (becauseOfBlur && dp.shouldFocusOnBlur) {\n focusInput(input);\n }\n\n // When we close, the input often gains refocus, which\n // can then launch the date picker again, so we buffer\n // a bit and don't show the date picker within N ms of closing\n setTimeout(function() {\n closing = false;\n }, 100);\n\n emit('close');\n },\n\n destroy: function () {\n dp.close();\n detatchInputEvents();\n },\n\n render: function () {\n if (!dp.el) {\n return;\n }\n\n var hadFocus = dp.hasFocus();\n var html = dp.currentView().render(dp);\n html && (dp.el.firstChild.innerHTML = html);\n\n dp.adjustPosition();\n\n if (hadFocus || dp.shouldFocusOnRender) {\n focusCurrent(dp);\n }\n },\n\n // Conceptually similar to setState in React, updates\n // the view state and re-renders.\n setState: function (state) {\n for (var key in state) {\n dp.state[key] = state[key];\n }\n\n emit('statechange');\n dp.render();\n },\n };\n\n detatchInputEvents = attachInputEvents(input, dp);\n\n // Builds the initial view state\n // selectedDate is a special case and causes changes to hilightedDate\n // hilightedDate is set on open, so remains undefined initially\n // view is the current view (day, month, year)\n function initialState() {\n return {\n get selectedDate() {\n return selectedDate;\n },\n set selectedDate(dt) {\n if (dt && !opts.inRange(dt)) {\n return;\n }\n\n if (dt) {\n selectedDate = new Date(dt);\n dp.state.hilightedDate = selectedDate;\n } else {\n selectedDate = dt;\n }\n\n dp.updateInput(selectedDate);\n emit('select');\n dp.close();\n },\n view: 'day',\n };\n }\n\n return dp;\n }\n\n function createContainerElement(opts, containerHTML) {\n var el = document.createElement('div');\n\n el.className = opts.mode;\n el.innerHTML = containerHTML;\n\n return el;\n }\n\n function attachInputEvents(input, dp) {\n var bufferShow = bufferFn(5, function () {\n if (dp.shouldHide()) {\n dp.close();\n } else {\n dp.open();\n }\n });\n\n var off = [\n on('blur', input, bufferFn(150, function () {\n if (!dp.hasFocus()) {\n dp.close(true);\n }\n })),\n\n on('mousedown', input, function () {\n if (input === document.activeElement) {\n bufferShow();\n }\n }),\n\n on('focus', input, bufferShow),\n\n on('input', input, function (e) {\n var date = dp.opts.parse(e.target.value);\n isNaN(date) || dp.setState({\n hilightedDate: date\n });\n }),\n ];\n\n // Unregister all events that were registered above.\n return function() {\n off.forEach(function (f) {\n f();\n });\n };\n }\n\n function focusCurrent(dp) {\n var current = dp.el.querySelector('.dp-current');\n return current && current.focus();\n }\n\n function attachContainerEvents(dp) {\n var el = dp.el;\n var calEl = el.querySelector('.dp');\n\n // Hack to get iOS to show active CSS states\n el.ontouchstart = noop;\n\n function onClick(e) {\n e.target.className.split(' ').forEach(function(evt) {\n var handler = dp.currentView().onClick[evt];\n handler && handler(e, dp);\n });\n }\n\n // The calender fires a blur event *every* time we redraw\n // this means we need to buffer the blur event to see if\n // it still has no focus after redrawing, and only then\n // do we return focus to the input. A possible other approach\n // would be to set context.redrawing = true on redraw and\n // set it to false in the blur event.\n on('blur', calEl, bufferFn(150, function () {\n if (!dp.hasFocus()) {\n dp.close(true);\n }\n }));\n\n on('keydown', el, function (e) {\n if (e.keyCode === Key.enter) {\n onClick(e);\n } else {\n dp.currentView().onKeyDown(e, dp);\n }\n });\n\n // If the user clicks in non-focusable space, but\n // still within the date picker, we don't want to\n // hide, so we need to hack some things...\n on('mousedown', calEl, function (e) {\n e.target.focus && e.target.focus(); // IE hack\n if (document.activeElement !== e.target) {\n e.preventDefault();\n focusCurrent(dp);\n }\n });\n\n on('click', el, onClick);\n }\n\n function focusInput(input) {\n // When the modal closes, we need to focus the original input so the\n // user can continue tabbing from where they left off.\n input.focus();\n\n // iOS zonks out if we don't blur the input, so...\n if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {\n input.blur();\n }\n }\n\n /**\n * @file Defines the modal date picker behavior.\n */\n\n function ModalMode(input, emit, opts) {\n var dp = BaseMode(input, emit, opts);\n\n // In modal mode, users really shouldn't be able to type in\n // the input, as all input is done via the calendar.\n input.readonly = true;\n\n // In modal mode, we need to know when the user has tabbed\n // off the end of the calendar, and set focus to the original\n // input. To do this, we add a special element to the DOM.\n // When the user tabs off the bottom of the calendar, they\n // will tab onto this element.\n dp.containerHTML += '.';\n\n return dp;\n }\n\n /**\n * @file Defines the dropdown date picker behavior.\n */\n\n function DropdownMode(input, emit, opts) {\n var dp = BaseMode(input, emit, opts);\n\n dp.shouldFocusOnBlur = false;\n\n Object.defineProperty(dp, 'shouldFocusOnRender', {\n get: function() {\n return input !== document.activeElement;\n }\n });\n\n dp.adjustPosition = function () {\n autoPosition(input, dp);\n };\n\n return dp;\n }\n\n function autoPosition(input, dp) {\n var inputPos = input.getBoundingClientRect();\n var win = window;\n\n adjustCalY(dp, inputPos, win);\n adjustCalX(dp, inputPos, win);\n\n dp.el.style.visibility = '';\n }\n\n function adjustCalX(dp, inputPos, win) {\n var cal = dp.el;\n var scrollLeft = win.pageXOffset;\n var inputLeft = inputPos.left + scrollLeft;\n var maxRight = win.innerWidth + scrollLeft;\n var offsetWidth = cal.offsetWidth;\n var calRight = inputLeft + offsetWidth;\n var shiftedLeft = maxRight - offsetWidth;\n var left = calRight > maxRight && shiftedLeft > 0 ? shiftedLeft : inputLeft;\n\n cal.style.left = left + 'px';\n }\n\n function adjustCalY(dp, inputPos, win) {\n var cal = dp.el;\n var scrollTop = win.pageYOffset;\n var inputTop = scrollTop + inputPos.top;\n var calHeight = cal.offsetHeight;\n var belowTop = inputTop + inputPos.height + 8;\n var aboveTop = inputTop - calHeight - 8;\n var isAbove = (aboveTop > 0 && belowTop + calHeight > scrollTop + win.innerHeight);\n var top = isAbove ? aboveTop : belowTop;\n\n if (cal.classList) {\n cal.classList.toggle('dp-is-above', isAbove);\n cal.classList.toggle('dp-is-below', !isAbove);\n }\n cal.style.top = top + 'px';\n }\n\n /**\n * @file Defines the permanent date picker behavior.\n */\n\n function PermanentMode(root, emit, opts) {\n var dp = BaseMode(root, emit, opts);\n\n dp.close = noop;\n dp.destroy = noop;\n dp.updateInput = noop;\n dp.shouldFocusOnRender = opts.shouldFocusOnRender;\n\n dp.computeSelectedDate = function () {\n return opts.hilightedDate;\n };\n\n dp.attachToDom = function () {\n root.appendChild(dp.el);\n };\n\n dp.open();\n\n return dp;\n }\n\n /**\n * @file Defines the various date picker modes (modal, dropdown, permanent)\n */\n\n function Mode(input, emit, opts) {\n input = input && input.tagName ? input : document.querySelector(input);\n\n if (opts.mode === 'dp-modal') {\n return ModalMode(input, emit, opts);\n }\n\n if (opts.mode === 'dp-below') {\n return DropdownMode(input, emit, opts);\n }\n\n if (opts.mode === 'dp-permanent') {\n return PermanentMode(input, emit, opts);\n }\n }\n\n /**\n * @file Defines simple event emitter behavior.\n */\n\n /**\n * Emitter constructs a new emitter object which has on/off methods.\n *\n * @returns {EventEmitter}\n */\n function Emitter() {\n var handlers = {};\n\n function onOne(name, handler) {\n (handlers[name] = (handlers[name] || [])).push(handler);\n }\n\n function onMany(fns) {\n for (var name in fns) {\n onOne(name, fns[name]);\n }\n }\n\n return {\n on: function (name, handler) {\n if (handler) {\n onOne(name, handler);\n } else {\n onMany(name);\n }\n\n return this;\n },\n\n emit: function (name, arg) {\n (handlers[name] || []).forEach(function (handler) {\n handler(name, arg);\n });\n },\n\n off: function (name, handler) {\n if (!name) {\n handlers = {};\n } else if (!handler) {\n handlers[name] = [];\n } else {\n handlers[name] = (handlers[name] || []).filter(function (h) {\n return h !== handler;\n });\n }\n\n return this;\n }\n };\n }\n\n /**\n * @file The root date picker file, defines public exports for the library.\n */\n\n /**\n * The date picker language configuration\n * @typedef {Object} LangOptions\n * @property {Array.} [days] - Days of the week\n * @property {Array.} [months] - Months of the year\n * @property {string} today - The label for the 'today' button\n * @property {string} close - The label for the 'close' button\n * @property {string} clear - The label for the 'clear' button\n */\n\n /**\n * The configuration options for a date picker.\n *\n * @typedef {Object} DatePickerOptions\n * @property {LangOptions} [lang] - Configures the label text, defaults to English\n * @property {('dp-modal'|'dp-below'|'dp-permanent')} [mode] - The date picker mode, defaults to 'dp-modal'\n * @property {(string|Date)} [hilightedDate] - The date to hilight if no date is selected\n * @property {function(string|Date):Date} [parse] - Parses a date, the complement of the \"format\" function\n * @property {function(Date):string} [format] - Formats a date for displaying to user\n * @property {function(Date):string} [dateClass] - Associates a custom CSS class with a date\n * @property {function(Date):boolean} [inRange] - Indicates whether or not a date is selectable\n * @property {(string|Date)} [min] - The minimum selectable date (inclusive, default 100 years ago)\n * @property {(string|Date)} [max] - The maximum selectable date (inclusive, default 100 years from now)\n */\n\n /**\n * The state values for the date picker\n *\n * @typedef {Object} DatePickerState\n * @property {string} view - The current view 'day' | 'month' | 'year'\n * @property {Date} selectedDate - The date which has been selected by the user\n * @property {Date} hilightedDate - The date which is currently hilighted / active\n */\n\n /**\n * An instance of TinyDatePicker\n *\n * @typedef {Object} DatePicker\n * @property {DatePickerState} state - The values currently displayed.\n * @property {function} on - Adds an event handler\n * @property {function} off - Removes an event handler\n * @property {function} setState - Changes the current state of the date picker\n * @property {function} open - Opens the date picker\n * @property {function} close - Closes the date picker\n * @property {function} destroy - Destroys the date picker (removing all handlers from the input, too)\n */\n\n /**\n * TinyDatePicker constructs a new date picker for the specified input\n *\n * @param {HTMLElement | string} input The input or CSS selector associated with the datepicker\n * @param {DatePickerOptions} opts The options for initializing the date picker\n * @returns {DatePicker}\n */\n function TinyDatePicker(input, opts) {\n var emitter = Emitter();\n var options = DatePickerOptions(opts);\n var mode = Mode(input, emit, options);\n var me = {\n get state() {\n return mode.state;\n },\n on: emitter.on,\n off: emitter.off,\n setState: mode.setState,\n open: mode.open,\n close: mode.close,\n destroy: mode.destroy,\n };\n\n function emit(evt) {\n emitter.emit(evt, me);\n }\n\n return me;\n }\n\n return TinyDatePicker;\n\n})));\n","const attributes = [\n 'borderBottomWidth',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopStyle',\n 'borderRightStyle',\n 'borderBottomStyle',\n 'borderLeftStyle',\n 'borderTopWidth',\n 'boxSizing',\n 'fontFamily',\n 'fontSize',\n 'fontWeight',\n 'height',\n 'letterSpacing',\n 'lineHeight',\n 'marginBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'outlineWidth',\n 'overflow',\n 'overflowX',\n 'overflowY',\n 'paddingBottom',\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'textAlign',\n 'textOverflow',\n 'textTransform',\n 'whiteSpace',\n 'wordBreak',\n 'wordWrap',\n];\n\n/**\n * Create a mirror\n *\n * @param {Element} element The element\n * @param {string} html The html\n *\n * @return {object} The mirror object\n */\nconst createMirror = (element, html) => {\n\n /**\n * The mirror element\n */\n const mirror = document.createElement('div');\n\n /**\n * Create the CSS for the mirror object\n *\n * @return {object} The style object\n */\n const mirrorCss = () => {\n const css = {\n position: 'absolute',\n left: -9999,\n top: 0,\n zIndex: -2000\n };\n\n if (element.tagName === 'TEXTAREA') {\n attributes.push('width');\n }\n\n attributes.forEach((attr) => {\n css[attr] = getComputedStyle(element)[attr];\n });\n\n return css;\n };\n\n /**\n * Initialize the mirror\n *\n * @param {string} html The html\n *\n * @return {void}\n */\n const initialize = (html) => {\n const styles = mirrorCss();\n Object.keys(styles).forEach(key => {\n mirror.style[key] = styles[key];\n });\n mirror.innerHTML = html;\n element.parentNode.insertBefore(mirror, element.nextSibling);\n };\n\n /**\n * Get the rect\n *\n * @return {Rect} The bounding rect\n */\n const rect = () => {\n const marker = mirror.ownerDocument.getElementById('caret-position-marker');\n const boundingRect = {\n left: marker.offsetLeft,\n top: marker.offsetTop,\n height: marker.offsetHeight\n };\n mirror.parentNode.removeChild(mirror);\n\n return boundingRect;\n };\n\n initialize(html);\n\n return {\n rect,\n };\n};\n\nexport default createMirror;\n","/**\n * Check if a DOM Element is content editable\n *\n * @param {Element} element The DOM element\n *\n * @return {bool} If it is content editable\n */\nexport const isContentEditable = (element) => !!(\n element.contentEditable &&\n element.contentEditable === 'true'\n);\n\n/**\n * Get the context from settings passed in\n *\n * @param {object} settings The settings object\n *\n * @return {object} window and document\n */\nexport const getContext = (settings = {}) => {\n const { customPos, iframe, noShadowCaret } = settings;\n if (iframe) {\n return {\n iframe,\n window: iframe.contentWindow,\n document: iframe.contentDocument || iframe.contentWindow.document,\n noShadowCaret,\n customPos,\n };\n }\n\n return {\n window,\n document,\n noShadowCaret,\n customPos,\n };\n};\n\n/**\n * Get the offset of an element\n *\n * @param {Element} element The DOM element\n * @param {object} ctx The context\n *\n * @return {object} top and left\n */\nexport const getOffset = (element, ctx) => {\n const win = ctx && ctx.window || window;\n const doc = ctx && ctx.document || document;\n const rect = element.getBoundingClientRect();\n const docEl = doc.documentElement;\n const scrollLeft = win.pageXOffset || docEl.scrollLeft;\n const scrollTop = win.pageYOffset || docEl.scrollTop;\n\n return {\n top: rect.top + scrollTop,\n left: rect.left + scrollLeft\n };\n};\n\n/**\n * Check if a value is an object\n *\n * @param {any} value The value to check\n *\n * @return {bool} If it is an object\n */\nexport const isObject = (value) => typeof value === 'object' && value !== null;\n","import createMirror from './mirror';\nimport { getOffset as elementOffset } from './utils';\n\n/**\n * Create a Input caret object.\n *\n * @param {Element} element The element\n * @param {Object} ctx The context\n */\nconst createInputCaret = (element, ctx) => {\n\n /**\n * Get the current position\n *\n * @returns {int} The caret position\n */\n const getPos = () => {\n return element.selectionStart;\n };\n\n /**\n * Set the position\n *\n * @param {int} pos The position\n *\n * @return {Element} The element\n */\n const setPos = (pos) => {\n element.setSelectionRange(pos, pos);\n\n return element;\n };\n\n /**\n * The offset\n *\n * @param {int} pos The position\n *\n * @return {object} The offset\n */\n const getOffset = (pos) => {\n const rect = elementOffset(element);\n const position = getPosition(pos);\n\n return {\n top: rect.top + position.top + ctx.document.body.scrollTop,\n left: rect.left + position.left + ctx.document.body.scrollLeft,\n height: position.height,\n };\n };\n\n /**\n * Get the current position\n *\n * @param {int} pos The position\n *\n * @return {object} The position\n */\n const getPosition = (pos) => {\n const format = (val) => {\n let value = val.replace(/<|>|`|\"|&/g, '?')\n .replace(/\\r\\n|\\r|\\n/g,'
');\n return value;\n };\n\n if (ctx.customPos || ctx.customPos === 0) {\n pos = ctx.customPos;\n }\n\n const position = pos === undefined ? getPos() : pos;\n const startRange = element.value.slice(0, position);\n const endRange = element.value.slice(position);\n let html = `${format(startRange)}`;\n html += '|';\n html += `${format(endRange)}`;\n\n const mirror = createMirror(element, html);\n const rect = mirror.rect();\n rect.pos = getPos();\n\n return rect;\n };\n\n return {\n getPos,\n setPos,\n getOffset,\n getPosition,\n };\n};\n\nexport default createInputCaret;\n","/**\n * Create an Editable Caret\n * @param {Element} element The editable element\n * @param {object|null} ctx The context\n *\n * @return {EditableCaret}\n */\nconst createEditableCaret = (element, ctx) => {\n\n /**\n * Set the caret position\n *\n * @param {int} pos The position to se\n *\n * @return {Element} The element\n */\n const setPos = (pos) => {\n const sel = ctx.window.getSelection();\n if (sel) {\n let offset = 0;\n let found = false;\n const find = (position, parent) => {\n for (let i = 0; i < parent.childNodes.length; i++) {\n const node = parent.childNodes[i];\n if (found) {\n break;\n }\n if (node.nodeType === 3) {\n if (offset + node.length >= position) {\n found = true;\n const range = ctx.document.createRange();\n range.setStart(node, position - offset);\n sel.removeAllRanges();\n sel.addRange(range);\n break;\n } else {\n offset += node.length;\n }\n } else {\n find(pos, node);\n }\n }\n };\n find(pos, element);\n }\n\n return element;\n };\n\n /**\n * Get the offset\n *\n * @return {object} The offset\n */\n const getOffset = () => {\n const range = getRange();\n let offset = {\n height: 0,\n left: 0,\n right: 0,\n };\n\n if (!range) {\n return offset;\n }\n\n const hasCustomPos = ctx.customPos || ctx.customPos === 0;\n\n // endContainer in Firefox would be the element at the start of\n // the line\n if ((range.endOffset - 1 > 0 && range.endContainer !== element) || hasCustomPos) {\n const clonedRange = range.cloneRange();\n const fixedPosition = hasCustomPos ? ctx.customPos : range.endOffset;\n clonedRange.setStart(range.endContainer, fixedPosition - 1 < 0 ? 0 : fixedPosition - 1);\n clonedRange.setEnd(range.endContainer, fixedPosition);\n const rect = clonedRange.getBoundingClientRect();\n offset = {\n height: rect.height,\n left: rect.left + rect.width,\n top: rect.top,\n };\n clonedRange.detach();\n }\n\n if ((!offset || (offset && offset.height === 0)) && !ctx.noShadowCaret) {\n const clonedRange = range.cloneRange();\n const shadowCaret = ctx.document.createTextNode('|');\n clonedRange.insertNode(shadowCaret);\n clonedRange.selectNode(shadowCaret);\n const rect = clonedRange.getBoundingClientRect();\n offset = {\n height: rect.height,\n left: rect.left,\n top: rect.top,\n };\n shadowCaret.parentNode.removeChild(shadowCaret);\n clonedRange.detach();\n }\n\n if (offset) {\n const doc = ctx.document.documentElement;\n offset.top += ctx.window.pageYOffset - (doc.clientTop || 0);\n offset.left += ctx.window.pageXOffset - (doc.clientLeft || 0);\n }\n\n return offset;\n };\n\n /**\n * Get the position\n *\n * @return {object} The position\n */\n const getPosition = () => {\n const offset = getOffset();\n const pos = getPos();\n const rect = element.getBoundingClientRect();\n const inputOffset = {\n top: rect.top + ctx.document.body.scrollTop,\n left: rect.left + ctx.document.body.scrollLeft\n };\n offset.left -= inputOffset.left;\n offset.top -= inputOffset.top;\n offset.pos = pos;\n\n return offset;\n };\n\n /**\n * Get the range\n *\n * @return {Range|null}\n */\n const getRange = () => {\n if (!ctx.window.getSelection) {\n return;\n }\n const sel = ctx.window.getSelection();\n\n return sel.rangeCount > 0 ? sel.getRangeAt(0) : null;\n };\n\n /**\n * Get the caret position\n *\n * @return {int} The position\n */\n const getPos = () => {\n const range = getRange();\n const clonedRange = range.cloneRange();\n clonedRange.selectNodeContents(element);\n clonedRange.setEnd(range.endContainer, range.endOffset);\n const pos = clonedRange.toString().length;\n clonedRange.detach();\n\n return pos;\n };\n\n return {\n getPos,\n setPos,\n getPosition,\n getOffset,\n getRange,\n };\n};\n\nexport default createEditableCaret;\n","import createInputCaret from './input';\nimport createEditableCaret from './editable';\nimport {\n isContentEditable,\n getContext,\n isObject,\n} from './utils';\n\nexport { getOffset } from './utils';\n\nconst createCaret = (element, ctx) => {\n if (isContentEditable(element)) {\n return createEditableCaret(element, ctx);\n }\n\n return createInputCaret(element, ctx);\n};\n\nexport const position = (element, value, settings = {}) => {\n let options = settings;\n if (isObject(value)) {\n options = value;\n value = null;\n }\n const ctx = getContext(options);\n const caret = createCaret(element, ctx);\n\n if (value || value === 0) {\n return caret.setPos(value);\n }\n\n return caret.getPosition();\n};\n\n/**\n *\n * @param {Element} element The DOM element\n * @param {number|undefined} value The value to set\n * @param {object} settings Any settings for context\n */\nexport const offset = (element, value, settings = {}) => {\n let options = settings;\n if (isObject(value)) {\n options = value;\n value = null;\n }\n\n const ctx = getContext(options);\n const caret = createCaret(element, ctx);\n return caret.getOffset(value);\n};\n","import DataUtils, {\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n} from './DataUtils';\nimport * as DataEvent from '../events/DataEvent';\nimport TinyDatePicker from 'tiny-date-picker';\nimport {\n position,\n offset\n} from 'caret-pos';\n\nclass TextEditor {\n\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n this.setInputs();\n hljs.initHighlightingOnLoad();\n this.dataUtils = new DataUtils();\n this.url = '';\n TinyDatePicker(document.getElementById('option-date', {\n mode: 'dp-modal'\n }));\n window.addEventListener(\"scroll\", f => {\n var fixLimit = document.getElementById('header').offsetHeight + document.getElementById('entry-header').offsetHeight + document.getElementById('entry-feature').offsetHeight\n if (window.pageYOffset >= fixLimit) {\n document.getElementById('edit-control').style.position = \"fixed\"\n } else {\n document.getElementById('edit-control').style.position = \"relative\"\n }\n });\n this.refresh();\n }\n //--------------------------\n // methods\n //--------------------------\n setInputs() {\n let self = this;\n var editorButtons = document.querySelectorAll('.editor-button');\n for (var i = 0, length = editorButtons.length; i < length; i++) {\n editorButtons[i].addEventListener('click', e => this.handleEditorOption(e), false);\n }\n document.getElementById('edit-text-code').addEventListener('input', f => {\n self.refresh();\n })\n\n document.getElementById('post-image').addEventListener('change', e => this.handlePostImageAdd(e), false);\n document.getElementById('option-image').addEventListener('click', e => {\n document.getElementById('post-image').click();\n })\n }\n\n refresh() {\n var caret = position(document.getElementById('edit-text-code')).pos;\n var spiffed = hljs.highlight('markdown', document.getElementById('edit-text-code').innerText).value;\n var temp = document.createElement(\"div\");\n temp.innerText = spiffed;\n document.getElementById('edit-text-code').innerHTML = temp.innerText;\n position(document.getElementById('edit-text-code'), caret)\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n handleEditorOption(e) {\n e.preventDefault();\n var self = this;\n var sel, range, pulled;\n sel = window.getSelection(); //console.log(sel)\n if (sel.rangeCount) {\n range = sel.getRangeAt(0);\n pulled = sel.getRangeAt(0).toString();\n range.deleteContents();\n switch (e.target.id) {\n case \"option-bold\":\n range.insertNode(document.createTextNode(\"**\" + pulled + \"**\"));\n break;\n case \"option-italic\":\n range.insertNode(document.createTextNode(\"*\" + pulled + \"*\"));\n break;\n case \"option-strikethrough\":\n range.insertNode(document.createTextNode(\"\" + pulled + \"\"));\n break;\n case \"option-header1\":\n range.insertNode(document.createTextNode(\"# \" + pulled));\n break;\n case \"option-header2\":\n range.insertNode(document.createTextNode(\"## \" + pulled));\n break;\n case \"option-header3\":\n range.insertNode(document.createTextNode(\"### \" + pulled));\n break;\n case \"option-link\":\n range.insertNode(document.createTextNode(\"[\" + pulled + \"](PASTE URL HERE)\"));\n break;\n case \"option-date\":\n console.log(\"DATE UPDATE\")\n break\n default:\n //range.insertNode(document.createTextNode(\"[\" + self.url + \"](PASTE URL HERE)\"));\n break;\n }\n }\n this.refresh()\n }\n\n handlePostImageAdd(e) {\n e.stopPropagation();\n e.preventDefault();\n let self = this;\n\n var postData = new FormData();\n var files = e.target.files;\n for (var i = 0; i < files.length; i++) {\n var file = files[i];\n // Check the file type.\n if (!file.type.match('image.*')) {\n continue;\n }\n postData.append('post_image', file, file.name);\n }\n var caret = position(document.getElementById('edit-text-code')).pos;\n self.dataUtils.request(\"/api/blog/add-post-image\", DataEvent.POST_IMAGE_ADDED, REQUEST_TYPE_POST, CONTENT_TYPE_FORM, postData)\n .then((response) => {\n //console.log(\"01 \"+response.request['response']);\n position(document.getElementById('edit-text-code'), caret)\n var sel, range, pulled;\n sel = window.getSelection(); //console.log(sel)\n //console.log(note.message)\n if (sel.rangeCount) {\n range = sel.getRangeAt(0);\n pulled = sel.getRangeAt(0).toString();\n range.deleteContents();\n range.insertNode(document.createTextNode(\"![image alt text](\" + JSON.parse(response.request['response']).url + \" 'image title')\"));\n }\n self.refresh();\n\n }).catch((err) => {\n console.log(err)\n })\n\n }\n}\nexport default TextEditor","//TOOLS\nimport DataUtils, {\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n} from '../tools/utilities/DataUtils';\nimport * as DataEvent from '../tools/events/DataEvent';\nimport Animate from '../tools/effects/Animate';\nimport * as Ease from '../tools/effects/Animate';\nimport TextEffects from '../tools/effects/TextEffects';\nimport EntryTasks from '../tasks/EntryTasks';\nimport TextEditor from '../tools/utilities/TextEditor';\nclass Entry {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n reframe('iframe');\n this.uploadFiles;\n this.start();\n this.editor = new TextEditor();\n }\n //--------------------------\n // methods\n //--------------------------\n start() {\n new Animate().object({\n targets: document.getElementById('loader'),\n duration: 300,\n opacity: 0,\n easing: 'easeInOutQuad',\n complete: function() {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n new Animate().object({\n targets: document.getElementById('header'),\n duration: 10,\n opacity: 1,\n easing: 'easeInOutQuad',\n complete: function() {\n new TextEffects().scramble(document.getElementById('the-title'), 50, function() {\n\n if (document.getElementById('the-intro'))\n document.getElementById('the-intro').style.opacity = 1;\n if (document.getElementById('blog-entry'))\n document.getElementById('blog-entry').style.opacity = 1;\n //START SEcTION\n });\n }\n });\n }\n });\n\n if (document.getElementById('featured-image-drop')) {\n document.getElementById('featured-image-drop').addEventListener('dragover', this.handleDragOver, false);\n document.getElementById('featured-image-drop').addEventListener('drop', this.handleDrop, false);\n document.getElementById('featured-click').addEventListener('change', this.handleClicked, false);\n \n if(document.getElementById('new-upload-link'))\n {\n document.getElementById('new-upload-link').addEventListener('click', e=>{\n document.getElementById('featured-click').click();\n })\n }\n document.getElementById(\"post-sumbit-btn\").addEventListener('click', f => {\n f.preventDefault();\n let edit = false;\n if (f.target.getAttribute('data-action') == 'blog-update')\n edit = true;\n console.log('clicked')\n new EntryTasks().submitPost(edit, Entry.uploadFiles).then((response) => {\n let note = JSON.parse(response['response']['request'].response);\n console.log(note.message);\n }).catch((err) => {\n console.log(err)\n });\n });\n }\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n handleDragOver(e) {\n e.stopPropagation();\n e.preventDefault();\n e.dataTransfer.dropEffect = 'copy'; // Explicitly show this is a copy.\n }\n handleClicked(e) {\n e.stopPropagation();\n e.preventDefault();\n //console.log(\"IMAGES \" + e.target.files);\n Entry.uploadFiles = e.target.files;\n for (var i = 0, f; f = Entry.uploadFiles[i]; i++) {\n // Only process image files.\n if (!f.type.match('image.*')) {\n continue;\n }\n var reader = new FileReader();\n // Closure to capture the file information.\n reader.onload = (function(theFile) {\n return function(f) {\n // Render thumbnail.\n var span = document.createElement('span');\n span.innerHTML = [\n ''\n ].join('');\n //document.getElementById('featured-image-drop').insertBefore(span, null);\n document.getElementById('featured-image-drop').innerHTML = '';\n document.getElementById('featured-image-drop').appendChild(span);\n };\n })(f);\n // Read in the image file as a data URL.\n reader.readAsDataURL(f);\n }\n\n }\n\n handleDrop(e) {\n e.stopPropagation();\n e.preventDefault();\n Entry.uploadFiles = e.dataTransfer.files;\n //console.log(MemberArea.uploadFiles.length);\n for (var i = 0, f; f = Entry.uploadFiles[i]; i++) {\n // Only process image files.\n if (!f.type.match('image.*')) {\n continue;\n }\n var reader = new FileReader();\n // Closure to capture the file information.\n reader.onload = (function(theFile) {\n return function(f) {\n // Render thumbnail.\n var span = document.createElement('span');\n span.innerHTML = [\n ''\n ].join('');\n //document.getElementById('featured-image-drop').insertBefore(span, null);\n document.getElementById('featured-image-drop').innerHTML = '';\n document.getElementById('featured-image-drop').appendChild(span);\n };\n })(f);\n // Read in the image file as a data URL.\n reader.readAsDataURL(f);\n }\n }\n\n}\nEntry.uploadFiles = [];\nexport {\n Entry as\n default\n}","//TOOLS\nimport DataUtils, {\n REQUEST_TYPE_GET,\n REQUEST_TYPE_PUT,\n REQUEST_TYPE_POST,\n REQUEST_TYPE_DELETE,\n CONTENT_TYPE_JSON,\n CONTENT_TYPE_FORM\n} from '../tools/utilities/DataUtils.jsx';\nimport Entry from './DashEntry';\nimport Animate from '../tools/effects/Animate.jsx';\nclass DisplayManager {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n this.dataUtils = new DataUtils();\n this.currentDisplay = '';\n this.urlPieces = document.URL.split(\"/\");\n //grab url so system knows what to display \n this.chooseDisplay(this.urlPieces[5], this.urlPieces[6]);\n\n }\n //--------------------------\n // methods\n //--------------------------\n start() {\n let self = this;\n new Animate().object({\n targets: document.getElementById('loader'),\n duration: 300,\n opacity: 0,\n easing: 'easeInOutQuad',\n complete: function () {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n new Animate().object({\n targets: document.getElementById('header'),\n duration: 10,\n opacity: 1,\n easing: 'easeInOutQuad',\n complete: function () {\n document.getElementById('loader').style.display = 'none';\n document.getElementById('loader').style.visibility = 'hidden';\n }\n });\n }\n });\n }\n\n chooseDisplay(section, page) {\n this.currentDisplay = '';\n //console.log(section+\" \"+page)\n switch (section) {\n case 'entries':\n this\n this.currentDisplay = new Entry();\n break;\n \n default:\n // just chill\n break;\n }\n this.start();\n\n }\n //--------------------------\n // event handlers\n //--------------------------\n\n}\nexport {\n DisplayManager as\n default\n}","import DataUtils, { REQUEST_TYPE_GET, REQUEST_TYPE_PUT, REQUEST_TYPE_POST, REQUEST_TYPE_DELETE, CONTENT_TYPE_JSON, CONTENT_TYPE_FORM } from './tools/utilities/DataUtils.jsx';\nimport * as DataEvent from './tools/events/DataEvent.jsx';\nimport DisplayManager from './controllers/DisplayManager.jsx';\n\nexport default class Base {\n //--------------------------\n // constructor\n //--------------------------\n \n //TODO: Flip to unified structure defined in BMG, brah\n constructor() {\n var self = this;\n var admin = [];\n var folio = [];\n var displayManager = [];\n this.dataUtils = new DataUtils();\n this.settings = [];\n this.start(); \n }\n start() {\n this.displayManager = new DisplayManager();\n }\n //--------------------------\n // methods\n //--------------------------\n loadSettings() {\n var self = this;\n this.dataUtils.request('/base-assets/data/settings.json', DataEvent.SETTINGS_LOADED)\n .then((response) => {\n this.settings = JSON.parse(response['request'].response);\n this.start();\n //transfer \n \n })\n .catch((err) => {\n //console.log(err);\n });\n }\n\n //--------------------------\n // event handlers\n //--------------------------\n\n}\n","import Base from './Base.jsx'\n\ndocument.addEventListener('DOMContentLoaded', function() {\n\n var base = new Base();\n}, false);\n"]} \ No newline at end of file diff --git a/themes/dash/entry-edit.pug b/themes/dash/entry-edit.pug index a02f86b..1341d45 100644 --- a/themes/dash/entry-edit.pug +++ b/themes/dash/entry-edit.pug @@ -63,7 +63,8 @@ block main-content button#option-image.content-editor-btn-icon(for="post-image") svg#option-link(viewBox="0 0 20 20" class="icons") use(xlink:href='/dash/assets/images/sprite.svg#entypo-image') - button#option-date.editor-button + input(id="option-date" type="text" value=post_date) + //button#option-date.editor-button svg#option-date(viewBox="0 0 20 20" class="icons") use(xlink:href='/dash/assets/images/sprite.svg#entypo-calendar') =post_date diff --git a/themes/dash/src/com/tools/utilities/TextEditor.jsx b/themes/dash/src/com/tools/utilities/TextEditor.jsx index 8fc6fc4..6287d1a 100644 --- a/themes/dash/src/com/tools/utilities/TextEditor.jsx +++ b/themes/dash/src/com/tools/utilities/TextEditor.jsx @@ -7,6 +7,7 @@ import DataUtils, { CONTENT_TYPE_FORM } from './DataUtils'; import * as DataEvent from '../events/DataEvent'; +import TinyDatePicker from 'tiny-date-picker'; import { position, offset @@ -22,6 +23,9 @@ class TextEditor { hljs.initHighlightingOnLoad(); this.dataUtils = new DataUtils(); this.url = ''; + TinyDatePicker(document.getElementById('option-date', { + mode: 'dp-modal' + })); window.addEventListener("scroll", f => { var fixLimit = document.getElementById('header').offsetHeight + document.getElementById('entry-header').offsetHeight + document.getElementById('entry-feature').offsetHeight if (window.pageYOffset >= fixLimit) { diff --git a/themes/dash/src/styles/main/_editor.styl b/themes/dash/src/styles/main/_editor.styl index 8f39e66..1ee6f83 100644 --- a/themes/dash/src/styles/main/_editor.styl +++ b/themes/dash/src/styles/main/_editor.styl @@ -1,25 +1,28 @@ #edit-control margin 10px 0 0 0 top 1px - padding: 5px - border-radius: 5px - background-opacity($primary - 10%, .75) - + padding 5px + border-radius 5px + background-opacity($primary - 10%, 0.75) + z-index 2000 button margin 5px + #post-sumbit-btn height 30px - background: #65b16c + background #65b16c color #65b16c - 30% - //float right + // float right + #option-date height 30px - padding-top: 6px; + padding-top 6px + svg - margin -13px 5px 0 0 - display: inline-block; - vertical-align: top; + margin -13px 5px 0 0 + display inline-block + vertical-align top fill $white .content-editor-btn-icon @@ -58,4 +61,247 @@ #option-strikethrough font-weight bold text-decoration line-through - font-style italic \ No newline at end of file + font-style italic + +// TINY DATE + +.dp-modal + position fixed + top 0 + left 0 + right 0 + bottom 0 + //background rgba(255, 255, 255, 0.75) + background-opacity($primary - 70%, .75); + z-index 2000 + +.dp + position relative + background $primary //#FFF + box-shadow 2px 2px 16px rgba(0, 0, 0, 0.25) + line-height 1.4 + border-radius 4px + max-height 400px + z-index 5000 + padding-top 6px + overflow hidden + -webkit-tap-highlight-color transparent + +.dp:before + content ' ' + height 6px + position absolute + top 0 + left 0 + right 0 + background $highlight + //background linear-gradient(-90deg, #3B99FC 0%, #8AEFC8 100%) + +.dp-permanent .dp + padding-top 0 + border 1px solid #EEE + box-shadow none + +.dp-permanent .dp:before + display none + +.dp-cal + min-height 300px + +.dp-below + position absolute + font-size 0.8em + width 400px + max-width 100vw + +.dp-permanent + position relative + font-size 0.8em + width 400px + max-width 100vw + +.dp-permanent .dp + z-index 0 + +.dp-modal .dp + position absolute + top 50% + left 50% + max-width 600px + width calc(100% - 4em) + transform translate(-50%, -50%) + animation slide-up 0.3s forwards + +.dp-months + padding 24px + +.dp-years + box-sizing border-box + max-height 400px + padding 8px 0 + overflow auto !important /* HACK for Chrome on Android */ + +.dp-cal-month, .dp-cal-year, .dp-day, .dp-month, .dp-year + box-sizing border-box + text-align center + text-decoration none + position relative + color $white + border-radius 2px + border 0 + background transparent + +.dp-cal-header + position relative + text-align center + padding-bottom 16px + background $primary - 10% + +.dp-next, .dp-prev + position absolute + width 30px + height 30px + overflow hidden + top 14px + color $primary - 50% + border-radius 2px + border 0 + background transparent + +.dp-next:focus, .dp-prev:focus, .dp-next:hover, .dp-prev:hover + outline none + color inherit + +.dp-prev + left 24px + +.dp-next + right 24px + +.dp-prev:before, .dp-next:before + content '' + border 2px solid + width 10px + height 10px + display inline-block + transform rotate(-45deg) + transition border-color 0.2s + margin 9px 0 40px 4px + +.dp-prev:before + border-right 0 + border-bottom 0 + +.dp-next:before + border-left 0 + border-top 0 + margin-left 0 + margin-right 4px + +.dp-cal-month, .dp-cal-year + display inline-block + font-size 1.4em + padding 16px 8px 8px + outline none + +.dp-cal-footer + text-align center + background $primary - 10% + +.dp-day-today:after + content '' + height 0 + width 0 + border 7px solid $highlight + border-bottom-color transparent + border-left-color transparent + position absolute + top 0 + right 0 + +.dp-close, .dp-clear, .dp-today + box-sizing border-box + display inline-block + width 33% + padding 8px + text-decoration none + color $primary - 50% + border 0 + background transparent + +.dp-permanent .dp-close, .dp-permanent .dp-clear + display none + +.dp-close:active, .dp-clear:active, .dp-today:active, .dp-next:active, .dp-prev:active, .dp-cal-month:active, .dp-cal-year:active + background $highlight + color $white + +@media screen and (min-device-width: 1200px) + .dp-close:hover, .dp-close:focus, .dp-clear:hover, .dp-clear:focus, .dp-today:hover, .dp-today:focus, .dp-next:hover, .dp-next:focus, .dp-prev:hover, .dp-prev:focus, .dp-cal-month:focus, .dp-cal-month:hover, .dp-cal-year:hover, .dp-cal-year:focus + background $highlight + color $white + +.dp-col-header, .dp-day + width 14.28571429% + display inline-block + padding 8px + text-align center + +.dp-col-header + color #AAA + text-transform uppercase + font-weight 300 + font-size 0.8em + padding 8px 0 + +.dp-month + width 33% + display inline-block + padding 8px + +.dp-year + display block + padding 8px 40px + width 100% + +.dp-edge-day + color #AAA + +.dp-day:hover, .dp-month:hover, .dp-year:hover, .dp-current:focus, .dp-current, .dp-day:focus, .dp-month:focus, .dp-year:focus + outline none + background $secondary + 10% + color $white + +.dp-selected:hover, .dp-selected:focus, .dp-selected + background $secondary + color $white + +.dp-day-disabled + background transparent + color #DDD + +.dp-day-disabled:focus, .dp-day-disabled:hover + background #DDD + +.dp-focuser + position absolute + z-index 0 + top 50% + left 50% + +/* Responsive overrides */ +@media (max-width: 480px), (max-height: 480px) + .dp-modal .dp + font-size 0.9em + width auto + width 100% + + .dp-day-of-week, .dp-day + padding 8px + +@keyframes slide-up + 0% + transform translate(-50%, 100%) + + 100% + transform translate(-50%, -50%) \ No newline at end of file