{"_id":"ctl","_rev":"51-8bbd708d56737ec39fe6758ac4468581","name":"ctl","description":"Controller module for NodeJS. Made to be extremely hackable and light!","dist-tags":{"latest":"5.0.9"},"versions":{"0.1.1":{"name":"ctl","version":"0.1.1","author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/node-ctl","main":"host","_npmUser":{"name":"leander","email":"me@leander.ca"},"_id":"ctl@0.1.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"5ff1763d8d396ef9d768c45c69a13950ff840814","tarball":"https://registry.npmjs.org/ctl/-/ctl-0.1.1.tgz","integrity":"sha512-cw6mkgk417p9kDdlFrKJZujvFmEbMDuzTuS1QDGU2hatqmVMhWUVzBOZA1ySLTwg9Un5icQ30x3w0I50VTFPQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClPXOYpLQgsfeDgWbbovatZkUuFr8CdSW2C49A0fFpcwIgT7SBvevSHDPK/+NBG/RWkFia64sZS/cVG5+ErI84ECI="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{}},"0.1.2":{"name":"ctl","version":"0.1.2","author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/node-ctl","main":"host","_npmUser":{"name":"leander","email":"me@leander.ca"},"_id":"ctl@0.1.2","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"09280856f8931b3795731365aa282b8c7867f808","tarball":"https://registry.npmjs.org/ctl/-/ctl-0.1.2.tgz","integrity":"sha512-To61rG7JPCu/GxUvieIal6rXoJMf6swcZ4phXgjg+CMfJwZLpRC3jDFr600dWQU9aewKbRO9eHvH0cUcPxfapQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEwcIrFc4MUyH82Pps7HMtbQncHY4TOgkp7olV1hNiXzAiBs/n9Gs4d/NlNyrKDgub8GK8qQe2bqVQ1IJFDARNWyaA=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{}},"0.1.3":{"name":"ctl","version":"0.1.3","author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/node-ctl","main":"host","_npmUser":{"name":"leander","email":"me@leander.ca"},"_id":"ctl@0.1.3","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"f539a867d98c962f27a32ba0a35517eb32cb14ea","tarball":"https://registry.npmjs.org/ctl/-/ctl-0.1.3.tgz","integrity":"sha512-iJ/8hkoIBOYx4zd/xUdzpEdmUuCTlDeVujhZ5u6Sr2lBDIa94lq/QNesSu313HVGAgDvZ7Q+gCspVeltP0zNug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBsryCgMsCYlI4q67jgiFjPhj3HjKdVBxp5YV4wCgRB/AiEA8SsiJvW4r/RXakWlDIjSxHQ2RDxnGiW0jnwdWTKWbOQ="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{}},"0.1.4":{"name":"ctl","version":"0.1.4","author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/node-ctl","main":"host","_npmUser":{"name":"leander","email":"me@leander.ca"},"_id":"ctl@0.1.4","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"139e974696424f7ae2b88953e0fdcff17072ee52","tarball":"https://registry.npmjs.org/ctl/-/ctl-0.1.4.tgz","integrity":"sha512-aO32bGtSoCgbT+zgp87J9gUkkFRBd61wKS2XeKhqgkOyNMYfCxZvj1ngWvY9+rgUcvKpdjcJMssxnQgs1SwyjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYOiDR/ZUy19egcoV/iC4KaMmiM0/Lq0gxmgrBsddW9gIhAJcp64Z6j7rCHJDfVhRKpPH2/RNV6jYpTTqNBuVuD2cv"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{}},"0.1.5":{"name":"ctl","version":"0.1.5","author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/node-ctl","main":"host","readme":"# NodeCTL #\r\n\r\nNodeCTL is an easy way to manage all those routes and ugly handlers in ExpressJS or some other library.\r\n\r\n## How it works ##\r\n\r\nIn the most basic usage, it would be something like this:\r\n\r\nserver.js\r\n\t\r\n\tvar express = require('express');\r\n\tvar app = express.createServer();\r\n\tapp.use(express.bodyParser());\r\n\tapp.use(express.cookieParser('keyboard cat'));\r\n\tapp.use(express.session({ cookie: { maxAge: 60000 }}));\r\n\tapp.use(flash());\r\n\trequire('./controller.js').route(app);\r\n\tapp.listen(80);\r\n\r\ncontroller.js\r\n\r\n\tvar host = require('ctl').init();\r\n\texports.route = function (server) {\r\n\t\thost.bind(\"/\", function (page) {\r\n\t\t\tpage.write(\"hello, world!\");\r\n  \t\t});\r\n\t\thost.serve(server);\r\n\t}\r\n\r\n\r\n## Installation ##\r\n\r\n`npm install ctl`\r\n\r\nPlease try it out! If you like it please say thank you. Or better, if you find bugs, have questions, or feedback, feel free to email me at me@leander.ca.\r\n\r\n\r\n## More Information ##\r\n\r\nNodeCTL is really easy to use. The way it works is instead of the normal way of handling all this ugly stuff in `req` and `res`, that stuff is dealt with by a more civilized `Request` object that handles all of that for you (In the example, this object is passed in as `page`). Of course, this object is fully customizable, extendible, and interchangable by yours truly (see Advanced Usage).\r\n\r\nThe details of the standard `Request` object is listed below for your use and reference.\r\n\r\n**require('ctl').init([defaults])** - This function optionally takes defaults as values that are sent to the template engine for rendering (see `render` below).\r\n\r\n**defaults** - Is a property holding the object you passed in with `init()`.\r\n\r\n**headers()** - Returns all of the headers from the client's request.\r\n\r\n**next()** - Goes to the next handler (see express documentation)\r\n\r\n**accepts(mimetype)** - Checks to see if `mimetype` is in the `accept` part of the header.\r\n\r\n**set(key,val)** - Sets the session variable `key` with value `val`.\r\n\r\n**get(key)** - Gets the value of the session variable `key`.\r\n\r\n**param(name,default)** - This is used to get the variables from GET, POST or from the URL. Example uses of this is shown in the examples folder.\r\n\r\n**redirect(url)** - Pretty straightforward. Redirects (with status 302) to `url`.\r\n\r\n**json(obj)** - Responds with `obj` as a json string and ends the request.\r\n\r\n**write(str)** - Responds with `str` and ends the request.\r\n\r\n**render(tmpl,params)** - Renders the template `tmpl` as you would in ExpressJS, passing in the parameters `params` to the template. Note that you can set some default parameters that will be sent along if they are not specified by render (of course, render can overwrite defaults).\r\n\r\n\r\n## Advanced Usage ##\r\n\r\nThe `init` function actually has two parameters. The first being `defaults` and the second being a function that creates the actual request object. This function returns the object `require('ctl').Request` which contains all of the methods listed above. You can change the request object binded by the controller by passing in your own makeRequest function and returning your own controller.\r\n\r\n**require('ctl').init([[defaults], makeRequest(req,res)])**\r\n\r\nIf you are still confused, just read the concise `host.js` file, or ask a question in issues.\r\n\r\n\r\n## Contact & Licensing ##\r\n\r\nFeel free to use this for whatever you like, but don't blame me if someone loses an eye.\r\n\r\nIf you are using this, I'd love to hear about your project. It's great to know my code is being used somewhere by someone.\r\n\r\n[Leander Lee][1]<br />\r\nme@leander.ca\r\n\r\n[1]: http://leander.ca\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","_id":"ctl@0.1.5","dist":{"shasum":"b95654a92dba027cf0d9be9125b10201aa303374","tarball":"https://registry.npmjs.org/ctl/-/ctl-0.1.5.tgz","integrity":"sha512-hKTzANrNLkTh/Sq+GGQ0PcgxuXf7YpZonXzOp6lxfa5tJ2m/SsPztNNpfSf3e5l8HcqKqDW+sJexauKTp+Cbow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHHS5plFWRky8wlQKJJmZ+nN4ks7nzauWov1jLConopkAiBtMX4TZULUvtvqBy4vbtuaQpulF4f4bdZ/CH6J0jrrRw=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{}},"0.1.6":{"name":"ctl","version":"0.1.6","author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/node-ctl","main":"host","readme":"# NodeCTL #\n\nNodeCTL is an easy way to manage all those routes and ugly handlers in ExpressJS or some other library.\n\n## How it works ##\n\nIn the most basic usage, it would be something like this:\n\nserver.js\n\t\n\tvar express = require('express');\n\tvar app = express.createServer();\n\tapp.use(express.bodyParser());\n\tapp.use(express.cookieParser('keyboard cat'));\n\tapp.use(express.session({ cookie: { maxAge: 60000 }}));\n\tapp.use(flash());\n\trequire('./controller.js').route(app);\n\tapp.listen(80);\n\ncontroller.js\n\n\tvar host = require('ctl').init();\n\texports.route = function (server) {\n\t\thost.bind(\"/\", function (page) {\n\t\t\tpage.write(\"hello, world!\");\n  \t\t});\n\t\thost.serve(server);\n\t}\n\n\n## Installation ##\n\n`npm install ctl`\n\nPlease try it out! If you like it please say thank you. Or better, if you find bugs, have questions, or feedback, feel free to email me at me@leander.ca.\n\n\n## More Information ##\n\nNodeCTL is really easy to use. The way it works is instead of the normal way of handling all this ugly stuff in `req` and `res`, that stuff is dealt with by a more civilized `Request` object that handles all of that for you (In the example, this object is passed in as `page`). Of course, this object is fully customizable, extendible, and interchangable by yours truly (see Advanced Usage).\n\nThe details of the standard `Request` object is listed below for your use and reference.\n\n**require('ctl').init([defaults])** - This function optionally takes defaults as values that are sent to the template engine for rendering (see `render` below).\n\n**defaults** - Is a property holding the object you passed in with `init()`.\n\n**headers()** - Returns all of the headers from the client's request.\n\n**next()** - Goes to the next handler (see express documentation)\n\n**accepts(mimetype)** - Checks to see if `mimetype` is in the `accept` part of the header.\n\n**set(key,val)** - Sets the session variable `key` with value `val`.\n\n**get(key)** - Gets the value of the session variable `key`.\n\n**param(name,default)** - This is used to get the variables from GET, POST or from the URL. Example uses of this is shown in the examples folder.\n\n**redirect(url)** - Pretty straightforward. Redirects (with status 302) to `url`.\n\n**json(obj)** - Responds with `obj` as a json string and ends the request.\n\n**write(str)** - Responds with `str` and ends the request.\n\n**render(tmpl,params)** - Renders the template `tmpl` as you would in ExpressJS, passing in the parameters `params` to the template. Note that you can set some default parameters that will be sent along if they are not specified by render (of course, render can overwrite defaults).\n\n\n## Advanced Usage ##\n\nThe `init` function actually has two parameters. The first being `defaults` and the second being a function that creates the actual request object. This function returns the object `require('ctl').Request` which contains all of the methods listed above. You can change the request object binded by the controller by passing in your own makeRequest function and returning your own controller.\n\n**require('ctl').init([[defaults], makeRequest(req,res)])**\n\nIf you are still confused, just read the concise `host.js` file, or ask a question in issues.\n\n\n## Contact & Licensing ##\n\nFeel free to use this for whatever you like, but don't blame me if someone loses an eye.\n\nIf you are using this, I'd love to hear about your project. It's great to know my code is being used somewhere by someone.\n\n[Leander Lee][1]<br />\nme@leander.ca\n\n[1]: http://leander.ca\n\n\n\n\n\n\n\n\n\n\n\n","_id":"ctl@0.1.6","dist":{"shasum":"973976153620990e680d7e654be5a0d961c01b78","tarball":"https://registry.npmjs.org/ctl/-/ctl-0.1.6.tgz","integrity":"sha512-vO0dBs5KtYPdyw37v6y4MESkgj2rGUl9je45FLr75OE0v1YGJVgFELRAJTCkZ47cmZdfXgjt4T6eqsMtRj7r3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKmj804RaUHH+/3gMiHugkBZZJnP3U9AFzLD7SNxqh0gIgVtDJlSowe1gi29KcZ/iM0/hkOq2M91Insv3Bnnpc5j8="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{}},"1.0.0":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.0.0","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"948feafbaed7f230ad4f6d7b278e9251e2b6ecac","_id":"ctl@1.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-b5faU5v31ziuspduY7M4XU7WGi3sq5BiwaHO/isNryOwJvjA12py2VWXvQQ/w1WTrmv3AYJyP6NgHRj0HcHy6g==","shasum":"3403ae394e287f61d4189ca6e63a37f44983745a","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.0.0.tgz","fileCount":11,"unpackedSize":22987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9EIPCRA9TVsSAnZWagAA06oP/34WvPneE844ZOnuTgiP\npz8LX65Jjvo+77Wj47fC1g2amI2ktmtPC3kaO6cvQWGFsUdcWz1TIFEHRgNs\nN1x9Q2GsyuujvXclnt7ZDwy4Ubmy1+UlKcMWv+xSSUF7+G6muvDCeFn6ygoP\n3MmHSyPxoFj2/VI5mN2lBlPOkriHDZ9MesasZxcQpb3ENfOwT/mm0wargFMz\nqVqyTLNJCfmCiXkvS0D2ruvJF5TH0Q9sMq6zCUBAdhV/OAQzrcWrc4LQ5v/a\n3ygI5jIUsGckvdzzRi5IKbfB1M4V66MA07ifESaQyKku9SXYd7w6AING4POf\norbQdsuvk2raqC4Excm4SaONiMoFfiDYbA25oSH0G41Lw0SfrEsMpcp2TD79\nb3EkJgMOfP5hrnCHBaCxpSEtug5cnMNOB8SLVwj7NTfgTRoCXqsjKCcXq/5o\nE6UY8JSrcz0Ol7iuQXZpx5bLcTsK5Uw+uU1vPHPK4CZjEhdxmjv0Fu4KmKdO\nodWT0J2ALMEqCaYE2PtdObWjyUeXmchOUyEVRPmjQJ0vLCY2DbjOaPDEPHUg\n3gpsPJrQjInbKpL2wqaQ1/C2+U9JNqsilWgZBGHHDxNPawfRyHSvd8Cur6ln\n4M9I8Ysh3GNn/oPNs7e6NBd4hbw0aE3FSc5ghHnKBV2CxrTJOmrhmk0Cj+uT\nP+5r\r\n=wEku\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDh0d7K7Bn3+7tN2JmOBk+nfhyGYiuVzGOTOc8pZvEfYgIgeTHrlzzBV0WTsYUrv42IBLMvTWXPN/Ly1fhbx218IGc="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.0.0_1525957133665_0.4935526318957486"},"_hasShrinkwrap":false},"1.0.1":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.0.1","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"ddc2f3cdc4570be1343f33e5480714981fc434f9","_id":"ctl@1.0.1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-i0dCfODYmc+QehLTd0bFsE28pZ2wki5eg+cGa6bnecQY4zff+74/NoMvFa+kdw+eLaW8fK+15Sysmm+F+Fj8Kg==","shasum":"e705f529f940243f76537784bd509d45cc31eb2e","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.0.1.tgz","fileCount":11,"unpackedSize":22987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9EV/CRA9TVsSAnZWagAAzkkP/jG74ZNf45oNP6aSkBwJ\nzuruAfMwgOO3eh/b9/HyjyquVCBNqWKjjKPs6kbWBEQg3/GocHF1iitzX7FT\nrs/ggzSJy+xcXudaleugoSlvpNl6cSZQtypW2bvEimgjbt7kYwlrGWfuVpeK\nxvDVWTXL2M0dwTGNLgkqK2rm1Ke0W2bvZFz0fvRESDbglAW0iKR9qQKuc6vh\n8b7S8BN1vQzgmpBYjad9dOkPj807ck8nm8py3noegzuHmPYfzHscX5cXxKFm\nKrLBMy3aqLHTx8wRtfw0IBdd3ILiKt3CJklJpca61gu632nLSIDsyTh/RBKr\nOHCaiMV9YzsXf6elFj9c85PRrzPU9/LnJABWAuRMeQumgYdY/XuhVoVPW38a\nW2svA33diczQlGt6XDtFAihfEUCuQvkBn/EFgNsEFJOdo+HmYp/5Xs17gJLK\nXoH54GjLGvYhR2QSvQiOHIMAJfpnoJDNsTp6ohgRP9e4aBLTI6M/A7r/ktuu\nwVuZ2gPHIWUHQwkPCEJFmWzVVT8/Rkb2z225uN4vAdFNvG8WUb8IdjObafJ/\nDXS/6rQCrr1iEMvD4cBtBo1FAAtbkiCwgSZsOO0OmT3yOe2vDuL6j9i7v5K4\nwDnvXcYZ00zNsE4jeJk0ZflCqLRyUq+FZkH/Dn8krtnzyIIRbvjtnyZw96K7\npGyA\r\n=eqsm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB51WAEHzZLjKKdXvmEq14FylU9fZB83bw4S3DidQcfgAiA2bkb3RELJxL5Lfs8I+0FD2SRWqh/DwQjQWOot4k2lug=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.0.1_1525958014696_0.22369251644106147"},"_hasShrinkwrap":false},"1.0.2":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.0.2","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"19c4efc8b532cf5f5e2b648588f3119838642cd9","_id":"ctl@1.0.2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-Ecopq9c9UvzAwuNO3sdQBQxMs1zqOEjgoY0emVpzN1oOVOyS8IUV+ZHc4dWjmcemKSwFD59P/faROrjxryO6xw==","shasum":"dbe307edd0a2c929682d6d61be57bf2a4ec9d2e4","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.0.2.tgz","fileCount":11,"unpackedSize":22997,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9K+aCRA9TVsSAnZWagAAhDUP/ifStG0LHPMZCKL3nxhu\nKOXY61188zQQE3dvWouAH/Ic6czxucPJOaW/K6bBbniFhUqLKupb6ypgooIy\nwUgFpncJtCj1DHa2sOqVKQ/M9aaPl0+t4fLCQ9dSz3g+1FgJ0829NI+eOAvs\neD840O0y65SCyv0fy/oEWIIFZOXUcm3ev8Tu/wQYU6BzvxRhqZTfzwCMvPRf\nVZc6oO9mtuJz2xVwbBOBiDNKTvtjFCLUPPruG2Un7r38qZORxf04chb/latF\nu5iC5Iy5mNAr5nEtMLCqv8Sf0TAk7YnXnfUr/J5V7cq/MNjs0uPc2xTO9jGL\npBdya5vVAK1PYn4/6+u5oRdIzokmRNw0ntR8YX7ekfoVCNv+ANQxfxQiSZK7\neuWbZOr3vgJv8cA0uq6HJXPjJTYTbit7LO7K6XJ4oHWKqs+pdKF+4iehHW4T\nI/ddc9Jeix8DQ2d1zf1X9Q/OIJCPP5aXACtbekLIzfvTkYqMx17kd7Xt/oCN\nIUfTKZSKnQ3inZLJ4LrSxK8yIyXt3uyWh9iorDbok1pqh/OCB8CXngJy7/nO\ncG2lda3mpSwN4SggzMcso3JhWTM07kViRLvN0HvPwqN4S/prbUBVZe6R5PJD\nfVUbuvkXG9QL0elyZVF1+LZRNw6B3vj2EXKfGo04YLQvz1/YfMmlIaQyePfM\nsHGM\r\n=rtQz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDX36fCYsAoTLrINdTvnbQRfgkhCYx2mPBV0LDzM7h9FAiEAq8XnYGkJafVCdZgraXubfl1fryxNcyPXW6HQLe2iWzk="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.0.2_1525985177958_0.36764153817816614"},"_hasShrinkwrap":false},"1.1.0":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.0","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"9d0c98a918d3a41341d4b786376db97f28f6c323","_id":"ctl@1.1.0","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-J6wr3ITHuUQ88IEBPYMVIVRd3zJkAkFP6vv3tTG3DuLtFYkyNJrsMcAuT7KO3TcrYrXIJKRUSlqMUZhrGJk5gA==","shasum":"344d88793bdddd27e72a8aa652dfa0b5fea0490f","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.0.tgz","fileCount":11,"unpackedSize":22888,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/mL0CRA9TVsSAnZWagAAUj8P/R0KO/J3NIuae87PWIWO\nlV9uydgyZUXjQi4R2IJSCmmb19j3q/5iurszxFrsoMg1+CZgKCzy/A3+qMY8\nu2TRZN9hugq8CZ4TftvPH3yTp2wx07gsx4Unk/WTAYjrEKyffPQwmcryCEft\n0z7Z4VcKyJfTEFWBFDgqvp7/lKS7dWRqmg7gkVaWJp+NufurvnNX/uBzIXpQ\n3w/qrGw93RLwff/yLNyyPwrSbMwCv4mitueasw/HH3ujjl4ehKdM+Ml0g+Q6\nqo+BTYUpwOrNDMDKtWqdsq0XcBUYVoomaJNmFiCTqHOQcEj0Dvrcrxa92nw+\nXFKYKtEvQqTmWCS2xD4XlBMfX9TkgFivqlrA31txh2KIrf2+DgKygWGd/8J6\nJTFeFy+puLAvT6aL9Wwx8OO5sqku8df19F4l2Q/PXyrtImJdjVutkNi1uSut\n/K0xkP8LRnlZFGuy7M+4l2SQhM/t0AERip9nW1PtpyqVp567M0A1ILwHemHr\nE3VUh1ERfvai4q6Arf7vByTInB8jZcLJAPOfIdSxuU4GRjdPve2BlVBnlpCf\nguIqSDW6MlRvHTFrDX6kL6JW+JZCYIb7i02kWZ5FTDSeRsFixCuxghtkYjaf\nRUSDYd7U6VU9gQpcexNORJ/YdJPpb5p5Kvjd5YV2qlhI6j9l80EeKCVZ5Cta\n9FjB\r\n=RHxP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAtp46G8Au+s53Fox8FnGBsX0IAK7AvmQMFERnkLC+oAIhANyT7zbdxvOHBWd43b7xGabn1biYMoQf9+t5s32ult7B"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.0_1526620915396_0.7717481152174861"},"_hasShrinkwrap":false},"1.1.1":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.1","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"426c0fb96b0a86c4f15cfc85464d838c1df9a022","_id":"ctl@1.1.1","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-MhJWaN3NHcLHPBbznj+WseHv12LmPYuJRLiCV+qFJnEfUsgaNTBneGT9KaEjv4e3fqI98Ug1BRs8XK0f5G+EFw==","shasum":"624e433a6347601924ebd019477854532d962090","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.1.tgz","fileCount":11,"unpackedSize":22978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/mZFCRA9TVsSAnZWagAABJIQAIcC6HFayoD6oXsogktC\njzMZxjcGsINPjQo2T+KbzLabJY5OIPisUIaSGTYnzZ+UKV/X+GTkSR18SGwI\nLIebXmIJE5MUlPsXY0pccV4bakeSq1TPndnEVZcPGD42sYZo97gIDLNTLAxj\nCzlg8Pgy14Jrdh6QtKCTZ8B1FUdp4ytIVyBU2TAD5i6jkeJc0sicD3O20Nrt\n0ZOOMiP45rPDJYujnDYjNZY7LSXumK7RqxDNE7Wk7CzY7ddmhkKw9vSxK7Qf\nzC17IErgjZDfzerGGRhnGi7NIdFJV5wZWE0Y2KyCz1JA80w+en4d0n1GUTx/\nh9nsuoaZbAoLdn2Ryl4mDWkynQC4X5kmKmwi6nM8R6z17N8cpkQ27zheI5t7\njBfCuwLu0f50R14n9AnUQz78TWNlensbNBvq6EEthhPOXNuxV4Krz38dRXgB\nUrGbfbRh7/9z2Q+S6yT9PyBmL13qorUY20Gi/Ef8sA2lRxuDr5eRG+XpHZNy\nFBA3xCVXXELDnLoLJHqf6w1KqYSFy1oKftNT3Lu3moKBXH+WN9GDnvGXqsKh\ngZ6chxX0SKcplUCdQkKhgg3EVl7AijYIgcnXMvqcqxlkFaoiPPFqZAepVY5H\njWhuflG5ozLI1nAFyhhCFpJ4HDws23OZuF5fwm28l12uSvtKeNNOZ1kXmOhN\nddYg\r\n=ywey\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESp5kXEtOi2y7bsdDF7jkHDPUOkeeY5fMzT07+sJHJoAiBjjF9ybcCYNA1CMhjp+N2JazeXCZCT46+quhTU/z/m6g=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.1_1526621764901_0.8531631914198758"},"_hasShrinkwrap":false},"1.1.2":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.2","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"81c54c66ce91c2b85317c83b16724eb4e3c72a19","_id":"ctl@1.1.2","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-DIycpZfhCRRVECUgNyD6m6+y4NDDU+ebB6rpJ1Qcs22vFouab+CejlcjbpYz/H2FyfsE3GeiJ4bF0rNwhh83bw==","shasum":"474b5b84ef77e8e9ccd4f0a22b16b5b849ccbc8e","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.2.tgz","fileCount":11,"unpackedSize":23257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/mzdCRA9TVsSAnZWagAAgI4QAJ2APmVBwUO7oo6tStUF\nKzI4a4ERBMZlXVTLaLOSgm+H9TgvvQBrxlWQCrUdqUTbmlft4r6bH+xJOkPx\nOgdchGCV8tx9wSmIhqYPCC9x1Eld3m1yulJgff3QRvFN99ETc0YwbJSILNPa\n7E9A/64UtfJzJet1S7vcTIbu5IlVeHXLgqs9xugS6v1MYXgU1r1Bh82T9td9\n0wQAeePlEoN4Pc7z1hLArGK2fyv5lzZeTGh+RaQY8a4BlNPW1+McYe8IZ6ai\nNWEmIDC7aNNck19rLPkjKDT63lic3Nu3Tl2tL1K4+K69zkIT28UxHHCII25c\nSkPEaVNp2GGwONgbahdYOtWYjmzWQWkYHI3Z/bm8iR4ZTGGaCuAAfzkKBr9u\nTJYWr78evu0oSA0Gy5GlvaWmIlLdqHYBcEePXaa+f9LFYDwUcnNuP8xci6IT\nmtl3mYzeq75qq+m2Syia0jol1FHY0cGb6sqbStuSW3qtfNLap99d/jje9yQh\n8XixcGU5rh2PyYUtm1F6SfNjlzUjzWn9grwfgb5gYH/qe/URDMyMDA49ZuqY\n/GEFpz6F/2SugnXmAxV/1Vm6Cendq1L+MRzje4adSvmKdMIBPMz5XX3sc/4I\np7DjZzAEEmR3OgrZ+0qesjd09rs+ZWLLGVRKTvMyZ8BKyPOIgM7Ogl1KI3/Y\n45eB\r\n=fdVm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEHB7yeRuYxHHkl0uBErGtr1csS/4VwoFRLdB5gvi7wwIhAN6/BoUZye64hbyBcWmUfTtysVLlr9IM5msSbDupns2D"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.2_1526623453035_0.7735751356908953"},"_hasShrinkwrap":false},"1.1.3":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.3","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"c2b2c4a7dbef19089803bdfc709b7c598d3e3c9a","_id":"ctl@1.1.3","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-8rAdI1X5CcaLUNt6AIremNIOCvDfRHDvOH3Rnup4bBpS7X0L7bYyIW0G+yxHKGpI+/hY0RdALkszalewUqxvHw==","shasum":"5123d5d82ad0372dcc19e1b106ab79f91fe679a7","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.3.tgz","fileCount":11,"unpackedSize":23268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/m4gCRA9TVsSAnZWagAAAXwP/3yv3RjUZ5MvOtiAhQGe\n8J2/dmj9+42XPGMVlYY30bDLV67ELIPjcsT12EbdCUpJCwgGvsEFKobV9es8\na1cECqBPsFnNgRZbreuwS2i7irg52o/NgxGgdX0agBAzMhRchip607hq5w+e\n0JnkFAYC6pZSCyF3lnjbvo0OVsD+wpwJNNQVg6SCmqSsb7K+TjOMb/1PgrT7\nocXaDX+2seheR7OmS2Vdi94e8+9848x9QOtWLLwhAHaxNxIRZx2ZryCIhPR9\nsXrP1QXhVItumM/tMhkhflhyPmAY2YYJS0HIuXSp4ffjZUWxXV96EYqFhUnH\ncl+opOBto3GiYg0+cCc3RAgg24dtxnKRXF7G6cHEaBWWt20yLONtjIJW7IYJ\nCMxqiajaT/C9n6VRQoJ8F2yxfPnGM1ddbOMiTQKl9yfuyPTU9uzvs9MpBEoR\nN2giR9m8AQXwqp+vJq1j0vo/KWd3FdefO1/JDNRlHWu6MqILipwuj62p+oUw\nNFkwEaDBO5/0lBG9vUlSd53LiBjsooMK39GL/4m3z/tlhYuOjuH94uwkaBzM\nQPPk8EOMQ+DUXXydRV4tY9VWavNDd/sCo6aPHaI3+KpGMZC3+emrDUs5z9fz\noa0jaoIAYB8kdgbxI7wTV83nablbyFEUdX3vTy8FBrtfqqJ42k2sC6rs1nII\nIwag\r\n=P+gp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBunHaVeTGpIHXeDKQMqrFEEQE/DUJ/5uinvr4MGS+k1AiB7cYS44jc2Fena60pGXdHfCFGWR3ysbttq5gHKDPh+dQ=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.3_1526623775826_0.8253025390634048"},"_hasShrinkwrap":false},"1.1.4":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.4","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"7c361d96a645e6d6d524722629eb6e61d03ae3f3","_id":"ctl@1.1.4","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-EhNPdzI2qOhqvz1Gutl61mPQF3Iqw74FQxWNIqH0IrSXvLGTgX6ZjwGXiPMBK/qlWnK2GvTbiP/kKBry8/rGog==","shasum":"769d9e3463a6a5656ef7f219dbb94b5878aa7669","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.4.tgz","fileCount":11,"unpackedSize":23250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/nAaCRA9TVsSAnZWagAAHEYQAIanVZ+5DauskkCrIGRV\nFXL2fUVRsNwKaFunQmjvYCNNPObcKIj9An+hAB3l123R8moQL+9aBc+80x3Y\nYit172LUpLLZN79BZM0eqJVwrsPn9Rxtiyh2DW7k7Olx9NXSoBGrJmsqHPbe\nxuk9yBs+Es7kTAtKkMN25md5K5GbZmlG/JhlhD7bMYJ21iU+Oz33E9/BzKG9\nA8cv9Bq+aNSTEnlx0ERrFucPWxTkf3A1k/Scn+8v4XEmqO0STA2YeSF6WJDS\nmiYJuf6w2bwaBp2gxRr+jp1ys2oudj8qmf6iLEeCQQOGVW6n5zxO+bw2zh16\nssfvMwqiGYNISCAN0PMnpFs35Kw9ai0tdfA7H+aY5YD71o6t4vgH68LZJltL\nsd4ft5SA5AoAVxm4nwjxh8DW0+hn9V6uunr8nmqLWFVB/GTO+Patem3r/1Gm\nb4DDuEMCkvq7u68mJI7+KRnxXHnl6ZoIOjxc9Decavhn5XBvmD7wAf/330+B\ncU2887r3dUlt7DHP3dgBPKjbc2R3fsRGqPoFzJep/jjGVrUWvbdyw6RxYcLN\nOvdroONuPiss7vA1I85Lm1buVlbQg9a7XeWAGa0vqUAk2i15Mml16N8LF9pS\nMiDvBZ6MNe45Uoh4hLmftaSQKzLHaXUC+44IQTO9w4sbpVPpNk/OGekKT6Kj\n78UH\r\n=K5RN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB+02k5+34xvgZkXegwKKoLCg5CUeW8R0ZtBK6k2RLa+AiAWP+fr/M7Bp5h9kHg0lHOa0Ri36O/W0iwdtPVma4j/YQ=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.4_1526624282169_0.9279710733480699"},"_hasShrinkwrap":false},"1.1.5":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.5","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"51d70608e1272163d5f7a8a3851f3cbb88197093","_id":"ctl@1.1.5","_npmVersion":"5.3.0","_nodeVersion":"8.6.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-leg93O9ebQ/Z8CypE7qDXkke/QqOR6d6Q0osKrCqcAGdELbxsMyvtxjoMdo0neFE5ETy0mnMyrg1iSO1kWjnBg==","shasum":"c505565ee34fbc83cb9f7cb5dbdeeb32a64abda9","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.5.tgz","fileCount":11,"unpackedSize":23251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa/nEcCRA9TVsSAnZWagAAUYcQAIvGx9IfeOjUpjw8wB6a\nzs2agONPnPB5/eF9WBmA+WVuKWXWrL6f22RyZe9/OZOUV3rIaAM2ZA75UMcc\nT4/0PsSTzqwfKzLnF/zKM4x25ZqLryDLpUk2ZVo0dzfb3mS0jtEDt9p6kpHo\nMfr5hC8iiORGmf6pEH/PgXTwyLBfmYb8hoPTrsmZsSsqi7Ujkx67dZYLkBm2\nH32aJYN2TLeRkjHwjPq30NBzyyAQfl/rEbFLcZulX2X+InEuEzdUG9Feg7cf\nflXxga4kIuQlcRCVKGUOJkpx0qFntLSYzve2TDXtcuUzoQKBgc6Ka/Zq67C0\n7gWE5xLKnGFHKZVWTRC5YaDVgUy0aDd7bZWu0TpgMhateQfU5qVSavbI8jd7\n/lS+fN4f6z7kib2YQ0LCpMwgZAUXAUBEDwhrdl7FhJ9sJnT5ly1ZlBPqwF5V\n6GoEQn2GTGciqWj+3VhgiUcGApbDCDNdR7+Dd8qiF5hNyisUrIL/YU951z5K\n9KZdSU/lKT2lQMEgwXW20NYIxvLun9mMuFh60ejDbtKl39YHzyLCJ8apvJyU\nDAacn8smelLGBHyyfbglGffNhVpY3oFBKAY5UM4fyWDNMtcyWsNKd3hx2Ja2\n8CE05Ph4W/sO2m6aHwHKjuJ7ik96j90oyOYZAHU3al7u6Y/gqN9fuQrAI0DX\nM3c5\r\n=V2aF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBRobdDQi7gURlYFGBISw+LlW3suNaXrcbFl3p57q/ZQAiBJA2UUxWiXxqVZH46W0uA/Ur3He/H4ZLUw2kN9NqK7Yg=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.5_1526624539610_0.5820964530409778"},"_hasShrinkwrap":false},"1.1.6":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.6","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"e09c8f445fca58b71adfbabef674278705f77bdc","_id":"ctl@1.1.6","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-ao/OUk3XCgFCfY2H5XNti/TJDCACYh2H0Y67eV4zlodEWLOqYDYstGbfyVxBxMhn72rh7uoodPg4h/MK7hrzUQ==","shasum":"e493b0ae5a42fa5ec1b51a7034bda976a6e1825f","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.6.tgz","fileCount":10,"unpackedSize":23212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXaL5CRA9TVsSAnZWagAAXBYQAI7MWini7Dy0LV+a2ZNj\nvwf4Tc2Kta/E6ek0SftHBbNtUGUp6DBuhq0q81qgyaqEf4RJUvz4pYnN/2YZ\nKZHjFvgNwgJFs2rxSpkchgHR7Eh5eVLM7p/L6AlTzh8SkaDE49pHk9/myOUX\n8o2uWeb9+iGRao6ZApVO+LKVuA3ATHqcWT0GUo1VO0TNhObaDC8lfXEue5ZT\nS/Zx1SK7/U+KIhFGVcMTbp0osMoFax9MD3J0JSFM4gY4FnAyKi7zaJRoGQWo\nCEZsjSMGprAL9DorMpVwq1sJKdcrSbnRIahmxXnz34QGWucKKTqrT61Pf2Jc\nxeuE9eQ7lwGJX9yXqhMnBVSWcQzTzfPTjVByIzaoD9sauG6ald4lmyKBnnrH\nOPwPGO/dz6cLa5ovhKBewDt2tWRuJPL65ICc2P1sZC4KZyQwq2zqJM262HaQ\nY7G4w9+QlpLEFfbZuAsDILFeJBWJ/D3JSFuZBVwf7ZEnWNUVKcNa4FzHid4n\noTBhHTmgkt06ekNy9J+9nVNVL3hSZ37hU47UyOjL7NU+2dRN0htYUoiejc69\nObaOxVX08ndPCvOKYIl56jQVcOE8NcNpOyEBiTgCRK8a0FLcQ1/uHoCLlqD5\n8NsWWcFykCzrjretBgaFndy99ejy+MPnbQUBGXHs29YXvkbQBR4ObHzx8G6e\nEAF/\r\n=bLEc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmhqWVoA/rS/+EHr3krRlD7mW6pb1oImQGEyBYILdyYgIgQrkbZhVd9E1dlFNjzI7u3OZL6i2h8qZWKIPCOXEldNY="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.6_1532863225000_0.02422620620641136"},"_hasShrinkwrap":false},"1.1.7":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.7","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"500976b03fbc1d053e0d2815944daa76a285f10a","_id":"ctl@1.1.7","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-RpxiUwxk4dGFQ2eR45dHkyRu+ph4zF5UowcJ3hoH6ltYWEm/DCDLSYK+IIoG3px5QadmdUXhORse6nZxChXVEw==","shasum":"91ace4085f55c82fdc191ac2e944bb3275939971","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.7.tgz","fileCount":10,"unpackedSize":23382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXaUiCRA9TVsSAnZWagAA/T8QAImQzvEDAiW4Y6a38UW8\nPAjaBA9VsiE6xcAXIlQpqiTqSsHvFZgPXeodQI2haOH07LDLZTe4MWJyYSfF\n4BXRi0lC2QCQx1mQE4fF02asyHIhI01FeCzZ4rNxt8w0UiCM7Hg66hwP0TiG\nmC0xMUgWwl6rO7+J0PMAvjWdw3XSI9386eMWsdE13i4wjqUIFECqF8leK3dE\nB0Gsedc2oBkY7x7BkLHWsnD8rlof2mkP2z5eFBqeKv9KFf3zCxaKxeqE+w0N\nu6LUvXMPEhHK6/SQpZF1JQe9UNPwaSRUH8fwEjiPu4tvC2C2JcdLpdxmQqOO\n793hoE8QdkCq2+Z9wuYsLDnxR1BaBfV0T62kQRItLjCYdVGtRWdTMIO/V9yX\nN9OWOSoraLkLEUfv30Tr/5Kun80hrVkdS84Ni85CQJhlLRG7S0ewY2SZ3Arn\nfLGdj4ePECHbjohsPhtZpkOHW3JFPX8zzVJopEUXzxgAgk3lb/zht8yxmBqe\nRFSXAGyf54Mv50Wb42Q8opYkuZ3uUYMk6Q0e9DHd+aZLFUpkzrScnpPY1dog\nFNorwA3JK7T3gSNrwwWb8BHewPLbGg8Pp/P7pbQhqB3GZ8gxC3OGrumJ6+uo\nYnBExzEh8POo7i7qb3n/JawRVTxKzok/vxY8JjbaEekl7lhn0IFoIm9hAynq\nGszM\r\n=hYUe\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaFDDIw3LS3U/OEA9WaMduaVgimhSm668hzPZ1Jm8NjwIhAJ5cEBUGZHG3s2e9Pkd1Yeq+4N7s9iIlMYaVY8lt/Fx3"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.7_1532863778349_0.23754039601437316"},"_hasShrinkwrap":false},"1.1.8":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"1.1.8","dependencies":{"app-module-path":"^2.2.0","better-logs":"^3.0.3","callsite":"^1.0.0","fs-extra":"^6.0.1","lodash.merge":"^4.6.1"},"gitHead":"a065a3e8b5bbf0e49784bb8d47b7d2f1691e49f5","_id":"ctl@1.1.8","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-qTs6ib5/Z8hGKIYFUDVoYo26NqvC046+7HRxdsCbicduzR94iZaDxxcO6OZuUUyWKX7FcRWIqTGhmCTTJ14x/g==","shasum":"db968a0713f7ac7a7ec9b6e373fc57509b2f4f56","tarball":"https://registry.npmjs.org/ctl/-/ctl-1.1.8.tgz","fileCount":10,"unpackedSize":23265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbXab+CRA9TVsSAnZWagAAqaUQAKB1Nz6tpXazBZ+2hFCH\nk4HCrYlB9uUQipsoJ9vQzg9bJKVUAsfI/l1FJSZyYJ43bck4zbkv5XGGyA2Y\nI7L+LnHz+F/SiLWKRXHRs7+uaEGSE7kEHPdr2G/SMBawDKgF0BbtKe4OtrIq\nK2fgjL2JWCcTgTugjb6ajzsh9PT0hYyeTh7vAhVov9DpPYQmgpvFvHO1p7+w\nuMF1pkHOguI8IejErZGEO5fnJKVo8Pg4NJVtYYXBijzsJQOA9coWWkgn35qc\ndRwtSOTem1ybpgnaVQ8yJsIv+MCuM4GO3Tf7OgDsDYnyvqSadVRfSNvXQ9td\nJMOuLHMWUMnx6eJCirKjeo9V0mJjGceQV5465chDbzt3eMIYSTJri+ErJKcK\nVTCkPVdqtkOGjPRUuAe69iPg6FP1cEHa+KoywP8xacbTiAEdS9QmFYti5+8w\nOvrl7xUPjj2FsPqCluReblvNosKuKaLhWhCIH1hKClLUAa84cRgZqGrpHvZA\nE76HeWCEZ1braFPkqs+BHmpga8tyi8EunMTmDqILfcYdvt4FFdIyFgdfBAye\nJmHlHz8wwyWtaoj88pXxMy+2AkSdQAYexoNGd76XQf6jgyZM1lkSkje+hhBw\nAp+trJIbplz9w0tn0GTo+fiZTOkucZFmLkQVNrULHQzyfvgmY/75i66h6Qgo\nqYj5\r\n=Q/Xo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMXSp5ad1+9ytaGsobo1N4oNT0itqbFOIX6ZqAC0yryQIgUVFoxpe2y8wXcPNIeSfx9VncengVAYXtrkkvraZqQKA="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_1.1.8_1532864253560_0.9744725674733674"},"_hasShrinkwrap":false},"2.0.0":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.0.0","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","callsite":"^1.0.0","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"f8f6ac1f4a86f8681090c71ea14490c17ff4762d","_id":"ctl@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-MkPBI1b5wchs3zdra4U8pyG5fjlsKBZ3WuIirTxfjbpVxnDwacP44/GDsBU8sUK56ZmXo4gzXWPUhma8s+ZNSw==","shasum":"918b8f5ac4509a052a571e36cc83c3a098ecf2f3","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.0.0.tgz","fileCount":12,"unpackedSize":69070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcclh6CRA9TVsSAnZWagAAj48P/12XO+xRPKXMAUZTVKbe\nESPisjZqhC4EWFBLuiwqwMVb/XvrwFfwOvvKKQp/VhPASjzzbTFZ/60cIatP\n0xMGgUqrQO0C+nYnV1arJ3cY61hCghlnNlMG5RLQsl/N4FYz2mQxUcBJ57jb\nCLx6u0/WmpwGjKHCatq8BND8g7wAinOAk57X8SehSxTS1s48wxkxKFb8OK3x\nFp3jXbqmJrtB52C2An0tKVZ7+98RnhoGi3m3iDD16Qj3yMu687Rq98es67i/\nBfhANHPqz0BL4b73K19RSmPTRmUGApSqqur1BRHjZwoD5AAvuxwpEElxUbOl\n2fhTsGhPOAfHTdNR45WnLE6medCnboDdFrDtYWVqidXTp/4PWl0qWmU7+p9f\nZRdGvyQITmgRzcXncYOOpODwZDhzODb42Ssz34m0cXhTBK5QUe4gmOFHS2zj\ntpQxXjukMoPtvtJwBILbOgoA0Oe0bpbUPyb0h9Of4iBovhqEl7SnBpt6xNSD\nAkBe+ZS2AdRgbl2owRi2YKMLPPoQyKdEMlPo8hSUkKQBd4pZZgZwA52Onu08\ncEnq5mRjUHrDXYbLJHGxQPos3iWIHdJ8tfRfBI57lQKBMCKzbACEaaIgwt6y\nZDYfginkfGS0q6yZx2pl7XD/W1HEOJ5oShasjdWGbsuIgB3qukAwiD8asisg\nzUnB\r\n=jPKy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQcYS46bc96ivESBdmN5IyxGZoSyK2B5SjGLTX5NT18gIhANcginRmfK0eVsaNE+JkyrfPlJBNex54ian/ITQtvyG+"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.0.0_1550997626072_0.7672679907337803"},"_hasShrinkwrap":false},"2.0.1":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.0.1","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"2aed24e554336e46ca09332b18b0b30ba480494e","_id":"ctl@2.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-fw69vwo8hpQlBL9h45YwWPi3wexVOc/Q4Q93hmNckg1kwbco09pqoMSN0quAy80MYmqzA4pGHmvkNnTVXb+DJQ==","shasum":"e7f2451a91a8327007109f1f54721642736ed052","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.0.1.tgz","fileCount":10,"unpackedSize":68265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccoQfCRA9TVsSAnZWagAAedwP/jYujeT5GkwdrJbG8kAN\nEXX8wFo0R7x56nVNqifPtRFAbkGtCqKfEZyuzrDTYVVCtBoTkWJol2C1HL6k\nL2lKk63OcIK/zSWorNOQrbhpE28ly75QX1HexKqMzJUr2T1V7EshOAIlOWHO\nJd6hOGUdvlJuU1m5t+XSaJiqr54sftpBKHMTz5NoQda9MmJQfhW2TxnoFfNh\nddz2Q4H5Oa+AlxeWcWXsgFr8IBPvdH9nXLB5iLjWzEMwK+yw1oVFdrQWxEqQ\nVU3FBCAjIWElwiHRNBxAIOtdIy4sDtithhT4Jz5iKkuVFvldhkbfgY0b48BJ\nsRwvmFW+kwCF55ennxySqrEJXY67GHoP+K4qUJ8zAaj5dmw0vyWYKdwwzkxv\nR8+sTs5Gdy/0BWNEFVnyFoQ7gXNgBf4/NEGaRKHDCOiA4KTgLF0Tyf+nJgQY\nx8DEVr2PblMxFXDYEc428jkQoypQWSe5YWEWT/pRYcuBh2YIqIo1TzYMKd4E\no7ya8S1/lX7xingYfY6DpUr5zlmYoyK5X8AlMLceKtzAXjZfqVp9Uo4gb83y\n6iTEnJSXV3ZD8U/vFGamlCh6RbKXx9skuR4ypTDeuatdDBTSXd5DQSGOpXq7\nZ1TN507U/cA58D994JUcP7b1XXXp9RkV2WMvoZ0nZ5shHmS4TC0TEj+osPi9\nIS+v\r\n=vk8q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBCsum4vs/gvXqP7cnKZzxMGE1dY5ScIT2tVLGkvjAdGAiADoVh58l2oXfpGkwnVFmIlscC9kwJaSpVniwd4XqynPA=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.0.1_1551008798692_0.6038758545279828"},"_hasShrinkwrap":false},"2.0.2":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.0.2","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"f5c487aff2ee119ac8dd45cde26635dd4b3ec0b6","_id":"ctl@2.0.2","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-6XZ/HJ2g2h+XA/xQ1ORkjKql6zgliedCm71eHILX5PVbfRXhW9ktrM3LCaXj73L9ze3W0p+/v/LEBNe/43VaJg==","shasum":"b63bf90c781c7739ac90ba259c5f4027c9d697ae","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.0.2.tgz","fileCount":10,"unpackedSize":68244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccoUxCRA9TVsSAnZWagAAVYUQAIdq1fuEVfOypS/is+SS\n6XHiq/K3zTL2labixgZ6u1huqaxjQAHO+hC3HM3bNN3bK21XYyMbXQeMJoh/\nXtQcn/TVZIXPpknbBkbTW1JtIrVMgZK8duJZSiaM3XhH0C13fOilKXlw2AoY\nKHm0QnzuLoqcVDcqwgFpk36mqpSeo2u6/fKcL1wNncU0hIjG6dnaTFFj+BUm\ngN+IkZy7BnOaTn8WKjpx0+aINLsNwZOYnZ2xoqz5nqJKANs2ucio/z39dhjP\nbpuYlKjc5IG18jr8n60GQ4AHV5rzWw9soG9xpqgxAw2fCyMzeZkCNCRwSQhh\n86vvlWYV8HE7bbonY6xxFAQfgFYuF783luEauHhh7bFjOveV5MTFQhLxfGa9\noE5iHJENXZPWRiUP9oaSg08C1BpYc4y8EtRAIcBdJk2OrxK/MJ1VLPbUpu+V\nFsv1zMMCea47inUKmd1791civzFeTRjbulDD4E/6IEjhPdO9Siz5bCzVTmNW\nbV8y1eUOb2eMc3IUP9qihrc77jceJ8khEGGyiuLNMciykTYCws8KqUtDyG9Q\n0+n55zVoW+bXQZqSQJpQSgOZ63uO+U7uhNWDJFUJt//VUOOAihAHA6t0sf9S\nPbIoNEMKc8MffRKsJthpIhaRqpvy5XydFH08VyI9Y+kSAsjjf6nfmUZ5+JTl\nA6R8\r\n=bW5a\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDDY6bRHNtKsvdDNcSQNg/tfTZvKiCCMQ0TE5xI3sUsqwIhAPxCvTCmFCMq3pXeYqlaE1HX+gJwjh5Vo1HHO1Y7m5v4"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.0.2_1551009073311_0.9363533032983677"},"_hasShrinkwrap":false},"2.0.3":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.0.3","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"861153e662c178312686cb6ef6751dfed4fb3662","_id":"ctl@2.0.3","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-ajrkLdslnkmAKI+ZTr9fXdJV50GpprAiOHRKb9x1NdKQCuCituLLo8K3pfN467TsPIuGJA1z2prpLPGdObaVGQ==","shasum":"8f9bedf20f4df25b511f1d6579f0a9b20ef48db6","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.0.3.tgz","fileCount":11,"unpackedSize":68614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccolXCRA9TVsSAnZWagAA/2gQAJJGjWRLvDM7q4KzTeHp\nEhXjXjmMhNqRSO8bPmaBBMu1qiBJxk8XeHE4nSRT2/Aip3QZQ+G+hxXWxfQM\nMlY6awel8tT72hCmVyv7ygKFsp53v7BCdweMjaEDWDyJODtX+XjSM5NqL6A/\nTrgyohyjbq4oIDZxVfUlou8Hjfhcm8azWvZ/l2PU0aanzY952tYzsErJEsSh\nanxDqh882i2Rhu0VdlOpcxP4v2MbHq/yiBONuYeCMybqKhuQ3hgy2URAVQPH\nXDbzeiyegp4RjFiY+Hl9uwX9v060EgV/7THtwZ+DkEVoRocmIJqvU31QZBbP\ndoMzcRgnpfz4nLNhL1mbpUHDvWambsPT7DO8Z0yiTGzUDnkoBF2zOl6/iTDR\nMPA4hSaIt/CbVJqmk/n0tMOkaLgq8LJkI6FsWVzOQwxRh6IIpmqbpadeujxb\niEvDhVooevYMo9kXSJn9Ya3Z3In2alwZis8EjWPL4u7+qsx7WJrMG0MrWGWO\npGbUVT/8Zy6NdvR/TulqqovMcYwQcUE0XO68HX0B0FO1CQzD7M+1uWc57FbF\nbx/IsRIrrgm5h+088XhvW0vqTvOQCFbUALexrB6LQoL/KriAabqI9eL99C9s\nfwsdP4Mwscdbfrn8za/n+o1174geip9Nle9lwCrVG7NHueCjl+zYr50lbV3x\n3peM\r\n=4gM/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCf2ssLTvgPGU3KGDsQiV69Srw2IsL8x30e+YGFoXIShwIgC5akFop3g9iNsI5BjpM3gc6gwugr2pBg6Yg+qerqkho="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.0.3_1551010134667_0.942789683807161"},"_hasShrinkwrap":false},"2.0.4":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.0.4","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"aa96dc538ac1e9e2183b2dde6946fb4c4511a55a","_id":"ctl@2.0.4","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-mBX7xha9NkCsPmoyoGrPuib/QKs8/1xXQiFIbk+CIhWpmV82NiLE96OGjLjw0UaMC1KxI7jSrs3T/eGxMRQ4PA==","shasum":"ba24a0a7de76f033112aea4a75177a56538cc8d3","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.0.4.tgz","fileCount":11,"unpackedSize":68617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccp1lCRA9TVsSAnZWagAAwHgP/2bSSiO6/Px92IEVXYLe\naHpsjIx7/E96gJDMPAZIQ30Ebu4Kfk9Owce0pZfm1fzd+zE6iKweFrH8RLd3\nNmKBFQDpGw1Sei7eyZW+RwTBZ4l4j8SQH4qWpMPsKHhcDAqv8edkxQk0HMYr\n4zVTiy6ZqpfkGwwGWaMXD8pnOxzih2UL3vxrII4Ki55738bWq6h4W5o6vZjv\nIPZyCnXdL04aCspwAZpOeNVuPce8aT2dmQSKLrhljhSopHEOMUwApRMZt6+v\n4bda6QB8rgiO3mEvN756Qy8Mjaft/5cqbNnZVpJQmUnVPwu55ezCPq7U5Wad\nhDs9VDweD9qaDC9HIXd4/UaetZK3k0+1HvGVKJ6+l+a/NH7bTGz/rCDYbaw1\nxmV4sLGvfOlvIJDWKIQBf15GW61pXqtz+YdPLPbsl0KL7l+UQcvAtgF4fySk\nfXTiBA1z9ojduTxE1DrWeg62nO2Qj1/F67lMN0AGh5uHHcyQ0dJ6X348Jrqo\nxnf8/s/PmG+o/hk86k3dJmP+DQ1ugNMemP9VpLgiO8MtkHlEIY9chV7WFSft\na/OS/fWBiYfRaJ1MVFoWLRs0i5aaYc6PUMPWKdZth52UDaRimGnz62q7tCRK\nGXKW/v5cjKtFpL7ybmX7h4PATTGm2Jw5vXppS1yyngLT7v6LZwfKbx9fAr0J\nlymi\r\n=5z9V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG5clF4/YgOOcgxZ9o2ckKU0LCT2La1bt78Hs28o5x2LAiEA2+DhxJ7iJFTgnApVhcE2k1DnDrnIpZ7eeDWP4dESTmY="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.0.4_1551015269194_0.685966695253585"},"_hasShrinkwrap":false},"2.0.5":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.0.5","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"d7d7b1b15b03187ec5e1c3471471356f85ba37f4","_id":"ctl@2.0.5","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-dNi+dvakGX9er/qnzXvGg2uq/SDBkIxHwVl4OooF9uo/kqcJCKMvJvTQAfEXlK3+tF/tvtovzqHHqpYYGQ3VBQ==","shasum":"bb2c6e187dd2029b177f2ca98736f24db20a46c2","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.0.5.tgz","fileCount":11,"unpackedSize":69399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccz/4CRA9TVsSAnZWagAAq/UP/iSm0d41pChYLlztNaoD\n4i8si3ueMIP4ee2qUyDlO2Xbfi/qkc56pRasfPtmMuDGi5jFr5KG85dw6VtJ\ntLRVAKUXm3TzYI58dYVFOrdj75PmfMN01q3j0tFYHA5fDR1n787f+wRjAEdr\nj71eIGcdi7/PybEkJO3GUlg6rBnwMi9hgIGOwNJ1EMHwI2dSgI9iQ2f8yI7r\ng65fygLC4Lja6y+C/II97nP4Uwc5mWrDVh0eV1qfAeHSUaqBxejLXip7GCXt\nRz7l05QwtQxzvWScYKtwl4nUuGhW/qbKhHgvD5pz3/VOkBxsjieRxzxW7BTy\nczEEF0Hyh3etbOYgHc0U1yTD4urp81DyRv67cb2ropYhcAvYrD8GvsRC8xCX\nUaddkbpVlbyiPrBbSTCxbmiAd6l6ptDpZhgF0T57QmfI7dLMXfSQ2z0igbAE\nc5jAi3aIOqm8z+scFsqfNe7OcHftbIH6jB2BkkN9b2p70GNdrbPH7BbxTHe0\n3K0JXunO8Kv+Ve2Wjzziv/icGrgFjK7MdgLdyqqw1e6sV3bncpyH1zJzlBcf\nQj4oq78j8FtxE8WJg+REYkOdqe+W/ZYzJqzrEb6dP8/eRlTV74pC/UXKVDdD\nqNIk7MGQ0ICKpSqb4AKdQxTNAe3ixFNNhvADB51+Y+f8R6GR7MQNQ58mnu0d\niyJN\r\n=04E3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8rxAuTD6IOxxiA0W2X9zDpIbTkFgOWajU3qWAXtA4cgIgOR47ST9VdP/hfNYW6wL0d0pic+PAcyivl6+jdgbLWqw="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.0.5_1551056888045_0.1281498617738268"},"_hasShrinkwrap":false},"3.0.0":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"3.0.0","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"70e1bfe507939fb1cdb2605364cd47e970dd18b9","_id":"ctl@3.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-9O2FLBDfKIDXUVeKKstLaA8WH6+H2GG9c6GqVIJzEhD70zcZ4GD6jwYgxfW9ZONMFr7zvzZaWrtdelg00Codsg==","shasum":"4367c1ce37ba1a7cb916e4fb8c12d633f8d8089e","tarball":"https://registry.npmjs.org/ctl/-/ctl-3.0.0.tgz","fileCount":11,"unpackedSize":69402,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchoteCRA9TVsSAnZWagAAuDIP/0WOmXFFbV4kGdBIaWwM\n+x7OcXjJghCPoQpqFkKVpacfITUjFi+Y2LjCTfp3Xym0oecX/uUUjkKYauQ7\n4bWqP09H2eQnBCtfb9SgHlhnvmKoVpO3GZjCtsIQb9eMFsIuF5ZZZ14mWp+9\nRV15QxYMW2Edf9pUiPX4c8c8ovZLkXy4oFi7QU4CPHm3uCNQKnloPXoDw4N4\n8qxz2cGyXRPMBvnC/dmuZm0OY3sZo6z9F8YrghWbefraaJmtei3Qw39loMZT\nqSpygNQ8yJBwEQx0YbT8s0W8EA14YdkOxZM5oQfVtNyvSFgvul++s9tJwQFw\nXmyBALqQsqa9rGV9HAihOpvl1GJo3W6xQDFpNeod52Hdw1TeIeNZDOd/y7U7\nb3PRsEIBL/GBkYH4+jOGD1RRj8+zLgsqqQIkkQ9LBbJyLW1Pml9fgXe8FOAf\n92LwH9ZiY+nWkEegTggQyod7PlqzgJsDL9RpKKt8daQXNlPQ+fY258CEn874\nrgW0fwvw1R4yMacCTx5/VzQlaDTogA7gCg6kxoXeRgqVN4SEbZqCvh73BT89\nZ2wyILyJkLYKWkIQzTISbBNM9Ka183Un4PPRuSkNiRUftp92VZG7lGM6hcc4\ndG5/JkjWU3t/l24nVPXOD01sRgbzvYw5lTy8n83Qp0JW+JnykbaP5QKcSUyI\nafeS\r\n=1/M9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBY8AdwGrEPD3xMG2XQKHixWDWR8aWsjLWFgRhPuLGvoAiAwaUqzKGC9Xe0keBIQkpbUZyEYhfkfUMsKvh4glHtjUA=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_3.0.0_1552321373913_0.49305715546934015"},"_hasShrinkwrap":false},"2.1.0":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.1.0","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"6b2a4a9857d6614d56b818e4672206dd6504a1cc","_id":"ctl@2.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-sX92teGrWD1TyF+zOWY50ks0JODRLoYykfGNDij4JE7db6vsIFXo3CajWSyGsDR8kgUlj91MJwDAqh+DQNPm8A==","shasum":"d230304817d039c509194d333857f5905de2c043","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.1.0.tgz","fileCount":11,"unpackedSize":69342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchphxCRA9TVsSAnZWagAAES0QAIZHD21QdsboG5i0RsN8\nOld1Q0+Yjxa3Y/pYOJrGHAq2kzvVcaUpbCa0zOpo5KE34Fr5ID3STOGfSQAd\nKmg8LuWp+WxSnmyiKijMRiqE5WdWjl/hDKZjg/6oTRMFzPFgngYfKDCA/64j\ntYYxeReAs2AYg9KBTP0HptV8/mO+C2HFgz1YxgdxvKuAiL9c0C+6W61gzF4E\n9fOS1KiPtyX+mTCttVwntW0tqxrNQtwWWnLYu6A6Clt1y2YuCfByKv930oPf\nIa4P8NGH0ZoeswWUHOGaXl7I1NvLCTkHhqur+PtoFaGaKrAlC5rtW6MxEeBe\nETW5zlgavMLMMhZNFyMcTQIF9RNPlmvw7LLKlgcLKXpSY424KiWJcnKXlhtH\nxj7Ui6bQHrxRr8GDsS/5eu5DJc7leOUGCFE5NrMkGmcydEjju3mfZUjJtnoS\nYAIZMuP03jTr0w9npUGHaf8/JP4m4dRkiAyl3WFjUh4X2Z/r93ydsP3J0mbx\nfMWaFDVEYPkE0RoK17h2CNhmnPvXwEmd//atNpQ07vaozxq1tahy6Bv5PIfr\nu35En6eWdg56jpLr1wPX8/btp/U7tNfpjzua7bIp9jEl86VO/kXuPEpU20Zz\npDJ2ajdcUI3x0Bl35jhSNn7yreCnNj2xzOuBzEgl+5npD2kEcKRrlCYM0cS/\ntb8l\r\n=39o9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6i4BnoF8n+ueKgWhz6oLcYak0Ght7A6QpJLhfEPUiRwIhAJkMiymcjPHxhH7BXql33WDAPPCkhBKuWiVFNo2qnuxY"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.1.0_1552324720715_0.6397607115309181"},"_hasShrinkwrap":false},"2.1.1":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.1.1","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"590c4b3fc626a180ac0b62767ebcaa9fb4017b26","_id":"ctl@2.1.1","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-/1u6/WqB0nBz5/OequDKcW8QyfBOQmGh4sdIRcdRxvSj5vulFdBOvo7UKJSzfjYfS9zBwZzsJu2/jXXurqasFQ==","shasum":"424399fcd43c006f44b4c2788b0be2d5c254faf8","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.1.1.tgz","fileCount":11,"unpackedSize":69400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchptpCRA9TVsSAnZWagAAWZ4QAI90pSJ2Ww7dmjoA6nmA\nQTVjfPgJwJATcPQDWIxYLBX7iQ7p/xf5m9wMKb2DhvFmToAu/CHVtQNE48KR\nNxKwKj3pFoBE6aLQX31ntKHmBPd95uehqMjdIaHGYwJ1tT0NJaBhU48kqfe5\n3h1q9hcbaIU/dgfEcO+BMdsWeZ0HFMObxS0LuXG+RqGFJ5Spwpyw0epufQpS\nfPO75hqwVeQ0OkbpSqcsgPAo9k7PRoum9+d2sTw9wYg4gvFE5QipLkT6c7Pi\ncLpj3iFEQlWzvtGKWh3wuCLvcjuAgZ50wvUSCEQsI4SUoP8QrlpW7glv3Bt3\ngp9hZk0DYqZjdaHMrr5Qh4SrJf/IRSNv2c29+jeD4r6jgjxtys2IO5fP6yhL\nOtHI/JEDto+1azQsRvIsU5yIisIS+166SwKC1mOre8OtiI4FoR7puZwos2/Z\nHxRrh42XXna7OgNVTvpz0hK1I5JWqrXLU1lq4uBu97m/Z0nnkjyyHV8mJoYk\nUOu8AL/ygBLAZxeeSJ6U+XR8Mjc5wofK/LaA+UKdO8EUn3wy5iHZifmzPExv\nCv3Fw2RO+O2fiNbbxV42HGLDtiHLgrcsDUX6n871VopgJy62mVUkI86kv+5U\nIBW2O6PpFRVQ/zJgWN/wAWGsrfl+a+Y8T0sqxr1BJc61tWqAhZp3eUIXnUMe\nYLsc\r\n=2UW+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA2oE6ysIB21QcGpn5Oi4tLmhM6vt3Jf2MDwGKKjJE1ZAiEA0fVW2844gwQtnNwFxcYk6JuRsuUhNjPWoWxVk8D0uiY="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.1.1_1552325480348_0.8913658876624093"},"_hasShrinkwrap":false},"2.1.2":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"2.1.2","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"c3025d0421de67d07008f819bfc6c52b33f53066","_id":"ctl@2.1.2","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-ALwvd41tmi9ka0nOQef0mcg1Ov1kxWBxHXe1GnRyiRMzFAa/1zyOX2nFGsaErMTbWcg/qNGPFsb9S428N59x6w==","shasum":"2855d9822e8420fc89c1b4f6e45d43e49c417ded","tarball":"https://registry.npmjs.org/ctl/-/ctl-2.1.2.tgz","fileCount":11,"unpackedSize":69460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchp0ZCRA9TVsSAnZWagAAhV4P/R5OWEO1VgfT8V5kVX/S\naUPRYuxLsTsZgsPNE4pE0i15Vmy7ps3E4Rp5Xk7frvXwBp8ST9wJrJFcW5IC\nas4TeoaMMYXcM0PYZ/5SFr7ejFTKOXTIFjTRdrZ5pfap+m4kgI3z5kK3ENTY\nuhs3s88vhwJ87NkebWYNAdGOHW9ZJnIcSOPuCEDuhvPx8A1LwNVpOtxlWqRm\ntBFueA0ZD0ke5n15eBmgThUjvqFh7BSbp9J2QnSdEXD+txEOIJ5Go/NJhXPj\n0pQNi3vSZ+xZG7V512sOXSqijPiDu7H1vCzenk5TpJAESCK3p5xhJe3AzbZ6\nOxdaAkPMYDiGnA9cFoJ4v9pNhcK9uRq+rk+xzs/f/0TRy53edNhjjMBD3Zp2\nC60kj5sPQwzHA83KZZVu+/SVAaGAli+s8Ck4jiZ3DnGsUVsUnw5u3FHTcgSF\nWO8UayP6uddedXiLlmeLlnO+nrTxnwbRipSTbglgAL9DPa7GtFr6dcCYRMEJ\njtwAJSwlZmcJC5FfF3bA1evLSSwEjy8RAsKBczV5juveDPP769241fcLj2ao\nR+RBR12x7QetUTO37myrZzmyvLn7HEQt9MONTUpyKI99QnpkdxNy+NPD1W2T\n6VapdL7Hupdo66laOYuSwQuflfLKg4RsUJAaR4lRxDM/OhxZIIuEflZXGZKe\nAKeL\r\n=4rVI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRb1QW0bZLkEDzOwGdlK1FR9yn43Si4bb1WL+qV040UgIhAJoufAzUf+mpTKHMKc4Djo/svGHOLi4N7Hwot44zCq1/"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_2.1.2_1552325912696_0.7583544104460553"},"_hasShrinkwrap":false},"4.0.0":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"4.0.0","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"25e516d6c6a485ac2a2caab738f8e834faef911a","_id":"ctl@4.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.14.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-UEJUGOgll6PGnGVs36J3mCH2ClepRU0YAYNFGgj9mmb1XUojn9OK/zaZT7DkTeQhTFPtk0F+XIEhdbXtgpNjMQ==","shasum":"c1bb5a92cd372872409441c9a17334f720c4e26e","tarball":"https://registry.npmjs.org/ctl/-/ctl-4.0.0.tgz","fileCount":11,"unpackedSize":69460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchp60CRA9TVsSAnZWagAA2EwP/3IeEN6YpgD0YRQwpiJu\noL4u35BqJyGNn7tX6MTmzoAvtryu+qFGMNFm/KztcR8MdLp2ZJWahvPWCVj/\n1t8uEmKqJqP263H/6maQXP1oHXNQXwmjUPYdZFuA8Tz2zyE/UqsR9ZHv1x1j\n0vq9p6wzoBSGCGyUGfm0Gxsc6Zsjl2qZZ+nDuC9xlJmTkaHeyuvSNqTX+eFD\n6YATMSd7JrtCLgjAHpnQEWtK6mAcSxpdF8d2YEei/ynXizYPSeRcNZLUqmoL\niMKbHRVUHlJO02s9sXIU56+BtTAACOEiw6SSbOeTlkx6+PFZYly3c3M8IZuW\ns/1DWPmi1v22xUbrG1/oCfTROWoRRR2aYBF4I+0Mk4J1a2G88l7ORgXXGXDY\nvgYVNBFBdsgHPs9xzqUH9grnPQ4TXD+XwC6NypvgxBa3F//9ZBPBRqyALzl2\nkPhTbljPtiU66qrHo3h3+spFh8V+vNGOYyCKEHTNJPLaHIdeMNdtSaXA8VaQ\nJ1kx2bpCqlU/JOlNABOXxMuJAvMGZMoir/DZr0WzmkEVYJ8AFsQFXQi5Ideo\n4RczbHNkfvHCFOYEmJPszCDiY1fBPjWkBYUpRD7ybV3TrVV5lHFSFKy1eNPz\n78NLheEXoHTMPkB9ErPq4rUuWbL/ivrQRUp+7uyiC9zfNfnBooKACBWpxpGi\ncmy8\r\n=P9kt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHCv8y7OUWzpJSQIhmYxmE28ptJEJBecOpPRvVQuCOVQAiEA94qg9bksidN2Rv9F28oOPAs3faM2MAoGrTrD10+iaYo="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_4.0.0_1552326323827_0.23004664969238053"},"_hasShrinkwrap":false},"4.0.1":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"4.0.1","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"b350ed32667f7347b04b43764adca3e0a142abd6","_id":"ctl@4.0.1","_npmVersion":"6.4.1","_nodeVersion":"11.3.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-KI4/DyDOsPGzJN7R+sIFHVz3xnQEeCl0/VVTLgtqLaAft6In0KXfatNEtHu/0IrEE7Aqt02hmcUlKwoWa9jWag==","shasum":"d0b3d2191216734d37c5d22745f98e7eb5938595","tarball":"https://registry.npmjs.org/ctl/-/ctl-4.0.1.tgz","fileCount":11,"unpackedSize":69506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJchstsCRA9TVsSAnZWagAAOrYQAIJxqyyXcyn9Ep+9uPXZ\nSBqBYZmbE0JS558o3Ofsaz2S3GV22n+UQ9RXBquE3s/8Z892Y0tsmtsBmVzh\nB7PFccpcASCuyaiP2xcVRLYe207SGMHEFs24zAdzUu7N0V+qfJFDkzuHPyOy\nvhDoMlqnAYSVbii6MSVJX8aiRuvTOkg2SixYWC25PEqgxdq3MS2bcy35F87Z\nqE0hAPleJwCiMx0Ki7qTmTDfNgpmZionkAnufAPbFibM5WZ29rjUVx65SfMK\nLMCmXZIQjJp/qZsiJBmBcZkI86nJHcqKcuFq3315Nzm3ZsK6jUi8epzW21iV\nO082bpLIqlCyILQc75aC9hDEmpPPZl2epl2KngEV7G3dk0gXjeoy5B9jgqOQ\nrtHvn2pDl4z/c9tu6jGUjkd8jYtZ5rrRjeLeEIvJndXCu07w0KTHr5PeEYfn\nOZOWtcezzPc45L3jkE5XUBVL3gBGxdwloXQzZIjlSvvA19CAehpE1DNfjhgg\nwBQr+Vs6jod4ciSwB23VQx3iQbOvhbgVuy8biFxFv5HgvE3e+j6b3tp65BFI\nhVsbndsMNIluoMVRv1h4N601m29of3FbWdureHk8cpzV3xkGgJhhwaZdKpNJ\npdggkoZvrLms7pChgjoQsRYWVv6oVBTh9ajQivje47Dld0ExU2OYU52QbE0/\nmMbt\r\n=Rv3m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVAk+PdaLyPVCTSeq68oJcApklMfAhyqWza25GyNHlDgIgK0RnBFyOVpklMBCqmOIrOCJbUJ77q1f4fusoR7qOYXQ="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_4.0.1_1552337772069_0.17867109806559323"},"_hasShrinkwrap":false},"4.0.2":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"4.0.2","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"1e6b73485d2791d7699c9ab538c9b3c173af4911","_id":"ctl@4.0.2","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-Ufc542S3FPsJlXXxS0YDNyGHzz2rA/U1E1+OdsSie0Kn7EuPFzTy1FWHHVDmk+3bJ/7BZ8dk6h0yah5bxu9WHA==","shasum":"a1f4f7614358398d7c52f74319e3ee42eddbf672","tarball":"https://registry.npmjs.org/ctl/-/ctl-4.0.2.tgz","fileCount":11,"unpackedSize":69551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrsp2CRA9TVsSAnZWagAAJzoP/j7AD3MFgAohSIZ7Ra+l\nasRszYfCVVFebZVIJ80wweICbVvgrW8wiH8+EKhBiR6gwYSqRttToncEmlf4\n4QoG810kGmBvv68flrAH05INrX1cU5sgD53lMSTjFnNeFsDTIIk/4wjWbnzC\nwfIdvDvXFMdrk9sMCZZFMy4eKdxF0FZ7+mXiw+kMp8a56tXJahYjWBWtzaRk\nQtjcTAU/rFzVoRAO7Jtu9Lz3Ovfxr8WZN/R/0XXotNFCvXhH3G/1EdX5K6QZ\nFgdl0OXjSFzTVfvaKecGMufDMDSCoiK1XDCohAwNgBCasFBvtY7OESxFziFD\njQ/WRFuunIe0DqsSjrqsSA0NbCh33N1H7eya6RqIGk5guuYZ0HvfmWZtdfn0\nZi3/FCHCEOGcjQS96zRMvZ6LseBI44CKFlgvXOQw83Xo0o2oWYtq/eU7oBPa\n92ynCfF6MLtbf1mTaURdqp9r1EXRgVjrg5VRlrG16YdIsjyo0kEXs+EPXWFn\nYh0S2HUC47re77a2Lqm/TpyQwUQD2NFX4a8ZReCx+0RBYWtbXBV3Qqxk7J50\npJdKqd364WkLwDAgKu7o8D7zOhS+AZZ3UiGHde7LxJS4Bey6N0LVqciM5J+7\nO01sldY8XDe76IorpNFFDyPY5rc0GVnbvrGIpFJvhIzflSzrsimVPDzDyPXh\n2I5W\r\n=vYzC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7mYXsqaNbAON7T1N1HZ6fo4wjGbsaQ2kEOEl++uy3BgIgYj2xdyQ2xb2GWaYaQsskzSKcYSq0QDTbjUeNdp328MU="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_4.0.2_1554958966309_0.9924888385130117"},"_hasShrinkwrap":false},"4.0.3":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"4.0.3","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"3b770efc88c93db86a4cdd9728a94797414e5732","_id":"ctl@4.0.3","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-BO0r9Tc01+3MGGnVcEW+GhvdzCBNS+A1e4cjVUGEs44U7dg/elnELjvqmJvhhNCTOf/Ub6B+1ZMZ2KfxjrFfEQ==","shasum":"ccd816b9b1005db3f94dae8e6f38bffdc544285f","tarball":"https://registry.npmjs.org/ctl/-/ctl-4.0.3.tgz","fileCount":11,"unpackedSize":69578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrswpCRA9TVsSAnZWagAAnQUP/2FqG10cq+2vq6kmriCE\nd9rJwMPWK+QAIt3Bk1c+EUHsQwL6fMLVx/ChVWXdmZ5bxPZafb3KCfJCbZuf\nKQBoaa9dwLOEwQDhmsv4geSaRpwfLmYgG9AXLwEUnjs5AhQYdJwiznG6/Gyi\n08JvwGMSmI+o7uc5RaQgTR3HnROIumXr4QU9HDdc/J9UtNr89LHi8317YKdg\n+cswQqMCqkX1bTz7UEOHvR6ywiAsjgl4EMtdmBL57dTSnjnnmPYtbk+IDl9a\nfOlF93KI2XocIast0gvO9Ju+B0XuboLDkKoOdWtigdDGsFsbasR95YxTybXF\nlQMSwImXWrNer/Ya6eUNuybAS1rnV9zSDebj9LRzOr0CHivfmRECllULku1e\nz9GOB5zyNHZcEIfHgT+zOmLHjuT0yQnFhOlvxaQVaW23E8qJ/blUMWL2hc10\nGY6r8ZekqxDxZjVbt3BmRZOTMXlKXdQG5XlkJ2ucZ3sfkjqebe4uDBkHO0b9\nt1J6k+zja0Ry/lgHeSZf7wNIgab2LE6oBZvun3d12qZd39ol+SwdpcC4PabI\n0XxJ94Tm0lz25zU0+TNf60zpwnvVBMw83zEFjV12rZJV5SHGNfyWsG5Pg63b\nEpUyg3eI3leZxqKVPmSGT5NIIpgy3OB57BPmrma3DKvMxB2lNrSGAJ1ZIZHY\nLZUq\r\n=Wui1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiMz+uvCOwKB8vrvQ9ejYxEzhN0dnnBhlpHLyB9tnWdQIgSi3ceeGQdN/yrRMwzgjiLuM5r5RwWGgxPRbv2Qr2fIY="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_4.0.3_1554959400796_0.7792673862237569"},"_hasShrinkwrap":false},"4.0.4":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"4.0.4","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","fs-extra":"^7.0.1","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"36d5546b9d3a4c4240b4240e3c2ea5b784b3270a","_id":"ctl@4.0.4","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-F+dNu0vT3LyLr3YUNuHoht6Ao0qDkXs9cLPonolInqGUADdaU1PKvbbMWS67fwpK0Wj0Hk1GSCuf/Fm5KrIaUA==","shasum":"b8771d3b68cc1305e9963a379b3f36abef4ac7a5","tarball":"https://registry.npmjs.org/ctl/-/ctl-4.0.4.tgz","fileCount":11,"unpackedSize":69551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrvM2CRA9TVsSAnZWagAAJmcQAKHsrw7mNrwe9MToZXrW\nntIQz84SrFQAoYfexcWmJDAYcXgAYBg3hvFAHvuh5W4ar4pTsAV//X1PbQdD\noFkBpzoEXa9Q581pm/RTr4lZR2D6dxxQJJe+4e1zGC29Qg9PrWS0AdCoC8yH\nOGrDi5KyL/vaKyuPIi3DHyU+TQKpEBGH4ZV4ASkRVFJL7GCAECu2sF4tIgaW\nA9q176AMNEAh0aCBY6fEn3t8acDvDtjmDfpJQrPUcEwMv7lkMI4i6+ukZuOn\n09Dr8Tz4i/RgKgNh2kr15eiw/rmkgV3xEE2JQ9lvoqb+2xZDgp5YywLKCkY/\nSoCPnAho/0Mcz6AkI8skWAERMPo6Qo1NkLu7qgrjrWNjMuNPqnWobCplCnr1\n2kuD3cBe2CykUNaxvrJYtzqg++y80q3FzGdTx6U3Z8cGufoktCBDYnjPy5wq\neiCHpPvGBdga08OzRppkVEp0Xf5rx8cQYuHSMIEB70FJ/HJv4ec9qNpDPHEE\nA8BJBMuS3caNk1zgaG14sidBuCwcJ9tdseM/ChXCKlxV+BHrsEMeuptwOdMf\ng56+T1jbRfhzTCryIbBBtZ6bSOnARKfwEMvuoqaKaLgodNz9sE+4jx03Q1Xi\nIHCgugb4Ss+/jpuMig8xOOYSULObNHEABztBdasrF8mjADx4EcBd5yac/LJh\nvdtR\r\n=EA+y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFfB6F4VvzQpygPAEZHwLUq9q3a6bJLIHj+MaueK49MKAiEA4spLHN9Z7zWesMCSB9R+pPxy4OrN/GI13rClS88uO90="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_4.0.4_1554969398262_0.09277115978628969"},"_hasShrinkwrap":false},"5.0.0":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"5.0.0","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"911f0a11eb5a48e0cd12d180c0c78cda96464650","_id":"ctl@5.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-AnOoyUzqwGKvouNJM2LWMjqYM6ZEM4skNESwNDCmO+H2MxMItYz5BJwMUYvZAljRXLYnf3N5w/wKgflt8IinuQ==","shasum":"f97ed662b702962a06badb097d886be5873cfab1","tarball":"https://registry.npmjs.org/ctl/-/ctl-5.0.0.tgz","fileCount":11,"unpackedSize":67733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctxMECRA9TVsSAnZWagAANNYP/RWw+zovc+zfqGePZ49o\nyrDnIE0u4uQv6oPKMDYju0zM6oA+C8yKVdjLk+65WPzE+/sfoWw6vbGBVr7b\nr9Lw0k7HENyKoAlYM+iPVwn5h7ACl2WWsrQCTVl2M3/+EWeBc+jXlr7/6f7h\nqFYRo/AcYytr87WWe3qQ7/lHORf4SK8du6B3ZW9VENzPYLEF1VMu7Xezld9t\nzOpDIdCMYcwwrOruGCpWot2IL/qXUr0QkRiYDVZ4LlbsDAt3XGD5Ol3sTP2A\nVborSIP7XMa5bqblo8GXfdg9uLhK3878pUUlk6wkocLB8MQEDaCXboT8ki+4\nXQjvt00Q/+0yY97018TTAkZxWKNsnLn/165TUlL99XhlOIQ5ieMLXagDY9ri\nbxqVDhA/in47xwm0tBT8TPInPgqi3102jA63OuoAck6lif/cgAI82DJylHDV\n/aRUZb1aDOxMi/rehmiqxuXAoGQfWAXBF0E3eNng467QmmTnfrwZIRNfI2yo\nidyTYeNSnZ4YFT+55x5YSNU5FGANOE5Itwo/p6svZkcIfOLmb5WeNowKztgZ\n6ROx68/jbdpem0BtoqrQ+WvmPjfc2OLf+pcfikmYmn3NPSKgGMGQWq1/SZ7q\nteYrbEDRCVkhwGtg8036tI0cVwcNvchQm+yNukA/vpwDWv4VeDcnNJXuUd+O\nUsif\r\n=vEC+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJtyrUPYF3+IfgLdpM0KKXSTlEgxUrD2kuvYVqXnDQGwIhAKtMqfw4CPGtP8V6WOz9MvTbHftBeX7iGK3AJfazf2YF"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_5.0.0_1555501827832_0.5548191183723592"},"_hasShrinkwrap":false},"5.0.1":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"5.0.1","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"1e27aa483611ef60f487659bc3fc09be67071d15","_id":"ctl@5.0.1","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-1y84QWw3bAWYKsUWAcgF2YZlNvJ3+7qphbygHytITP6Oy/C6hW0bg83pACTPJ2/LVXnh5/pdJ/eQu5a3VYsnAA==","shasum":"c7a5b590df81ecb8ec8471b0a9d877c62f8c3e2b","tarball":"https://registry.npmjs.org/ctl/-/ctl-5.0.1.tgz","fileCount":11,"unpackedSize":69920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctxnDCRA9TVsSAnZWagAAJCYP+wTpRLRQK1fBO0a4raN4\nrcjKONv5MHLQyGZvyYhAVmcuU34ce/3k65qqt8hmaXeaOrqE7Jag2Cx9qxD8\ngx3oZldxDAPCFyl2ox6BLa7CBtjOQly4Z2p6wgr02wWUPUmE2y2eZREDTasv\nHUDUNeT9g7W+i+I/aHIgYh4dlzWBuxgbzCGMIGaxOndDQw3LgniLEPMcymGA\npRy6Lx+x2ZGeSUmqzey/op2eeJPmw7X66HUgOqkc+Saj/wu5L3Bw12pU07hr\nGY48L7opDqA4NJaQWEWWdl2OPQxOHT832v+ETw4Z9FTzT0HwShj56GP5Ictx\nt9N4r+Jn0Cf7sHb+7cFULKOvDhpLr92HkaAbh0lT/DCrWzwjp5eWRh1LTEId\nRRVDMPDJTv0qU5T6wuxvQLPh024d5xvprtexHu7PkF9hYyK3S7gGDeAtEfY5\niPfcTuryBfwKayQgyYNPmZ9cShBMw/f22K3wyqsY9khOE3zDplhYEOSvHgp7\npbR7lHORpvUUNEYmiZOB1jxjTqtpCn7/u6/Js1gvgGt/Gn4t4xIdCYgF7kXJ\nCq0vBjjpj0MfMHpYUGuGZAyee5+jmTas25Mw7mZMCvWdnjPr7hLd8mEqUAoa\n82pVuURiuo29dltS4W72V7I1DhatkrIrDXyHB6br5wwGuZoToeP3ibUKKEak\neb0l\r\n=opDW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHFN6GdEcV0eb8dNDZmCsEEZf43PDsYAoKW/MZY2ujvlAiBWfGCoAE4zdFeFgWV8OY8Ffk5TmYCP8TI0D5+19hZ/Eg=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_5.0.1_1555503554676_0.402841861309045"},"_hasShrinkwrap":false},"5.0.2":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"5.0.2","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"e3fcae43eb08e4d6d39ce2bc9b21b2441ed6048e","_id":"ctl@5.0.2","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-8ufRv9hy7afiu4MSo6QF14BBTM0PP+FcvueImj4y4rLrKHBqnQS7wU9n2d19PpqTMdABYc2dA0yOF6UVHQG5rw==","shasum":"dcd743f4b1aebd2db8d6f3892b054f21f42a35c4","tarball":"https://registry.npmjs.org/ctl/-/ctl-5.0.2.tgz","fileCount":11,"unpackedSize":69948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctxwUCRA9TVsSAnZWagAAG5cP/RKJq1AUN0CEtbIQuyPA\nuxzWVLFbZj0jUKEP1YSZgFa/BLd1kiks+QwQqStOYQB7eO/Xya5PT2ILW5j2\nS4v2bxfN9HVG0pzIFywcLccIWlJTA3eRdkWKuTe2Wn8ZO+KNeAkQSQG0R5ew\nruPf9Aztt7sgJlNYYlHD1s7a4pt6fDF9TuEEcUFUQBe1Kvukb/kmga7YEgOB\nHV2p6TOD0n36n77fswDBAmhfOazlizvBRCpFK51vlw+PLTPiY7YHvpVEoOLo\n8EKH+CV4GWCYnppOMwdBR1saFwmiNhVrbtFqv1yuw4bY10yiGDbTavfksZsD\nKoMxzNae1Qf/tyMzW4ZO1kHrMvwwmYDn9bt5GvEY9H/fjIzlivwPzyGEl/Ps\nmp8Ef3wNXgAn98Fcxw3Ln+lY6yalMfsRr9GjWW6v6pQN8Bhxjl4VdtMjtK3K\noEJvvWBHu+FLjvujeex6es0ZL1hYsVv2hpg/5SeaGTVxEmJFt54ynUwuBOl0\noQYgmE+5cGenPfJydpuN1wISORx48dc7wOpZ9YzEORQdYlZKfnKgS04eKK8n\nLBQPCdEdPqjFhCj8wHdIQTr0i9qwcxbqo3VEytDxnRSykbK6zh7b8jtZrDdU\nm+DhLyqWdnaW4oykbnxGuiZMyCyFFUL1RX0/lzUNx+ECwgEniEaabM0qOU0M\nojmR\r\n=s4Yd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAK0WKut3TWNndnG8s6bvPalfk08GckCMPXRB7I0xJeSAiBhmCM8LJeb7DDTXwfLHBSQ4m5VqE1zjQ02/7zytLeTVA=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_5.0.2_1555504148203_0.8926074113653732"},"_hasShrinkwrap":false},"5.0.3":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"5.0.3","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"567e0628824abea3e6354771c5ee281c07dcaa78","_id":"ctl@5.0.3","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-i1bUyu9h0XAhU2OdrF+kdfIrw0JjhEM2GMWeT1aG7G7Fst5AOgISZol7WTN/uXgSNEQc1n6EoCXL8PjaoR48kQ==","shasum":"51f0a791c3d6a4f5e245dc40a4990ebf39d482a4","tarball":"https://registry.npmjs.org/ctl/-/ctl-5.0.3.tgz","fileCount":11,"unpackedSize":70091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctx0tCRA9TVsSAnZWagAAErsP/i/IkzO1Z9q2F8N4SXSA\nwtKPEkZ4XO/L5/8zI/baz8VH1LElt+SoqZYUMSY3E4RuLPwLMA5lgxMr1y0W\nARW0dM06+2J4yLxX/pp6n1+rfZkARej4/x5CEtKdHbRqY19LPCNr1xvszbhh\nrSudxBTVLYzgZLi7uqzcWa9NGKODTWVBD8+v1ZkegWsX0FI8v69fGuSMjT+Z\nLCGXB9bNY6DLmqSPZC+P0YePw3GAKeroZGswxwlihTc1pUMddWI6Rkbkuk4t\nZ6WZQrLaRSwlgZop+JMsdNm6R6u5TqolvLuJBnir/wAhUoIkmqsPlhyGHns8\nAF5PsSs+eqJc1LgV4O88jKEN4iOm886gWl/VI2LAgbsUXWc9+aI0QpE7uLDY\nFe8S2xpHTja94MKR15cnhf9snnh7ZUeQmgCvhP6YfOSiFhwW93EJxUQu9SZk\nK1lldN/LvFAJFWYdUt4FsFv/r9KUZV5Gsb5x95c7vd6+S3fPz9TzV9shf9BC\nyxqU7zEerknhT0yui5ypGDp22U/8gcM2Mk1NOZjv3A9urh72SiSDUjLSQOuY\nARh2wQm0YyG2qOrznaxUwfUEaHDE948aj6+NINh5MhNnajYD8GO/w22ZU1up\nQh6Mx9TQhwkyeph+l0l2xQBNfScM/+x0yQuEDxR6KXK0tM4f8u0ZFoXzU7PG\nkURH\r\n=6GQu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFcaAc0GDCB74jH4FPl/MpU52Uhz3Q0PCPtx6E86XqhbAiAk13bgoVD689lFdk+wu13IwAoRi48ks5mcSREBumgpsg=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_5.0.3_1555504428388_0.17365288349361507"},"_hasShrinkwrap":false},"5.0.4":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"5.0.4","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"b665d25e0e5dac5dc17ad2439f3538ec11dd55e6","_id":"ctl@5.0.4","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-ysgiqZRZj8umbRRpyGoLSTbx+XRbe4Oza1L6UevrIQg7O1PSTnCiLhicgXpd+sH/ystL2XogxW7IvzFpZTN3Mw==","shasum":"8cfc42426672e0b5f0d5bea6f6692dafcf4fa267","tarball":"https://registry.npmjs.org/ctl/-/ctl-5.0.4.tgz","fileCount":11,"unpackedSize":70177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctx38CRA9TVsSAnZWagAAA34P+wQeKkXe0lRwy1OZwwYO\nzdvjko+W+ZE4h/6bKAY9jax1Dxeo69IcaxOEpBVIlmOR/Nav0XATzTHo/abU\njDDO9HKkHA81HdH/zpXyIhzheT3TCU2CFYB+XPKe6Ml7xJ58iqep9Q0j+sa3\nkV9/nYZ0nfOfbdJ4mpv8BP50ik+qKeQwB66rVAXmJ/eEmcF3N3Zp83VPUQ4u\nkR5Dd3I/675tmpxaf1vajWTQomHHONwMll/AX/4Kqgdp0M5dF3rZ/0yXmksl\nY67963S/5uWU2wJUZzpNmVcdm/g8/2zeTCkgstHYQrANCcdN1oc17ndRTDYw\ntTg3hbLiNq/ddeeoNFpCewGSb9NUP67wtId4V/JHmsAIfBukoJGAH006ZgOZ\neO9KcvMVdPnfRNhGAuRS3crNEQaqJ9iqHCEJ0hmDtzHxRYGvaP7ikbXRfw8K\nRywv7ujHC6JVSrOg/cy5bB831X9osfU5CS4y+8Svv1fEZKcR3BAoDnJyYd8p\nBXxORhpyBh4mhAEGL32zarXskNo5OBJjdhVUOpvkT2ntAsOAhks/o5v9kiyI\n0Q1jt9k1tG+W2RjHxl4IA+6nHbNhAPfpJe29DX9OZfaSMXtsf99X2N1GAXAC\nzMMqzp+5LasFLve5iNMr7B3KXlVDgf7+y7z5R2WYKlVq59hiTVv0LFOQhhk/\ngIcP\r\n=7b3p\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDI7DyU3A7Dt8pWpClYeq0TdhCpNpuHtTdz8Uwb4BHGtgIhAPO8LFN+thhlYWEppvfCO9qqvMvl8M8+UA7towHcLl8H"}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_5.0.4_1555504635566_0.6501130282270968"},"_hasShrinkwrap":false},"5.0.5":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"5.0.5","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"0996cea98dcb3c9974c687322a85d07db2a7c9b5","_id":"ctl@5.0.5","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-DV4RXNbAGlZoHVZnl5gSBqUychA+sF4tQRdK2Arpu2vnTytZZwsDjgU8Vb/YLolLqNMTFvhRJiVbYCRBNBbtoA==","shasum":"6851a921cde28718e88f084e53bd163c3c9a8c1a","tarball":"https://registry.npmjs.org/ctl/-/ctl-5.0.5.tgz","fileCount":11,"unpackedSize":70218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctx5ECRA9TVsSAnZWagAA62YP/3Fl2YD2Oi7pcksmcW+a\nVvjqznQmdBn4qkOa0KhwuNWtRzWkhByg/rMfwPT8dEmYKL4ypnNgu7rL6c9A\nHtrgi9bKUiVgnniC5ElVL2GXPjaTT3DUomM74HWg7qnjH3VNjKPZB4GOpyrO\nk7xA6dGC2MdCIcuZrkO7M6SQC+FQqOnZi2MMda1tZ5EA8d973cFBLjdrWbsI\nAxelHfX+pvWeNTrGV4NANZahHBOZQ/7dz92ktmV6OQvR9a5lZ/FkzAcXoskT\nCxUlog47lL1Af0VSpdenusHu2OIwSSq84zBYrFChSJA0sJLw+GzNTegjbyGC\nkzrrvdoOBwbA3DT2o6pOiY3f4c8zFDjWxjmSq0Zz/7OjVUr1RP/kihzPtvKT\nGw7feUPv/BauO8egRMfG/ptv0FUoNBZwLvh6btL1/9lg4gX3pEZgwsFDcLWn\ngU52HsyTBlJiA29QF8eu1MWlz3sx6+AgugBzf93n7DIO5ig5SfQVmFX/++cQ\nWbk5YjvL1Zq+QHxVkEoRRpOJkA8XaBAAqYBZTeN4n5OL2IKA+gV5rcSRGpwk\nOnnMqOePenCcv4q3WnC9LY3KO5Qx92WIZZ44Aa6D3cW78wOnkTvEQTXsVOHK\nCWQ963DIxdsiV8TcHhfojUUVv+YWvEMFkhwJR7uhYz1no+ylhrfJFJSewAzA\nhgrQ\r\n=YfW6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGFIv+04VTYiAGS3rjL/HrxoI32yLyZ3Ssz9KHrJMLqcAiBBYWeQ4q0uDd6WNdRHla8Z4ILPQw5XSx20s5hxALY3FA=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_5.0.5_1555504708119_0.29128256072708414"},"_hasShrinkwrap":false},"5.0.8":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"5.0.8","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"9bc9582b603263257c22d65bd030822890b632f5","_id":"ctl@5.0.8","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-sa6y0zcHa/Ym+XAwhtjBCdo1YyVsMN+3xs7MgqXa03wqMAjof9L2l6jc4mH3JJKuaHGvZq4r0IG6OaXT8vUtHg==","shasum":"a6ca04d13a503a52cf220fca3ec5cf88f62942ed","tarball":"https://registry.npmjs.org/ctl/-/ctl-5.0.8.tgz","fileCount":11,"unpackedSize":70221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctx52CRA9TVsSAnZWagAAtPEP/3RluNeKBy7B0GWXllqy\nq+7XJncZ1FSJwfHzYbvcBFmOmqApQAOLnVur+c4gtBKvT8O3Wb7m/YwIyIPN\nSBU8bRpchsU/it7HFiN2m1XacMeVwPALzL10I/mbpTSGUNizbkPSsE3Ik+i6\nTGZ8rO5gFKLaKOJWlUwok9FRlkQOp6rO4wx2wp63RT3/QlqmuEPcUhKu+Rj1\nEjx7qKmpFl+zL0Y5CnhHDGdMqKWpWknMby1NM5oIxGvME1JZYMwcbAEBajgW\nccihQ83ez1ttErM+0M4pWK+09Kg1G5S/qK8uGyTUDFYZRDycyboMsm6Wlqnp\naneM/B73/tnldDUZ2pxlqMXirUsVN7V/pmjNiEgsAJ6Q4ZOxB1+9b0tjvs2A\n0u/sCnRYzKYw81Hbq8kkfXxR/o7Km/zYV90XuUMhKaLYPtcOXLFDKrJiw+pA\njK8yUjZPXQaN1DNstY7d6Jda7OOlGB6ul5yNDTQeWjugqTjH4PmfTQMEdiqQ\nPzOw9cX+H2yVFmuE4JFRbXjDk7kZSDKG1N7qWOF7PeTzFQ49qQMZz3yQck+0\nKw9iAGbeFJF2YXJ+sgIuY7qzhtdA2hYI5rgk6YXz9nOOYg+BytUuVxC1VqSS\nD5hcyniR1tiKBWe6y2OPbkkdysS4SsObJgX1BzetvQ4MtF4Yo4nvxPHT/h3R\nIM5Q\r\n=zWHV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFed0EbH48dzTmcXWzDdz/rHcxpVB2Fv6nGqjaG4wO6XAiB1Gkrbdcc6KZ8NLmTubpE/y3uvpog2Knd7cxzo7kmSxw=="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_5.0.8_1555504757453_0.05750445875222221"},"_hasShrinkwrap":false},"5.0.9":{"author":{"name":"Leander Lee"},"description":"Controller module for NodeJS. Made to be extremely hackable and light!","homepage":"http://github.com/leanderlee/ctl","main":"host","name":"ctl","version":"5.0.9","dependencies":{"app-module-path":"^2.2.0","better-config":"^1.2.3","better-logs":"^3.0.4","body-parser":"^1.18.3","compression":"^1.7.3","express":"^4.16.4","lodash.merge":"^4.6.1","nunjucks":"^3.1.7"},"gitHead":"64ec8fb4ca4946e5fba147a540aab2651d96b482","_id":"ctl@5.0.9","_npmVersion":"6.1.0","_nodeVersion":"10.7.0","_npmUser":{"name":"leander","email":"me@leander.ca"},"dist":{"integrity":"sha512-N8KdfODMkquKhZNwF9BZA04HX+lINmIWJ3M+euEy/Bg0yiQanSORHqnuFE5vbWT66wiGpXRZpCHldRmF4ioyPA==","shasum":"c1c5a00b19eb4413c6ed3a622137051299dd1e1a","tarball":"https://registry.npmjs.org/ctl/-/ctl-5.0.9.tgz","fileCount":11,"unpackedSize":70244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcukVuCRA9TVsSAnZWagAAVtwQAJF0sXYDdbA+erkRr8eH\nisMD36ARwGNzSFZouR0LLM+W/S7Af5Tq6Iwz+c0QAJKTYvSqnm/MhVR9m4+6\n5BfOeILMOWb3U4iYTVYOHS61g19jOjf4vP8z76MtfBO1zSid/TnyVxRVlS2B\nISEjPPWrk/xWlzGrabirluM3y83UeTDKvJvvivuuCJJ84JxbqZV9hBboBBZh\niWBeADJv/CBKnYJIeflpoiLqpGWYFw+doorKAC18wS+WPEOnu6CKaaxndaqD\nbEJueBvb9SKcROrMs4eMjxq+7DcNtUQUus0DRcZXuBAEQtvMfDm45CSQcYNJ\nO+uez7Hp3FAV34YmsgoI+VJvxW2kDg0Rm692lzBwr+mmUQewURysCXlBDM4U\nYKRQnqVf/tWXSbWjrQiqPJGGymn06ZfbgSJVST8S4v53WBAslJ2FGd28srne\n4etJ8h9Qv53j4cnkV2hpGXp0+o4ARWd/3ELYrVi55DnImBN7EygghNuO6jzE\nhpjUscuAujb4Kpqlue+5VtE2LHEZr0Jj4aZqB5gN3zrZW25KQW99YQbnBNHO\n+wu+3HFZ9qHTuEDQPRz/D/2G3tbo4Do/zf/S3aauaHNSv/V1ihRWcaPYJFsT\nXjgJwqWZ6Ty10cZrj5FNjYqMbCrKAka6gL2NXsF7OTisoDk8nyxRQLHlK5uh\nK9Xf\r\n=EOnt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCw9hlnzwFiujD4MNQt3nvj00NRJfashKpzdSiVjpNQvwIgFvUzL/KAf/fMHOuObokDFKhq4dL7rjRJacp4gj7+UtU="}]},"maintainers":[{"name":"leander","email":"me@leander.ca"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ctl_5.0.9_1555711341884_0.006400190338522904"},"_hasShrinkwrap":false}},"readme":"# ctl\n\n`ctl` is a lightweight framework to manage code for node servers. Tried and tested in production.\n\n## Features\n\n- Stage setup\n- Config (secret) management\n- Logging out of the box\n- Run any service, (we use express out of the box)\n- Organize your Node.JS server code quickly\n\n## Installation\n\n```bash\nyarn add ctl\n```\n\n## Usage\n\nYou can run a server simply with\n```bash\nPORT=8001 node -e 'require(\"ctl\").init()'\n```\n\nOr for more complex settings, `index.js`:\n```js\nrequire('ctl').init(opts) // options optional, see below for full doc \n```\n\nIn `config.js`:\n```js\nmodule.exports = async () => {\n  return {\n    message: 'hello world',\n  }\n};\n```\n\nIn `src/lifecycle/startup.js`:\n```js\nconst ctl = require('ctl');\nconst config = ctl.config();\nconst log = ctl.log('startup');\nmodule.exports = async (app) => {\n  // app.get() ... setup routes\n  log.debug('Loaded config:', config.message); // => Loaded config: hello world\n};\n```\n\n## Stage, Config and Logging\n\n```js\nconst stage = ctl.stage();\nconst config = ctl.config();\nconst log = ctl.log('section');\n```\n\n### Stage\n\nMost servers need an environment flag, like `local`, `staging` or `prod`. You can do this easily by setting the `STAGE` environment variable, and running the server like `STAGE=local node index.js`. This will then be read into ctl.stage().\n\n### Config\n\nConfig also works out of the box, and ctl will look from a variety of places and merge the configs. Here are all the places it will look:\n\n- {SRC}/library/defaults.js\n- {ROOT}/defaults.json\n- {ROOT}/defaults.js\n- {SRC}/library/defaults-{STAGE}.js\n- {ROOT}/defaults-{STAGE}.json\n- {ROOT}/defaults-{STAGE}.js\n- {SRC}/library/config.js\n- {ROOT}/config.json\n- {ROOT}/config.js\n- {SRC}/library/config-{STAGE}.js\n- {ROOT}/config-{STAGE}.json\n- {ROOT}/config-{STAGE}.js\n\nNote: ROOT is the home directory, and SRC is the src directory (defaults to /src), see in [options](#options)\n\nAs you can see, it will load the right config in based on the STAGE you set.\n\n### Logging\n\nPlease refer to the documentation for [better-logs](https://github.com/diamondio/better-logs)\n\n## Lifecycle\n\nLifecycles are events you can implement to run at different stages of the server starting. You can put them in `src/lifecycle` folder, like `src/lifecycle/after.js`, or you can set in these as async functions and pass it in to the options or from the config.\n\n- *before* - Before the server starts, but after the config loads. Great place to connect to the DB, load models, etc.\n- *startup* - Good for setting up routes/handlers, before the server listens for requests.\n- *after* - After the service has started\n\n## Options\n\nHere are the valid options you can pass to `init`:\n\n- *service* - defaults to an express service, but can be any server or script. (See [service][#Service] for more info.)\n- *src* - where to look for the root of source code (defaults to /src)\n- *lifecycle* - where to look for lifecycle files (defaults to /lifecycle)\n\n## Service\n\nBy default, ctl comes with an express server so you can get started quickly. It uses nunjucks and can host static files, and you can expand on it further in the `startup` part of your lifecycle before the server begins listening.\n\nYou can also write your own service, it's really easy. A service is just an object with two functions, `create(ctl)` and `run(app, ctl)`. You can pass this to the options in `init` or define it in the config.\n\n- *create(ctl)* - returns an app object that will be passed to `run`.\n- *run(app, ctl)* - runs the app\n\n## More Information ##\n\nThe first version of ctl, way back in 2010, was built primarily as a way to manage controllers and handle server requests consistently. But with the advent of `async`/`await`, it's much easier to write logic nowadays. The goal of ctl, as it has always been, is to reduce the amount of time it takes you to get up and running with a full on, system that's ready to scale. That way you focus on building the project and validating the idea, and not on inconsequential things like how to structure your code/server.\n\n\n## Contact & Licensing ##\n\nFeel free to use this for whatever you like, but don't blame me if someone loses an eye.\n\nIf you are using this, I'd love to hear about your project. It's great to know my code is being used somewhere by someone.\n\n[Leander Lee][1]<br />\nme@leander.ca\n\n[1]: http://leander.ca\n\n\n\n\n\n\n\n\n\n\n\n","maintainers":[{"name":"leander","email":"me@leander.ca"}],"time":{"modified":"2022-06-14T05:30:24.635Z","created":"2011-12-14T05:00:55.244Z","0.1.1":"2011-12-14T05:00:56.446Z","0.1.2":"2011-12-14T05:29:55.551Z","0.1.3":"2011-12-14T05:37:49.396Z","0.1.4":"2011-12-14T05:59:47.440Z","0.1.5":"2012-09-20T07:20:30.654Z","0.1.6":"2013-04-17T02:08:00.099Z","1.0.0":"2018-05-10T12:58:53.805Z","1.0.1":"2018-05-10T13:13:34.781Z","1.0.2":"2018-05-10T20:46:18.180Z","1.1.0":"2018-05-18T05:21:55.532Z","1.1.1":"2018-05-18T05:36:05.040Z","1.1.2":"2018-05-18T06:04:13.266Z","1.1.3":"2018-05-18T06:09:35.892Z","1.1.4":"2018-05-18T06:18:02.296Z","1.1.5":"2018-05-18T06:22:19.795Z","1.1.6":"2018-07-29T11:20:25.106Z","1.1.7":"2018-07-29T11:29:38.438Z","1.1.8":"2018-07-29T11:37:34.210Z","2.0.0":"2019-02-24T08:40:26.217Z","2.0.1":"2019-02-24T11:46:38.822Z","2.0.2":"2019-02-24T11:51:13.441Z","2.0.3":"2019-02-24T12:08:54.799Z","2.0.4":"2019-02-24T13:34:29.323Z","2.0.5":"2019-02-25T01:08:08.242Z","3.0.0":"2019-03-11T16:22:54.030Z","2.1.0":"2019-03-11T17:18:40.915Z","2.1.1":"2019-03-11T17:31:20.506Z","2.1.2":"2019-03-11T17:38:32.832Z","4.0.0":"2019-03-11T17:45:23.953Z","4.0.1":"2019-03-11T20:56:12.196Z","4.0.2":"2019-04-11T05:02:46.442Z","4.0.3":"2019-04-11T05:10:00.945Z","4.0.4":"2019-04-11T07:56:38.442Z","5.0.0":"2019-04-17T11:50:28.005Z","5.0.1":"2019-04-17T12:19:14.970Z","5.0.2":"2019-04-17T12:29:08.379Z","5.0.3":"2019-04-17T12:33:48.522Z","5.0.4":"2019-04-17T12:37:15.709Z","5.0.5":"2019-04-17T12:38:28.259Z","5.0.8":"2019-04-17T12:39:17.591Z","5.0.9":"2019-04-19T22:02:22.007Z"},"author":{"name":"Leander Lee"},"homepage":"http://github.com/leanderlee/ctl","readmeFilename":"README.md"}