From fb021803bdf6b6c658cb7f00a84b34bddec80655 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Wed, 18 Oct 2017 11:36:27 -0700 Subject: [PATCH 01/18] Prepare package for unit tests --- .gitattributes | 9 +++++++++ .scrutinizer.yml | 3 +++ .travis.yml | 17 +++++++++++------ CHANGELOG.md | 7 +++++++ README.md | 8 ++++++++ composer.json | 16 +++++++++++----- phpunit.xml | 49 ++++++++++++++++++++++++++++++++---------------- 7 files changed, 82 insertions(+), 27 deletions(-) create mode 100644 .gitattributes create mode 100644 .scrutinizer.yml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..60777e7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,9 @@ +* text=auto + +/.github export-ignore +/.gitattributes export-ignore +/.gitignore export-ignore +/.scrutinizer.yml export-ignore +/.travis.yml export-ignore +/phpunit.xml export-ignore +/tests export-ignore diff --git a/.scrutinizer.yml b/.scrutinizer.yml new file mode 100644 index 0000000..0402de6 --- /dev/null +++ b/.scrutinizer.yml @@ -0,0 +1,3 @@ +filter: + excluded_paths: + - "tests/" diff --git a/.travis.yml b/.travis.yml index 66e4d17..0654f0d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,12 +1,17 @@ language: php php: - - 5.5 - - 5.6 - - hhvm + - 7.0 + - 7.1 before_script: - - travis_retry composer self-update - - travis_retry composer install --prefer-source --no-interaction --dev + - travis_retry composer self-update + - travis_retry composer install --no-interaction --prefer-source --dev -script: phpunit +script: + - ./vendor/bin/phpunit --coverage-text --coverage-clover ./build/logs/clover.xml + +after_script: + - php vendor/bin/coveralls + - wget https://scrutinizer-ci.com/ocular.phar + - php ocular.phar code-coverage:upload --format=php-clover ./build/logs/clover.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f33312..50d6493 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,13 @@ This project adheres to [Semantic Versioning](http://semver.org/). (This is already detected in subscription update.) - Filter any incoming web-hook events that are in test mode. +## [0.7.1] - 18 Oct 2017 +### Updated +- user model listener to not fail if timestamps are turned off. + +### Added +- basic configuration in preparation for unit tests and code quality analysis. + ## [0.7.0] - 31 Aug 2017 ### Added - compatibility with Laravel 5.5. diff --git a/README.md b/README.md index e3d478c..083e687 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,12 @@ # MixPanel for Laravel 5 +[![Travis](https://img.shields.io/travis/GeneaLabs/laravel-mixpanel.svg)](https://travis-ci.org/GeneaLabs/laravel-mixpanel) +[![SensioLabs Insight](https://img.shields.io/sensiolabs/i/12e6aa84-a68b-4cd3-a8ca-10d12b11cca6.svg)](https://insight.sensiolabs.com/projects/12e6aa84-a68b-4cd3-a8ca-10d12b11cca6) +[![Scrutinizer](https://img.shields.io/scrutinizer/g/GeneaLabs/laravel-mixpanel.svg)](https://scrutinizer-ci.com/g/GeneaLabs/laravel-mixpanel) +[![Coveralls](https://img.shields.io/coveralls/GeneaLabs/laravel-mixpanel.svg)](https://coveralls.io/github/GeneaLabs/laravel-mixpanel) +[![GitHub (pre-)release](https://img.shields.io/github/release/GeneaLabs/laravel-mixpanel/all.svg)](https://github.com/GeneaLabs/laravel-mixpanel) +[![Packagist](https://img.shields.io/packagist/dt/GeneaLabs/laravel-mixpanel.svg)](https://packagist.org/packages/genealabs/laravel-mixpanel) +[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/GeneaLabs/laravel-mixpanel/master/LICENSE) + ## Features - Asynchronous data transmission to Mixpanel's services. This prevents any delays to your application if Mixpanel is down, or slow to respond. diff --git a/composer.json b/composer.json index 84ec352..dac6644 100644 --- a/composer.json +++ b/composer.json @@ -15,16 +15,22 @@ }, "require": { "php": ">=7.0.0", - "illuminate/config": "5.1.* || 5.3.* || 5.4.* || 5.5.*", - "illuminate/events": "5.1.* || 5.3.* || 5.4.* || 5.5.*", - "illuminate/routing": "5.1.* || 5.3.* || 5.4.* || 5.5.*", - "illuminate/support": "5.1.* || 5.3.* || 5.4.* || 5.5.*", + "illuminate/config": "5.5.*", + "illuminate/events": "5.5.*", + "illuminate/routing": "5.5.*", + "illuminate/support": "5.5.*", "nesbot/carbon": "^1.19", "mixpanel/mixpanel-php": "~2.0", "sinergi/browser-detector": "~5.0" }, "require-dev": { - "phpunit/phpunit": "4.*" + "fzaninotto/faker": "~1.4", + "laravel/laravel": "5.5.*", + "mockery/mockery": "0.9.*", + "phpmd/phpmd": "^2.6", + "phpunit/phpunit": "5.7.*", + "satooshi/php-coveralls" : "dev-master@dev", + "sebastian/phpcpd": "*" }, "autoload-dev": { "psr-4": { diff --git a/phpunit.xml b/phpunit.xml index b423a7e..730c6c8 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,19 +1,36 @@ - - - ./tests/ - - + backupStaticAttributes="false" + colors="true" + convertErrorsToExceptions="true" + convertNoticesToExceptions="true" + convertWarningsToExceptions="true" + processIsolation="false" + stopOnFailure="true" + syntaxCheck="false" + bootstrap="vendor/autoload.php" +> + + + ./tests/Feature + + + + ./tests/Unit + + + + + ./src + + + + + + + + + + + From 4de86479e6cc2f082c2dbe1fa27d5d5a362c044a Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Wed, 18 Oct 2017 11:47:51 -0700 Subject: [PATCH 02/18] WIP - improve code quality --- src/Http/Requests/RecordStripeEvent.php | 27 +++++++------------ src/Listeners/LaravelMixpanelEventHandler.php | 2 +- src/Providers/LaravelMixpanelService.php | 22 ++++----------- 3 files changed, 16 insertions(+), 35 deletions(-) diff --git a/src/Http/Requests/RecordStripeEvent.php b/src/Http/Requests/RecordStripeEvent.php index d1d5c92..ec24a30 100644 --- a/src/Http/Requests/RecordStripeEvent.php +++ b/src/Http/Requests/RecordStripeEvent.php @@ -1,6 +1,7 @@ 'None', 'Churned' => Carbon::parse($transaction['canceled_at'])->format('Y-m-d\Th:i:s'), 'Plan When Churned' => $planName, - 'Paid Lifetime' => Carbon::createFromTimestampUTC($planStart)->diffInDays(Carbon::timestamp($transaction['ended_at'])->timezone('UTC')) . ' days' + 'Paid Lifetime' => Carbon::createFromTimestampUTC($planStart) + ->diffInDays(Carbon::timestamp($transaction['ended_at']) + ->timezone('UTC')) . ' days' ]; $trackingData = [ ['Subscription', ['Status' => 'Canceled', 'Upgraded' => false]], @@ -125,7 +121,9 @@ private function recordSubscription($transaction, $user, array $originalValues = if ($planAmount < $oldPlanAmount) { $profileData = [ 'Subscription' => $planName, - 'Churned' => Carbon::timestamp($transaction['ended_at'])->timezone('UTC')->format('Y-m-d\Th:i:s'), + 'Churned' => Carbon::timestamp($transaction['ended_at']) + ->timezone('UTC') + ->format('Y-m-d\Th:i:s'), 'Plan When Churned' => $oldPlanName, ]; $trackingData = [ @@ -186,15 +184,10 @@ private function recordSubscription($transaction, $user, array $originalValues = } } - event(new MixpanelEvent($user, $trackingData, $charge, $profileData)); + event(new MixpanelEvent($user, $trackingData, 0, $profileData)); } - /** - * @param $transaction - * - * @return mixed - */ - private function findStripeCustomerId($transaction) + private function findStripeCustomerId(array $transaction) { if (array_key_exists('customer', $transaction)) { return $transaction['customer']; diff --git a/src/Listeners/LaravelMixpanelEventHandler.php b/src/Listeners/LaravelMixpanelEventHandler.php index 72cf0ad..c38252c 100644 --- a/src/Listeners/LaravelMixpanelEventHandler.php +++ b/src/Listeners/LaravelMixpanelEventHandler.php @@ -30,7 +30,7 @@ public function onUserLogin($login) public function onUserLogout($logout) { - $user = property_exists($logout, 'user') ? $logout->user : $logout; + $user = $logout->user ?? $logout; event(new MixpanelEvent($user, 'User Logged Out')); } diff --git a/src/Providers/LaravelMixpanelService.php b/src/Providers/LaravelMixpanelService.php index 5c25717..54f4956 100644 --- a/src/Providers/LaravelMixpanelService.php +++ b/src/Providers/LaravelMixpanelService.php @@ -2,24 +2,12 @@ use Illuminate\Contracts\Events\Dispatcher as DispatcherContract; -if (starts_with(app()->version(), '5.1.')) { - class LaravelMixpanelService extends MixpanelBaseService +class LaravelMixpanelService extends MixpanelBaseService +{ + public function boot() { - public function boot(DispatcherContract $events) - { - parent::boot($events); + parent::boot(); - $this->initialize(); - } - } -} else { - class LaravelMixpanelService extends MixpanelBaseService - { - public function boot() - { - parent::boot(); - - $this->initialize(); - } + $this->initialize(); } } From 5ad57d972be661457ae11ec9f3d6dd15bc7ae6e8 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Wed, 18 Oct 2017 12:44:19 -0700 Subject: [PATCH 03/18] Move from elixir to mix --- gulpfile.js | 20 - mix-manifest.json | 3 + package-lock.json | 91 + package.json | 13 +- .../genealabs-laravel-mixpanel/js/mixpanel.js | 4 +- public/mix-manifest.json | 3 + webpack.mix.js | 16 + yarn.lock | 5953 ++++++++--------- 8 files changed, 3088 insertions(+), 3015 deletions(-) delete mode 100644 gulpfile.js create mode 100644 mix-manifest.json create mode 100644 package-lock.json create mode 100644 public/mix-manifest.json create mode 100644 webpack.mix.js diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 55a4874..0000000 --- a/gulpfile.js +++ /dev/null @@ -1,20 +0,0 @@ -var elixir = require('laravel-elixir'); - -elixir.config.sourcemaps = false; - -/* - |-------------------------------------------------------------------------- - | Elixir Asset Management - |-------------------------------------------------------------------------- - | - | Elixir provides a clean, fluent API for defining some basic Gulp tasks - | for your Laravel application. By default, we are compiling the Sass - | file for our application, as well as publishing vendor resources. - | - */ - -elixir(function(mix) { - // TODO: also build a minified version without a map file - - mix.browserify('mixpanel.js', 'public/genealabs-laravel-mixpanel/js'); -}); diff --git a/mix-manifest.json b/mix-manifest.json new file mode 100644 index 0000000..a3828a1 --- /dev/null +++ b/mix-manifest.json @@ -0,0 +1,3 @@ +{ + "/public/genealabs-laravel-mixpanel/js/mixpanel.js": "/public/genealabs-laravel-mixpanel/js/mixpanel.js" +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..395441d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,91 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "cross-env": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.0.tgz", + "integrity": "sha512-R+0paw9UZQc7odHjIxElqyYotgyMlhcUMTfRxiv4I22grgvS5WOSSfCpyfAZUDhP/c9ShSRv+Hzfxs6fY4JA7g==", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "is-windows": "1.0.1" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" + } + }, + "is-windows": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", + "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "lru-cache": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "mixpanel-browser": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/mixpanel-browser/-/mixpanel-browser-2.13.0.tgz", + "integrity": "sha1-61JsjTT4FnWV36oPOJT8ZZU0Gu8=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } +} diff --git a/package.json b/package.json index 9d24c4e..20a3cfc 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,17 @@ { "private": true, + "scripts": { + "dev": "npm run development", + "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch-poll": "npm run watch -- --watch-poll", + "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", + "prod": "npm run production", + "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + }, "devDependencies": { - "gulp": ">=3.8.8", - "laravel-elixir": "^4.0.0", + "cross-env": "^5.0.1", + "laravel-mix": ">=1.5", "mixpanel-browser": "*" } } diff --git a/public/genealabs-laravel-mixpanel/js/mixpanel.js b/public/genealabs-laravel-mixpanel/js/mixpanel.js index 3fe7177..f842536 100644 --- a/public/genealabs-laravel-mixpanel/js/mixpanel.js +++ b/public/genealabs-laravel-mixpanel/js/mixpanel.js @@ -1,3 +1 @@ -!function e(t,i,o){function r(s,a){if(!i[s]){if(!t[s]){var c="function"==typeof require&&require;if(!a&&c)return c(s,!0);if(n)return n(s,!0);var p=new Error("Cannot find module '"+s+"'");throw p.code="MODULE_NOT_FOUND",p}var l=i[s]={exports:{}};t[s][0].call(l.exports,function(e){var i=t[s][1][e];return r(i?i:e)},l,l.exports,e,t,i,o)}return i[s].exports}for(var n="function"==typeof require&&require,s=0;s/g,">").replace(/"/g,""").replace(/'/g,"'")),t},w.extend=function(e){return w.each(p.call(arguments,1),function(t){for(var i in t)void 0!==t[i]&&(e[i]=t[i])}),e},w.isArray=y||function(e){return"[object Array]"===l.call(e)},w.isFunction=function(e){try{return/^\s*\bfunction\b/.test(e)}catch(t){return!1}},w.isArguments=function(e){return!(!e||!d.call(e,"callee"))},w.toArray=function(e){return e?e.toArray?e.toArray():w.isArray(e)?p.call(e):w.isArguments(e)?p.call(e):w.values(e):[]},w.values=function(e){var t=[];return null===e?t:(w.each(e,function(e){t[t.length]=e}),t)},w.identity=function(e){return e},w.include=function(e,t){var i=!1;return null===e?i:v&&e.indexOf===v?e.indexOf(t)!=-1:(w.each(e,function(e){if(i||(i=e===t))return b}),i)},w.includes=function(e,t){return e.indexOf(t)!==-1},w.inherit=function(e,t){return e.prototype=new t,e.prototype.constructor=e,e.superclass=t.prototype,e},w.isObject=function(e){return e===Object(e)&&!w.isArray(e)},w.isEmptyObject=function(e){if(w.isObject(e)){for(var t in e)if(d.call(e,t))return!1;return!0}return!1},w.isUndefined=function(e){return void 0===e},w.isString=function(e){return"[object String]"==l.call(e)},w.isDate=function(e){return"[object Date]"==l.call(e)},w.isNumber=function(e){return"[object Number]"==l.call(e)},w.isElement=function(e){return!(!e||1!==e.nodeType)},w.encodeDates=function(e){return w.each(e,function(t,i){w.isDate(t)?e[i]=w.formatDate(t):w.isObject(t)&&(e[i]=w.encodeDates(t))}),e},w.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},w.formatDate=function(e){function t(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+t(e.getUTCMonth()+1)+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())},w.safewrap=function(e){return function(){try{return e.apply(this,arguments)}catch(t){x.critical("Implementation error. Please contact support@mixpanel.com.")}}},w.safewrap_class=function(e,t){for(var i=0;i0&&(t[i]=e)}),t},w.truncate=function(e,t){var i;return"string"==typeof e?i=e.slice(0,t):w.isArray(e)?(i=[],w.each(e,function(e){i.push(w.truncate(e,t))})):w.isObject(e)?(i={},w.each(e,function(e,o){i[o]=w.truncate(e,t)})):i=e,i},w.JSONEncode=function(){return function(e){var t=e,i=function(e){var t=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=i[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},o=function(e,t){var r="",n=" ",s=0,a="",c="",p=0,_=r,u=[],h=t[e];switch(h&&"object"==typeof h&&"function"==typeof h.toJSON&&(h=h.toJSON(e)),typeof h){case"string":return i(h);case"number":return isFinite(h)?String(h):"null";case"boolean":case"null":return String(h);case"object":if(!h)return"null";if(r+=n,u=[],"[object Array]"===l.apply(h)){for(p=h.length,s=0;s="0"&&t<="9";)i+=t,s();if("."===t)for(i+=".";s()&&t>="0"&&t<="9";)i+=t;if("e"===t||"E"===t)for(i+=t,s(),"-"!==t&&"+"!==t||(i+=t,s());t>="0"&&t<="9";)i+=t,s();return e=+i,isFinite(e)?e:void n("Bad number")},c=function(){var e,i,o,a="";if('"'===t)for(;s();){if('"'===t)return s(),a;if("\\"===t)if(s(),"u"===t){for(o=0,i=0;i<4&&(e=parseInt(s(),16),isFinite(e));i+=1)o=16*o+e;a+=String.fromCharCode(o)}else{if("string"!=typeof r[t])break;a+=r[t]}else a+=t}n("Bad string")},p=function(){for(;t&&t<=" ";)s()},l=function(){switch(t){case"t":return s("t"),s("r"),s("u"),s("e"),!0;case"f":return s("f"),s("a"),s("l"),s("s"),s("e"),!1;case"n":return s("n"),s("u"),s("l"),s("l"),null}n('Unexpected "'+t+'"')},d=function(){var e=[];if("["===t){if(s("["),p(),"]"===t)return s("]"),e;for(;t;){if(e.push(o()),p(),"]"===t)return s("]"),e;s(","),p()}}n("Bad array")},_=function(){var e,i={};if("{"===t){if(s("{"),p(),"}"===t)return s("}"),i;for(;t;){if(e=c(),p(),s(":"),Object.hasOwnProperty.call(i,e)&&n('Duplicate key "'+e+'"'),i[e]=o(),p(),"}"===t)return s("}"),i;s(","),p()}}n("Bad object")};return o=function(){switch(p(),t){case"{":return _();case"[":return d();case'"':return c();case"-":return a();default:return t>="0"&&t<="9"?a():l()}},function(r){var s;return i=r,e=0,t=" ",s=o(),p(),t&&n("Syntax error"),s}}(),w.base64Encode=function(e){var t,i,o,r,n,s,a,c,p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=0,d=0,_="",u=[];if(!e)return e;e=w.utf8Encode(e);do t=e.charCodeAt(l++),i=e.charCodeAt(l++),o=e.charCodeAt(l++),c=t<<16|i<<8|o,r=c>>18&63,n=c>>12&63,s=c>>6&63,a=63&c,u[d++]=p.charAt(r)+p.charAt(n)+p.charAt(s)+p.charAt(a);while(l127&&s<2048?String.fromCharCode(s>>6|192,63&s|128):String.fromCharCode(s>>12|224,s>>6&63|128,63&s|128),null!==a&&(i>t&&(r+=e.substring(t,i)),r+=a,t=i=o+1)}return i>t&&(r+=e.substring(t,e.length)),r},w.UUID=function(){var e=function(){for(var e=1*new Date,t=0;e==1*new Date;)t++;return e.toString(16)+t.toString(16)},t=function(){return Math.random().toString(16).replace(".","")},i=function(){function e(e,t){var i,o=0;for(i=0;i=4&&(n=e(n,r),r=[]);return r.length>0&&(n=e(n,r)),n.toString(16)};return function(){var o=(screen.height*screen.width).toString(16);return e()+"-"+t()+"-"+i()+"-"+o+"-"+e()}}(),w.isBlockedUA=function(e){return!!/(google web preview|baiduspider|yandexbot|bingbot|googlebot|yahoo! slurp)/i.test(e)},w.HTTPBuildQuery=function(e,t){var i,o,r=[];return w.isUndefined(t)&&(t="&"),w.each(e,function(e,t){i=encodeURIComponent(e.toString()),o=encodeURIComponent(t),r[r.length]=o+"="+i}),r.join(t)},w.getQueryParam=function(e,t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i="[\\?&]"+t+"=([^&#]*)",o=new RegExp(i),r=o.exec(e);return null===r||r&&"string"!=typeof r[1]&&r[1].length?"":decodeURIComponent(r[1]).replace(/\+/g," ")},w.getHashParam=function(e,t){var i=e.match(new RegExp(t+"=([^&]*)"));return i?i[1]:null},w.cookie={get:function(e){for(var t=e+"=",i=h.cookie.split(";"),o=0;o=0}function i(i){if(!h.getElementsByTagName)return[];var o,r,n,s,a,c,p,l,d,_,u=i.split(" "),f=[h];for(c=0;c-1){r=o.split("#"),n=r[0];var g=r[1],m=h.getElementById(g);if(!m||n&&m.nodeName.toLowerCase()!=n)return[];f=[m]}else if(o.indexOf(".")>-1){r=o.split("."),n=r[0];var v=r[1];for(n||(n="*"),s=[],a=0,p=0;p-1};break;default:I=function(e){return e.getAttribute(b)}}for(f=[],_=0,p=0;p=3?t[2]:""},properties:function(){return w.extend(w.strip_empty_properties({$os:w.info.os(),$browser:w.info.browser(f,u.vendor,window.opera),$referrer:h.referrer,$referring_domain:w.info.referringDomain(h.referrer),$device:w.info.device(f)}),{$current_url:window.location.href,$browser_version:w.info.browserVersion(f,u.vendor,window.opera),$screen_height:screen.height,$screen_width:screen.width,mp_lib:"web",$lib_version:n.LIB_VERSION})},people_properties:function(){return w.extend(w.strip_empty_properties({$os:w.info.os(),$browser:w.info.browser(f,u.vendor,window.opera)}),{$browser_version:w.info.browserVersion(f,u.vendor,window.opera)})},pageviewInfo:function(e){return w.strip_empty_properties({mp_page:e,mp_referrer:h.referrer,mp_browser:w.info.browser(f,u.vendor,window.opera),mp_platform:w.info.os()})}},w.toArray=w.toArray,w.isObject=w.isObject,w.JSONEncode=w.JSONEncode,w.JSONDecode=w.JSONDecode,w.isBlockedUA=w.isBlockedUA,w.isEmptyObject=w.isEmptyObject,w.info=w.info,w.info.device=w.info.device,w.info.browser=w.info.browser,w.info.properties=w.info.properties;var k=1,I=3,T={_initializedTokens:[],_previousElementSibling:function(e){if(e.previousElementSibling)return e.previousElementSibling;do e=e.previousSibling;while(e&&e.nodeType!==k);return e},_loadScript:function(e,t){var i=document.createElement("script");i.type="text/javascript",i.src=e,i.onload=t;var o=document.getElementsByTagName("script");o.length>0?o[0].parentNode.insertBefore(i,o[0]):document.body.appendChild(i)},_getClassName:function(e){switch(typeof e.className){case"string":return e.className;case"object":return e.className.baseVal||e.getAttribute("class")||"";default:return""}},_getPropertiesFromElement:function(e){var t={classes:this._getClassName(e).split(" "),tag_name:e.tagName.toLowerCase()};if(w.includes(["input","select","textarea"],e.tagName.toLowerCase())){var i=this._getFormFieldValue(e);this._includeProperty(e,i)&&(t.value=i)}w.each(e.attributes,function(e){t["attr__"+e.name]=e.value});for(var o=1,r=1,n=e;n=this._previousElementSibling(n);)o++,n.tagName===e.tagName&&r++;return t.nth_child=o,t.nth_of_type=r,t},_isTag:function(e,t){return e&&e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()},_shouldTrackDomEvent:function(e,t){if(!e||this._isTag(e,"html")||e.nodeType!==k)return!1;var i=e.tagName.toLowerCase();switch(i){case"html":return!1;case"form":return"submit"===t.type;case"input":return["button","submit"].indexOf(e.getAttribute("type"))===-1?"change"===t.type:"click"===t.type;case"select":case"textarea":return"change"===t.type;default:return"click"===t.type}},_getDefaultProperties:function(e){return{$event_type:e,$ce_version:1,$host:window.location.host,$pathname:window.location.pathname}},_getInputValue:function(e){var t=null,i=e.type.toLowerCase();switch(i){case"checkbox":e.checked&&(t=[e.value]);break;case"radio":e.checked&&(t=e.value);break;default:t=e.value}return t},_getSelectValue:function(e){var t;if(e.multiple){var i=[];w.each(e.querySelectorAll("[selected]"),function(e){i.push(e.value)}),t=i}else t=e.value;return t},_includeProperty:function(e,t){for(var i=e;i.parentNode&&!this._isTag(i,"body");i=i.parentNode){var o=this._getClassName(i).split(" ");if(w.includes(o,"mp-sensitive")||w.includes(o,"mp-no-track"))return!1}if(w.includes(this._getClassName(e).split(" "),"mp-include"))return!0;if(null===t)return!1;var r=e.type||"";switch(r.toLowerCase()){case"hidden":return!1;case"password":return!1}var n=e.name||e.id||"",s=/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|seccode|securitycode|securitynum|socialsec|socsec|ssn/i;if(s.test(n.replace(/[^a-zA-Z0-9]/g,"")))return!1;if("string"==typeof t){var a=/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/;if(a.test((t||"").replace(/[\- ]/g,"")))return!1;var c=/(^\d{3}-?\d{2}-?\d{4}$)/;if(c.test(t))return!1}return!0},_getFormFieldValue:function(e){var t;switch(e.tagName.toLowerCase()){case"input":t=this._getInputValue(e);break;case"select":t=this._getSelectValue(e);break;default:t=e.value||e.textContent}return this._includeProperty(e,t)?t:null},_getFormFieldProperties:function(e){var t={};return w.each(e.elements,function(e){var i=e.getAttribute("name")||e.getAttribute("id");if(null!==i){i="$form_field__"+i;var o=this._getFormFieldValue(e);if(this._includeProperty(e,o)){var r=t[i];void 0!==r?t[i]=[].concat(r,o):t[i]=o}}},this),t},_extractCustomPropertyValue:function(e){var t=[];return w.each(document.querySelectorAll(e.css_selector),function(e){["input","select"].indexOf(e.tagName.toLowerCase())>-1?t.push(e.value):e.textContent&&t.push(e.textContent)}),t.join(", ")},_getCustomProperties:function(e){var t={};return w.each(this._customProperties,function(i){w.each(i.event_selectors,function(o){var r=document.querySelectorAll(o);w.each(r,function(o){w.includes(e,o)&&(t[i.name]=this._extractCustomPropertyValue(i))},this)},this)},this),t},_getEventTarget:function(e){return"undefined"==typeof e.target?e.srcElement:e.target},_trackEvent:function(e,t){var i=this._getEventTarget(e);if(i.nodeType===I&&(i=i.parentNode),this._shouldTrackDomEvent(i,e)){for(var o=[i],r=i;r.parentNode&&!this._isTag(r,"body");)o.push(r.parentNode),r=r.parentNode;var n,s,a,c=[],p=!1;if(w.each(o,function(e,t){if("a"===e.tagName.toLowerCase()?n=e.getAttribute("href"):"form"===e.tagName.toLowerCase()&&(a=e),!s&&t<5&&e.textContent){var i=w.trim(e.textContent);i&&(s=i.replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))}var o=this._getClassName(e).split(" ");w.includes(o,"mp-no-track")&&(p=!0),c.push(this._getPropertiesFromElement(e))},this),p)return!1;var l=w.extend(this._getDefaultProperties(e.type),{$elements:c,$el_attr__href:n,$el_text:s},this._getCustomProperties(o));return!a||"submit"!==e.type&&"click"!==e.type||w.extend(l,this._getFormFieldProperties(a)),t.track("$web_event",l),!0}},_navigate:function(e){window.location.href=e},_addDomEventHandlers:function(e){var t=w.bind(function(t){t=t||window.event,this._trackEvent(t,e)},this);w.register_event(document,"submit",t,!1,!0),w.register_event(document,"change",t,!1,!0),w.register_event(document,"click",t,!1,!0)},_customProperties:{},init:function(e){if(!document||!document.body){console.log("document not ready yet, trying again in 500 milliseconds...");var t=this;return void setTimeout(function(){t.init(e)},500)}var i=e.get_config("token");if(this._initializedTokens.indexOf(i)>-1)return void console.log('autotrack already initialized for token "'+i+'"');if(this._initializedTokens.push(i),!this._maybeLoadEditor(e)){var o=w.bind(function(t){t&&t.config&&t.config.enable_collect_everything===!0?(t.custom_properties&&(this._customProperties=t.custom_properties),e.track("$web_event",w.extend({$title:document.title},this._getDefaultProperties("pageview"))),this._addDomEventHandlers(e)):e.__autotrack_enabled=!1},this);e._send_request(e.get_config("decide_host")+"/decide/",{verbose:!0,version:"1",lib:"web",token:i},e._prepare_callback(o))}},_editorParamsFromHash:function(e,t){var i;try{var o=w.getHashParam(t,"state");o=JSON.parse(decodeURIComponent(o));var r=w.getHashParam(t,"expires_in");i={accessToken:w.getHashParam(t,"access_token"),accessTokenExpiresAt:(new Date).getTime()+1e3*Number(r),bookmarkletMode:!!o.bookmarkletMode,projectId:o.projectId,projectOwnerId:o.projectOwnerId,projectToken:o.token,readOnly:o.readOnly,userFlags:o.userFlags,userId:o.userId},window.sessionStorage.setItem("editorParams",JSON.stringify(i)),o.desiredHash?window.location.hash=o.desiredHash:window.history?history.replaceState("",document.title,window.location.pathname+window.location.search):window.location.hash=""}catch(n){console.error("Unable to parse data from hash",n)}return i},_maybeLoadEditor:function(e){try{var t=!1;if(w.getHashParam(window.location.hash,"state")){var i=w.getHashParam(window.location.hash,"state");i=JSON.parse(decodeURIComponent(i)),t="mpeditor"===i.action}var o,r=!!window.sessionStorage.getItem("_mpcehash");return t?o=this._editorParamsFromHash(e,window.location.hash):r?(o=this._editorParamsFromHash(e,window.sessionStorage.getItem("_mpcehash")),window.sessionStorage.removeItem("_mpcehash")):o=JSON.parse(window.sessionStorage.getItem("editorParams")||"{}"),!(!o.projectToken||e.get_config("token")!==o.projectToken)&&(this._loadEditor(e,o),!0)}catch(n){return!1}},_loadEditor:function(e,t){if(!window._mpEditorLoaded){window._mpEditorLoaded=!0;var i,o="?_ts="+(new Date).getTime(),r=e.get_config("app_host")+"/site_media";return i=n.DEBUG?r+"/compiled/reports/collect-everything/editor.js"+o:r+"/bundle-webpack/reports/collect-everything/editor.min.js"+o,this._loadScript(i,function(){window.mp_load_editor(t)}),!0}return!1},enabledForProject:function(e,t,i){t=w.isUndefined(t)?10:t,i=w.isUndefined(i)?10:i;for(var o=0,r=0;rt&&delete e[i];w.isEmptyObject(e)&&delete this.props[L]}}),ee.prototype.update_campaign_params=function(){this.campaign_params_saved||(this.register_once(w.info.campaignParams()),this.campaign_params_saved=!0)},ee.prototype.update_search_keyword=function(e){this.register(w.info.searchInfo(e))},ee.prototype.update_referrer_info=function(e){this.register_once({$initial_referrer:e||"$direct",$initial_referring_domain:w.info.referringDomain(e)||"$direct"},"")},ee.prototype.get_referrer_info=function(){return w.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},ee.prototype.safe_merge=function(e){return w.each(this.props,function(t,i){i in e||(e[i]=t)}),e},ee.prototype.update_config=function(e){this.default_expiry=this.expire_days=e.cookie_expiration,this.set_disabled(e.disable_persistence),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie)},ee.prototype.set_disabled=function(e){this.disabled=e,this.disabled&&this.remove()},ee.prototype.set_cross_subdomain=function(e){e!==this.cross_subdomain&&(this.cross_subdomain=e,this.remove(),this.save())},ee.prototype.get_cross_subdomain=function(){return this.cross_subdomain},ee.prototype.set_secure=function(e){e!==this.secure&&(this.secure=!!e,this.remove(),this.save())},ee.prototype._add_to_people_queue=function(e,t){var i=this._get_queue_key(e),o=t[e],r=this._get_or_create_queue(D),n=this._get_or_create_queue(C),s=this._get_or_create_queue(H),a=this._get_or_create_queue($),c=this._get_or_create_queue(q,[]);i===P?(w.extend(r,o),this._pop_from_people_queue(H,o),this._pop_from_people_queue($,o)):i===A?w.each(o,function(e,t){t in n||(n[t]=e)}):i===U?w.each(o,function(e,t){t in r?r[t]+=e:(t in s||(s[t]=0),s[t]+=e)},this):i===B?w.each(o,function(e,t){w.isArray(e)&&(t in a||(a[t]=[]),a[t]=a[t].concat(e))}):i===F&&c.push(o),x.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):"),x.log(t),this.save()},ee.prototype._pop_from_people_queue=function(e,t){var i=this._get_queue(e);w.isUndefined(i)||(w.each(t,function(e,t){delete i[t]; -},this),this.save())},ee.prototype._get_queue_key=function(e){return e===D?P:e===C?A:e===H?U:e===q?F:e===$?B:void x.error("Invalid queue:",e)},ee.prototype._get_queue=function(e){return this.props[this._get_queue_key(e)]},ee.prototype._get_or_create_queue=function(e,t){var i=this._get_queue_key(e);return t=w.isUndefined(t)?{}:t,this.props[i]||(this.props[i]=t)},ee.prototype.set_event_timer=function(e,t){var i=this.props[G]||{};i[e]=t,this.props[G]=i,this.save()},ee.prototype.remove_event_timer=function(e){var t=this.props[G]||{},i=t[e];return w.isUndefined(i)||(delete this.props[G][e],this.save()),i};var te,ie=function(){},oe=function(){},re=function(e,t,i){var o,r=i===M?O:O[i];if(r&&E===N)o=r;else{if(r&&!w.isArray(r))return void x.error("You have already initialized "+i);o=new ie}if(o._init(e,t,i),o.people=new oe,o.people._init(o),n.DEBUG=n.DEBUG||o.get_config("debug"),o.__autotrack_enabled=o.get_config("autotrack"),o.get_config("autotrack")){var s=100,a=100;T.enabledForProject(o.get_config("token"),s,a)?T.isBrowserSupported()?T.init(o):(o.__autotrack_enabled=!1,x.log("Disabling Automatic Event Collection because this browser is not supported")):(o.__autotrack_enabled=!1,x.log("Not in active bucket: disabling Automatic Event Collection."));try{pe(o)}catch(c){x.error(c)}}return!w.isUndefined(r)&&w.isArray(r)&&(o._execute_array.call(o.people,r.people),o._execute_array(r)),o};ie.prototype.init=function(e,t,i){if(w.isUndefined(i))return void x.error("You must name your new library: init(token, config, name)");if(i===M)return void x.error("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");var o=re(e,t,i);return O[i]=o,o._loaded(),o},ie.prototype._init=function(e,t,i){this.__loaded=!0,this.config={},this.set_config(w.extend({},Y,t,{name:i,token:e,callback_fn:(i===M?i:"mixpanel."+i)+"._jsc"})),this._jsc=function(){},this.__dom_loaded_queue=[],this.__request_queue=[],this.__disabled_events=[],this._flags={disable_all_events:!1,identify_called:!1},this.persistence=this.cookie=new ee(this.config),this.register_once({distinct_id:w.UUID()},"")},ie.prototype._loaded=function(){this.get_config("loaded")(this),this.get_config("track_pageview")&&this.track_pageview()},ie.prototype._dom_loaded=function(){w.each(this.__dom_loaded_queue,function(e){this._track_dom.apply(this,e)},this),w.each(this.__request_queue,function(e){this._send_request.apply(this,e)},this),delete this.__dom_loaded_queue,delete this.__request_queue},ie.prototype._track_dom=function(e,t){if(this.get_config("img"))return x.error("You can't use DOM tracking functions with img = true."),!1;if(!J)return this.__dom_loaded_queue.push([e,t]),!1;var i=(new e).init(this);return i.track.apply(i,t)},ie.prototype._prepare_callback=function(e,t){if(w.isUndefined(e))return null;if(V){var i=function(i){e(i,t)};return i}var o=this._jsc,r=""+Math.floor(1e8*Math.random()),n=this.get_config("callback_fn")+"["+r+"]";return o[r]=function(i){delete o[r],e(i,t)},n},ie.prototype._send_request=function(e,t,i){if(X)return void this.__request_queue.push(arguments);var o=this.get_config("verbose");if(t.verbose&&(o=!0),this.get_config("test")&&(t.test=1),o&&(t.verbose=1),this.get_config("img")&&(t.img=1),V||(i?t.callback=i:(o||this.get_config("test"))&&(t.callback="(function(){})")),t.ip=this.get_config("ip")?1:0,t._=(new Date).getTime().toString(),e+="?"+w.HTTPBuildQuery(t),"img"in t){var r=document.createElement("img");r.src=e,document.body.appendChild(r)}else if(V)try{var n=new XMLHttpRequest;n.open("GET",e,!0),n.withCredentials=!0,n.onreadystatechange=function(){if(4===n.readyState)if(200===n.status)i&&i(o?w.JSONDecode(n.responseText):Number(n.responseText));else{var e="Bad HTTP status: "+n.status+" "+n.statusText;x.error(e),i&&i(o?{status:0,error:e}:0)}},n.send(null)}catch(s){x.error(s)}else{var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.defer=!0,a.src=e;var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(a,c)}},ie.prototype._execute_array=function(e){var t,i=[],o=[],r=[];w.each(e,function(e){e&&(t=e[0],"function"==typeof e?e.call(this):w.isArray(e)&&"alias"===t?i.push(e):w.isArray(e)&&t.indexOf("track")!==-1&&"function"==typeof this[t]?r.push(e):o.push(e))},this);var n=function(e,t){w.each(e,function(e){this[e[0]].apply(this,e.slice(1))},t)};n(i,this),n(o,this),n(r,this)},ie.prototype.push=function(e){this._execute_array([e])},ie.prototype.disable=function(e){"undefined"==typeof e?this._flags.disable_all_events=!0:this.__disabled_events=this.__disabled_events.concat(e)},ie.prototype.track=function(e,t,i){if("function"!=typeof i&&(i=function(){}),w.isUndefined(e))return void x.error("No event name provided to mixpanel.track");if(this._event_is_disabled(e))return void i(0);t=t||{},t.token=this.get_config("token");var o=this.persistence.remove_event_timer(e);if(!w.isUndefined(o)){var r=(new Date).getTime()-o;t.$duration=parseFloat((r/1e3).toFixed(3))}this.persistence.update_search_keyword(document.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(document.referrer),t=w.extend({},w.info.properties(),this.persistence.properties(),t);try{this.get_config("autotrack")&&"mp_page_view"!==e&&"$create_alias"!==e&&(t=w.extend({},t,this.mp_counts),this.mp_counts={$__c:0},w.cookie.set("mp_"+this.get_config("name")+"__c",0,1,!0))}catch(n){x.error(n)}var s=this.get_config("property_blacklist");w.isArray(s)?w.each(s,function(e){delete t[e]}):x.error("Invalid value for property_blacklist config: "+s);var a={event:e,properties:t},c=w.truncate(a,255),p=w.JSONEncode(c),l=w.base64Encode(p);return x.log("MIXPANEL REQUEST:"),x.log(c),this._send_request(this.get_config("api_host")+"/track/",{data:l},this._prepare_callback(i,c)),c},ie.prototype.track_pageview=function(e){w.isUndefined(e)&&(e=document.location.href),this.track("mp_page_view",w.info.pageviewInfo(e))},ie.prototype.track_links=function(){return this._track_dom.call(this,Z,arguments)},ie.prototype.track_forms=function(){return this._track_dom.call(this,Q,arguments)},ie.prototype.time_event=function(e){return w.isUndefined(e)?void x.error("No event name provided to mixpanel.time_event"):void(this._event_is_disabled(e)||this.persistence.set_event_timer(e,(new Date).getTime()))},ie.prototype.register=function(e,t){this.persistence.register(e,t)},ie.prototype.register_once=function(e,t,i){this.persistence.register_once(e,t,i)},ie.prototype.unregister=function(e){this.persistence.unregister(e)},ie.prototype._register_single=function(e,t){var i={};i[e]=t,this.register(i)},ie.prototype.identify=function(e,t,i,o,r,n){e!==this.get_distinct_id()&&e!==this.get_property(R)&&(this.unregister(R),this._register_single("distinct_id",e)),this._check_and_handle_notifications(this.get_distinct_id()),this._flags.identify_called=!0,this.people._flush(t,i,o,r,n)},ie.prototype.reset=function(){this.persistence.clear(),this._flags.identify_called=!1,this.register_once({distinct_id:w.UUID()},"")},ie.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},ie.prototype.alias=function(e,t){if(e===this.get_property(j))return x.critical("Attempting to create alias for existing People user - aborting."),-2;var i=this;return w.isUndefined(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(R,e),this.track("$create_alias",{alias:e,distinct_id:t},function(){i.identify(e)})):(x.error("alias matches current distinct_id - skipping api call."),this.identify(e),-1)},ie.prototype.name_tag=function(e){this._register_single("mp_name_tag",e)},ie.prototype.set_config=function(e){w.isObject(e)&&(w.extend(this.config,e),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),n.DEBUG=n.DEBUG||this.get_config("debug"))},ie.prototype.get_config=function(e){return this.config[e]},ie.prototype.get_property=function(e){return this.persistence.props[e]},ie.prototype.toString=function(){var e=this.get_config("name");return e!==M&&(e="mixpanel."+e),e},ie.prototype._event_is_disabled=function(e){return w.isBlockedUA(f)||this._flags.disable_all_events||w.include(this.__disabled_events,e)},ie.prototype._check_and_handle_notifications=function(e){if(e&&!this._flags.identify_called&&!this.get_config("disable_notifications")){x.log("MIXPANEL NOTIFICATION CHECK");var t={verbose:!0,version:"2",lib:"web",token:this.get_config("token"),distinct_id:e},i=this;this._send_request(this.get_config("decide_host")+"/decide/",t,this._prepare_callback(function(e){e.notifications&&e.notifications.length>0&&i._show_notification.call(i,e.notifications[0])}))}},ie.prototype._show_notification=function(e){var t=new te(e,this);t.show()},oe.prototype._init=function(e){this._mixpanel=e},oe.prototype.set=function(e,t,i){var o={},r={};return w.isObject(e)?(w.each(e,function(e,t){this._is_reserved_property(t)||(r[t]=e)},this),i=t):r[e]=t,this._get_config("save_referrer")&&this._mixpanel.persistence.update_referrer_info(document.referrer),r=w.extend({},w.info.people_properties(),this._mixpanel.persistence.get_referrer_info(),r),o[D]=r,this._send_request(o,i)},oe.prototype.set_once=function(e,t,i){var o={},r={};return w.isObject(e)?(w.each(e,function(e,t){this._is_reserved_property(t)||(r[t]=e)},this),i=t):r[e]=t,o[C]=r,this._send_request(o,i)},oe.prototype.increment=function(e,t,i){var o={},r={};return w.isObject(e)?(w.each(e,function(e,t){if(!this._is_reserved_property(t)){if(isNaN(parseFloat(e)))return void x.error("Invalid increment value passed to mixpanel.people.increment - must be a number");r[t]=e}},this),i=t):(w.isUndefined(t)&&(t=1),r[e]=t),o[H]=r,this._send_request(o,i)},oe.prototype.append=function(e,t,i){var o={},r={};return w.isObject(e)?(w.each(e,function(e,t){this._is_reserved_property(t)||(r[t]=e)},this),i=t):r[e]=t,o[q]=r,this._send_request(o,i)},oe.prototype.union=function(e,t,i){var o={},r={};return w.isObject(e)?(w.each(e,function(e,t){this._is_reserved_property(t)||(r[t]=w.isArray(e)?e:[e])},this),i=t):r[e]=w.isArray(t)?t:[t],o[$]=r,this._send_request(o,i)},oe.prototype.track_charge=function(e,t,i){return!w.isNumber(e)&&(e=parseFloat(e),isNaN(e))?void x.error("Invalid value passed to mixpanel.people.track_charge - must be a number"):this.append("$transactions",w.extend({$amount:e},t),i)},oe.prototype.clear_charges=function(e){return this.set("$transactions",[],e)},oe.prototype.delete_user=function(){if(!this._identify_called())return void x.error("mixpanel.people.delete_user() requires you to call identify() first");var e={$delete:this._mixpanel.get_distinct_id()};return this._send_request(e)},oe.prototype.toString=function(){return this._mixpanel.toString()+".people"},oe.prototype._send_request=function(e,t){e.$token=this._get_config("token"),e.$distinct_id=this._mixpanel.get_distinct_id();var i=w.encodeDates(e),o=w.truncate(i,255),r=w.JSONEncode(i),n=w.base64Encode(r);return this._identify_called()?(x.log("MIXPANEL PEOPLE REQUEST:"),x.log(o),this._mixpanel._send_request(this._get_config("api_host")+"/engage/",{data:n},this._mixpanel._prepare_callback(t,o)),o):(this._enqueue(e),w.isUndefined(t)||t(this._get_config("verbose")?{status:-1,error:null}:-1),o)},oe.prototype._get_config=function(e){return this._mixpanel.get_config(e)},oe.prototype._identify_called=function(){return this._mixpanel._flags.identify_called===!0},oe.prototype._enqueue=function(e){D in e?this._mixpanel.persistence._add_to_people_queue(D,e):C in e?this._mixpanel.persistence._add_to_people_queue(C,e):H in e?this._mixpanel.persistence._add_to_people_queue(H,e):q in e?this._mixpanel.persistence._add_to_people_queue(q,e):$ in e?this._mixpanel.persistence._add_to_people_queue($,e):x.error("Invalid call to _enqueue():",e)},oe.prototype._flush=function(e,t,i,o,r){var n=this,s=w.extend({},this._mixpanel.persistence._get_queue(D)),a=w.extend({},this._mixpanel.persistence._get_queue(C)),c=w.extend({},this._mixpanel.persistence._get_queue(H)),p=this._mixpanel.persistence._get_queue(q),l=w.extend({},this._mixpanel.persistence._get_queue($));if(w.isUndefined(s)||!w.isObject(s)||w.isEmptyObject(s)||(n._mixpanel.persistence._pop_from_people_queue(D,s),this.set(s,function(t,i){0===t&&n._mixpanel.persistence._add_to_people_queue(D,s),w.isUndefined(e)||e(t,i)})),w.isUndefined(a)||!w.isObject(a)||w.isEmptyObject(a)||(n._mixpanel.persistence._pop_from_people_queue(C,a),this.set_once(a,function(e,t){0===e&&n._mixpanel.persistence._add_to_people_queue(C,a),w.isUndefined(o)||o(e,t)})),w.isUndefined(c)||!w.isObject(c)||w.isEmptyObject(c)||(n._mixpanel.persistence._pop_from_people_queue(H,c),this.increment(c,function(e,i){0===e&&n._mixpanel.persistence._add_to_people_queue(H,c),w.isUndefined(t)||t(e,i)})),w.isUndefined(l)||!w.isObject(l)||w.isEmptyObject(l)||(n._mixpanel.persistence._pop_from_people_queue($,l),this.union(l,function(e,t){0===e&&n._mixpanel.persistence._add_to_people_queue($,l),w.isUndefined(r)||r(e,t)})),!w.isUndefined(p)&&w.isArray(p)&&p.length){for(var d,_=function(e,t){0===e&&n._mixpanel.persistence._add_to_people_queue(q,d),w.isUndefined(i)||i(e,t)},u=p.length-1;u>=0;u--)d=p.pop(),n.append(d,_);n._mixpanel.persistence.save()}},oe.prototype._is_reserved_property=function(e){return"$distinct_id"===e||"$token"===e},ie._Notification=function(e,t){w.bind_instance_methods(this),this.mixpanel=t,this.persistence=this.mixpanel.persistence,this.campaign_id=w.escapeHTML(e.id),this.message_id=w.escapeHTML(e.message_id),this.body=(w.escapeHTML(e.body)||"").replace(/\n/g,"
"),this.cta=w.escapeHTML(e.cta)||"Close",this.notif_type=w.escapeHTML(e.type)||"takeover",this.style=w.escapeHTML(e.style)||"light",this.title=w.escapeHTML(e.title)||"",this.video_width=te.VIDEO_WIDTH,this.video_height=te.VIDEO_HEIGHT,this.dest_url=e.cta_url||null,this.image_url=e.image_url||null,this.thumb_image_url=e.thumb_image_url||null,this.video_url=e.video_url||null,this.clickthrough=!0,this.dest_url||(this.dest_url="#dismiss",this.clickthrough=!1),this.mini="mini"===this.notif_type,this.mini||(this.notif_type="takeover"),this.notif_width=this.mini?te.NOTIF_WIDTH_MINI:te.NOTIF_WIDTH,this._set_client_config(),this.imgs_to_preload=this._init_image_html(),this._init_video()},te=ie._Notification,te.ANIM_TIME=200,te.MARKUP_PREFIX="mixpanel-notification",te.BG_OPACITY=.6,te.NOTIF_TOP=25,te.NOTIF_START_TOP=200,te.NOTIF_WIDTH=388,te.NOTIF_WIDTH_MINI=420,te.NOTIF_HEIGHT_MINI=85,te.THUMB_BORDER_SIZE=5,te.THUMB_IMG_SIZE=60,te.THUMB_OFFSET=Math.round(te.THUMB_IMG_SIZE/2),te.VIDEO_WIDTH=595,te.VIDEO_HEIGHT=334,te.prototype.show=function(){var e=this;return this._set_client_config(),this.body_el?(this._init_styles(),this._init_notification_el(),void this._preload_images(this._attach_and_animate)):void setTimeout(function(){e.show()},300)},te.prototype.dismiss=w.safewrap(function(){this.marked_as_shown||this._mark_delivery({invisible:!0});var e=this.showing_video?this._get_el("video"):this._get_notification_display_el();if(this.use_transitions)this._remove_class("bg","visible"),this._add_class(e,"exiting"),setTimeout(this._remove_notification_el,te.ANIM_TIME);else{var t,i,o;this.mini?(t="right",i=20,o=-100):(t="top",i=te.NOTIF_TOP,o=te.NOTIF_START_TOP+te.NOTIF_TOP),this._animate_els([{el:this._get_el("bg"),attr:"opacity",start:te.BG_OPACITY,goal:0},{el:e,attr:"opacity",start:1,goal:0},{el:e,attr:t,start:i,goal:o}],te.ANIM_TIME,this._remove_notification_el)}}),te.prototype._add_class=w.safewrap(function(e,t){t=te.MARKUP_PREFIX+"-"+t,"string"==typeof e&&(e=this._get_el(e)),e.className?~(" "+e.className+" ").indexOf(" "+t+" ")||(e.className+=" "+t):e.className=t}),te.prototype._remove_class=w.safewrap(function(e,t){t=te.MARKUP_PREFIX+"-"+t,"string"==typeof e&&(e=this._get_el(e)),e.className&&(e.className=(" "+e.className+" ").replace(" "+t+" ","").replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,""))}),te.prototype._animate_els=w.safewrap(function(e,t,i,o){var r,n,s,a=this,c=!1,p=1*new Date;for(o=o||p,s=p-o,r=0;r=n.start?1:-1;n.val=n.start+l*s/t,"opacity"!==n.attr&&(n.val=Math.round(n.val)),(d>0&&n.val>=n.goal||d<0&&n.val<=n.goal)&&(n.val=n.goal)}if(!c)return void(i&&i());for(r=0;r'):this.img_html="",this.thumb_image_url?(e.push(this.thumb_image_url),this.thumb_img_html='
'):this.thumb_img_html=""),e},te.prototype._init_notification_el=function(){var e="",t="",i="",o='
';if(this.notification_el=document.createElement("div"),this.notification_el.id=te.MARKUP_PREFIX+"-wrapper",this.mini)e='
'+o+'
'+this.body+'
';else{var r=this.clickthrough||this.show_video?"":'
',n=this.show_video?'
':"";this._browser_lte("ie",7)&&(r="",n=""),e='
'+this.thumb_img_html+'
'+o+'
'+this.img_html+'
'+this.title+'
'+this.body+'
'+r+''+this.cta+""+n+"
"}this.youtube_video?(t="//www.youtube.com/embed/"+this.youtube_video+"?wmode=transparent&showinfo=0&modestbranding=0&rel=0&autoplay=1&loop=0&vq=hd1080",this.yt_custom&&(t+="&enablejsapi=1&html5=1&controls=0",i='
')):this.vimeo_video&&(t="//player.vimeo.com/video/"+this.vimeo_video+"?autoplay=1&title=0&byline=0&portrait=0"),this.show_video&&(this.video_iframe='',i='
'+i+"
");var s=i+e;this.flip_animate&&(s=(this.mini?e:"")+'
'+(this.mini?i:s)+"
"),this.notification_el.innerHTML=('
'+s+"
").replace(/class=\"/g,'class="'+te.MARKUP_PREFIX+"-").replace(/id=\"/g,'id="'+te.MARKUP_PREFIX+"-")},te.prototype._init_styles=function(){"dark"===this.style?this.style_vals={bg:"#1d1f25",bg_actions:"#282b32",bg_hover:"#3a4147",bg_light:"#4a5157",border_gray:"#32353c",cancel_opacity:"0.4",mini_hover:"#2a3137",text_title:"#fff",text_main:"#9498a3",text_tagline:"#464851",text_hover:"#ddd"}:this.style_vals={bg:"#fff",bg_actions:"#e7eaee",bg_hover:"#eceff3",bg_light:"#f5f5f5",border_gray:"#e4ecf2",cancel_opacity:"1.0",mini_hover:"#fafafa",text_title:"#5c6578",text_main:"#8b949b",text_tagline:"#ced9e6",text_hover:"#7c8598"};var e="0px 0px 35px 0px rgba(45, 49, 56, 0.7)",t=e,i=e,o=te.THUMB_IMG_SIZE+2*te.THUMB_BORDER_SIZE,r=te.ANIM_TIME/1e3+"s";this.mini&&(e="none");var n={},s=te.NOTIF_WIDTH_MINI+20;n["@media only screen and (max-width: "+(s-1)+"px)"]={"#overlay":{display:"none"}};var a={".flipped":{transform:"rotateY(180deg)"},"#overlay":{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",overflow:"auto","text-align":"center","z-index":"10000","font-family":'"Helvetica", "Arial", sans-serif',"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},"#overlay.mini":{height:"0",overflow:"visible"},"#overlay a":{width:"initial",padding:"0","text-decoration":"none","text-transform":"none",color:"inherit"},"#bgwrapper":{position:"relative",width:"100%",height:"100%"},"#bg":{position:"fixed",top:"0",left:"0",width:"100%",height:"100%","min-width":4*this.doc_width+"px","min-height":4*this.doc_height+"px","background-color":"black",opacity:"0.0","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)",filter:"alpha(opacity=60)",transition:"opacity "+r},"#bg.visible":{opacity:te.BG_OPACITY},".mini #bg":{width:"0",height:"0","min-width":"0"},"#flipcontainer":{perspective:"1000px",position:"absolute",width:"100%"},"#flipper":{position:"relative","transform-style":"preserve-3d",transition:"0.3s"},"#takeover":{position:"absolute",left:"50%",width:te.NOTIF_WIDTH+"px","margin-left":Math.round(-te.NOTIF_WIDTH/2)+"px","backface-visibility":"hidden",transform:"rotateY(0deg)",opacity:"0.0",top:te.NOTIF_START_TOP+"px",transition:"opacity "+r+", top "+r},"#takeover.visible":{opacity:"1.0",top:te.NOTIF_TOP+"px"},"#takeover.exiting":{opacity:"0.0",top:te.NOTIF_START_TOP+"px"},"#thumbspacer":{height:te.THUMB_OFFSET+"px"},"#thumbborder-wrapper":{position:"absolute",top:-te.THUMB_BORDER_SIZE+"px",left:te.NOTIF_WIDTH/2-te.THUMB_OFFSET-te.THUMB_BORDER_SIZE+"px",width:o+"px",height:o/2+"px",overflow:"hidden"},"#thumbborder":{position:"absolute",width:o+"px",height:o+"px","border-radius":o+"px","background-color":this.style_vals.bg_actions,opacity:"0.5"},"#thumbnail":{position:"absolute",top:"0px",left:te.NOTIF_WIDTH/2-te.THUMB_OFFSET+"px",width:te.THUMB_IMG_SIZE+"px",height:te.THUMB_IMG_SIZE+"px",overflow:"hidden","z-index":"100","border-radius":te.THUMB_IMG_SIZE+"px"},"#mini":{position:"absolute",right:"20px",top:te.NOTIF_TOP+"px",width:this.notif_width+"px",height:2*te.NOTIF_HEIGHT_MINI+"px","margin-top":20-te.NOTIF_HEIGHT_MINI+"px","backface-visibility":"hidden",opacity:"0.0",transform:"rotateX(90deg)",transition:"opacity 0.3s, transform 0.3s, right 0.3s"},"#mini.visible":{opacity:"1.0",transform:"rotateX(0deg)"},"#mini.exiting":{opacity:"0.0",right:"-150px"},"#mainbox":{"border-radius":"4px","box-shadow":e,"text-align":"center","background-color":this.style_vals.bg,"font-size":"14px",color:this.style_vals.text_main},"#mini #mainbox":{height:te.NOTIF_HEIGHT_MINI+"px","margin-top":te.NOTIF_HEIGHT_MINI+"px","border-radius":"3px",transition:"background-color "+r},"#mini-border":{height:te.NOTIF_HEIGHT_MINI+6+"px",width:te.NOTIF_WIDTH_MINI+6+"px",position:"absolute",top:"-3px",left:"-3px","margin-top":te.NOTIF_HEIGHT_MINI+"px","border-radius":"6px",opacity:"0.25","background-color":"#fff","z-index":"-1","box-shadow":i},"#mini-icon":{position:"relative",display:"inline-block",width:"75px",height:te.NOTIF_HEIGHT_MINI+"px","border-radius":"3px 0 0 3px","background-color":this.style_vals.bg_actions,background:"linear-gradient(135deg, "+this.style_vals.bg_light+" 0%, "+this.style_vals.bg_actions+" 100%)",transition:"background-color "+r},"#mini:hover #mini-icon":{"background-color":this.style_vals.mini_hover},"#mini:hover #mainbox":{"background-color":this.style_vals.mini_hover},"#mini-icon-img":{position:"absolute","background-image":"url("+this.thumb_image_url+")",width:"48px",height:"48px",top:"20px",left:"12px"},"#content":{padding:"30px 20px 0px 20px"},"#mini-content":{"text-align":"left",height:te.NOTIF_HEIGHT_MINI+"px",cursor:"pointer"},"#img":{width:"328px","margin-top":"30px","border-radius":"5px"},"#title":{"max-height":"600px",overflow:"hidden","word-wrap":"break-word",padding:"25px 0px 20px 0px","font-size":"19px","font-weight":"bold",color:this.style_vals.text_title},"#body":{"max-height":"600px","margin-bottom":"25px",overflow:"hidden","word-wrap":"break-word","line-height":"21px","font-size":"15px","font-weight":"normal","text-align":"left"},"#mini #body":{display:"inline-block","max-width":"250px",margin:"0 0 0 30px",height:te.NOTIF_HEIGHT_MINI+"px","font-size":"16px","letter-spacing":"0.8px",color:this.style_vals.text_title},"#mini #body-text":{display:"table",height:te.NOTIF_HEIGHT_MINI+"px"},"#mini #body-text div":{display:"table-cell","vertical-align":"middle"},"#tagline":{"margin-bottom":"15px","font-size":"10px","font-weight":"600","letter-spacing":"0.8px",color:"#ccd7e0","text-align":"left"},"#tagline a":{color:this.style_vals.text_tagline,transition:"color "+r},"#tagline a:hover":{color:this.style_vals.text_hover},"#cancel":{position:"absolute",right:"0",width:"8px",height:"8px",padding:"10px","border-radius":"20px",margin:"12px 12px 0 0","box-sizing":"content-box",cursor:"pointer",transition:"background-color "+r},"#mini #cancel":{margin:"7px 7px 0 0"},"#cancel-icon":{width:"8px",height:"8px",overflow:"hidden","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/cancel-x.png)",opacity:this.style_vals.cancel_opacity},"#cancel:hover":{"background-color":this.style_vals.bg_hover},"#button":{display:"block",height:"60px","line-height":"60px","text-align":"center","background-color":this.style_vals.bg_actions,"border-radius":"0 0 4px 4px",overflow:"hidden",cursor:"pointer",transition:"background-color "+r},"#button-close":{display:"inline-block",width:"9px",height:"60px","margin-right":"8px","vertical-align":"top","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/close-x-"+this.style+".png)","background-repeat":"no-repeat","background-position":"0px 25px"},"#button-play":{display:"inline-block",width:"30px",height:"60px","margin-left":"15px","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/play-"+this.style+"-small.png)","background-repeat":"no-repeat","background-position":"0px 15px"},"a#button-link":{display:"inline-block","vertical-align":"top","text-align":"center","font-size":"17px","font-weight":"bold",overflow:"hidden","word-wrap":"break-word",color:this.style_vals.text_title,transition:"color "+r},"#button:hover":{"background-color":this.style_vals.bg_hover,color:this.style_vals.text_hover},"#button:hover a":{color:this.style_vals.text_hover},"#video-noflip":{position:"relative",top:2*-this.video_height+"px"},"#video-flip":{"backface-visibility":"hidden",transform:"rotateY(180deg)"},"#video":{position:"absolute",width:this.video_width-1+"px",height:this.video_height+"px",top:te.NOTIF_TOP+"px","margin-top":"100px",left:"50%","margin-left":Math.round(-this.video_width/2)+"px",overflow:"hidden","border-radius":"5px","box-shadow":t,transform:"translateZ(1px)",transition:"opacity "+r+", top "+r},"#video.exiting":{opacity:"0.0",top:this.video_height+"px"},"#video-holder":{position:"absolute",width:this.video_width-1+"px",height:this.video_height+"px",overflow:"hidden","border-radius":"5px"},"#video-frame":{"margin-left":"-1px",width:this.video_width+"px"},"#video-controls":{opacity:"0",transition:"opacity 0.5s"},"#video:hover #video-controls":{opacity:"1.0"},"#video .video-progress-el":{position:"absolute",bottom:"0",height:"25px","border-radius":"0 0 0 5px"},"#video-progress":{width:"90%"},"#video-progress-total":{width:"100%","background-color":this.style_vals.bg,opacity:"0.7"},"#video-elapsed":{width:"0","background-color":"#6cb6f5",opacity:"0.9"},"#video #video-time":{width:"10%",right:"0","font-size":"11px","line-height":"25px",color:this.style_vals.text_main,"background-color":"#666","border-radius":"0 0 5px 0"}};this._browser_lte("ie",8)&&w.extend(a,{"* html #overlay":{position:"absolute"},"* html #bg":{position:"absolute"},"html, body":{height:"100%"}}),this._browser_lte("ie",7)&&w.extend(a,{"#mini #body":{display:"inline",zoom:"1",border:"1px solid "+this.style_vals.bg_hover},"#mini #body-text":{padding:"20px"},"#mini #mini-icon":{display:"none"}});var c=["backface-visibility","border-radius","box-shadow","opacity","perspective","transform","transform-style","transition"],p=["khtml","moz","ms","o","webkit"];for(var l in a)for(var d=0;d=33||this.browser_versions.firefox>=15)&&this.body_el&&o("backfaceVisibility")&&o("perspective")&&o("transform")},te.prototype._switch_to_video=w.safewrap(function(){var e=this,t=[{el:e._get_notification_display_el(),attr:"opacity",start:1,goal:0},{el:e._get_notification_display_el(),attr:"top",start:te.NOTIF_TOP,goal:-500},{el:e._get_el("video-noflip"),attr:"opacity",start:0,goal:1},{el:e._get_el("video-noflip"),attr:"top",start:2*-e.video_height,goal:0}];if(e.mini){var i=e._get_el("bg"),o=e._get_el("overlay");i.style.width="100%",i.style.height="100%",o.style.width="100%",e._add_class(e._get_notification_display_el(),"exiting"),e._add_class(i,"visible"),t.push({el:e._get_el("bg"),attr:"opacity",start:0,goal:te.BG_OPACITY})}var r=e._get_el("video-holder");r.innerHTML=e.video_iframe;var n=function(){window.YT&&window.YT.loaded&&e._yt_video_ready(),e.showing_video=!0,e._get_notification_display_el().style.visibility="hidden"};e.flip_animate?(e._add_class("flipper","flipped"),setTimeout(n,te.ANIM_TIME)):e._animate_els(t,te.ANIM_TIME,n)}),te.prototype._track_event=function(e,t,i){this.campaign_id?(t=t||{},t=w.extend(t,{campaign_id:this.campaign_id,message_id:this.message_id,message_type:"web_inapp",message_subtype:this.notif_type}),this.mixpanel.track(e,t,i)):i&&i.call()},te.prototype._yt_video_ready=w.safewrap(function(){var e=this;if(!e.video_inited){e.video_inited=!0;var t=e._get_el("video-elapsed"),i=e._get_el("video-time"),o=e._get_el("video-progress");new window.YT.Player(te.MARKUP_PREFIX+"-video-frame",{events:{onReady:function(r){var n=r.target,s=n.getDuration(),a=function(e){return("00"+e).slice(-2)},c=function(e){var t=Math.round(s-e),o=Math.floor(t/60),r=Math.floor(o/60);t-=60*o,o-=60*r,i.innerHTML="-"+(r?r+":":"")+a(o)+":"+a(t)};c(0),e._video_progress_checker=window.setInterval(function(){var e=n.getCurrentTime();t.style.width=e/s*100+"%",c(e)},250),w.register_event(o,"click",function(e){var t=Math.max(0,e.pageX-o.getBoundingClientRect().left);n.seekTo(s*t/o.clientWidth,!0)})}}})}}),ie.prototype.init=ie.prototype.init,ie.prototype.reset=ie.prototype.reset,ie.prototype.disable=ie.prototype.disable,ie.prototype.time_event=ie.prototype.time_event,ie.prototype.track=ie.prototype.track,ie.prototype.track_links=ie.prototype.track_links,ie.prototype.track_forms=ie.prototype.track_forms,ie.prototype.track_pageview=ie.prototype.track_pageview,ie.prototype.register=ie.prototype.register,ie.prototype.register_once=ie.prototype.register_once,ie.prototype.unregister=ie.prototype.unregister,ie.prototype.identify=ie.prototype.identify,ie.prototype.alias=ie.prototype.alias,ie.prototype.name_tag=ie.prototype.name_tag,ie.prototype.set_config=ie.prototype.set_config,ie.prototype.get_config=ie.prototype.get_config,ie.prototype.get_property=ie.prototype.get_property,ie.prototype.get_distinct_id=ie.prototype.get_distinct_id,ie.prototype.toString=ie.prototype.toString,ie.prototype._check_and_handle_notifications=ie.prototype._check_and_handle_notifications,ie.prototype._show_notification=ie.prototype._show_notification,ee.prototype.properties=ee.prototype.properties,ee.prototype.update_search_keyword=ee.prototype.update_search_keyword,ee.prototype.update_referrer_info=ee.prototype.update_referrer_info,ee.prototype.get_cross_subdomain=ee.prototype.get_cross_subdomain,ee.prototype.clear=ee.prototype.clear,oe.prototype.set=oe.prototype.set,oe.prototype.set_once=oe.prototype.set_once,oe.prototype.increment=oe.prototype.increment,oe.prototype.append=oe.prototype.append,oe.prototype.union=oe.prototype.union,oe.prototype.track_charge=oe.prototype.track_charge,oe.prototype.clear_charges=oe.prototype.clear_charges,oe.prototype.delete_user=oe.prototype.delete_user,oe.prototype.toString=oe.prototype.toString,w.safewrap_class(ie,["identify","_check_and_handle_notifications","_show_notification"]);var ne={},se=function(){w.each(ne,function(e,t){t!==M&&(O[t]=e)}),O._=w},ae=function(){O.init=function(e,t,i){if(i)return O[i]||(O[i]=ne[i]=re(e,t,i),O[i]._loaded()),O[i];var o=O;ne[M]?o=ne[M]:e&&(o=re(e,t,M),o._loaded(),ne[M]=o),O=o,E===S&&(window[M]=O),se()}},ce=function(){function e(){e.done||(e.done=!0,J=!0,X=!1,w.each(ne,function(e){e._dom_loaded()}))}function t(){try{document.documentElement.doScroll("left")}catch(i){return void setTimeout(t,1)}e()}if(document.addEventListener)"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",e);var i=!1;try{i=null===window.frameElement}catch(o){}document.documentElement.doScroll&&i&&t()}w.register_event(window,"load",e,!0)},pe=function(e){var t=e.get_config("name");e.mp_counts=e.mp_counts||{},e.mp_counts.$__c=parseInt(w.cookie.get("mp_"+t+"__c"))||0;var i=function(){e.mp_counts.$__c=(e.mp_counts.$__c||0)+1,w.cookie.set("mp_"+t+"__c",e.mp_counts.$__c,1,!0)},o=function(){try{e.mp_counts=e.mp_counts||{},i()}catch(t){x.error(t)}};w.register_event(document,"submit",o),w.register_event(document,"change",o);var r=null;w.register_event(document,"mousedown",function(e){r=e.target}),w.register_event(document,"mouseup",function(e){e.target===r&&o(e)})},le=o();t.exports=le},{}],2:[function(e,t,i){(function(t){"use strict";t.mixpanel=e("mixpanel-browser")}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"mixpanel-browser":1}]},{},[2]); \ No newline at end of file +!function(e){function t(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var i={};t.m=e,t.c=i,t.d=function(e,i,o){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}({0:function(e,t,i){e.exports=i("QRqT")},DuR2:function(e,t){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(i=window)}e.exports=i},QRqT:function(e,t,i){(function(e){e.mixpanel=i("j9k2")}).call(t,i("DuR2"))},j9k2:function(e,t,i){"use strict";var o,n={DEBUG:!1,LIB_VERSION:"2.13.0"};o="undefined"==typeof window?{navigator:{}}:window;var r=Array.prototype,s=Function.prototype,a=Object.prototype,c=r.slice,p=a.toString,l=a.hasOwnProperty,d=o.console,_=o.navigator,u=o.document,h=_.userAgent,f=s.bind,g=r.forEach,m=r.indexOf,v=Array.isArray,y={},b={trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},w={log:function(){if(n.DEBUG&&!b.isUndefined(d)&&d)try{d.log.apply(d,arguments)}catch(e){b.each(arguments,function(e){d.log(e)})}},error:function(){if(n.DEBUG&&!b.isUndefined(d)&&d){var e=["Mixpanel error:"].concat(b.toArray(arguments));try{d.error.apply(d,e)}catch(t){b.each(e,function(e){d.error(e)})}}},critical:function(){if(!b.isUndefined(d)&&d){var e=["Mixpanel error:"].concat(b.toArray(arguments));try{d.error.apply(d,e)}catch(t){b.each(e,function(e){d.error(e)})}}}};b.bind=function(e,t){var i,o;if(f&&e.bind===f)return f.apply(e,c.call(arguments,1));if(!b.isFunction(e))throw new TypeError;return i=c.call(arguments,2),o=function(){if(!(this instanceof o))return e.apply(t,i.concat(c.call(arguments)));var n={};n.prototype=e.prototype;var r=new n;n.prototype=null;var s=e.apply(r,i.concat(c.call(arguments)));return Object(s)===s?s:r}},b.bind_instance_methods=function(e){for(var t in e)"function"==typeof e[t]&&(e[t]=b.bind(e[t],e))},b.each=function(e,t,i){if(null!==e&&void 0!==e)if(g&&e.forEach===g)e.forEach(t,i);else if(e.length===+e.length){for(var o=0,n=e.length;o/g,">").replace(/"/g,""").replace(/'/g,"'")),t},b.extend=function(e){return b.each(c.call(arguments,1),function(t){for(var i in t)void 0!==t[i]&&(e[i]=t[i])}),e},b.isArray=v||function(e){return"[object Array]"===p.call(e)},b.isFunction=function(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},b.isArguments=function(e){return!(!e||!l.call(e,"callee"))},b.toArray=function(e){return e?e.toArray?e.toArray():b.isArray(e)?c.call(e):b.isArguments(e)?c.call(e):b.values(e):[]},b.values=function(e){var t=[];return null===e?t:(b.each(e,function(e){t[t.length]=e}),t)},b.identity=function(e){return e},b.include=function(e,t){var i=!1;return null===e?i:m&&e.indexOf===m?-1!=e.indexOf(t):(b.each(e,function(e){if(i||(i=e===t))return y}),i)},b.includes=function(e,t){return-1!==e.indexOf(t)},b.inherit=function(e,t){return e.prototype=new t,e.prototype.constructor=e,e.superclass=t.prototype,e},b.isObject=function(e){return e===Object(e)&&!b.isArray(e)},b.isEmptyObject=function(e){if(b.isObject(e)){for(var t in e)if(l.call(e,t))return!1;return!0}return!1},b.isUndefined=function(e){return void 0===e},b.isString=function(e){return"[object String]"==p.call(e)},b.isDate=function(e){return"[object Date]"==p.call(e)},b.isNumber=function(e){return"[object Number]"==p.call(e)},b.isElement=function(e){return!(!e||1!==e.nodeType)},b.encodeDates=function(e){return b.each(e,function(t,i){b.isDate(t)?e[i]=b.formatDate(t):b.isObject(t)&&(e[i]=b.encodeDates(t))}),e},b.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},b.formatDate=function(e){function t(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+t(e.getUTCMonth()+1)+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())},b.safewrap=function(e){return function(){try{return e.apply(this,arguments)}catch(e){w.critical("Implementation error. Please contact support@mixpanel.com.")}}},b.safewrap_class=function(e,t){for(var i=0;i0&&(t[i]=e)}),t},b.truncate=function(e,t){var i;return"string"==typeof e?i=e.slice(0,t):b.isArray(e)?(i=[],b.each(e,function(e){i.push(b.truncate(e,t))})):b.isObject(e)?(i={},b.each(e,function(e,o){i[o]=b.truncate(e,t)})):i=e,i},b.JSONEncode=function(){return function(e){var t=e,i=function(e){var t=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=i[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},o=function(e,t){var n="",r=0,s="",a="",c=0,d=n,_=[],u=t[e];switch(u&&"object"==typeof u&&"function"==typeof u.toJSON&&(u=u.toJSON(e)),typeof u){case"string":return i(u);case"number":return isFinite(u)?String(u):"null";case"boolean":case"null":return String(u);case"object":if(!u)return"null";if(n+=" ",_=[],"[object Array]"===p.apply(u)){for(c=u.length,r=0;r="0"&&t<="9";)i+=t,s();if("."===t)for(i+=".";s()&&t>="0"&&t<="9";)i+=t;if("e"===t||"E"===t)for(i+=t,s(),"-"!==t&&"+"!==t||(i+=t,s());t>="0"&&t<="9";)i+=t,s();if(e=+i,isFinite(e))return e;r("Bad number")},c=function(){var e,i,o,a="";if('"'===t)for(;s();){if('"'===t)return s(),a;if("\\"===t)if(s(),"u"===t){for(o=0,i=0;i<4&&(e=parseInt(s(),16),isFinite(e));i+=1)o=16*o+e;a+=String.fromCharCode(o)}else{if("string"!=typeof n[t])break;a+=n[t]}else a+=t}r("Bad string")},p=function(){for(;t&&t<=" ";)s()},l=function(){switch(t){case"t":return s("t"),s("r"),s("u"),s("e"),!0;case"f":return s("f"),s("a"),s("l"),s("s"),s("e"),!1;case"n":return s("n"),s("u"),s("l"),s("l"),null}r('Unexpected "'+t+'"')},d=function(){var e=[];if("["===t){if(s("["),p(),"]"===t)return s("]"),e;for(;t;){if(e.push(o()),p(),"]"===t)return s("]"),e;s(","),p()}}r("Bad array")},_=function(){var e,i={};if("{"===t){if(s("{"),p(),"}"===t)return s("}"),i;for(;t;){if(e=c(),p(),s(":"),Object.hasOwnProperty.call(i,e)&&r('Duplicate key "'+e+'"'),i[e]=o(),p(),"}"===t)return s("}"),i;s(","),p()}}r("Bad object")};return o=function(){switch(p(),t){case"{":return _();case"[":return d();case'"':return c();case"-":return a();default:return t>="0"&&t<="9"?a():l()}},function(n){var s;return i=n,e=0,t=" ",s=o(),p(),t&&r("Syntax error"),s}}(),b.base64Encode=function(e){var t,i,o,n,r,s,a,c,p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=0,d=0,_="",u=[];if(!e)return e;e=b.utf8Encode(e);do{t=e.charCodeAt(l++),i=e.charCodeAt(l++),o=e.charCodeAt(l++),c=t<<16|i<<8|o,n=c>>18&63,r=c>>12&63,s=c>>6&63,a=63&c,u[d++]=p.charAt(n)+p.charAt(r)+p.charAt(s)+p.charAt(a)}while(l127&&s<2048?String.fromCharCode(s>>6|192,63&s|128):String.fromCharCode(s>>12|224,s>>6&63|128,63&s|128),null!==a&&(i>t&&(n+=e.substring(t,i)),n+=a,t=i=o+1)}return i>t&&(n+=e.substring(t,e.length)),n},b.UUID=function(){var e=function(){for(var e=1*new Date,t=0;e==1*new Date;)t++;return e.toString(16)+t.toString(16)},t=function(){return Math.random().toString(16).replace(".","")},i=function(){function e(e,t){var i,o=0;for(i=0;i=4&&(r=e(r,n),n=[]);return n.length>0&&(r=e(r,n)),r.toString(16)};return function(){var o=(screen.height*screen.width).toString(16);return e()+"-"+t()+"-"+i()+"-"+o+"-"+e()}}(),b.isBlockedUA=function(e){return!!/(google web preview|baiduspider|yandexbot|bingbot|googlebot|yahoo! slurp)/i.test(e)},b.HTTPBuildQuery=function(e,t){var i,o,n=[];return b.isUndefined(t)&&(t="&"),b.each(e,function(e,t){i=encodeURIComponent(e.toString()),o=encodeURIComponent(t),n[n.length]=o+"="+i}),n.join(t)},b.getQueryParam=function(e,t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i="[\\?&]"+t+"=([^&#]*)",o=new RegExp(i),n=o.exec(e);return null===n||n&&"string"!=typeof n[1]&&n[1].length?"":decodeURIComponent(n[1]).replace(/\+/g," ")},b.getHashParam=function(e,t){var i=e.match(new RegExp(t+"=([^&]*)"));return i?i[1]:null},b.cookie={get:function(e){for(var t=e+"=",i=u.cookie.split(";"),o=0;o=0}function i(i){if(!u.getElementsByTagName)return[];var o,n,r,s,a,c,p,l,d,_,h=i.split(" "),f=[u];for(c=0;c-1){n=o.split("#"),r=n[0];var g=n[1],m=u.getElementById(g);if(!m||r&&m.nodeName.toLowerCase()!=r)return[];f=[m]}else if(o.indexOf(".")>-1){n=o.split("."),r=n[0];var v=n[1];for(r||(r="*"),s=[],a=0,p=0;p-1};break;default:I=function(e){return e.getAttribute(w)}}for(f=[],_=0,p=0;p=3?t[2]:""},properties:function(){return b.extend(b.strip_empty_properties({$os:b.info.os(),$browser:b.info.browser(h,_.vendor,window.opera),$referrer:u.referrer,$referring_domain:b.info.referringDomain(u.referrer),$device:b.info.device(h)}),{$current_url:window.location.href,$browser_version:b.info.browserVersion(h,_.vendor,window.opera),$screen_height:screen.height,$screen_width:screen.width,mp_lib:"web",$lib_version:n.LIB_VERSION})},people_properties:function(){return b.extend(b.strip_empty_properties({$os:b.info.os(),$browser:b.info.browser(h,_.vendor,window.opera)}),{$browser_version:b.info.browserVersion(h,_.vendor,window.opera)})},pageviewInfo:function(e){return b.strip_empty_properties({mp_page:e,mp_referrer:u.referrer,mp_browser:b.info.browser(h,_.vendor,window.opera),mp_platform:b.info.os()})}},b.toArray=b.toArray,b.isObject=b.isObject,b.JSONEncode=b.JSONEncode,b.JSONDecode=b.JSONDecode,b.isBlockedUA=b.isBlockedUA,b.isEmptyObject=b.isEmptyObject,b.info=b.info,b.info.device=b.info.device,b.info.browser=b.info.browser,b.info.properties=b.info.properties;var x={_initializedTokens:[],_previousElementSibling:function(e){if(e.previousElementSibling)return e.previousElementSibling;do{e=e.previousSibling}while(e&&1!==e.nodeType);return e},_loadScript:function(e,t){var i=document.createElement("script");i.type="text/javascript",i.src=e,i.onload=t;var o=document.getElementsByTagName("script");o.length>0?o[0].parentNode.insertBefore(i,o[0]):document.body.appendChild(i)},_getClassName:function(e){switch(typeof e.className){case"string":return e.className;case"object":return e.className.baseVal||e.getAttribute("class")||"";default:return""}},_getPropertiesFromElement:function(e){var t={classes:this._getClassName(e).split(" "),tag_name:e.tagName.toLowerCase()};if(b.includes(["input","select","textarea"],e.tagName.toLowerCase())){var i=this._getFormFieldValue(e);this._includeProperty(e,i)&&(t.value=i)}b.each(e.attributes,function(e){t["attr__"+e.name]=e.value});for(var o=1,n=1,r=e;r=this._previousElementSibling(r);)o++,r.tagName===e.tagName&&n++;return t.nth_child=o,t.nth_of_type=n,t},_isTag:function(e,t){return e&&e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()},_shouldTrackDomEvent:function(e,t){if(!e||this._isTag(e,"html")||1!==e.nodeType)return!1;switch(e.tagName.toLowerCase()){case"html":return!1;case"form":return"submit"===t.type;case"input":return-1===["button","submit"].indexOf(e.getAttribute("type"))?"change"===t.type:"click"===t.type;case"select":case"textarea":return"change"===t.type;default:return"click"===t.type}},_getDefaultProperties:function(e){return{$event_type:e,$ce_version:1,$host:window.location.host,$pathname:window.location.pathname}},_getInputValue:function(e){var t=null;switch(e.type.toLowerCase()){case"checkbox":e.checked&&(t=[e.value]);break;case"radio":e.checked&&(t=e.value);break;default:t=e.value}return t},_getSelectValue:function(e){var t;if(e.multiple){var i=[];b.each(e.querySelectorAll("[selected]"),function(e){i.push(e.value)}),t=i}else t=e.value;return t},_includeProperty:function(e,t){for(var i=e;i.parentNode&&!this._isTag(i,"body");i=i.parentNode){var o=this._getClassName(i).split(" ");if(b.includes(o,"mp-sensitive")||b.includes(o,"mp-no-track"))return!1}if(b.includes(this._getClassName(e).split(" "),"mp-include"))return!0;if(null===t)return!1;switch((e.type||"").toLowerCase()){case"hidden":case"password":return!1}if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test((e.name||e.id||"").replace(/[^a-zA-Z0-9]/g,"")))return!1;if("string"==typeof t){if(/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/.test((t||"").replace(/[\- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(t))return!1}return!0},_getFormFieldValue:function(e){var t;switch(e.tagName.toLowerCase()){case"input":t=this._getInputValue(e);break;case"select":t=this._getSelectValue(e);break;default:t=e.value||e.textContent}return this._includeProperty(e,t)?t:null},_getFormFieldProperties:function(e){var t={};return b.each(e.elements,function(e){var i=e.getAttribute("name")||e.getAttribute("id");if(null!==i){i="$form_field__"+i;var o=this._getFormFieldValue(e);if(this._includeProperty(e,o)){var n=t[i];t[i]=void 0!==n?[].concat(n,o):o}}},this),t},_extractCustomPropertyValue:function(e){var t=[];return b.each(document.querySelectorAll(e.css_selector),function(e){["input","select"].indexOf(e.tagName.toLowerCase())>-1?t.push(e.value):e.textContent&&t.push(e.textContent)}),t.join(", ")},_getCustomProperties:function(e){var t={};return b.each(this._customProperties,function(i){b.each(i.event_selectors,function(o){var n=document.querySelectorAll(o);b.each(n,function(o){b.includes(e,o)&&(t[i.name]=this._extractCustomPropertyValue(i))},this)},this)},this),t},_getEventTarget:function(e){return void 0===e.target?e.srcElement:e.target},_trackEvent:function(e,t){var i=this._getEventTarget(e);if(3===i.nodeType&&(i=i.parentNode),this._shouldTrackDomEvent(i,e)){for(var o=[i],n=i;n.parentNode&&!this._isTag(n,"body");)o.push(n.parentNode),n=n.parentNode;var r,s,a,c=[],p=!1;if(b.each(o,function(e,t){if("a"===e.tagName.toLowerCase()?r=e.getAttribute("href"):"form"===e.tagName.toLowerCase()&&(a=e),!s&&t<5&&e.textContent){var i=b.trim(e.textContent);i&&(s=i.replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))}var o=this._getClassName(e).split(" ");b.includes(o,"mp-no-track")&&(p=!0),c.push(this._getPropertiesFromElement(e))},this),p)return!1;var l=b.extend(this._getDefaultProperties(e.type),{$elements:c,$el_attr__href:r,$el_text:s},this._getCustomProperties(o));return!a||"submit"!==e.type&&"click"!==e.type||b.extend(l,this._getFormFieldProperties(a)),t.track("$web_event",l),!0}},_navigate:function(e){window.location.href=e},_addDomEventHandlers:function(e){var t=b.bind(function(t){t=t||window.event,this._trackEvent(t,e)},this);b.register_event(document,"submit",t,!1,!0),b.register_event(document,"change",t,!1,!0),b.register_event(document,"click",t,!1,!0)},_customProperties:{},init:function(e){if(!document||!document.body){var t=this;return void setTimeout(function(){t.init(e)},500)}var i=e.get_config("token");if(!(this._initializedTokens.indexOf(i)>-1||(this._initializedTokens.push(i),this._maybeLoadEditor(e)))){var o=b.bind(function(t){t&&t.config&&!0===t.config.enable_collect_everything?(t.custom_properties&&(this._customProperties=t.custom_properties),e.track("$web_event",b.extend({$title:document.title},this._getDefaultProperties("pageview"))),this._addDomEventHandlers(e)):e.__autotrack_enabled=!1},this);e._send_request(e.get_config("api_host")+"/decide/",{verbose:!0,version:"1",lib:"web",token:i},e._prepare_callback(o))}},_editorParamsFromHash:function(e,t){var i;try{var o=b.getHashParam(t,"state");o=JSON.parse(decodeURIComponent(o));var n=b.getHashParam(t,"expires_in");i={accessToken:b.getHashParam(t,"access_token"),accessTokenExpiresAt:(new Date).getTime()+1e3*Number(n),bookmarkletMode:!!o.bookmarkletMode,projectId:o.projectId,projectOwnerId:o.projectOwnerId,projectToken:o.token,readOnly:o.readOnly,userFlags:o.userFlags,userId:o.userId},window.sessionStorage.setItem("editorParams",JSON.stringify(i)),o.desiredHash?window.location.hash=o.desiredHash:window.history?history.replaceState("",document.title,window.location.pathname+window.location.search):window.location.hash=""}catch(e){}return i},_maybeLoadEditor:function(e){try{var t=!1;if(b.getHashParam(window.location.hash,"state")){var i=b.getHashParam(window.location.hash,"state");i=JSON.parse(decodeURIComponent(i)),t="mpeditor"===i.action}var o,n=!!window.sessionStorage.getItem("_mpcehash");return t?o=this._editorParamsFromHash(e,window.location.hash):n?(o=this._editorParamsFromHash(e,window.sessionStorage.getItem("_mpcehash")),window.sessionStorage.removeItem("_mpcehash")):o=JSON.parse(window.sessionStorage.getItem("editorParams")||"{}"),!(!o.projectToken||e.get_config("token")!==o.projectToken)&&(this._loadEditor(e,o),!0)}catch(e){return!1}},_loadEditor:function(e,t){if(!window._mpEditorLoaded){window._mpEditorLoaded=!0;var i=e.get_config("app_host")+"/js-bundle/reports/collect-everything/editor.js?_ts="+(new Date).getTime();return this._loadScript(i,function(){window.mp_load_editor(t)}),!0}return!1},enabledForProject:function(e,t,i){t=b.isUndefined(t)?10:t,i=b.isUndefined(i)?10:i;for(var o=0,n=0;nt&&delete e[i];b.isEmptyObject(e)&&delete this.props.__cmpns}}),U.prototype.update_campaign_params=function(){this.campaign_params_saved||(this.register_once(b.info.campaignParams()),this.campaign_params_saved=!0)},U.prototype.update_search_keyword=function(e){this.register(b.info.searchInfo(e))},U.prototype.update_referrer_info=function(e){this.register_once({$initial_referrer:e||"$direct",$initial_referring_domain:b.info.referringDomain(e)||"$direct"},"")},U.prototype.get_referrer_info=function(){return b.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},U.prototype.safe_merge=function(e){return b.each(this.props,function(t,i){i in e||(e[i]=t)}),e},U.prototype.update_config=function(e){this.default_expiry=this.expire_days=e.cookie_expiration,this.set_disabled(e.disable_persistence),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie)},U.prototype.set_disabled=function(e){this.disabled=e,this.disabled&&this.remove()},U.prototype.set_cross_subdomain=function(e){e!==this.cross_subdomain&&(this.cross_subdomain=e,this.remove(),this.save())},U.prototype.get_cross_subdomain=function(){return this.cross_subdomain},U.prototype.set_secure=function(e){e!==this.secure&&(this.secure=!!e,this.remove(),this.save())},U.prototype._add_to_people_queue=function(e,t){var i=this._get_queue_key(e),o=t[e],n=this._get_or_create_queue("$set"),r=this._get_or_create_queue("$set_once"),s=this._get_or_create_queue("$add"),a=this._get_or_create_queue("$union"),c=this._get_or_create_queue("$append",[]);"__mps"===i?(b.extend(n,o),this._pop_from_people_queue("$add",o),this._pop_from_people_queue("$union",o)):"__mpso"===i?b.each(o,function(e,t){t in r||(r[t]=e)}):"__mpa"===i?b.each(o,function(e,t){t in n?n[t]+=e:(t in s||(s[t]=0),s[t]+=e)},this):"__mpu"===i?b.each(o,function(e,t){b.isArray(e)&&(t in a||(a[t]=[]),a[t]=a[t].concat(e))}):"__mpap"===i&&c.push(o),w.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):"),w.log(t),this.save()},U.prototype._pop_from_people_queue=function(e,t){var i=this._get_queue(e);b.isUndefined(i)||(b.each(t,function(e,t){delete i[t]},this),this.save())},U.prototype._get_queue_key=function(e){return"$set"===e?"__mps":"$set_once"===e?"__mpso":"$add"===e?"__mpa":"$append"===e?"__mpap":"$union"===e?"__mpu":void w.error("Invalid queue:",e)},U.prototype._get_queue=function(e){return this.props[this._get_queue_key(e)]},U.prototype._get_or_create_queue=function(e,t){var i=this._get_queue_key(e);return t=b.isUndefined(t)?{}:t,this.props[i]||(this.props[i]=t)},U.prototype.set_event_timer=function(e,t){var i=this.props.__timers||{};i[e]=t,this.props.__timers=i,this.save()},U.prototype.remove_event_timer=function(e){var t=this.props.__timers||{},i=t[e];return b.isUndefined(i)||(delete this.props.__timers[e],this.save()),i};var B,D=function(){},C=function(){},H=function(e,t,i){var o,r="mixpanel"===i?I:I[i];if(r&&k===T)o=r;else{if(r&&!b.isArray(r))return void w.error("You have already initialized "+i);o=new D}if(o._init(e,t,i),o.people=new C,o.people._init(o),n.DEBUG=n.DEBUG||o.get_config("debug"),o.__autotrack_enabled=o.get_config("autotrack"),o.get_config("autotrack")){x.enabledForProject(o.get_config("token"),100,100)?x.isBrowserSupported()?x.init(o):(o.__autotrack_enabled=!1,w.log("Disabling Automatic Event Collection because this browser is not supported")):(o.__autotrack_enabled=!1,w.log("Not in active bucket: disabling Automatic Event Collection."));try{G(o)}catch(e){w.error(e)}}return!b.isUndefined(r)&&b.isArray(r)&&(o._execute_array.call(o.people,r.people),o._execute_array(r)),o};D.prototype.init=function(e,t,i){if(b.isUndefined(i))return void w.error("You must name your new library: init(token, config, name)");if("mixpanel"===i)return void w.error("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");var o=H(e,t,i);return I[i]=o,o._loaded(),o},D.prototype._init=function(e,t,i){this.__loaded=!0,this.config={},this.set_config(b.extend({},M,t,{name:i,token:e,callback_fn:("mixpanel"===i?i:"mixpanel."+i)+"._jsc"})),this._jsc=function(){},this.__dom_loaded_queue=[],this.__request_queue=[],this.__disabled_events=[],this._flags={disable_all_events:!1,identify_called:!1},this.persistence=this.cookie=new U(this.config),this.register_once({distinct_id:b.UUID()},"")},D.prototype._loaded=function(){this.get_config("loaded")(this),this.get_config("track_pageview")&&this.track_pageview()},D.prototype._dom_loaded=function(){b.each(this.__dom_loaded_queue,function(e){this._track_dom.apply(this,e)},this),b.each(this.__request_queue,function(e){this._send_request.apply(this,e)},this),delete this.__dom_loaded_queue,delete this.__request_queue},D.prototype._track_dom=function(e,t){if(this.get_config("img"))return w.error("You can't use DOM tracking functions with img = true."),!1;if(!P)return this.__dom_loaded_queue.push([e,t]),!1;var i=(new e).init(this);return i.track.apply(i,t)},D.prototype._prepare_callback=function(e,t){if(b.isUndefined(e))return null;if(N){return function(i){e(i,t)}}var i=this._jsc,o=""+Math.floor(1e8*Math.random()),n=this.get_config("callback_fn")+"["+o+"]";return i[o]=function(n){delete i[o],e(n,t)},n},D.prototype._send_request=function(e,t,i){if(S)return void this.__request_queue.push(arguments);var o=this.get_config("verbose");if(t.verbose&&(o=!0),this.get_config("test")&&(t.test=1),o&&(t.verbose=1),this.get_config("img")&&(t.img=1),N||(i?t.callback=i:(o||this.get_config("test"))&&(t.callback="(function(){})")),t.ip=this.get_config("ip")?1:0,t._=(new Date).getTime().toString(),e+="?"+b.HTTPBuildQuery(t),"img"in t){var n=document.createElement("img");n.src=e,document.body.appendChild(n)}else if(N)try{var r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status)i&&i(o?b.JSONDecode(r.responseText):Number(r.responseText));else{var e="Bad HTTP status: "+r.status+" "+r.statusText;w.error(e),i&&i(o?{status:0,error:e}:0)}},r.send(null)}catch(e){w.error(e)}else{var s=document.createElement("script");s.type="text/javascript",s.async=!0,s.defer=!0,s.src=e;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(s,a)}},D.prototype._execute_array=function(e){var t,i=[],o=[],n=[];b.each(e,function(e){e&&(t=e[0],"function"==typeof e?e.call(this):b.isArray(e)&&"alias"===t?i.push(e):b.isArray(e)&&-1!==t.indexOf("track")&&"function"==typeof this[t]?n.push(e):o.push(e))},this);var r=function(e,t){b.each(e,function(e){this[e[0]].apply(this,e.slice(1))},t)};r(i,this),r(o,this),r(n,this)},D.prototype.push=function(e){this._execute_array([e])},D.prototype.disable=function(e){void 0===e?this._flags.disable_all_events=!0:this.__disabled_events=this.__disabled_events.concat(e)},D.prototype.track=function(e,t,i){if("function"!=typeof i&&(i=function(){}),b.isUndefined(e))return void w.error("No event name provided to mixpanel.track");if(this._event_is_disabled(e))return void i(0);t=t||{},t.token=this.get_config("token");var o=this.persistence.remove_event_timer(e);if(!b.isUndefined(o)){var n=(new Date).getTime()-o;t.$duration=parseFloat((n/1e3).toFixed(3))}this.persistence.update_search_keyword(document.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(document.referrer),t=b.extend({},b.info.properties(),this.persistence.properties(),t);try{this.get_config("autotrack")&&"mp_page_view"!==e&&"$create_alias"!==e&&(t=b.extend({},t,this.mp_counts),this.mp_counts={$__c:0},b.cookie.set("mp_"+this.get_config("name")+"__c",0,1,!0))}catch(e){w.error(e)}var r=this.get_config("property_blacklist");b.isArray(r)?b.each(r,function(e){delete t[e]}):w.error("Invalid value for property_blacklist config: "+r);var s={event:e,properties:t},a=b.truncate(s,255),c=b.JSONEncode(a),p=b.base64Encode(c);return w.log("MIXPANEL REQUEST:"),w.log(a),this._send_request(this.get_config("api_host")+"/track/",{data:p},this._prepare_callback(i,a)),a},D.prototype.track_pageview=function(e){b.isUndefined(e)&&(e=document.location.href),this.track("mp_page_view",b.info.pageviewInfo(e))},D.prototype.track_links=function(){return this._track_dom.call(this,$,arguments)},D.prototype.track_forms=function(){return this._track_dom.call(this,F,arguments)},D.prototype.time_event=function(e){if(b.isUndefined(e))return void w.error("No event name provided to mixpanel.time_event");this._event_is_disabled(e)||this.persistence.set_event_timer(e,(new Date).getTime())},D.prototype.register=function(e,t){this.persistence.register(e,t)},D.prototype.register_once=function(e,t,i){this.persistence.register_once(e,t,i)},D.prototype.unregister=function(e){this.persistence.unregister(e)},D.prototype._register_single=function(e,t){var i={};i[e]=t,this.register(i)},D.prototype.identify=function(e,t,i,o,n,r){e!==this.get_distinct_id()&&e!==this.get_property("__alias")&&(this.unregister("__alias"),this._register_single("distinct_id",e)),this._check_and_handle_notifications(this.get_distinct_id()),this._flags.identify_called=!0,this.people._flush(t,i,o,n,r)},D.prototype.reset=function(){this.persistence.clear(),this._flags.identify_called=!1,this.register_once({distinct_id:b.UUID()},"")},D.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},D.prototype.alias=function(e,t){if(e===this.get_property("$people_distinct_id"))return w.critical("Attempting to create alias for existing People user - aborting."),-2;var i=this;return b.isUndefined(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single("__alias",e),this.track("$create_alias",{alias:e,distinct_id:t},function(){i.identify(e)})):(w.error("alias matches current distinct_id - skipping api call."),this.identify(e),-1)},D.prototype.name_tag=function(e){this._register_single("mp_name_tag",e)},D.prototype.set_config=function(e){b.isObject(e)&&(b.extend(this.config,e),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),n.DEBUG=n.DEBUG||this.get_config("debug"))},D.prototype.get_config=function(e){return this.config[e]},D.prototype.get_property=function(e){return this.persistence.props[e]},D.prototype.toString=function(){var e=this.get_config("name");return"mixpanel"!==e&&(e="mixpanel."+e),e},D.prototype._event_is_disabled=function(e){return b.isBlockedUA(h)||this._flags.disable_all_events||b.include(this.__disabled_events,e)},D.prototype._check_and_handle_notifications=function(e){if(e&&!this._flags.identify_called&&!this.get_config("disable_notifications")){w.log("MIXPANEL NOTIFICATION CHECK");var t={verbose:!0,version:"2",lib:"web",token:this.get_config("token"),distinct_id:e},i=this;this._send_request(this.get_config("api_host")+"/decide/",t,this._prepare_callback(function(e){e.notifications&&e.notifications.length>0&&i._show_notification.call(i,e.notifications[0])}))}},D.prototype._show_notification=function(e){new B(e,this).show()},C.prototype._init=function(e){this._mixpanel=e},C.prototype.set=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){this._is_reserved_property(t)||(n[t]=e)},this),i=t):n[e]=t,this._get_config("save_referrer")&&this._mixpanel.persistence.update_referrer_info(document.referrer),n=b.extend({},b.info.people_properties(),this._mixpanel.persistence.get_referrer_info(),n),o.$set=n,this._send_request(o,i)},C.prototype.set_once=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){this._is_reserved_property(t)||(n[t]=e)},this),i=t):n[e]=t,o.$set_once=n,this._send_request(o,i)},C.prototype.increment=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){if(!this._is_reserved_property(t)){if(isNaN(parseFloat(e)))return void w.error("Invalid increment value passed to mixpanel.people.increment - must be a number");n[t]=e}},this),i=t):(b.isUndefined(t)&&(t=1),n[e]=t),o.$add=n,this._send_request(o,i)},C.prototype.append=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){this._is_reserved_property(t)||(n[t]=e)},this),i=t):n[e]=t,o.$append=n,this._send_request(o,i)},C.prototype.union=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){this._is_reserved_property(t)||(n[t]=b.isArray(e)?e:[e])},this),i=t):n[e]=b.isArray(t)?t:[t],o.$union=n,this._send_request(o,i)},C.prototype.track_charge=function(e,t,i){return!b.isNumber(e)&&(e=parseFloat(e),isNaN(e))?void w.error("Invalid value passed to mixpanel.people.track_charge - must be a number"):this.append("$transactions",b.extend({$amount:e},t),i)},C.prototype.clear_charges=function(e){return this.set("$transactions",[],e)},C.prototype.delete_user=function(){if(!this._identify_called())return void w.error("mixpanel.people.delete_user() requires you to call identify() first");var e={$delete:this._mixpanel.get_distinct_id()};return this._send_request(e)},C.prototype.toString=function(){return this._mixpanel.toString()+".people"},C.prototype._send_request=function(e,t){e.$token=this._get_config("token"),e.$distinct_id=this._mixpanel.get_distinct_id();var i=b.encodeDates(e),o=b.truncate(i,255),n=b.JSONEncode(i),r=b.base64Encode(n);return this._identify_called()?(w.log("MIXPANEL PEOPLE REQUEST:"),w.log(o),this._mixpanel._send_request(this._get_config("api_host")+"/engage/",{data:r},this._mixpanel._prepare_callback(t,o)),o):(this._enqueue(e),b.isUndefined(t)||t(this._get_config("verbose")?{status:-1,error:null}:-1),o)},C.prototype._get_config=function(e){return this._mixpanel.get_config(e)},C.prototype._identify_called=function(){return!0===this._mixpanel._flags.identify_called},C.prototype._enqueue=function(e){"$set"in e?this._mixpanel.persistence._add_to_people_queue("$set",e):"$set_once"in e?this._mixpanel.persistence._add_to_people_queue("$set_once",e):"$add"in e?this._mixpanel.persistence._add_to_people_queue("$add",e):"$append"in e?this._mixpanel.persistence._add_to_people_queue("$append",e):"$union"in e?this._mixpanel.persistence._add_to_people_queue("$union",e):w.error("Invalid call to _enqueue():",e)},C.prototype._flush=function(e,t,i,o,n){var r=this,s=b.extend({},this._mixpanel.persistence._get_queue("$set")),a=b.extend({},this._mixpanel.persistence._get_queue("$set_once")),c=b.extend({},this._mixpanel.persistence._get_queue("$add")),p=this._mixpanel.persistence._get_queue("$append"),l=b.extend({},this._mixpanel.persistence._get_queue("$union"));if(b.isUndefined(s)||!b.isObject(s)||b.isEmptyObject(s)||(r._mixpanel.persistence._pop_from_people_queue("$set",s),this.set(s,function(t,i){0===t&&r._mixpanel.persistence._add_to_people_queue("$set",s),b.isUndefined(e)||e(t,i)})),b.isUndefined(a)||!b.isObject(a)||b.isEmptyObject(a)||(r._mixpanel.persistence._pop_from_people_queue("$set_once",a),this.set_once(a,function(e,t){0===e&&r._mixpanel.persistence._add_to_people_queue("$set_once",a),b.isUndefined(o)||o(e,t)})),b.isUndefined(c)||!b.isObject(c)||b.isEmptyObject(c)||(r._mixpanel.persistence._pop_from_people_queue("$add",c),this.increment(c,function(e,i){0===e&&r._mixpanel.persistence._add_to_people_queue("$add",c),b.isUndefined(t)||t(e,i)})),b.isUndefined(l)||!b.isObject(l)||b.isEmptyObject(l)||(r._mixpanel.persistence._pop_from_people_queue("$union",l),this.union(l,function(e,t){0===e&&r._mixpanel.persistence._add_to_people_queue("$union",l),b.isUndefined(n)||n(e,t)})),!b.isUndefined(p)&&b.isArray(p)&&p.length){for(var d,_=function(e,t){0===e&&r._mixpanel.persistence._add_to_people_queue("$append",d),b.isUndefined(i)||i(e,t)},u=p.length-1;u>=0;u--)d=p.pop(),r.append(d,_);r._mixpanel.persistence.save()}},C.prototype._is_reserved_property=function(e){return"$distinct_id"===e||"$token"===e},D._Notification=function(e,t){b.bind_instance_methods(this),this.mixpanel=t,this.persistence=this.mixpanel.persistence,this.campaign_id=b.escapeHTML(e.id),this.message_id=b.escapeHTML(e.message_id),this.body=(b.escapeHTML(e.body)||"").replace(/\n/g,"
"),this.cta=b.escapeHTML(e.cta)||"Close",this.notif_type=b.escapeHTML(e.type)||"takeover",this.style=b.escapeHTML(e.style)||"light",this.title=b.escapeHTML(e.title)||"",this.video_width=B.VIDEO_WIDTH,this.video_height=B.VIDEO_HEIGHT,this.dest_url=e.cta_url||null,this.image_url=e.image_url||null,this.thumb_image_url=e.thumb_image_url||null,this.video_url=e.video_url||null,this.clickthrough=!0,this.dest_url||(this.dest_url="#dismiss",this.clickthrough=!1),this.mini="mini"===this.notif_type,this.mini||(this.notif_type="takeover"),this.notif_width=this.mini?B.NOTIF_WIDTH_MINI:B.NOTIF_WIDTH,this._set_client_config(),this.imgs_to_preload=this._init_image_html(),this._init_video()},B=D._Notification,B.ANIM_TIME=200,B.MARKUP_PREFIX="mixpanel-notification",B.BG_OPACITY=.6,B.NOTIF_TOP=25,B.NOTIF_START_TOP=200,B.NOTIF_WIDTH=388,B.NOTIF_WIDTH_MINI=420,B.NOTIF_HEIGHT_MINI=85,B.THUMB_BORDER_SIZE=5,B.THUMB_IMG_SIZE=60,B.THUMB_OFFSET=Math.round(B.THUMB_IMG_SIZE/2),B.VIDEO_WIDTH=595,B.VIDEO_HEIGHT=334,B.prototype.show=function(){var e=this;if(this._set_client_config(),!this.body_el)return void setTimeout(function(){e.show()},300);this._init_styles(),this._init_notification_el(),this._preload_images(this._attach_and_animate)},B.prototype.dismiss=b.safewrap(function(){this.marked_as_shown||this._mark_delivery({invisible:!0});var e=this.showing_video?this._get_el("video"):this._get_notification_display_el();if(this.use_transitions)this._remove_class("bg","visible"),this._add_class(e,"exiting"),setTimeout(this._remove_notification_el,B.ANIM_TIME);else{var t,i,o;this.mini?(t="right",i=20,o=-100):(t="top",i=B.NOTIF_TOP,o=B.NOTIF_START_TOP+B.NOTIF_TOP),this._animate_els([{el:this._get_el("bg"),attr:"opacity",start:B.BG_OPACITY,goal:0},{el:e,attr:"opacity",start:1,goal:0},{el:e,attr:t,start:i,goal:o}],B.ANIM_TIME,this._remove_notification_el)}}),B.prototype._add_class=b.safewrap(function(e,t){t=B.MARKUP_PREFIX+"-"+t,"string"==typeof e&&(e=this._get_el(e)),e.className?~(" "+e.className+" ").indexOf(" "+t+" ")||(e.className+=" "+t):e.className=t}),B.prototype._remove_class=b.safewrap(function(e,t){t=B.MARKUP_PREFIX+"-"+t,"string"==typeof e&&(e=this._get_el(e)),e.className&&(e.className=(" "+e.className+" ").replace(" "+t+" ","").replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,""))}),B.prototype._animate_els=b.safewrap(function(e,t,i,o){var n,r,s,a=this,c=!1,p=1*new Date;for(o=o||p,s=p-o,n=0;n=r.start?1:-1;r.val=r.start+l*s/t,"opacity"!==r.attr&&(r.val=Math.round(r.val)),(d>0&&r.val>=r.goal||d<0&&r.val<=r.goal)&&(r.val=r.goal)}if(!c)return void(i&&i());for(n=0;n'):this.img_html="",this.thumb_image_url?(e.push(this.thumb_image_url),this.thumb_img_html='
'):this.thumb_img_html=""),e},B.prototype._init_notification_el=function(){var e="",t="",i="",o='
';if(this.notification_el=document.createElement("div"),this.notification_el.id=B.MARKUP_PREFIX+"-wrapper",this.mini)e='
'+o+'
'+this.body+'
';else{var n=this.clickthrough||this.show_video?"":'
',r=this.show_video?'
':"";this._browser_lte("ie",7)&&(n="",r=""),e='
'+this.thumb_img_html+'
'+o+'
'+this.img_html+'
'+this.title+'
'+this.body+'
'+n+''+this.cta+""+r+"
"}this.youtube_video?(t="//www.youtube.com/embed/"+this.youtube_video+"?wmode=transparent&showinfo=0&modestbranding=0&rel=0&autoplay=1&loop=0&vq=hd1080",this.yt_custom&&(t+="&enablejsapi=1&html5=1&controls=0",i='
')):this.vimeo_video&&(t="//player.vimeo.com/video/"+this.vimeo_video+"?autoplay=1&title=0&byline=0&portrait=0"),this.show_video&&(this.video_iframe='',i='
'+i+"
");var s=i+e;this.flip_animate&&(s=(this.mini?e:"")+'
'+(this.mini?i:s)+"
"),this.notification_el.innerHTML=('
'+s+"
").replace(/class=\"/g,'class="'+B.MARKUP_PREFIX+"-").replace(/id=\"/g,'id="'+B.MARKUP_PREFIX+"-")},B.prototype._init_styles=function(){"dark"===this.style?this.style_vals={bg:"#1d1f25",bg_actions:"#282b32",bg_hover:"#3a4147",bg_light:"#4a5157",border_gray:"#32353c",cancel_opacity:"0.4",mini_hover:"#2a3137",text_title:"#fff",text_main:"#9498a3",text_tagline:"#464851",text_hover:"#ddd"}:this.style_vals={bg:"#fff",bg_actions:"#e7eaee",bg_hover:"#eceff3",bg_light:"#f5f5f5",border_gray:"#e4ecf2",cancel_opacity:"1.0",mini_hover:"#fafafa",text_title:"#5c6578",text_main:"#8b949b",text_tagline:"#ced9e6",text_hover:"#7c8598"};var e="0px 0px 35px 0px rgba(45, 49, 56, 0.7)",t=e,i=e,o=B.THUMB_IMG_SIZE+2*B.THUMB_BORDER_SIZE,n=B.ANIM_TIME/1e3+"s";this.mini&&(e="none");var r={};r["@media only screen and (max-width: "+(B.NOTIF_WIDTH_MINI+20-1)+"px)"]={"#overlay":{display:"none"}};var s={".flipped":{transform:"rotateY(180deg)"},"#overlay":{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",overflow:"auto","text-align":"center","z-index":"10000","font-family":'"Helvetica", "Arial", sans-serif',"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},"#overlay.mini":{height:"0",overflow:"visible"},"#overlay a":{width:"initial",padding:"0","text-decoration":"none","text-transform":"none",color:"inherit"},"#bgwrapper":{position:"relative",width:"100%",height:"100%"},"#bg":{position:"fixed",top:"0",left:"0",width:"100%",height:"100%","min-width":4*this.doc_width+"px","min-height":4*this.doc_height+"px","background-color":"black",opacity:"0.0","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)",filter:"alpha(opacity=60)",transition:"opacity "+n},"#bg.visible":{opacity:B.BG_OPACITY},".mini #bg":{width:"0",height:"0","min-width":"0"},"#flipcontainer":{perspective:"1000px",position:"absolute",width:"100%"},"#flipper":{position:"relative","transform-style":"preserve-3d",transition:"0.3s"},"#takeover":{position:"absolute",left:"50%",width:B.NOTIF_WIDTH+"px","margin-left":Math.round(-B.NOTIF_WIDTH/2)+"px","backface-visibility":"hidden",transform:"rotateY(0deg)",opacity:"0.0",top:B.NOTIF_START_TOP+"px",transition:"opacity "+n+", top "+n},"#takeover.visible":{opacity:"1.0",top:B.NOTIF_TOP+"px"},"#takeover.exiting":{opacity:"0.0",top:B.NOTIF_START_TOP+"px"},"#thumbspacer":{height:B.THUMB_OFFSET+"px"},"#thumbborder-wrapper":{position:"absolute",top:-B.THUMB_BORDER_SIZE+"px",left:B.NOTIF_WIDTH/2-B.THUMB_OFFSET-B.THUMB_BORDER_SIZE+"px",width:o+"px",height:o/2+"px",overflow:"hidden"},"#thumbborder":{position:"absolute",width:o+"px",height:o+"px","border-radius":o+"px","background-color":this.style_vals.bg_actions,opacity:"0.5"},"#thumbnail":{position:"absolute",top:"0px",left:B.NOTIF_WIDTH/2-B.THUMB_OFFSET+"px",width:B.THUMB_IMG_SIZE+"px",height:B.THUMB_IMG_SIZE+"px",overflow:"hidden","z-index":"100","border-radius":B.THUMB_IMG_SIZE+"px"},"#mini":{position:"absolute",right:"20px",top:B.NOTIF_TOP+"px",width:this.notif_width+"px",height:2*B.NOTIF_HEIGHT_MINI+"px","margin-top":20-B.NOTIF_HEIGHT_MINI+"px","backface-visibility":"hidden",opacity:"0.0",transform:"rotateX(90deg)",transition:"opacity 0.3s, transform 0.3s, right 0.3s"},"#mini.visible":{opacity:"1.0",transform:"rotateX(0deg)"},"#mini.exiting":{opacity:"0.0",right:"-150px"},"#mainbox":{"border-radius":"4px","box-shadow":e,"text-align":"center","background-color":this.style_vals.bg,"font-size":"14px",color:this.style_vals.text_main},"#mini #mainbox":{height:B.NOTIF_HEIGHT_MINI+"px","margin-top":B.NOTIF_HEIGHT_MINI+"px","border-radius":"3px",transition:"background-color "+n},"#mini-border":{height:B.NOTIF_HEIGHT_MINI+6+"px",width:B.NOTIF_WIDTH_MINI+6+"px",position:"absolute",top:"-3px",left:"-3px","margin-top":B.NOTIF_HEIGHT_MINI+"px","border-radius":"6px",opacity:"0.25","background-color":"#fff","z-index":"-1","box-shadow":i},"#mini-icon":{position:"relative",display:"inline-block",width:"75px",height:B.NOTIF_HEIGHT_MINI+"px","border-radius":"3px 0 0 3px","background-color":this.style_vals.bg_actions,background:"linear-gradient(135deg, "+this.style_vals.bg_light+" 0%, "+this.style_vals.bg_actions+" 100%)",transition:"background-color "+n},"#mini:hover #mini-icon":{"background-color":this.style_vals.mini_hover},"#mini:hover #mainbox":{"background-color":this.style_vals.mini_hover},"#mini-icon-img":{position:"absolute","background-image":"url("+this.thumb_image_url+")",width:"48px",height:"48px",top:"20px",left:"12px"},"#content":{padding:"30px 20px 0px 20px"},"#mini-content":{"text-align":"left",height:B.NOTIF_HEIGHT_MINI+"px",cursor:"pointer"},"#img":{width:"328px","margin-top":"30px","border-radius":"5px"},"#title":{"max-height":"600px",overflow:"hidden","word-wrap":"break-word",padding:"25px 0px 20px 0px","font-size":"19px","font-weight":"bold",color:this.style_vals.text_title},"#body":{"max-height":"600px","margin-bottom":"25px",overflow:"hidden","word-wrap":"break-word","line-height":"21px","font-size":"15px","font-weight":"normal","text-align":"left"},"#mini #body":{display:"inline-block","max-width":"250px",margin:"0 0 0 30px",height:B.NOTIF_HEIGHT_MINI+"px","font-size":"16px","letter-spacing":"0.8px",color:this.style_vals.text_title},"#mini #body-text":{display:"table",height:B.NOTIF_HEIGHT_MINI+"px"},"#mini #body-text div":{display:"table-cell","vertical-align":"middle"},"#tagline":{"margin-bottom":"15px","font-size":"10px","font-weight":"600","letter-spacing":"0.8px",color:"#ccd7e0","text-align":"left"},"#tagline a":{color:this.style_vals.text_tagline,transition:"color "+n},"#tagline a:hover":{color:this.style_vals.text_hover},"#cancel":{position:"absolute",right:"0",width:"8px",height:"8px",padding:"10px","border-radius":"20px",margin:"12px 12px 0 0","box-sizing":"content-box",cursor:"pointer",transition:"background-color "+n},"#mini #cancel":{margin:"7px 7px 0 0"},"#cancel-icon":{width:"8px",height:"8px",overflow:"hidden","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/cancel-x.png)",opacity:this.style_vals.cancel_opacity},"#cancel:hover":{"background-color":this.style_vals.bg_hover},"#button":{display:"block",height:"60px","line-height":"60px","text-align":"center","background-color":this.style_vals.bg_actions,"border-radius":"0 0 4px 4px",overflow:"hidden",cursor:"pointer",transition:"background-color "+n},"#button-close":{display:"inline-block",width:"9px",height:"60px","margin-right":"8px","vertical-align":"top","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/close-x-"+this.style+".png)","background-repeat":"no-repeat","background-position":"0px 25px"},"#button-play":{display:"inline-block",width:"30px",height:"60px","margin-left":"15px","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/play-"+this.style+"-small.png)","background-repeat":"no-repeat","background-position":"0px 15px"},"a#button-link":{display:"inline-block","vertical-align":"top","text-align":"center","font-size":"17px","font-weight":"bold",overflow:"hidden","word-wrap":"break-word",color:this.style_vals.text_title,transition:"color "+n},"#button:hover":{"background-color":this.style_vals.bg_hover,color:this.style_vals.text_hover},"#button:hover a":{color:this.style_vals.text_hover},"#video-noflip":{position:"relative",top:2*-this.video_height+"px"},"#video-flip":{"backface-visibility":"hidden",transform:"rotateY(180deg)"},"#video":{position:"absolute",width:this.video_width-1+"px",height:this.video_height+"px",top:B.NOTIF_TOP+"px","margin-top":"100px",left:"50%","margin-left":Math.round(-this.video_width/2)+"px",overflow:"hidden","border-radius":"5px","box-shadow":t,transform:"translateZ(1px)",transition:"opacity "+n+", top "+n},"#video.exiting":{opacity:"0.0",top:this.video_height+"px"},"#video-holder":{position:"absolute",width:this.video_width-1+"px",height:this.video_height+"px",overflow:"hidden","border-radius":"5px"},"#video-frame":{"margin-left":"-1px",width:this.video_width+"px"},"#video-controls":{opacity:"0",transition:"opacity 0.5s"},"#video:hover #video-controls":{opacity:"1.0"},"#video .video-progress-el":{position:"absolute",bottom:"0",height:"25px","border-radius":"0 0 0 5px"},"#video-progress":{width:"90%"},"#video-progress-total":{width:"100%","background-color":this.style_vals.bg,opacity:"0.7"},"#video-elapsed":{width:"0","background-color":"#6cb6f5",opacity:"0.9"},"#video #video-time":{width:"10%",right:"0","font-size":"11px","line-height":"25px",color:this.style_vals.text_main,"background-color":"#666","border-radius":"0 0 5px 0"}};this._browser_lte("ie",8)&&b.extend(s,{"* html #overlay":{position:"absolute"},"* html #bg":{position:"absolute"},"html, body":{height:"100%"}}),this._browser_lte("ie",7)&&b.extend(s,{"#mini #body":{display:"inline",zoom:"1",border:"1px solid "+this.style_vals.bg_hover},"#mini #body-text":{padding:"20px"},"#mini #mini-icon":{display:"none"}});var a=["backface-visibility","border-radius","box-shadow","opacity","perspective","transform","transform-style","transition"],c=["khtml","moz","ms","o","webkit"];for(var p in s)for(var l=0;l=33||this.browser_versions.firefox>=15)&&this.body_el&&o("backfaceVisibility")&&o("perspective")&&o("transform")},B.prototype._switch_to_video=b.safewrap(function(){var e=this,t=[{el:e._get_notification_display_el(),attr:"opacity",start:1,goal:0},{el:e._get_notification_display_el(),attr:"top",start:B.NOTIF_TOP,goal:-500},{el:e._get_el("video-noflip"),attr:"opacity",start:0,goal:1},{el:e._get_el("video-noflip"),attr:"top",start:2*-e.video_height,goal:0}];if(e.mini){var i=e._get_el("bg"),o=e._get_el("overlay");i.style.width="100%",i.style.height="100%",o.style.width="100%",e._add_class(e._get_notification_display_el(),"exiting"),e._add_class(i,"visible"),t.push({el:e._get_el("bg"),attr:"opacity",start:0,goal:B.BG_OPACITY})}e._get_el("video-holder").innerHTML=e.video_iframe;var n=function(){window.YT&&window.YT.loaded&&e._yt_video_ready(),e.showing_video=!0,e._get_notification_display_el().style.visibility="hidden"};e.flip_animate?(e._add_class("flipper","flipped"),setTimeout(n,B.ANIM_TIME)):e._animate_els(t,B.ANIM_TIME,n)}),B.prototype._track_event=function(e,t,i){this.campaign_id?(t=t||{},t=b.extend(t,{campaign_id:this.campaign_id,message_id:this.message_id,message_type:"web_inapp",message_subtype:this.notif_type}),this.mixpanel.track(e,t,i)):i&&i.call()},B.prototype._yt_video_ready=b.safewrap(function(){var e=this;if(!e.video_inited){e.video_inited=!0;var t=e._get_el("video-elapsed"),i=e._get_el("video-time"),o=e._get_el("video-progress");new window.YT.Player(B.MARKUP_PREFIX+"-video-frame",{events:{onReady:function(n){var r=n.target,s=r.getDuration(),a=function(e){return("00"+e).slice(-2)},c=function(e){var t=Math.round(s-e),o=Math.floor(t/60),n=Math.floor(o/60);t-=60*o,o-=60*n,i.innerHTML="-"+(n?n+":":"")+a(o)+":"+a(t)};c(0),e._video_progress_checker=window.setInterval(function(){var e=r.getCurrentTime();t.style.width=e/s*100+"%",c(e)},250),b.register_event(o,"click",function(e){var t=Math.max(0,e.pageX-o.getBoundingClientRect().left);r.seekTo(s*t/o.clientWidth,!0)})}}})}}),D.prototype.init=D.prototype.init,D.prototype.reset=D.prototype.reset,D.prototype.disable=D.prototype.disable,D.prototype.time_event=D.prototype.time_event,D.prototype.track=D.prototype.track,D.prototype.track_links=D.prototype.track_links,D.prototype.track_forms=D.prototype.track_forms,D.prototype.track_pageview=D.prototype.track_pageview,D.prototype.register=D.prototype.register,D.prototype.register_once=D.prototype.register_once,D.prototype.unregister=D.prototype.unregister,D.prototype.identify=D.prototype.identify,D.prototype.alias=D.prototype.alias,D.prototype.name_tag=D.prototype.name_tag,D.prototype.set_config=D.prototype.set_config,D.prototype.get_config=D.prototype.get_config,D.prototype.get_property=D.prototype.get_property,D.prototype.get_distinct_id=D.prototype.get_distinct_id,D.prototype.toString=D.prototype.toString,D.prototype._check_and_handle_notifications=D.prototype._check_and_handle_notifications,D.prototype._show_notification=D.prototype._show_notification,U.prototype.properties=U.prototype.properties,U.prototype.update_search_keyword=U.prototype.update_search_keyword,U.prototype.update_referrer_info=U.prototype.update_referrer_info,U.prototype.get_cross_subdomain=U.prototype.get_cross_subdomain,U.prototype.clear=U.prototype.clear,C.prototype.set=C.prototype.set,C.prototype.set_once=C.prototype.set_once,C.prototype.increment=C.prototype.increment,C.prototype.append=C.prototype.append,C.prototype.union=C.prototype.union,C.prototype.track_charge=C.prototype.track_charge,C.prototype.clear_charges=C.prototype.clear_charges,C.prototype.delete_user=C.prototype.delete_user,C.prototype.toString=C.prototype.toString,b.safewrap_class(D,["identify","_check_and_handle_notifications","_show_notification"]);var q={},j=function(){b.each(q,function(e,t){"mixpanel"!==t&&(I[t]=e)}),I._=b},R=function(){I.init=function(e,t,i){if(i)return I[i]||(I[i]=q[i]=H(e,t,i),I[i]._loaded()),I[i];var o=I;q.mixpanel?o=q.mixpanel:e&&(o=H(e,t,"mixpanel"),o._loaded(),q.mixpanel=o),I=o,1===k&&(window.mixpanel=I),j()}},L=function(){function e(){e.done||(e.done=!0,P=!0,S=!1,b.each(q,function(e){e._dom_loaded()}))}function t(){try{document.documentElement.doScroll("left")}catch(e){return void setTimeout(t,1)}e()}if(document.addEventListener)"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",e);var i=!1;try{i=null===window.frameElement}catch(e){}document.documentElement.doScroll&&i&&t()}b.register_event(window,"load",e,!0)},G=function(e){var t=e.get_config("name");e.mp_counts=e.mp_counts||{},e.mp_counts.$__c=parseInt(b.cookie.get("mp_"+t+"__c"))||0;var i=function(){e.mp_counts.$__c=(e.mp_counts.$__c||0)+1,b.cookie.set("mp_"+t+"__c",e.mp_counts.$__c,1,!0)},o=function(){try{e.mp_counts=e.mp_counts||{},i()}catch(e){w.error(e)}};b.register_event(document,"submit",o),b.register_event(document,"change",o);var n=null;b.register_event(document,"mousedown",function(e){n=e.target}),b.register_event(document,"mouseup",function(e){e.target===n&&o()})},z=function(){return k=T,I=new D,R(),I.init(),L(),I}();e.exports=z}}); \ No newline at end of file diff --git a/public/mix-manifest.json b/public/mix-manifest.json new file mode 100644 index 0000000..68aba9a --- /dev/null +++ b/public/mix-manifest.json @@ -0,0 +1,3 @@ +{ + "/genealabs-laravel-mixpanel/js/mixpanel.js": "/genealabs-laravel-mixpanel/js/mixpanel.js?id=b34448d2a1dc011004fb" +} \ No newline at end of file diff --git a/webpack.mix.js b/webpack.mix.js new file mode 100644 index 0000000..b57afdc --- /dev/null +++ b/webpack.mix.js @@ -0,0 +1,16 @@ +let mix = require('laravel-mix'); + +/* + |-------------------------------------------------------------------------- + | Mix Asset Management + |-------------------------------------------------------------------------- + | + | Mix provides a clean, fluent API for defining some Webpack build steps + | for your Laravel application. By default, we are compiling the Sass + | file for the application as well as bundling up all the JS files. + | + */ + +mix.setPublicPath('public') + .js('resources/assets/js/mixpanel.js', 'genealabs-laravel-mixpanel/js') + .version(); diff --git a/yarn.lock b/yarn.lock index fe51552..3e5dc82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,79 +2,61 @@ # yarn lockfile v1 -"@gulp-sourcemaps/map-sources@1.X": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda" - dependencies: - normalize-path "^2.0.1" - through2 "^2.0.3" - -JSONStream@^1.0.3: - version "1.3.1" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - abbrev@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" -accepts@1.3.3, accepts@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" +accepts@~1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" dependencies: - mime-types "~2.1.11" + mime-types "~2.1.16" negotiator "0.6.1" -accord@^0.26.3: - version "0.26.4" - resolved "https://registry.yarnpkg.com/accord/-/accord-0.26.4.tgz#fc4c8d3ebab406a07cb28819b859651c44a92e80" - dependencies: - convert-source-map "^1.2.0" - glob "^7.0.5" - indx "^0.2.3" - lodash.clone "^4.3.2" - lodash.defaults "^4.0.1" - lodash.flatten "^4.2.0" - lodash.merge "^4.4.0" - lodash.partialright "^4.1.4" - lodash.pick "^4.2.1" - lodash.uniq "^4.3.0" - resolve "^1.1.7" - semver "^5.3.0" - uglify-js "^2.7.0" - when "^3.7.7" - -acorn-jsx@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" +acorn-dynamic-import@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" dependencies: - acorn "^3.0.4" + acorn "^4.0.3" -acorn-object-spread@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz#48ead0f4a8eb16995a17a0db9ffc6acaada4ba68" - dependencies: - acorn "^3.1.0" +acorn@^4.0.3: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" -acorn@4.X, acorn@^4.0.3: - version "4.0.11" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.11.tgz#edcda3bd937e7556410d42ed5860f67399c794c0" +acorn@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.2.tgz#911cb53e036807cf0fa778dc5d370fbd864246d7" -acorn@^3.0.4, acorn@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" +adjust-sourcemap-loader@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.1.0.tgz#412d92404eb61e4113635012cba53a33d008e0e2" + dependencies: + assert "^1.3.0" + camelcase "^1.2.1" + loader-utils "^1.0.2" + lodash.assign "^4.0.1" + lodash.defaults "^3.1.2" + object-path "^0.9.2" + regex-parser "^2.2.1" -after@0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" +ajv-keywords@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.0.tgz#a296e17f7bfae7c1ce4f7e0de53d29cb32162df0" ajv@^4.9.1: - version "4.11.7" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.7.tgz#8655a5d86d0824985cc471a1d913fb6729a0ec48" + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ajv@^5.0.0, ajv@^5.1.5: + version "5.2.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.3.tgz#c06f598778c44c6b161abafe3466b81ad1814ed2" dependencies: co "^4.6.0" + fast-deep-equal "^1.0.0" + json-schema-traverse "^0.3.0" json-stable-stringify "^1.0.1" align-text@^0.1.1, align-text@^0.1.3: @@ -93,51 +75,55 @@ amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" -ansi-regex@^0.2.0, ansi-regex@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" -ansi-styles@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" -ansi-styles@^2.1.0, ansi-styles@^2.2.1: +ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" +ansi-styles@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" ansicolors@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" anymatch@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" dependencies: - arrify "^1.0.0" micromatch "^2.1.5" + normalize-path "^2.0.0" aproba@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" +archive-type@^3.0.0, archive-type@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-3.2.0.tgz#9cd9c006957ebe95fadad5bd6098942a813737f6" + dependencies: + file-type "^3.1.0" are-we-there-yet@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" dependencies: delegates "^1.0.0" - readable-stream "^2.0.0 || ^1.1.13" + readable-stream "^2.0.6" argparse@^1.0.7: version "1.0.9" @@ -152,28 +138,31 @@ arr-diff@^2.0.0: arr-flatten "^1.0.1" arr-flatten@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" array-differ@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" -array-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" +array-flatten@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.1.tgz#426bb9da84090c1838d812c8150af20a8331e296" + +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" array-union@^1.0.1: version "1.0.2" @@ -181,7 +170,7 @@ array-union@^1.0.1: dependencies: array-uniq "^1.0.1" -array-uniq@^1.0.1, array-uniq@^1.0.2: +array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -189,18 +178,6 @@ array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" -arraybuffer.slice@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asap@~2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" - asn1.js@^4.0.0: version "4.9.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" @@ -221,36 +198,19 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assert@^1.4.0: +assert@^1.1.1, assert@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" dependencies: util "0.10.3" -assert@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.3.0.tgz#03939a622582a812cc202320a0b9a56c9b815849" - dependencies: - util "0.10.3" - -astw@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz#7bd41784d32493987aeb239b6b4e1c57a873b917" - dependencies: - acorn "^4.0.3" - -async-done@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.2.2.tgz#ba4280da55a16e15f4bb8bf3a844a91878740e31" - dependencies: - end-of-stream "^1.1.0" - next-tick "^1.0.0" - once "^1.3.2" - stream-exhaust "^1.0.1" +ast-types@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" -async-each-series@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" +async-each-series@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138" async-each@^1.0.0: version "1.0.1" @@ -260,17 +220,15 @@ async-foreach@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" -async@1.5.2, async@^1.2.1, async@^1.5.0: +async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - -async@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" +async@^2.1.2, async@^2.1.5, async@^2.4.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.5.0.tgz#843190fd6b7357a0b9e1c956edddd5ec8462b54d" + dependencies: + lodash "^4.14.0" asynckit@^0.4.0: version "0.4.0" @@ -280,15 +238,6 @@ atob@~1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" -autoprefixer-core@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/autoprefixer-core/-/autoprefixer-core-5.2.1.tgz#e640c414ae419aae21c1ad43c8ea0f3db82a566d" - dependencies: - browserslist "~0.4.0" - caniuse-db "^1.0.30000214" - num2fraction "^1.1.0" - postcss "~4.1.12" - autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" @@ -300,6 +249,17 @@ autoprefixer@^6.3.1: postcss "^5.2.16" postcss-value-parser "^3.2.3" +autoprefixer@^7.1.1: + version "7.1.5" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.5.tgz#d65d14b83c7cd1dd7bc801daa00557addf5a06b2" + dependencies: + browserslist "^2.5.0" + caniuse-lite "^1.0.30000744" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^6.0.13" + postcss-value-parser "^3.2.3" + aws-sign2@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" @@ -308,58 +268,58 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -babel-code-frame@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" +babel-code-frame@^6.11.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: - chalk "^1.1.0" + chalk "^1.1.3" esutils "^2.0.2" - js-tokens "^3.0.0" + js-tokens "^3.0.2" -babel-core@^6.0.14, babel-core@^6.0.2, babel-core@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" +babel-core@^6.24.1, babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" dependencies: - babel-code-frame "^6.22.0" - babel-generator "^6.24.1" + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" babel-helpers "^6.24.1" babel-messages "^6.23.0" - babel-register "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" slash "^1.0.0" - source-map "^0.5.0" + source-map "^0.5.6" -babel-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" +babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" dependencies: babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-types "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" detect-indent "^4.0.0" jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" + lodash "^4.17.4" + source-map "^0.5.6" trim-right "^1.0.1" -babel-helper-builder-react-jsx@^6.24.1: +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.24.1.tgz#0ad7917e33c8d751e646daca4e77cc19377d2cbc" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" dependencies: + babel-helper-explode-assignable-expression "^6.24.1" babel-runtime "^6.22.0" babel-types "^6.24.1" - esutils "^2.0.0" babel-helper-call-delegate@^6.24.1: version "6.24.1" @@ -371,13 +331,21 @@ babel-helper-call-delegate@^6.24.1: babel-types "^6.24.1" babel-helper-define-map@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.24.1.tgz#7a9747f258d8947d32d515f6aa1c7bd02204a080" + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" dependencies: babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: babel-runtime "^6.22.0" + babel-traverse "^6.24.1" babel-types "^6.24.1" - lodash "^4.2.0" babel-helper-function-name@^6.24.1: version "6.24.1" @@ -411,12 +379,22 @@ babel-helper-optimise-call-expression@^6.24.1: babel-types "^6.24.1" babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.24.1.tgz#d36e22fab1008d79d88648e32116868128456ce8" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" dependencies: + babel-helper-function-name "^6.24.1" babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" babel-types "^6.24.1" - lodash "^4.2.0" babel-helper-replace-supers@^6.24.1: version "6.24.1" @@ -436,6 +414,14 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" +babel-loader@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" + dependencies: + find-cache-dir "^1.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" @@ -448,13 +434,29 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-syntax-flow@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" -babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-to-generator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" babel-plugin-transform-es2015-arrow-functions@^6.22.0: version "6.22.0" @@ -468,17 +470,17 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.24.1.tgz#76c295dc3a4741b1665adfd3167215dcff32a576" +babel-plugin-transform-es2015-block-scoping@^6.23.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - lodash "^4.2.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.24.1: +babel-plugin-transform-es2015-classes@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -492,33 +494,33 @@ babel-plugin-transform-es2015-classes@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.24.1: +babel-plugin-transform-es2015-computed-properties@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.22.0: +babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.24.1: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.22.0: +babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.24.1: +babel-plugin-transform-es2015-function-name@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: @@ -532,7 +534,7 @@ babel-plugin-transform-es2015-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-modules-amd@^6.24.1: +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" dependencies: @@ -540,16 +542,16 @@ babel-plugin-transform-es2015-modules-amd@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-commonjs@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz#d3e310b40ef664a36622200097c6d440298f2bfe" +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" dependencies: babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-types "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" -babel-plugin-transform-es2015-modules-systemjs@^6.24.1: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: @@ -557,7 +559,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.24.1: +babel-plugin-transform-es2015-modules-umd@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: @@ -565,14 +567,14 @@ babel-plugin-transform-es2015-modules-umd@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.24.1: +babel-plugin-transform-es2015-object-super@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.24.1: +babel-plugin-transform-es2015-parameters@^6.23.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: @@ -583,7 +585,7 @@ babel-plugin-transform-es2015-parameters@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.24.1: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: @@ -596,7 +598,7 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.24.1: +babel-plugin-transform-es2015-sticky-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: @@ -610,13 +612,13 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.22.0: +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.24.1: +babel-plugin-transform-es2015-unicode-regex@^6.22.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: @@ -624,46 +626,26 @@ babel-plugin-transform-es2015-unicode-regex@^6.24.1: babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-flow-strip-types@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" - dependencies: - babel-plugin-syntax-flow "^6.18.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-display-name@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.23.0.tgz#4398910c358441dc4cef18787264d0412ed36b37" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-self@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" - dependencies: - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-source@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: - babel-plugin-syntax-jsx "^6.8.0" + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-react-jsx@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" dependencies: - babel-helper-builder-react-jsx "^6.24.1" - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" -babel-plugin-transform-regenerator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.24.1.tgz#b8da305ad43c3c99b4848e4fe4037b770d23c418" +babel-plugin-transform-regenerator@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: - regenerator-transform "0.9.11" + regenerator-transform "^0.10.0" babel-plugin-transform-strict-mode@^6.24.1: version "6.24.1" @@ -672,142 +654,112 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-preset-es2015@^6.1.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" +babel-preset-env@^1.5.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48" dependencies: babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" babel-plugin-transform-es2015-arrow-functions "^6.22.0" babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.24.1" - babel-plugin-transform-es2015-classes "^6.24.1" - babel-plugin-transform-es2015-computed-properties "^6.24.1" - babel-plugin-transform-es2015-destructuring "^6.22.0" - babel-plugin-transform-es2015-duplicate-keys "^6.24.1" - babel-plugin-transform-es2015-for-of "^6.22.0" - babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-plugin-transform-es2015-modules-systemjs "^6.24.1" - babel-plugin-transform-es2015-modules-umd "^6.24.1" - babel-plugin-transform-es2015-object-super "^6.24.1" - babel-plugin-transform-es2015-parameters "^6.24.1" - babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.22.0" - babel-plugin-transform-es2015-unicode-regex "^6.24.1" - babel-plugin-transform-regenerator "^6.24.1" - -babel-preset-flow@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" - dependencies: - babel-plugin-transform-flow-strip-types "^6.22.0" - -babel-preset-react@^6.1.18: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" - dependencies: - babel-plugin-syntax-jsx "^6.3.13" - babel-plugin-transform-react-display-name "^6.23.0" - babel-plugin-transform-react-jsx "^6.24.1" - babel-plugin-transform-react-jsx-self "^6.22.0" - babel-plugin-transform-react-jsx-source "^6.22.0" - babel-preset-flow "^6.23.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^2.1.2" + invariant "^2.2.2" + semver "^5.3.0" -babel-register@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.1.tgz#7e10e13a2f71065bdfad5a1787ba45bca6ded75f" +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" dependencies: - babel-core "^6.24.1" - babel-runtime "^6.22.0" - core-js "^2.4.0" + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" home-or-tmp "^2.0.0" - lodash "^4.2.0" + lodash "^4.17.4" mkdirp "^0.5.1" - source-map-support "^0.4.2" + source-map-support "^0.4.15" -babel-runtime@^6.18.0, babel-runtime@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: core-js "^2.4.0" - regenerator-runtime "^0.10.0" + regenerator-runtime "^0.11.0" -babel-template@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.24.1.tgz#04ae514f1f93b3a2537f2a0f60a5a45fb8308333" +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" - lodash "^4.2.0" + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" -babel-traverse@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: - babel-code-frame "^6.22.0" + babel-code-frame "^6.26.0" babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - babylon "^6.15.0" - debug "^2.2.0" - globals "^9.0.0" - invariant "^2.2.0" - lodash "^4.2.0" - -babel-types@^6.19.0, babel-types@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" - dependencies: - babel-runtime "^6.22.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^1.0.1" - -babelify@^7.2.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" - dependencies: - babel-core "^6.0.14" - object-assign "^4.0.0" - -babylon@^6.11.0, babylon@^6.15.0: - version "6.16.1" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3" + lodash "^4.17.4" + to-fast-properties "^1.0.3" -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" -balanced-match@^0.4.1, balanced-match@^0.4.2: +balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - -base64-js@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" base64-js@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" - -base64id@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" + version "1.2.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" -batch@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" bcrypt-pbkdf@^1.0.0: version "1.0.1" @@ -819,25 +771,63 @@ beeper@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +bin-build@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-2.2.0.tgz#11f8dd61f70ffcfa2bdcaa5b46f5e8fedd4221cc" dependencies: - callsite "1.0.0" + archive-type "^3.0.1" + decompress "^3.0.0" + download "^4.1.2" + exec-series "^1.0.0" + rimraf "^2.2.6" + tempfile "^1.0.0" + url-regex "^3.0.0" -binary-extensions@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" +bin-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-2.0.0.tgz#86f8e6f4253893df60dc316957f5af02acb05930" + dependencies: + executable "^1.0.0" -bl@^0.9.1: - version "0.9.5" - resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054" +bin-version-check@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0" dependencies: - readable-stream "~1.0.26" + bin-version "^1.0.0" + minimist "^1.1.0" + semver "^4.0.3" + semver-truncate "^1.0.0" -blob@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" +bin-version@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e" + dependencies: + find-versions "^1.0.0" + +bin-wrapper@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/bin-wrapper/-/bin-wrapper-3.0.2.tgz#67d3306262e4b1a5f2f88ee23464f6a655677aeb" + dependencies: + bin-check "^2.0.0" + bin-version-check "^2.1.0" + download "^4.0.0" + each-async "^1.1.1" + lazy-req "^1.0.0" + os-filter-obj "^1.0.0" + +binary-extensions@^1.0.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" + +bl@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" + dependencies: + readable-stream "^2.0.5" block-stream@*: version "0.0.9" @@ -845,9 +835,39 @@ block-stream@*: dependencies: inherits "~2.0.0" +bluebird@^3.1.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +body-parser@1.18.2: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" boom@2.x.x: version "2.10.1" @@ -855,15 +875,11 @@ boom@2.x.x: dependencies: hoek "2.x.x" -bowser@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-1.0.0.tgz#0290420bfb88013155754e20fa0de5279bcd810a" - -brace-expansion@^1.0.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" +brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" dependencies: - balanced-match "^0.4.1" + balanced-match "^1.0.0" concat-map "0.0.1" braces@^1.8.2: @@ -878,90 +894,16 @@ brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" -browser-pack@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-5.0.1.tgz#4197719b20c6e0aaa09451c5111e53efb6fbc18d" - dependencies: - JSONStream "^1.0.3" - combine-source-map "~0.6.1" - defined "^1.0.0" - through2 "^1.0.0" - umd "^3.0.0" - -browser-pack@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.2.tgz#f86cd6cef4f5300c8e63e07a4d512f65fbff4531" - dependencies: - JSONStream "^1.0.3" - combine-source-map "~0.7.1" - defined "^1.0.0" - through2 "^2.0.0" - umd "^3.0.0" - -browser-resolve@^1.11.0, browser-resolve@^1.7.0, browser-resolve@^1.7.1: - version "1.11.2" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" - dependencies: - resolve "1.1.7" - -browser-sync-client@2.4.5: - version "2.4.5" - resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.4.5.tgz#976afab1a54f255baa38fe22ae3c0d3753ad337b" - dependencies: - etag "^1.7.0" - fresh "^0.3.0" - -browser-sync-ui@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-0.6.3.tgz#640a537c180689303d5be92bc476b9ebc441c0bc" - dependencies: - async-each-series "0.1.1" - connect-history-api-fallback "^1.1.0" - immutable "^3.7.6" - server-destroy "1.0.1" - stream-throttle "^0.1.3" - weinre "^2.0.0-pre-I0Z7U9OV" - -browser-sync@^2.7.10: - version "2.18.8" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.18.8.tgz#2fb4de253798d7cfb839afb9c2f801968490cec2" - dependencies: - browser-sync-client "2.4.5" - browser-sync-ui "0.6.3" - bs-recipes "1.3.4" - chokidar "1.6.1" - connect "3.5.0" - dev-ip "^1.0.1" - easy-extender "2.3.2" - eazy-logger "3.0.2" - emitter-steward "^1.0.0" - fs-extra "1.0.0" - http-proxy "1.15.2" - immutable "3.8.1" - localtunnel "1.8.2" - micromatch "2.3.11" - opn "4.0.2" - portscanner "2.1.1" - qs "6.2.1" - resp-modifier "6.0.2" - rx "4.1.0" - serve-index "1.8.0" - serve-static "1.11.1" - server-destroy "1.0.1" - socket.io "1.6.0" - socket.io-client "1.6.0" - ua-parser-js "0.7.12" - yargs "6.4.0" - browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" + version "1.1.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.0.tgz#1d2ad62a8b479f23f0ab631c1be86a82dbccbe48" dependencies: - buffer-xor "^1.0.2" + buffer-xor "^1.0.3" cipher-base "^1.0.0" create-hash "^1.1.0" - evp_bytestokey "^1.0.0" + evp_bytestokey "^1.0.3" inherits "^2.0.1" + safe-buffer "^5.0.1" browserify-cipher@^1.0.0: version "1.0.0" @@ -998,118 +940,12 @@ browserify-sign@^4.0.0: inherits "^2.0.1" parse-asn1 "^5.0.0" -browserify-zlib@~0.1.2: +browserify-zlib@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" dependencies: pako "~0.2.0" -browserify@^11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/browserify/-/browserify-11.2.0.tgz#a11bb9dd209d79572b813f7eeeaf828a5f5c0e4e" - dependencies: - JSONStream "^1.0.3" - assert "~1.3.0" - browser-pack "^5.0.0" - browser-resolve "^1.7.1" - browserify-zlib "~0.1.2" - buffer "^3.0.0" - builtins "~0.0.3" - commondir "0.0.1" - concat-stream "~1.4.1" - console-browserify "^1.1.0" - constants-browserify "~0.0.1" - crypto-browserify "^3.0.0" - defined "^1.0.0" - deps-sort "^1.3.7" - domain-browser "~1.1.0" - duplexer2 "~0.0.2" - events "~1.0.0" - glob "^4.0.5" - has "^1.0.0" - htmlescape "^1.1.0" - https-browserify "~0.0.0" - inherits "~2.0.1" - insert-module-globals "^6.4.1" - isarray "0.0.1" - labeled-stream-splicer "^1.0.0" - module-deps "^3.7.11" - os-browserify "~0.1.1" - parents "^1.0.1" - path-browserify "~0.0.0" - process "~0.11.0" - punycode "^1.3.2" - querystring-es3 "~0.2.0" - read-only-stream "^1.1.1" - readable-stream "^2.0.2" - resolve "^1.1.4" - shasum "^1.0.0" - shell-quote "~0.0.1" - stream-browserify "^2.0.0" - stream-http "^1.2.0" - string_decoder "~0.10.0" - subarg "^1.0.0" - syntax-error "^1.1.1" - through2 "^1.0.0" - timers-browserify "^1.0.1" - tty-browserify "~0.0.0" - url "~0.10.1" - util "~0.10.1" - vm-browserify "~0.0.1" - xtend "^4.0.0" - -browserify@^14.0.0: - version "14.3.0" - resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.3.0.tgz#fd003a2386ac1aec127f097885a3cc6373b745c4" - dependencies: - JSONStream "^1.0.3" - assert "^1.4.0" - browser-pack "^6.0.1" - browser-resolve "^1.11.0" - browserify-zlib "~0.1.2" - buffer "^5.0.2" - cached-path-relative "^1.0.0" - concat-stream "~1.5.1" - console-browserify "^1.1.0" - constants-browserify "~1.0.0" - crypto-browserify "^3.0.0" - defined "^1.0.0" - deps-sort "^2.0.0" - domain-browser "~1.1.0" - duplexer2 "~0.1.2" - events "~1.1.0" - glob "^7.1.0" - has "^1.0.0" - htmlescape "^1.1.0" - https-browserify "^1.0.0" - inherits "~2.0.1" - insert-module-globals "^7.0.0" - labeled-stream-splicer "^2.0.0" - module-deps "^4.0.8" - os-browserify "~0.1.1" - parents "^1.0.1" - path-browserify "~0.0.0" - process "~0.11.0" - punycode "^1.3.2" - querystring-es3 "~0.2.0" - read-only-stream "^2.0.0" - readable-stream "^2.0.2" - resolve "^1.1.4" - shasum "^1.0.0" - shell-quote "^1.6.1" - stream-browserify "^2.0.0" - stream-http "^2.0.0" - string_decoder "~0.10.0" - subarg "^1.0.0" - syntax-error "^1.1.1" - through2 "^2.0.0" - timers-browserify "^1.0.1" - tty-browserify "~0.0.0" - url "~0.11.0" - util "~0.10.1" - vm-browserify "~0.0.1" - xtend "^4.0.0" - browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: version "1.7.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" @@ -1117,81 +953,60 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" -browserslist@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-0.4.0.tgz#3bd4ab9199dc1b9150d4d6dba4d9d3aabbc86dd4" +browserslist@^2.1.2, browserslist@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.5.1.tgz#68e4bc536bbcc6086d62843a2ffccea8396821c6" dependencies: - caniuse-db "^1.0.30000153" + caniuse-lite "^1.0.30000744" + electron-to-chromium "^1.3.24" -bs-recipes@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585" +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" -buble@^0.12.0: - version "0.12.5" - resolved "https://registry.yarnpkg.com/buble/-/buble-0.12.5.tgz#c66ffe92f9f4a3c65d3256079b711e2bd0bc5013" - dependencies: - acorn "^3.1.0" - acorn-jsx "^3.0.1" - acorn-object-spread "^1.0.0" - chalk "^1.1.3" - magic-string "^0.14.0" - minimist "^1.2.0" - os-homedir "^1.0.1" +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" -bubleify@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/bubleify/-/bubleify-0.5.1.tgz#f65c47cee31b80cad8b9e747bbe187d7fe51e927" +buffer-to-vinyl@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262" dependencies: - buble "^0.12.0" - object-assign "^4.0.1" - -buffer-shims@^1.0.0, buffer-shims@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + file-type "^3.1.0" + readable-stream "^2.0.2" + uuid "^2.0.1" + vinyl "^1.0.0" -buffer-xor@^1.0.2: +buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" -buffer@^3.0.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" - dependencies: - base64-js "0.0.8" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.0.2: - version "5.0.6" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588" +buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" + isarray "^1.0.0" builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -builtin-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-1.0.0.tgz#30637ee262978ac07174e16d7f82f0ad06e085ad" - builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" -builtins@~0.0.3: - version "0.0.7" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-0.0.7.tgz#355219cd6cf18dbe7c01cc7fd2dce765cfdc549a" - -cached-path-relative@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" -callsite@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" camelcase-keys@^2.0.0: version "2.1.0" @@ -1212,6 +1027,10 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" +camelcase@^4.0.0, camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + caniuse-api@^1.5.2: version "1.6.1" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" @@ -1221,9 +1040,17 @@ caniuse-api@^1.5.2: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-db@^1.0.30000153, caniuse-db@^1.0.30000214, caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: - version "1.0.30000655" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000655.tgz#e40b6287adc938848d6708ef83d65b5f54ac1874" +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000747" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000747.tgz#8f5bd6c1e5e6045a4d4e6c6a3a592d19e1a8b514" + +caniuse-lite@^1.0.30000744: + version "1.0.30000747" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000747.tgz#da86e78e12d0641abeeaee6ecd55d81bd9bd3b5d" + +capture-stack-trace@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" cardinal@^1.0.0: version "1.0.0" @@ -1232,14 +1059,19 @@ cardinal@^1.0.0: ansicolors "~0.2.1" redeyed "~1.0.0" -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" +caw@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034" + dependencies: + get-proxy "^1.0.1" + is-obj "^1.0.0" + object-assign "^3.0.0" + tunnel-agent "^0.4.0" + center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" @@ -1247,7 +1079,7 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" -chalk@*, chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1257,45 +1089,21 @@ chalk@*, chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@0.4.x: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - -chalk@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" - dependencies: - ansi-styles "^2.1.0" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" +chalk@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.2.0.tgz#477b3bf2f9b8fd5ca9e429747e37f724ee7af240" dependencies: - ansi-styles "^1.1.0" - escape-string-regexp "^1.0.0" - has-ansi "^0.1.0" - strip-ansi "^0.3.0" - supports-color "^0.2.0" + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" -chalkline@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/chalkline/-/chalkline-0.0.4.tgz#c0bb6cd2268f5a306a3d4ae5be8aa23a14a9c12d" - dependencies: - ansi-styles "^2.1.0" - chalk "^1.1.1" - escape-string-regexp "^1.0.3" +charenc@~0.0.1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" -chokidar@1.6.1, chokidar@^1.0.0, chokidar@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" +chokidar@^1.6.0, chokidar@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -1308,18 +1116,25 @@ chokidar@1.6.1, chokidar@^1.0.0, chokidar@^1.6.1: optionalDependencies: fsevents "^1.0.0" -cipher-base@^1.0.0, cipher-base@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" dependencies: inherits "^2.0.1" + safe-buffer "^5.0.1" clap@^1.0.9: - version "1.1.3" - resolved "https://registry.yarnpkg.com/clap/-/clap-1.1.3.tgz#b3bd36e93dd4cbfb395a3c26896352445265c05b" + version "1.2.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" dependencies: chalk "^1.1.3" +clean-css@4.1.x, clean-css@^4.1.3: + version "4.1.9" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.9.tgz#35cee8ae7687a49b98034f70de00c4edd3826301" + dependencies: + source-map "0.5.x" + cli-table@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" @@ -1341,7 +1156,7 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" -cliui@^3.0.3, cliui@^3.2.0: +cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" dependencies: @@ -1349,18 +1164,19 @@ cliui@^3.0.3, cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" +clone-deep@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.3.0.tgz#348c61ae9cdbe0edfe053d91ff4cc521d790ede8" + dependencies: + for-own "^1.0.0" + is-plain-object "^2.0.1" + kind-of "^3.2.2" + shallow-clone "^0.1.2" -clone-stats@^0.0.1, clone-stats@~0.0.1: +clone-stats@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - clone@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" @@ -1369,21 +1185,17 @@ clone@^1.0.0, clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" -cloneable-readable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117" - dependencies: - inherits "^2.0.1" - process-nextick-args "^1.0.6" - through2 "^2.0.1" +co@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" coa@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.1.tgz#7f959346cfc8719e3f7233cd6852854a7c67d8a3" + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" dependencies: q "^1.1.2" @@ -1391,19 +1203,15 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" -coffee-script@^1.10.0: - version "1.12.5" - resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.5.tgz#809f4585419112bbfe46a073ad7543af18c27346" - -color-convert@^1.3.0: +color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" dependencies: color-name "^1.1.1" color-name@^1.0.0, color-name@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d" + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" color-string@^0.3.0: version "0.3.0" @@ -1427,7 +1235,7 @@ colormin@^1.0.5: css-color-names "0.0.4" has "^1.0.1" -colors@1.0.3, colors@1.0.x: +colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" @@ -1435,102 +1243,65 @@ colors@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" -combine-source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.6.1.tgz#9b4a09c316033d768e0f11e029fa2730e079ad96" - dependencies: - convert-source-map "~1.1.0" - inline-source-map "~0.5.0" - lodash.memoize "~3.0.3" - source-map "~0.4.2" - -combine-source-map@~0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e" - dependencies: - convert-source-map "~1.1.0" - inline-source-map "~0.6.0" - lodash.memoize "~3.0.3" - source-map "~0.5.3" - combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" dependencies: delayed-stream "~1.0.0" -commander@^2.2.0, commander@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" +commander@2.11.x, commander@~2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + +commander@~2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" dependencies: graceful-readlink ">= 1.0.0" -commondir@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-0.0.1.tgz#89f00fdcd51b519c578733fec563e6a6da7f5be2" - -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - -component-emitter@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" -component-emitter@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" +compressible@~2.0.11: + version "2.0.11" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.11.tgz#16718a75de283ed8e604041625a2064586797d8a" + dependencies: + mime-db ">= 1.29.0 < 2" -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" +compression@^1.5.2: + version "1.7.1" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.1.tgz#eff2603efc2e22cf86f35d2eb93589f9875373db" + dependencies: + accepts "~1.3.4" + bytes "3.0.0" + compressible "~2.0.11" + debug "2.6.9" + on-headers "~1.0.1" + safe-buffer "5.1.1" + vary "~1.1.2" concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@~1.4.1, concat-stream@~1.4.5: - version "1.4.10" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.4.10.tgz#acc3bbf5602cb8cc980c6ac840fa7d8603e3ef36" - dependencies: - inherits "~2.0.1" - readable-stream "~1.1.9" - typedarray "~0.0.5" - -concat-stream@~1.5.0, concat-stream@~1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - -concat-with-sourcemaps@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz#f55b3be2aeb47601b10a2d5259ccfb70fd2f1dd6" +concat-stream@^1.4.6, concat-stream@^1.4.7: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: - source-map "^0.5.1" - -connect-history-api-fallback@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" -connect@1.x: - version "1.9.2" - resolved "https://registry.yarnpkg.com/connect/-/connect-1.9.2.tgz#42880a22e9438ae59a8add74e437f58ae8e52807" +concatenate@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/concatenate/-/concatenate-0.0.2.tgz#0b49d6e8c41047d7728cdc8d62a086623397b49f" dependencies: - formidable "1.0.x" - mime ">= 0.0.1" - qs ">= 0.4.0" + globs "^0.1.2" -connect@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198" - dependencies: - debug "~2.2.0" - finalhandler "0.5.0" - parseurl "~1.3.1" - utils-merge "1.0.0" +connect-history-api-fallback@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.4.0.tgz#3db24f973f4b923b0e82f619ce0df02411ca623d" console-browserify@^1.1.0: version "1.1.0" @@ -1542,34 +1313,64 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" -constants-browserify@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2" +console-stream@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/console-stream/-/console-stream-0.1.1.tgz#a095fe07b20465955f2fafd28b5d72bccd949d44" -constants-browserify@~1.0.0: +consolidate@^0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63" + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" -convert-source-map@1.X, convert-source-map@^1.1.0, convert-source-map@^1.2.0: +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + +convert-source-map@^1.1.1, convert-source-map@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" -convert-source-map@~1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" -core-js@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" -core-util-is@~1.0.0: +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" + dependencies: + is-directory "^0.3.1" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" + create-ecdh@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" @@ -1577,21 +1378,38 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-hash@^1.1.0, create-hash@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad" +create-error-class@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + dependencies: + capture-stack-trace "^1.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" dependencies: cipher-base "^1.0.1" inherits "^2.0.1" - ripemd160 "^1.0.0" - sha.js "^2.3.6" + ripemd160 "^2.0.0" + sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.4.tgz#d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170" +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.6" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" dependencies: + cipher-base "^1.0.3" create-hash "^1.1.0" inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-env@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.1.0.tgz#1f12d6b3777d5847dcf9cf39fbee3c6a76dd5058" + dependencies: + cross-spawn "^5.1.0" + is-windows "^1.0.0" cross-spawn@^3.0.0: version "3.0.1" @@ -1600,15 +1418,27 @@ cross-spawn@^3.0.0: lru-cache "^4.0.1" which "^1.2.9" +cross-spawn@^5.0.1, cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +crypt@~0.0.1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + cryptiles@2.x.x: version "2.0.5" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" dependencies: boom "2.x.x" -crypto-browserify@^3.0.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" +crypto-browserify@^3.11.0: + version "3.11.1" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.1.tgz#948945efc6757a400d6e5e5af47194d10064279f" dependencies: browserify-cipher "^1.0.0" browserify-sign "^4.0.0" @@ -1625,7 +1455,34 @@ css-color-names@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" -css@2.X: +css-loader@^0.28.3: + version "0.28.7" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b" + dependencies: + babel-code-frame "^6.11.0" + css-selector-tokenizer "^0.7.0" + cssnano ">=2.6.1 <4" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.0.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.0.0" + postcss-modules-local-by-default "^1.0.1" + postcss-modules-scope "^1.0.0" + postcss-modules-values "^1.1.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + +css-selector-tokenizer@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +css@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" dependencies: @@ -1634,7 +1491,11 @@ css@2.X: source-map-resolve "^0.3.0" urix "^0.1.0" -cssnano@^3.0.0: +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + +"cssnano@>=2.6.1 <4": version "3.10.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" dependencies: @@ -1684,9 +1545,11 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cycle@1.0.x: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" dashdash@^1.12.0: version "1.14.1" @@ -1698,74 +1561,112 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -dateformat@^1.0.7-1.2.3: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - dateformat@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" + version "2.2.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" -deap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/deap/-/deap-1.0.0.tgz#b148bf82430a27699b7483a03eb6b67585bfc888" +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" -debug-fabulous@0.0.X: - version "0.0.4" - resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-0.0.4.tgz#fa071c5d87484685424807421ca4b16b0b1a0763" +debug@2.6.9, debug@^2.2.0, debug@^2.6.6, debug@^2.6.8: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: - debug "2.X" - lazy-debug-legacy "0.0.X" - object-assign "4.1.0" + ms "2.0.0" -debug@2.2.0, debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decompress-tar@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-3.1.0.tgz#217c789f9b94450efaadc5c5e537978fc333c466" dependencies: - ms "0.7.1" + is-tar "^1.0.0" + object-assign "^2.0.0" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" -debug@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" +decompress-tarbz2@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz#8b23935681355f9f189d87256a0f8bdd96d9666d" dependencies: - ms "0.7.2" + is-bzip2 "^1.0.0" + object-assign "^2.0.0" + seek-bzip "^1.0.3" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" -debug@2.X, debug@^2.1.1, debug@^2.2.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d" +decompress-targz@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-3.1.0.tgz#b2c13df98166268991b715d6447f642e9696f5a0" dependencies: - ms "0.7.2" + is-gzip "^1.0.0" + object-assign "^2.0.0" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" +decompress-unzip@^3.0.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-3.4.0.tgz#61475b4152066bbe3fee12f9d629d15fe6478eeb" + dependencies: + is-zip "^1.0.0" + read-all-stream "^3.0.0" + stat-mode "^0.2.0" + strip-dirs "^1.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + yauzl "^2.2.1" + +decompress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-3.0.0.tgz#af1dd50d06e3bfc432461d37de11b38c0d991bed" + dependencies: + buffer-to-vinyl "^1.0.0" + concat-stream "^1.4.6" + decompress-tar "^3.0.0" + decompress-tarbz2 "^3.0.0" + decompress-targz "^3.0.0" + decompress-unzip "^3.0.0" + stream-combiner2 "^1.1.1" + vinyl-assign "^1.0.1" + vinyl-fs "^2.2.0" + +deep-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" deep-extend@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" -defaults@^1.0.0, defaults@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" dependencies: - clone "^1.0.2" + foreach "^2.0.5" + object-keys "^1.0.8" defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" -del@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/del/-/del-1.2.1.tgz#aed6e5bcd7cb7325df34f563125fa265b2c1a014" +del@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" dependencies: - each-async "^1.0.0" - globby "^2.0.0" + globby "^6.1.0" is-path-cwd "^1.0.0" is-path-in-cwd "^1.0.0" - object-assign "^3.0.0" + p-map "^1.1.1" + pify "^3.0.0" rimraf "^2.2.8" delayed-stream@~1.0.0: @@ -1776,31 +1677,9 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -depd@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" - -deprecated@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" - -deps-sort@^1.3.7: - version "1.3.9" - resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-1.3.9.tgz#29dfff53e17b36aecae7530adbbbf622c2ed1a71" - dependencies: - JSONStream "^1.0.3" - shasum "^1.0.0" - subarg "^1.0.0" - through2 "^1.0.0" - -deps-sort@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5" - dependencies: - JSONStream "^1.0.3" - shasum "^1.0.0" - subarg "^1.0.0" - through2 "^2.0.0" +depd@1.1.1, depd@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" des.js@^1.0.0: version "1.0.0" @@ -1813,37 +1692,16 @@ destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" -detect-file@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" - dependencies: - fs-exists-sync "^0.1.0" - detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" dependencies: repeating "^2.0.0" -detect-newline@2.X: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - detect-node@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" -detective@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-4.5.0.tgz#6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1" - dependencies: - acorn "^4.0.3" - defined "^1.0.0" - -dev-ip@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" - diffie-hellman@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" @@ -1852,54 +1710,96 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -domain-browser@~1.1.0: +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + +dns-packet@^1.0.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.2.2.tgz#a8a26bec7646438963fc86e06f8f8b16d6c8bf7a" + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + dependencies: + buffer-indexof "^1.0.0" + +domain-browser@^1.1.1: version "1.1.7" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" -duplexer2@0.0.2, duplexer2@~0.0.2: +dotenv-expand@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.0.1.tgz#68fddc1561814e0a10964111057ff138ced7d7a8" + +dotenv@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" + +download@^4.0.0, download@^4.1.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac" + dependencies: + caw "^1.0.1" + concat-stream "^1.4.7" + each-async "^1.0.0" + filenamify "^1.0.1" + got "^5.0.0" + gulp-decompress "^1.2.0" + gulp-rename "^1.2.0" + is-url "^1.2.0" + object-assign "^4.0.1" + read-all-stream "^3.0.0" + readable-stream "^2.0.2" + stream-combiner2 "^1.1.1" + vinyl "^1.0.0" + vinyl-fs "^2.2.0" + ware "^1.2.0" + +duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" dependencies: readable-stream "~1.1.9" -duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: +duplexer2@^0.1.4, duplexer2@~0.1.0: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" dependencies: readable-stream "^2.0.2" -each-async@^1.0.0: +duplexify@^3.2.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.1.tgz#4e1516be68838bc90a49994f0b39a6e5960befcd" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +each-async@^1.0.0, each-async@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" dependencies: onetime "^1.0.0" set-immediate-shim "^1.0.0" -easy-extender@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d" +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" dependencies: - lodash "^3.10.1" - -eazy-logger@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc" - dependencies: - tfunk "^3.0.1" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" + jsbn "~0.1.0" ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -electron-to-chromium@^1.2.7: - version "1.3.3" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.3.tgz#651eb63fe89f39db70ffc8dbd5d9b66958bc6a0e" +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.24: + version "1.3.26" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.26.tgz#996427294861a74d9c7c82b9260ea301e8c02d66" elliptic@^6.0.0: version "6.4.0" @@ -1913,70 +1813,30 @@ elliptic@^6.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -emitter-steward@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64" +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" encodeurl@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" -end-of-stream@^1.1.0: +end-of-stream@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" dependencies: once "^1.4.0" -end-of-stream@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" - dependencies: - once "~1.3.0" - -ends-with@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ends-with/-/ends-with-0.2.0.tgz#2f9da98d57a50cfda4571ce4339000500f4e6b8a" - -engine.io-client@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.0.tgz#7b730e4127414087596d9be3c88d2bc5fdb6cf5c" - dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "2.3.3" - engine.io-parser "1.3.1" - has-cors "1.1.0" - indexof "0.0.1" - parsejson "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - ws "1.1.1" - xmlhttprequest-ssl "1.5.3" - yeast "0.1.2" - -engine.io-parser@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.1.tgz#9554f1ae33107d6fbd170ca5466d2f833f6a07cf" - dependencies: - after "0.8.1" - arraybuffer.slice "0.0.6" - base64-arraybuffer "0.1.5" - blob "0.0.4" - has-binary "0.1.6" - wtf-8 "1.0.0" - -engine.io@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.0.tgz#3eeb5f264cb75dbbec1baaea26d61f5a4eace2aa" +enhanced-resolve@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" dependencies: - accepts "1.3.3" - base64id "0.1.0" - cookie "0.3.1" - debug "2.3.3" - engine.io-parser "1.3.1" - ws "1.1.1" + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.7" -errno@^0.1.1: +errno@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" dependencies: @@ -1988,18 +1848,106 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" -es6-promise@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-2.3.0.tgz#96edb9f2fdb01995822b263dd8aadab6748181bc" +error-stack-parser@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.1.tgz#a3202b8fb03114aa9b40a0e3669e48b2b65a010a" + dependencies: + stackframe "^1.0.3" + +es-abstract@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.9.0.tgz#690829a07cae36b222e7fd9b75c0d0573eb25227" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.35" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.35.tgz#18ee858ce6a3c45c7d79e91c15fcca9ec568494f" + dependencies: + es6-iterator "~2.0.1" + es6-symbol "~3.1.1" + +es6-iterator@^2.0.1, es6-iterator@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-templates@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + dependencies: + recast "~0.11.12" + through "~2.3.6" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" -escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" @@ -2008,35 +1956,91 @@ esprima@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" -esutils@^2.0.0, esutils@^2.0.2: +esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + +esrecurse@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" + dependencies: + estraverse "^4.1.0" + object-assign "^4.0.1" + +estraverse@^4.1.0, estraverse@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -etag@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" -etag@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" eventemitter3@1.x.x: version "1.2.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" -events@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/events/-/events-1.0.2.tgz#75849dcfe93d10fb057c30055afdbd51d06a8e24" - -events@~1.1.0: +events@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" -evp_bytestokey@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" +eventsource@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" + dependencies: + original ">=0.0.5" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-buffer@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/exec-buffer/-/exec-buffer-3.2.0.tgz#b1686dbd904c7cf982e652c1f5a79b1e5573082b" + dependencies: + execa "^0.7.0" + p-finally "^1.0.0" + pify "^3.0.0" + rimraf "^2.5.4" + tempfile "^2.0.0" + +exec-series@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/exec-series/-/exec-series-1.0.3.tgz#6d257a9beac482a872c7783bc8615839fc77143a" + dependencies: + async-each-series "^1.1.0" + object-assign "^4.1.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +executable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/executable/-/executable-1.1.0.tgz#877980e9112f3391066da37265de7ad8434ab4d9" dependencies: - create-hash "^1.1.1" + meow "^3.1.0" expand-brackets@^0.1.4: version "0.1.5" @@ -2050,24 +2054,50 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expand-tilde@^1.2.1, expand-tilde@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" +express@^4.13.3: + version "4.16.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" dependencies: - os-homedir "^1.0.1" - -express@2.5.x: - version "2.5.11" - resolved "https://registry.yarnpkg.com/express/-/express-2.5.11.tgz#4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0" + accepts "~1.3.4" + array-flatten "1.1.1" + body-parser "1.18.2" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.1" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.0" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.2" + qs "6.5.1" + range-parser "~1.2.0" + safe-buffer "5.1.1" + send "0.16.1" + serve-static "1.13.1" + setprototypeof "1.1.0" + statuses "~1.3.1" + type-is "~1.6.15" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" dependencies: - connect "1.x" - mime "1.2.4" - mkdirp "0.3.0" - qs "0.4.x" + is-extendable "^0.1.0" extend@^3.0.0, extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" extglob@^0.3.1: version "0.3.2" @@ -2075,24 +2105,88 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" -extsprintf@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" +extract-text-webpack-plugin@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.1.tgz#605a8893faca1dd49bb0d2ca87493f33fd43d102" + dependencies: + async "^2.4.1" + loader-utils "^1.1.0" + schema-utils "^0.3.0" + webpack-sources "^1.0.1" -eyes@0.1.x: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" +extsprintf@1.3.0, extsprintf@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" -fancy-log@^1.0.0, fancy-log@^1.1.0, fancy-log@^1.2.0: +fancy-log@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" dependencies: chalk "^1.1.1" time-stamp "^1.0.0" +fast-deep-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" + dependencies: + websocket-driver ">=0.5.1" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-loader@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34" + dependencies: + loader-utils "^1.0.2" + +file-type@^3.1.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + +file-type@^4.1.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5" + filename-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +filename-reserved-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" + +filenamify@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" + dependencies: + filename-reserved-regex "^1.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" fill-range@^2.1.0: version "2.2.3" @@ -2104,19 +2198,25 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -finalhandler@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" +finalhandler@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" dependencies: - debug "~2.2.0" + debug "2.6.9" + encodeurl "~1.0.1" escape-html "~1.0.3" on-finished "~2.3.0" - statuses "~1.3.0" + parseurl "~1.3.2" + statuses "~1.3.1" unpipe "~1.0.0" -find-index@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" find-up@^1.0.0: version "1.1.2" @@ -2125,45 +2225,33 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -findup-sync@^0.4.0, findup-sync@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" dependencies: - detect-file "^0.1.0" - is-glob "^2.0.1" - micromatch "^2.3.7" - resolve-dir "^0.1.0" + locate-path "^2.0.0" -fined@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fined/-/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97" +find-versions@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62" dependencies: - expand-tilde "^1.2.1" - lodash.assignwith "^4.0.7" - lodash.isempty "^4.2.1" - lodash.isplainobject "^4.0.4" - lodash.isstring "^4.0.1" - lodash.pick "^4.2.1" - parse-filepath "^1.0.1" + array-uniq "^1.0.0" + get-stdin "^4.0.1" + meow "^3.5.0" + semver-regex "^1.0.0" first-chunk-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" -first-chunk-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" - dependencies: - readable-stream "^2.0.2" - -flagged-respawn@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" - flatten@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + for-in@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -2174,6 +2262,12 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + dependencies: + for-in "^1.0.1" + foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" @@ -2182,10 +2276,6 @@ forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" -fork-stream@~0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70" - form-data@~2.1.1: version "2.1.4" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" @@ -2194,36 +2284,40 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" -formidable@1.0.x: - version "1.0.17" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559" +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" -fresh@0.3.0, fresh@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" +friendly-errors-webpack-plugin@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.6.1.tgz#e32781c4722f546a06a9b5d7a7cfa28520375d70" + dependencies: + chalk "^1.1.3" + error-stack-parser "^2.0.0" + string-length "^1.0.1" -fs-extra@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" +fs-extra@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" dependencies: graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" + jsonfile "^3.0.0" + universalify "^0.1.0" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" + version "1.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4" dependencies: nan "^2.3.0" - node-pre-gyp "^0.6.29" + node-pre-gyp "^0.6.36" fstream-ignore@^1.0.5: version "1.0.5" @@ -2242,13 +2336,13 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: mkdirp ">=0.5 0" rimraf "2" -function-bind@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" +function-bind@^1.0.2, function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" -gauge@~2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09" +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" dependencies: aproba "^1.0.3" console-control-strings "^1.0.0" @@ -2259,42 +2353,44 @@ gauge@~2.7.1: strip-ansi "^3.0.1" wide-align "^1.1.0" -gaze@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" - dependencies: - globule "~0.1.0" - gaze@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" dependencies: globule "^1.0.0" -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" +get-proxy@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb" + dependencies: + rc "^1.1.2" + get-stdin@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + getpass@^0.1.1: - version "0.1.6" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" dependencies: assert-plus "^1.0.0" +gifsicle@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/gifsicle/-/gifsicle-3.0.4.tgz#f45cb5ed10165b665dc929e0e9328b6c821dfa3b" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -2308,46 +2404,27 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-parent@^3.0.1: +glob-parent@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" dependencies: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-stream@^3.1.5: - version "3.1.18" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" - dependencies: - glob "^4.3.1" - glob2base "^0.0.12" - minimatch "^2.0.1" - ordered-read-streams "^0.1.0" - through2 "^0.6.1" - unique-stream "^1.0.0" - -glob-watcher@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" - dependencies: - gaze "^0.5.1" - -glob2base@^0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" - dependencies: - find-index "^0.1.1" - -glob@^4.0.5, glob@^4.3.1: - version "4.5.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" +glob-stream@^5.3.2: + version "5.3.5" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "^2.0.1" - once "^1.3.0" + extend "^3.0.0" + glob "^5.0.3" + glob-parent "^3.0.0" + micromatch "^2.3.7" + ordered-read-streams "^0.3.0" + through2 "^0.6.0" + to-absolute-glob "^0.1.1" + unique-stream "^2.0.2" -glob@^5.0.14, glob@^5.0.3: +glob@^5.0.3: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" dependencies: @@ -2357,90 +2434,75 @@ glob@^5.0.14, glob@^5.0.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.0, glob@~7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.2" + minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0" -glob@~3.1.21: - version "3.1.21" - resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" - dependencies: - graceful-fs "~1.2.0" - inherits "1" - minimatch "~0.2.11" - -global-modules@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" -global-prefix@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - -globals@^9.0.0: - version "9.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" -globby@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-2.1.0.tgz#9e9192bcd33f4ab6a4f894e5e7ea8b713213c482" +globs@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/globs/-/globs-0.1.3.tgz#670037125287cb6549aad96a44cfa684fd7c5502" dependencies: - array-union "^1.0.1" - async "^1.2.1" - glob "^5.0.3" - object-assign "^3.0.0" + glob "^7.1.1" globule@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" + version "1.2.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" dependencies: glob "~7.1.1" - lodash "~4.16.4" + lodash "~4.17.4" minimatch "~3.0.2" -globule@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" - dependencies: - glob "~3.1.21" - lodash "~1.0.1" - minimatch "~0.2.11" - glogg@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" dependencies: sparkles "^1.0.0" -graceful-fs@4.X, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: +got@^5.0.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" + dependencies: + create-error-class "^3.0.1" + duplexer2 "^0.1.4" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + node-status-codes "^1.0.0" + object-assign "^4.0.1" + parse-json "^2.1.0" + pinkie-promise "^2.0.0" + read-all-stream "^3.0.0" + readable-stream "^2.0.5" + timed-out "^3.0.0" + unzip-response "^1.0.2" + url-parse-lax "^1.0.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" -graceful-fs@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" - dependencies: - natives "^1.1.0" - -graceful-fs@~1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" - "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -2449,234 +2511,30 @@ growly@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" -gulp-autoprefixer@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/gulp-autoprefixer/-/gulp-autoprefixer-2.3.1.tgz#f675d3b1bd76f088df2f24ab7ad3e4a059e07e67" - dependencies: - autoprefixer-core "^5.0.0" - gulp-util "^3.0.0" - object-assign "^2.0.0" - postcss "^4.1.5" - through2 "^0.6.2" - vinyl-sourcemaps-apply "^0.1.3" - -gulp-babel@^6.1.0: - version "6.1.2" - resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-6.1.2.tgz#7c0176e4ba3f244c60588a0c4b320a45d1adefce" - dependencies: - babel-core "^6.0.2" - gulp-util "^3.0.0" - object-assign "^4.0.1" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-batch@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/gulp-batch/-/gulp-batch-1.0.5.tgz#c40fc9b2303674897b1216d82e1518b73217da59" +gulp-decompress@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gulp-decompress/-/gulp-decompress-1.2.0.tgz#8eeb65a5e015f8ed8532cafe28454960626f0dc7" dependencies: - async-done "^1.0.0" - stream-array "^1.0.1" + archive-type "^3.0.0" + decompress "^3.0.0" + gulp-util "^3.0.1" + readable-stream "^2.0.2" -gulp-coffee@^2.3.1: - version "2.3.4" - resolved "https://registry.yarnpkg.com/gulp-coffee/-/gulp-coffee-2.3.4.tgz#e9975faf3f26746fb2e72da9e3f32c9db5746daa" - dependencies: - coffee-script "^1.10.0" - gulp-util "^3.0.2" - merge "^1.2.0" - through2 "^2.0.1" - vinyl-sourcemaps-apply "^0.2.1" +gulp-rename@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" -gulp-concat@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353" +gulp-sourcemaps@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" dependencies: - concat-with-sourcemaps "^1.0.0" + convert-source-map "^1.1.1" + graceful-fs "^4.1.2" + strip-bom "^2.0.0" through2 "^2.0.0" - vinyl "^2.0.0" + vinyl "^1.0.0" -gulp-cssnano@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/gulp-cssnano/-/gulp-cssnano-2.1.2.tgz#e08a09771ec5454a549f1a005bdd256cb8e5e0a3" - dependencies: - cssnano "^3.0.0" - gulp-util "^3.0.6" - object-assign "^4.0.1" - vinyl-sourcemaps-apply "^0.2.1" - -gulp-debug@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/gulp-debug/-/gulp-debug-2.1.2.tgz#2f5fe5f64bcd1f4cf189c160e080c8ad06543094" - dependencies: - chalk "^1.0.0" - gulp-util "^3.0.0" - object-assign "^4.0.1" - plur "^2.0.0" - stringify-object "^2.3.0" - through2 "^2.0.0" - tildify "^1.1.2" - -gulp-if@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/gulp-if/-/gulp-if-1.2.5.tgz#9bd9c16032ecc28e0154bfb05828d233166f2da9" - dependencies: - gulp-match "~0.2.1" - ternary-stream "^1.2.0" - through2 "~0.6.2" - -gulp-less@^3.0.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/gulp-less/-/gulp-less-3.3.0.tgz#d085565da3c810307fde7c7874e86520dc503234" - dependencies: - accord "^0.26.3" - gulp-util "^3.0.7" - less "2.6.x || ^2.7.1" - object-assign "^4.0.1" - through2 "^2.0.0" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-load-plugins@^1.0.0-rc.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/gulp-load-plugins/-/gulp-load-plugins-1.5.0.tgz#4c419f7e5764d9a0e33061bab9618f81b73d4171" - dependencies: - array-unique "^0.2.1" - fancy-log "^1.2.0" - findup-sync "^0.4.0" - gulplog "^1.0.0" - has-gulplog "^0.1.0" - micromatch "^2.3.8" - resolve "^1.1.7" - -gulp-match@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/gulp-match/-/gulp-match-0.2.1.tgz#0bed08da8bd6e89686f89ffb004337f8bad06d22" - dependencies: - minimatch "^1.0.0" - -gulp-messenger@0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/gulp-messenger/-/gulp-messenger-0.7.0.tgz#c856f1e8159d484beb717caf600497973f815e57" - dependencies: - bowser "1.0.0" - chalk "1.1.1" - chalkline "0.0.4" - defaults "^1.0.2" - detect-node "^2.0.3" - gulp-debug "2.1.2" - is_js "0.7.4" - lodash "^3.0.0" - lodash-deep "^1.6.0" - mkdirp "^0.5.1" - moment "^2.10.3" - pretty-hrtime "^1.0.0" - purdy "1.4.1" - through2 "^0.6.3" - winston "^1.0.0" - -gulp-notify@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/gulp-notify/-/gulp-notify-2.2.0.tgz#046c8285c292e97eed4e15a009c26cbbe5cef135" - dependencies: - gulp-util "^3.0.2" - lodash.template "^3.0.0" - node-notifier "^4.1.0" - node.extend "^1.1.3" - through2 "^0.6.3" - -gulp-phpspec@^0.5.3: - version "0.5.5" - resolved "https://registry.yarnpkg.com/gulp-phpspec/-/gulp-phpspec-0.5.5.tgz#b01c8d9fc322750b4ea3c40ed4e10c91e7c47c91" - dependencies: - chalk "1.1.3" - gulp-util "3.0.8" - lodash "^3.8.0" - map-stream "0.0.6" - -gulp-phpunit@0.11.x: - version "0.11.3" - resolved "https://registry.yarnpkg.com/gulp-phpunit/-/gulp-phpunit-0.11.3.tgz#fb3bb6d305e5c0ad47190871b172352b9a3fdb26" - dependencies: - chalk "^1.0.0" - gulp-messenger "0.7.0" - gulp-notify "^2.2.0" - gulp-util "~2.2.14" - lodash "3.10.1" - map-stream "~0.0.4" - node-notifier "4.3.1" - -gulp-rename@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817" - -gulp-rev-replace@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/gulp-rev-replace/-/gulp-rev-replace-0.4.3.tgz#72b51848f5f093ad4b77b1d2411081eb78acd46e" - dependencies: - gulp-util "^3.0.7" - through2 "^2.0.0" - -gulp-rev@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/gulp-rev/-/gulp-rev-5.1.0.tgz#a2c37cdae321a7b7bbae20d753b60d0e5e87cd48" - dependencies: - gulp-util "^3.0.0" - object-assign "^2.0.0" - rev-hash "^1.0.0" - rev-path "^1.0.0" - sort-keys "^1.0.0" - through2 "^0.6.1" - vinyl-file "^1.1.0" - -gulp-sass@^2.0.3: - version "2.3.2" - resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-2.3.2.tgz#82b7ab90fe902cdc34c04f180d92f2c34902dd52" - dependencies: - gulp-util "^3.0" - lodash.clonedeep "^4.3.2" - node-sass "^3.4.2" - through2 "^2.0.0" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-shell@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/gulp-shell/-/gulp-shell-0.5.2.tgz#a4959ca0651ad1c7bbfe70b2d0adbbb4e1aea98d" - dependencies: - async "^1.5.0" - gulp-util "^3.0.7" - lodash "^4.0.0" - through2 "^2.0.0" - -gulp-sourcemaps@^1.5.2: - version "1.12.0" - resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.12.0.tgz#786f97c94a0f968492465d70558e04242c679598" - dependencies: - "@gulp-sourcemaps/map-sources" "1.X" - acorn "4.X" - convert-source-map "1.X" - css "2.X" - debug-fabulous "0.0.X" - detect-newline "2.X" - graceful-fs "4.X" - source-map "0.X" - strip-bom "2.X" - through2 "2.X" - vinyl "1.X" - -gulp-uglify@^1.4.2: - version "1.5.4" - resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-1.5.4.tgz#524788d87666d09f9d0c21fb2177f90039a658c9" - dependencies: - deap "^1.0.0" - fancy-log "^1.0.0" - gulp-util "^3.0.0" - isobject "^2.0.0" - through2 "^2.0.0" - uglify-js "2.6.4" - uglify-save-license "^0.4.1" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-util@*, gulp-util@3.0.8, gulp-util@^3.0, gulp-util@^3.0.0, gulp-util@^3.0.2, gulp-util@^3.0.6, gulp-util@^3.0.7: +gulp-util@^3.0.1: version "3.0.8" resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" dependencies: @@ -2699,71 +2557,20 @@ gulp-util@*, gulp-util@3.0.8, gulp-util@^3.0, gulp-util@^3.0.0, gulp-util@^3.0.2 through2 "^2.0.0" vinyl "^0.5.0" -gulp-util@~2.2.14: - version "2.2.20" - resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-2.2.20.tgz#d7146e5728910bd8f047a6b0b1e549bc22dbd64c" - dependencies: - chalk "^0.5.0" - dateformat "^1.0.7-1.2.3" - lodash._reinterpolate "^2.4.1" - lodash.template "^2.4.1" - minimist "^0.2.0" - multipipe "^0.1.0" - through2 "^0.5.0" - vinyl "^0.2.1" - -gulp-watch@^4.2.4: - version "4.3.11" - resolved "https://registry.yarnpkg.com/gulp-watch/-/gulp-watch-4.3.11.tgz#162fc563de9fc770e91f9a7ce3955513a9a118c0" - dependencies: - anymatch "^1.3.0" - chokidar "^1.6.1" - glob-parent "^3.0.1" - gulp-util "^3.0.7" - object-assign "^4.1.0" - path-is-absolute "^1.0.1" - readable-stream "^2.2.2" - slash "^1.0.0" - vinyl "^1.2.0" - vinyl-file "^2.0.0" - -gulp@>=3.8.8: - version "3.9.1" - resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" - dependencies: - archy "^1.0.0" - chalk "^1.0.0" - deprecated "^0.0.1" - gulp-util "^3.0.0" - interpret "^1.0.0" - liftoff "^2.1.0" - minimist "^1.1.0" - orchestrator "^0.3.0" - pretty-hrtime "^1.0.0" - semver "^4.1.0" - tildify "^1.0.0" - v8flags "^2.0.2" - vinyl-fs "^0.3.0" - gulplog@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" dependencies: glogg "^1.0.0" +handle-thing@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" + har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - har-validator@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" @@ -2771,42 +2578,20 @@ har-validator@~4.2.1: ajv "^4.9.1" har-schema "^1.0.5" -has-ansi@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" - dependencies: - ansi-regex "^0.2.0" - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" dependencies: ansi-regex "^2.0.0" -has-binary@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10" - dependencies: - isarray "0.0.1" - -has-binary@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" - dependencies: - isarray "0.0.1" - -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -2817,19 +2602,37 @@ has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" -has@^1.0.0, has@^1.0.1: +has@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" dependencies: function-bind "^1.0.2" -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" +hash-base@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + dependencies: + inherits "^2.0.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" dependencies: inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" -hawk@~3.1.3: +hawk@3.1.3, hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" dependencies: @@ -2838,6 +2641,10 @@ hawk@~3.1.3: hoek "2.x.x" sntp "1.x.x" +he@1.1.x, he@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -2857,35 +2664,79 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" -homedir-polyfill@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - hosted-git-info@^2.1.4: - version "2.4.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" + version "2.5.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" html-comment-regex@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" -htmlescape@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" +html-entities@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f" -http-errors@~1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" +html-loader@^0.4.5: + version "0.4.5" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.4.5.tgz#5fbcd87cd63a5c49a7fce2fe56f425e05729c68c" + dependencies: + es6-templates "^0.2.2" + fastparse "^1.1.1" + html-minifier "^3.0.1" + loader-utils "^1.0.2" + object-assign "^4.1.0" + +html-minifier@^3.0.1: + version "3.5.6" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.6.tgz#7e4e661a09999599c7d8e8a2b8d7fb7430bb5c3e" + dependencies: + camel-case "3.0.x" + clean-css "4.1.x" + commander "2.11.x" + he "1.1.x" + ncname "1.0.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.1.x" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + +http-errors@1.6.2, http-errors@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" dependencies: + depd "1.1.1" inherits "2.0.3" - setprototypeof "1.0.2" + setprototypeof "1.0.3" statuses ">= 1.3.1 < 2" -http-proxy@1.15.2: - version "1.15.2" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31" +http-parser-js@>=0.4.0: + version "0.4.9" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1" + +http-proxy-middleware@~0.17.4: + version "0.17.4" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833" + dependencies: + http-proxy "^1.16.2" + is-glob "^3.1.0" + lodash "^4.17.2" + micromatch "^2.3.11" + +http-proxy@^1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" dependencies: eventemitter3 "1.x.x" requires-port "1.x.x" @@ -2898,25 +2749,89 @@ http-signature@~1.1.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - -https-browserify@~0.0.0: +https-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" +iconv-lite@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" + dependencies: + postcss "^6.0.1" + ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" -image-size@~0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.1.tgz#28eea8548a4b1443480ddddc1e083ae54652439f" +imagemin-gifsicle@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz#3781524c457612ef04916af34241a2b42bfcb40a" + dependencies: + exec-buffer "^3.0.0" + gifsicle "^3.0.0" + is-gif "^1.0.0" -immutable@3.8.1, immutable@^3.7.6: - version "3.8.1" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" +imagemin-mozjpeg@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/imagemin-mozjpeg/-/imagemin-mozjpeg-6.0.0.tgz#71a32a457aa1b26117a68eeef2d9b190c2e5091e" + dependencies: + exec-buffer "^3.0.0" + is-jpg "^1.0.0" + mozjpeg "^4.0.0" + +imagemin-optipng@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz#d22da412c09f5ff00a4339960b98a88b1dbe8695" + dependencies: + exec-buffer "^3.0.0" + is-png "^1.0.0" + optipng-bin "^3.0.0" + +imagemin-pngquant@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/imagemin-pngquant/-/imagemin-pngquant-5.0.1.tgz#d8a329da553afa226b11ce62debe0b7e37b439e6" + dependencies: + exec-buffer "^3.0.0" + is-png "^1.0.0" + pngquant-bin "^3.0.0" + +imagemin-svgo@^5.2.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-5.2.2.tgz#501699f5789730a57922b8736ea15c53f7b55838" + dependencies: + is-svg "^2.0.0" + svgo "^0.7.0" + +imagemin@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/imagemin/-/imagemin-5.3.1.tgz#f19c2eee1e71ba6c6558c515f9fc96680189a6d4" + dependencies: + file-type "^4.1.0" + globby "^6.1.0" + make-dir "^1.0.0" + p-pipe "^1.1.0" + pify "^2.3.0" + replace-ext "^1.0.0" + +img-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/img-loader/-/img-loader-2.0.0.tgz#583740b3e2a38aeba5435c7dd530be9ce7454fd9" + dependencies: + imagemin "^5.2.0" + imagemin-gifsicle "^5.1.0" + imagemin-mozjpeg "^6.0.0" + imagemin-optipng "^5.2.0" + imagemin-pngquant "^5.0.0" + imagemin-svgo "^5.2.0" + loader-utils "^1.0.4" in-publish@^2.0.0: version "2.0.0" @@ -2936,10 +2851,6 @@ indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" -indx@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/indx/-/indx-0.2.3.tgz#15dcf56ee9cf65c0234c513c27fbd580e70fbc50" - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -2947,11 +2858,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2959,57 +2866,21 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@^1.3.4, ini@~1.3.0: +ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -inline-source-map@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.5.0.tgz#4a4c5dd8e4fb5e9b3cda60c822dfadcaee66e0af" - dependencies: - source-map "~0.4.0" - -inline-source-map@~0.6.0: - version "0.6.2" - resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" - dependencies: - source-map "~0.5.3" - -insert-css@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-0.2.0.tgz#d15789971662d9899c28977fb6220d5381d2451a" - -insert-module-globals@^6.4.1: - version "6.6.3" - resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-6.6.3.tgz#20638e29a30f9ed1ca2e3a825fbc2cba5246ddfc" - dependencies: - JSONStream "^1.0.3" - combine-source-map "~0.6.1" - concat-stream "~1.4.1" - is-buffer "^1.1.0" - lexical-scope "^1.2.0" - process "~0.11.0" - through2 "^1.0.0" - xtend "^4.0.0" - -insert-module-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3" +internal-ip@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" dependencies: - JSONStream "^1.0.3" - combine-source-map "~0.7.1" - concat-stream "~1.5.1" - is-buffer "^1.1.0" - lexical-scope "^1.2.0" - process "~0.11.0" - through2 "^2.0.0" - xtend "^4.0.0" + meow "^3.3.0" interpret@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.3.tgz#cbc35c62eeee73f19ab7b10a801511401afc0f90" + version "1.0.4" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.4.tgz#820cdd588b868ffb191a809506d6c9c8f212b1b0" -invariant@^2.2.0: +invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: @@ -3019,20 +2890,27 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -irregular-plurals@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" +ip-regex@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + +ipaddr.js@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" is-absolute-url@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" -is-absolute@^0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" +is-absolute@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f" dependencies: - is-relative "^0.2.1" - is-windows "^0.2.0" + is-relative "^0.1.0" is-arrayish@^0.2.1: version "0.2.1" @@ -3044,7 +2922,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-buffer@^1.0.2, is-buffer@^1.1.0: +is-buffer@^1.0.2, is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" @@ -3054,9 +2932,25 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" +is-bzip2@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + is-dotfile@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" is-equal-shallow@^0.1.3: version "0.1.3" @@ -3064,7 +2958,7 @@ is-equal-shallow@^0.1.3: dependencies: is-primitive "^2.0.0" -is-extendable@^0.1.1: +is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -3088,6 +2982,14 @@ is-fullwidth-code-point@^1.0.0: dependencies: number-is-nan "^1.0.0" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-gif@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-gif/-/is-gif-1.0.0.tgz#a6d2ae98893007bffa97a1d8c01d63205832097e" + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -3100,28 +3002,34 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-my-json-valid@^2.12.4: - version "2.16.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" +is-gzip@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" -is-number-like@^1.0.3: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.7.tgz#a38d6b0fd2cd4282449128859eed86c03fd23552" - dependencies: - bubleify "^0.5.1" - lodash.isfinite "^3.3.2" +is-jpg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-jpg/-/is-jpg-1.0.0.tgz#2959c17e73430db38264da75b90dd54f2d86da1c" -is-number@^2.0.2, is-number@^2.1.0: +is-natural-number@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-2.1.1.tgz#7d4c5728377ef386c3e194a9911bf57c6dc335e7" + +is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" dependencies: kind-of "^3.0.2" +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + is-path-cwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" @@ -3142,6 +3050,16 @@ is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" +is-plain-object@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-png@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-png/-/is-png-1.1.0.tgz#d574b12bf275c0350455570b0e5b57ab062077ce" + is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -3150,21 +3068,25 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-regexp@^1.0.0: +is-redirect@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" -is-relative@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" dependencies: - is-unc-path "^0.1.1" + has "^1.0.1" + +is-relative@^0.1.0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.1.3.tgz#905fee8ae86f45b3ec614bc3c15c869df0876e82" -is-stream@^1.1.0: +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + +is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3174,33 +3096,43 @@ is-svg@^2.0.0: dependencies: html-comment-regex "^1.1.0" +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-tar@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-tar/-/is-tar-1.0.0.tgz#2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d" + is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" -is-unc-path@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" - dependencies: - unc-path-regex "^0.1.0" +is-url@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" -is-windows@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" +is-valid-glob@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" -is@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is/-/is-3.2.1.tgz#d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5" +is-windows@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" -is_js@0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/is_js/-/is_js-0.7.4.tgz#a80f34961f62e3e4ac368f05914ed9675b328f05" +is-zip@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-zip/-/is-zip-1.0.0.tgz#47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325" -isarray@0.0.1, isarray@~0.0.1: +isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -3218,25 +3150,23 @@ isobject@^2.0.0: dependencies: isarray "1.0.0" -isstream@0.1.x, isstream@~0.1.2: +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" - dependencies: - jsbn "~0.1.0" - -js-base64@^2.1.9, js-base64@~2.1.8: - version "2.1.9" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" +js-base64@^2.1.8, js-base64@^2.1.9: + version "2.3.2" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.3.2.tgz#a79a923666372b580f8e27f51845c6f7e8fbfbaf" -js-tokens@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@~3.7.0: +js-yaml@^3.4.3, js-yaml@~3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" dependencies: @@ -3255,37 +3185,39 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" +json-loader@^0.5.4: + version "0.5.7" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" -json-stable-stringify@^1.0.1: +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: jsonify "~0.0.0" -json-stable-stringify@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45" - dependencies: - jsonify "~0.0.0" - json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" -json3@3.3.2: +json3@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" -json5@^0.5.0: +json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" +jsonfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" optionalDependencies: graceful-fs "^4.1.6" @@ -3293,104 +3225,90 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsonparse@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.0.tgz#85fc245b1d9259acc6941960b905adf64e7de0e8" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - jsprim@^1.2.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" dependencies: assert-plus "1.0.0" - extsprintf "1.0.2" + extsprintf "1.3.0" json-schema "0.2.3" - verror "1.3.6" + verror "1.10.0" -kind-of@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" +kind-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" dependencies: is-buffer "^1.0.2" -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" - -labeled-stream-splicer@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-1.0.2.tgz#4615331537784981e8fd264e1f3a434c4e0ddd65" +kind-of@^3.0.2, kind-of@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" dependencies: - inherits "^2.0.1" - isarray "~0.0.1" - stream-splicer "^1.1.0" + is-buffer "^1.1.5" -labeled-stream-splicer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59" +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" dependencies: - inherits "^2.0.1" - isarray "~0.0.1" - stream-splicer "^2.0.0" + is-buffer "^1.1.5" -laravel-elixir@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/laravel-elixir/-/laravel-elixir-4.2.1.tgz#9c287f50b1ef24ccf205182d3b784f7bb5e9a08b" - dependencies: - babel-preset-es2015 "^6.1.0" - babel-preset-react "^6.1.18" - babelify "^7.2.0" - browser-sync "^2.7.10" - browserify "^11.2.0" - del "^1.2.0" - glob "^5.0.14" - gulp-autoprefixer "^2.3.1" - gulp-babel "^6.1.0" - gulp-batch "^1.0.5" - gulp-coffee "^2.3.1" - gulp-concat "^2.6.0" - gulp-cssnano "^2.0.0" - gulp-if "^1.2.5" - gulp-less "^3.0.3" - gulp-load-plugins "^1.0.0-rc.1" - gulp-notify "^2.2.0" - gulp-phpspec "^0.5.3" - gulp-phpunit "0.11.x" - gulp-rename "^1.2.2" - gulp-rev "^5.1.0" - gulp-rev-replace "^0.4.2" - gulp-sass "^2.0.3" - gulp-shell "^0.5.0" - gulp-sourcemaps "^1.5.2" - gulp-uglify "^1.4.2" - gulp-util "^3.0.6" - gulp-watch "^4.2.4" - insert-css "^0.2.0" - merge-stream "^0.1.8" - parse-filepath "^0.5.0" - partialify "^3.1.3" - path "^0.11.14" - require-dir "^0.3.0" - run-sequence "^1.1.1" - underscore "^1.8.3" - underscore-deep-extend "0.0.5" - vinyl-buffer "^1.0.0" - vinyl-paths "^1.0.0" - vinyl-source-stream "^1.1.0" - watchify "^3.2.3" +laravel-mix@>=1.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/laravel-mix/-/laravel-mix-1.5.1.tgz#987b7bfab1892a430d6581e868d8651922929f1a" + dependencies: + autoprefixer "^7.1.1" + babel-core "^6.24.1" + babel-loader "^7.1.1" + babel-plugin-transform-object-rest-spread "^6.26.0" + babel-preset-env "^1.5.1" + chokidar "^1.7.0" + clean-css "^4.1.3" + concatenate "0.0.2" + css-loader "^0.28.3" + dotenv "^4.0.0" + dotenv-expand "^4.0.1" + extract-text-webpack-plugin "^3.0.0" + file-loader "^0.11.1" + friendly-errors-webpack-plugin "^1.6.1" + fs-extra "^3.0.1" + glob "^7.1.2" + html-loader "^0.4.5" + img-loader "^2.0.0" + lodash "^4.17.4" + md5 "^2.2.1" + node-sass "^4.5.3" + postcss-loader "^2.0.5" + resolve-url-loader "^2.0.2" + sass-loader "^6.0.5" + style-loader "^0.18.1" + uglify-js "^2.8.28" + uglifyjs-webpack-plugin "^0.4.6" + vue-loader "^13.0.5" + vue-template-compiler "^2.0.0" + webpack "^3.5.0" + webpack-chunk-hash "^0.4.0" + webpack-dev-server "^2.5.1" + webpack-merge "^4.1.0" + webpack-notifier "^1.5.0" + yargs "^8.0.1" + +lazy-cache@^0.2.3: + version "0.2.7" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" -lazy-debug-legacy@0.0.X: - version "0.0.1" - resolved "https://registry.yarnpkg.com/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz#537716c0776e4cf79e3ed1b621f7658c2911b1b1" +lazy-req@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + dependencies: + readable-stream "^2.0.5" lcid@^1.0.0: version "1.0.0" @@ -3398,43 +3316,6 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -"less@2.6.x || ^2.7.1": - version "2.7.2" - resolved "https://registry.yarnpkg.com/less/-/less-2.7.2.tgz#368d6cc73e1fb03981183280918743c5dcf9b3df" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - mime "^1.2.11" - mkdirp "^0.5.0" - promise "^7.1.1" - request "^2.72.0" - source-map "^0.5.3" - -lexical-scope@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4" - dependencies: - astw "^2.0.0" - -liftoff@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" - dependencies: - extend "^3.0.0" - findup-sync "^0.4.2" - fined "^1.0.1" - flagged-respawn "^0.3.2" - lodash.isplainobject "^4.0.4" - lodash.isstring "^4.0.1" - lodash.mapvalues "^4.4.0" - rechoir "^0.6.2" - resolve "^1.1.7" - -limiter@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.0.tgz#6e2bd12ca3fcdaa11f224e2e53c896df3f08d913" - load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -3445,20 +3326,33 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -localtunnel@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.2.tgz#913051e8328b51f75ad8a22ad1f5c5b8c599a359" +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" dependencies: - debug "2.2.0" - openurl "1.1.0" - request "2.78.0" - yargs "3.29.0" + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" -lodash-deep@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/lodash-deep/-/lodash-deep-1.6.0.tgz#a7ce672759472b91d12b193c69d8a24a02d8428d" +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + +loader-utils@^1.0.0, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.0.4, loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" dependencies: - lodash ">=2.4.1" + p-locate "^2.0.0" + path-exists "^3.0.0" lodash._arraycopy@^3.0.0: version "3.0.0" @@ -3506,36 +3400,22 @@ lodash._bindcallback@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" -lodash._escapehtmlchar@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz#df67c3bb6b7e8e1e831ab48bfa0795b92afe899d" +lodash._createassigner@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" dependencies: - lodash._htmlescapes "~2.4.1" - -lodash._escapestringchar@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz#ecfe22618a2ade50bfeea43937e51df66f0edb72" + lodash._bindcallback "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash.restparam "^3.0.0" lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" -lodash._htmlescapes@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz#32d14bf0844b6de6f8b62a051b4f67c228b624cb" - lodash._isiterateecall@^3.0.0: version "3.0.9" resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" -lodash._isnative@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash._isnative/-/lodash._isnative-2.4.1.tgz#3ea6404b784a7be836c7b57580e1cdf79b14832c" - -lodash._objecttypes@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz#7c0b7f69d98a1f76529f890b0cdb1b4dfec11c11" - lodash._reescape@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" @@ -3544,42 +3424,29 @@ lodash._reevaluate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" -lodash._reinterpolate@^2.4.1, lodash._reinterpolate@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz#4f1227aa5a8711fc632f5b07a1f4607aab8b3222" - lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" -lodash._reunescapedhtml@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz#747c4fc40103eb3bb8a0976e571f7a2659e93ba7" - dependencies: - lodash._htmlescapes "~2.4.1" - lodash.keys "~2.4.1" - lodash._root@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" -lodash._shimkeys@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz#6e9cc9666ff081f0b5a6c978b83e242e6949d203" +lodash.assign@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" dependencies: - lodash._objecttypes "~2.4.1" + lodash._baseassign "^3.0.0" + lodash._createassigner "^3.0.0" + lodash.keys "^3.0.0" -lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: +lodash.assign@^4.0.1, lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" -lodash.assignwith@^4.0.7: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" - -lodash.clone@^4.3.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" lodash.clonedeep@^3.0.0: version "3.0.2" @@ -3592,35 +3459,23 @@ lodash.clonedeep@^4.3.2: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" -lodash.defaults@^4.0.1: +lodash.defaults@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c" + dependencies: + lodash.assign "^3.0.0" + lodash.restparam "^3.0.0" + +lodash.defaults@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" -lodash.defaults@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-2.4.1.tgz#a7e8885f05e68851144b6e12a8f3678026bc4c54" - dependencies: - lodash._objecttypes "~2.4.1" - lodash.keys "~2.4.1" - lodash.escape@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" dependencies: lodash._root "^3.0.0" -lodash.escape@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-2.4.1.tgz#2ce12c5e084db0a57dda5e5d1eeeb9f5d175a3b4" - dependencies: - lodash._escapehtmlchar "~2.4.1" - lodash._reunescapedhtml "~2.4.1" - lodash.keys "~2.4.1" - -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -3629,27 +3484,9 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" -lodash.isempty@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" - -lodash.isfinite@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" - -lodash.isobject@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-2.4.1.tgz#5a2e47fe69953f1ee631a7eba1fe64d2d06558f5" - dependencies: - lodash._objecttypes "~2.4.1" - -lodash.isplainobject@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" +lodash.isequal@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" lodash.keys@^3.0.0: version "3.1.2" @@ -3659,53 +3496,21 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" -lodash.keys@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-2.4.1.tgz#48dea46df8ff7632b10d706b8acb26591e2b3727" - dependencies: - lodash._isnative "~2.4.1" - lodash._shimkeys "~2.4.1" - lodash.isobject "~2.4.1" - -lodash.mapvalues@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" -lodash.memoize@~3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" - -lodash.merge@^4.4.0: +lodash.mergewith@^4.6.0: version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" - -lodash.partialright@^4.1.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.partialright/-/lodash.partialright-4.2.1.tgz#0130d80e83363264d40074f329b8a3e7a8a1cc4b" - -lodash.pick@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55" lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" -lodash.template@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-2.4.1.tgz#9e611007edf629129a974ab3c48b817b3e1cf20d" - dependencies: - lodash._escapestringchar "~2.4.1" - lodash._reinterpolate "~2.4.1" - lodash.defaults "~2.4.1" - lodash.escape "~2.4.1" - lodash.keys "~2.4.1" - lodash.templatesettings "~2.4.1" - lodash.values "~2.4.1" +lodash.tail@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" lodash.template@^3.0.0: version "3.6.2" @@ -3728,40 +3533,30 @@ lodash.templatesettings@^3.0.0: lodash._reinterpolate "^3.0.0" lodash.escape "^3.0.0" -lodash.templatesettings@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz#ea76c75d11eb86d4dbe89a83893bb861929ac699" - dependencies: - lodash._reinterpolate "~2.4.1" - lodash.escape "~2.4.1" +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" -lodash.uniq@^4.3.0, lodash.uniq@^4.5.0: +lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash.values@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-2.4.1.tgz#abf514436b3cb705001627978cbcf30b1280eea4" - dependencies: - lodash.keys "~2.4.1" - -lodash@3.10.1, lodash@^3.0.0, lodash@^3.10.1, lodash@^3.8.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - -lodash@>=2.4.1, lodash@^4.0.0, lodash@^4.2.0: +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.4, lodash@~4.17.4: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -lodash@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" +logalot@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/logalot/-/logalot-2.1.0.tgz#5f8e8c90d304edf12530951a5554abb8c5e3f552" + dependencies: + figures "^1.3.5" + squeak "^1.0.0" -lodash@~4.16.4: - version "4.16.6" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" +loglevel@^1.4.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.5.1.tgz#189078c94ab9053ee215a0acdbf24244ea0f6502" -longest@^1.0.1: +longest@^1.0.0, longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -3778,39 +3573,44 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lru-cache@2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + +lowercase-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + +lpad-align@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/lpad-align/-/lpad-align-1.1.2.tgz#21f600ac1c3095c3c6e497ee67271ee08481fe9e" + dependencies: + get-stdin "^4.0.1" + indent-string "^2.1.0" + longest "^1.0.0" + meow "^3.3.0" -lru-cache@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" +lru-cache@^4.0.1, lru-cache@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" + pseudomap "^1.0.2" + yallist "^2.1.2" macaddress@^0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12" -magic-string@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.14.0.tgz#57224aef1701caeed273b17a39a956e72b172462" +make-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.0.0.tgz#97a011751e91dd87cfadef58832ebb04936de978" dependencies: - vlq "^0.2.1" - -map-cache@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + pify "^2.3.0" map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" -map-stream@0.0.6, map-stream@~0.0.4: - version "0.0.6" - resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.6.tgz#d2ef4eb811a28644c7a8989985c69c2fdd496827" - marked-terminal@^1.6.2: version "1.7.0" resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-1.7.0.tgz#c8c460881c772c7604b64367007ee5f77f125904" @@ -3826,10 +3626,42 @@ marked@^0.3.6: resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.6.tgz#b2c6c618fccece4ef86c4fc6cb8a7cbf5aeda8d7" math-expression-evaluator@^1.2.14: - version "1.2.16" - resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.16.tgz#b357fa1ca9faefb8e48d10c14ef2bcb2d9f0a7c9" + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" -meow@^3.3.0, meow@^3.7.0: +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +md5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" + dependencies: + charenc "~0.0.1" + crypt "~0.0.1" + is-buffer "~1.1.1" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.1.0, meow@^3.3.0, meow@^3.5.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -3844,17 +3676,21 @@ meow@^3.3.0, meow@^3.7.0: redent "^1.0.0" trim-newlines "^1.0.0" -merge-stream@^0.1.8, merge-stream@~0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-0.1.8.tgz#48a07b3b4a121d74a3edbfdcdb4b08adbf0240b1" +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +merge-stream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" dependencies: - through2 "^0.6.1" + readable-stream "^2.0.1" -merge@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.7, micromatch@^2.3.8: +micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -3873,29 +3709,29 @@ micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.7, micromatch@^2.3.8: regex-cache "^0.4.2" miller-rabin@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" dependencies: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@~1.27.0: - version "1.27.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" +"mime-db@>= 1.29.0 < 2", mime-db@~1.30.0: + version "1.30.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: - version "2.1.15" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" +mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7: + version "2.1.17" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" dependencies: - mime-db "~1.27.0" + mime-db "~1.30.0" -mime@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.4.tgz#11b5fdaf29c2509255176b80ad520294f5de92b7" +mime@1.4.1, mime@^1.3.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" -mime@1.3.4, "mime@>= 0.0.1", mime@^1.2.11: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" +mimic-fn@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" minimalistic-assert@^1.0.0: version "1.0.0" @@ -3905,144 +3741,99 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" - dependencies: - brace-expansion "^1.0.0" - -minimatch@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-1.0.0.tgz#e0dd2120b49e1b724ce8d714c520822a9438576d" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - -minimatch@^2.0.1: - version "2.0.10" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" - dependencies: - brace-expansion "^1.0.0" - -minimatch@~0.2.11: - version "0.2.14" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: - lru-cache "2" - sigmund "~1.0.0" + brace-expansion "^1.1.7" minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.2.0.tgz#4dffe525dae2b864c66c2e23c6271d7afdecefce" - minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -mixpanel-browser@*: - version "2.11.1" - resolved "https://registry.yarnpkg.com/mixpanel-browser/-/mixpanel-browser-2.11.1.tgz#1f6eba38edcc124013e4825c3f3c427db6765633" +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" -mkdirp@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" +mixpanel-browser@*: + version "2.13.0" + resolved "https://registry.yarnpkg.com/mixpanel-browser/-/mixpanel-browser-2.13.0.tgz#eb526c8d34f8167595dfaa0f3894fc6595341aef" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: +mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" -modify-filename@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/modify-filename/-/modify-filename-1.1.0.tgz#9a2dec83806fbb2d975f22beec859ca26b393aa1" - -module-deps@^3.7.11: - version "3.9.1" - resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-3.9.1.tgz#ea75caf9199090d25b0d5512b5acacb96e7f87f3" - dependencies: - JSONStream "^1.0.3" - browser-resolve "^1.7.0" - concat-stream "~1.4.5" - defined "^1.0.0" - detective "^4.0.0" - duplexer2 "0.0.2" - inherits "^2.0.1" - parents "^1.0.0" - readable-stream "^1.1.13" - resolve "^1.1.3" - stream-combiner2 "~1.0.0" - subarg "^1.0.0" - through2 "^1.0.0" - xtend "^4.0.0" - -module-deps@^4.0.8: +mozjpeg@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd" + resolved "https://registry.yarnpkg.com/mozjpeg/-/mozjpeg-4.1.1.tgz#859030b24f689a53db9b40f0160d89195b88fd50" dependencies: - JSONStream "^1.0.3" - browser-resolve "^1.7.0" - cached-path-relative "^1.0.0" - concat-stream "~1.5.0" - defined "^1.0.0" - detective "^4.0.0" - duplexer2 "^0.1.2" - inherits "^2.0.1" - parents "^1.0.0" - readable-stream "^2.0.2" - resolve "^1.1.3" - stream-combiner2 "^1.1.1" - subarg "^1.0.0" - through2 "^2.0.0" - xtend "^4.0.0" + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" -moment@^2.10.3: - version "2.18.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" -ms@0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" +multicast-dns@^6.0.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.1.1.tgz#6e7de86a570872ab17058adea7160bbeca814dde" + dependencies: + dns-packet "^1.0.1" + thunky "^0.1.0" -multipipe@^0.1.0, multipipe@^0.1.2: +multipipe@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" dependencies: duplexer2 "0.0.2" nan@^2.3.0, nan@^2.3.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" + version "2.7.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46" -natives@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" +ncname@1.0.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" + dependencies: + xml-char-classes "^1.0.0" negotiator@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" -next-tick@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + dependencies: + lower-case "^1.1.1" node-emoji@^1.4.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.5.1.tgz#fd918e412769bf8c448051238233840b2aff16a1" + version "1.8.1" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.8.1.tgz#6eec6bfb07421e2148c75c6bba72421f8530a826" dependencies: - string.prototype.codepointat "^0.2.0" + lodash.toarray "^4.4.0" + +node-forge@0.6.33: + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.6.33.tgz#463811879f573d45155ad6a9f43dc296e8e85ebc" node-gyp@^3.3.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.0.tgz#7474f63a3a0501161dda0b6341f022f14c423fa6" + version "3.6.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" dependencies: fstream "^1.0.0" glob "^7.0.3" @@ -4058,35 +3849,64 @@ node-gyp@^3.3.1: tar "^2.0.0" which "1" -node-notifier@4.3.1, node-notifier@^4.1.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.3.1.tgz#94a3e35c388938b4d9fa196fed6b36e9ab671119" +node-libs-browser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.0.0.tgz#a3a59ec97024985b46e958379646f96c4b616646" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.1.4" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "0.0.1" + os-browserify "^0.2.0" + path-browserify "0.0.0" + process "^0.11.0" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.0.5" + stream-browserify "^2.0.1" + stream-http "^2.3.1" + string_decoder "^0.10.25" + timers-browserify "^2.0.2" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-notifier@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-4.6.1.tgz#056d14244f3dcc1ceadfe68af9cff0c5473a33f3" dependencies: cli-usage "^0.1.1" growly "^1.2.0" lodash.clonedeep "^3.0.0" minimist "^1.1.1" - semver "^4.0.3" + semver "^5.1.0" shellwords "^0.1.0" which "^1.0.5" -node-pre-gyp@^0.6.29: - version "0.6.34" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7" +node-pre-gyp@^0.6.36: + version "0.6.38" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz#e92a20f83416415bb4086f6d1fb78b3da73d113d" dependencies: + hawk "3.1.3" mkdirp "^0.5.1" nopt "^4.0.1" npmlog "^4.0.2" rc "^1.1.7" - request "^2.81.0" + request "2.81.0" rimraf "^2.6.1" semver "^5.3.0" tar "^2.2.1" tar-pack "^3.4.0" -node-sass@^3.4.2: - version "3.13.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.13.1.tgz#7240fbbff2396304b4223527ed3020589c004fc2" +node-sass@^4.5.3: + version "4.5.3" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.5.3.tgz#d09c9d1179641239d1b97ffc6231fdcec53e1568" dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -4097,25 +3917,21 @@ node-sass@^3.4.2: in-publish "^2.0.0" lodash.assign "^4.2.0" lodash.clonedeep "^4.3.2" + lodash.mergewith "^4.6.0" meow "^3.7.0" mkdirp "^0.5.1" nan "^2.3.2" node-gyp "^3.3.1" npmlog "^4.0.0" - request "^2.61.0" + request "^2.79.0" sass-graph "^2.1.1" + stdout-stream "^1.4.0" -node-uuid@~1.4.7: - version "1.4.8" - resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" - -node.extend@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/node.extend/-/node.extend-1.1.6.tgz#a7b882c82d6c93a4863a5504bd5de8ec86258b96" - dependencies: - is "^3.1.0" +node-status-codes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" -"nopt@2 || 3", nopt@3.0.x: +"nopt@2 || 3": version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" dependencies: @@ -4129,8 +3945,8 @@ nopt@^4.0.1: osenv "^0.1.4" normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.3.6" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.6.tgz#498fa420c96401f787402ba21e600def9f981fff" + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" dependencies: hosted-git-info "^2.1.4" is-builtin-module "^1.0.0" @@ -4156,16 +3972,22 @@ normalize-url@^1.4.0: query-string "^4.1.0" sort-keys "^1.0.0" +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + "npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" - gauge "~2.7.1" + gauge "~2.7.3" set-blocking "~2.0.0" -num2fraction@^1.1.0, num2fraction@^1.2.2: +num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -4177,10 +3999,6 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" - object-assign@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" @@ -4193,15 +4011,11 @@ object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - -object-keys@^1.0.4: +object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" -object-path@^0.9.0: +object-path@^0.9.2: version "0.9.2" resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" @@ -4212,58 +4026,64 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" +obuf@^1.0.0, obuf@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" dependencies: ee-first "1.1.1" -once@^1.3.0, once@^1.3.2, once@^1.3.3, once@^1.4.0: +on-headers@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" + +once@^1.3.0, once@^1.3.3, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" -once@~1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - onetime@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" -openurl@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.0.tgz#e2f2189d999c04823201f083f0f1a7cd8903187a" +opn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.1.0.tgz#72ce2306a17dbea58ff1041853352b4a8fc77519" + dependencies: + is-wsl "^1.1.0" -opn@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" +optipng-bin@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/optipng-bin/-/optipng-bin-3.1.4.tgz#95d34f2c488704f6fd70606bfea0c659f1d95d84" dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" +ordered-read-streams@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" + dependencies: + is-stream "^1.0.1" + readable-stream "^2.0.1" -orchestrator@^0.3.0: - version "0.3.8" - resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" +original@>=0.0.5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b" dependencies: - end-of-stream "~0.1.5" - sequencify "~0.0.7" - stream-consume "~0.1.0" + url-parse "1.0.x" -ordered-read-streams@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" +os-browserify@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" -os-browserify@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" +os-filter-obj@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-1.0.3.tgz#5915330d90eced557d2d938a31c6dd214d9c63ad" os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" @@ -4275,6 +4095,14 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -4286,21 +4114,37 @@ osenv@0, osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -outpipe@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/outpipe/-/outpipe-1.1.1.tgz#50cf8616365e87e031e29a5ec9339a3da4725fa2" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" dependencies: - shell-quote "^1.4.2" + p-limit "^1.1.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + +p-pipe@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" -parents@^1.0.0, parents@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" dependencies: - path-platform "~0.11.15" + no-case "^2.2.0" parse-asn1@^5.0.0: version "5.1.0" @@ -4312,20 +4156,6 @@ parse-asn1@^5.0.0: evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" -parse-filepath@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-0.5.0.tgz#b7cf9b8a2824bd77f70fb92cd17d8a2404bf4d6a" - dependencies: - path-ends-with "^0.2.1" - -parse-filepath@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" - dependencies: - is-absolute "^0.2.3" - map-cache "^0.2.0" - path-root "^0.1.1" - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -4335,46 +4165,17 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-json@^2.2.0: +parse-json@^2.1.0, parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: error-ex "^1.2.0" -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - -parsejson@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" - dependencies: - better-assert "~1.0.0" - -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - dependencies: - better-assert "~1.0.0" - -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - dependencies: - better-assert "~1.0.0" - -parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" - -partialify@^3.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/partialify/-/partialify-3.1.6.tgz#7f440f1dee92a85553f584e02bd9280570347d18" - dependencies: - string-to-js "0.0.1" - through "^2.3.4" +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" -path-browserify@~0.0.0: +path-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" @@ -4382,19 +4183,16 @@ path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" -path-ends-with@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/path-ends-with/-/path-ends-with-0.2.3.tgz#2a4a4b614a5bee39dafa0f5da48e862c6d48c3de" - dependencies: - ends-with "^0.2.0" - normalize-path "^2.0.0" - path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" dependencies: pinkie-promise "^2.0.0" +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -4403,23 +4201,17 @@ path-is-inside@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + path-parse@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" -path-platform@~0.11.15: - version "0.11.15" - resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - dependencies: - path-root-regex "^0.1.0" +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" path-type@^1.0.0: version "1.1.0" @@ -4429,15 +4221,25 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path@^0.11.14: - version "0.11.14" - resolved "https://registry.yarnpkg.com/path/-/path-0.11.14.tgz#cbc7569355cb3c83afeb4ace43ecff95231e5a7d" +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" pbkdf2@^3.0.3: - version "3.0.9" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693" + version "3.0.14" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade" dependencies: - create-hmac "^1.1.2" + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" performance-now@^0.2.0: version "0.2.0" @@ -4447,6 +4249,10 @@ pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + pinkie-promise@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -4457,22 +4263,27 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" -pkginfo@0.3.x: - version "0.3.1" - resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + dependencies: + find-up "^2.1.0" -plur@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" +pngquant-bin@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pngquant-bin/-/pngquant-bin-3.1.1.tgz#d124d98a75a9487f40c1640b4dbfcbb2bd5a1fd1" dependencies: - irregular-plurals "^1.0.0" + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" -portscanner@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" +portfinder@^1.0.9: + version "1.0.13" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" dependencies: - async "1.5.2" - is-number-like "^1.0.3" + async "^1.5.2" + debug "^2.2.0" + mkdirp "0.5.x" postcss-calc@^5.2.0: version "5.3.1" @@ -4535,6 +4346,38 @@ postcss-filter-plugins@^2.0.0: postcss "^5.0.4" uniqid "^4.0.0" +postcss-load-config@^1.1.0, postcss-load-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.2.0" + postcss-load-plugins "^2.3.0" + +postcss-load-options@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-load-plugins@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + dependencies: + cosmiconfig "^2.1.1" + object-assign "^4.1.0" + +postcss-loader@^2.0.5: + version "2.0.8" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.0.8.tgz#8c67ddb029407dfafe684a406cfc16bad2ce0814" + dependencies: + loader-utils "^1.1.0" + postcss "^6.0.0" + postcss-load-config "^1.2.0" + schema-utils "^0.3.0" + postcss-merge-idents@^2.1.5: version "2.1.7" resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" @@ -4596,6 +4439,33 @@ postcss-minify-selectors@^2.0.4: postcss "^5.0.14" postcss-selector-parser "^2.0.0" +postcss-modules-extract-imports@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85" + dependencies: + postcss "^6.0.1" + +postcss-modules-local-by-default@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-values@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + postcss-normalize-charset@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" @@ -4676,24 +4546,24 @@ postcss-zindex@^2.0.1: postcss "^5.0.4" uniqs "^2.0.0" -postcss@^4.1.5, postcss@~4.1.12: - version "4.1.16" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-4.1.16.tgz#4c449b4c8af9df3caf6d37f8e1e575d0361758dc" - dependencies: - es6-promise "~2.3.0" - js-base64 "~2.1.8" - source-map "~0.4.2" - -postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16: - version "5.2.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.17.tgz#cf4f597b864d65c8a492b2eabe9d706c879c388b" +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: + version "5.2.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" dependencies: chalk "^1.1.3" js-base64 "^2.1.9" source-map "^0.5.6" supports-color "^3.2.3" -prepend-http@^1.0.0: +postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13, postcss@^6.0.8: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.13.tgz#b9ecab4ee00c89db3ec931145bd9590bbf3f125f" + dependencies: + chalk "^2.1.0" + source-map "^0.6.1" + supports-color "^4.4.0" + +prepend-http@^1.0.0, prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -4701,33 +4571,34 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" +prettier@^1.7.0: + version "1.7.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.7.4.tgz#5e8624ae9363c80f95ec644584ecdf55d74f93fa" -private@^0.1.6: - version "0.1.7" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1" +private@^0.1.6, private@^0.1.7, private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" -process-nextick-args@^1.0.6, process-nextick-args@~1.0.6: +process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" -process@~0.11.0: - version "0.11.9" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" +process@^0.11.0: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" -promise@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf" +proxy-addr@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" dependencies: - asap "~2.0.3" + forwarded "~0.1.2" + ipaddr.js "1.5.2" prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" -pseudomap@^1.0.1: +pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -4745,45 +4616,30 @@ punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" -punycode@^1.3.2, punycode@^1.4.1: +punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -purdy@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/purdy/-/purdy-1.4.1.tgz#1a59d7780c13a6f500e88121baaaff24a3144efd" - dependencies: - chalk "0.4.x" - hoek "2.x.x" - q@^1.1.2: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" -qs@0.4.x: - version "0.4.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-0.4.2.tgz#3cac4c861e371a8c9c4770ac23cda8de639b8e5f" - -qs@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" +qs@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" -"qs@>= 0.4.0", qs@~6.4.0: +qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" -qs@~6.3.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" - query-string@^4.1.0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.3.tgz#91c90ff7173d9acd9e088b3cc223f9b437865692" + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" dependencies: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -querystring-es3@~0.2.0: +querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -4791,42 +4647,55 @@ querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" +querystringify@0.0.x: + version "0.0.4" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c" + +querystringify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb" + randomatic@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" + is-number "^3.0.0" + kind-of "^4.0.0" randombytes@^2.0.0, randombytes@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" + version "2.0.5" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" + dependencies: + safe-buffer "^5.1.0" -range-parser@~1.2.0: +range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" -rc@^1.1.7: - version "1.2.1" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + +rc@^1.1.2, rc@^1.1.7: + version "1.2.2" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" dependencies: deep-extend "~0.4.0" ini "~1.3.0" minimist "^1.2.0" strip-json-comments "~2.0.1" -read-only-stream@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-1.1.1.tgz#5da77c799ed1388d3ef88a18471bb5924f8a0ba1" - dependencies: - readable-stream "^1.0.31" - readable-wrap "^1.0.0" - -read-only-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0" +read-all-stream@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" dependencies: - readable-stream "^2.0.2" + pinkie-promise "^2.0.0" + readable-stream "^2.0.0" read-pkg-up@^1.0.1: version "1.0.1" @@ -4835,6 +4704,13 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -4843,64 +4719,43 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17, readable-stream@~1.0.26: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" -"readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1.0.31, readable-stream@^1.1.13, readable-stream@^1.1.13-1, readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" +"readable-stream@>=1.0.33-1 <1.1.0-0": + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: core-util-is "~1.0.0" inherits "~2.0.1" isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: - version "2.2.9" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" - dependencies: - buffer-shims "~1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~1.0.0" - util-deprecate "~1.0.1" - -readable-stream@~2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.2.9: + version "2.3.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: core-util-is "~1.0.0" - inherits "~2.0.1" + inherits "~2.0.3" isarray "~1.0.0" process-nextick-args "~1.0.6" - string_decoder "~0.10.x" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@~2.1.0: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" dependencies: - buffer-shims "^1.0.0" core-util-is "~1.0.0" inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" + isarray "0.0.1" string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-wrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/readable-wrap/-/readable-wrap-1.0.0.tgz#3b5a211c631e12303a54991c806c17e7ae206bff" - dependencies: - readable-stream "^1.1.13-1" readdirp@^2.0.0: version "2.1.0" @@ -4911,11 +4766,14 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" +recast@~0.11.12: + version "0.11.23" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" dependencies: - resolve "^1.1.6" + ast-types "0.9.6" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" redent@^1.0.0: version "1.0.0" @@ -4945,27 +4803,38 @@ reduce-function-call@^1.0.1: balanced-match "^0.4.2" regenerate@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + version "1.3.3" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" -regenerator-runtime@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e" +regenerator-runtime@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" -regenerator-transform@0.9.11: - version "0.9.11" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.11.tgz#3a7d067520cb7b7176769eb5ff868691befe1283" +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" dependencies: babel-runtime "^6.18.0" babel-types "^6.19.0" private "^0.1.6" regex-cache@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" dependencies: is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" + +regex-parser@^2.2.1: + version "2.2.8" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.8.tgz#da4c0cda5a828559094168930f455f532b6ffbac" + +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" regexpu-core@^2.0.0: version "2.0.0" @@ -4985,9 +4854,13 @@ regjsparser@^0.1.4: dependencies: jsesc "~0.5.0" +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + remove-trailing-separator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" repeat-element@^1.1.2: version "1.1.2" @@ -5011,7 +4884,7 @@ replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" -request@2, request@^2.61.0, request@^2.72.0, request@^2.81.0: +request@2, request@2.81.0, request@^2.79.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -5038,84 +4911,56 @@ request@2, request@^2.61.0, request@^2.72.0, request@^2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@2.78.0: - version "2.78.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - node-uuid "~1.4.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - -require-dir@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/require-dir/-/require-dir-0.3.1.tgz#b5a8e28bae0343bb0d0cc38ab1f531e1931b264a" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -requires-port@1.x.x: +requires-port@1.0.x, requires-port@1.x.x: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" -resolve-dir@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" +resolve-url-loader@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-2.1.1.tgz#5354e87381aae348371e555172c50816708e6c1c" + dependencies: + adjust-sourcemap-loader "^1.1.0" + camelcase "^4.0.0" + convert-source-map "^1.1.1" + loader-utils "^1.0.0" + lodash.defaults "^4.0.0" + rework "^1.0.1" + rework-visit "^1.0.0" + source-map "^0.5.6" + urix "^0.1.0" resolve-url@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - -resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6, resolve@^1.1.7: - version "1.3.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.2.tgz#1f0442c9e0cbb8136e87b9305f932f46c7f28235" +resolve@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.4.0.tgz#a75be01c53da25d934a98ebd0e4c4a7312f92a86" dependencies: path-parse "^1.0.5" -resp-modifier@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" - dependencies: - debug "^2.2.0" - minimatch "^3.0.2" - -rev-hash@^1.0.0: +rework-visit@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/rev-hash/-/rev-hash-1.0.0.tgz#96993959ea9bfb1c59b13adf02ac2e34bb373603" + resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" -rev-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rev-path/-/rev-path-1.0.0.tgz#d4ccb436ac3370c4607175ce88eafc5c65c5d653" +rework@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" dependencies: - modify-filename "^1.0.0" + convert-source-map "^0.3.3" + css "^2.0.0" right-align@^0.1.1: version "0.1.3" @@ -5123,97 +4968,135 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" +rimraf@2, rimraf@^2.2.6, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" -ripemd160@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" - -run-sequence@^1.1.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.2.2.tgz#5095a0bebe98733b0140bd08dd80ec030ddacdeb" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" dependencies: - chalk "*" - gulp-util "*" - -rx@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + hash-base "^2.0.0" + inherits "^2.0.1" -safe-buffer@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" +safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" sass-graph@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.1.2.tgz#965104be23e8103cb7e5f710df65935b317da57b" + version "2.2.4" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" dependencies: glob "^7.0.0" lodash "^4.0.0" - yargs "^4.7.1" + scss-tokenizer "^0.2.3" + yargs "^7.0.0" + +sass-loader@^6.0.5: + version "6.0.6" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.6.tgz#e9d5e6c1f155faa32a4b26d7a9b7107c225e40f9" + dependencies: + async "^2.1.5" + clone-deep "^0.3.0" + loader-utils "^1.0.1" + lodash.tail "^4.1.1" + pify "^3.0.0" sax@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" + dependencies: + ajv "^5.0.0" -semver@^4.0.3, semver@^4.1.0: - version "4.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" -send@0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" +seek-bzip@^1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" dependencies: - debug "~2.2.0" - depd "~1.1.0" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.7.0" - fresh "0.3.0" - http-errors "~1.5.0" - mime "1.3.4" - ms "0.7.1" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.0" + commander "~2.8.1" -sequencify@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" -serve-index@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b" +selfsigned@^1.9.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.1.tgz#bf8cb7b83256c4551e31347c6311778db99eec52" dependencies: - accepts "~1.3.3" - batch "0.5.3" - debug "~2.2.0" - escape-html "~1.0.3" - http-errors "~1.5.0" - mime-types "~2.1.11" - parseurl "~1.3.1" + node-forge "0.6.33" -serve-static@1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.14.1" +semver-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" -server-destroy@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" +semver-truncate@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" + dependencies: + semver "^5.3.0" + +"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + +semver@^4.0.3: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +send@0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" + dependencies: + debug "2.6.9" + depd "~1.1.1" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.1" + +serve-index@^1.7.2: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.1" set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" @@ -5223,43 +5106,47 @@ set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" -setprototypeof@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" -sha.js@^2.3.6, sha.js@~2.4.4: - version "2.4.8" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.9" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d" dependencies: inherits "^2.0.1" + safe-buffer "^5.0.1" -shasum@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f" +shallow-clone@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" dependencies: - json-stable-stringify "~0.0.0" - sha.js "~2.4.4" + is-extendable "^0.1.1" + kind-of "^2.0.1" + lazy-cache "^0.2.3" + mixin-object "^2.0.1" -shell-quote@^1.4.2, shell-quote@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" + shebang-regex "^1.0.0" -shell-quote@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-0.0.1.tgz#1a41196f3c0333c482323593d6886ecf153dd986" +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" shellwords@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.0.tgz#66afd47b6a12932d9071cbfd98a52e785cd0ba14" - -sigmund@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" signal-exit@^3.0.0: version "3.0.2" @@ -5275,49 +5162,23 @@ sntp@1.x.x: dependencies: hoek "2.x.x" -socket.io-adapter@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b" - dependencies: - debug "2.3.3" - socket.io-parser "2.3.1" - -socket.io-client@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.6.0.tgz#5b668f4f771304dfeed179064708386fa6717853" - dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "1.2.1" - debug "2.3.3" - engine.io-client "1.8.0" - has-binary "0.1.7" - indexof "0.0.1" - object-component "0.0.3" - parseuri "0.0.5" - socket.io-parser "2.3.1" - to-array "0.1.4" - -socket.io-parser@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0" +sockjs-client@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" dependencies: - component-emitter "1.1.2" - debug "2.2.0" - isarray "0.0.1" - json3 "3.3.2" + debug "^2.6.6" + eventsource "0.1.6" + faye-websocket "~0.11.0" + inherits "^2.0.1" + json3 "^3.3.2" + url-parse "^1.1.8" -socket.io@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.6.0.tgz#3e40d932637e6bd923981b25caf7c53e83b6e2e1" +sockjs@0.3.18: + version "0.3.18" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207" dependencies: - debug "2.3.3" - engine.io "1.8.0" - has-binary "0.1.7" - object-assign "4.1.0" - socket.io-adapter "0.5.0" - socket.io-client "1.6.0" - socket.io-parser "2.3.1" + faye-websocket "^0.10.0" + uuid "^2.0.2" sort-keys@^1.0.0: version "1.1.2" @@ -5325,6 +5186,10 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + source-map-resolve@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" @@ -5334,9 +5199,9 @@ source-map-resolve@^0.3.0: source-map-url "~0.3.0" urix "~0.1.0" -source-map-support@^0.4.2: - version "0.4.14" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef" +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" dependencies: source-map "^0.5.6" @@ -5344,22 +5209,26 @@ source-map-url@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" -source-map@0.X, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" +source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1, source-map@~0.5.3: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" -source-map@^0.1.38, source-map@^0.1.39: +source-map@^0.1.38: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" dependencies: amdefine ">=0.0.4" -source-map@~0.4.0, source-map@~0.4.2: +source-map@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" dependencies: amdefine ">=0.0.4" +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + sparkles@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" @@ -5378,13 +5247,44 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" +spdy-transport@^2.0.18: + version "2.0.20" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.20.tgz#735e72054c486b2354fe89e702256004a39ace4d" + dependencies: + debug "^2.6.8" + detect-node "^2.0.3" + hpack.js "^2.1.6" + obuf "^1.1.1" + readable-stream "^2.2.9" + safe-buffer "^5.0.1" + wbuf "^1.7.2" + +spdy@^3.4.1: + version "3.4.7" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" + dependencies: + debug "^2.6.8" + handle-thing "^1.2.5" + http-deceiver "^1.2.7" + safe-buffer "^5.0.1" + select-hose "^2.0.0" + spdy-transport "^2.0.18" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" +squeak@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/squeak/-/squeak-1.3.0.tgz#33045037b64388b567674b84322a6521073916c3" + dependencies: + chalk "^1.0.0" + console-stream "^0.1.1" + lpad-align "^1.0.1" + sshpk@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" + version "1.13.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -5393,25 +5293,28 @@ sshpk@^1.7.0: optionalDependencies: bcrypt-pbkdf "^1.0.0" ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" jsbn "~0.1.0" tweetnacl "~0.14.0" -stack-trace@0.0.x: - version "0.0.9" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.9.tgz#a8f6eaeca90674c333e7c43953f275b451510695" +stackframe@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b" -"statuses@>= 1.3.1 < 2", statuses@~1.3.0: +stat-mode@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" + +"statuses@>= 1.3.1 < 2", statuses@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" -stream-array@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz#9e5f7345f2137c30ee3b498b9114e80b52bb7eb5" +stdout-stream@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" dependencies: - readable-stream "~2.1.0" + readable-stream "^2.0.1" -stream-browserify@^2.0.0: +stream-browserify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" dependencies: @@ -5425,35 +5328,9 @@ stream-combiner2@^1.1.1: duplexer2 "~0.1.0" readable-stream "^2.0.2" -stream-combiner2@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.0.2.tgz#ba72a6b50cbfabfa950fc8bc87604bd01eb60671" - dependencies: - duplexer2 "~0.0.2" - through2 "~0.5.1" - -stream-consume@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" - -stream-exhaust@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.1.tgz#c0c4455e54ce5a179ca8736e73334b4e7fd67553" - -stream-http@^1.2.0: - version "1.7.1" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-1.7.1.tgz#d3d2a6e14c36a38b9dafb199aee7bbc570519978" - dependencies: - builtin-status-codes "^1.0.0" - foreach "^2.0.5" - indexof "0.0.1" - inherits "^2.0.1" - object-keys "^1.0.4" - xtend "^4.0.0" - -stream-http@^2.0.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6" +stream-http@^2.3.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" dependencies: builtin-status-codes "^3.0.0" inherits "^2.0.1" @@ -5461,38 +5338,19 @@ stream-http@^2.0.0: to-arraybuffer "^1.0.0" xtend "^4.0.0" -stream-splicer@^1.1.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-1.3.2.tgz#3c0441be15b9bf4e226275e6dc83964745546661" - dependencies: - indexof "0.0.1" - inherits "^2.0.1" - isarray "~0.0.1" - readable-stream "^1.1.13-1" - readable-wrap "^1.0.0" - through2 "^1.0.0" - -stream-splicer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.2" - -stream-throttle@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" - dependencies: - commander "^2.2.0" - limiter "^1.0.5" +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" -string-to-js@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/string-to-js/-/string-to-js-0.0.1.tgz#bf153c760636faa30769b804a0195552ba7ad80f" +string-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac" + dependencies: + strip-ansi "^3.0.0" string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" @@ -5502,46 +5360,38 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string.prototype.codepointat@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.0.tgz#6b26e9bd3afcaa7be3b4269b526de1b82000ac78" +string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" -string_decoder@~0.10.0, string_decoder@~0.10.x: +string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" -string_decoder@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.0.tgz#f06f41157b664d86069f84bdbdc9b0d8ab281667" - dependencies: - buffer-shims "~1.0.0" - -stringify-object@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-2.4.0.tgz#c62d11023eb21fe2d9b087be039a26df3b22a09d" +string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" dependencies: - is-plain-obj "^1.0.0" - is-regexp "^1.0.0" + safe-buffer "~5.1.0" stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" -strip-ansi@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" - dependencies: - ansi-regex "^0.2.1" - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: ansi-regex "^2.0.0" -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" strip-bom-stream@^1.0.0: version "1.0.0" @@ -5550,25 +5400,30 @@ strip-bom-stream@^1.0.0: first-chunk-stream "^1.0.0" strip-bom "^2.0.0" -strip-bom-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" - dependencies: - first-chunk-stream "^2.0.0" - strip-bom "^2.0.0" - -strip-bom@2.X, strip-bom@^2.0.0: +strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" dependencies: is-utf8 "^0.2.0" -strip-bom@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-dirs@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-1.1.1.tgz#960bbd1287844f3975a4558aa103a8255e2456a0" dependencies: - first-chunk-stream "^1.0.0" - is-utf8 "^0.2.0" + chalk "^1.0.0" + get-stdin "^4.0.1" + is-absolute "^0.1.5" + is-natural-number "^2.0.0" + minimist "^1.1.0" + sum-up "^1.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" strip-indent@^1.0.1: version "1.0.1" @@ -5580,15 +5435,24 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -subarg@^1.0.0: +strip-outer@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8" dependencies: - minimist "^1.1.0" + escape-string-regexp "^1.0.2" -supports-color@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" +style-loader@^0.18.1: + version "0.18.2" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.18.2.tgz#cc31459afbcd6d80b7220ee54b291a9fd66ff5eb" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.3.0" + +sum-up@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e" + dependencies: + chalk "^1.0.0" supports-color@^2.0.0: version "2.0.0" @@ -5600,6 +5464,12 @@ supports-color@^3.2.3: dependencies: has-flag "^1.0.0" +supports-color@^4.0.0, supports-color@^4.2.1, supports-color@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + dependencies: + has-flag "^2.0.0" + svgo@^0.7.0: version "0.7.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" @@ -5612,11 +5482,9 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" -syntax-error@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.3.0.tgz#1ed9266c4d40be75dc55bf9bb1cb77062bb96ca1" - dependencies: - acorn "^4.0.3" +tapable@^0.2.7: + version "0.2.8" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" tar-pack@^3.4.0: version "3.4.0" @@ -5631,6 +5499,15 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" +tar-stream@^1.1.1: + version "1.5.4" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.4.tgz#36549cf04ed1aee9b2a30c0143252238daf94016" + dependencies: + bl "^1.0.0" + end-of-stream "^1.0.0" + readable-stream "^2.0.0" + xtend "^4.0.0" + tar@^2.0.0, tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" @@ -5639,85 +5516,88 @@ tar@^2.0.0, tar@^2.2.1: fstream "^1.0.2" inherits "2" -ternary-stream@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/ternary-stream/-/ternary-stream-1.2.3.tgz#f1969f83847f9642261bc142e17ee200aada83fd" - dependencies: - duplexer2 "~0.0.2" - fork-stream "~0.0.4" - merge-stream "~0.1.6" - through2 "~0.6.3" +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" -tfunk@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b" +tempfile@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" dependencies: - chalk "^1.1.1" - object-path "^0.9.0" + os-tmpdir "^1.0.0" + uuid "^2.0.1" -through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" +tempfile@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-2.0.0.tgz#6b0446856a9b1114d1856ffcbe509cccb0977265" dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" + temp-dir "^1.0.0" + uuid "^3.0.1" -through2@^0.5.0, through2@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.5.1.tgz#dfdd012eb9c700e2323fd334f38ac622ab372da7" +through2-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" dependencies: - readable-stream "~1.0.17" - xtend "~3.0.0" + through2 "~2.0.0" + xtend "~4.0.0" -through2@^0.6.1, through2@^0.6.2, through2@^0.6.3, through2@~0.6.2, through2@~0.6.3: +through2@^0.6.0, through2@^0.6.1: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" dependencies: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/through2/-/through2-1.1.1.tgz#0847cbc4449f3405574dbdccd9bb841b83ac3545" +through2@^2.0.0, through2@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" dependencies: - readable-stream ">=1.1.13-1 <1.2.0-0" - xtend ">=4.0.0 <4.1.0-0" + readable-stream "^2.1.5" + xtend "~4.0.1" -"through@>=2.2.7 <3", through@^2.3.4: +through@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" -tildify@^1.0.0, tildify@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" - dependencies: - os-homedir "^1.0.0" +thunky@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-0.1.0.tgz#bf30146824e2b6e67b0f2d7a4ac8beb26908684e" time-stamp@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" -timers-browserify@^1.0.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" +time-stamp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + +timed-out@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" + +timers-browserify@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" dependencies: - process "~0.11.0" + setimmediate "^1.0.4" -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" +to-absolute-glob@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" + dependencies: + extend-shallow "^2.0.1" to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" -to-fast-properties@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" tough-cookie@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + version "2.3.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" dependencies: punycode "^1.4.1" @@ -5725,90 +5605,77 @@ trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + dependencies: + escape-string-regexp "^1.0.2" + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" -tty-browserify@~0.0.0: +tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" +tunnel-agent@^0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" dependencies: safe-buffer "^5.0.1" -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" -typedarray@~0.0.5: +type-is@~1.6.15: + version "1.6.15" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.15" + +typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -ua-parser-js@0.7.12: - version "0.7.12" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" - -uglify-js@2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf" +uglify-js@3.1.x: + version "3.1.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.1.4.tgz#8e1efa1244b207588e525c9c1835a33458b90aee" dependencies: - async "~0.2.6" - source-map "~0.5.1" - uglify-to-browserify "~1.0.0" - yargs "~3.10.0" + commander "~2.11.0" + source-map "~0.6.1" -uglify-js@^2.7.0: - version "2.8.22" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.22.tgz#d54934778a8da14903fa29a326fb24c0ab51a1a0" +uglify-js@^2.8.28, uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" dependencies: source-map "~0.5.1" yargs "~3.10.0" optionalDependencies: uglify-to-browserify "~1.0.0" -uglify-save-license@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/uglify-save-license/-/uglify-save-license-0.4.1.tgz#95726c17cc6fd171c3617e3bf4d8d82aa8c4cce1" - uglify-to-browserify@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - -umd@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" - -unc-path-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - -underscore-deep-extend@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/underscore-deep-extend/-/underscore-deep-extend-0.0.5.tgz#121eea506f86ccc0c1b24dc6bae1c97f9b767162" - -underscore@1.7.x: - version "1.7.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" - -underscore@^1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" - uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" @@ -5823,59 +5690,91 @@ uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" -unique-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" +unique-stream@^2.0.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" + dependencies: + json-stable-stringify "^1.0.0" + through2-filter "^2.0.0" + +universalify@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" -unpipe@~1.0.0: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" +unzip-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + urix@^0.1.0, urix@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" -url@~0.10.1: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" dependencies: - punycode "1.3.2" - querystring "0.2.0" + prepend-http "^1.0.1" -url@~0.11.0: +url-parse@1.0.x: + version "1.0.5" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b" + dependencies: + querystringify "0.0.x" + requires-port "1.0.x" + +url-parse@^1.1.8: + version "1.1.9" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19" + dependencies: + querystringify "~1.0.0" + requires-port "1.0.x" + +url-regex@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724" + dependencies: + ip-regex "^1.0.1" + +url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" dependencies: punycode "1.3.2" querystring "0.2.0" -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util@0.10.3, util@~0.10.1: +util@0.10.3, util@^0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" dependencies: inherits "2.0.1" -utils-merge@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" +uuid@^2.0.1, uuid@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" -v8flags@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.0.tgz#b21c7b1862261108865cb11aeed833ca53987d8a" - dependencies: - user-home "^1.1.1" +uuid@^3.0.0, uuid@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + +vali-date@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" validate-npm-package-license@^3.0.1: version "3.0.1" @@ -5884,155 +5783,241 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + vendors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22" -verror@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" dependencies: - extsprintf "1.0.2" - -vinyl-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vinyl-buffer/-/vinyl-buffer-1.0.0.tgz#ca067ea08431d507722b1de5083f602616ebc234" - dependencies: - bl "^0.9.1" - through2 "^0.6.1" + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" -vinyl-file@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-1.3.0.tgz#aa05634d3a867ba91447bedbb34afcb26f44f6e7" +vinyl-assign@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/vinyl-assign/-/vinyl-assign-1.2.1.tgz#4d198891b5515911d771a8cd9c5480a46a074a45" dependencies: - graceful-fs "^4.1.2" + object-assign "^4.0.1" + readable-stream "^2.0.0" + +vinyl-fs@^2.2.0: + version "2.4.4" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" + dependencies: + duplexify "^3.2.0" + glob-stream "^5.3.2" + graceful-fs "^4.0.0" + gulp-sourcemaps "1.6.0" + is-valid-glob "^0.3.0" + lazystream "^1.0.0" + lodash.isequal "^4.0.0" + merge-stream "^1.0.0" + mkdirp "^0.5.0" + object-assign "^4.0.0" + readable-stream "^2.0.4" strip-bom "^2.0.0" strip-bom-stream "^1.0.0" - vinyl "^1.1.0" + through2 "^2.0.0" + through2-filter "^2.0.0" + vali-date "^1.0.0" + vinyl "^1.0.0" -vinyl-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" +vinyl@^0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" dependencies: - graceful-fs "^4.1.2" - pify "^2.3.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - strip-bom-stream "^2.0.0" - vinyl "^1.1.0" + clone "^0.2.0" + clone-stats "^0.0.1" -vinyl-fs@^0.3.0: - version "0.3.14" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" dependencies: - defaults "^1.0.0" - glob-stream "^3.1.5" - glob-watcher "^0.0.6" - graceful-fs "^3.0.0" - mkdirp "^0.5.0" - strip-bom "^1.0.0" - through2 "^0.6.1" - vinyl "^0.4.0" + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" -vinyl-paths@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vinyl-paths/-/vinyl-paths-1.0.0.tgz#fc272ada915b4c3e8264cfb06de75d3ce07c8a9e" +vinyl@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" dependencies: - through2 "^0.6.3" + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" -vinyl-source-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vinyl-source-stream/-/vinyl-source-stream-1.1.0.tgz#44cbe5108205279deb0c5653c094a2887938b1ab" +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" dependencies: - through2 "^0.6.1" - vinyl "^0.4.3" + indexof "0.0.1" -vinyl-sourcemaps-apply@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.1.4.tgz#c5fcbd43e2f238423c2dc98bddd6f79b72bc345b" +vue-hot-reload-api@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.2.0.tgz#9a21b35ced3634434a43ee80efb7350ea8fb206d" + +vue-loader@^13.0.5: + version "13.3.0" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-13.3.0.tgz#3bf837d490ba5dea6fc07e0835ffa6c688c8af33" + dependencies: + consolidate "^0.14.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + lru-cache "^4.1.1" + postcss "^6.0.8" + postcss-load-config "^1.1.0" + postcss-selector-parser "^2.0.0" + prettier "^1.7.0" + resolve "^1.4.0" + source-map "^0.6.1" + vue-hot-reload-api "^2.2.0" + vue-style-loader "^3.0.0" + vue-template-es2015-compiler "^1.6.0" + +vue-style-loader@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-3.0.3.tgz#623658f81506aef9d121cdc113a4f5c9cac32df7" dependencies: - source-map "^0.1.39" + hash-sum "^1.0.2" + loader-utils "^1.0.2" -vinyl-sourcemaps-apply@^0.2.0, vinyl-sourcemaps-apply@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" +vue-template-compiler@^2.0.0: + version "2.5.2" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.5.2.tgz#6f198ebc677b8f804315cd33b91e849315ae7177" dependencies: - source-map "^0.5.1" + de-indent "^1.0.2" + he "^1.1.0" -vinyl@1.X, vinyl@^1.1.0, vinyl@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" +vue-template-es2015-compiler@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18" -vinyl@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.2.3.tgz#bca938209582ec5a49ad538a00fa1f125e513252" +ware@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4" dependencies: - clone-stats "~0.0.1" + wrap-fn "^0.1.0" -vinyl@^0.4.0, vinyl@^0.4.3: - version "0.4.6" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" +watchpack@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" dependencies: - clone "^0.2.0" - clone-stats "^0.0.1" + async "^2.1.2" + chokidar "^1.7.0" + graceful-fs "^4.1.2" -vinyl@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" +wbuf@^1.1.0, wbuf@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe" dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" + minimalistic-assert "^1.0.0" -vinyl@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.0.2.tgz#0a3713d8d4e9221c58f10ca16c0116c9e25eda7c" +webpack-chunk-hash@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/webpack-chunk-hash/-/webpack-chunk-hash-0.4.0.tgz#6b40c3070fbc9ff0cfe0fe781c7174af6c7c16a4" + +webpack-dev-middleware@^1.11.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709" dependencies: - clone "^1.0.0" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - is-stream "^1.1.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" + memory-fs "~0.4.1" + mime "^1.3.4" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + time-stamp "^2.0.0" + +webpack-dev-server@^2.5.1: + version "2.9.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.2.tgz#0fbab915701d25a905a60e1e784df19727da800f" + dependencies: + ansi-html "0.0.7" + array-includes "^3.0.3" + bonjour "^3.5.0" + chokidar "^1.6.0" + compression "^1.5.2" + connect-history-api-fallback "^1.3.0" + del "^3.0.0" + express "^4.13.3" + html-entities "^1.2.0" + http-proxy-middleware "~0.17.4" + internal-ip "1.2.0" + ip "^1.1.5" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + selfsigned "^1.9.1" + serve-index "^1.7.2" + sockjs "0.3.18" + sockjs-client "1.1.4" + spdy "^3.4.1" + strip-ansi "^3.0.1" + supports-color "^4.2.1" + webpack-dev-middleware "^1.11.0" + yargs "^6.6.0" -vlq@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.2.tgz#e316d5257b40b86bb43cb8d5fea5d7f54d6b0ca1" +webpack-merge@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.0.tgz#6ad72223b3e0b837e531e4597c199f909361511e" + dependencies: + lodash "^4.17.4" -vm-browserify@~0.0.1: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" +webpack-notifier@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/webpack-notifier/-/webpack-notifier-1.5.0.tgz#c010007d448cebc34defc99ecf288fa5e8c6baf6" dependencies: - indexof "0.0.1" + node-notifier "^4.1.0" + object-assign "^4.1.0" + strip-ansi "^3.0.1" -watchify@^3.2.3: - version "3.9.0" - resolved "https://registry.yarnpkg.com/watchify/-/watchify-3.9.0.tgz#f075fd2e8a86acde84cedba6e5c2a0bedd523d9e" +webpack-sources@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" dependencies: - anymatch "^1.3.0" - browserify "^14.0.0" - chokidar "^1.0.0" - defined "^1.0.0" - outpipe "^1.1.0" - through2 "^2.0.0" - xtend "^4.0.0" + source-list-map "^2.0.0" + source-map "~0.5.3" -weinre@^2.0.0-pre-I0Z7U9OV: - version "2.0.0-pre-I0Z7U9OV" - resolved "https://registry.yarnpkg.com/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz#fef8aa223921f7b40bbbbd4c3ed4302f6fd0a813" +webpack@^3.5.0: + version "3.8.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.1.tgz#b16968a81100abe61608b0153c9159ef8bb2bd83" + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^5.1.5" + ajv-keywords "^2.0.0" + async "^2.1.2" + enhanced-resolve "^3.4.0" + escope "^3.6.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" + +websocket-driver@>=0.5.1: + version "0.7.0" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb" dependencies: - express "2.5.x" - nopt "3.0.x" - underscore "1.7.x" + http-parser-js ">=0.4.0" + websocket-extensions ">=0.1.1" -when@^3.7.7: - version "3.7.8" - resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" +websocket-extensions@>=0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.2.tgz#0e18781de629a18308ce1481650f67ffa2693a5d" whet.extend@~0.9.9: version "0.9.9" @@ -6042,42 +6027,26 @@ which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" -which@1, which@^1.0.5, which@^1.2.12, which@^1.2.9: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@1, which@^1.0.5, which@^1.2.9: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" dependencies: isexe "^2.0.0" wide-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: - string-width "^1.0.1" + string-width "^1.0.2" window-size@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" -window-size@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - -window-size@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" - -winston@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/winston/-/winston-1.1.2.tgz#68edd769ff79d4f9528cf0e5d80021aade67480c" - dependencies: - async "~1.0.0" - colors "1.0.x" - cycle "1.0.x" - eyes "0.1.x" - isstream "0.1.x" - pkginfo "0.3.x" - stack-trace "0.0.x" - wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -6089,68 +6058,53 @@ wrap-ansi@^2.0.0: string-width "^1.0.1" strip-ansi "^3.0.1" +wrap-fn@^0.1.0: + version "0.1.5" + resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845" + dependencies: + co "3.1.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -ws@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -wtf-8@1.0.0: +xml-char-classes@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" + resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d" -xmlhttprequest-ssl@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" - -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" -xtend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-3.0.0.tgz#5cce7407baf642cba7becda568111c493f59665a" - -y18n@^3.2.0, y18n@^3.2.1: +y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" -yallist@^2.0.0: +yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" -yargs-parser@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" +yargs-parser@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" dependencies: camelcase "^3.0.0" - lodash.assign "^4.0.6" -yargs-parser@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" dependencies: camelcase "^3.0.0" -yargs@3.29.0: - version "3.29.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c" +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" dependencies: - camelcase "^1.2.1" - cliui "^3.0.3" - decamelize "^1.0.0" - os-locale "^1.4.0" - window-size "^0.1.2" - y18n "^3.2.0" + camelcase "^4.1.0" -yargs@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" +yargs@^6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -6163,28 +6117,44 @@ yargs@6.4.0: set-blocking "^2.0.0" string-width "^1.0.2" which-module "^1.0.0" - window-size "^0.2.0" y18n "^3.2.1" - yargs-parser "^4.1.0" + yargs-parser "^4.2.0" -yargs@^4.7.1: - version "4.8.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" +yargs@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" dependencies: + camelcase "^3.0.0" cliui "^3.2.0" decamelize "^1.1.1" get-caller-file "^1.0.1" - lodash.assign "^4.0.3" os-locale "^1.4.0" read-pkg-up "^1.0.1" require-directory "^2.1.1" require-main-filename "^1.0.1" set-blocking "^2.0.0" - string-width "^1.0.1" + string-width "^1.0.2" which-module "^1.0.0" - window-size "^0.2.0" y18n "^3.2.1" - yargs-parser "^2.4.1" + yargs-parser "^5.0.0" + +yargs@^8.0.1, yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" yargs@~3.10.0: version "3.10.0" @@ -6195,6 +6165,9 @@ yargs@~3.10.0: decamelize "^1.0.0" window-size "0.1.0" -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" +yauzl@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.8.0.tgz#79450aff22b2a9c5a41ef54e02db907ccfbf9ee2" + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.0.1" From 50a2300e018df803a731bef4f4cef1aae55917f7 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Wed, 18 Oct 2017 13:08:57 -0700 Subject: [PATCH 04/18] WIP --- .gitattributes | 4 +++ .gitignore | 2 +- LICENSE | 2 +- README.md | 10 ++---- mix-manifest.json | 3 -- package-lock.json | 91 ----------------------------------------------- 6 files changed, 8 insertions(+), 104 deletions(-) delete mode 100644 mix-manifest.json delete mode 100644 package-lock.json diff --git a/.gitattributes b/.gitattributes index 60777e7..71d8085 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7,3 +7,7 @@ /.travis.yml export-ignore /phpunit.xml export-ignore /tests export-ignore +/webpack.mix.js export-ignore +/yarn.lock export-ignore +/qa-checklist.md export-ignore +/package.json export-ignore diff --git a/.gitignore b/.gitignore index dd2c1a6..6169784 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -composer.phar composer.lock /vendor /node_modules +yarn.lock diff --git a/LICENSE b/LICENSE index f4c0075..5a2d410 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2015 GeneaLabs, Mike Bronner. +Copyright (c) 2015 - 2017 GeneaLabs, Mike Bronner. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 083e687..04f4966 100644 --- a/README.md +++ b/README.md @@ -18,10 +18,7 @@ ## Requirements and Compatibility - PHP 7 -- Laravel 5.1 (LTS) -- Laravel 5.3 -- Laravel 5.4 -- Laravel 5.5 (LTS, current) +- Laravel 5.5 ### Legacy Versions - [Laravel 5.2](https://github.com/GeneaLabs/laravel-mixpanel/tree/afcf3737412c1aebfa9dd1d7687001f78bdb3956) @@ -83,10 +80,7 @@ MIXPANEL_TOKEN=xxxxxxxxxxxxxxxxxxxxxx ### Stripe Web-Hook If you wish to take advantage of the Stripe web-hook and track revenue per user, - you should install Cashier: -- [Laravel 5.4](https://www.laravel.com/docs/5.4/billing) -- [Laravel 5.3](https://www.laravel.com/docs/5.3/billing) -- [Laravel 5.1](https://www.laravel.com/docs/5.1/billing) + you should install Cashier: https://www.laravel.com/docs/5.5/billing Once that has been completed, exempt the web-hook endpoint from CSRF-validation in `/app/Http/Middleware/VerifyCsrfToken.php`: diff --git a/mix-manifest.json b/mix-manifest.json deleted file mode 100644 index a3828a1..0000000 --- a/mix-manifest.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "/public/genealabs-laravel-mixpanel/js/mixpanel.js": "/public/genealabs-laravel-mixpanel/js/mixpanel.js" -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 395441d..0000000 --- a/package-lock.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "cross-env": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.0.tgz", - "integrity": "sha512-R+0paw9UZQc7odHjIxElqyYotgyMlhcUMTfRxiv4I22grgvS5WOSSfCpyfAZUDhP/c9ShSRv+Hzfxs6fY4JA7g==", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "is-windows": "1.0.1" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - }, - "is-windows": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", - "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "mixpanel-browser": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/mixpanel-browser/-/mixpanel-browser-2.13.0.tgz", - "integrity": "sha1-61JsjTT4FnWV36oPOJT8ZZU0Gu8=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } -} From b26ab202b6d92088841f7fcca6bbb16fd0c851d2 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Wed, 18 Oct 2017 13:44:56 -0700 Subject: [PATCH 05/18] WIP - clean up code --- .scrutinizer.yml | 1 + composer.json | 6 ++- src/Http/Requests/RecordStripeEvent.php | 54 +++++++------------ src/Listeners/MixpanelEvent.php | 4 +- src/Providers/LaravelMixpanelService.php | 13 ----- .../{MixpanelBaseService.php => Service.php} | 9 +++- 6 files changed, 37 insertions(+), 50 deletions(-) delete mode 100644 src/Providers/LaravelMixpanelService.php rename src/Providers/{MixpanelBaseService.php => Service.php} (92%) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 0402de6..f9da0da 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -1,3 +1,4 @@ filter: excluded_paths: + - "piblic/" - "tests/" diff --git a/composer.json b/composer.json index dac6644..4fb76f7 100644 --- a/composer.json +++ b/composer.json @@ -15,9 +15,13 @@ }, "require": { "php": ">=7.0.0", + "illuminate/auth": "5.5.*", "illuminate/config": "5.5.*", + "illuminate/console": "5.5.*", "illuminate/events": "5.5.*", + "illuminate/http": "5.5.*", "illuminate/routing": "5.5.*", + "illuminate/queue": "5.5.*", "illuminate/support": "5.5.*", "nesbot/carbon": "^1.19", "mixpanel/mixpanel-php": "~2.0", @@ -40,7 +44,7 @@ "extra": { "laravel": { "providers": [ - "GeneaLabs\\LaravelMixpanel\\Providers\\LaravelMixpanelService" + "GeneaLabs\\LaravelMixpanel\\Providers\\Service" ] } } diff --git a/src/Http/Requests/RecordStripeEvent.php b/src/Http/Requests/RecordStripeEvent.php index ec24a30..45d8479 100644 --- a/src/Http/Requests/RecordStripeEvent.php +++ b/src/Http/Requests/RecordStripeEvent.php @@ -49,46 +49,32 @@ public function process() } } - private function recordCharge($transaction, $user) + private function recordCharge(array $transaction, $user) { - if ($transaction['paid'] && $transaction['captured'] && ! $transaction['refunded']) { - $charge = 0 - ($transaction['amount'] / 100); - $trackingData = [ - ['Payment', [ - 'Status' => 'Successful', - 'Amount' => ($transaction['amount'] / 100), - ]], - ]; - } + $charge = 0; + $amount = $transaction['amount'] / 100; + $status = 'Failed'; - if ($transaction['paid'] && $transaction['captured'] && $transaction['refunded']) { - $charge = 0 - ($transaction['amount'] / 100); - $trackingData = [ - ['Payment', [ - 'Status' => 'Refunded', - 'Amount' => ($transaction['amount'] / 100), - ]], - ]; - } + if ($transaction['paid']) { + $status = 'Authorized'; - if (! $transaction['paid'] && $transaction['captured'] && ! $transaction['refunded']) { - $trackingData = [ - ['Payment', [ - 'Status' => 'Failed', - 'Amount' => ($transaction['amount'] / 100), - ]], - ]; - } + if ($transaction['captured']) { + $status = 'Successful'; - if ($transaction['paid'] && ! $transaction['captured'] && ! $transaction['refunded']) { - $trackingData = [ - ['Payment', [ - 'Status' => 'Authorized', - 'Amount' => ($transaction['amount'] / 100), - ]], - ]; + if ($transaction['refunded']) { + $status = 'Refunded'; + } + } } + $trackingData = [ + 'Payment', + [ + 'Status' => $status, + 'Amount' => $amount, + ], + ]; + event(new MixpanelEvent($user, $trackingData, $charge)); } diff --git a/src/Listeners/MixpanelEvent.php b/src/Listeners/MixpanelEvent.php index af55299..ae0d813 100644 --- a/src/Listeners/MixpanelEvent.php +++ b/src/Listeners/MixpanelEvent.php @@ -42,7 +42,9 @@ private function getProfileData($user) : array '$name' => $user->name, '$email' => $user->email, '$created' => ($user->created_at - ? (new Carbon)->parse($user->created_at)->format('Y-m-d\Th:i:s') + ? (new Carbon) + ->parse($user->created_at) + ->format('Y-m-d\Th:i:s') : null), ]; array_filter($data); diff --git a/src/Providers/LaravelMixpanelService.php b/src/Providers/LaravelMixpanelService.php deleted file mode 100644 index 54f4956..0000000 --- a/src/Providers/LaravelMixpanelService.php +++ /dev/null @@ -1,13 +0,0 @@ -initialize(); - } -} diff --git a/src/Providers/MixpanelBaseService.php b/src/Providers/Service.php similarity index 92% rename from src/Providers/MixpanelBaseService.php rename to src/Providers/Service.php index d184fc7..dcd68e3 100644 --- a/src/Providers/MixpanelBaseService.php +++ b/src/Providers/Service.php @@ -11,7 +11,7 @@ use Illuminate\Support\ServiceProvider; use Illuminate\Foundation\Support\Providers\EventServiceProvider; -abstract class MixpanelBaseService extends EventServiceProvider +abstract class Service extends EventServiceProvider { protected $defer = false; protected $listen = [ @@ -20,6 +20,13 @@ abstract class MixpanelBaseService extends EventServiceProvider ], ]; + public function boot() + { + parent::boot(); + + $this->initialize(); + } + protected function initialize() { include __DIR__ . '/../../routes/api.php'; From 23317ddd960bd201da75c8dd8757533c8928edd6 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Wed, 18 Oct 2017 13:48:49 -0700 Subject: [PATCH 06/18] WIP - do not scrutinize public directory --- .scrutinizer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index f9da0da..49e8c56 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -1,4 +1,4 @@ filter: excluded_paths: - - "piblic/" + - "public/" - "tests/" From f862afa5ee6a14e7ecca114a894f62d0969f88e9 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Wed, 18 Oct 2017 14:01:21 -0700 Subject: [PATCH 07/18] WIP - cleaning up code --- src/Http/Requests/RecordStripeEvent.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/Http/Requests/RecordStripeEvent.php b/src/Http/Requests/RecordStripeEvent.php index 45d8479..cba0ad0 100644 --- a/src/Http/Requests/RecordStripeEvent.php +++ b/src/Http/Requests/RecordStripeEvent.php @@ -3,6 +3,7 @@ use Carbon\Carbon; use GeneaLabs\LaravelMixpanel\Events\MixpanelEvent; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Support\Carbon; class RecordStripeEvent extends FormRequest { @@ -22,7 +23,7 @@ public function process() { $data = $this->json()->all(); - if (! $data || ! array_key_exists('data', $data)) { + if (! $data || ! ($data['data'] ?? false)) { return; } @@ -90,11 +91,11 @@ private function recordSubscription(array $transaction, $user, array $originalVa if ($planStatus === 'canceled') { $profileData = [ 'Subscription' => 'None', - 'Churned' => Carbon::parse($transaction['canceled_at'])->format('Y-m-d\Th:i:s'), + 'Churned' => (new Carbon($transaction['canceled_at']))->format('Y-m-d\Th:i:s'), 'Plan When Churned' => $planName, - 'Paid Lifetime' => Carbon::createFromTimestampUTC($planStart) - ->diffInDays(Carbon::timestamp($transaction['ended_at']) - ->timezone('UTC')) . ' days' + 'Paid Lifetime' => (new Carbon)->createFromTimestampUTC($planStart) + ->diffInDays((new Carbon(timestamp($transaction['ended_at']))) + ->timezone('UTC')) . ' days' ]; $trackingData = [ ['Subscription', ['Status' => 'Canceled', 'Upgraded' => false]], @@ -107,9 +108,9 @@ private function recordSubscription(array $transaction, $user, array $originalVa if ($planAmount < $oldPlanAmount) { $profileData = [ 'Subscription' => $planName, - 'Churned' => Carbon::timestamp($transaction['ended_at']) - ->timezone('UTC') - ->format('Y-m-d\Th:i:s'), + 'Churned' => (new Carbon($transaction['ended_at'])) + ->timezone('UTC') + ->format('Y-m-d\Th:i:s'), 'Plan When Churned' => $oldPlanName, ]; $trackingData = [ From cd286dc7e878e95b2af3e5ce964df5686a060b1a Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Wed, 18 Oct 2017 14:03:04 -0700 Subject: [PATCH 08/18] WIP --- src/Http/Requests/RecordStripeEvent.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Http/Requests/RecordStripeEvent.php b/src/Http/Requests/RecordStripeEvent.php index cba0ad0..c05ea6b 100644 --- a/src/Http/Requests/RecordStripeEvent.php +++ b/src/Http/Requests/RecordStripeEvent.php @@ -1,6 +1,5 @@ Date: Thu, 19 Oct 2017 17:57:55 -0700 Subject: [PATCH 09/18] WIP - writing tests --- composer.json | 1 + phpunit.xml | 1 + src/LaravelMixpanel.php | 14 +--- src/Listeners/LaravelMixpanelEventHandler.php | 5 +- src/Listeners/Login.php | 13 +++ src/Listeners/LoginAttempt.php | 19 +++++ src/Listeners/Logout.php | 12 +++ src/Providers/Service.php | 34 ++++---- tests/CreatesApplication.php | 39 +++++++++ tests/Feature/AuthenticationTest.php | 68 ++++++++++++++++ tests/FeatureTestCase.php | 13 +++ .../app/Http/Controllers/HomeController.php | 28 +++++++ .../resources/views/auth/login.blade.php | 69 ++++++++++++++++ .../views/auth/passwords/email.blade.php | 47 +++++++++++ .../views/auth/passwords/reset.blade.php | 70 ++++++++++++++++ .../resources/views/auth/register.blade.php | 77 ++++++++++++++++++ tests/Fixtures/resources/views/home.blade.php | 23 ++++++ .../resources/views/layouts/app.blade.php | 80 +++++++++++++++++++ tests/Fixtures/routes/web.php | 20 +++++ tests/Unit/ExampleTest.php | 17 ++++ tests/UnitTestCase.php | 8 ++ 21 files changed, 624 insertions(+), 34 deletions(-) create mode 100644 src/Listeners/Login.php create mode 100644 src/Listeners/LoginAttempt.php create mode 100644 src/Listeners/Logout.php create mode 100644 tests/CreatesApplication.php create mode 100644 tests/Feature/AuthenticationTest.php create mode 100644 tests/FeatureTestCase.php create mode 100644 tests/Fixtures/app/Http/Controllers/HomeController.php create mode 100644 tests/Fixtures/resources/views/auth/login.blade.php create mode 100644 tests/Fixtures/resources/views/auth/passwords/email.blade.php create mode 100644 tests/Fixtures/resources/views/auth/passwords/reset.blade.php create mode 100644 tests/Fixtures/resources/views/auth/register.blade.php create mode 100644 tests/Fixtures/resources/views/home.blade.php create mode 100644 tests/Fixtures/resources/views/layouts/app.blade.php create mode 100644 tests/Fixtures/routes/web.php create mode 100644 tests/Unit/ExampleTest.php create mode 100644 tests/UnitTestCase.php diff --git a/composer.json b/composer.json index 4fb76f7..470b014 100644 --- a/composer.json +++ b/composer.json @@ -30,6 +30,7 @@ "require-dev": { "fzaninotto/faker": "~1.4", "laravel/laravel": "5.5.*", + "laravel/browser-kit-testing": "^2.0", "mockery/mockery": "0.9.*", "phpmd/phpmd": "^2.6", "phpunit/phpunit": "5.7.*", diff --git a/phpunit.xml b/phpunit.xml index 730c6c8..d7b48a9 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -32,5 +32,6 @@ + diff --git a/src/LaravelMixpanel.php b/src/LaravelMixpanel.php index e65c6b5..ef1531a 100644 --- a/src/LaravelMixpanel.php +++ b/src/LaravelMixpanel.php @@ -12,12 +12,6 @@ class LaravelMixpanel extends Mixpanel private $defaults; private $request; - /** - * @param Request $request - * @param array $options - * - * @internal param Result $browser - */ public function __construct(Request $request, array $options = []) { $this->defaults = [ @@ -33,13 +27,7 @@ public function __construct(Request $request, array $options = []) ); } - /** - * @param string $event - * @param array $properties - * - * @internal param array $data - */ - public function track($event, $properties = []) + public function track(string $event, array $properties = []) : array { $browserInfo = new Browser(); $osInfo = new Os(); diff --git a/src/Listeners/LaravelMixpanelEventHandler.php b/src/Listeners/LaravelMixpanelEventHandler.php index c38252c..ee256b4 100644 --- a/src/Listeners/LaravelMixpanelEventHandler.php +++ b/src/Listeners/LaravelMixpanelEventHandler.php @@ -24,6 +24,7 @@ public function onUserLoginAttempt($event) public function onUserLogin($login) { + dd('test', $login); $user = $login->user ?? $login; event(new MixpanelEvent($user, 'User Logged In')); } @@ -36,10 +37,6 @@ public function onUserLogout($logout) public function subscribe(Dispatcher $events) { - $events->listen('auth.attempt', self::class . '@onUserLoginAttempt'); - $events->listen('auth.login', self::class . '@onUserLogin'); - $events->listen('auth.logout', self::class . '@onUserLogout'); - $events->listen(Attempting::class, self::class . '@onUserLoginAttempt'); $events->listen(Login::class, self::class . '@onUserLogin'); $events->listen(Logout::class, self::class . '@onUserLogout'); diff --git a/src/Listeners/Login.php b/src/Listeners/Login.php new file mode 100644 index 0000000..7ed2fcc --- /dev/null +++ b/src/Listeners/Login.php @@ -0,0 +1,13 @@ +user ?? $login; + event(new MixpanelEvent($user, 'User Logged In')); + } +} diff --git a/src/Listeners/LoginAttempt.php b/src/Listeners/LoginAttempt.php new file mode 100644 index 0000000..27c3977 --- /dev/null +++ b/src/Listeners/LoginAttempt.php @@ -0,0 +1,19 @@ +credentials['email'] ?? $event['email'] ?? ''; + + $authModel = config('auth.providers.users.model', config('auth.model')); + $user = app($authModel) + ->where('email', $email) + ->first(); + $eventName = 'Login Attempted'; + + event(new MixpanelEvent($user, $eventName)); + } +} diff --git a/src/Listeners/Logout.php b/src/Listeners/Logout.php new file mode 100644 index 0000000..2cdece8 --- /dev/null +++ b/src/Listeners/Logout.php @@ -0,0 +1,12 @@ +user ?? $logout; + event(new MixpanelEvent($user, 'User Logged Out')); + } +} diff --git a/src/Providers/Service.php b/src/Providers/Service.php index dcd68e3..32bc329 100644 --- a/src/Providers/Service.php +++ b/src/Providers/Service.php @@ -1,36 +1,39 @@ [ - MixpanelEventListener::class, - ], + MixpanelEvent::class => [MixpanelEventListener::class], + Attempting::class => [LoginAttempt::class], + Login::class => [LoginListener::class], + Logout::class => [LogoutListener::class], ]; public function boot() - { - parent::boot(); - - $this->initialize(); - } - - protected function initialize() { include __DIR__ . '/../../routes/api.php'; + // if (app()->environment('testing')) { + // $this->loadViewsFrom(__DIR__ . '/../../tests/resources/views', 'genealabs-laravel-mixpanel'); + // } + $this->loadViewsFrom(__DIR__ . '/../../resources/views', 'genealabs-laravel-mixpanel'); $this->publishes([ __DIR__ . '/../../public' => public_path(), @@ -39,7 +42,7 @@ protected function initialize() if (config('services.mixpanel.enable-default-tracking')) { $authModel = config('auth.providers.users.model') ?? config('auth.model'); $this->app->make($authModel)->observe(new LaravelMixpanelUserObserver()); - app('events')->subscribe(new LaravelMixpanelEventHandler()); + // app('events')->subscribe(new LaravelMixpanelEventHandler()); } } @@ -50,10 +53,7 @@ public function register() $this->app->singleton('mixpanel', LaravelMixpanel::class); } - /** - * @return array - */ - public function provides() + public function provides() : array { return ['genealabs-laravel-mixpanel']; } diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php new file mode 100644 index 0000000..841f481 --- /dev/null +++ b/tests/CreatesApplication.php @@ -0,0 +1,39 @@ +copyFixtures([ + __DIR__ . '/Fixtures/app/Http/Controllers/HomeController.php' => __DIR__ . '/../vendor/laravel/laravel/app/Http/Controllers/HomeController.php', + __DIR__ . '/Fixtures/resources/views/home.blade.php' => __DIR__ . '/../vendor/laravel/laravel/resources/views/home.blade.php', + __DIR__ . '/Fixtures/resources/views/layouts/app.blade.php' => __DIR__ . '/../vendor/laravel/laravel/resources/views/layouts/app.blade.php', + __DIR__ . '/Fixtures/routes/web.php' => __DIR__ . '/../vendor/laravel/laravel/routes/web.php', + ]); + // $this->preLoadRoutes(); + $app = require __DIR__ . '/../vendor/laravel/laravel/bootstrap/app.php'; + $app->make(Kernel::class)->bootstrap(); + $app->register(Service::class); + + return $app; + } + + protected function copyFixtures(array $fixtures) + { + $fixtures = collect($fixtures)->each(function ($destination, $source) { + $contents = file_get_contents($source); + file_put_contents($destination, $contents); + }); + } + + protected function preLoadRoutes() + { + $routes = file_get_contents(__DIR__ . '/../vendor/laravel/laravel/routes/web.php'); + $routes .= str_contains($routes, 'Auth::routes();') ? '' : "\nAuth::routes();\n"; + file_put_contents(__DIR__ . '/../vendor/laravel/laravel/routes/web.php', $routes); + } +} diff --git a/tests/Feature/AuthenticationTest.php b/tests/Feature/AuthenticationTest.php new file mode 100644 index 0000000..e06961e --- /dev/null +++ b/tests/Feature/AuthenticationTest.php @@ -0,0 +1,68 @@ +expectsEvents(Attempting::class); + $listener = Mockery::spy(Attempt::class); + app()->instance(Attempt::class, $listener); + + $result = $this->visit('/login') + ->type('test@noemail.com', 'email') + ->type('hoogabaloo', 'password') + ->press('Login'); + + $this->assertResponseStatus(200); + $result->seePageIs('/login'); + $listener->shouldHaveReceived('handle'); + } + + public function testLoginSuccess() + { + $password = 'hoogabaloo'; + $user = factory(User::class)->create([ + 'password' => bcrypt($password), + ]); + $this->expectsEvents(Login::class); + // $listener = Mockery::spy(LaravelMixpanelEventHandler::class); + // app()->instance(LaravelMixpanelEventHandler::class, $listener); + + $result = $this->visit('/login') + ->type($user->email, 'email') + ->type($password, 'password') + ->press('Login'); + + $this->assertResponseStatus(200); + // $listener->shouldHaveReceived('handle'); + $result->seePageIs('/home'); + } + + public function testLogoutSuccess() + { + $user = factory(User::class)->create(); + $this->expectsEvents(Logout::class); + // $listener = Mockery::spy(LaravelMixpanelEventHandler::class); + // app()->instance(LaravelMixpanelEventHandler::class, $listener); + + $this->actingAs($user) + ->post('/logout'); + + // $this->assertResponseStatus(200); + // $listener->shouldHaveReceived('handle'); + $this->assertRedirectedTo('/'); + } +} diff --git a/tests/FeatureTestCase.php b/tests/FeatureTestCase.php new file mode 100644 index 0000000..cb9b9cf --- /dev/null +++ b/tests/FeatureTestCase.php @@ -0,0 +1,13 @@ +middleware('auth'); + } + + /** + * Show the application dashboard. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + return view('home'); + } +} diff --git a/tests/Fixtures/resources/views/auth/login.blade.php b/tests/Fixtures/resources/views/auth/login.blade.php new file mode 100644 index 0000000..d4459ae --- /dev/null +++ b/tests/Fixtures/resources/views/auth/login.blade.php @@ -0,0 +1,69 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
Login
+ +
+
+ {{ csrf_field() }} + +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('password')) + + {{ $errors->first('password') }} + + @endif +
+
+ +
+
+
+ +
+
+
+ +
+
+ + Login + + + + Forgot Your Password? + +
+
+
+
+
+
+
+
+@endsection diff --git a/tests/Fixtures/resources/views/auth/passwords/email.blade.php b/tests/Fixtures/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000..ad38245 --- /dev/null +++ b/tests/Fixtures/resources/views/auth/passwords/email.blade.php @@ -0,0 +1,47 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
Reset Password
+ +
+ @if (session('status')) +
+ {{ session('status') }} +
+ @endif + +
+ {{ csrf_field() }} + +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/tests/Fixtures/resources/views/auth/passwords/reset.blade.php b/tests/Fixtures/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000..84ec010 --- /dev/null +++ b/tests/Fixtures/resources/views/auth/passwords/reset.blade.php @@ -0,0 +1,70 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
Reset Password
+ +
+
+ {{ csrf_field() }} + + + +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('password')) + + {{ $errors->first('password') }} + + @endif +
+
+ +
+ +
+ + + @if ($errors->has('password_confirmation')) + + {{ $errors->first('password_confirmation') }} + + @endif +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/tests/Fixtures/resources/views/auth/register.blade.php b/tests/Fixtures/resources/views/auth/register.blade.php new file mode 100644 index 0000000..38eef83 --- /dev/null +++ b/tests/Fixtures/resources/views/auth/register.blade.php @@ -0,0 +1,77 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
Register
+ +
+
+ {{ csrf_field() }} + +
+ + +
+ + + @if ($errors->has('name')) + + {{ $errors->first('name') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('email')) + + {{ $errors->first('email') }} + + @endif +
+
+ +
+ + +
+ + + @if ($errors->has('password')) + + {{ $errors->first('password') }} + + @endif +
+
+ +
+ + +
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/tests/Fixtures/resources/views/home.blade.php b/tests/Fixtures/resources/views/home.blade.php new file mode 100644 index 0000000..d8437bf --- /dev/null +++ b/tests/Fixtures/resources/views/home.blade.php @@ -0,0 +1,23 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
Dashboard
+ +
+ @if (session('status')) +
+ {{ session('status') }} +
+ @endif + + You are logged in! +
+
+
+
+
+@endsection diff --git a/tests/Fixtures/resources/views/layouts/app.blade.php b/tests/Fixtures/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..6d3bf22 --- /dev/null +++ b/tests/Fixtures/resources/views/layouts/app.blade.php @@ -0,0 +1,80 @@ + + + + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + +
+ + + @yield('content') +
+ + + + + diff --git a/tests/Fixtures/routes/web.php b/tests/Fixtures/routes/web.php new file mode 100644 index 0000000..12fc04c --- /dev/null +++ b/tests/Fixtures/routes/web.php @@ -0,0 +1,20 @@ +name('home'); diff --git a/tests/Unit/ExampleTest.php b/tests/Unit/ExampleTest.php new file mode 100644 index 0000000..d07e635 --- /dev/null +++ b/tests/Unit/ExampleTest.php @@ -0,0 +1,17 @@ +assertTrue(true); + } +} diff --git a/tests/UnitTestCase.php b/tests/UnitTestCase.php new file mode 100644 index 0000000..9e88a60 --- /dev/null +++ b/tests/UnitTestCase.php @@ -0,0 +1,8 @@ + Date: Sat, 28 Oct 2017 11:34:54 -0700 Subject: [PATCH 10/18] Update travis config --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.travis.yml b/.travis.yml index 0654f0d..2ff3f83 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,3 +15,11 @@ after_script: - php vendor/bin/coveralls - wget https://scrutinizer-ci.com/ocular.phar - php ocular.phar code-coverage:upload --format=php-clover ./build/logs/clover.xml + +notifications: + webhooks: + urls: + - https://webhooks.gitter.im/e/30886f28c25b1e31088f + on_success: change # options: [always|never|change] default: always + on_failure: always # options: [always|never|change] default: always + on_start: never # options: [always|never|change] default: always From c61e35c88a3f534cfcc5ca634a79279f7e4ceca5 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Sun, 5 Nov 2017 07:47:47 -0800 Subject: [PATCH 11/18] WIP --- package.json | 3 +-- public/genealabs-laravel-mixpanel/js/mixpanel.js | 2 +- public/mix-manifest.json | 2 +- resources/assets/js/mixpanel.js | 4 +++- src/Console/Commands/Publish.php | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 20a3cfc..86ffbee 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,6 @@ }, "devDependencies": { "cross-env": "^5.0.1", - "laravel-mix": ">=1.5", - "mixpanel-browser": "*" + "laravel-mix": ">=1.5" } } diff --git a/public/genealabs-laravel-mixpanel/js/mixpanel.js b/public/genealabs-laravel-mixpanel/js/mixpanel.js index f842536..74c6222 100644 --- a/public/genealabs-laravel-mixpanel/js/mixpanel.js +++ b/public/genealabs-laravel-mixpanel/js/mixpanel.js @@ -1 +1 @@ -!function(e){function t(o){if(i[o])return i[o].exports;var n=i[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var i={};t.m=e,t.c=i,t.d=function(e,i,o){t.o(e,i)||Object.defineProperty(e,i,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(i,"a",i),i},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}({0:function(e,t,i){e.exports=i("QRqT")},DuR2:function(e,t){var i;i=function(){return this}();try{i=i||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(i=window)}e.exports=i},QRqT:function(e,t,i){(function(e){e.mixpanel=i("j9k2")}).call(t,i("DuR2"))},j9k2:function(e,t,i){"use strict";var o,n={DEBUG:!1,LIB_VERSION:"2.13.0"};o="undefined"==typeof window?{navigator:{}}:window;var r=Array.prototype,s=Function.prototype,a=Object.prototype,c=r.slice,p=a.toString,l=a.hasOwnProperty,d=o.console,_=o.navigator,u=o.document,h=_.userAgent,f=s.bind,g=r.forEach,m=r.indexOf,v=Array.isArray,y={},b={trim:function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},w={log:function(){if(n.DEBUG&&!b.isUndefined(d)&&d)try{d.log.apply(d,arguments)}catch(e){b.each(arguments,function(e){d.log(e)})}},error:function(){if(n.DEBUG&&!b.isUndefined(d)&&d){var e=["Mixpanel error:"].concat(b.toArray(arguments));try{d.error.apply(d,e)}catch(t){b.each(e,function(e){d.error(e)})}}},critical:function(){if(!b.isUndefined(d)&&d){var e=["Mixpanel error:"].concat(b.toArray(arguments));try{d.error.apply(d,e)}catch(t){b.each(e,function(e){d.error(e)})}}}};b.bind=function(e,t){var i,o;if(f&&e.bind===f)return f.apply(e,c.call(arguments,1));if(!b.isFunction(e))throw new TypeError;return i=c.call(arguments,2),o=function(){if(!(this instanceof o))return e.apply(t,i.concat(c.call(arguments)));var n={};n.prototype=e.prototype;var r=new n;n.prototype=null;var s=e.apply(r,i.concat(c.call(arguments)));return Object(s)===s?s:r}},b.bind_instance_methods=function(e){for(var t in e)"function"==typeof e[t]&&(e[t]=b.bind(e[t],e))},b.each=function(e,t,i){if(null!==e&&void 0!==e)if(g&&e.forEach===g)e.forEach(t,i);else if(e.length===+e.length){for(var o=0,n=e.length;o/g,">").replace(/"/g,""").replace(/'/g,"'")),t},b.extend=function(e){return b.each(c.call(arguments,1),function(t){for(var i in t)void 0!==t[i]&&(e[i]=t[i])}),e},b.isArray=v||function(e){return"[object Array]"===p.call(e)},b.isFunction=function(e){try{return/^\s*\bfunction\b/.test(e)}catch(e){return!1}},b.isArguments=function(e){return!(!e||!l.call(e,"callee"))},b.toArray=function(e){return e?e.toArray?e.toArray():b.isArray(e)?c.call(e):b.isArguments(e)?c.call(e):b.values(e):[]},b.values=function(e){var t=[];return null===e?t:(b.each(e,function(e){t[t.length]=e}),t)},b.identity=function(e){return e},b.include=function(e,t){var i=!1;return null===e?i:m&&e.indexOf===m?-1!=e.indexOf(t):(b.each(e,function(e){if(i||(i=e===t))return y}),i)},b.includes=function(e,t){return-1!==e.indexOf(t)},b.inherit=function(e,t){return e.prototype=new t,e.prototype.constructor=e,e.superclass=t.prototype,e},b.isObject=function(e){return e===Object(e)&&!b.isArray(e)},b.isEmptyObject=function(e){if(b.isObject(e)){for(var t in e)if(l.call(e,t))return!1;return!0}return!1},b.isUndefined=function(e){return void 0===e},b.isString=function(e){return"[object String]"==p.call(e)},b.isDate=function(e){return"[object Date]"==p.call(e)},b.isNumber=function(e){return"[object Number]"==p.call(e)},b.isElement=function(e){return!(!e||1!==e.nodeType)},b.encodeDates=function(e){return b.each(e,function(t,i){b.isDate(t)?e[i]=b.formatDate(t):b.isObject(t)&&(e[i]=b.encodeDates(t))}),e},b.timestamp=function(){return Date.now=Date.now||function(){return+new Date},Date.now()},b.formatDate=function(e){function t(e){return e<10?"0"+e:e}return e.getUTCFullYear()+"-"+t(e.getUTCMonth()+1)+"-"+t(e.getUTCDate())+"T"+t(e.getUTCHours())+":"+t(e.getUTCMinutes())+":"+t(e.getUTCSeconds())},b.safewrap=function(e){return function(){try{return e.apply(this,arguments)}catch(e){w.critical("Implementation error. Please contact support@mixpanel.com.")}}},b.safewrap_class=function(e,t){for(var i=0;i0&&(t[i]=e)}),t},b.truncate=function(e,t){var i;return"string"==typeof e?i=e.slice(0,t):b.isArray(e)?(i=[],b.each(e,function(e){i.push(b.truncate(e,t))})):b.isObject(e)?(i={},b.each(e,function(e,o){i[o]=b.truncate(e,t)})):i=e,i},b.JSONEncode=function(){return function(e){var t=e,i=function(e){var t=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,i={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return t.lastIndex=0,t.test(e)?'"'+e.replace(t,function(e){var t=i[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'},o=function(e,t){var n="",r=0,s="",a="",c=0,d=n,_=[],u=t[e];switch(u&&"object"==typeof u&&"function"==typeof u.toJSON&&(u=u.toJSON(e)),typeof u){case"string":return i(u);case"number":return isFinite(u)?String(u):"null";case"boolean":case"null":return String(u);case"object":if(!u)return"null";if(n+=" ",_=[],"[object Array]"===p.apply(u)){for(c=u.length,r=0;r="0"&&t<="9";)i+=t,s();if("."===t)for(i+=".";s()&&t>="0"&&t<="9";)i+=t;if("e"===t||"E"===t)for(i+=t,s(),"-"!==t&&"+"!==t||(i+=t,s());t>="0"&&t<="9";)i+=t,s();if(e=+i,isFinite(e))return e;r("Bad number")},c=function(){var e,i,o,a="";if('"'===t)for(;s();){if('"'===t)return s(),a;if("\\"===t)if(s(),"u"===t){for(o=0,i=0;i<4&&(e=parseInt(s(),16),isFinite(e));i+=1)o=16*o+e;a+=String.fromCharCode(o)}else{if("string"!=typeof n[t])break;a+=n[t]}else a+=t}r("Bad string")},p=function(){for(;t&&t<=" ";)s()},l=function(){switch(t){case"t":return s("t"),s("r"),s("u"),s("e"),!0;case"f":return s("f"),s("a"),s("l"),s("s"),s("e"),!1;case"n":return s("n"),s("u"),s("l"),s("l"),null}r('Unexpected "'+t+'"')},d=function(){var e=[];if("["===t){if(s("["),p(),"]"===t)return s("]"),e;for(;t;){if(e.push(o()),p(),"]"===t)return s("]"),e;s(","),p()}}r("Bad array")},_=function(){var e,i={};if("{"===t){if(s("{"),p(),"}"===t)return s("}"),i;for(;t;){if(e=c(),p(),s(":"),Object.hasOwnProperty.call(i,e)&&r('Duplicate key "'+e+'"'),i[e]=o(),p(),"}"===t)return s("}"),i;s(","),p()}}r("Bad object")};return o=function(){switch(p(),t){case"{":return _();case"[":return d();case'"':return c();case"-":return a();default:return t>="0"&&t<="9"?a():l()}},function(n){var s;return i=n,e=0,t=" ",s=o(),p(),t&&r("Syntax error"),s}}(),b.base64Encode=function(e){var t,i,o,n,r,s,a,c,p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=0,d=0,_="",u=[];if(!e)return e;e=b.utf8Encode(e);do{t=e.charCodeAt(l++),i=e.charCodeAt(l++),o=e.charCodeAt(l++),c=t<<16|i<<8|o,n=c>>18&63,r=c>>12&63,s=c>>6&63,a=63&c,u[d++]=p.charAt(n)+p.charAt(r)+p.charAt(s)+p.charAt(a)}while(l127&&s<2048?String.fromCharCode(s>>6|192,63&s|128):String.fromCharCode(s>>12|224,s>>6&63|128,63&s|128),null!==a&&(i>t&&(n+=e.substring(t,i)),n+=a,t=i=o+1)}return i>t&&(n+=e.substring(t,e.length)),n},b.UUID=function(){var e=function(){for(var e=1*new Date,t=0;e==1*new Date;)t++;return e.toString(16)+t.toString(16)},t=function(){return Math.random().toString(16).replace(".","")},i=function(){function e(e,t){var i,o=0;for(i=0;i=4&&(r=e(r,n),n=[]);return n.length>0&&(r=e(r,n)),r.toString(16)};return function(){var o=(screen.height*screen.width).toString(16);return e()+"-"+t()+"-"+i()+"-"+o+"-"+e()}}(),b.isBlockedUA=function(e){return!!/(google web preview|baiduspider|yandexbot|bingbot|googlebot|yahoo! slurp)/i.test(e)},b.HTTPBuildQuery=function(e,t){var i,o,n=[];return b.isUndefined(t)&&(t="&"),b.each(e,function(e,t){i=encodeURIComponent(e.toString()),o=encodeURIComponent(t),n[n.length]=o+"="+i}),n.join(t)},b.getQueryParam=function(e,t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i="[\\?&]"+t+"=([^&#]*)",o=new RegExp(i),n=o.exec(e);return null===n||n&&"string"!=typeof n[1]&&n[1].length?"":decodeURIComponent(n[1]).replace(/\+/g," ")},b.getHashParam=function(e,t){var i=e.match(new RegExp(t+"=([^&]*)"));return i?i[1]:null},b.cookie={get:function(e){for(var t=e+"=",i=u.cookie.split(";"),o=0;o=0}function i(i){if(!u.getElementsByTagName)return[];var o,n,r,s,a,c,p,l,d,_,h=i.split(" "),f=[u];for(c=0;c-1){n=o.split("#"),r=n[0];var g=n[1],m=u.getElementById(g);if(!m||r&&m.nodeName.toLowerCase()!=r)return[];f=[m]}else if(o.indexOf(".")>-1){n=o.split("."),r=n[0];var v=n[1];for(r||(r="*"),s=[],a=0,p=0;p-1};break;default:I=function(e){return e.getAttribute(w)}}for(f=[],_=0,p=0;p=3?t[2]:""},properties:function(){return b.extend(b.strip_empty_properties({$os:b.info.os(),$browser:b.info.browser(h,_.vendor,window.opera),$referrer:u.referrer,$referring_domain:b.info.referringDomain(u.referrer),$device:b.info.device(h)}),{$current_url:window.location.href,$browser_version:b.info.browserVersion(h,_.vendor,window.opera),$screen_height:screen.height,$screen_width:screen.width,mp_lib:"web",$lib_version:n.LIB_VERSION})},people_properties:function(){return b.extend(b.strip_empty_properties({$os:b.info.os(),$browser:b.info.browser(h,_.vendor,window.opera)}),{$browser_version:b.info.browserVersion(h,_.vendor,window.opera)})},pageviewInfo:function(e){return b.strip_empty_properties({mp_page:e,mp_referrer:u.referrer,mp_browser:b.info.browser(h,_.vendor,window.opera),mp_platform:b.info.os()})}},b.toArray=b.toArray,b.isObject=b.isObject,b.JSONEncode=b.JSONEncode,b.JSONDecode=b.JSONDecode,b.isBlockedUA=b.isBlockedUA,b.isEmptyObject=b.isEmptyObject,b.info=b.info,b.info.device=b.info.device,b.info.browser=b.info.browser,b.info.properties=b.info.properties;var x={_initializedTokens:[],_previousElementSibling:function(e){if(e.previousElementSibling)return e.previousElementSibling;do{e=e.previousSibling}while(e&&1!==e.nodeType);return e},_loadScript:function(e,t){var i=document.createElement("script");i.type="text/javascript",i.src=e,i.onload=t;var o=document.getElementsByTagName("script");o.length>0?o[0].parentNode.insertBefore(i,o[0]):document.body.appendChild(i)},_getClassName:function(e){switch(typeof e.className){case"string":return e.className;case"object":return e.className.baseVal||e.getAttribute("class")||"";default:return""}},_getPropertiesFromElement:function(e){var t={classes:this._getClassName(e).split(" "),tag_name:e.tagName.toLowerCase()};if(b.includes(["input","select","textarea"],e.tagName.toLowerCase())){var i=this._getFormFieldValue(e);this._includeProperty(e,i)&&(t.value=i)}b.each(e.attributes,function(e){t["attr__"+e.name]=e.value});for(var o=1,n=1,r=e;r=this._previousElementSibling(r);)o++,r.tagName===e.tagName&&n++;return t.nth_child=o,t.nth_of_type=n,t},_isTag:function(e,t){return e&&e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()},_shouldTrackDomEvent:function(e,t){if(!e||this._isTag(e,"html")||1!==e.nodeType)return!1;switch(e.tagName.toLowerCase()){case"html":return!1;case"form":return"submit"===t.type;case"input":return-1===["button","submit"].indexOf(e.getAttribute("type"))?"change"===t.type:"click"===t.type;case"select":case"textarea":return"change"===t.type;default:return"click"===t.type}},_getDefaultProperties:function(e){return{$event_type:e,$ce_version:1,$host:window.location.host,$pathname:window.location.pathname}},_getInputValue:function(e){var t=null;switch(e.type.toLowerCase()){case"checkbox":e.checked&&(t=[e.value]);break;case"radio":e.checked&&(t=e.value);break;default:t=e.value}return t},_getSelectValue:function(e){var t;if(e.multiple){var i=[];b.each(e.querySelectorAll("[selected]"),function(e){i.push(e.value)}),t=i}else t=e.value;return t},_includeProperty:function(e,t){for(var i=e;i.parentNode&&!this._isTag(i,"body");i=i.parentNode){var o=this._getClassName(i).split(" ");if(b.includes(o,"mp-sensitive")||b.includes(o,"mp-no-track"))return!1}if(b.includes(this._getClassName(e).split(" "),"mp-include"))return!0;if(null===t)return!1;switch((e.type||"").toLowerCase()){case"hidden":case"password":return!1}if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test((e.name||e.id||"").replace(/[^a-zA-Z0-9]/g,"")))return!1;if("string"==typeof t){if(/^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/.test((t||"").replace(/[\- ]/g,"")))return!1;if(/(^\d{3}-?\d{2}-?\d{4}$)/.test(t))return!1}return!0},_getFormFieldValue:function(e){var t;switch(e.tagName.toLowerCase()){case"input":t=this._getInputValue(e);break;case"select":t=this._getSelectValue(e);break;default:t=e.value||e.textContent}return this._includeProperty(e,t)?t:null},_getFormFieldProperties:function(e){var t={};return b.each(e.elements,function(e){var i=e.getAttribute("name")||e.getAttribute("id");if(null!==i){i="$form_field__"+i;var o=this._getFormFieldValue(e);if(this._includeProperty(e,o)){var n=t[i];t[i]=void 0!==n?[].concat(n,o):o}}},this),t},_extractCustomPropertyValue:function(e){var t=[];return b.each(document.querySelectorAll(e.css_selector),function(e){["input","select"].indexOf(e.tagName.toLowerCase())>-1?t.push(e.value):e.textContent&&t.push(e.textContent)}),t.join(", ")},_getCustomProperties:function(e){var t={};return b.each(this._customProperties,function(i){b.each(i.event_selectors,function(o){var n=document.querySelectorAll(o);b.each(n,function(o){b.includes(e,o)&&(t[i.name]=this._extractCustomPropertyValue(i))},this)},this)},this),t},_getEventTarget:function(e){return void 0===e.target?e.srcElement:e.target},_trackEvent:function(e,t){var i=this._getEventTarget(e);if(3===i.nodeType&&(i=i.parentNode),this._shouldTrackDomEvent(i,e)){for(var o=[i],n=i;n.parentNode&&!this._isTag(n,"body");)o.push(n.parentNode),n=n.parentNode;var r,s,a,c=[],p=!1;if(b.each(o,function(e,t){if("a"===e.tagName.toLowerCase()?r=e.getAttribute("href"):"form"===e.tagName.toLowerCase()&&(a=e),!s&&t<5&&e.textContent){var i=b.trim(e.textContent);i&&(s=i.replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255))}var o=this._getClassName(e).split(" ");b.includes(o,"mp-no-track")&&(p=!0),c.push(this._getPropertiesFromElement(e))},this),p)return!1;var l=b.extend(this._getDefaultProperties(e.type),{$elements:c,$el_attr__href:r,$el_text:s},this._getCustomProperties(o));return!a||"submit"!==e.type&&"click"!==e.type||b.extend(l,this._getFormFieldProperties(a)),t.track("$web_event",l),!0}},_navigate:function(e){window.location.href=e},_addDomEventHandlers:function(e){var t=b.bind(function(t){t=t||window.event,this._trackEvent(t,e)},this);b.register_event(document,"submit",t,!1,!0),b.register_event(document,"change",t,!1,!0),b.register_event(document,"click",t,!1,!0)},_customProperties:{},init:function(e){if(!document||!document.body){var t=this;return void setTimeout(function(){t.init(e)},500)}var i=e.get_config("token");if(!(this._initializedTokens.indexOf(i)>-1||(this._initializedTokens.push(i),this._maybeLoadEditor(e)))){var o=b.bind(function(t){t&&t.config&&!0===t.config.enable_collect_everything?(t.custom_properties&&(this._customProperties=t.custom_properties),e.track("$web_event",b.extend({$title:document.title},this._getDefaultProperties("pageview"))),this._addDomEventHandlers(e)):e.__autotrack_enabled=!1},this);e._send_request(e.get_config("api_host")+"/decide/",{verbose:!0,version:"1",lib:"web",token:i},e._prepare_callback(o))}},_editorParamsFromHash:function(e,t){var i;try{var o=b.getHashParam(t,"state");o=JSON.parse(decodeURIComponent(o));var n=b.getHashParam(t,"expires_in");i={accessToken:b.getHashParam(t,"access_token"),accessTokenExpiresAt:(new Date).getTime()+1e3*Number(n),bookmarkletMode:!!o.bookmarkletMode,projectId:o.projectId,projectOwnerId:o.projectOwnerId,projectToken:o.token,readOnly:o.readOnly,userFlags:o.userFlags,userId:o.userId},window.sessionStorage.setItem("editorParams",JSON.stringify(i)),o.desiredHash?window.location.hash=o.desiredHash:window.history?history.replaceState("",document.title,window.location.pathname+window.location.search):window.location.hash=""}catch(e){}return i},_maybeLoadEditor:function(e){try{var t=!1;if(b.getHashParam(window.location.hash,"state")){var i=b.getHashParam(window.location.hash,"state");i=JSON.parse(decodeURIComponent(i)),t="mpeditor"===i.action}var o,n=!!window.sessionStorage.getItem("_mpcehash");return t?o=this._editorParamsFromHash(e,window.location.hash):n?(o=this._editorParamsFromHash(e,window.sessionStorage.getItem("_mpcehash")),window.sessionStorage.removeItem("_mpcehash")):o=JSON.parse(window.sessionStorage.getItem("editorParams")||"{}"),!(!o.projectToken||e.get_config("token")!==o.projectToken)&&(this._loadEditor(e,o),!0)}catch(e){return!1}},_loadEditor:function(e,t){if(!window._mpEditorLoaded){window._mpEditorLoaded=!0;var i=e.get_config("app_host")+"/js-bundle/reports/collect-everything/editor.js?_ts="+(new Date).getTime();return this._loadScript(i,function(){window.mp_load_editor(t)}),!0}return!1},enabledForProject:function(e,t,i){t=b.isUndefined(t)?10:t,i=b.isUndefined(i)?10:i;for(var o=0,n=0;nt&&delete e[i];b.isEmptyObject(e)&&delete this.props.__cmpns}}),U.prototype.update_campaign_params=function(){this.campaign_params_saved||(this.register_once(b.info.campaignParams()),this.campaign_params_saved=!0)},U.prototype.update_search_keyword=function(e){this.register(b.info.searchInfo(e))},U.prototype.update_referrer_info=function(e){this.register_once({$initial_referrer:e||"$direct",$initial_referring_domain:b.info.referringDomain(e)||"$direct"},"")},U.prototype.get_referrer_info=function(){return b.strip_empty_properties({$initial_referrer:this.props.$initial_referrer,$initial_referring_domain:this.props.$initial_referring_domain})},U.prototype.safe_merge=function(e){return b.each(this.props,function(t,i){i in e||(e[i]=t)}),e},U.prototype.update_config=function(e){this.default_expiry=this.expire_days=e.cookie_expiration,this.set_disabled(e.disable_persistence),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie)},U.prototype.set_disabled=function(e){this.disabled=e,this.disabled&&this.remove()},U.prototype.set_cross_subdomain=function(e){e!==this.cross_subdomain&&(this.cross_subdomain=e,this.remove(),this.save())},U.prototype.get_cross_subdomain=function(){return this.cross_subdomain},U.prototype.set_secure=function(e){e!==this.secure&&(this.secure=!!e,this.remove(),this.save())},U.prototype._add_to_people_queue=function(e,t){var i=this._get_queue_key(e),o=t[e],n=this._get_or_create_queue("$set"),r=this._get_or_create_queue("$set_once"),s=this._get_or_create_queue("$add"),a=this._get_or_create_queue("$union"),c=this._get_or_create_queue("$append",[]);"__mps"===i?(b.extend(n,o),this._pop_from_people_queue("$add",o),this._pop_from_people_queue("$union",o)):"__mpso"===i?b.each(o,function(e,t){t in r||(r[t]=e)}):"__mpa"===i?b.each(o,function(e,t){t in n?n[t]+=e:(t in s||(s[t]=0),s[t]+=e)},this):"__mpu"===i?b.each(o,function(e,t){b.isArray(e)&&(t in a||(a[t]=[]),a[t]=a[t].concat(e))}):"__mpap"===i&&c.push(o),w.log("MIXPANEL PEOPLE REQUEST (QUEUED, PENDING IDENTIFY):"),w.log(t),this.save()},U.prototype._pop_from_people_queue=function(e,t){var i=this._get_queue(e);b.isUndefined(i)||(b.each(t,function(e,t){delete i[t]},this),this.save())},U.prototype._get_queue_key=function(e){return"$set"===e?"__mps":"$set_once"===e?"__mpso":"$add"===e?"__mpa":"$append"===e?"__mpap":"$union"===e?"__mpu":void w.error("Invalid queue:",e)},U.prototype._get_queue=function(e){return this.props[this._get_queue_key(e)]},U.prototype._get_or_create_queue=function(e,t){var i=this._get_queue_key(e);return t=b.isUndefined(t)?{}:t,this.props[i]||(this.props[i]=t)},U.prototype.set_event_timer=function(e,t){var i=this.props.__timers||{};i[e]=t,this.props.__timers=i,this.save()},U.prototype.remove_event_timer=function(e){var t=this.props.__timers||{},i=t[e];return b.isUndefined(i)||(delete this.props.__timers[e],this.save()),i};var B,D=function(){},C=function(){},H=function(e,t,i){var o,r="mixpanel"===i?I:I[i];if(r&&k===T)o=r;else{if(r&&!b.isArray(r))return void w.error("You have already initialized "+i);o=new D}if(o._init(e,t,i),o.people=new C,o.people._init(o),n.DEBUG=n.DEBUG||o.get_config("debug"),o.__autotrack_enabled=o.get_config("autotrack"),o.get_config("autotrack")){x.enabledForProject(o.get_config("token"),100,100)?x.isBrowserSupported()?x.init(o):(o.__autotrack_enabled=!1,w.log("Disabling Automatic Event Collection because this browser is not supported")):(o.__autotrack_enabled=!1,w.log("Not in active bucket: disabling Automatic Event Collection."));try{G(o)}catch(e){w.error(e)}}return!b.isUndefined(r)&&b.isArray(r)&&(o._execute_array.call(o.people,r.people),o._execute_array(r)),o};D.prototype.init=function(e,t,i){if(b.isUndefined(i))return void w.error("You must name your new library: init(token, config, name)");if("mixpanel"===i)return void w.error("You must initialize the main mixpanel object right after you include the Mixpanel js snippet");var o=H(e,t,i);return I[i]=o,o._loaded(),o},D.prototype._init=function(e,t,i){this.__loaded=!0,this.config={},this.set_config(b.extend({},M,t,{name:i,token:e,callback_fn:("mixpanel"===i?i:"mixpanel."+i)+"._jsc"})),this._jsc=function(){},this.__dom_loaded_queue=[],this.__request_queue=[],this.__disabled_events=[],this._flags={disable_all_events:!1,identify_called:!1},this.persistence=this.cookie=new U(this.config),this.register_once({distinct_id:b.UUID()},"")},D.prototype._loaded=function(){this.get_config("loaded")(this),this.get_config("track_pageview")&&this.track_pageview()},D.prototype._dom_loaded=function(){b.each(this.__dom_loaded_queue,function(e){this._track_dom.apply(this,e)},this),b.each(this.__request_queue,function(e){this._send_request.apply(this,e)},this),delete this.__dom_loaded_queue,delete this.__request_queue},D.prototype._track_dom=function(e,t){if(this.get_config("img"))return w.error("You can't use DOM tracking functions with img = true."),!1;if(!P)return this.__dom_loaded_queue.push([e,t]),!1;var i=(new e).init(this);return i.track.apply(i,t)},D.prototype._prepare_callback=function(e,t){if(b.isUndefined(e))return null;if(N){return function(i){e(i,t)}}var i=this._jsc,o=""+Math.floor(1e8*Math.random()),n=this.get_config("callback_fn")+"["+o+"]";return i[o]=function(n){delete i[o],e(n,t)},n},D.prototype._send_request=function(e,t,i){if(S)return void this.__request_queue.push(arguments);var o=this.get_config("verbose");if(t.verbose&&(o=!0),this.get_config("test")&&(t.test=1),o&&(t.verbose=1),this.get_config("img")&&(t.img=1),N||(i?t.callback=i:(o||this.get_config("test"))&&(t.callback="(function(){})")),t.ip=this.get_config("ip")?1:0,t._=(new Date).getTime().toString(),e+="?"+b.HTTPBuildQuery(t),"img"in t){var n=document.createElement("img");n.src=e,document.body.appendChild(n)}else if(N)try{var r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onreadystatechange=function(){if(4===r.readyState)if(200===r.status)i&&i(o?b.JSONDecode(r.responseText):Number(r.responseText));else{var e="Bad HTTP status: "+r.status+" "+r.statusText;w.error(e),i&&i(o?{status:0,error:e}:0)}},r.send(null)}catch(e){w.error(e)}else{var s=document.createElement("script");s.type="text/javascript",s.async=!0,s.defer=!0,s.src=e;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(s,a)}},D.prototype._execute_array=function(e){var t,i=[],o=[],n=[];b.each(e,function(e){e&&(t=e[0],"function"==typeof e?e.call(this):b.isArray(e)&&"alias"===t?i.push(e):b.isArray(e)&&-1!==t.indexOf("track")&&"function"==typeof this[t]?n.push(e):o.push(e))},this);var r=function(e,t){b.each(e,function(e){this[e[0]].apply(this,e.slice(1))},t)};r(i,this),r(o,this),r(n,this)},D.prototype.push=function(e){this._execute_array([e])},D.prototype.disable=function(e){void 0===e?this._flags.disable_all_events=!0:this.__disabled_events=this.__disabled_events.concat(e)},D.prototype.track=function(e,t,i){if("function"!=typeof i&&(i=function(){}),b.isUndefined(e))return void w.error("No event name provided to mixpanel.track");if(this._event_is_disabled(e))return void i(0);t=t||{},t.token=this.get_config("token");var o=this.persistence.remove_event_timer(e);if(!b.isUndefined(o)){var n=(new Date).getTime()-o;t.$duration=parseFloat((n/1e3).toFixed(3))}this.persistence.update_search_keyword(document.referrer),this.get_config("store_google")&&this.persistence.update_campaign_params(),this.get_config("save_referrer")&&this.persistence.update_referrer_info(document.referrer),t=b.extend({},b.info.properties(),this.persistence.properties(),t);try{this.get_config("autotrack")&&"mp_page_view"!==e&&"$create_alias"!==e&&(t=b.extend({},t,this.mp_counts),this.mp_counts={$__c:0},b.cookie.set("mp_"+this.get_config("name")+"__c",0,1,!0))}catch(e){w.error(e)}var r=this.get_config("property_blacklist");b.isArray(r)?b.each(r,function(e){delete t[e]}):w.error("Invalid value for property_blacklist config: "+r);var s={event:e,properties:t},a=b.truncate(s,255),c=b.JSONEncode(a),p=b.base64Encode(c);return w.log("MIXPANEL REQUEST:"),w.log(a),this._send_request(this.get_config("api_host")+"/track/",{data:p},this._prepare_callback(i,a)),a},D.prototype.track_pageview=function(e){b.isUndefined(e)&&(e=document.location.href),this.track("mp_page_view",b.info.pageviewInfo(e))},D.prototype.track_links=function(){return this._track_dom.call(this,$,arguments)},D.prototype.track_forms=function(){return this._track_dom.call(this,F,arguments)},D.prototype.time_event=function(e){if(b.isUndefined(e))return void w.error("No event name provided to mixpanel.time_event");this._event_is_disabled(e)||this.persistence.set_event_timer(e,(new Date).getTime())},D.prototype.register=function(e,t){this.persistence.register(e,t)},D.prototype.register_once=function(e,t,i){this.persistence.register_once(e,t,i)},D.prototype.unregister=function(e){this.persistence.unregister(e)},D.prototype._register_single=function(e,t){var i={};i[e]=t,this.register(i)},D.prototype.identify=function(e,t,i,o,n,r){e!==this.get_distinct_id()&&e!==this.get_property("__alias")&&(this.unregister("__alias"),this._register_single("distinct_id",e)),this._check_and_handle_notifications(this.get_distinct_id()),this._flags.identify_called=!0,this.people._flush(t,i,o,n,r)},D.prototype.reset=function(){this.persistence.clear(),this._flags.identify_called=!1,this.register_once({distinct_id:b.UUID()},"")},D.prototype.get_distinct_id=function(){return this.get_property("distinct_id")},D.prototype.alias=function(e,t){if(e===this.get_property("$people_distinct_id"))return w.critical("Attempting to create alias for existing People user - aborting."),-2;var i=this;return b.isUndefined(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single("__alias",e),this.track("$create_alias",{alias:e,distinct_id:t},function(){i.identify(e)})):(w.error("alias matches current distinct_id - skipping api call."),this.identify(e),-1)},D.prototype.name_tag=function(e){this._register_single("mp_name_tag",e)},D.prototype.set_config=function(e){b.isObject(e)&&(b.extend(this.config,e),this.get_config("persistence_name")||(this.config.persistence_name=this.config.cookie_name),this.get_config("disable_persistence")||(this.config.disable_persistence=this.config.disable_cookie),this.persistence&&this.persistence.update_config(this.config),n.DEBUG=n.DEBUG||this.get_config("debug"))},D.prototype.get_config=function(e){return this.config[e]},D.prototype.get_property=function(e){return this.persistence.props[e]},D.prototype.toString=function(){var e=this.get_config("name");return"mixpanel"!==e&&(e="mixpanel."+e),e},D.prototype._event_is_disabled=function(e){return b.isBlockedUA(h)||this._flags.disable_all_events||b.include(this.__disabled_events,e)},D.prototype._check_and_handle_notifications=function(e){if(e&&!this._flags.identify_called&&!this.get_config("disable_notifications")){w.log("MIXPANEL NOTIFICATION CHECK");var t={verbose:!0,version:"2",lib:"web",token:this.get_config("token"),distinct_id:e},i=this;this._send_request(this.get_config("api_host")+"/decide/",t,this._prepare_callback(function(e){e.notifications&&e.notifications.length>0&&i._show_notification.call(i,e.notifications[0])}))}},D.prototype._show_notification=function(e){new B(e,this).show()},C.prototype._init=function(e){this._mixpanel=e},C.prototype.set=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){this._is_reserved_property(t)||(n[t]=e)},this),i=t):n[e]=t,this._get_config("save_referrer")&&this._mixpanel.persistence.update_referrer_info(document.referrer),n=b.extend({},b.info.people_properties(),this._mixpanel.persistence.get_referrer_info(),n),o.$set=n,this._send_request(o,i)},C.prototype.set_once=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){this._is_reserved_property(t)||(n[t]=e)},this),i=t):n[e]=t,o.$set_once=n,this._send_request(o,i)},C.prototype.increment=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){if(!this._is_reserved_property(t)){if(isNaN(parseFloat(e)))return void w.error("Invalid increment value passed to mixpanel.people.increment - must be a number");n[t]=e}},this),i=t):(b.isUndefined(t)&&(t=1),n[e]=t),o.$add=n,this._send_request(o,i)},C.prototype.append=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){this._is_reserved_property(t)||(n[t]=e)},this),i=t):n[e]=t,o.$append=n,this._send_request(o,i)},C.prototype.union=function(e,t,i){var o={},n={};return b.isObject(e)?(b.each(e,function(e,t){this._is_reserved_property(t)||(n[t]=b.isArray(e)?e:[e])},this),i=t):n[e]=b.isArray(t)?t:[t],o.$union=n,this._send_request(o,i)},C.prototype.track_charge=function(e,t,i){return!b.isNumber(e)&&(e=parseFloat(e),isNaN(e))?void w.error("Invalid value passed to mixpanel.people.track_charge - must be a number"):this.append("$transactions",b.extend({$amount:e},t),i)},C.prototype.clear_charges=function(e){return this.set("$transactions",[],e)},C.prototype.delete_user=function(){if(!this._identify_called())return void w.error("mixpanel.people.delete_user() requires you to call identify() first");var e={$delete:this._mixpanel.get_distinct_id()};return this._send_request(e)},C.prototype.toString=function(){return this._mixpanel.toString()+".people"},C.prototype._send_request=function(e,t){e.$token=this._get_config("token"),e.$distinct_id=this._mixpanel.get_distinct_id();var i=b.encodeDates(e),o=b.truncate(i,255),n=b.JSONEncode(i),r=b.base64Encode(n);return this._identify_called()?(w.log("MIXPANEL PEOPLE REQUEST:"),w.log(o),this._mixpanel._send_request(this._get_config("api_host")+"/engage/",{data:r},this._mixpanel._prepare_callback(t,o)),o):(this._enqueue(e),b.isUndefined(t)||t(this._get_config("verbose")?{status:-1,error:null}:-1),o)},C.prototype._get_config=function(e){return this._mixpanel.get_config(e)},C.prototype._identify_called=function(){return!0===this._mixpanel._flags.identify_called},C.prototype._enqueue=function(e){"$set"in e?this._mixpanel.persistence._add_to_people_queue("$set",e):"$set_once"in e?this._mixpanel.persistence._add_to_people_queue("$set_once",e):"$add"in e?this._mixpanel.persistence._add_to_people_queue("$add",e):"$append"in e?this._mixpanel.persistence._add_to_people_queue("$append",e):"$union"in e?this._mixpanel.persistence._add_to_people_queue("$union",e):w.error("Invalid call to _enqueue():",e)},C.prototype._flush=function(e,t,i,o,n){var r=this,s=b.extend({},this._mixpanel.persistence._get_queue("$set")),a=b.extend({},this._mixpanel.persistence._get_queue("$set_once")),c=b.extend({},this._mixpanel.persistence._get_queue("$add")),p=this._mixpanel.persistence._get_queue("$append"),l=b.extend({},this._mixpanel.persistence._get_queue("$union"));if(b.isUndefined(s)||!b.isObject(s)||b.isEmptyObject(s)||(r._mixpanel.persistence._pop_from_people_queue("$set",s),this.set(s,function(t,i){0===t&&r._mixpanel.persistence._add_to_people_queue("$set",s),b.isUndefined(e)||e(t,i)})),b.isUndefined(a)||!b.isObject(a)||b.isEmptyObject(a)||(r._mixpanel.persistence._pop_from_people_queue("$set_once",a),this.set_once(a,function(e,t){0===e&&r._mixpanel.persistence._add_to_people_queue("$set_once",a),b.isUndefined(o)||o(e,t)})),b.isUndefined(c)||!b.isObject(c)||b.isEmptyObject(c)||(r._mixpanel.persistence._pop_from_people_queue("$add",c),this.increment(c,function(e,i){0===e&&r._mixpanel.persistence._add_to_people_queue("$add",c),b.isUndefined(t)||t(e,i)})),b.isUndefined(l)||!b.isObject(l)||b.isEmptyObject(l)||(r._mixpanel.persistence._pop_from_people_queue("$union",l),this.union(l,function(e,t){0===e&&r._mixpanel.persistence._add_to_people_queue("$union",l),b.isUndefined(n)||n(e,t)})),!b.isUndefined(p)&&b.isArray(p)&&p.length){for(var d,_=function(e,t){0===e&&r._mixpanel.persistence._add_to_people_queue("$append",d),b.isUndefined(i)||i(e,t)},u=p.length-1;u>=0;u--)d=p.pop(),r.append(d,_);r._mixpanel.persistence.save()}},C.prototype._is_reserved_property=function(e){return"$distinct_id"===e||"$token"===e},D._Notification=function(e,t){b.bind_instance_methods(this),this.mixpanel=t,this.persistence=this.mixpanel.persistence,this.campaign_id=b.escapeHTML(e.id),this.message_id=b.escapeHTML(e.message_id),this.body=(b.escapeHTML(e.body)||"").replace(/\n/g,"
"),this.cta=b.escapeHTML(e.cta)||"Close",this.notif_type=b.escapeHTML(e.type)||"takeover",this.style=b.escapeHTML(e.style)||"light",this.title=b.escapeHTML(e.title)||"",this.video_width=B.VIDEO_WIDTH,this.video_height=B.VIDEO_HEIGHT,this.dest_url=e.cta_url||null,this.image_url=e.image_url||null,this.thumb_image_url=e.thumb_image_url||null,this.video_url=e.video_url||null,this.clickthrough=!0,this.dest_url||(this.dest_url="#dismiss",this.clickthrough=!1),this.mini="mini"===this.notif_type,this.mini||(this.notif_type="takeover"),this.notif_width=this.mini?B.NOTIF_WIDTH_MINI:B.NOTIF_WIDTH,this._set_client_config(),this.imgs_to_preload=this._init_image_html(),this._init_video()},B=D._Notification,B.ANIM_TIME=200,B.MARKUP_PREFIX="mixpanel-notification",B.BG_OPACITY=.6,B.NOTIF_TOP=25,B.NOTIF_START_TOP=200,B.NOTIF_WIDTH=388,B.NOTIF_WIDTH_MINI=420,B.NOTIF_HEIGHT_MINI=85,B.THUMB_BORDER_SIZE=5,B.THUMB_IMG_SIZE=60,B.THUMB_OFFSET=Math.round(B.THUMB_IMG_SIZE/2),B.VIDEO_WIDTH=595,B.VIDEO_HEIGHT=334,B.prototype.show=function(){var e=this;if(this._set_client_config(),!this.body_el)return void setTimeout(function(){e.show()},300);this._init_styles(),this._init_notification_el(),this._preload_images(this._attach_and_animate)},B.prototype.dismiss=b.safewrap(function(){this.marked_as_shown||this._mark_delivery({invisible:!0});var e=this.showing_video?this._get_el("video"):this._get_notification_display_el();if(this.use_transitions)this._remove_class("bg","visible"),this._add_class(e,"exiting"),setTimeout(this._remove_notification_el,B.ANIM_TIME);else{var t,i,o;this.mini?(t="right",i=20,o=-100):(t="top",i=B.NOTIF_TOP,o=B.NOTIF_START_TOP+B.NOTIF_TOP),this._animate_els([{el:this._get_el("bg"),attr:"opacity",start:B.BG_OPACITY,goal:0},{el:e,attr:"opacity",start:1,goal:0},{el:e,attr:t,start:i,goal:o}],B.ANIM_TIME,this._remove_notification_el)}}),B.prototype._add_class=b.safewrap(function(e,t){t=B.MARKUP_PREFIX+"-"+t,"string"==typeof e&&(e=this._get_el(e)),e.className?~(" "+e.className+" ").indexOf(" "+t+" ")||(e.className+=" "+t):e.className=t}),B.prototype._remove_class=b.safewrap(function(e,t){t=B.MARKUP_PREFIX+"-"+t,"string"==typeof e&&(e=this._get_el(e)),e.className&&(e.className=(" "+e.className+" ").replace(" "+t+" ","").replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,""))}),B.prototype._animate_els=b.safewrap(function(e,t,i,o){var n,r,s,a=this,c=!1,p=1*new Date;for(o=o||p,s=p-o,n=0;n=r.start?1:-1;r.val=r.start+l*s/t,"opacity"!==r.attr&&(r.val=Math.round(r.val)),(d>0&&r.val>=r.goal||d<0&&r.val<=r.goal)&&(r.val=r.goal)}if(!c)return void(i&&i());for(n=0;n'):this.img_html="",this.thumb_image_url?(e.push(this.thumb_image_url),this.thumb_img_html='
'):this.thumb_img_html=""),e},B.prototype._init_notification_el=function(){var e="",t="",i="",o='
';if(this.notification_el=document.createElement("div"),this.notification_el.id=B.MARKUP_PREFIX+"-wrapper",this.mini)e='
'+o+'
'+this.body+'
';else{var n=this.clickthrough||this.show_video?"":'
',r=this.show_video?'
':"";this._browser_lte("ie",7)&&(n="",r=""),e='
'+this.thumb_img_html+'
'+o+'
'+this.img_html+'
'+this.title+'
'+this.body+'
'+n+''+this.cta+""+r+"
"}this.youtube_video?(t="//www.youtube.com/embed/"+this.youtube_video+"?wmode=transparent&showinfo=0&modestbranding=0&rel=0&autoplay=1&loop=0&vq=hd1080",this.yt_custom&&(t+="&enablejsapi=1&html5=1&controls=0",i='
')):this.vimeo_video&&(t="//player.vimeo.com/video/"+this.vimeo_video+"?autoplay=1&title=0&byline=0&portrait=0"),this.show_video&&(this.video_iframe='',i='
'+i+"
");var s=i+e;this.flip_animate&&(s=(this.mini?e:"")+'
'+(this.mini?i:s)+"
"),this.notification_el.innerHTML=('
'+s+"
").replace(/class=\"/g,'class="'+B.MARKUP_PREFIX+"-").replace(/id=\"/g,'id="'+B.MARKUP_PREFIX+"-")},B.prototype._init_styles=function(){"dark"===this.style?this.style_vals={bg:"#1d1f25",bg_actions:"#282b32",bg_hover:"#3a4147",bg_light:"#4a5157",border_gray:"#32353c",cancel_opacity:"0.4",mini_hover:"#2a3137",text_title:"#fff",text_main:"#9498a3",text_tagline:"#464851",text_hover:"#ddd"}:this.style_vals={bg:"#fff",bg_actions:"#e7eaee",bg_hover:"#eceff3",bg_light:"#f5f5f5",border_gray:"#e4ecf2",cancel_opacity:"1.0",mini_hover:"#fafafa",text_title:"#5c6578",text_main:"#8b949b",text_tagline:"#ced9e6",text_hover:"#7c8598"};var e="0px 0px 35px 0px rgba(45, 49, 56, 0.7)",t=e,i=e,o=B.THUMB_IMG_SIZE+2*B.THUMB_BORDER_SIZE,n=B.ANIM_TIME/1e3+"s";this.mini&&(e="none");var r={};r["@media only screen and (max-width: "+(B.NOTIF_WIDTH_MINI+20-1)+"px)"]={"#overlay":{display:"none"}};var s={".flipped":{transform:"rotateY(180deg)"},"#overlay":{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",overflow:"auto","text-align":"center","z-index":"10000","font-family":'"Helvetica", "Arial", sans-serif',"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},"#overlay.mini":{height:"0",overflow:"visible"},"#overlay a":{width:"initial",padding:"0","text-decoration":"none","text-transform":"none",color:"inherit"},"#bgwrapper":{position:"relative",width:"100%",height:"100%"},"#bg":{position:"fixed",top:"0",left:"0",width:"100%",height:"100%","min-width":4*this.doc_width+"px","min-height":4*this.doc_height+"px","background-color":"black",opacity:"0.0","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)",filter:"alpha(opacity=60)",transition:"opacity "+n},"#bg.visible":{opacity:B.BG_OPACITY},".mini #bg":{width:"0",height:"0","min-width":"0"},"#flipcontainer":{perspective:"1000px",position:"absolute",width:"100%"},"#flipper":{position:"relative","transform-style":"preserve-3d",transition:"0.3s"},"#takeover":{position:"absolute",left:"50%",width:B.NOTIF_WIDTH+"px","margin-left":Math.round(-B.NOTIF_WIDTH/2)+"px","backface-visibility":"hidden",transform:"rotateY(0deg)",opacity:"0.0",top:B.NOTIF_START_TOP+"px",transition:"opacity "+n+", top "+n},"#takeover.visible":{opacity:"1.0",top:B.NOTIF_TOP+"px"},"#takeover.exiting":{opacity:"0.0",top:B.NOTIF_START_TOP+"px"},"#thumbspacer":{height:B.THUMB_OFFSET+"px"},"#thumbborder-wrapper":{position:"absolute",top:-B.THUMB_BORDER_SIZE+"px",left:B.NOTIF_WIDTH/2-B.THUMB_OFFSET-B.THUMB_BORDER_SIZE+"px",width:o+"px",height:o/2+"px",overflow:"hidden"},"#thumbborder":{position:"absolute",width:o+"px",height:o+"px","border-radius":o+"px","background-color":this.style_vals.bg_actions,opacity:"0.5"},"#thumbnail":{position:"absolute",top:"0px",left:B.NOTIF_WIDTH/2-B.THUMB_OFFSET+"px",width:B.THUMB_IMG_SIZE+"px",height:B.THUMB_IMG_SIZE+"px",overflow:"hidden","z-index":"100","border-radius":B.THUMB_IMG_SIZE+"px"},"#mini":{position:"absolute",right:"20px",top:B.NOTIF_TOP+"px",width:this.notif_width+"px",height:2*B.NOTIF_HEIGHT_MINI+"px","margin-top":20-B.NOTIF_HEIGHT_MINI+"px","backface-visibility":"hidden",opacity:"0.0",transform:"rotateX(90deg)",transition:"opacity 0.3s, transform 0.3s, right 0.3s"},"#mini.visible":{opacity:"1.0",transform:"rotateX(0deg)"},"#mini.exiting":{opacity:"0.0",right:"-150px"},"#mainbox":{"border-radius":"4px","box-shadow":e,"text-align":"center","background-color":this.style_vals.bg,"font-size":"14px",color:this.style_vals.text_main},"#mini #mainbox":{height:B.NOTIF_HEIGHT_MINI+"px","margin-top":B.NOTIF_HEIGHT_MINI+"px","border-radius":"3px",transition:"background-color "+n},"#mini-border":{height:B.NOTIF_HEIGHT_MINI+6+"px",width:B.NOTIF_WIDTH_MINI+6+"px",position:"absolute",top:"-3px",left:"-3px","margin-top":B.NOTIF_HEIGHT_MINI+"px","border-radius":"6px",opacity:"0.25","background-color":"#fff","z-index":"-1","box-shadow":i},"#mini-icon":{position:"relative",display:"inline-block",width:"75px",height:B.NOTIF_HEIGHT_MINI+"px","border-radius":"3px 0 0 3px","background-color":this.style_vals.bg_actions,background:"linear-gradient(135deg, "+this.style_vals.bg_light+" 0%, "+this.style_vals.bg_actions+" 100%)",transition:"background-color "+n},"#mini:hover #mini-icon":{"background-color":this.style_vals.mini_hover},"#mini:hover #mainbox":{"background-color":this.style_vals.mini_hover},"#mini-icon-img":{position:"absolute","background-image":"url("+this.thumb_image_url+")",width:"48px",height:"48px",top:"20px",left:"12px"},"#content":{padding:"30px 20px 0px 20px"},"#mini-content":{"text-align":"left",height:B.NOTIF_HEIGHT_MINI+"px",cursor:"pointer"},"#img":{width:"328px","margin-top":"30px","border-radius":"5px"},"#title":{"max-height":"600px",overflow:"hidden","word-wrap":"break-word",padding:"25px 0px 20px 0px","font-size":"19px","font-weight":"bold",color:this.style_vals.text_title},"#body":{"max-height":"600px","margin-bottom":"25px",overflow:"hidden","word-wrap":"break-word","line-height":"21px","font-size":"15px","font-weight":"normal","text-align":"left"},"#mini #body":{display:"inline-block","max-width":"250px",margin:"0 0 0 30px",height:B.NOTIF_HEIGHT_MINI+"px","font-size":"16px","letter-spacing":"0.8px",color:this.style_vals.text_title},"#mini #body-text":{display:"table",height:B.NOTIF_HEIGHT_MINI+"px"},"#mini #body-text div":{display:"table-cell","vertical-align":"middle"},"#tagline":{"margin-bottom":"15px","font-size":"10px","font-weight":"600","letter-spacing":"0.8px",color:"#ccd7e0","text-align":"left"},"#tagline a":{color:this.style_vals.text_tagline,transition:"color "+n},"#tagline a:hover":{color:this.style_vals.text_hover},"#cancel":{position:"absolute",right:"0",width:"8px",height:"8px",padding:"10px","border-radius":"20px",margin:"12px 12px 0 0","box-sizing":"content-box",cursor:"pointer",transition:"background-color "+n},"#mini #cancel":{margin:"7px 7px 0 0"},"#cancel-icon":{width:"8px",height:"8px",overflow:"hidden","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/cancel-x.png)",opacity:this.style_vals.cancel_opacity},"#cancel:hover":{"background-color":this.style_vals.bg_hover},"#button":{display:"block",height:"60px","line-height":"60px","text-align":"center","background-color":this.style_vals.bg_actions,"border-radius":"0 0 4px 4px",overflow:"hidden",cursor:"pointer",transition:"background-color "+n},"#button-close":{display:"inline-block",width:"9px",height:"60px","margin-right":"8px","vertical-align":"top","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/close-x-"+this.style+".png)","background-repeat":"no-repeat","background-position":"0px 25px"},"#button-play":{display:"inline-block",width:"30px",height:"60px","margin-left":"15px","background-image":"url(//cdn.mxpnl.com/site_media/images/icons/notifications/play-"+this.style+"-small.png)","background-repeat":"no-repeat","background-position":"0px 15px"},"a#button-link":{display:"inline-block","vertical-align":"top","text-align":"center","font-size":"17px","font-weight":"bold",overflow:"hidden","word-wrap":"break-word",color:this.style_vals.text_title,transition:"color "+n},"#button:hover":{"background-color":this.style_vals.bg_hover,color:this.style_vals.text_hover},"#button:hover a":{color:this.style_vals.text_hover},"#video-noflip":{position:"relative",top:2*-this.video_height+"px"},"#video-flip":{"backface-visibility":"hidden",transform:"rotateY(180deg)"},"#video":{position:"absolute",width:this.video_width-1+"px",height:this.video_height+"px",top:B.NOTIF_TOP+"px","margin-top":"100px",left:"50%","margin-left":Math.round(-this.video_width/2)+"px",overflow:"hidden","border-radius":"5px","box-shadow":t,transform:"translateZ(1px)",transition:"opacity "+n+", top "+n},"#video.exiting":{opacity:"0.0",top:this.video_height+"px"},"#video-holder":{position:"absolute",width:this.video_width-1+"px",height:this.video_height+"px",overflow:"hidden","border-radius":"5px"},"#video-frame":{"margin-left":"-1px",width:this.video_width+"px"},"#video-controls":{opacity:"0",transition:"opacity 0.5s"},"#video:hover #video-controls":{opacity:"1.0"},"#video .video-progress-el":{position:"absolute",bottom:"0",height:"25px","border-radius":"0 0 0 5px"},"#video-progress":{width:"90%"},"#video-progress-total":{width:"100%","background-color":this.style_vals.bg,opacity:"0.7"},"#video-elapsed":{width:"0","background-color":"#6cb6f5",opacity:"0.9"},"#video #video-time":{width:"10%",right:"0","font-size":"11px","line-height":"25px",color:this.style_vals.text_main,"background-color":"#666","border-radius":"0 0 5px 0"}};this._browser_lte("ie",8)&&b.extend(s,{"* html #overlay":{position:"absolute"},"* html #bg":{position:"absolute"},"html, body":{height:"100%"}}),this._browser_lte("ie",7)&&b.extend(s,{"#mini #body":{display:"inline",zoom:"1",border:"1px solid "+this.style_vals.bg_hover},"#mini #body-text":{padding:"20px"},"#mini #mini-icon":{display:"none"}});var a=["backface-visibility","border-radius","box-shadow","opacity","perspective","transform","transform-style","transition"],c=["khtml","moz","ms","o","webkit"];for(var p in s)for(var l=0;l=33||this.browser_versions.firefox>=15)&&this.body_el&&o("backfaceVisibility")&&o("perspective")&&o("transform")},B.prototype._switch_to_video=b.safewrap(function(){var e=this,t=[{el:e._get_notification_display_el(),attr:"opacity",start:1,goal:0},{el:e._get_notification_display_el(),attr:"top",start:B.NOTIF_TOP,goal:-500},{el:e._get_el("video-noflip"),attr:"opacity",start:0,goal:1},{el:e._get_el("video-noflip"),attr:"top",start:2*-e.video_height,goal:0}];if(e.mini){var i=e._get_el("bg"),o=e._get_el("overlay");i.style.width="100%",i.style.height="100%",o.style.width="100%",e._add_class(e._get_notification_display_el(),"exiting"),e._add_class(i,"visible"),t.push({el:e._get_el("bg"),attr:"opacity",start:0,goal:B.BG_OPACITY})}e._get_el("video-holder").innerHTML=e.video_iframe;var n=function(){window.YT&&window.YT.loaded&&e._yt_video_ready(),e.showing_video=!0,e._get_notification_display_el().style.visibility="hidden"};e.flip_animate?(e._add_class("flipper","flipped"),setTimeout(n,B.ANIM_TIME)):e._animate_els(t,B.ANIM_TIME,n)}),B.prototype._track_event=function(e,t,i){this.campaign_id?(t=t||{},t=b.extend(t,{campaign_id:this.campaign_id,message_id:this.message_id,message_type:"web_inapp",message_subtype:this.notif_type}),this.mixpanel.track(e,t,i)):i&&i.call()},B.prototype._yt_video_ready=b.safewrap(function(){var e=this;if(!e.video_inited){e.video_inited=!0;var t=e._get_el("video-elapsed"),i=e._get_el("video-time"),o=e._get_el("video-progress");new window.YT.Player(B.MARKUP_PREFIX+"-video-frame",{events:{onReady:function(n){var r=n.target,s=r.getDuration(),a=function(e){return("00"+e).slice(-2)},c=function(e){var t=Math.round(s-e),o=Math.floor(t/60),n=Math.floor(o/60);t-=60*o,o-=60*n,i.innerHTML="-"+(n?n+":":"")+a(o)+":"+a(t)};c(0),e._video_progress_checker=window.setInterval(function(){var e=r.getCurrentTime();t.style.width=e/s*100+"%",c(e)},250),b.register_event(o,"click",function(e){var t=Math.max(0,e.pageX-o.getBoundingClientRect().left);r.seekTo(s*t/o.clientWidth,!0)})}}})}}),D.prototype.init=D.prototype.init,D.prototype.reset=D.prototype.reset,D.prototype.disable=D.prototype.disable,D.prototype.time_event=D.prototype.time_event,D.prototype.track=D.prototype.track,D.prototype.track_links=D.prototype.track_links,D.prototype.track_forms=D.prototype.track_forms,D.prototype.track_pageview=D.prototype.track_pageview,D.prototype.register=D.prototype.register,D.prototype.register_once=D.prototype.register_once,D.prototype.unregister=D.prototype.unregister,D.prototype.identify=D.prototype.identify,D.prototype.alias=D.prototype.alias,D.prototype.name_tag=D.prototype.name_tag,D.prototype.set_config=D.prototype.set_config,D.prototype.get_config=D.prototype.get_config,D.prototype.get_property=D.prototype.get_property,D.prototype.get_distinct_id=D.prototype.get_distinct_id,D.prototype.toString=D.prototype.toString,D.prototype._check_and_handle_notifications=D.prototype._check_and_handle_notifications,D.prototype._show_notification=D.prototype._show_notification,U.prototype.properties=U.prototype.properties,U.prototype.update_search_keyword=U.prototype.update_search_keyword,U.prototype.update_referrer_info=U.prototype.update_referrer_info,U.prototype.get_cross_subdomain=U.prototype.get_cross_subdomain,U.prototype.clear=U.prototype.clear,C.prototype.set=C.prototype.set,C.prototype.set_once=C.prototype.set_once,C.prototype.increment=C.prototype.increment,C.prototype.append=C.prototype.append,C.prototype.union=C.prototype.union,C.prototype.track_charge=C.prototype.track_charge,C.prototype.clear_charges=C.prototype.clear_charges,C.prototype.delete_user=C.prototype.delete_user,C.prototype.toString=C.prototype.toString,b.safewrap_class(D,["identify","_check_and_handle_notifications","_show_notification"]);var q={},j=function(){b.each(q,function(e,t){"mixpanel"!==t&&(I[t]=e)}),I._=b},R=function(){I.init=function(e,t,i){if(i)return I[i]||(I[i]=q[i]=H(e,t,i),I[i]._loaded()),I[i];var o=I;q.mixpanel?o=q.mixpanel:e&&(o=H(e,t,"mixpanel"),o._loaded(),q.mixpanel=o),I=o,1===k&&(window.mixpanel=I),j()}},L=function(){function e(){e.done||(e.done=!0,P=!0,S=!1,b.each(q,function(e){e._dom_loaded()}))}function t(){try{document.documentElement.doScroll("left")}catch(e){return void setTimeout(t,1)}e()}if(document.addEventListener)"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",e);var i=!1;try{i=null===window.frameElement}catch(e){}document.documentElement.doScroll&&i&&t()}b.register_event(window,"load",e,!0)},G=function(e){var t=e.get_config("name");e.mp_counts=e.mp_counts||{},e.mp_counts.$__c=parseInt(b.cookie.get("mp_"+t+"__c"))||0;var i=function(){e.mp_counts.$__c=(e.mp_counts.$__c||0)+1,b.cookie.set("mp_"+t+"__c",e.mp_counts.$__c,1,!0)},o=function(){try{e.mp_counts=e.mp_counts||{},i()}catch(e){w.error(e)}};b.register_event(document,"submit",o),b.register_event(document,"change",o);var n=null;b.register_event(document,"mousedown",function(e){n=e.target}),b.register_event(document,"mouseup",function(e){e.target===n&&o()})},z=function(){return k=T,I=new D,R(),I.init(),L(),I}();e.exports=z}}); \ No newline at end of file +!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}({0:function(e,t,n){e.exports=n("QRqT")},QRqT:function(e,t){!function(e,t){if(!t.__SV){var n=window;try{var r,o,i,a=n.location,p=a.hash;r=function(e,t){return(o=e.match(RegExp(t+"=([^&]*)")))?o[1]:null},p&&r(p,"state")&&(i=JSON.parse(decodeURIComponent(r(p,"state"))),"mpeditor"===i.action&&(n.sessionStorage.setItem("_mpcehash",p),history.replaceState(i.desiredHash||"",e.title,a.pathname+a.search)))}catch(e){}var c,l;window.mixpanel=t,t._i=[],t.init=function(e,n,r){var o=t;for(void 0!==r?o=t[r]=[]:r="mixpanel",o.people=o.people||[],o.toString=function(e){var t="mixpanel";return"mixpanel"!==r&&(t+="."+r),e||(t+=" (stub)"),t},o.people.toString=function(){return o.toString(1)+".people (stub)"},c="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" "),l=0;loption('assets')) { $this->call('vendor:publish', [ - '--provider' => LaravelMixpanelService::class, + '--provider' => Service::class, '--tag' => ['assets'], '--force' => true, ]); From 508762792579826261fb3b35faa3c0586a996ad0 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Sun, 5 Nov 2017 16:58:12 -0800 Subject: [PATCH 12/18] Fix unit tests --- CHANGELOG.md | 7 +++ src/LaravelMixpanel.php | 2 +- src/Listeners/LaravelMixpanelEventHandler.php | 44 ------------------- src/Listeners/Login.php | 4 +- src/Listeners/Logout.php | 3 +- src/Providers/Service.php | 7 +-- tests/CreatesApplication.php | 21 ++++----- tests/Feature/AuthenticationTest.php | 33 +++++++------- .../resources/views/auth/login.blade.php | 4 +- tests/Unit/ExampleTest.php | 5 --- 10 files changed, 41 insertions(+), 89 deletions(-) delete mode 100644 src/Listeners/LaravelMixpanelEventHandler.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bd8f7e..58a897f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,13 @@ This project adheres to [Semantic Versioning](http://semver.org/). (This is already detected in subscription update.) - Filter any incoming web-hook events that are in test mode. +## [WIP] - 5 Nov 2017 +### Added +- unit and feature tests. + +### Changed +- class structure as part of refactoring. + ## [0.7.2] - 5 Nov 2017 ### Fixed - inclusion of auto-track JS scripts. NPM library is broken and seems to not be maintained anymore, switched to script provided by mixpanel setup instructions. diff --git a/src/LaravelMixpanel.php b/src/LaravelMixpanel.php index ef1531a..eba335d 100644 --- a/src/LaravelMixpanel.php +++ b/src/LaravelMixpanel.php @@ -27,7 +27,7 @@ public function __construct(Request $request, array $options = []) ); } - public function track(string $event, array $properties = []) : array + public function track($event, $properties = []) { $browserInfo = new Browser(); $osInfo = new Os(); diff --git a/src/Listeners/LaravelMixpanelEventHandler.php b/src/Listeners/LaravelMixpanelEventHandler.php deleted file mode 100644 index ee256b4..0000000 --- a/src/Listeners/LaravelMixpanelEventHandler.php +++ /dev/null @@ -1,44 +0,0 @@ -credentials['email'] ?? $event['email'] ?? ''; - - $authModel = config('auth.providers.users.model', config('auth.model')); - $user = app($authModel) - ->where('email', $email) - ->first(); - $eventName = 'Login Attempted'; - - event(new MixpanelEvent($user, $eventName)); - } - - public function onUserLogin($login) - { - dd('test', $login); - $user = $login->user ?? $login; - event(new MixpanelEvent($user, 'User Logged In')); - } - - public function onUserLogout($logout) - { - $user = $logout->user ?? $logout; - event(new MixpanelEvent($user, 'User Logged Out')); - } - - public function subscribe(Dispatcher $events) - { - $events->listen(Attempting::class, self::class . '@onUserLoginAttempt'); - $events->listen(Login::class, self::class . '@onUserLogin'); - $events->listen(Logout::class, self::class . '@onUserLogout'); - } -} diff --git a/src/Listeners/Login.php b/src/Listeners/Login.php index 7ed2fcc..b627a98 100644 --- a/src/Listeners/Login.php +++ b/src/Listeners/Login.php @@ -6,8 +6,6 @@ class Login { public function handle($login) { - dd('test', $login); - $user = $login->user ?? $login; - event(new MixpanelEvent($user, 'User Logged In')); + event(new MixpanelEvent($login->user, 'User Logged In')); } } diff --git a/src/Listeners/Logout.php b/src/Listeners/Logout.php index 2cdece8..1a7d83c 100644 --- a/src/Listeners/Logout.php +++ b/src/Listeners/Logout.php @@ -6,7 +6,6 @@ class Logout { public function handle($logout) { - $user = $logout->user ?? $logout; - event(new MixpanelEvent($user, 'User Logged Out')); + event(new MixpanelEvent($logout->user, 'User Logged Out')); } } diff --git a/src/Providers/Service.php b/src/Providers/Service.php index 32bc329..37d5a2a 100644 --- a/src/Providers/Service.php +++ b/src/Providers/Service.php @@ -28,11 +28,9 @@ class Service extends EventServiceProvider public function boot() { - include __DIR__ . '/../../routes/api.php'; + parent::boot(); - // if (app()->environment('testing')) { - // $this->loadViewsFrom(__DIR__ . '/../../tests/resources/views', 'genealabs-laravel-mixpanel'); - // } + include __DIR__ . '/../../routes/api.php'; $this->loadViewsFrom(__DIR__ . '/../../resources/views', 'genealabs-laravel-mixpanel'); $this->publishes([ @@ -42,7 +40,6 @@ public function boot() if (config('services.mixpanel.enable-default-tracking')) { $authModel = config('auth.providers.users.model') ?? config('auth.model'); $this->app->make($authModel)->observe(new LaravelMixpanelUserObserver()); - // app('events')->subscribe(new LaravelMixpanelEventHandler()); } } diff --git a/tests/CreatesApplication.php b/tests/CreatesApplication.php index 841f481..30c9253 100644 --- a/tests/CreatesApplication.php +++ b/tests/CreatesApplication.php @@ -11,10 +11,13 @@ public function createApplication() $this->copyFixtures([ __DIR__ . '/Fixtures/app/Http/Controllers/HomeController.php' => __DIR__ . '/../vendor/laravel/laravel/app/Http/Controllers/HomeController.php', __DIR__ . '/Fixtures/resources/views/home.blade.php' => __DIR__ . '/../vendor/laravel/laravel/resources/views/home.blade.php', + __DIR__ . '/Fixtures/resources/views/auth/login.blade.php' => __DIR__ . '/../vendor/laravel/laravel/resources/views/auth/login.blade.php', + __DIR__ . '/Fixtures/resources/views/auth/register.blade.php' => __DIR__ . '/../vendor/laravel/laravel/resources/views/auth/register.blade.php', + __DIR__ . '/Fixtures/resources/views/auth/passwords/email.blade.php' => __DIR__ . '/../vendor/laravel/laravel/resources/views/auth/passwords/email.blade.php', + __DIR__ . '/Fixtures/resources/views/auth/passwords/reset.blade.php' => __DIR__ . '/../vendor/laravel/laravel/resources/views/auth/passwords/email.blade.php', __DIR__ . '/Fixtures/resources/views/layouts/app.blade.php' => __DIR__ . '/../vendor/laravel/laravel/resources/views/layouts/app.blade.php', __DIR__ . '/Fixtures/routes/web.php' => __DIR__ . '/../vendor/laravel/laravel/routes/web.php', ]); - // $this->preLoadRoutes(); $app = require __DIR__ . '/../vendor/laravel/laravel/bootstrap/app.php'; $app->make(Kernel::class)->bootstrap(); $app->register(Service::class); @@ -25,15 +28,13 @@ public function createApplication() protected function copyFixtures(array $fixtures) { $fixtures = collect($fixtures)->each(function ($destination, $source) { - $contents = file_get_contents($source); - file_put_contents($destination, $contents); - }); - } + $pathInfo = pathinfo($destination); - protected function preLoadRoutes() - { - $routes = file_get_contents(__DIR__ . '/../vendor/laravel/laravel/routes/web.php'); - $routes .= str_contains($routes, 'Auth::routes();') ? '' : "\nAuth::routes();\n"; - file_put_contents(__DIR__ . '/../vendor/laravel/laravel/routes/web.php', $routes); + if (! file_exists($pathInfo['dirname'])) { + mkdir($pathInfo['dirname'], 0777, true); + } + + copy($source, $destination); + }); } } diff --git a/tests/Feature/AuthenticationTest.php b/tests/Feature/AuthenticationTest.php index e06961e..c35eec4 100644 --- a/tests/Feature/AuthenticationTest.php +++ b/tests/Feature/AuthenticationTest.php @@ -2,7 +2,8 @@ use App\User; use GeneaLabs\LaravelMixpanel\Tests\FeatureTestCase; -use GeneaLabs\LaravelMixpanel\Listeners\Attempt; +use GeneaLabs\LaravelMixpanel\Listeners\LoginAttempt; +use GeneaLabs\LaravelMixpanel\Events\MixpanelEvent; use Illuminate\Auth\Events\Attempting; use Illuminate\Auth\Events\Login; use Illuminate\Auth\Events\Logout; @@ -17,29 +18,28 @@ class AuthenticationTest extends FeatureTestCase public function testLoginAttempt() { - $this->expectsEvents(Attempting::class); - $listener = Mockery::spy(Attempt::class); - app()->instance(Attempt::class, $listener); + Event::fake([MixpanelEvent::class]); + $user = factory(User::class)->create(); $result = $this->visit('/login') - ->type('test@noemail.com', 'email') + ->type($user->email, 'email') ->type('hoogabaloo', 'password') ->press('Login'); $this->assertResponseStatus(200); $result->seePageIs('/login'); - $listener->shouldHaveReceived('handle'); + Event::assertDispatched(MixpanelEvent::class, function ($event) use ($user) { + return ($event->user->email === $user->email && $event->eventName === 'Login Attempted'); + }); } public function testLoginSuccess() { + Event::fake([MixpanelEvent::class]); $password = 'hoogabaloo'; $user = factory(User::class)->create([ 'password' => bcrypt($password), ]); - $this->expectsEvents(Login::class); - // $listener = Mockery::spy(LaravelMixpanelEventHandler::class); - // app()->instance(LaravelMixpanelEventHandler::class, $listener); $result = $this->visit('/login') ->type($user->email, 'email') @@ -47,22 +47,23 @@ public function testLoginSuccess() ->press('Login'); $this->assertResponseStatus(200); - // $listener->shouldHaveReceived('handle'); $result->seePageIs('/home'); + Event::assertDispatched(MixpanelEvent::class, function ($event) use ($user) { + return ($event->user->email === $user->email && $event->eventName === 'User Logged In'); + }); } public function testLogoutSuccess() { + Event::fake([MixpanelEvent::class]); $user = factory(User::class)->create(); - $this->expectsEvents(Logout::class); - // $listener = Mockery::spy(LaravelMixpanelEventHandler::class); - // app()->instance(LaravelMixpanelEventHandler::class, $listener); - $this->actingAs($user) + $result = $this->actingAs($user) ->post('/logout'); - // $this->assertResponseStatus(200); - // $listener->shouldHaveReceived('handle'); $this->assertRedirectedTo('/'); + Event::assertDispatched(MixpanelEvent::class, function ($event) use ($user) { + return ($event->user->email === $user->email && $event->eventName === 'User Logged Out'); + }); } } diff --git a/tests/Fixtures/resources/views/auth/login.blade.php b/tests/Fixtures/resources/views/auth/login.blade.php index d4459ae..ad371e3 100644 --- a/tests/Fixtures/resources/views/auth/login.blade.php +++ b/tests/Fixtures/resources/views/auth/login.blade.php @@ -51,9 +51,7 @@
- - Login - + Forgot Your Password? diff --git a/tests/Unit/ExampleTest.php b/tests/Unit/ExampleTest.php index d07e635..70dc327 100644 --- a/tests/Unit/ExampleTest.php +++ b/tests/Unit/ExampleTest.php @@ -5,11 +5,6 @@ class ExampleTest extends UnitTestCase { - /** - * A basic test example. - * - * @return void - */ public function testBasicTest() { $this->assertTrue(true); From 7ffca8be707270941f8455f966e92b86960bd259 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Sun, 5 Nov 2017 17:10:13 -0800 Subject: [PATCH 13/18] WIP - bring things to green --- .scrutinizer.yml | 1 + src/Listeners/LaravelMixpanelUserObserver.php | 10 +++++----- src/Listeners/Login.php | 7 ++++--- src/Listeners/LoginAttempt.php | 7 ++++--- src/Listeners/Logout.php | 7 ++++--- 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 49e8c56..7da841a 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -2,3 +2,4 @@ filter: excluded_paths: - "public/" - "tests/" + - "resources/assets/js/mixpanel.js" diff --git a/src/Listeners/LaravelMixpanelUserObserver.php b/src/Listeners/LaravelMixpanelUserObserver.php index 002a889..b707758 100644 --- a/src/Listeners/LaravelMixpanelUserObserver.php +++ b/src/Listeners/LaravelMixpanelUserObserver.php @@ -1,26 +1,26 @@ user, 'User Logged In')); + event(new Mixpanel($login->user, 'User Logged In')); } } diff --git a/src/Listeners/LoginAttempt.php b/src/Listeners/LoginAttempt.php index 27c3977..8d56059 100644 --- a/src/Listeners/LoginAttempt.php +++ b/src/Listeners/LoginAttempt.php @@ -1,10 +1,11 @@ credentials['email'] ?? $event['email'] ?? ''; @@ -14,6 +15,6 @@ public function handle($event) ->first(); $eventName = 'Login Attempted'; - event(new MixpanelEvent($user, $eventName)); + event(new Mixpanel($user, $eventName)); } } diff --git a/src/Listeners/Logout.php b/src/Listeners/Logout.php index 1a7d83c..ed769c8 100644 --- a/src/Listeners/Logout.php +++ b/src/Listeners/Logout.php @@ -1,11 +1,12 @@ user, 'User Logged Out')); + event(new Mixpanel($logout->user, 'User Logged Out')); } } From 2303d36714579931a26d77c5d37f6e38093f3557 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Sun, 5 Nov 2017 17:19:01 -0800 Subject: [PATCH 14/18] Update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58a897f..f05fdd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,9 +11,9 @@ This project adheres to [Semantic Versioning](http://semver.org/). (This is already detected in subscription update.) - Filter any incoming web-hook events that are in test mode. -## [WIP] - 5 Nov 2017 +## [0.7.3] - 5 Nov 2017 ### Added -- unit and feature tests. +- initial integration tests. ### Changed - class structure as part of refactoring. From b0ab038aeb6a779f3c6949b80231ee9b538241e3 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Sun, 7 Jan 2018 09:05:21 -0800 Subject: [PATCH 15/18] Add thanks and phpunit printer packages --- composer.json | 11 ++++++++--- phpunit.xml | 6 ++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 470b014..400ce4d 100644 --- a/composer.json +++ b/composer.json @@ -34,8 +34,10 @@ "mockery/mockery": "0.9.*", "phpmd/phpmd": "^2.6", "phpunit/phpunit": "5.7.*", - "satooshi/php-coveralls" : "dev-master@dev", - "sebastian/phpcpd": "*" + "sebastian/phpcpd": "*", + "symfony/thanks": "^1.0", + "codedungeon/phpunit-result-printer": "^0.5.0", + "php-coveralls/php-coveralls": "^2.0" }, "autoload-dev": { "psr-4": { @@ -46,7 +48,10 @@ "laravel": { "providers": [ "GeneaLabs\\LaravelMixpanel\\Providers\\Service" - ] + ], + "alias": { + "Mixpanel": "GeneaLabs\\LaravelMixpanel\\Facades\\Mixpanel" + } } } } diff --git a/phpunit.xml b/phpunit.xml index d7b48a9..e927f83 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,14 +1,16 @@ - From 19ef3c89cecbf2c07921477d8638e3a21d659ddd Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Sun, 7 Jan 2018 09:05:35 -0800 Subject: [PATCH 16/18] Add Mixpanel facade --- src/Facades/Mixpanel.php | 11 +++++++++++ tests/Unit/ExampleTest.php | 12 ------------ tests/Unit/Facades/MixpanelTest.php | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 src/Facades/Mixpanel.php delete mode 100644 tests/Unit/ExampleTest.php create mode 100644 tests/Unit/Facades/MixpanelTest.php diff --git a/src/Facades/Mixpanel.php b/src/Facades/Mixpanel.php new file mode 100644 index 0000000..4ca0063 --- /dev/null +++ b/src/Facades/Mixpanel.php @@ -0,0 +1,11 @@ +assertTrue(true); - } -} diff --git a/tests/Unit/Facades/MixpanelTest.php b/tests/Unit/Facades/MixpanelTest.php new file mode 100644 index 0000000..a4de88c --- /dev/null +++ b/tests/Unit/Facades/MixpanelTest.php @@ -0,0 +1,18 @@ +assertInstanceOf(LaravelMixpanel::class, $instance); + } +} From 79185b981f9ba71ac06f37b987c7b6c9e9141a7c Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Sun, 7 Jan 2018 09:15:50 -0800 Subject: [PATCH 17/18] Update documentation --- CHANGELOG.md | 5 ++ CODE_OF_CONDUCT.md | 46 +++++++++++++++++ CONTRIBUTING.md | 38 ++++++++++++-- README.md | 126 ++++++++++++++++++++++++++++----------------- 4 files changed, 164 insertions(+), 51 deletions(-) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CHANGELOG.md b/CHANGELOG.md index f05fdd7..807e2b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,11 @@ This project adheres to [Semantic Versioning](http://semver.org/). (This is already detected in subscription update.) - Filter any incoming web-hook events that are in test mode. +## [0.7.4] - 7 Jan 2018 +### Added +- `Mixpanel::xxx()` facade. +- `thanks` package as dev-dependency, as well as pretty phpunit printer package. + ## [0.7.3] - 5 Nov 2017 ### Added - initial integration tests. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..0a9c9a7 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,46 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hello@genealabs.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a447979..8eb4c7e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,35 @@ -# Contributing -## Coding Standards -- PSR-1/PSR-2 +# How to contribute +We welcome everyone to submit pull requests with: +- fixes for issues +- change suggestions +- updateing of documentation + +However, not every pull request will automatically be accepted. I will review each carefully to make sure it is in line with + the direction I want the package to continue in. This might mean that some pull requests are not accepted, or might stay + unmerged until a place for them can be determined. + +## Testing +- [ ] After making your changes, make sure the tests still pass. +- [ ] When adding new functionality, also add new tests. +- [ ] When fixing errors write and satisfy new unit tests that replicate the issue. +- [ ] Make sure there are no build errors on our CI server (https://ci.genealabs.com/build-status/view/11) +- [ ] All code must past PHPCS and PHPMD PSR2 validation. + +## Submitting changes +When submitting a pull request, it is important to make sure to complete the following: +- [ ] Add a descriptive header that explains in a single sentence what problem the PR solves. +- [ ] Add a detailed description with animated screen-grab GIFs visualizing how it works. +- [ ] Explain why you think it should be implemented one way vs. another, highlight performance improvements, etc. + +## Coding conventions +Start reading our code and you'll get the hang of it. We optimize for readability: +- indent using four spaces (soft tabs) +- use Blade for all views +- avoid logic in views, put it in controllers or service classes +- ALWAYS put spaces after list items and method parameters (`[1, 2, 3]`, not `[1,2,3]`), around operators (`x += 1`, not `x+=1`), and around hash arrows. +- this is open source software. Consider the people who will read your code, and make it look nice for them. It's sort of like driving a car: Perhaps you love doing donuts when you're alone, but with passengers the goal is to make the ride as smooth as possible. +- emphasis readability of code over patterns to reduce mental debt +- always add an empty line around structures (if statements, loops, etc.) + +Thanks! +Mike Bronner, GeneaLabs diff --git a/README.md b/README.md index 45b2cc4..5ea7247 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ # MixPanel for Laravel 5 [![Join the chat at https://gitter.im/GeneaLabs/laravel-mixpanel](https://badges.gitter.im/GeneaLabs/laravel-mixpanel.svg)](https://gitter.im/GeneaLabs/laravel-mixpanel?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Travis](https://img.shields.io/travis/GeneaLabs/laravel-mixpanel.svg)](https://travis-ci.org/GeneaLabs/laravel-mixpanel) -[![SensioLabs Insight](https://img.shields.io/sensiolabs/i/12e6aa84-a68b-4cd3-a8ca-10d12b11cca6.svg)](https://insight.sensiolabs.com/projects/12e6aa84-a68b-4cd3-a8ca-10d12b11cca6) [![Scrutinizer](https://img.shields.io/scrutinizer/g/GeneaLabs/laravel-mixpanel.svg)](https://scrutinizer-ci.com/g/GeneaLabs/laravel-mixpanel) [![Coveralls](https://img.shields.io/coveralls/GeneaLabs/laravel-mixpanel.svg)](https://coveralls.io/github/GeneaLabs/laravel-mixpanel) [![GitHub (pre-)release](https://img.shields.io/github/release/GeneaLabs/laravel-mixpanel/all.svg)](https://github.com/GeneaLabs/laravel-mixpanel) @@ -76,52 +75,6 @@ MIXPANEL_TOKEN=xxxxxxxxxxxxxxxxxxxxxx ### Page Views - Page view tracking has been removed in favor of Mixpanels in-built Autotrack functionality, which tracks all page views. To turn it on, visit your Mixpanel dashboard, click *Applications > Autotrack > Web > etc.* and enable Autotracking. -## Usage -### PHP Events - -### Stripe Web-Hook -If you wish to take advantage of the Stripe web-hook and track revenue per user, - you should install Cashier: https://www.laravel.com/docs/5.5/billing - -Once that has been completed, exempt the web-hook endpoint from CSRF-validation - in `/app/Http/Middleware/VerifyCsrfToken.php`: -```php - protected $except = [ - 'genealabs/laravel-mixpanel/stripe', - ]; -``` - -The only other step remaining is to register the web-hook with Stripe: - Log into your Stripe account: https://dashboard.stripe.com/dashboard, and open - your account settings' webhook tab: - - Enter your MixPanel web-hook URL, similar to the following: `http:///genealabs/laravel-mixpanel/stripe`: - ![screen shot 2015-05-31 at 1 35 01 pm](https://cloud.githubusercontent.com/assets/1791050/7903765/53ba6fe4-079b-11e5-9f92-a588bd81641d.png) - - Be sure to select "Live" if you are actually running live (otherwise put into test mode and update when you go live). - Also, choose "Send me all events" to make sure Laravel Mixpanel can make full use of the Stripe data. - -### JavaScript Events & Auto-Track -#### Blade Template (Recommended) -First publish the necessary assets: -```sh -php artisan mixpanel:publish --assets -``` - -Then add the following to the head section of your layout template (already does - the init call for you, using the token from your .env file): -```blade -@include('genealabs-laravel-mixpanel::partials.mixpanel') -``` - -#### Laravel Elixir -Add the following lines to your `/resources/js/app.js` (or equivalent), and - don't forget to replace `YOUR_MIXPANEL_TOKEN` with your actual token: -```js -require('./../../../public/genealabs-laravel-mixpanel/js/mixpanel.js'); -mixpanel.init("YOUR_MIXPANEL_TOKEN"); -``` - ## Usage MixPanel is loaded into the IoC as a singleton. This means you don't have to manually call $mixPanel::getInstance() as described in the MixPanel docs. This is already done for you in the ServiceProvider. @@ -154,7 +107,8 @@ class MyClass If DI is impractical in certain situations, you can also manually retrieve it from the IoC: ```php -$mixPanel = app('mixpanel'); +$mixPanel = app('mixpanel'); // using app helper +$mixPanel = Mixpanel::getFacadeRoot(); // using facade ``` After that you can make the usual calls to the MixPanel API: @@ -165,6 +119,49 @@ After that you can make the usual calls to the MixPanel API: And so on ... + ### Stripe Web-Hook + If you wish to take advantage of the Stripe web-hook and track revenue per user, + you should install Cashier: https://www.laravel.com/docs/5.5/billing + + Once that has been completed, exempt the web-hook endpoint from CSRF-validation + in `/app/Http/Middleware/VerifyCsrfToken.php`: + ```php + protected $except = [ + 'genealabs/laravel-mixpanel/stripe', + ]; + ``` + + The only other step remaining is to register the web-hook with Stripe: + Log into your Stripe account: https://dashboard.stripe.com/dashboard, and open + your account settings' webhook tab: + + Enter your MixPanel web-hook URL, similar to the following: `http:///genealabs/laravel-mixpanel/stripe`: + ![screen shot 2015-05-31 at 1 35 01 pm](https://cloud.githubusercontent.com/assets/1791050/7903765/53ba6fe4-079b-11e5-9f92-a588bd81641d.png) + + Be sure to select "Live" if you are actually running live (otherwise put into test mode and update when you go live). + Also, choose "Send me all events" to make sure Laravel Mixpanel can make full use of the Stripe data. + + ### JavaScript Events & Auto-Track + #### Blade Template (Recommended) + First publish the necessary assets: + ```sh + php artisan mixpanel:publish --assets + ``` + + Then add the following to the head section of your layout template (already does + the init call for you, using the token from your .env file): + ```blade + @include('genealabs-laravel-mixpanel::partials.mixpanel') + ``` + + #### Laravel Elixir + Add the following lines to your `/resources/js/app.js` (or equivalent), and + don't forget to replace `YOUR_MIXPANEL_TOKEN` with your actual token: + ```js + require('./../../../public/genealabs-laravel-mixpanel/js/mixpanel.js'); + mixpanel.init("YOUR_MIXPANEL_TOKEN"); + ``` + ### Laravel Integration Out of the box it will record the common events anyone would want to track. Also, if the default `$user->name` field is used that comes with Laravel, it will split up the name and use the last word as the last name, and everything prior for @@ -340,3 +337,36 @@ Out of the box it will record the following Stripe events in MixPanel for you: - Churned: - Plan When Churned: ``` + +# The Fine Print +## Commitment to Quality +During package development I try as best as possible to embrace good design and +development practices to try to ensure that this package is as good as it can +be. My checklist for package development includes: + +- ✅ Achieve as close to 100% code coverage as possible using unit tests. +- ✅ Eliminate any issues identified by SensioLabs Insight and Scrutinizer. +- ✅ Be fully PSR1, PSR2, and PSR4 compliant. +- ✅ Include comprehensive documentation in README.md. +- ✅ Provide an up-to-date CHANGELOG.md which adheres to the format outlined + at . +- ✅ Have no PHPMD or PHPCS warnings throughout all code. + +## Contributing +Please observe and respect all aspects of the included Code of Conduct . + +### Reporting Issues +When reporting issues, please fill out the included template as completely as +possible. Incomplete issues may be ignored or closed if there is not enough +information included to be actionable. + +### Submitting Pull Requests +Please review the Contribution Guidelines . +Only PRs that meet all criterium will be accepted. + +## ❤️ Open-Source Software - Give ⭐️ +We have included the awesome `symfony/thanks` composer package as a dev +dependency. Let your OS package maintainers know you appreciate them by starring +the packages you use. Simply run composer thanks after installing this package. +(And not to worry, since it's a dev-dependency it won't be installed in your +live environment.) From f1191e52f8696a4e61649cecab59400660eac5f9 Mon Sep 17 00:00:00 2001 From: Mike Bronner Date: Sun, 7 Jan 2018 09:23:42 -0800 Subject: [PATCH 18/18] Update travis config --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2ff3f83..8cf2700 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,18 +3,18 @@ language: php php: - 7.0 - 7.1 + - 7.2 before_script: - travis_retry composer self-update - travis_retry composer install --no-interaction --prefer-source --dev script: - - ./vendor/bin/phpunit --coverage-text --coverage-clover ./build/logs/clover.xml + - mkdir -p ./build/logs + - ./vendor/bin/phpunit --coverage-text --coverage-clover ./build/logs/clover.xml -after_script: - - php vendor/bin/coveralls - - wget https://scrutinizer-ci.com/ocular.phar - - php ocular.phar code-coverage:upload --format=php-clover ./build/logs/clover.xml +after_success: + - travis_retry php vendor/bin/php-coveralls -v notifications: webhooks: