├── .github └── workflows │ └── test.yml ├── .gitignore ├── .jshintrc ├── .karma.conf.js.swp ├── LICENSE ├── README.md ├── bower.json ├── index.js ├── karma.conf.js ├── package-lock.json ├── package.json ├── src └── zingchart-angularjs.js └── test └── defaults.js /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | # Name is optional and if present must be used 2 | # in the url path for badges 3 | name: Test 4 | 5 | # Run on a dev branch 6 | on: 7 | push: 8 | branches: 9 | - dev 10 | pull_request: 11 | branches: 12 | - master 13 | 14 | jobs: 15 | Test: 16 | name: Test 17 | runs-on: ubuntu-latest 18 | strategy: 19 | matrix: 20 | node-version: [10.13] 21 | 22 | steps: 23 | - name: Checkout Repository 24 | uses: actions/checkout@v1 25 | - name: Use Node.js ${{ matrix.node-version }} 26 | uses: actions/setup-node@v1 27 | with: 28 | node-version: ${{ matrix.node-version }} 29 | # npm ci REQUIRES a package-lock.json file 30 | - name: Install Fresh Dependencies 31 | run: | 32 | rm package-lock.json 33 | npm install 34 | - name: Run Unit Tests 35 | run: npm run test 36 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | ._* 4 | bower_components/ 5 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | // See http://jshint.com/docs/ for more details 2 | { 3 | 4 | "maxerr" : 50, // {int} Maximum error before stopping 5 | 6 | // Enforcing 7 | "bitwise" : false, // true: Prohibit bitwise operators (&, |, ^, etc.) 8 | "camelcase" : true, // true: Identifiers must be in camelCase 9 | "curly" : true, // true: Require {} for every new block or scope 10 | "eqeqeq" : true, // true: Require triple equals (===) for comparison 11 | "forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty() 12 | "freeze" : true, // true: prohibits overwriting prototypes of native objects such as Array, Date etc. 13 | "immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());` 14 | "indent" : 4, // {int} Number of spaces to use for indentation 15 | "latedef" : true, // true: Require variables/functions to be defined before being used 16 | "newcap" : false, // true: Require capitalization of all constructor functions e.g. `new F()` 17 | "noarg" : true, // true: Prohibit use of `arguments.caller` and `arguments.callee` 18 | "noempty" : true, // true: Prohibit use of empty blocks 19 | "nonbsp" : true, // true: Prohibit "non-breaking whitespace" characters. 20 | "nonew" : false, // true: Prohibit use of constructors for side-effects (without assignment) 21 | "plusplus" : false, // true: Prohibit use of `++` & `--` 22 | "quotmark" : false, // Quotation mark consistency: 23 | // false : do nothing (default) 24 | // true : ensure whatever is used is consistent 25 | // "single" : require single quotes 26 | // "double" : require double quotes 27 | "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks) 28 | "unused" : true, // true: Require all defined variables be used 29 | "strict" : false, // true: Requires all functions run in ES5 Strict Mode 30 | "maxparams" : false, // {int} Max number of formal params allowed per function 31 | "maxdepth" : false, // {int} Max depth of nested blocks (within functions) 32 | "maxstatements" : false, // {int} Max number statements per function 33 | "maxcomplexity" : false, // {int} Max cyclomatic complexity per function 34 | "maxlen" : false, // {int} Max number of characters per line 35 | 36 | // Relaxing 37 | "asi" : false, // true: Tolerate Automatic Semicolon Insertion (no semicolons) 38 | "boss" : false, // true: Tolerate assignments where comparisons would be expected 39 | "debug" : false, // true: Allow debugger statements e.g. browser breakpoints. 40 | "eqnull" : false, // true: Tolerate use of `== null` 41 | "es5" : false, // true: Allow ES5 syntax (ex: getters and setters) 42 | "esnext" : false, // true: Allow ES.next (ES6) syntax (ex: `const`) 43 | "moz" : false, // true: Allow Mozilla specific syntax (extends and overrides esnext features) 44 | // (ex: `for each`, multiple try/catch, function expression…) 45 | "evil" : false, // true: Tolerate use of `eval` and `new Function()` 46 | "expr" : false, // true: Tolerate `ExpressionStatement` as Programs 47 | "funcscope" : false, // true: Tolerate defining variables inside control statements 48 | "globalstrict" : false, // true: Allow global "use strict" (also enables 'strict') 49 | "iterator" : false, // true: Tolerate using the `__iterator__` property 50 | "lastsemic" : false, // true: Tolerate omitting a semicolon for the last statement of a 1-line block 51 | "laxbreak" : false, // true: Tolerate possibly unsafe line breakings 52 | "laxcomma" : false, // true: Tolerate comma-first style coding 53 | "loopfunc" : false, // true: Tolerate functions being defined in loops 54 | "multistr" : false, // true: Tolerate multi-line strings 55 | "noyield" : false, // true: Tolerate generator functions with no yield statement in them. 56 | "notypeof" : false, // true: Tolerate invalid typeof operator values 57 | "proto" : false, // true: Tolerate using the `__proto__` property 58 | "scripturl" : false, // true: Tolerate script-targeted URLs 59 | "shadow" : false, // true: Allows re-define variables later in code e.g. `var x=1; x=2;` 60 | "sub" : true, // true: Tolerate using `[]` notation when it can still be expressed in dot notation 61 | "supernew" : false, // true: Tolerate `new function () { ... };` and `new Object;` 62 | "validthis" : false, // true: Tolerate using this in a non-constructor function 63 | 64 | // Environments 65 | "browser" : true, // Web Browser (window, document, etc) 66 | "browserify" : false, // Browserify (node.js code in the browser) 67 | "couch" : false, // CouchDB 68 | "devel" : true, // Development/debugging (alert, confirm, etc) 69 | "dojo" : false, // Dojo Toolkit 70 | "jasmine" : false, // Jasmine 71 | "jquery" : false, // jQuery 72 | "mocha" : true, // Mocha 73 | "mootools" : false, // MooTools 74 | "node" : false, // Node.js 75 | "nonstandard" : false, // Widely adopted globals (escape, unescape, etc) 76 | "prototypejs" : false, // Prototype and Scriptaculous 77 | "qunit" : false, // QUnit 78 | "rhino" : false, // Rhino 79 | "shelljs" : false, // ShellJS 80 | "worker" : false, // Web Workers 81 | "wsh" : false, // Windows Scripting Host 82 | "yui" : false, // Yahoo User Interface 83 | 84 | // Custom Globals 85 | // additional predefined global variables 86 | "globals" : { 87 | "angular" : true, 88 | "zingchart" : true, 89 | "module" : true 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /.karma.conf.js.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zingchart/ZingChart-AngularJS/14715baa423042e544c2046e2b5e3687f94346cb/.karma.conf.js.swp -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 ZingChart 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](https://img.shields.io/npm/v/zingchart-angularjs) 2 | ![](https://github.com/zingchart/zingchart-angularjs/workflows/Test/badge.svg) 3 | ![](https://img.shields.io/npm/dw/zingchart-angularjs) 4 | 5 | ![](https://img.shields.io/david/zingchart/zingchart-angularjs) 6 | ![](https://img.shields.io/david/peer/zingchart/zingchart-angularjs) 7 | 8 | 9 | ## Quickstart Guide 10 | 11 | Quickly add charts to your Angular application with our ZingChart component 12 | 13 | This guide assumes some basic working knowledge of Angular and its Object Oriented interface. 14 | 15 | --- 16 | An AngularJS directive for ZingChart to make your charts work dynamically with your data. 17 | 18 | #### Check out our getting started page for examples! (http://zingchart.github.io/ZingChart-AngularJS) 19 | #### Fully detailed blog post @ (http://www.zingchart.com/blog/2015/03/05/zingchart-angularjs/) 20 | 21 | * [Install](#install) 22 | * [Usage](#usage) 23 | * [FAQ](#faq) 24 | * [Options](#options) 25 | 26 | 27 | 28 | ## Install 29 | 30 | Install the directive using one of the following options: 31 | 32 | **Bower** 33 | 34 | ``` 35 | bower install zingchart-angularjs 36 | ``` 37 | 38 | **NPM** 39 | 40 | ``` 41 | npm install zingchart-angularjs 42 | ``` 43 | 44 | **Download** 45 | 46 | [https://github.com/zingchart/ZingChart-AngularJS/archive/master.zip](https://github.com/zingchart/ZingChart-AngularJS/archive/master.zip) 47 | 48 | 49 | ## Quick Start 50 | 51 | **Step 1 : Include the following dependencies into your HTML file** 52 | 53 | ``` 54 | 55 | 56 | 57 | ``` 58 | 59 | **Step 2 :Inject the directive into your application** 60 | 61 | ``` 62 | angular.module('myApp', ['zingchart-angularjs']); 63 | ``` 64 | 65 | **Step 3 : Insert the ZingChart-AngularJS directive into your application** 66 | 67 | *As an element* 68 | 69 | ```html 70 | 71 | ``` 72 | 73 | or 74 | 75 | *As an attribute* 76 | 77 | ```html 78 |
79 | ``` 80 | 81 | **Step 4 : Configure your chart through a scope variable** 82 | 83 | ``` 84 | ... 85 | $scope.myJson = { 86 | type : 'line', 87 | series : [ 88 | { values : [54,23,34,23,43] }, 89 | { values : [10,15,16,20,40] } 90 | ] 91 | }; 92 | ... 93 | ``` 94 | 95 | 96 | 97 | ##FAQ 98 | 99 | > How do I make my charts responsive? 100 | 101 | **Background** 102 | 103 | ZingChart internally attaches itself to the element that is specified in the render function, and continues to build children elements inside. In this Angular directives case, it will attach itself to either : 104 | 105 | * The `` if the element binding syntax is used 106 | * The `
` if the `zingchart` attribute binding syntax is used. 107 | 108 | Since the element `zingchart` is not a valid HTML element, the browser will not assign css attributes to the element where as a div has inherit properties such as `display:block`. 109 | 110 | **How to** 111 | 112 | We reccomended using the attribute binding syntax on a div to automatically inherit the `display:block` CSS attribute. You will also need to apply a value of `100%` to the zc-height and zc-width attributes. 113 | 114 | Example : 115 | 116 | ``` 117 |
118 | ``` 119 | 120 | 121 | 122 | ## Options 123 | The ZingChart Component takes the following attributes: 124 | 125 | 126 | ### _id_ [string] ```(optional)``` 127 | The id for the DOM element for ZingChart to attach to. 128 | ##### Example: 129 | ```html 130 | 131 | ``` 132 | 133 | If no id is specified, the id will be autogenerated in the form of `zingchart-auto-#` 134 | 135 | --- 136 | 137 | 138 | ### _zc-values_ [array] ```(optional)``` 139 | ```default : null``` 140 | 141 | Either a single-dimensional or multi-dimensional array containing the values to be charted. **Must be an Angular scope variable to bind to the directive** Overrides the series values in the zc-render and zc-data objects. 142 | 143 | This parameter simulates the values parameter in each series object in a ZingChart json. 144 | ```js 145 | //ZingChart json example 146 | data:{ 147 | series : [ 148 | {'values' : [45,43,26]}, 149 | {'values' : [0,1,5,3]} 150 | ] 151 | } 152 | ``` 153 | The directive takes care of the work so you don't have to create this object 154 | 155 | ##### Example: 156 | ```js 157 | //.js 158 | $scope.myData = [0,2,2,3,3,4]; 159 | $scope.myData2 = [[45,43,26],[0,1,5,3]]; 160 | 161 | //.html 162 | 163 | 164 | ``` 165 | 166 | --- 167 | 168 | 169 | ### _zc-json_ [object] ```(optional)``` 170 | ```default : null``` 171 | 172 | A ZingChart configuration object. **Must be an Angular scope variable to bind to the directive**. This is the same object you would use to configure a chart using zingchart.render.data. It is a pseudo-parent object of zc-values. The directive performs a deep-watch on the object for any changes, and stringifies the result as JSON to be rendered to ZingChart. More information : http://www.zingchart.com/docs/json-attributes-syntax/ 173 | 174 | ##### Example: 175 | http://jsfiddle.net/mschultz/tne7uuq0/ 176 | ```js 177 | //.js 178 | $scope.myValues = [[0,2,3,4],[9,6,4,3]]; 179 | $scope.myObj = { 180 | series:[ 181 | { 182 | lineColor:"#900000", 183 | marker:{ 184 | backgroundColor:"#dc3737", 185 | borderWidth:1, 186 | shadow:0, 187 | borderColor:"#f56b6b" 188 | } 189 | }, 190 | { 191 | lineColor:"#efe634", 192 | marker:{ 193 | backgroundColor:"#fff41f", 194 | borderWidth:1, 195 | shadow:0, 196 | borderColor:"#fdffc0" 197 | } 198 | }, 199 | ] 200 | }; 201 | 202 | //.html 203 | 204 | ``` 205 | Note: You can add series values into this object like you normally would while using ZingChart. However if you define the directives zc-values parameter, those values will override the "values" inside of your zc-data object. This only works when the `graphset` parameter is ommitted from your zc-json object. It was a design decision to simplify zc-values to target the first object in a graphset, rather than allowing the users to specify which object to target. If you do need the `graphset` parameter in zingchart, then simply use the zc-json object alone. 206 | 207 | --- 208 | 209 | 210 | ### _zc-license [string] ```(optional)``` 211 | 212 | Sets the license key to remove the watermark from the chart. 213 | ##### Example: 214 | ```html 215 | //.html 216 | 217 | ``` 218 | ```js 219 | //.js 220 | app.controller('MainController', function ($scope) { 221 | $scope.zcLicense = ['']; 222 | ``` 223 | --- 224 | 225 | 226 | ### _zc-render_ [object] ```(optional)``` 227 | ```default : null``` 228 | 229 | A ZingChart render object. This is the same object you would use to configure a chart using zingchart.render. You can change the render type, add events, and change other zingchart properties in here. Acts like a pseudo-parent of zc-values and zc-data. zc-render's properties will be overwritten if zc-values and zc-data are defined. More information : http://www.zingchart.com/docs/reference/zingchart-object/#zingchart__render 230 | 231 | Note: This object will not be watched inside the directive. It is a one-time setup. While you can insert your data values into the render object directly, it is encouraged to use the zc-values attribute to enable dynamic updating. 232 | 233 | ##### Example: 234 | ```js 235 | //.js 236 | $scope.myValues = [0,1,2]; 237 | $scope.myRender = { 238 | output :'canvas', 239 | events: { 240 | complete : function(p) {...} 241 | } 242 | }; 243 | 244 | //.html 245 | 246 | ``` 247 | 248 | --- 249 | 250 | 251 | ### _zc-height_ [number] ```(optional)``` 252 | ```default : 400``` 253 | 254 | Will override the height inside of a zc-render object if defined. 255 | #####Example: 256 | ```html 257 | //.html 258 | 259 | ``` 260 | 261 | --- 262 | 263 | 264 | ### _zc-width_ [number] ```(optional)``` 265 | ```default : 600``` 266 | 267 | Will override the width inside of a zc-render object if defined. 268 | ##### Example: 269 | ```html 270 | //.html 271 | 272 | ``` 273 | 274 | --- 275 | 276 | 277 | ### _zc-type_ [string] ```(optional)``` 278 | ```default : line``` 279 | 280 | Will override the render type inside of a zc-render and zc-data object if defined. 281 | ##### Example: 282 | ```html 283 | //.html 284 | 285 | ``` 286 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ZingChart-AngularJS", 3 | "version": "1.2.0", 4 | "description": "ZingChart AngularJS Component wrapper to allow native AngularJS syntax for javascript charts, chart events, chart methods and chart styling.", 5 | "license": "MIT", 6 | "repository": "zingchart/zingchart-angularjs", 7 | "homepage": "https://www.zingchart.com/", 8 | "main": "src/zingchart-angularjs.js", 9 | "keywords": [ 10 | "zingchart", 11 | "angularjs", 12 | "charts", 13 | "charting", 14 | "javascript charts", 15 | "html5 charts" 16 | ], 17 | "authors": [ 18 | "ZingChart" 19 | ], 20 | "dependencies": { 21 | "zingchart": "latest" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | require('./src/zingchart-angularjs'); 2 | module.exports = 'zingchart-angularjs'; 3 | -------------------------------------------------------------------------------- /karma.conf.js: -------------------------------------------------------------------------------- 1 | // Karma configuration 2 | // Generated on Thu Feb 26 2015 13:16:16 GMT-0800 (PST) 3 | 4 | module.exports = function(config) { 5 | config.set({ 6 | 7 | // base path that will be used to resolve all patterns (eg. files, exclude) 8 | basePath: '', 9 | 10 | 11 | // frameworks to use 12 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter 13 | frameworks: ['mocha', 'chai'], 14 | 15 | 16 | // list of files / patterns to load in the browser 17 | files: [ 18 | './node_modules/zingchart/zingchart.min.js', 19 | './node_modules/angular/angular.js', 20 | './node_modules/jquery/dist/jquery.min.js', 21 | './node_modules/angular-mocks/angular-mocks.js', 22 | './test/*.js', 23 | './src/*.js' 24 | ], 25 | 26 | 27 | // list of files to exclude 28 | exclude: [ 29 | ], 30 | 31 | 32 | // preprocess matching files before serving them to the browser 33 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor 34 | preprocessors: { 35 | }, 36 | 37 | 38 | // test results reporter to use 39 | // possible values: 'dots', 'progress' 40 | // available reporters: https://npmjs.org/browse/keyword/karma-reporter 41 | reporters: ['progress'], 42 | 43 | 44 | // web server port 45 | port: 9876, 46 | 47 | 48 | // enable / disable colors in the output (reporters and logs) 49 | colors: true, 50 | 51 | 52 | // level of logging 53 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG 54 | logLevel: config.LOG_INFO, 55 | 56 | 57 | // enable / disable watching file and executing tests whenever any file changes 58 | autoWatch: true, 59 | 60 | 61 | // start these browsers 62 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher 63 | browsers: ['Chrome'], 64 | 65 | 66 | // Continuous Integration mode 67 | // if true, Karma captures browsers, runs the tests and exits 68 | singleRun: false 69 | }); 70 | }; 71 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zingchart-angularjs", 3 | "version": "1.2.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "accepts": { 8 | "version": "1.3.3", 9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", 10 | "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", 11 | "dev": true, 12 | "requires": { 13 | "mime-types": "~2.1.11", 14 | "negotiator": "0.6.1" 15 | } 16 | }, 17 | "after": { 18 | "version": "0.8.2", 19 | "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", 20 | "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", 21 | "dev": true 22 | }, 23 | "ajv": { 24 | "version": "6.12.3", 25 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", 26 | "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", 27 | "dev": true, 28 | "requires": { 29 | "fast-deep-equal": "^3.1.1", 30 | "fast-json-stable-stringify": "^2.0.0", 31 | "json-schema-traverse": "^0.4.1", 32 | "uri-js": "^4.2.2" 33 | } 34 | }, 35 | "angular": { 36 | "version": "1.8.0", 37 | "resolved": "https://registry.npmjs.org/angular/-/angular-1.8.0.tgz", 38 | "integrity": "sha512-VdaMx+Qk0Skla7B5gw77a8hzlcOakwF8mjlW13DpIWIDlfqwAbSSLfd8N/qZnzEmQF4jC4iofInd3gE7vL8ZZg==" 39 | }, 40 | "angular-mocks": { 41 | "version": "1.8.0", 42 | "resolved": "https://registry.npmjs.org/angular-mocks/-/angular-mocks-1.8.0.tgz", 43 | "integrity": "sha512-oFKJIqR6zcsW6V9UQMuUYCXIcTy+n7oYExXxZkvU57hwJQdU1nuNZcSMQA9URiEAPyo7v3bqm0eOP3Ezi7Bigg==", 44 | "dev": true 45 | }, 46 | "anymatch": { 47 | "version": "1.3.2", 48 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", 49 | "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", 50 | "dev": true, 51 | "requires": { 52 | "micromatch": "^2.1.5", 53 | "normalize-path": "^2.0.0" 54 | } 55 | }, 56 | "arr-diff": { 57 | "version": "2.0.0", 58 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", 59 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", 60 | "dev": true, 61 | "requires": { 62 | "arr-flatten": "^1.0.1" 63 | } 64 | }, 65 | "arr-flatten": { 66 | "version": "1.1.0", 67 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", 68 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", 69 | "dev": true 70 | }, 71 | "arr-union": { 72 | "version": "3.1.0", 73 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", 74 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", 75 | "dev": true 76 | }, 77 | "array-slice": { 78 | "version": "0.2.3", 79 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", 80 | "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", 81 | "dev": true 82 | }, 83 | "array-unique": { 84 | "version": "0.2.1", 85 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", 86 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", 87 | "dev": true 88 | }, 89 | "arraybuffer.slice": { 90 | "version": "0.0.6", 91 | "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz", 92 | "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", 93 | "dev": true 94 | }, 95 | "asn1": { 96 | "version": "0.2.4", 97 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 98 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 99 | "dev": true, 100 | "requires": { 101 | "safer-buffer": "~2.1.0" 102 | } 103 | }, 104 | "assert-plus": { 105 | "version": "1.0.0", 106 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 107 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", 108 | "dev": true 109 | }, 110 | "assertion-error": { 111 | "version": "1.0.0", 112 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz", 113 | "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=", 114 | "dev": true 115 | }, 116 | "assign-symbols": { 117 | "version": "1.0.0", 118 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", 119 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", 120 | "dev": true 121 | }, 122 | "async-each": { 123 | "version": "1.0.3", 124 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", 125 | "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", 126 | "dev": true 127 | }, 128 | "asynckit": { 129 | "version": "0.4.0", 130 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 131 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", 132 | "dev": true 133 | }, 134 | "atob": { 135 | "version": "2.1.2", 136 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", 137 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", 138 | "dev": true 139 | }, 140 | "aws-sign2": { 141 | "version": "0.7.0", 142 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 143 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", 144 | "dev": true 145 | }, 146 | "aws4": { 147 | "version": "1.10.0", 148 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", 149 | "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", 150 | "dev": true 151 | }, 152 | "backo2": { 153 | "version": "1.0.2", 154 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", 155 | "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", 156 | "dev": true 157 | }, 158 | "balanced-match": { 159 | "version": "1.0.0", 160 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 161 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 162 | "dev": true 163 | }, 164 | "base": { 165 | "version": "0.11.2", 166 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", 167 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", 168 | "dev": true, 169 | "requires": { 170 | "cache-base": "^1.0.1", 171 | "class-utils": "^0.3.5", 172 | "component-emitter": "^1.2.1", 173 | "define-property": "^1.0.0", 174 | "isobject": "^3.0.1", 175 | "mixin-deep": "^1.2.0", 176 | "pascalcase": "^0.1.1" 177 | }, 178 | "dependencies": { 179 | "define-property": { 180 | "version": "1.0.0", 181 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 182 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 183 | "dev": true, 184 | "requires": { 185 | "is-descriptor": "^1.0.0" 186 | } 187 | }, 188 | "is-accessor-descriptor": { 189 | "version": "1.0.0", 190 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 191 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 192 | "dev": true, 193 | "requires": { 194 | "kind-of": "^6.0.0" 195 | } 196 | }, 197 | "is-data-descriptor": { 198 | "version": "1.0.0", 199 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 200 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 201 | "dev": true, 202 | "requires": { 203 | "kind-of": "^6.0.0" 204 | } 205 | }, 206 | "is-descriptor": { 207 | "version": "1.0.2", 208 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 209 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 210 | "dev": true, 211 | "requires": { 212 | "is-accessor-descriptor": "^1.0.0", 213 | "is-data-descriptor": "^1.0.0", 214 | "kind-of": "^6.0.2" 215 | } 216 | }, 217 | "isobject": { 218 | "version": "3.0.1", 219 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 220 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 221 | "dev": true 222 | }, 223 | "kind-of": { 224 | "version": "6.0.3", 225 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 226 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 227 | "dev": true 228 | } 229 | } 230 | }, 231 | "base64-arraybuffer": { 232 | "version": "0.1.5", 233 | "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", 234 | "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", 235 | "dev": true 236 | }, 237 | "base64id": { 238 | "version": "1.0.0", 239 | "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", 240 | "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", 241 | "dev": true 242 | }, 243 | "bcrypt-pbkdf": { 244 | "version": "1.0.2", 245 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 246 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 247 | "dev": true, 248 | "requires": { 249 | "tweetnacl": "^0.14.3" 250 | } 251 | }, 252 | "better-assert": { 253 | "version": "1.0.2", 254 | "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", 255 | "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", 256 | "dev": true, 257 | "requires": { 258 | "callsite": "1.0.0" 259 | } 260 | }, 261 | "binary-extensions": { 262 | "version": "1.13.1", 263 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", 264 | "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", 265 | "dev": true 266 | }, 267 | "bindings": { 268 | "version": "1.5.0", 269 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 270 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 271 | "dev": true, 272 | "optional": true, 273 | "requires": { 274 | "file-uri-to-path": "1.0.0" 275 | } 276 | }, 277 | "blob": { 278 | "version": "0.0.4", 279 | "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", 280 | "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", 281 | "dev": true 282 | }, 283 | "bluebird": { 284 | "version": "3.7.2", 285 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 286 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 287 | "dev": true 288 | }, 289 | "body-parser": { 290 | "version": "1.19.0", 291 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", 292 | "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", 293 | "dev": true, 294 | "requires": { 295 | "bytes": "3.1.0", 296 | "content-type": "~1.0.4", 297 | "debug": "2.6.9", 298 | "depd": "~1.1.2", 299 | "http-errors": "1.7.2", 300 | "iconv-lite": "0.4.24", 301 | "on-finished": "~2.3.0", 302 | "qs": "6.7.0", 303 | "raw-body": "2.4.0", 304 | "type-is": "~1.6.17" 305 | } 306 | }, 307 | "brace-expansion": { 308 | "version": "1.1.11", 309 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 310 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 311 | "dev": true, 312 | "requires": { 313 | "balanced-match": "^1.0.0", 314 | "concat-map": "0.0.1" 315 | } 316 | }, 317 | "braces": { 318 | "version": "1.8.5", 319 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", 320 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", 321 | "dev": true, 322 | "requires": { 323 | "expand-range": "^1.8.1", 324 | "preserve": "^0.2.0", 325 | "repeat-element": "^1.1.2" 326 | } 327 | }, 328 | "buffer-alloc": { 329 | "version": "1.2.0", 330 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", 331 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", 332 | "dev": true, 333 | "requires": { 334 | "buffer-alloc-unsafe": "^1.1.0", 335 | "buffer-fill": "^1.0.0" 336 | } 337 | }, 338 | "buffer-alloc-unsafe": { 339 | "version": "1.1.0", 340 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", 341 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", 342 | "dev": true 343 | }, 344 | "buffer-crc32": { 345 | "version": "0.2.13", 346 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 347 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", 348 | "dev": true 349 | }, 350 | "buffer-fill": { 351 | "version": "1.0.0", 352 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", 353 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", 354 | "dev": true 355 | }, 356 | "buffer-from": { 357 | "version": "1.1.1", 358 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 359 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", 360 | "dev": true 361 | }, 362 | "bytes": { 363 | "version": "3.1.0", 364 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", 365 | "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", 366 | "dev": true 367 | }, 368 | "cache-base": { 369 | "version": "1.0.1", 370 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", 371 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", 372 | "dev": true, 373 | "requires": { 374 | "collection-visit": "^1.0.0", 375 | "component-emitter": "^1.2.1", 376 | "get-value": "^2.0.6", 377 | "has-value": "^1.0.0", 378 | "isobject": "^3.0.1", 379 | "set-value": "^2.0.0", 380 | "to-object-path": "^0.3.0", 381 | "union-value": "^1.0.0", 382 | "unset-value": "^1.0.0" 383 | }, 384 | "dependencies": { 385 | "isobject": { 386 | "version": "3.0.1", 387 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 388 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 389 | "dev": true 390 | } 391 | } 392 | }, 393 | "callsite": { 394 | "version": "1.0.0", 395 | "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", 396 | "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", 397 | "dev": true 398 | }, 399 | "caseless": { 400 | "version": "0.12.0", 401 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 402 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", 403 | "dev": true 404 | }, 405 | "chai": { 406 | "version": "2.3.0", 407 | "resolved": "https://registry.npmjs.org/chai/-/chai-2.3.0.tgz", 408 | "integrity": "sha1-ii9qNHSNqAEJD9cyh7Kqc5pOkJo=", 409 | "dev": true, 410 | "requires": { 411 | "assertion-error": "1.0.0", 412 | "deep-eql": "0.1.3" 413 | } 414 | }, 415 | "chokidar": { 416 | "version": "1.7.0", 417 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", 418 | "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", 419 | "dev": true, 420 | "requires": { 421 | "anymatch": "^1.3.0", 422 | "async-each": "^1.0.0", 423 | "fsevents": "^1.0.0", 424 | "glob-parent": "^2.0.0", 425 | "inherits": "^2.0.1", 426 | "is-binary-path": "^1.0.0", 427 | "is-glob": "^2.0.0", 428 | "path-is-absolute": "^1.0.0", 429 | "readdirp": "^2.0.0" 430 | } 431 | }, 432 | "class-utils": { 433 | "version": "0.3.6", 434 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 435 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", 436 | "dev": true, 437 | "requires": { 438 | "arr-union": "^3.1.0", 439 | "define-property": "^0.2.5", 440 | "isobject": "^3.0.0", 441 | "static-extend": "^0.1.1" 442 | }, 443 | "dependencies": { 444 | "define-property": { 445 | "version": "0.2.5", 446 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 447 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 448 | "dev": true, 449 | "requires": { 450 | "is-descriptor": "^0.1.0" 451 | } 452 | }, 453 | "isobject": { 454 | "version": "3.0.1", 455 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 456 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 457 | "dev": true 458 | } 459 | } 460 | }, 461 | "collection-visit": { 462 | "version": "1.0.0", 463 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", 464 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", 465 | "dev": true, 466 | "requires": { 467 | "map-visit": "^1.0.0", 468 | "object-visit": "^1.0.0" 469 | } 470 | }, 471 | "colors": { 472 | "version": "1.4.0", 473 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", 474 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", 475 | "dev": true 476 | }, 477 | "combine-lists": { 478 | "version": "1.0.1", 479 | "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz", 480 | "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=", 481 | "dev": true, 482 | "requires": { 483 | "lodash": "^4.5.0" 484 | }, 485 | "dependencies": { 486 | "lodash": { 487 | "version": "4.17.19", 488 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", 489 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", 490 | "dev": true 491 | } 492 | } 493 | }, 494 | "combined-stream": { 495 | "version": "1.0.8", 496 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 497 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 498 | "dev": true, 499 | "requires": { 500 | "delayed-stream": "~1.0.0" 501 | } 502 | }, 503 | "commander": { 504 | "version": "2.3.0", 505 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", 506 | "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", 507 | "dev": true 508 | }, 509 | "component-bind": { 510 | "version": "1.0.0", 511 | "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", 512 | "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", 513 | "dev": true 514 | }, 515 | "component-emitter": { 516 | "version": "1.3.0", 517 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", 518 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", 519 | "dev": true 520 | }, 521 | "component-inherit": { 522 | "version": "0.0.3", 523 | "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", 524 | "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", 525 | "dev": true 526 | }, 527 | "concat-map": { 528 | "version": "0.0.1", 529 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 530 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 531 | "dev": true 532 | }, 533 | "concat-stream": { 534 | "version": "1.6.2", 535 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", 536 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", 537 | "dev": true, 538 | "requires": { 539 | "buffer-from": "^1.0.0", 540 | "inherits": "^2.0.3", 541 | "readable-stream": "^2.2.2", 542 | "typedarray": "^0.0.6" 543 | } 544 | }, 545 | "connect": { 546 | "version": "3.7.0", 547 | "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", 548 | "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", 549 | "dev": true, 550 | "requires": { 551 | "debug": "2.6.9", 552 | "finalhandler": "1.1.2", 553 | "parseurl": "~1.3.3", 554 | "utils-merge": "1.0.1" 555 | } 556 | }, 557 | "content-type": { 558 | "version": "1.0.4", 559 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 560 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", 561 | "dev": true 562 | }, 563 | "cookie": { 564 | "version": "0.3.1", 565 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 566 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", 567 | "dev": true 568 | }, 569 | "copy-descriptor": { 570 | "version": "0.1.1", 571 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", 572 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", 573 | "dev": true 574 | }, 575 | "core-js": { 576 | "version": "2.6.11", 577 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", 578 | "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", 579 | "dev": true 580 | }, 581 | "core-util-is": { 582 | "version": "1.0.2", 583 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 584 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", 585 | "dev": true 586 | }, 587 | "custom-event": { 588 | "version": "1.0.1", 589 | "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", 590 | "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", 591 | "dev": true 592 | }, 593 | "dashdash": { 594 | "version": "1.14.1", 595 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 596 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 597 | "dev": true, 598 | "requires": { 599 | "assert-plus": "^1.0.0" 600 | } 601 | }, 602 | "debug": { 603 | "version": "2.6.9", 604 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 605 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 606 | "dev": true, 607 | "requires": { 608 | "ms": "2.0.0" 609 | } 610 | }, 611 | "decode-uri-component": { 612 | "version": "0.2.0", 613 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 614 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", 615 | "dev": true 616 | }, 617 | "deep-eql": { 618 | "version": "0.1.3", 619 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", 620 | "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", 621 | "dev": true, 622 | "requires": { 623 | "type-detect": "0.1.1" 624 | } 625 | }, 626 | "define-property": { 627 | "version": "2.0.2", 628 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", 629 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", 630 | "dev": true, 631 | "requires": { 632 | "is-descriptor": "^1.0.2", 633 | "isobject": "^3.0.1" 634 | }, 635 | "dependencies": { 636 | "is-accessor-descriptor": { 637 | "version": "1.0.0", 638 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 639 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 640 | "dev": true, 641 | "requires": { 642 | "kind-of": "^6.0.0" 643 | } 644 | }, 645 | "is-data-descriptor": { 646 | "version": "1.0.0", 647 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 648 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 649 | "dev": true, 650 | "requires": { 651 | "kind-of": "^6.0.0" 652 | } 653 | }, 654 | "is-descriptor": { 655 | "version": "1.0.2", 656 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 657 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 658 | "dev": true, 659 | "requires": { 660 | "is-accessor-descriptor": "^1.0.0", 661 | "is-data-descriptor": "^1.0.0", 662 | "kind-of": "^6.0.2" 663 | } 664 | }, 665 | "isobject": { 666 | "version": "3.0.1", 667 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 668 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 669 | "dev": true 670 | }, 671 | "kind-of": { 672 | "version": "6.0.3", 673 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 674 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 675 | "dev": true 676 | } 677 | } 678 | }, 679 | "delayed-stream": { 680 | "version": "1.0.0", 681 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 682 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", 683 | "dev": true 684 | }, 685 | "depd": { 686 | "version": "1.1.2", 687 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 688 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", 689 | "dev": true 690 | }, 691 | "di": { 692 | "version": "0.0.1", 693 | "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", 694 | "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", 695 | "dev": true 696 | }, 697 | "diff": { 698 | "version": "1.4.0", 699 | "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", 700 | "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", 701 | "dev": true 702 | }, 703 | "dom-serialize": { 704 | "version": "2.2.1", 705 | "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", 706 | "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", 707 | "dev": true, 708 | "requires": { 709 | "custom-event": "~1.0.0", 710 | "ent": "~2.2.0", 711 | "extend": "^3.0.0", 712 | "void-elements": "^2.0.0" 713 | } 714 | }, 715 | "ecc-jsbn": { 716 | "version": "0.1.2", 717 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 718 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 719 | "dev": true, 720 | "requires": { 721 | "jsbn": "~0.1.0", 722 | "safer-buffer": "^2.1.0" 723 | } 724 | }, 725 | "ee-first": { 726 | "version": "1.1.1", 727 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 728 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", 729 | "dev": true 730 | }, 731 | "encodeurl": { 732 | "version": "1.0.2", 733 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 734 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", 735 | "dev": true 736 | }, 737 | "engine.io": { 738 | "version": "1.8.3", 739 | "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz", 740 | "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=", 741 | "dev": true, 742 | "requires": { 743 | "accepts": "1.3.3", 744 | "base64id": "1.0.0", 745 | "cookie": "0.3.1", 746 | "debug": "2.3.3", 747 | "engine.io-parser": "1.3.2", 748 | "ws": "1.1.2" 749 | }, 750 | "dependencies": { 751 | "debug": { 752 | "version": "2.3.3", 753 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", 754 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", 755 | "dev": true, 756 | "requires": { 757 | "ms": "0.7.2" 758 | } 759 | }, 760 | "ms": { 761 | "version": "0.7.2", 762 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", 763 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", 764 | "dev": true 765 | } 766 | } 767 | }, 768 | "engine.io-client": { 769 | "version": "1.8.3", 770 | "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz", 771 | "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=", 772 | "dev": true, 773 | "requires": { 774 | "component-emitter": "1.2.1", 775 | "component-inherit": "0.0.3", 776 | "debug": "2.3.3", 777 | "engine.io-parser": "1.3.2", 778 | "has-cors": "1.1.0", 779 | "indexof": "0.0.1", 780 | "parsejson": "0.0.3", 781 | "parseqs": "0.0.5", 782 | "parseuri": "0.0.5", 783 | "ws": "1.1.2", 784 | "xmlhttprequest-ssl": "1.5.3", 785 | "yeast": "0.1.2" 786 | }, 787 | "dependencies": { 788 | "component-emitter": { 789 | "version": "1.2.1", 790 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 791 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", 792 | "dev": true 793 | }, 794 | "debug": { 795 | "version": "2.3.3", 796 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", 797 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", 798 | "dev": true, 799 | "requires": { 800 | "ms": "0.7.2" 801 | } 802 | }, 803 | "ms": { 804 | "version": "0.7.2", 805 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", 806 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", 807 | "dev": true 808 | } 809 | } 810 | }, 811 | "engine.io-parser": { 812 | "version": "1.3.2", 813 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz", 814 | "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=", 815 | "dev": true, 816 | "requires": { 817 | "after": "0.8.2", 818 | "arraybuffer.slice": "0.0.6", 819 | "base64-arraybuffer": "0.1.5", 820 | "blob": "0.0.4", 821 | "has-binary": "0.1.7", 822 | "wtf-8": "1.0.0" 823 | } 824 | }, 825 | "ent": { 826 | "version": "2.2.0", 827 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", 828 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", 829 | "dev": true 830 | }, 831 | "es6-promise": { 832 | "version": "4.2.8", 833 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", 834 | "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", 835 | "dev": true 836 | }, 837 | "escape-html": { 838 | "version": "1.0.3", 839 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 840 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", 841 | "dev": true 842 | }, 843 | "escape-string-regexp": { 844 | "version": "1.0.2", 845 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", 846 | "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=", 847 | "dev": true 848 | }, 849 | "eventemitter3": { 850 | "version": "4.0.4", 851 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", 852 | "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", 853 | "dev": true 854 | }, 855 | "expand-braces": { 856 | "version": "0.1.2", 857 | "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz", 858 | "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=", 859 | "dev": true, 860 | "requires": { 861 | "array-slice": "^0.2.3", 862 | "array-unique": "^0.2.1", 863 | "braces": "^0.1.2" 864 | }, 865 | "dependencies": { 866 | "braces": { 867 | "version": "0.1.5", 868 | "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", 869 | "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=", 870 | "dev": true, 871 | "requires": { 872 | "expand-range": "^0.1.0" 873 | } 874 | }, 875 | "expand-range": { 876 | "version": "0.1.1", 877 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz", 878 | "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=", 879 | "dev": true, 880 | "requires": { 881 | "is-number": "^0.1.1", 882 | "repeat-string": "^0.2.2" 883 | } 884 | }, 885 | "is-number": { 886 | "version": "0.1.1", 887 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz", 888 | "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=", 889 | "dev": true 890 | }, 891 | "repeat-string": { 892 | "version": "0.2.2", 893 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz", 894 | "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=", 895 | "dev": true 896 | } 897 | } 898 | }, 899 | "expand-brackets": { 900 | "version": "0.1.5", 901 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", 902 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", 903 | "dev": true, 904 | "requires": { 905 | "is-posix-bracket": "^0.1.0" 906 | } 907 | }, 908 | "expand-range": { 909 | "version": "1.8.2", 910 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", 911 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", 912 | "dev": true, 913 | "requires": { 914 | "fill-range": "^2.1.0" 915 | } 916 | }, 917 | "extend": { 918 | "version": "3.0.2", 919 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 920 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", 921 | "dev": true 922 | }, 923 | "extend-shallow": { 924 | "version": "3.0.2", 925 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", 926 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", 927 | "dev": true, 928 | "requires": { 929 | "assign-symbols": "^1.0.0", 930 | "is-extendable": "^1.0.1" 931 | }, 932 | "dependencies": { 933 | "is-extendable": { 934 | "version": "1.0.1", 935 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 936 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 937 | "dev": true, 938 | "requires": { 939 | "is-plain-object": "^2.0.4" 940 | } 941 | } 942 | } 943 | }, 944 | "extglob": { 945 | "version": "0.3.2", 946 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", 947 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", 948 | "dev": true, 949 | "requires": { 950 | "is-extglob": "^1.0.0" 951 | } 952 | }, 953 | "extract-zip": { 954 | "version": "1.7.0", 955 | "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", 956 | "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", 957 | "dev": true, 958 | "requires": { 959 | "concat-stream": "^1.6.2", 960 | "debug": "^2.6.9", 961 | "mkdirp": "^0.5.4", 962 | "yauzl": "^2.10.0" 963 | } 964 | }, 965 | "extsprintf": { 966 | "version": "1.3.0", 967 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 968 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", 969 | "dev": true 970 | }, 971 | "fast-deep-equal": { 972 | "version": "3.1.3", 973 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 974 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 975 | "dev": true 976 | }, 977 | "fast-json-stable-stringify": { 978 | "version": "2.1.0", 979 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 980 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 981 | "dev": true 982 | }, 983 | "fd-slicer": { 984 | "version": "1.1.0", 985 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 986 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 987 | "dev": true, 988 | "requires": { 989 | "pend": "~1.2.0" 990 | } 991 | }, 992 | "file-uri-to-path": { 993 | "version": "1.0.0", 994 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 995 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", 996 | "dev": true, 997 | "optional": true 998 | }, 999 | "filename-regex": { 1000 | "version": "2.0.1", 1001 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", 1002 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", 1003 | "dev": true 1004 | }, 1005 | "fill-range": { 1006 | "version": "2.2.4", 1007 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", 1008 | "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", 1009 | "dev": true, 1010 | "requires": { 1011 | "is-number": "^2.1.0", 1012 | "isobject": "^2.0.0", 1013 | "randomatic": "^3.0.0", 1014 | "repeat-element": "^1.1.2", 1015 | "repeat-string": "^1.5.2" 1016 | } 1017 | }, 1018 | "finalhandler": { 1019 | "version": "1.1.2", 1020 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", 1021 | "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", 1022 | "dev": true, 1023 | "requires": { 1024 | "debug": "2.6.9", 1025 | "encodeurl": "~1.0.2", 1026 | "escape-html": "~1.0.3", 1027 | "on-finished": "~2.3.0", 1028 | "parseurl": "~1.3.3", 1029 | "statuses": "~1.5.0", 1030 | "unpipe": "~1.0.0" 1031 | } 1032 | }, 1033 | "follow-redirects": { 1034 | "version": "1.13.0", 1035 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", 1036 | "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==", 1037 | "dev": true 1038 | }, 1039 | "for-in": { 1040 | "version": "1.0.2", 1041 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", 1042 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", 1043 | "dev": true 1044 | }, 1045 | "for-own": { 1046 | "version": "0.1.5", 1047 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", 1048 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", 1049 | "dev": true, 1050 | "requires": { 1051 | "for-in": "^1.0.1" 1052 | } 1053 | }, 1054 | "forever-agent": { 1055 | "version": "0.6.1", 1056 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1057 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", 1058 | "dev": true 1059 | }, 1060 | "form-data": { 1061 | "version": "2.3.3", 1062 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 1063 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 1064 | "dev": true, 1065 | "requires": { 1066 | "asynckit": "^0.4.0", 1067 | "combined-stream": "^1.0.6", 1068 | "mime-types": "^2.1.12" 1069 | } 1070 | }, 1071 | "fragment-cache": { 1072 | "version": "0.2.1", 1073 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", 1074 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", 1075 | "dev": true, 1076 | "requires": { 1077 | "map-cache": "^0.2.2" 1078 | } 1079 | }, 1080 | "fs-extra": { 1081 | "version": "1.0.0", 1082 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", 1083 | "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", 1084 | "dev": true, 1085 | "requires": { 1086 | "graceful-fs": "^4.1.2", 1087 | "jsonfile": "^2.1.0", 1088 | "klaw": "^1.0.0" 1089 | } 1090 | }, 1091 | "fs.realpath": { 1092 | "version": "1.0.0", 1093 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1094 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1095 | "dev": true 1096 | }, 1097 | "fsevents": { 1098 | "version": "1.2.13", 1099 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", 1100 | "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", 1101 | "dev": true, 1102 | "optional": true, 1103 | "requires": { 1104 | "bindings": "^1.5.0", 1105 | "nan": "^2.12.1" 1106 | } 1107 | }, 1108 | "get-value": { 1109 | "version": "2.0.6", 1110 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", 1111 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", 1112 | "dev": true 1113 | }, 1114 | "getpass": { 1115 | "version": "0.1.7", 1116 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1117 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1118 | "dev": true, 1119 | "requires": { 1120 | "assert-plus": "^1.0.0" 1121 | } 1122 | }, 1123 | "glob": { 1124 | "version": "7.1.6", 1125 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 1126 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 1127 | "dev": true, 1128 | "requires": { 1129 | "fs.realpath": "^1.0.0", 1130 | "inflight": "^1.0.4", 1131 | "inherits": "2", 1132 | "minimatch": "^3.0.4", 1133 | "once": "^1.3.0", 1134 | "path-is-absolute": "^1.0.0" 1135 | } 1136 | }, 1137 | "glob-base": { 1138 | "version": "0.3.0", 1139 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", 1140 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", 1141 | "dev": true, 1142 | "requires": { 1143 | "glob-parent": "^2.0.0", 1144 | "is-glob": "^2.0.0" 1145 | } 1146 | }, 1147 | "glob-parent": { 1148 | "version": "2.0.0", 1149 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", 1150 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", 1151 | "dev": true, 1152 | "requires": { 1153 | "is-glob": "^2.0.0" 1154 | } 1155 | }, 1156 | "graceful-fs": { 1157 | "version": "4.2.4", 1158 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 1159 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", 1160 | "dev": true 1161 | }, 1162 | "growl": { 1163 | "version": "1.9.2", 1164 | "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", 1165 | "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", 1166 | "dev": true 1167 | }, 1168 | "har-schema": { 1169 | "version": "2.0.0", 1170 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 1171 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", 1172 | "dev": true 1173 | }, 1174 | "har-validator": { 1175 | "version": "5.1.5", 1176 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", 1177 | "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", 1178 | "dev": true, 1179 | "requires": { 1180 | "ajv": "^6.12.3", 1181 | "har-schema": "^2.0.0" 1182 | } 1183 | }, 1184 | "has-binary": { 1185 | "version": "0.1.7", 1186 | "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz", 1187 | "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=", 1188 | "dev": true, 1189 | "requires": { 1190 | "isarray": "0.0.1" 1191 | }, 1192 | "dependencies": { 1193 | "isarray": { 1194 | "version": "0.0.1", 1195 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 1196 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 1197 | "dev": true 1198 | } 1199 | } 1200 | }, 1201 | "has-cors": { 1202 | "version": "1.1.0", 1203 | "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", 1204 | "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", 1205 | "dev": true 1206 | }, 1207 | "has-value": { 1208 | "version": "1.0.0", 1209 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", 1210 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", 1211 | "dev": true, 1212 | "requires": { 1213 | "get-value": "^2.0.6", 1214 | "has-values": "^1.0.0", 1215 | "isobject": "^3.0.0" 1216 | }, 1217 | "dependencies": { 1218 | "isobject": { 1219 | "version": "3.0.1", 1220 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1221 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 1222 | "dev": true 1223 | } 1224 | } 1225 | }, 1226 | "has-values": { 1227 | "version": "1.0.0", 1228 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", 1229 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", 1230 | "dev": true, 1231 | "requires": { 1232 | "is-number": "^3.0.0", 1233 | "kind-of": "^4.0.0" 1234 | }, 1235 | "dependencies": { 1236 | "is-number": { 1237 | "version": "3.0.0", 1238 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 1239 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 1240 | "dev": true, 1241 | "requires": { 1242 | "kind-of": "^3.0.2" 1243 | }, 1244 | "dependencies": { 1245 | "kind-of": { 1246 | "version": "3.2.2", 1247 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1248 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1249 | "dev": true, 1250 | "requires": { 1251 | "is-buffer": "^1.1.5" 1252 | } 1253 | } 1254 | } 1255 | }, 1256 | "kind-of": { 1257 | "version": "4.0.0", 1258 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", 1259 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", 1260 | "dev": true, 1261 | "requires": { 1262 | "is-buffer": "^1.1.5" 1263 | } 1264 | } 1265 | } 1266 | }, 1267 | "hasha": { 1268 | "version": "2.2.0", 1269 | "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", 1270 | "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", 1271 | "dev": true, 1272 | "requires": { 1273 | "is-stream": "^1.0.1", 1274 | "pinkie-promise": "^2.0.0" 1275 | } 1276 | }, 1277 | "http-errors": { 1278 | "version": "1.7.2", 1279 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 1280 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", 1281 | "dev": true, 1282 | "requires": { 1283 | "depd": "~1.1.2", 1284 | "inherits": "2.0.3", 1285 | "setprototypeof": "1.1.1", 1286 | "statuses": ">= 1.5.0 < 2", 1287 | "toidentifier": "1.0.0" 1288 | } 1289 | }, 1290 | "http-proxy": { 1291 | "version": "1.18.1", 1292 | "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", 1293 | "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", 1294 | "dev": true, 1295 | "requires": { 1296 | "eventemitter3": "^4.0.0", 1297 | "follow-redirects": "^1.0.0", 1298 | "requires-port": "^1.0.0" 1299 | } 1300 | }, 1301 | "http-signature": { 1302 | "version": "1.2.0", 1303 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 1304 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1305 | "dev": true, 1306 | "requires": { 1307 | "assert-plus": "^1.0.0", 1308 | "jsprim": "^1.2.2", 1309 | "sshpk": "^1.7.0" 1310 | } 1311 | }, 1312 | "iconv-lite": { 1313 | "version": "0.4.24", 1314 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1315 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1316 | "dev": true, 1317 | "requires": { 1318 | "safer-buffer": ">= 2.1.2 < 3" 1319 | } 1320 | }, 1321 | "indexof": { 1322 | "version": "0.0.1", 1323 | "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", 1324 | "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", 1325 | "dev": true 1326 | }, 1327 | "inflight": { 1328 | "version": "1.0.6", 1329 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1330 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1331 | "dev": true, 1332 | "requires": { 1333 | "once": "^1.3.0", 1334 | "wrappy": "1" 1335 | } 1336 | }, 1337 | "inherits": { 1338 | "version": "2.0.3", 1339 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1340 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1341 | "dev": true 1342 | }, 1343 | "is-accessor-descriptor": { 1344 | "version": "0.1.6", 1345 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 1346 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 1347 | "dev": true, 1348 | "requires": { 1349 | "kind-of": "^3.0.2" 1350 | } 1351 | }, 1352 | "is-binary-path": { 1353 | "version": "1.0.1", 1354 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 1355 | "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", 1356 | "dev": true, 1357 | "requires": { 1358 | "binary-extensions": "^1.0.0" 1359 | } 1360 | }, 1361 | "is-buffer": { 1362 | "version": "1.1.6", 1363 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1364 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 1365 | "dev": true 1366 | }, 1367 | "is-data-descriptor": { 1368 | "version": "0.1.4", 1369 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 1370 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 1371 | "dev": true, 1372 | "requires": { 1373 | "kind-of": "^3.0.2" 1374 | } 1375 | }, 1376 | "is-descriptor": { 1377 | "version": "0.1.6", 1378 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 1379 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 1380 | "dev": true, 1381 | "requires": { 1382 | "is-accessor-descriptor": "^0.1.6", 1383 | "is-data-descriptor": "^0.1.4", 1384 | "kind-of": "^5.0.0" 1385 | }, 1386 | "dependencies": { 1387 | "kind-of": { 1388 | "version": "5.1.0", 1389 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 1390 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 1391 | "dev": true 1392 | } 1393 | } 1394 | }, 1395 | "is-dotfile": { 1396 | "version": "1.0.3", 1397 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", 1398 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", 1399 | "dev": true 1400 | }, 1401 | "is-equal-shallow": { 1402 | "version": "0.1.3", 1403 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", 1404 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", 1405 | "dev": true, 1406 | "requires": { 1407 | "is-primitive": "^2.0.0" 1408 | } 1409 | }, 1410 | "is-extendable": { 1411 | "version": "0.1.1", 1412 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", 1413 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", 1414 | "dev": true 1415 | }, 1416 | "is-extglob": { 1417 | "version": "1.0.0", 1418 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", 1419 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", 1420 | "dev": true 1421 | }, 1422 | "is-glob": { 1423 | "version": "2.0.1", 1424 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", 1425 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", 1426 | "dev": true, 1427 | "requires": { 1428 | "is-extglob": "^1.0.0" 1429 | } 1430 | }, 1431 | "is-number": { 1432 | "version": "2.1.0", 1433 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", 1434 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", 1435 | "dev": true, 1436 | "requires": { 1437 | "kind-of": "^3.0.2" 1438 | } 1439 | }, 1440 | "is-plain-object": { 1441 | "version": "2.0.4", 1442 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", 1443 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", 1444 | "dev": true, 1445 | "requires": { 1446 | "isobject": "^3.0.1" 1447 | }, 1448 | "dependencies": { 1449 | "isobject": { 1450 | "version": "3.0.1", 1451 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 1452 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 1453 | "dev": true 1454 | } 1455 | } 1456 | }, 1457 | "is-posix-bracket": { 1458 | "version": "0.1.1", 1459 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", 1460 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", 1461 | "dev": true 1462 | }, 1463 | "is-primitive": { 1464 | "version": "2.0.0", 1465 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", 1466 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", 1467 | "dev": true 1468 | }, 1469 | "is-stream": { 1470 | "version": "1.1.0", 1471 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1472 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 1473 | "dev": true 1474 | }, 1475 | "is-typedarray": { 1476 | "version": "1.0.0", 1477 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1478 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", 1479 | "dev": true 1480 | }, 1481 | "is-windows": { 1482 | "version": "1.0.2", 1483 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", 1484 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", 1485 | "dev": true 1486 | }, 1487 | "isarray": { 1488 | "version": "1.0.0", 1489 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1490 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1491 | "dev": true 1492 | }, 1493 | "isbinaryfile": { 1494 | "version": "3.0.3", 1495 | "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", 1496 | "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", 1497 | "dev": true, 1498 | "requires": { 1499 | "buffer-alloc": "^1.2.0" 1500 | } 1501 | }, 1502 | "isexe": { 1503 | "version": "2.0.0", 1504 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1505 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1506 | "dev": true 1507 | }, 1508 | "isobject": { 1509 | "version": "2.1.0", 1510 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 1511 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 1512 | "dev": true, 1513 | "requires": { 1514 | "isarray": "1.0.0" 1515 | } 1516 | }, 1517 | "isstream": { 1518 | "version": "0.1.2", 1519 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1520 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", 1521 | "dev": true 1522 | }, 1523 | "jade": { 1524 | "version": "0.26.3", 1525 | "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", 1526 | "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=", 1527 | "dev": true, 1528 | "requires": { 1529 | "commander": "0.6.1", 1530 | "mkdirp": "0.3.0" 1531 | }, 1532 | "dependencies": { 1533 | "commander": { 1534 | "version": "0.6.1", 1535 | "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", 1536 | "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=", 1537 | "dev": true 1538 | }, 1539 | "mkdirp": { 1540 | "version": "0.3.0", 1541 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", 1542 | "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", 1543 | "dev": true 1544 | } 1545 | } 1546 | }, 1547 | "jquery": { 1548 | "version": "2.2.4", 1549 | "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", 1550 | "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=", 1551 | "dev": true 1552 | }, 1553 | "jsbn": { 1554 | "version": "0.1.1", 1555 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1556 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1557 | "dev": true 1558 | }, 1559 | "json-schema": { 1560 | "version": "0.2.3", 1561 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1562 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", 1563 | "dev": true 1564 | }, 1565 | "json-schema-traverse": { 1566 | "version": "0.4.1", 1567 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1568 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1569 | "dev": true 1570 | }, 1571 | "json-stringify-safe": { 1572 | "version": "5.0.1", 1573 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1574 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", 1575 | "dev": true 1576 | }, 1577 | "json3": { 1578 | "version": "3.3.2", 1579 | "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", 1580 | "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", 1581 | "dev": true 1582 | }, 1583 | "jsonfile": { 1584 | "version": "2.4.0", 1585 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 1586 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 1587 | "dev": true, 1588 | "requires": { 1589 | "graceful-fs": "^4.1.6" 1590 | } 1591 | }, 1592 | "jsprim": { 1593 | "version": "1.4.1", 1594 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 1595 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 1596 | "dev": true, 1597 | "requires": { 1598 | "assert-plus": "1.0.0", 1599 | "extsprintf": "1.3.0", 1600 | "json-schema": "0.2.3", 1601 | "verror": "1.10.0" 1602 | } 1603 | }, 1604 | "karma": { 1605 | "version": "1.7.1", 1606 | "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz", 1607 | "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==", 1608 | "dev": true, 1609 | "requires": { 1610 | "bluebird": "^3.3.0", 1611 | "body-parser": "^1.16.1", 1612 | "chokidar": "^1.4.1", 1613 | "colors": "^1.1.0", 1614 | "combine-lists": "^1.0.0", 1615 | "connect": "^3.6.0", 1616 | "core-js": "^2.2.0", 1617 | "di": "^0.0.1", 1618 | "dom-serialize": "^2.2.0", 1619 | "expand-braces": "^0.1.1", 1620 | "glob": "^7.1.1", 1621 | "graceful-fs": "^4.1.2", 1622 | "http-proxy": "^1.13.0", 1623 | "isbinaryfile": "^3.0.0", 1624 | "lodash": "^3.8.0", 1625 | "log4js": "^0.6.31", 1626 | "mime": "^1.3.4", 1627 | "minimatch": "^3.0.2", 1628 | "optimist": "^0.6.1", 1629 | "qjobs": "^1.1.4", 1630 | "range-parser": "^1.2.0", 1631 | "rimraf": "^2.6.0", 1632 | "safe-buffer": "^5.0.1", 1633 | "socket.io": "1.7.3", 1634 | "source-map": "^0.5.3", 1635 | "tmp": "0.0.31", 1636 | "useragent": "^2.1.12" 1637 | } 1638 | }, 1639 | "karma-chai": { 1640 | "version": "0.1.0", 1641 | "resolved": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz", 1642 | "integrity": "sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=", 1643 | "dev": true 1644 | }, 1645 | "karma-chrome-launcher": { 1646 | "version": "0.1.12", 1647 | "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-0.1.12.tgz", 1648 | "integrity": "sha1-CsDiLlc2UPZUExL9ynlcOCTM+WI=", 1649 | "dev": true, 1650 | "requires": { 1651 | "which": "^1.0.9" 1652 | } 1653 | }, 1654 | "karma-jasmine": { 1655 | "version": "1.1.2", 1656 | "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz", 1657 | "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=", 1658 | "dev": true 1659 | }, 1660 | "karma-mocha": { 1661 | "version": "0.1.10", 1662 | "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-0.1.10.tgz", 1663 | "integrity": "sha1-Ke1R1LEhrxNzRE7FVbIKkFv0K5I=", 1664 | "dev": true 1665 | }, 1666 | "karma-phantomjs-launcher": { 1667 | "version": "1.0.4", 1668 | "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz", 1669 | "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=", 1670 | "dev": true, 1671 | "requires": { 1672 | "lodash": "^4.0.1", 1673 | "phantomjs-prebuilt": "^2.1.7" 1674 | }, 1675 | "dependencies": { 1676 | "lodash": { 1677 | "version": "4.17.19", 1678 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", 1679 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", 1680 | "dev": true 1681 | } 1682 | } 1683 | }, 1684 | "kew": { 1685 | "version": "0.7.0", 1686 | "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", 1687 | "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", 1688 | "dev": true 1689 | }, 1690 | "kind-of": { 1691 | "version": "3.2.2", 1692 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 1693 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 1694 | "dev": true, 1695 | "requires": { 1696 | "is-buffer": "^1.1.5" 1697 | } 1698 | }, 1699 | "klaw": { 1700 | "version": "1.3.1", 1701 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 1702 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 1703 | "dev": true, 1704 | "requires": { 1705 | "graceful-fs": "^4.1.9" 1706 | } 1707 | }, 1708 | "lodash": { 1709 | "version": "3.10.1", 1710 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", 1711 | "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", 1712 | "dev": true 1713 | }, 1714 | "log4js": { 1715 | "version": "0.6.38", 1716 | "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", 1717 | "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", 1718 | "dev": true, 1719 | "requires": { 1720 | "readable-stream": "~1.0.2", 1721 | "semver": "~4.3.3" 1722 | }, 1723 | "dependencies": { 1724 | "isarray": { 1725 | "version": "0.0.1", 1726 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 1727 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 1728 | "dev": true 1729 | }, 1730 | "readable-stream": { 1731 | "version": "1.0.34", 1732 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", 1733 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", 1734 | "dev": true, 1735 | "requires": { 1736 | "core-util-is": "~1.0.0", 1737 | "inherits": "~2.0.1", 1738 | "isarray": "0.0.1", 1739 | "string_decoder": "~0.10.x" 1740 | } 1741 | }, 1742 | "string_decoder": { 1743 | "version": "0.10.31", 1744 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", 1745 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", 1746 | "dev": true 1747 | } 1748 | } 1749 | }, 1750 | "lru-cache": { 1751 | "version": "4.1.5", 1752 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", 1753 | "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", 1754 | "dev": true, 1755 | "requires": { 1756 | "pseudomap": "^1.0.2", 1757 | "yallist": "^2.1.2" 1758 | } 1759 | }, 1760 | "map-cache": { 1761 | "version": "0.2.2", 1762 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", 1763 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", 1764 | "dev": true 1765 | }, 1766 | "map-visit": { 1767 | "version": "1.0.0", 1768 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", 1769 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", 1770 | "dev": true, 1771 | "requires": { 1772 | "object-visit": "^1.0.0" 1773 | } 1774 | }, 1775 | "math-random": { 1776 | "version": "1.0.4", 1777 | "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", 1778 | "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", 1779 | "dev": true 1780 | }, 1781 | "media-typer": { 1782 | "version": "0.3.0", 1783 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1784 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", 1785 | "dev": true 1786 | }, 1787 | "micromatch": { 1788 | "version": "2.3.11", 1789 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", 1790 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", 1791 | "dev": true, 1792 | "requires": { 1793 | "arr-diff": "^2.0.0", 1794 | "array-unique": "^0.2.1", 1795 | "braces": "^1.8.2", 1796 | "expand-brackets": "^0.1.4", 1797 | "extglob": "^0.3.1", 1798 | "filename-regex": "^2.0.0", 1799 | "is-extglob": "^1.0.0", 1800 | "is-glob": "^2.0.1", 1801 | "kind-of": "^3.0.2", 1802 | "normalize-path": "^2.0.1", 1803 | "object.omit": "^2.0.0", 1804 | "parse-glob": "^3.0.4", 1805 | "regex-cache": "^0.4.2" 1806 | } 1807 | }, 1808 | "mime": { 1809 | "version": "1.6.0", 1810 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 1811 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 1812 | "dev": true 1813 | }, 1814 | "mime-db": { 1815 | "version": "1.44.0", 1816 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 1817 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", 1818 | "dev": true 1819 | }, 1820 | "mime-types": { 1821 | "version": "2.1.27", 1822 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 1823 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 1824 | "dev": true, 1825 | "requires": { 1826 | "mime-db": "1.44.0" 1827 | } 1828 | }, 1829 | "minimatch": { 1830 | "version": "3.0.4", 1831 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 1832 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 1833 | "dev": true, 1834 | "requires": { 1835 | "brace-expansion": "^1.1.7" 1836 | } 1837 | }, 1838 | "minimist": { 1839 | "version": "0.0.10", 1840 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", 1841 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", 1842 | "dev": true 1843 | }, 1844 | "mixin-deep": { 1845 | "version": "1.3.2", 1846 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", 1847 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", 1848 | "dev": true, 1849 | "requires": { 1850 | "for-in": "^1.0.2", 1851 | "is-extendable": "^1.0.1" 1852 | }, 1853 | "dependencies": { 1854 | "is-extendable": { 1855 | "version": "1.0.1", 1856 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", 1857 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", 1858 | "dev": true, 1859 | "requires": { 1860 | "is-plain-object": "^2.0.4" 1861 | } 1862 | } 1863 | } 1864 | }, 1865 | "mkdirp": { 1866 | "version": "0.5.5", 1867 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", 1868 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", 1869 | "dev": true, 1870 | "requires": { 1871 | "minimist": "^1.2.5" 1872 | }, 1873 | "dependencies": { 1874 | "minimist": { 1875 | "version": "1.2.5", 1876 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", 1877 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", 1878 | "dev": true 1879 | } 1880 | } 1881 | }, 1882 | "mocha": { 1883 | "version": "2.5.3", 1884 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", 1885 | "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=", 1886 | "dev": true, 1887 | "requires": { 1888 | "commander": "2.3.0", 1889 | "debug": "2.2.0", 1890 | "diff": "1.4.0", 1891 | "escape-string-regexp": "1.0.2", 1892 | "glob": "3.2.11", 1893 | "growl": "1.9.2", 1894 | "jade": "0.26.3", 1895 | "mkdirp": "0.5.1", 1896 | "supports-color": "1.2.0", 1897 | "to-iso-string": "0.0.2" 1898 | }, 1899 | "dependencies": { 1900 | "debug": { 1901 | "version": "2.2.0", 1902 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", 1903 | "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", 1904 | "dev": true, 1905 | "requires": { 1906 | "ms": "0.7.1" 1907 | } 1908 | }, 1909 | "glob": { 1910 | "version": "3.2.11", 1911 | "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", 1912 | "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", 1913 | "dev": true, 1914 | "requires": { 1915 | "inherits": "2", 1916 | "minimatch": "0.3" 1917 | } 1918 | }, 1919 | "lru-cache": { 1920 | "version": "2.7.3", 1921 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", 1922 | "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", 1923 | "dev": true 1924 | }, 1925 | "minimatch": { 1926 | "version": "0.3.0", 1927 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", 1928 | "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", 1929 | "dev": true, 1930 | "requires": { 1931 | "lru-cache": "2", 1932 | "sigmund": "~1.0.0" 1933 | } 1934 | }, 1935 | "minimist": { 1936 | "version": "0.0.8", 1937 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1938 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 1939 | "dev": true 1940 | }, 1941 | "mkdirp": { 1942 | "version": "0.5.1", 1943 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1944 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1945 | "dev": true, 1946 | "requires": { 1947 | "minimist": "0.0.8" 1948 | } 1949 | }, 1950 | "ms": { 1951 | "version": "0.7.1", 1952 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", 1953 | "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", 1954 | "dev": true 1955 | } 1956 | } 1957 | }, 1958 | "ms": { 1959 | "version": "2.0.0", 1960 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1961 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 1962 | "dev": true 1963 | }, 1964 | "nan": { 1965 | "version": "2.14.1", 1966 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", 1967 | "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", 1968 | "dev": true, 1969 | "optional": true 1970 | }, 1971 | "nanomatch": { 1972 | "version": "1.2.13", 1973 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", 1974 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", 1975 | "dev": true, 1976 | "requires": { 1977 | "arr-diff": "^4.0.0", 1978 | "array-unique": "^0.3.2", 1979 | "define-property": "^2.0.2", 1980 | "extend-shallow": "^3.0.2", 1981 | "fragment-cache": "^0.2.1", 1982 | "is-windows": "^1.0.2", 1983 | "kind-of": "^6.0.2", 1984 | "object.pick": "^1.3.0", 1985 | "regex-not": "^1.0.0", 1986 | "snapdragon": "^0.8.1", 1987 | "to-regex": "^3.0.1" 1988 | }, 1989 | "dependencies": { 1990 | "arr-diff": { 1991 | "version": "4.0.0", 1992 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 1993 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", 1994 | "dev": true 1995 | }, 1996 | "array-unique": { 1997 | "version": "0.3.2", 1998 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 1999 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", 2000 | "dev": true 2001 | }, 2002 | "kind-of": { 2003 | "version": "6.0.3", 2004 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 2005 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 2006 | "dev": true 2007 | } 2008 | } 2009 | }, 2010 | "negotiator": { 2011 | "version": "0.6.1", 2012 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", 2013 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", 2014 | "dev": true 2015 | }, 2016 | "normalize-path": { 2017 | "version": "2.1.1", 2018 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 2019 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 2020 | "dev": true, 2021 | "requires": { 2022 | "remove-trailing-separator": "^1.0.1" 2023 | } 2024 | }, 2025 | "oauth-sign": { 2026 | "version": "0.9.0", 2027 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 2028 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", 2029 | "dev": true 2030 | }, 2031 | "object-assign": { 2032 | "version": "4.1.0", 2033 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz", 2034 | "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=", 2035 | "dev": true 2036 | }, 2037 | "object-component": { 2038 | "version": "0.0.3", 2039 | "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", 2040 | "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", 2041 | "dev": true 2042 | }, 2043 | "object-copy": { 2044 | "version": "0.1.0", 2045 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", 2046 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", 2047 | "dev": true, 2048 | "requires": { 2049 | "copy-descriptor": "^0.1.0", 2050 | "define-property": "^0.2.5", 2051 | "kind-of": "^3.0.3" 2052 | }, 2053 | "dependencies": { 2054 | "define-property": { 2055 | "version": "0.2.5", 2056 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2057 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2058 | "dev": true, 2059 | "requires": { 2060 | "is-descriptor": "^0.1.0" 2061 | } 2062 | } 2063 | } 2064 | }, 2065 | "object-visit": { 2066 | "version": "1.0.1", 2067 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", 2068 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", 2069 | "dev": true, 2070 | "requires": { 2071 | "isobject": "^3.0.0" 2072 | }, 2073 | "dependencies": { 2074 | "isobject": { 2075 | "version": "3.0.1", 2076 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2077 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 2078 | "dev": true 2079 | } 2080 | } 2081 | }, 2082 | "object.omit": { 2083 | "version": "2.0.1", 2084 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", 2085 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", 2086 | "dev": true, 2087 | "requires": { 2088 | "for-own": "^0.1.4", 2089 | "is-extendable": "^0.1.1" 2090 | } 2091 | }, 2092 | "object.pick": { 2093 | "version": "1.3.0", 2094 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", 2095 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", 2096 | "dev": true, 2097 | "requires": { 2098 | "isobject": "^3.0.1" 2099 | }, 2100 | "dependencies": { 2101 | "isobject": { 2102 | "version": "3.0.1", 2103 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2104 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 2105 | "dev": true 2106 | } 2107 | } 2108 | }, 2109 | "on-finished": { 2110 | "version": "2.3.0", 2111 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 2112 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 2113 | "dev": true, 2114 | "requires": { 2115 | "ee-first": "1.1.1" 2116 | } 2117 | }, 2118 | "once": { 2119 | "version": "1.4.0", 2120 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2121 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2122 | "dev": true, 2123 | "requires": { 2124 | "wrappy": "1" 2125 | } 2126 | }, 2127 | "optimist": { 2128 | "version": "0.6.1", 2129 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 2130 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", 2131 | "dev": true, 2132 | "requires": { 2133 | "minimist": "~0.0.1", 2134 | "wordwrap": "~0.0.2" 2135 | } 2136 | }, 2137 | "options": { 2138 | "version": "0.0.6", 2139 | "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", 2140 | "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", 2141 | "dev": true 2142 | }, 2143 | "os-tmpdir": { 2144 | "version": "1.0.2", 2145 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2146 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2147 | "dev": true 2148 | }, 2149 | "parse-glob": { 2150 | "version": "3.0.4", 2151 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", 2152 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", 2153 | "dev": true, 2154 | "requires": { 2155 | "glob-base": "^0.3.0", 2156 | "is-dotfile": "^1.0.0", 2157 | "is-extglob": "^1.0.0", 2158 | "is-glob": "^2.0.0" 2159 | } 2160 | }, 2161 | "parsejson": { 2162 | "version": "0.0.3", 2163 | "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz", 2164 | "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=", 2165 | "dev": true, 2166 | "requires": { 2167 | "better-assert": "~1.0.0" 2168 | } 2169 | }, 2170 | "parseqs": { 2171 | "version": "0.0.5", 2172 | "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", 2173 | "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", 2174 | "dev": true, 2175 | "requires": { 2176 | "better-assert": "~1.0.0" 2177 | } 2178 | }, 2179 | "parseuri": { 2180 | "version": "0.0.5", 2181 | "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", 2182 | "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", 2183 | "dev": true, 2184 | "requires": { 2185 | "better-assert": "~1.0.0" 2186 | } 2187 | }, 2188 | "parseurl": { 2189 | "version": "1.3.3", 2190 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", 2191 | "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", 2192 | "dev": true 2193 | }, 2194 | "pascalcase": { 2195 | "version": "0.1.1", 2196 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", 2197 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", 2198 | "dev": true 2199 | }, 2200 | "path-is-absolute": { 2201 | "version": "1.0.1", 2202 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2203 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2204 | "dev": true 2205 | }, 2206 | "pend": { 2207 | "version": "1.2.0", 2208 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 2209 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 2210 | "dev": true 2211 | }, 2212 | "performance-now": { 2213 | "version": "2.1.0", 2214 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 2215 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", 2216 | "dev": true 2217 | }, 2218 | "phantomjs-prebuilt": { 2219 | "version": "2.1.16", 2220 | "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", 2221 | "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", 2222 | "dev": true, 2223 | "requires": { 2224 | "es6-promise": "^4.0.3", 2225 | "extract-zip": "^1.6.5", 2226 | "fs-extra": "^1.0.0", 2227 | "hasha": "^2.2.0", 2228 | "kew": "^0.7.0", 2229 | "progress": "^1.1.8", 2230 | "request": "^2.81.0", 2231 | "request-progress": "^2.0.1", 2232 | "which": "^1.2.10" 2233 | } 2234 | }, 2235 | "pinkie": { 2236 | "version": "2.0.4", 2237 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2238 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 2239 | "dev": true 2240 | }, 2241 | "pinkie-promise": { 2242 | "version": "2.0.1", 2243 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2244 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2245 | "dev": true, 2246 | "requires": { 2247 | "pinkie": "^2.0.0" 2248 | } 2249 | }, 2250 | "posix-character-classes": { 2251 | "version": "0.1.1", 2252 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", 2253 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", 2254 | "dev": true 2255 | }, 2256 | "preserve": { 2257 | "version": "0.2.0", 2258 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", 2259 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", 2260 | "dev": true 2261 | }, 2262 | "process-nextick-args": { 2263 | "version": "2.0.1", 2264 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 2265 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 2266 | "dev": true 2267 | }, 2268 | "progress": { 2269 | "version": "1.1.8", 2270 | "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", 2271 | "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", 2272 | "dev": true 2273 | }, 2274 | "pseudomap": { 2275 | "version": "1.0.2", 2276 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 2277 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 2278 | "dev": true 2279 | }, 2280 | "psl": { 2281 | "version": "1.8.0", 2282 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", 2283 | "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", 2284 | "dev": true 2285 | }, 2286 | "punycode": { 2287 | "version": "2.1.1", 2288 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2289 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 2290 | "dev": true 2291 | }, 2292 | "qjobs": { 2293 | "version": "1.2.0", 2294 | "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", 2295 | "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", 2296 | "dev": true 2297 | }, 2298 | "qs": { 2299 | "version": "6.7.0", 2300 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", 2301 | "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", 2302 | "dev": true 2303 | }, 2304 | "randomatic": { 2305 | "version": "3.1.1", 2306 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", 2307 | "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", 2308 | "dev": true, 2309 | "requires": { 2310 | "is-number": "^4.0.0", 2311 | "kind-of": "^6.0.0", 2312 | "math-random": "^1.0.1" 2313 | }, 2314 | "dependencies": { 2315 | "is-number": { 2316 | "version": "4.0.0", 2317 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", 2318 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", 2319 | "dev": true 2320 | }, 2321 | "kind-of": { 2322 | "version": "6.0.3", 2323 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 2324 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 2325 | "dev": true 2326 | } 2327 | } 2328 | }, 2329 | "range-parser": { 2330 | "version": "1.2.1", 2331 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", 2332 | "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", 2333 | "dev": true 2334 | }, 2335 | "raw-body": { 2336 | "version": "2.4.0", 2337 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", 2338 | "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", 2339 | "dev": true, 2340 | "requires": { 2341 | "bytes": "3.1.0", 2342 | "http-errors": "1.7.2", 2343 | "iconv-lite": "0.4.24", 2344 | "unpipe": "1.0.0" 2345 | } 2346 | }, 2347 | "readable-stream": { 2348 | "version": "2.3.7", 2349 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 2350 | "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 2351 | "dev": true, 2352 | "requires": { 2353 | "core-util-is": "~1.0.0", 2354 | "inherits": "~2.0.3", 2355 | "isarray": "~1.0.0", 2356 | "process-nextick-args": "~2.0.0", 2357 | "safe-buffer": "~5.1.1", 2358 | "string_decoder": "~1.1.1", 2359 | "util-deprecate": "~1.0.1" 2360 | }, 2361 | "dependencies": { 2362 | "safe-buffer": { 2363 | "version": "5.1.2", 2364 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2365 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 2366 | "dev": true 2367 | } 2368 | } 2369 | }, 2370 | "readdirp": { 2371 | "version": "2.2.1", 2372 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", 2373 | "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", 2374 | "dev": true, 2375 | "requires": { 2376 | "graceful-fs": "^4.1.11", 2377 | "micromatch": "^3.1.10", 2378 | "readable-stream": "^2.0.2" 2379 | }, 2380 | "dependencies": { 2381 | "arr-diff": { 2382 | "version": "4.0.0", 2383 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", 2384 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", 2385 | "dev": true 2386 | }, 2387 | "array-unique": { 2388 | "version": "0.3.2", 2389 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", 2390 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", 2391 | "dev": true 2392 | }, 2393 | "braces": { 2394 | "version": "2.3.2", 2395 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", 2396 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", 2397 | "dev": true, 2398 | "requires": { 2399 | "arr-flatten": "^1.1.0", 2400 | "array-unique": "^0.3.2", 2401 | "extend-shallow": "^2.0.1", 2402 | "fill-range": "^4.0.0", 2403 | "isobject": "^3.0.1", 2404 | "repeat-element": "^1.1.2", 2405 | "snapdragon": "^0.8.1", 2406 | "snapdragon-node": "^2.0.1", 2407 | "split-string": "^3.0.2", 2408 | "to-regex": "^3.0.1" 2409 | }, 2410 | "dependencies": { 2411 | "extend-shallow": { 2412 | "version": "2.0.1", 2413 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2414 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2415 | "dev": true, 2416 | "requires": { 2417 | "is-extendable": "^0.1.0" 2418 | } 2419 | } 2420 | } 2421 | }, 2422 | "expand-brackets": { 2423 | "version": "2.1.4", 2424 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", 2425 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", 2426 | "dev": true, 2427 | "requires": { 2428 | "debug": "^2.3.3", 2429 | "define-property": "^0.2.5", 2430 | "extend-shallow": "^2.0.1", 2431 | "posix-character-classes": "^0.1.0", 2432 | "regex-not": "^1.0.0", 2433 | "snapdragon": "^0.8.1", 2434 | "to-regex": "^3.0.1" 2435 | }, 2436 | "dependencies": { 2437 | "define-property": { 2438 | "version": "0.2.5", 2439 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2440 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2441 | "dev": true, 2442 | "requires": { 2443 | "is-descriptor": "^0.1.0" 2444 | } 2445 | }, 2446 | "extend-shallow": { 2447 | "version": "2.0.1", 2448 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2449 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2450 | "dev": true, 2451 | "requires": { 2452 | "is-extendable": "^0.1.0" 2453 | } 2454 | }, 2455 | "is-accessor-descriptor": { 2456 | "version": "0.1.6", 2457 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", 2458 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", 2459 | "dev": true, 2460 | "requires": { 2461 | "kind-of": "^3.0.2" 2462 | }, 2463 | "dependencies": { 2464 | "kind-of": { 2465 | "version": "3.2.2", 2466 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2467 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2468 | "dev": true, 2469 | "requires": { 2470 | "is-buffer": "^1.1.5" 2471 | } 2472 | } 2473 | } 2474 | }, 2475 | "is-data-descriptor": { 2476 | "version": "0.1.4", 2477 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", 2478 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", 2479 | "dev": true, 2480 | "requires": { 2481 | "kind-of": "^3.0.2" 2482 | }, 2483 | "dependencies": { 2484 | "kind-of": { 2485 | "version": "3.2.2", 2486 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2487 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2488 | "dev": true, 2489 | "requires": { 2490 | "is-buffer": "^1.1.5" 2491 | } 2492 | } 2493 | } 2494 | }, 2495 | "is-descriptor": { 2496 | "version": "0.1.6", 2497 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", 2498 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", 2499 | "dev": true, 2500 | "requires": { 2501 | "is-accessor-descriptor": "^0.1.6", 2502 | "is-data-descriptor": "^0.1.4", 2503 | "kind-of": "^5.0.0" 2504 | } 2505 | }, 2506 | "kind-of": { 2507 | "version": "5.1.0", 2508 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", 2509 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", 2510 | "dev": true 2511 | } 2512 | } 2513 | }, 2514 | "extglob": { 2515 | "version": "2.0.4", 2516 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 2517 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", 2518 | "dev": true, 2519 | "requires": { 2520 | "array-unique": "^0.3.2", 2521 | "define-property": "^1.0.0", 2522 | "expand-brackets": "^2.1.4", 2523 | "extend-shallow": "^2.0.1", 2524 | "fragment-cache": "^0.2.1", 2525 | "regex-not": "^1.0.0", 2526 | "snapdragon": "^0.8.1", 2527 | "to-regex": "^3.0.1" 2528 | }, 2529 | "dependencies": { 2530 | "define-property": { 2531 | "version": "1.0.0", 2532 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 2533 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 2534 | "dev": true, 2535 | "requires": { 2536 | "is-descriptor": "^1.0.0" 2537 | } 2538 | }, 2539 | "extend-shallow": { 2540 | "version": "2.0.1", 2541 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2542 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2543 | "dev": true, 2544 | "requires": { 2545 | "is-extendable": "^0.1.0" 2546 | } 2547 | } 2548 | } 2549 | }, 2550 | "fill-range": { 2551 | "version": "4.0.0", 2552 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", 2553 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", 2554 | "dev": true, 2555 | "requires": { 2556 | "extend-shallow": "^2.0.1", 2557 | "is-number": "^3.0.0", 2558 | "repeat-string": "^1.6.1", 2559 | "to-regex-range": "^2.1.0" 2560 | }, 2561 | "dependencies": { 2562 | "extend-shallow": { 2563 | "version": "2.0.1", 2564 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2565 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2566 | "dev": true, 2567 | "requires": { 2568 | "is-extendable": "^0.1.0" 2569 | } 2570 | } 2571 | } 2572 | }, 2573 | "is-accessor-descriptor": { 2574 | "version": "1.0.0", 2575 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 2576 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 2577 | "dev": true, 2578 | "requires": { 2579 | "kind-of": "^6.0.0" 2580 | } 2581 | }, 2582 | "is-data-descriptor": { 2583 | "version": "1.0.0", 2584 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 2585 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 2586 | "dev": true, 2587 | "requires": { 2588 | "kind-of": "^6.0.0" 2589 | } 2590 | }, 2591 | "is-descriptor": { 2592 | "version": "1.0.2", 2593 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 2594 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 2595 | "dev": true, 2596 | "requires": { 2597 | "is-accessor-descriptor": "^1.0.0", 2598 | "is-data-descriptor": "^1.0.0", 2599 | "kind-of": "^6.0.2" 2600 | } 2601 | }, 2602 | "is-number": { 2603 | "version": "3.0.0", 2604 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 2605 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 2606 | "dev": true, 2607 | "requires": { 2608 | "kind-of": "^3.0.2" 2609 | }, 2610 | "dependencies": { 2611 | "kind-of": { 2612 | "version": "3.2.2", 2613 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", 2614 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", 2615 | "dev": true, 2616 | "requires": { 2617 | "is-buffer": "^1.1.5" 2618 | } 2619 | } 2620 | } 2621 | }, 2622 | "isobject": { 2623 | "version": "3.0.1", 2624 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2625 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 2626 | "dev": true 2627 | }, 2628 | "kind-of": { 2629 | "version": "6.0.3", 2630 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 2631 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 2632 | "dev": true 2633 | }, 2634 | "micromatch": { 2635 | "version": "3.1.10", 2636 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", 2637 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", 2638 | "dev": true, 2639 | "requires": { 2640 | "arr-diff": "^4.0.0", 2641 | "array-unique": "^0.3.2", 2642 | "braces": "^2.3.1", 2643 | "define-property": "^2.0.2", 2644 | "extend-shallow": "^3.0.2", 2645 | "extglob": "^2.0.4", 2646 | "fragment-cache": "^0.2.1", 2647 | "kind-of": "^6.0.2", 2648 | "nanomatch": "^1.2.9", 2649 | "object.pick": "^1.3.0", 2650 | "regex-not": "^1.0.0", 2651 | "snapdragon": "^0.8.1", 2652 | "to-regex": "^3.0.2" 2653 | } 2654 | } 2655 | } 2656 | }, 2657 | "regex-cache": { 2658 | "version": "0.4.4", 2659 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", 2660 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", 2661 | "dev": true, 2662 | "requires": { 2663 | "is-equal-shallow": "^0.1.3" 2664 | } 2665 | }, 2666 | "regex-not": { 2667 | "version": "1.0.2", 2668 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", 2669 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", 2670 | "dev": true, 2671 | "requires": { 2672 | "extend-shallow": "^3.0.2", 2673 | "safe-regex": "^1.1.0" 2674 | } 2675 | }, 2676 | "remove-trailing-separator": { 2677 | "version": "1.1.0", 2678 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 2679 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 2680 | "dev": true 2681 | }, 2682 | "repeat-element": { 2683 | "version": "1.1.3", 2684 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", 2685 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", 2686 | "dev": true 2687 | }, 2688 | "repeat-string": { 2689 | "version": "1.6.1", 2690 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", 2691 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", 2692 | "dev": true 2693 | }, 2694 | "request": { 2695 | "version": "2.88.2", 2696 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", 2697 | "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", 2698 | "dev": true, 2699 | "requires": { 2700 | "aws-sign2": "~0.7.0", 2701 | "aws4": "^1.8.0", 2702 | "caseless": "~0.12.0", 2703 | "combined-stream": "~1.0.6", 2704 | "extend": "~3.0.2", 2705 | "forever-agent": "~0.6.1", 2706 | "form-data": "~2.3.2", 2707 | "har-validator": "~5.1.3", 2708 | "http-signature": "~1.2.0", 2709 | "is-typedarray": "~1.0.0", 2710 | "isstream": "~0.1.2", 2711 | "json-stringify-safe": "~5.0.1", 2712 | "mime-types": "~2.1.19", 2713 | "oauth-sign": "~0.9.0", 2714 | "performance-now": "^2.1.0", 2715 | "qs": "~6.5.2", 2716 | "safe-buffer": "^5.1.2", 2717 | "tough-cookie": "~2.5.0", 2718 | "tunnel-agent": "^0.6.0", 2719 | "uuid": "^3.3.2" 2720 | }, 2721 | "dependencies": { 2722 | "qs": { 2723 | "version": "6.5.2", 2724 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 2725 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", 2726 | "dev": true 2727 | } 2728 | } 2729 | }, 2730 | "request-progress": { 2731 | "version": "2.0.1", 2732 | "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", 2733 | "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", 2734 | "dev": true, 2735 | "requires": { 2736 | "throttleit": "^1.0.0" 2737 | } 2738 | }, 2739 | "requires-port": { 2740 | "version": "1.0.0", 2741 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 2742 | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", 2743 | "dev": true 2744 | }, 2745 | "resolve-url": { 2746 | "version": "0.2.1", 2747 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", 2748 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", 2749 | "dev": true 2750 | }, 2751 | "ret": { 2752 | "version": "0.1.15", 2753 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", 2754 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", 2755 | "dev": true 2756 | }, 2757 | "rimraf": { 2758 | "version": "2.7.1", 2759 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", 2760 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", 2761 | "dev": true, 2762 | "requires": { 2763 | "glob": "^7.1.3" 2764 | } 2765 | }, 2766 | "safe-buffer": { 2767 | "version": "5.2.1", 2768 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2769 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2770 | "dev": true 2771 | }, 2772 | "safe-regex": { 2773 | "version": "1.1.0", 2774 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", 2775 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", 2776 | "dev": true, 2777 | "requires": { 2778 | "ret": "~0.1.10" 2779 | } 2780 | }, 2781 | "safer-buffer": { 2782 | "version": "2.1.2", 2783 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2784 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2785 | "dev": true 2786 | }, 2787 | "semver": { 2788 | "version": "4.3.6", 2789 | "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", 2790 | "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", 2791 | "dev": true 2792 | }, 2793 | "set-value": { 2794 | "version": "2.0.1", 2795 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", 2796 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", 2797 | "dev": true, 2798 | "requires": { 2799 | "extend-shallow": "^2.0.1", 2800 | "is-extendable": "^0.1.1", 2801 | "is-plain-object": "^2.0.3", 2802 | "split-string": "^3.0.1" 2803 | }, 2804 | "dependencies": { 2805 | "extend-shallow": { 2806 | "version": "2.0.1", 2807 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2808 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2809 | "dev": true, 2810 | "requires": { 2811 | "is-extendable": "^0.1.0" 2812 | } 2813 | } 2814 | } 2815 | }, 2816 | "setprototypeof": { 2817 | "version": "1.1.1", 2818 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 2819 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", 2820 | "dev": true 2821 | }, 2822 | "sigmund": { 2823 | "version": "1.0.1", 2824 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", 2825 | "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", 2826 | "dev": true 2827 | }, 2828 | "snapdragon": { 2829 | "version": "0.8.2", 2830 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 2831 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", 2832 | "dev": true, 2833 | "requires": { 2834 | "base": "^0.11.1", 2835 | "debug": "^2.2.0", 2836 | "define-property": "^0.2.5", 2837 | "extend-shallow": "^2.0.1", 2838 | "map-cache": "^0.2.2", 2839 | "source-map": "^0.5.6", 2840 | "source-map-resolve": "^0.5.0", 2841 | "use": "^3.1.0" 2842 | }, 2843 | "dependencies": { 2844 | "define-property": { 2845 | "version": "0.2.5", 2846 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 2847 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 2848 | "dev": true, 2849 | "requires": { 2850 | "is-descriptor": "^0.1.0" 2851 | } 2852 | }, 2853 | "extend-shallow": { 2854 | "version": "2.0.1", 2855 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", 2856 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", 2857 | "dev": true, 2858 | "requires": { 2859 | "is-extendable": "^0.1.0" 2860 | } 2861 | } 2862 | } 2863 | }, 2864 | "snapdragon-node": { 2865 | "version": "2.1.1", 2866 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", 2867 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", 2868 | "dev": true, 2869 | "requires": { 2870 | "define-property": "^1.0.0", 2871 | "isobject": "^3.0.0", 2872 | "snapdragon-util": "^3.0.1" 2873 | }, 2874 | "dependencies": { 2875 | "define-property": { 2876 | "version": "1.0.0", 2877 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", 2878 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", 2879 | "dev": true, 2880 | "requires": { 2881 | "is-descriptor": "^1.0.0" 2882 | } 2883 | }, 2884 | "is-accessor-descriptor": { 2885 | "version": "1.0.0", 2886 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", 2887 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", 2888 | "dev": true, 2889 | "requires": { 2890 | "kind-of": "^6.0.0" 2891 | } 2892 | }, 2893 | "is-data-descriptor": { 2894 | "version": "1.0.0", 2895 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", 2896 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", 2897 | "dev": true, 2898 | "requires": { 2899 | "kind-of": "^6.0.0" 2900 | } 2901 | }, 2902 | "is-descriptor": { 2903 | "version": "1.0.2", 2904 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", 2905 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", 2906 | "dev": true, 2907 | "requires": { 2908 | "is-accessor-descriptor": "^1.0.0", 2909 | "is-data-descriptor": "^1.0.0", 2910 | "kind-of": "^6.0.2" 2911 | } 2912 | }, 2913 | "isobject": { 2914 | "version": "3.0.1", 2915 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 2916 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 2917 | "dev": true 2918 | }, 2919 | "kind-of": { 2920 | "version": "6.0.3", 2921 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", 2922 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", 2923 | "dev": true 2924 | } 2925 | } 2926 | }, 2927 | "snapdragon-util": { 2928 | "version": "3.0.1", 2929 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", 2930 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", 2931 | "dev": true, 2932 | "requires": { 2933 | "kind-of": "^3.2.0" 2934 | } 2935 | }, 2936 | "socket.io": { 2937 | "version": "1.7.3", 2938 | "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz", 2939 | "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=", 2940 | "dev": true, 2941 | "requires": { 2942 | "debug": "2.3.3", 2943 | "engine.io": "1.8.3", 2944 | "has-binary": "0.1.7", 2945 | "object-assign": "4.1.0", 2946 | "socket.io-adapter": "0.5.0", 2947 | "socket.io-client": "1.7.3", 2948 | "socket.io-parser": "2.3.1" 2949 | }, 2950 | "dependencies": { 2951 | "debug": { 2952 | "version": "2.3.3", 2953 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", 2954 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", 2955 | "dev": true, 2956 | "requires": { 2957 | "ms": "0.7.2" 2958 | } 2959 | }, 2960 | "ms": { 2961 | "version": "0.7.2", 2962 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", 2963 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", 2964 | "dev": true 2965 | } 2966 | } 2967 | }, 2968 | "socket.io-adapter": { 2969 | "version": "0.5.0", 2970 | "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz", 2971 | "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=", 2972 | "dev": true, 2973 | "requires": { 2974 | "debug": "2.3.3", 2975 | "socket.io-parser": "2.3.1" 2976 | }, 2977 | "dependencies": { 2978 | "debug": { 2979 | "version": "2.3.3", 2980 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", 2981 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", 2982 | "dev": true, 2983 | "requires": { 2984 | "ms": "0.7.2" 2985 | } 2986 | }, 2987 | "ms": { 2988 | "version": "0.7.2", 2989 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", 2990 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", 2991 | "dev": true 2992 | } 2993 | } 2994 | }, 2995 | "socket.io-client": { 2996 | "version": "1.7.3", 2997 | "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz", 2998 | "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=", 2999 | "dev": true, 3000 | "requires": { 3001 | "backo2": "1.0.2", 3002 | "component-bind": "1.0.0", 3003 | "component-emitter": "1.2.1", 3004 | "debug": "2.3.3", 3005 | "engine.io-client": "1.8.3", 3006 | "has-binary": "0.1.7", 3007 | "indexof": "0.0.1", 3008 | "object-component": "0.0.3", 3009 | "parseuri": "0.0.5", 3010 | "socket.io-parser": "2.3.1", 3011 | "to-array": "0.1.4" 3012 | }, 3013 | "dependencies": { 3014 | "component-emitter": { 3015 | "version": "1.2.1", 3016 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 3017 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", 3018 | "dev": true 3019 | }, 3020 | "debug": { 3021 | "version": "2.3.3", 3022 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz", 3023 | "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=", 3024 | "dev": true, 3025 | "requires": { 3026 | "ms": "0.7.2" 3027 | } 3028 | }, 3029 | "ms": { 3030 | "version": "0.7.2", 3031 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", 3032 | "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", 3033 | "dev": true 3034 | } 3035 | } 3036 | }, 3037 | "socket.io-parser": { 3038 | "version": "2.3.1", 3039 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz", 3040 | "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=", 3041 | "dev": true, 3042 | "requires": { 3043 | "component-emitter": "1.1.2", 3044 | "debug": "2.2.0", 3045 | "isarray": "0.0.1", 3046 | "json3": "3.3.2" 3047 | }, 3048 | "dependencies": { 3049 | "component-emitter": { 3050 | "version": "1.1.2", 3051 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", 3052 | "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", 3053 | "dev": true 3054 | }, 3055 | "debug": { 3056 | "version": "2.2.0", 3057 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", 3058 | "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", 3059 | "dev": true, 3060 | "requires": { 3061 | "ms": "0.7.1" 3062 | } 3063 | }, 3064 | "isarray": { 3065 | "version": "0.0.1", 3066 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", 3067 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", 3068 | "dev": true 3069 | }, 3070 | "ms": { 3071 | "version": "0.7.1", 3072 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", 3073 | "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", 3074 | "dev": true 3075 | } 3076 | } 3077 | }, 3078 | "source-map": { 3079 | "version": "0.5.7", 3080 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3081 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3082 | "dev": true 3083 | }, 3084 | "source-map-resolve": { 3085 | "version": "0.5.3", 3086 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", 3087 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", 3088 | "dev": true, 3089 | "requires": { 3090 | "atob": "^2.1.2", 3091 | "decode-uri-component": "^0.2.0", 3092 | "resolve-url": "^0.2.1", 3093 | "source-map-url": "^0.4.0", 3094 | "urix": "^0.1.0" 3095 | } 3096 | }, 3097 | "source-map-url": { 3098 | "version": "0.4.0", 3099 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", 3100 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", 3101 | "dev": true 3102 | }, 3103 | "split-string": { 3104 | "version": "3.1.0", 3105 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", 3106 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", 3107 | "dev": true, 3108 | "requires": { 3109 | "extend-shallow": "^3.0.0" 3110 | } 3111 | }, 3112 | "sshpk": { 3113 | "version": "1.16.1", 3114 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 3115 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 3116 | "dev": true, 3117 | "requires": { 3118 | "asn1": "~0.2.3", 3119 | "assert-plus": "^1.0.0", 3120 | "bcrypt-pbkdf": "^1.0.0", 3121 | "dashdash": "^1.12.0", 3122 | "ecc-jsbn": "~0.1.1", 3123 | "getpass": "^0.1.1", 3124 | "jsbn": "~0.1.0", 3125 | "safer-buffer": "^2.0.2", 3126 | "tweetnacl": "~0.14.0" 3127 | } 3128 | }, 3129 | "static-extend": { 3130 | "version": "0.1.2", 3131 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", 3132 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", 3133 | "dev": true, 3134 | "requires": { 3135 | "define-property": "^0.2.5", 3136 | "object-copy": "^0.1.0" 3137 | }, 3138 | "dependencies": { 3139 | "define-property": { 3140 | "version": "0.2.5", 3141 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", 3142 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", 3143 | "dev": true, 3144 | "requires": { 3145 | "is-descriptor": "^0.1.0" 3146 | } 3147 | } 3148 | } 3149 | }, 3150 | "statuses": { 3151 | "version": "1.5.0", 3152 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 3153 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", 3154 | "dev": true 3155 | }, 3156 | "string_decoder": { 3157 | "version": "1.1.1", 3158 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 3159 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 3160 | "dev": true, 3161 | "requires": { 3162 | "safe-buffer": "~5.1.0" 3163 | }, 3164 | "dependencies": { 3165 | "safe-buffer": { 3166 | "version": "5.1.2", 3167 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 3168 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 3169 | "dev": true 3170 | } 3171 | } 3172 | }, 3173 | "supports-color": { 3174 | "version": "1.2.0", 3175 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", 3176 | "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=", 3177 | "dev": true 3178 | }, 3179 | "throttleit": { 3180 | "version": "1.0.0", 3181 | "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", 3182 | "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", 3183 | "dev": true 3184 | }, 3185 | "tmp": { 3186 | "version": "0.0.31", 3187 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", 3188 | "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", 3189 | "dev": true, 3190 | "requires": { 3191 | "os-tmpdir": "~1.0.1" 3192 | } 3193 | }, 3194 | "to-array": { 3195 | "version": "0.1.4", 3196 | "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", 3197 | "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", 3198 | "dev": true 3199 | }, 3200 | "to-iso-string": { 3201 | "version": "0.0.2", 3202 | "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", 3203 | "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=", 3204 | "dev": true 3205 | }, 3206 | "to-object-path": { 3207 | "version": "0.3.0", 3208 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", 3209 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", 3210 | "dev": true, 3211 | "requires": { 3212 | "kind-of": "^3.0.2" 3213 | } 3214 | }, 3215 | "to-regex": { 3216 | "version": "3.0.2", 3217 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", 3218 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", 3219 | "dev": true, 3220 | "requires": { 3221 | "define-property": "^2.0.2", 3222 | "extend-shallow": "^3.0.2", 3223 | "regex-not": "^1.0.2", 3224 | "safe-regex": "^1.1.0" 3225 | } 3226 | }, 3227 | "to-regex-range": { 3228 | "version": "2.1.1", 3229 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", 3230 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", 3231 | "dev": true, 3232 | "requires": { 3233 | "is-number": "^3.0.0", 3234 | "repeat-string": "^1.6.1" 3235 | }, 3236 | "dependencies": { 3237 | "is-number": { 3238 | "version": "3.0.0", 3239 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 3240 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", 3241 | "dev": true, 3242 | "requires": { 3243 | "kind-of": "^3.0.2" 3244 | } 3245 | } 3246 | } 3247 | }, 3248 | "toidentifier": { 3249 | "version": "1.0.0", 3250 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 3251 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", 3252 | "dev": true 3253 | }, 3254 | "tough-cookie": { 3255 | "version": "2.5.0", 3256 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", 3257 | "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", 3258 | "dev": true, 3259 | "requires": { 3260 | "psl": "^1.1.28", 3261 | "punycode": "^2.1.1" 3262 | } 3263 | }, 3264 | "tunnel-agent": { 3265 | "version": "0.6.0", 3266 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 3267 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 3268 | "dev": true, 3269 | "requires": { 3270 | "safe-buffer": "^5.0.1" 3271 | } 3272 | }, 3273 | "tweetnacl": { 3274 | "version": "0.14.5", 3275 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 3276 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 3277 | "dev": true 3278 | }, 3279 | "type-detect": { 3280 | "version": "0.1.1", 3281 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", 3282 | "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", 3283 | "dev": true 3284 | }, 3285 | "type-is": { 3286 | "version": "1.6.18", 3287 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", 3288 | "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", 3289 | "dev": true, 3290 | "requires": { 3291 | "media-typer": "0.3.0", 3292 | "mime-types": "~2.1.24" 3293 | } 3294 | }, 3295 | "typedarray": { 3296 | "version": "0.0.6", 3297 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 3298 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 3299 | "dev": true 3300 | }, 3301 | "ultron": { 3302 | "version": "1.0.2", 3303 | "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", 3304 | "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=", 3305 | "dev": true 3306 | }, 3307 | "union-value": { 3308 | "version": "1.0.1", 3309 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", 3310 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", 3311 | "dev": true, 3312 | "requires": { 3313 | "arr-union": "^3.1.0", 3314 | "get-value": "^2.0.6", 3315 | "is-extendable": "^0.1.1", 3316 | "set-value": "^2.0.1" 3317 | } 3318 | }, 3319 | "unpipe": { 3320 | "version": "1.0.0", 3321 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 3322 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", 3323 | "dev": true 3324 | }, 3325 | "unset-value": { 3326 | "version": "1.0.0", 3327 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", 3328 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", 3329 | "dev": true, 3330 | "requires": { 3331 | "has-value": "^0.3.1", 3332 | "isobject": "^3.0.0" 3333 | }, 3334 | "dependencies": { 3335 | "has-value": { 3336 | "version": "0.3.1", 3337 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", 3338 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", 3339 | "dev": true, 3340 | "requires": { 3341 | "get-value": "^2.0.3", 3342 | "has-values": "^0.1.4", 3343 | "isobject": "^2.0.0" 3344 | }, 3345 | "dependencies": { 3346 | "isobject": { 3347 | "version": "2.1.0", 3348 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", 3349 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", 3350 | "dev": true, 3351 | "requires": { 3352 | "isarray": "1.0.0" 3353 | } 3354 | } 3355 | } 3356 | }, 3357 | "has-values": { 3358 | "version": "0.1.4", 3359 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", 3360 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", 3361 | "dev": true 3362 | }, 3363 | "isobject": { 3364 | "version": "3.0.1", 3365 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 3366 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", 3367 | "dev": true 3368 | } 3369 | } 3370 | }, 3371 | "uri-js": { 3372 | "version": "4.2.2", 3373 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 3374 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 3375 | "dev": true, 3376 | "requires": { 3377 | "punycode": "^2.1.0" 3378 | } 3379 | }, 3380 | "urix": { 3381 | "version": "0.1.0", 3382 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", 3383 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", 3384 | "dev": true 3385 | }, 3386 | "use": { 3387 | "version": "3.1.1", 3388 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", 3389 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", 3390 | "dev": true 3391 | }, 3392 | "useragent": { 3393 | "version": "2.3.0", 3394 | "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", 3395 | "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", 3396 | "dev": true, 3397 | "requires": { 3398 | "lru-cache": "4.1.x", 3399 | "tmp": "0.0.x" 3400 | } 3401 | }, 3402 | "util-deprecate": { 3403 | "version": "1.0.2", 3404 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3405 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 3406 | "dev": true 3407 | }, 3408 | "utils-merge": { 3409 | "version": "1.0.1", 3410 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 3411 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", 3412 | "dev": true 3413 | }, 3414 | "uuid": { 3415 | "version": "3.4.0", 3416 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 3417 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 3418 | "dev": true 3419 | }, 3420 | "verror": { 3421 | "version": "1.10.0", 3422 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 3423 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 3424 | "dev": true, 3425 | "requires": { 3426 | "assert-plus": "^1.0.0", 3427 | "core-util-is": "1.0.2", 3428 | "extsprintf": "^1.2.0" 3429 | } 3430 | }, 3431 | "void-elements": { 3432 | "version": "2.0.1", 3433 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", 3434 | "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", 3435 | "dev": true 3436 | }, 3437 | "which": { 3438 | "version": "1.3.1", 3439 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 3440 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 3441 | "dev": true, 3442 | "requires": { 3443 | "isexe": "^2.0.0" 3444 | } 3445 | }, 3446 | "wordwrap": { 3447 | "version": "0.0.3", 3448 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 3449 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", 3450 | "dev": true 3451 | }, 3452 | "wrappy": { 3453 | "version": "1.0.2", 3454 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3455 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3456 | "dev": true 3457 | }, 3458 | "ws": { 3459 | "version": "1.1.2", 3460 | "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz", 3461 | "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=", 3462 | "dev": true, 3463 | "requires": { 3464 | "options": ">=0.0.5", 3465 | "ultron": "1.0.x" 3466 | } 3467 | }, 3468 | "wtf-8": { 3469 | "version": "1.0.0", 3470 | "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz", 3471 | "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=", 3472 | "dev": true 3473 | }, 3474 | "xmlhttprequest-ssl": { 3475 | "version": "1.5.3", 3476 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz", 3477 | "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=", 3478 | "dev": true 3479 | }, 3480 | "yallist": { 3481 | "version": "2.1.2", 3482 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 3483 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 3484 | "dev": true 3485 | }, 3486 | "yauzl": { 3487 | "version": "2.10.0", 3488 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 3489 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 3490 | "dev": true, 3491 | "requires": { 3492 | "buffer-crc32": "~0.2.3", 3493 | "fd-slicer": "~1.1.0" 3494 | } 3495 | }, 3496 | "yeast": { 3497 | "version": "0.1.2", 3498 | "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", 3499 | "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", 3500 | "dev": true 3501 | }, 3502 | "zingchart": { 3503 | "version": "2.9.1", 3504 | "resolved": "https://registry.npmjs.org/zingchart/-/zingchart-2.9.1.tgz", 3505 | "integrity": "sha512-LYCiqkzdDn5OxPqShfvUNcTtXxVgZDVqEztGINBb0EA9a1b1TOrLbW/BdJPpeobBahXSxvHYLO6NV/Dbw309Vw==" 3506 | } 3507 | } 3508 | } 3509 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zingchart-angularjs", 3 | "version": "1.2.0", 4 | "description": "ZingChart AngularJS Component wrapper to allow native AngularJS syntax for javascript charts, chart events, chart methods and chart styling.", 5 | "author": "ZingSoft Inc.", 6 | "license": "MIT", 7 | "repository": "zingchart/zingchart-angularjs", 8 | "homepage": "https://www.zingchart.com/", 9 | "main": "index.js", 10 | "devDependencies": { 11 | "angular-mocks": "^1.3.14", 12 | "chai": "^2.1.0", 13 | "jquery": "^2.1.3", 14 | "karma": "^1.1.2", 15 | "karma-chai": "^0.1.0", 16 | "karma-chrome-launcher": "^0.1.7", 17 | "karma-jasmine": "^1.0.2", 18 | "karma-mocha": "^0.1.10", 19 | "karma-phantomjs-launcher": "^1.0.1", 20 | "mocha": "^2.1.0" 21 | }, 22 | "dependencies": { 23 | "angular": "^1.3.14", 24 | "zingchart": "^2.9.1" 25 | }, 26 | "scripts": { 27 | "preinstall": "npm i bower -g", 28 | "publish": "npm publish --access public", 29 | "publish:tag": "npm publish --tag beta --access public", 30 | "publish:test": "npm publish --dry-run", 31 | "test": "./node_modules/karma/bin/karma start --single-run --browsers PhantomJS" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/zingchart-angularjs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * File: zingchart-angularjs.js 3 | * Version: v1.1.0 4 | */ 5 | 6 | (function(){ 7 | 'use strict'; 8 | angular.module('zingchart-angularjs', [] ) 9 | .directive('zingchart', [function(){ 10 | var currentAutoId = 1; 11 | 12 | return { 13 | restrict : 'EA', 14 | scope : { 15 | id : '@', 16 | zcValues : '=', 17 | zcJson : '=', 18 | zcRender : '=', 19 | zcLicense : '=' 20 | }, 21 | controller : ['$scope', '$element', '$attrs', function($scope, $element, $attrs){ 22 | var id; 23 | // Get or generate id 24 | if(!$attrs.id){ 25 | id = 'zingchart-auto-' + currentAutoId; 26 | currentAutoId++; 27 | $attrs.id = id; 28 | // newly generated id has to be put back on the element too to meet 29 | // zingcharts requirements 30 | $element.attr('id', id); 31 | } 32 | else{ 33 | if($attrs.id.indexOf('{{') > -1){ 34 | id=$scope.id; 35 | $element.attr('id', id); 36 | } 37 | else{ 38 | id = $attrs.id; 39 | } 40 | } 41 | 42 | var initializing = { 43 | json : true, 44 | values : true, 45 | render : true 46 | }; 47 | $scope.$watchCollection('zcValues', function(){ 48 | if(initializing.values){ 49 | initializing.values = !initializing.values; 50 | return; 51 | } 52 | if($scope.zcValues){ 53 | if(isMultiArray($scope.zcValues)){ 54 | zingchart.exec(id, 'setseriesvalues', { 55 | values : $scope.zcValues 56 | }); 57 | } 58 | else{ 59 | zingchart.exec(id, 'setseriesvalues', { 60 | values : [$scope.zcValues] 61 | }); 62 | } 63 | } 64 | }); 65 | 66 | $scope.$watch('zcLicense', function(newValue, oldValue, scope) { 67 | if(initializing.license){ 68 | initializing.license = !initializing.license; 69 | return; 70 | } 71 | 72 | ZC.LICENSE = scope.zcLicense; 73 | scope.zcLicense = newValue; 74 | },true); 75 | 76 | $scope.$watch('zcJson', function(){ 77 | if(initializing.json){ 78 | initializing.json = !initializing.json; 79 | return; 80 | } 81 | if($attrs.zcJson){ 82 | var _json = $scope.zcJson; 83 | 84 | //Inject values 85 | if($scope.zcValues){ 86 | injectValues($scope.zcValues, _json); 87 | } 88 | //Inject type 89 | if(JSON.stringify(_json).indexOf('type') === -1){ 90 | _json.type = 'line'; 91 | } 92 | else{ 93 | _json.type = ($attrs.zcType) ? $attrs.zcType : _json.type 94 | } 95 | zingchart.exec(id, 'setdata', { 96 | data : _json 97 | }); 98 | } 99 | },true); 100 | 101 | $scope.$watch('zcRender', function(newValue, oldValue, scope) { 102 | if(initializing.render){ 103 | initializing.render = !initializing.render; 104 | return; 105 | } 106 | 107 | // Destroy the chart and re-render it with changed attributes 108 | zingchart.exec(scope.id, 'destroy'); 109 | scope.zcRender = newValue; 110 | scope.renderChart(); 111 | },true); 112 | 113 | $scope.renderChart = function (){ 114 | var id = $element.attr('id'); 115 | //Defaults 116 | var _json = { 117 | data : { 118 | type : 'line', 119 | series : [] 120 | }, 121 | width : 600, 122 | height: 400 123 | }; 124 | 125 | //Add render object. 126 | if($scope.zcRender){ 127 | mergeObject($scope.zcRender, _json); 128 | } 129 | 130 | //Add JSON object 131 | if($scope.zcJson){ 132 | mergeObject($scope.zcJson, _json.data); 133 | } 134 | 135 | //Add Values 136 | if($scope.zcValues){ 137 | injectValues($scope.zcValues, _json.data); 138 | } 139 | 140 | //Add other properties 141 | _json.data.type = ($attrs.zcType) ? $attrs.zcType : _json.data.type; 142 | _json.height = ($attrs.zcHeight) ? $attrs.zcHeight : _json.height; 143 | _json.width = ($attrs.zcWidth) ? $attrs.zcWidth : _json.width; 144 | _json.id = id; 145 | 146 | //Set the box-model of the container element if the height or width are defined as 100%. 147 | if(_json.width === "100%" && !$element.css('width')){ 148 | $element.css('width', '100%'); 149 | } 150 | if(_json.height === "100%" && !$element.css('height')){ 151 | $element.css('height', '100%'); 152 | } 153 | ZC.LICENSE = $scope.zcLicense; 154 | zingchart.render(_json); 155 | } 156 | 157 | $scope.$on('$destroy', function() { 158 | zingchart.exec($scope.id,'destroy'); 159 | }); 160 | }], 161 | link : function($scope){ 162 | $scope.renderChart(); 163 | } 164 | }; 165 | }]); 166 | 167 | /** 168 | * Injects values into each series, and handles multi series cases. 169 | * @param the values to inject into the config object 170 | * @param the configuration object itself. 171 | */ 172 | function injectValues(values, config) { 173 | if(typeof config.series === 'undefined'){ 174 | config.series = []; 175 | } 176 | //Single Series 177 | if(!isMultiArray(values)){ 178 | if(config.series[0]){ 179 | config.series[0].values = values; 180 | } 181 | else{ 182 | config.series.push({'values' : values}); 183 | } 184 | } 185 | //Multi Series 186 | else{ 187 | for(var i = 0; i < values.length; i++){ 188 | if(config.series[i]){ 189 | config.series[i].values = values[i]; 190 | } 191 | else{ 192 | config.series.push({'values' : values[i]}); 193 | } 194 | } 195 | } 196 | return config; 197 | } 198 | 199 | /** 200 | * Helper function to merge an object into another, overwriting properties. 201 | * A shallow, not a recursive merge 202 | * @param {object} fromObj - The object that has properties to be merged 203 | * @param {object} intoObj - The object being merged into (Result) 204 | */ 205 | function mergeObject(fromObj, intoObj){ 206 | for(var property in fromObj){ 207 | if (fromObj.hasOwnProperty(property)) { 208 | intoObj[property] = fromObj[property]; 209 | } 210 | } 211 | } 212 | 213 | /** 214 | * Determines whether an array is multidimensional or not. 215 | * @param {array} _array - The array to test 216 | * @returns {boolean} - true if the array is multidimensional, false otherwise 217 | */ 218 | function isMultiArray(_array){ 219 | return Array.isArray(_array[0]); 220 | } 221 | 222 | })(); 223 | -------------------------------------------------------------------------------- /test/defaults.js: -------------------------------------------------------------------------------- 1 | describe('ZingChart Directive', function(){ 2 | this.timeout(5000); 3 | beforeEach(module('zingchart-angularjs')); 4 | 5 | var _$scope; 6 | var _$compile; 7 | 8 | beforeEach(function(done){ 9 | inject(function ($compile, $rootScope) { 10 | _$scope = $rootScope.$new(); 11 | _$compile = $compile; 12 | var completed = 0; 13 | zingchart.complete=function(p){ 14 | completed++; 15 | if(completed == 8){ 16 | done(); 17 | } 18 | } 19 | $('
').appendTo('body'); 20 | 21 | //Cases 1+2 22 | 23 | $('').appendTo("#container"); 24 | 25 | //Case 3 26 | _$scope.myValues2 = [[3,2,3,3,9] , [1,2,3,4,5]]; 27 | $('').appendTo("#container"); 28 | 29 | //Case 4 30 | _$scope.myValues3 = [1,2,3,4,5]; 31 | $('').appendTo("#container"); 32 | 33 | //Case 5 34 | _$scope.myValues4 = [1,2,3,4,5]; 35 | _$scope.myJson4 = { 36 | "series":[ 37 | { 38 | "line-color":"#ff653f", 39 | "marker":{ 40 | "background-color":"#900000", 41 | "border-width":1, 42 | "shadow":0, 43 | "border-color":"#f56b6b" 44 | } 45 | } 46 | ] 47 | }; 48 | $('').appendTo("#container"); 49 | 50 | //Case 6 51 | _$scope.myValues5 = [5,5,6,7,10]; 52 | _$scope.myJson5 = { 53 | "series":[ 54 | { 55 | "line-color":"#007790", 56 | "marker":{ 57 | "background-color":"#007790", 58 | "border-width":1, 59 | "shadow":0, 60 | "border-color":"#69dbf1" 61 | }, 62 | "values": [0,0,0,2,3] 63 | }, 64 | { 65 | "line-color":"#007790", 66 | "marker":{ 67 | "background-color":"#007790", 68 | "border-width":1, 69 | "shadow":0, 70 | "border-color":"#69dbf1" 71 | }, 72 | "values" : [1,2,3,4,5] 73 | } 74 | ] 75 | }; 76 | $('').appendTo("#container"); 77 | 78 | //Case 7 79 | _$scope.myValues6 = [[10,20,30,44,99],[20,30,50,20,50]]; 80 | _$scope.myJson6 = { 81 | "series":[ 82 | { 83 | "line-color":"#33d911", 84 | "marker":{ 85 | "background-color":"#90e496", 86 | "border-width":1, 87 | "shadow":0, 88 | "border-color":"#6bf56e" 89 | }, 90 | "values": [0,0,0,2,3] 91 | }, 92 | { 93 | "line-color":"#90005b", 94 | "marker":{ 95 | "background-color":"#8b0090", 96 | "border-width":1, 97 | "shadow":0, 98 | "border-color":"#d6aee7" 99 | }, 100 | "values" : [1,2,3,4,5] 101 | } 102 | ] 103 | }; 104 | _$scope.myRender6 = { 105 | "output" : "canvas", 106 | "data" : { 107 | "series" : [{ 108 | "values" : [1,1,1] 109 | }] 110 | } 111 | }; 112 | $('').appendTo("#container"); 113 | 114 | //Case 8 115 | _$scope.myValues7 = [[3,2,3,3,9] , [1,2,3,4,5]]; 116 | $('').appendTo("#container"); 117 | 118 | //Case 9 119 | _$scope.myValues8 = [3,2,3,3,9]; 120 | _$scope.myJson8 = { 121 | "type": "bar" 122 | }; 123 | $('').appendTo("#container"); 124 | 125 | 126 | var $element = _$compile(document.getElementById('container'))(_$scope); 127 | 128 | }); 129 | }); 130 | //Case 1 131 | it("should create chart-1 : render an empty zingchart", function(){ 132 | var output = zingchart.exec('chart-1', 'getdata'); 133 | var expected = { 134 | "graphset": [{ 135 | "type":"line", 136 | "series":[] 137 | }] 138 | }; 139 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected)); 140 | 141 | }); 142 | 143 | //Case 2 144 | it("should render chart-1 with default width and height", function(){ 145 | var output = zingchart.exec('chart-1', 'getobjectinfo', { 146 | object : 'graph' 147 | }); 148 | expect(output.width).to.equal(600); 149 | expect(output.height).to.equal(400); 150 | }); 151 | 152 | //Case 3 153 | it("should render chart-2, a line chart with 2 series", function(){ 154 | var output = zingchart.exec('chart-2', 'getdata'); 155 | var expected = { 156 | "graphset": [{ 157 | "type":"line", 158 | "series":[ 159 | {"values" : [3,2,3,3,9]}, 160 | {"values" : [1,2,3,4,5]}, 161 | ] 162 | }] 163 | }; 164 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected)); 165 | }); 166 | 167 | //Case 4 168 | it("should render chart-3; a line chart with 1 series", function(){ 169 | var output = zingchart.exec('chart-3', 'getdata'); 170 | var expected = { 171 | "graphset": [{ 172 | "type":"line", 173 | "series":[ 174 | {"values" : [1,2,3,4,5]}, 175 | ] 176 | }] 177 | }; 178 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected)); 179 | }); 180 | 181 | //Case 5 182 | it("should render chart-4; a line chart with 1 series, and a data object", function(){ 183 | var output = zingchart.exec('chart-4', 'getdata'); 184 | var expected = { 185 | "graphset":[{ 186 | "type":"line", 187 | "series":[{ 188 | "line-color":"#ff653f", 189 | "marker":{ 190 | "background-color":"#900000", 191 | "border-width":1, 192 | "shadow":0, 193 | "border-color":"#f56b6b" 194 | }, 195 | "values":[1,2,3,4,5]} 196 | ]} 197 | ] 198 | }; 199 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected)); 200 | }); 201 | 202 | //Case 6 203 | it("should render chart-5; a line chart with 1 series, and a data object with 2 series", function(){ 204 | var output = zingchart.exec('chart-5', 'getdata'); 205 | var expected = { 206 | "graphset":[{ 207 | "type":"line", 208 | "series":[ 209 | { 210 | "line-color":"#007790", 211 | "marker":{ 212 | "background-color":"#007790", 213 | "border-width":1, 214 | "shadow":0, 215 | "border-color":"#69dbf1" 216 | }, 217 | "values":[5,5,6,7,10] 218 | }, 219 | { 220 | "line-color":"#007790", 221 | "marker":{ 222 | "background-color":"#007790", 223 | "border-width":1, 224 | "shadow":0, 225 | "border-color":"#69dbf1" 226 | }, 227 | "values":[1,2,3,4,5] 228 | } 229 | ]} 230 | ] 231 | }; 232 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected)); 233 | }); 234 | 235 | //Case 7 236 | it("should render chart-6; a line chart with 2 series, and a data object with 2 series, and a render object with 1 series in canvas", function(){ 237 | var output = zingchart.exec('chart-6', 'getdata'); 238 | var expected = { 239 | "graphset": [{ 240 | "series": [{ 241 | "line-color": "#33d911", 242 | "marker": { 243 | "background-color": "#90e496", 244 | "border-width": 1, 245 | "shadow": 0, 246 | "border-color": "#6bf56e" 247 | }, 248 | "values": [10, 20, 30, 44, 99] 249 | }, { 250 | "line-color": "#90005b", 251 | "marker": { 252 | "background-color": "#8b0090", 253 | "border-width": 1, 254 | "shadow": 0, 255 | "border-color": "#d6aee7" 256 | }, 257 | "values": [20, 30, 50, 20, 50] 258 | }] 259 | }] 260 | }; 261 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected)); 262 | }); 263 | 264 | //Case 8 265 | it("should render chart-7 a 1 series bar chart", function(){ 266 | var output = zingchart.exec('chart-7', 'getdata'); 267 | var expected = { 268 | "graphset": [{ 269 | "type": "bar", 270 | "series": [{ 271 | "values": [3, 2, 3, 3, 9] 272 | }, { 273 | "values": [1, 2, 3, 4, 5] 274 | }] 275 | }] 276 | }; 277 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected)); 278 | }); 279 | 280 | //Case 9 281 | it("should render chart-8; a line chart with a json that specifies bar, but is overwritten", function(){ 282 | var output = zingchart.exec('chart-8', 'getdata'); 283 | var expected = { 284 | "graphset":[{ 285 | "type":"line", 286 | "series":[{ 287 | "values":[3,2,3,3,9] 288 | }] 289 | }] 290 | }; 291 | expect(JSON.stringify(output)).to.equal(JSON.stringify(expected)); 292 | }); 293 | }); 294 | --------------------------------------------------------------------------------