From aab6acf0f017f7d25e5a077f72389456d23b9480 Mon Sep 17 00:00:00 2001 From: pbauer Date: Wed, 19 Sep 2018 13:30:21 +0200 Subject: [PATCH] [fc] Repository: plone.schemaeditor Branch: refs/heads/master Date: 2018-09-19T09:13:11+02:00 Author: Philip Bauer (pbauer) Commit: https://github.com/plone/plone.schemaeditor/commit/596b110e1863958f9d36a5581c0c30560e3dff91 fix init in py3 Files changed: M plone/schemaeditor/browser/schema/traversal.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2018-09-19T09:13:11+02:00 Author: Philip Bauer (pbauer) Commit: https://github.com/plone/plone.schemaeditor/commit/b1c3e6fdd0188bea4df85eb74da8a78767121c3a remove obsolete and broken object.__init__() Files changed: M plone/schemaeditor/browser/schema/traversal.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2018-09-19T09:13:11+02:00 Author: Philip Bauer (pbauer) Commit: https://github.com/plone/plone.schemaeditor/commit/28174f5153c842f747a17a8404e3f501bad7ad99 prevent dictionary changed size during iteration in py3 Files changed: M plone/schemaeditor/browser/schema/add_field.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2018-09-19T09:13:11+02:00 Author: Philip Bauer (pbauer) Commit: https://github.com/plone/plone.schemaeditor/commit/4e008cba10035c65f6c1207da0b27891033ee564 fix tests Files changed: M plone/schemaeditor/tests/choice.rst M plone/schemaeditor/tests/editing.rst M plone/schemaeditor/tests/extending.rst M plone/schemaeditor/tests/tests.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2018-09-19T09:13:11+02:00 Author: Philip Bauer (pbauer) Commit: https://github.com/plone/plone.schemaeditor/commit/88158945d1b16eb03e0562a509db531d7b23c672 fix Py23DocChecker Files changed: M plone/schemaeditor/tests/tests.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2018-09-19T09:15:45+02:00 Author: Philip Bauer (pbauer) Commit: https://github.com/plone/plone.schemaeditor/commit/9f03f1f88f04ff568aa276443c5b2c7b8361a0f2 add changenote and classifiers Files changed: M CHANGES.rst M setup.py Repository: plone.schemaeditor Branch: refs/heads/master Date: 2018-09-19T13:30:21+02:00 Author: Philip Bauer (pbauer) Commit: https://github.com/plone/plone.schemaeditor/commit/7100ceec28ecc512dc699739d3d30b0e699a44b4 Merge pull request #60 from plone/python3 Python3 Files changed: M CHANGES.rst M plone/schemaeditor/browser/schema/add_field.py M plone/schemaeditor/browser/schema/traversal.py M plone/schemaeditor/tests/choice.rst M plone/schemaeditor/tests/editing.rst M plone/schemaeditor/tests/extending.rst M plone/schemaeditor/tests/tests.py M setup.py --- last_commit.txt | 195 +++++++++++++++--------------------------------- 1 file changed, 60 insertions(+), 135 deletions(-) diff --git a/last_commit.txt b/last_commit.txt index 7bad3d1e09..1f26258738 100644 --- a/last_commit.txt +++ b/last_commit.txt @@ -1,193 +1,118 @@ -Repository: mockup +Repository: plone.schemaeditor Branch: refs/heads/master -Date: 2018-08-26T18:08:59+02:00 -Author: Johannes Raggam (thet) -Commit: https://github.com/plone/mockup/commit/99c584925ea0ea87a616484f1bf5af71c1f45f2a +Date: 2018-09-19T09:13:11+02:00 +Author: Philip Bauer (pbauer) +Commit: https://github.com/plone/plone.schemaeditor/commit/596b110e1863958f9d36a5581c0c30560e3dff91 -fix column count for datatable initialization +fix init in py3 Files changed: -M mockup/patterns/structure/js/views/table.js +M plone/schemaeditor/browser/schema/traversal.py -b'diff --git a/mockup/patterns/structure/js/views/table.js b/mockup/patterns/structure/js/views/table.js\nindex f7011674d..011b109a5 100644\n--- a/mockup/patterns/structure/js/views/table.js\n+++ b/mockup/patterns/structure/js/views/table.js\n@@ -71,12 +71,12 @@ define([\n var self = this;\n \n // By default do not start sorted by any column\n- // Ignore first column and the last one (activeColumns.length + 2)\n+ // Ignore first column and the last one (activeColumns.length + 1)\n // Do not show paginator, search or information, we only want column sorting\n var datatables_options = {\n "aaSorting": [],\n "aoColumnDefs": [\n- { "bSortable": false, "aTargets": [ 0, self.app.activeColumns.length + 2 ] }\n+ { "bSortable": false, "aTargets": [ 0, self.app.activeColumns.length + 1 ] }\n ],\n "paging": false,\n "searching": false,\n' +b"diff --git a/plone/schemaeditor/browser/schema/traversal.py b/plone/schemaeditor/browser/schema/traversal.py\nindex effefff..666fb78 100644\n--- a/plone/schemaeditor/browser/schema/traversal.py\n+++ b/plone/schemaeditor/browser/schema/traversal.py\n@@ -6,6 +6,8 @@\n from zope.publisher.interfaces.browser import IBrowserPublisher\n from ZPublisher.BaseRequest import DefaultPublishTraverse\n \n+import six\n+\n \n @implementer(ISchemaContext, IBrowserPublisher)\n class SchemaContext(SimpleItem):\n@@ -21,7 +23,10 @@ class SchemaContext(SimpleItem):\n enableFieldsets = True\n \n def __init__(self, context, request, name=u'schema', title=None):\n- super(SchemaContext, self).__init__(context, request)\n+ if six.PY2:\n+ super(SchemaContext, self).__init__(context, request)\n+ else:\n+ super().__init__()\n self.schema = context\n self.request = request\n \n" -Repository: mockup +Repository: plone.schemaeditor Branch: refs/heads/master -Date: 2018-08-26T18:25:17+02:00 -Author: Johannes Raggam (thet) -Commit: https://github.com/plone/mockup/commit/e5c67118820c30ba6231c707b96826fcd986f0d2 +Date: 2018-09-19T09:13:11+02:00 +Author: Philip Bauer (pbauer) +Commit: https://github.com/plone/plone.schemaeditor/commit/b1c3e6fdd0188bea4df85eb74da8a78767121c3a -move breadcrumbs out of folder contents table +remove obsolete and broken object.__init__() Files changed: -M CHANGES.rst -M mockup/patterns/structure/templates/table.xml - -b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex a9a824317..3437542c8 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -10,6 +10,12 @@ Breaking changes:\n \n New features:\n \n+- pat-structure: Use more tooltips in the actions menu.\n+ [thet]\n+\n+- pat-structure: Move breadcrumbs out of folder contents table.\n+ [thet]\n+\n - pat-structure: Use the datatables pattern for sorting columns \n [frapell]\n \ndiff --git a/mockup/patterns/structure/templates/table.xml b/mockup/patterns/structure/templates/table.xml\nindex 507f746c3..296b8d864 100644\n--- a/mockup/patterns/structure/templates/table.xml\n+++ b/mockup/patterns/structure/templates/table.xml\n@@ -3,24 +3,25 @@\n <%- status.text %> <% //   to get correct height for empty alerts %>\n \n \n+
\n+
\n+ \n+ /\n+ \n+ <% _.each(pathParts, function(part, idx, list){\n+ if(part){\n+ if(idx > 0){ %>\n+ /\n+ <% } %>\n+ <%- part %>\n+ <% }\n+ }); %>\n+
\n+
\n+\n \n \n- \n- \n- \n \n \n \n' - -Repository: mockup - - -Branch: refs/heads/master -Date: 2018-08-26T18:25:17+02:00 -Author: Johannes Raggam (thet) -Commit: https://github.com/plone/mockup/commit/0f7a2cd014ee8045a56dd21530863ff4f295926c - -IMO a little clearer status message about column sorting. - -Files changed: -M mockup/patterns/structure/js/views/table.js - -b'diff --git a/mockup/patterns/structure/js/views/table.js b/mockup/patterns/structure/js/views/table.js\nindex 011b109a5..2d570d9b2 100644\n--- a/mockup/patterns/structure/js/views/table.js\n+++ b/mockup/patterns/structure/js/views/table.js\n@@ -147,7 +147,7 @@ define([\n // Clear the status message\n self.app.setStatus();\n });\n- self.app.setStatus(_t(\'Cannot drag and drop items to reorder while manually sorting a column\'), \'warning\', btn = btn);\n+ self.app.setStatus(_t(\'Drag and drop not possible while non-permanent column sorting active.\'), \'warning\', btn = btn);\n $(".pat-datatables tbody").find(\'tr\').off("drag")\n self.$el.removeClass(\'order-support\');\n } );\n' - -Repository: mockup +M plone/schemaeditor/browser/schema/traversal.py +b"diff --git a/plone/schemaeditor/browser/schema/traversal.py b/plone/schemaeditor/browser/schema/traversal.py\nindex 666fb78..ebf87a5 100644\n--- a/plone/schemaeditor/browser/schema/traversal.py\n+++ b/plone/schemaeditor/browser/schema/traversal.py\n@@ -23,10 +23,6 @@ class SchemaContext(SimpleItem):\n enableFieldsets = True\n \n def __init__(self, context, request, name=u'schema', title=None):\n- if six.PY2:\n- super(SchemaContext, self).__init__(context, request)\n- else:\n- super().__init__()\n self.schema = context\n self.request = request\n \n" -Branch: refs/heads/master -Date: 2018-08-26T18:25:17+02:00 -Author: Johannes Raggam (thet) -Commit: https://github.com/plone/mockup/commit/725c8a2b9081ea69b91f5c3bf9716109a0710033 - -pat-structure: Use more tooltips in the actions menu. - -Files changed: -M mockup/patterns/structure/pattern.js -M mockup/patterns/tooltip/pattern.js - -b'diff --git a/mockup/patterns/structure/pattern.js b/mockup/patterns/structure/pattern.js\nindex 2f0d563f1..7587ca542 100644\n--- a/mockup/patterns/structure/pattern.js\n+++ b/mockup/patterns/structure/pattern.js\n@@ -42,8 +42,7 @@ define([\n contextInfoUrl: null, // for add new dropdown and other info\n setDefaultPageUrl: null,\n menuOptions: null, // default action menu options per item.\n- // default menu generator\n- menuGenerator: \'mockup-patterns-structure-url/js/actionmenu\',\n+ menuGenerator: \'mockup-patterns-structure-url/js/actionmenu\', // default menu generator\n backdropSelector: \'.plone-modal\', // Element upon which to apply backdrops used for popovers\n \n activeColumnsCookie: \'activeColumns\',\n@@ -135,30 +134,30 @@ define([\n \n buttons: null,\n _default_buttons: [{\n- title: \'Cut\',\n+ tooltip: \'Cut\',\n url: \'/cut\'\n },{\n- title: \'Copy\',\n+ tooltip: \'Copy\',\n url: \'/copy\'\n },{\n- title: \'Paste\',\n+ tooltip: \'Paste\',\n url: \'/paste\'\n },{\n- title: \'Delete\',\n+ tooltip: \'Delete\',\n url: \'/delete\',\n context: \'danger\',\n icon: \'trash\'\n },{\n- title: \'Workflow\',\n+ tooltip: \'Workflow\',\n url: \'/workflow\'\n },{\n- title: \'Tags\',\n+ tooltip: \'Tags\',\n url: \'/tags\'\n },{\n- title: \'Properties\',\n+ tooltip: \'Properties\',\n url: \'/properties\'\n },{\n- title: \'Rename\',\n+ tooltip: \'Rename\',\n url: \'/rename\'\n }],\n \ndiff --git a/mockup/patterns/tooltip/pattern.js b/mockup/patterns/tooltip/pattern.js\nindex acc8ffe6b..430f6eff8 100644\n--- a/mockup/patterns/tooltip/pattern.js\n+++ b/mockup/patterns/tooltip/pattern.js\n@@ -58,7 +58,7 @@ define([\n \n bootstrapTooltip.DEFAULTS = {\n animation: true,\n- placement: \'top\',\n+ placement: \'auto\',\n selector: false,\n template: \'\',\n trigger: \'hover focus\',\n' - -Repository: mockup +Repository: plone.schemaeditor Branch: refs/heads/master -Date: 2018-09-10T15:06:12+02:00 -Author: Johannes Raggam (thet) -Commit: https://github.com/plone/mockup/commit/5155a7d28b934c68977a97e118e457ef74b7d95c +Date: 2018-09-19T09:13:11+02:00 +Author: Philip Bauer (pbauer) +Commit: https://github.com/plone/plone.schemaeditor/commit/28174f5153c842f747a17a8404e3f501bad7ad99 -datatable css imports need to be with (inline) option, otherwise only a CSS import directive is included which leads to 404 errors. +prevent dictionary changed size during iteration in py3 Files changed: -M CHANGES.rst -M mockup/patterns/datatables/pattern.datatables.less +M plone/schemaeditor/browser/schema/add_field.py -b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex 3437542c8..20103b469 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -16,23 +16,22 @@ New features:\n - pat-structure: Move breadcrumbs out of folder contents table.\n [thet]\n \n-- pat-structure: Use the datatables pattern for sorting columns \n+- pat-structure: Use the datatables pattern for sorting columns.\n [frapell]\n \n-- pat-structure: Add a \'250\' option for the pagination\n+- pat-structure: Add a \'250\' option for the pagination.\n [frapell]\n \n-- Add a new pattern, to provide the DataTables functionality\n+- Add a new pattern, to provide the DataTables functionality.\n https://datatables.net/\n [frapell]\n-- *add item here*\n \n Bug fixes:\n \n - Get rid of obsolete ``X-UA-Compatible`` header.\n [hvelarde]\n \n-- fix small message typos\n+- Fix small message typos.\n [tkimnguyen]\n \n \ndiff --git a/mockup/patterns/datatables/pattern.datatables.less b/mockup/patterns/datatables/pattern.datatables.less\nindex 0f60c0777..a42563986 100644\n--- a/mockup/patterns/datatables/pattern.datatables.less\n+++ b/mockup/patterns/datatables/pattern.datatables.less\n@@ -1,7 +1,7 @@\n-@import (css) "@{bowerPath}/datatables.net-bs/css/dataTables.bootstrap.css";\n-@import (css) "@{bowerPath}/datatables.net-buttons-bs/css/buttons.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-colreorder-bs/css/colReorder.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-rowreorder-bs/css/rowReorder.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-select-bs/css/select.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-fixedheader-bs/css/fixedHeader.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-fixedcolumns-bs/css/fixedColumns.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-bs/css/dataTables.bootstrap.css";\n+@import (inline) "@{bowerPath}/datatables.net-buttons-bs/css/buttons.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-colreorder-bs/css/colReorder.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-rowreorder-bs/css/rowReorder.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-select-bs/css/select.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-fixedheader-bs/css/fixedHeader.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-fixedcolumns-bs/css/fixedColumns.bootstrap.min.css";\n' +b"diff --git a/plone/schemaeditor/browser/schema/add_field.py b/plone/schemaeditor/browser/schema/add_field.py\nindex bcaff20..679f2ea 100644\n--- a/plone/schemaeditor/browser/schema/add_field.py\n+++ b/plone/schemaeditor/browser/schema/add_field.py\n@@ -46,7 +46,7 @@ def create(self, data):\n factory = data.pop('factory')\n \n # split regular attributes and extra ones\n- for key in data.keys():\n+ for key in list(data.keys()):\n if key not in self._schema:\n extra[key] = data[key]\n data.pop(key)\n" -Repository: mockup +Repository: plone.schemaeditor Branch: refs/heads/master -Date: 2018-09-12T23:14:40+02:00 -Author: Sune Broendum Woeller (sunew) -Commit: https://github.com/plone/mockup/commit/709aa2a65bce6133562897e998e32a02424fef66 +Date: 2018-09-19T09:13:11+02:00 +Author: Philip Bauer (pbauer) +Commit: https://github.com/plone/plone.schemaeditor/commit/4e008cba10035c65f6c1207da0b27891033ee564 -Drag & Drop status message improvement +fix tests Files changed: -M mockup/patterns/structure/js/views/table.js +M plone/schemaeditor/tests/choice.rst +M plone/schemaeditor/tests/editing.rst +M plone/schemaeditor/tests/extending.rst +M plone/schemaeditor/tests/tests.py -b'diff --git a/mockup/patterns/structure/js/views/table.js b/mockup/patterns/structure/js/views/table.js\nindex 2d570d9b2..b1dd39ca3 100644\n--- a/mockup/patterns/structure/js/views/table.js\n+++ b/mockup/patterns/structure/js/views/table.js\n@@ -147,7 +147,7 @@ define([\n // Clear the status message\n self.app.setStatus();\n });\n- self.app.setStatus(_t(\'Drag and drop not possible while non-permanent column sorting active.\'), \'warning\', btn = btn);\n+ self.app.setStatus(_t(\'Notice: Drag and drop reordering is disabled when viewing the contents sorted by a column.\'), \'warning\', btn = btn);\n $(".pat-datatables tbody").find(\'tr\').off("drag")\n self.$el.removeClass(\'order-support\');\n } );\n' +b'diff --git a/plone/schemaeditor/tests/choice.rst b/plone/schemaeditor/tests/choice.rst\nindex d2d665e..d3c2a07 100644\n--- a/plone/schemaeditor/tests/choice.rst\n+++ b/plone/schemaeditor/tests/choice.rst\n@@ -58,7 +58,7 @@ If duplicate values are entered an error is raised.\n ... [\'Alaska\', \'Russia\', \'United States\', \'United States\',\n ... \'Other\'])\n >>> browser.getControl(\'Save\').click()\n- >>> print browser.contents\n+ >>> print(browser.contents)\n <...\n
The \'United States\' vocabulary value conflicts with \'United States\'.
\n ...\n@@ -118,7 +118,7 @@ We can\'t set a vocabulary name AND values.\n >>> browser.getLink(url=\'country\').click()\n >>> browser.getControl(\'values\').value = "oups"\n >>> browser.getControl(\'Save\').click()\n- >>> print browser.contents\n+ >>> print(browser.contents)\n <...\n
You can not set a vocabulary name AND vocabulary values....\n ...\n@@ -166,7 +166,7 @@ If duplicate values are entered an error is raised.\n >>> ctl.value = \'\\n\'.join(\n ... [\'Lisp\', \'Plone\', \'Python\', \'Lisp\'])\n >>> browser.getControl(\'Save\').click()\n- >>> print browser.contents\n+ >>> print(browser.contents)\n <...\n
The \'Lisp\' vocabulary value conflicts with \'Lisp\'.
\n ...\n@@ -210,7 +210,7 @@ Back to the edit form, vocabulary name is selected.\n \n >>> browser.open(portal_url + \'/@@schemaeditor\')\n >>> browser.getLink(url=\'categories\').click()\n- >>> print browser.contents\n+ >>> print(browser.contents)\n <...\n ... selected>plone.schemaeditor.test.Categories>> browser.open(portal_url + \'/@@schemaeditor\')\n Traceback (most recent call last):\n ...\n- Unauthorized: ...You are not authorized to access this resource...\n+ zExceptions.unauthorized.Unauthorized: ...You are not authorized to access this resource...\n \n We need to log in as a manager, because by default only managers get the \'Manage Schemata\' permission::\n \n@@ -62,11 +62,11 @@ normalized form of the title)::\n >>> isinstance(IDummySchema[\'favorite_color\'], TextLine)\n True\n >>> IDummySchema[\'favorite_color\'].title\n- u\'Favorite Color\'\n+ \'Favorite Color\'\n >>> IDummySchema[\'favorite_color\'].required\n True\n >>> IDummySchema[\'favorite_color\'].description\n- u\'Select your favorite color\'\n+ \'Select your favorite color\'\n \n \n Editing a schema field attribute\n@@ -98,7 +98,7 @@ of schema fields, which should reflect the change::\n Let\'s confirm that the new default value was correctly saved to the actual schema::\n \n >>> IDummySchema[\'favorite_color\'].description\n- u\'Enter your favorite color.\'\n+ \'Enter your favorite color.\'\n \n If the schema is edited to have internationalized attributes::\n \n@@ -130,11 +130,11 @@ value was set::\n >>> type(IDummySchema[\'favorite_color\'].description)\n <... \'zope.i18nmessageid.message.Message\'>\n >>> IDummySchema[\'favorite_color\'].description\n- u\'favorite_color\'\n+ \'favorite_color\'\n >>> IDummySchema[\'favorite_color\'].description.domain\n \'plone\'\n >>> IDummySchema[\'favorite_color\'].description.default\n- u\'Enter your favorite color.\'\n+ \'Enter your favorite color.\'\n \n Let\'s also check that the support for editing i18n Message values does not\n persist its marker interface::\n@@ -193,7 +193,7 @@ testbrowser doesn\'t support Javascript)::\n [event: ContainerModifiedEvent on InterfaceClass]\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> browser.contents\n- \'\'\n+ b\'\'\n \n Now the field should be the third field of the schema::\n \n@@ -220,7 +220,7 @@ They are moved to the end of the new fieldset::\n [event: ContainerModifiedEvent on InterfaceClass]\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> browser.contents\n- \'\'\n+ b\'\'\n \n Now the field should be the seventh field of the schema::\n \n@@ -236,7 +236,7 @@ They can be ordered into a fieldset::\n [event: ContainerModifiedEvent on InterfaceClass]\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> browser.contents\n- \'\'\n+ b\'\'\n >>> get_field_fieldset(IDummySchema, \'favorite_color\')\n
\n \n@@ -301,7 +301,7 @@ move it into an other fieldset and remove it::\n [event: ContainerModifiedEvent on InterfaceClass]\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> browser.contents\n- \'\'\n+ b\'\'\n >>> browser.open(\'http://nohost/@@schemaeditor\')\n >>> browser.getLink(url=\'other_set/@@delete\').click()\n [event: ObjectRemovedEvent on TextLine]\ndiff --git a/plone/schemaeditor/tests/extending.rst b/plone/schemaeditor/tests/extending.rst\nindex a9f1825..8685e92 100644\n--- a/plone/schemaeditor/tests/extending.rst\n+++ b/plone/schemaeditor/tests/extending.rst\n@@ -76,4 +76,4 @@ We can save a color and confirm that it ends up in the schema\'s tagged values::\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> from plone.schemaeditor.tests.fixtures import IDummySchema\n >>> IDummySchema.getTaggedValue(\'color\')\n- {\'field1\': u\'green\'}\n+ {\'field1\': \'green\'}\ndiff --git a/plone/schemaeditor/tests/tests.py b/plone/schemaeditor/tests/tests.py\nindex 3d4fc82..ba806a2 100644\n--- a/plone/schemaeditor/tests/tests.py\n+++ b/plone/schemaeditor/tests/tests.py\n@@ -11,6 +11,8 @@\n import doctest\n import os\n import plone.schemaeditor\n+import re\n+import six\n import unittest\n \n \n@@ -34,6 +36,15 @@ def tearDown(self):\n classImplements(implementedBy(BaseRequest) - ITestLayer)\n \n \n+class Py23DocChecker(doctest.OutputChecker):\n+ def check_output(self, want, got, optionflags):\n+ if six.PY2:\n+ got = re.sub(\'zExceptions.unauthorized.Unauthorized\', \'Unauthorized\', got)\n+ got = re.sub("u\'(.*?)\'", "\'\\\\1\'", want)\n+ want = re.sub("b\'(.*?)\'", "\'\\\\1\'", want)\n+ return doctest.OutputChecker.check_output(self, want, got, optionflags)\n+\n+\n def test_suite():\n return unittest.TestSuite([\n \n@@ -45,7 +56,8 @@ def test_suite():\n \'minmax.rst\',\n setUp=setUp,\n tearDown=tearDown,\n- optionflags=optionflags\n+ optionflags=optionflags,\n+ checker=Py23DocChecker(),\n ),\n \n ])\n' -Repository: mockup +Repository: plone.schemaeditor Branch: refs/heads/master -Date: 2018-09-12T23:15:26+02:00 -Author: Sune Broendum Woeller (sunew) -Commit: https://github.com/plone/mockup/commit/4299eaa03b7a9d12c7f37ff94e0b34615dbae8a7 +Date: 2018-09-19T09:13:11+02:00 +Author: Philip Bauer (pbauer) +Commit: https://github.com/plone/plone.schemaeditor/commit/88158945d1b16eb03e0562a509db531d7b23c672 -fix 3 out of 4 failing tests +fix Py23DocChecker Files changed: -M mockup/tests/pattern-structure-test.js - -b'diff --git a/mockup/tests/pattern-structure-test.js b/mockup/tests/pattern-structure-test.js\nindex 6e1a37532..8fb103f2c 100644\n--- a/mockup/tests/pattern-structure-test.js\n+++ b/mockup/tests/pattern-structure-test.js\n@@ -1155,7 +1155,7 @@ define([\n it(\'test select displayed columns\', function() {\n registry.scan(this.$el);\n this.clock.tick(500);\n- var $row = this.$el.find(\'table thead tr\').eq(1);\n+ var $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(6);\n expect($row.find(\'th\').eq(1).text().trim()).to.equal(\'Title\');\n expect($row.find(\'th\').eq(2).text().trim()).to.equal(\'Last modified\');\n@@ -1179,7 +1179,7 @@ define([\n $popover.find(\'button\').trigger(\'click\');\n this.clock.tick(500);\n \n- $row = this.$el.find(\'table thead tr\').eq(1);\n+ $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(7);\n expect($row.find(\'th\').eq(5).text().trim()).to.equal(\'Object Size\');\n expect($row.find(\'th\').eq(6).text().trim()).to.equal(\'Actions\');\n@@ -1191,7 +1191,7 @@ define([\n $popover.find(\'button\').trigger(\'click\');\n this.clock.tick(500);\n \n- $row = this.$el.find(\'table thead tr\').eq(1);\n+ $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(6);\n expect($.parseJSON($.cookie(\'_fc_activeColumns\')).value).to.eql(\n ["ModificationDate", "EffectiveDate", "review_state"]);\n@@ -1461,7 +1461,7 @@ define([\n \'{"value":["ModificationDate","EffectiveDate","review_state",\' +\n \'"getObjSize"]}\');\n this.clock.tick(500);\n- var $row = this.$el.find(\'table thead tr\').eq(1);\n+ var $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(6);\n expect($row.find(\'th\').eq(5).text().trim()).to.equal(\'Actions\');\n \n@@ -1481,7 +1481,7 @@ define([\n $popover.find(\'button\').trigger(\'click\');\n this.clock.tick(500);\n \n- $row = this.$el.find(\'table thead tr\').eq(1);\n+ $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(7);\n expect($row.find(\'th\').eq(5).text().trim()).to.equal(\'Type\');\n expect($row.find(\'th\').eq(6).text().trim()).to.equal(\'Actions\');\n@@ -1496,7 +1496,7 @@ define([\n $popover.find(\'button\').trigger(\'click\');\n this.clock.tick(500);\n \n- $row = this.$el.find(\'table thead tr\').eq(1);\n+ $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(6);\n expect($.parseJSON($.cookie(\'_fc_activeColumnsCustom\')).value).to.eql(\n ["ModificationDate", "EffectiveDate", "review_state"]);\n@@ -1597,7 +1597,7 @@ define([\n it(\'test select displayed columns\', function() {\n registry.scan(this.$el);\n this.clock.tick(500);\n- var $row = this.$el.find(\'table thead tr\').eq(1);\n+ var $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(4);\n expect($row.find(\'th\').eq(1).text().trim()).to.equal(\'Title\');\n expect($row.find(\'th\').eq(2).text().trim()).to.equal(\'Object Size\');\n' - -Repository: mockup - - -Branch: refs/heads/master -Date: 2018-09-13T00:06:06+02:00 -Author: Sune Broendum Woeller (sunew) -Commit: https://github.com/plone/mockup/commit/3bc80f53389d06f0fa695439eacf761e1a630ed8 - -revert bSortable aTargets back to 1 - -Files changed: -M mockup/patterns/structure/js/views/table.js - -b'diff --git a/mockup/patterns/structure/js/views/table.js b/mockup/patterns/structure/js/views/table.js\nindex b1dd39ca3..5907c7452 100644\n--- a/mockup/patterns/structure/js/views/table.js\n+++ b/mockup/patterns/structure/js/views/table.js\n@@ -76,7 +76,7 @@ define([\n var datatables_options = {\n "aaSorting": [],\n "aoColumnDefs": [\n- { "bSortable": false, "aTargets": [ 0, self.app.activeColumns.length + 1 ] }\n+ { "bSortable": false, "aTargets": [ 0, self.app.activeColumns.length + 2 ] }\n ],\n "paging": false,\n "searching": false,\n' - -Repository: mockup - - -Branch: refs/heads/master -Date: 2018-09-13T00:12:37+02:00 -Author: Sune Broendum Woeller (sunew) -Commit: https://github.com/plone/mockup/commit/d6a8f9ba01cc29e18830207d3c10ea11a5895a95 - -reintroduce the title and keep the tooltip (fixes the tests) - -Files changed: -M mockup/patterns/structure/pattern.js - -b"diff --git a/mockup/patterns/structure/pattern.js b/mockup/patterns/structure/pattern.js\nindex 7587ca542..b5b07c3cf 100644\n--- a/mockup/patterns/structure/pattern.js\n+++ b/mockup/patterns/structure/pattern.js\n@@ -135,29 +135,37 @@ define([\n buttons: null,\n _default_buttons: [{\n tooltip: 'Cut',\n+ title: 'Cut',\n url: '/cut'\n },{\n tooltip: 'Copy',\n+ title: 'Copy',\n url: '/copy'\n },{\n tooltip: 'Paste',\n+ title: 'Paste',\n url: '/paste'\n },{\n tooltip: 'Delete',\n+ title: 'Delete',\n url: '/delete',\n context: 'danger',\n icon: 'trash'\n },{\n tooltip: 'Workflow',\n+ title: 'Workflow',\n url: '/workflow'\n },{\n tooltip: 'Tags',\n+ title: 'Tags',\n url: '/tags'\n },{\n tooltip: 'Properties',\n+ title: 'Properties',\n url: '/properties'\n },{\n tooltip: 'Rename',\n+ title: 'Rename',\n url: '/rename'\n }],\n \n" - -Repository: mockup - - -Branch: refs/heads/master -Date: 2018-09-13T10:27:12-03:00 -Author: Franco Pellegrini (frapell) -Commit: https://github.com/plone/mockup/commit/31023084224424d2e17a06b2d3e74dad6c737cb4 - -Merge branch 'master' into thet-structure-datatablefixes - -Files changed: -A package-lock.json -M CHANGES.rst +M plone/schemaeditor/tests/tests.py -b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex 20103b469..3dc180750 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -26,6 +26,10 @@ New features:\n https://datatables.net/\n [frapell]\n \n+- Add package-lock.json to git. \n+ See https://github.com/npm/npm/blob/v5.0.0/doc/files/package-lock.json.md\n+ [sunew]\n+\n Bug fixes:\n \n - Get rid of obsolete ``X-UA-Compatible`` header.\ndiff --git a/package-lock.json b/package-lock.json\nnew file mode 100644\nindex 000000000..d2b67d4db\n--- /dev/null\n+++ b/package-lock.json\n@@ -0,0 +1,6176 @@\n+{\n+ "name": "mockup",\n+ "version": "2.7.5",\n+ "lockfileVersion": 1,\n+ "requires": true,\n+ "dependencies": {\n+ "abbrev": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",\n+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",\n+ "dev": true\n+ },\n+ "accepts": {\n+ "version": "1.3.3",\n+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",\n+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",\n+ "dev": true,\n+ "requires": {\n+ "mime-types": "~2.1.11",\n+ "negotiator": "0.6.1"\n+ }\n+ },\n+ "adm-zip": {\n+ "version": "0.4.11",\n+ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz",\n+ "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==",\n+ "dev": true\n+ },\n+ "after": {\n+ "version": "0.8.2",\n+ "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",\n+ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",\n+ "dev": true\n+ },\n+ "agent-base": {\n+ "version": "4.2.1",\n+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",\n+ "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",\n+ "dev": true,\n+ "requires": {\n+ "es6-promisify": "^5.0.0"\n+ }\n+ },\n+ "ajv": {\n+ "version": "5.5.2",\n+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",\n+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",\n+ "dev": true,\n+ "requires": {\n+ "co": "^4.6.0",\n+ "fast-deep-equal": "^1.0.0",\n+ "fast-json-stable-stringify": "^2.0.0",\n+ "json-schema-traverse": "^0.3.0"\n+ }\n+ },\n+ "align-text": {\n+ "version": "0.1.4",\n+ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",\n+ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",\n+ "dev": true,\n+ "requires": {\n+ "kind-of": "^3.0.2",\n+ "longest": "^1.0.1",\n+ "repeat-string": "^1.5.2"\n+ }\n+ },\n+ "amdefine": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",\n+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "ansi-regex": {\n+ "version": "2.1.1",\n+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",\n+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",\n+ "dev": true\n+ },\n+ "ansi-styles": {\n+ "version": "2.2.1",\n+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",\n+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",\n+ "dev": true\n+ },\n+ "anymatch": {\n+ "version": "1.3.2",\n+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",\n+ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",\n+ "dev": true,\n+ "requires": {\n+ "micromatch": "^2.1.5",\n+ "normalize-path": "^2.0.0"\n+ }\n+ },\n+ "archiver": {\n+ "version": "0.14.4",\n+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",\n+ "integrity": "sha1-W53bn17hzu8hy487Ag5iQOy0MVw=",\n+ "dev": true,\n+ "requires": {\n+ "async": "~0.9.0",\n+ "buffer-crc32": "~0.2.1",\n+ "glob": "~4.3.0",\n+ "lazystream": "~0.1.0",\n+ "lodash": "~3.2.0",\n+ "readable-stream": "~1.0.26",\n+ "tar-stream": "~1.1.0",\n+ "zip-stream": "~0.5.0"\n+ },\n+ "dependencies": {\n+ "async": {\n+ "version": "0.9.2",\n+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",\n+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",\n+ "dev": true\n+ },\n+ "glob": {\n+ "version": "4.3.5",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",\n+ "integrity": "sha1-gPuwjKVA8jiszl0R0em8QedRc9M=",\n+ "dev": true,\n+ "requires": {\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "^2.0.1",\n+ "once": "^1.3.0"\n+ }\n+ },\n+ "lodash": {\n+ "version": "3.2.0",\n+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",\n+ "integrity": "sha1-S/UKMkP5rrC6xBpV09WZBnWkYvs=",\n+ "dev": true\n+ },\n+ "minimatch": {\n+ "version": "2.0.10",\n+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",\n+ "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",\n+ "dev": true,\n+ "requires": {\n+ "brace-expansion": "^1.0.0"\n+ }\n+ },\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ }\n+ }\n+ },\n+ "argparse": {\n+ "version": "1.0.10",\n+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",\n+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",\n+ "dev": true,\n+ "requires": {\n+ "sprintf-js": "~1.0.2"\n+ }\n+ },\n+ "arr-diff": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",\n+ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",\n+ "dev": true,\n+ "requires": {\n+ "arr-flatten": "^1.0.1"\n+ }\n+ },\n+ "arr-flatten": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",\n+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",\n+ "dev": true\n+ },\n+ "array-find-index": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",\n+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",\n+ "dev": true\n+ },\n+ "array-slice": {\n+ "version": "0.2.3",\n+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",\n+ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",\n+ "dev": true\n+ },\n+ "array-unique": {\n+ "version": "0.2.1",\n+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",\n+ "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",\n+ "dev": true\n+ },\n+ "arraybuffer.slice": {\n+ "version": "0.0.6",\n+ "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",\n+ "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",\n+ "dev": true\n+ },\n+ "asap": {\n+ "version": "2.0.6",\n+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",\n+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "asn1": {\n+ "version": "0.2.4",\n+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",\n+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",\n+ "dev": true,\n+ "requires": {\n+ "safer-buffer": "~2.1.0"\n+ }\n+ },\n+ "assert-plus": {\n+ "version": "0.2.0",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",\n+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",\n+ "dev": true\n+ },\n+ "assertion-error": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",\n+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",\n+ "dev": true\n+ },\n+ "async": {\n+ "version": "1.5.2",\n+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",\n+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",\n+ "dev": true\n+ },\n+ "async-each": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",\n+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",\n+ "dev": true\n+ },\n+ "asynckit": {\n+ "version": "0.4.0",\n+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",\n+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",\n+ "dev": true\n+ },\n+ "aws-sign2": {\n+ "version": "0.6.0",\n+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",\n+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",\n+ "dev": true\n+ },\n+ "aws4": {\n+ "version": "1.8.0",\n+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",\n+ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",\n+ "dev": true\n+ },\n+ "backo2": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",\n+ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",\n+ "dev": true\n+ },\n+ "balanced-match": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",\n+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",\n+ "dev": true\n+ },\n+ "base64-arraybuffer": {\n+ "version": "0.1.5",\n+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",\n+ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",\n+ "dev": true\n+ },\n+ "base64id": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",\n+ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",\n+ "dev": true\n+ },\n+ "batch": {\n+ "version": "0.5.3",\n+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz",\n+ "integrity": "sha1-PzQU84AyF0O/wQQvmoP/HVgk1GQ=",\n+ "dev": true\n+ },\n+ "bcrypt-pbkdf": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",\n+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "tweetnacl": "^0.14.3"\n+ }\n+ },\n+ "better-assert": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",\n+ "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",\n+ "dev": true,\n+ "requires": {\n+ "callsite": "1.0.0"\n+ }\n+ },\n+ "binary-extensions": {\n+ "version": "1.11.0",\n+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",\n+ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=",\n+ "dev": true\n+ },\n+ "bl": {\n+ "version": "0.9.5",\n+ "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",\n+ "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",\n+ "dev": true,\n+ "requires": {\n+ "readable-stream": "~1.0.26"\n+ },\n+ "dependencies": {\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ }\n+ }\n+ },\n+ "blob": {\n+ "version": "0.0.4",\n+ "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",\n+ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",\n+ "dev": true\n+ },\n+ "bluebird": {\n+ "version": "2.11.0",\n+ "resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",\n+ "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=",\n+ "dev": true\n+ },\n+ "body-parser": {\n+ "version": "1.14.2",\n+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",\n+ "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=",\n+ "dev": true,\n+ "requires": {\n+ "bytes": "2.2.0",\n+ "content-type": "~1.0.1",\n+ "debug": "~2.2.0",\n+ "depd": "~1.1.0",\n+ "http-errors": "~1.3.1",\n+ "iconv-lite": "0.4.13",\n+ "on-finished": "~2.3.0",\n+ "qs": "5.2.0",\n+ "raw-body": "~2.1.5",\n+ "type-is": "~1.6.10"\n+ },\n+ "dependencies": {\n+ "debug": {\n+ "version": "2.2.0",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",\n+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.1"\n+ }\n+ },\n+ "iconv-lite": {\n+ "version": "0.4.13",\n+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",\n+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",\n+ "dev": true\n+ },\n+ "ms": {\n+ "version": "0.7.1",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",\n+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",\n+ "dev": true\n+ },\n+ "qs": {\n+ "version": "5.2.0",\n+ "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",\n+ "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "boom": {\n+ "version": "2.10.1",\n+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",\n+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",\n+ "dev": true,\n+ "requires": {\n+ "hoek": "2.x.x"\n+ }\n+ },\n+ "bower": {\n+ "version": "1.8.4",\n+ "resolved": "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz",\n+ "integrity": "sha1-54dqB23rgTf30GUl3F6MZtuC8oo=",\n+ "dev": true\n+ },\n+ "brace-expansion": {\n+ "version": "1.1.11",\n+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",\n+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",\n+ "dev": true,\n+ "requires": {\n+ "balanced-match": "^1.0.0",\n+ "concat-map": "0.0.1"\n+ }\n+ },\n+ "braces": {\n+ "version": "1.8.5",\n+ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",\n+ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",\n+ "dev": true,\n+ "requires": {\n+ "expand-range": "^1.8.1",\n+ "preserve": "^0.2.0",\n+ "repeat-element": "^1.1.2"\n+ }\n+ },\n+ "browserify-zlib": {\n+ "version": "0.1.4",\n+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",\n+ "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",\n+ "dev": true,\n+ "requires": {\n+ "pako": "~0.2.0"\n+ }\n+ },\n+ "buffer-alloc": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",\n+ "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",\n+ "dev": true,\n+ "requires": {\n+ "buffer-alloc-unsafe": "^1.1.0",\n+ "buffer-fill": "^1.0.0"\n+ }\n+ },\n+ "buffer-alloc-unsafe": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",\n+ "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",\n+ "dev": true\n+ },\n+ "buffer-crc32": {\n+ "version": "0.2.13",\n+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",\n+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",\n+ "dev": true\n+ },\n+ "buffer-fill": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",\n+ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",\n+ "dev": true\n+ },\n+ "buffer-from": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",\n+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",\n+ "dev": true\n+ },\n+ "builtin-modules": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",\n+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",\n+ "dev": true\n+ },\n+ "bytes": {\n+ "version": "2.2.0",\n+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",\n+ "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=",\n+ "dev": true\n+ },\n+ "callsite": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",\n+ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",\n+ "dev": true\n+ },\n+ "camelcase": {\n+ "version": "2.1.1",\n+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",\n+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",\n+ "dev": true\n+ },\n+ "camelcase-keys": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",\n+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",\n+ "dev": true,\n+ "requires": {\n+ "camelcase": "^2.0.0",\n+ "map-obj": "^1.0.0"\n+ }\n+ },\n+ "caseless": {\n+ "version": "0.11.0",\n+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",\n+ "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",\n+ "dev": true\n+ },\n+ "center-align": {\n+ "version": "0.1.3",\n+ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",\n+ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",\n+ "dev": true,\n+ "requires": {\n+ "align-text": "^0.1.3",\n+ "lazy-cache": "^1.0.3"\n+ }\n+ },\n+ "chai": {\n+ "version": "3.5.0",\n+ "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",\n+ "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",\n+ "dev": true,\n+ "requires": {\n+ "assertion-error": "^1.0.1",\n+ "deep-eql": "^0.1.3",\n+ "type-detect": "^1.0.0"\n+ }\n+ },\n+ "chalk": {\n+ "version": "1.1.3",\n+ "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",\n+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",\n+ "dev": true,\n+ "requires": {\n+ "ansi-styles": "^2.2.1",\n+ "escape-string-regexp": "^1.0.2",\n+ "has-ansi": "^2.0.0",\n+ "strip-ansi": "^3.0.0",\n+ "supports-color": "^2.0.0"\n+ }\n+ },\n+ "chokidar": {\n+ "version": "1.7.0",\n+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",\n+ "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",\n+ "dev": true,\n+ "requires": {\n+ "anymatch": "^1.3.0",\n+ "async-each": "^1.0.0",\n+ "fsevents": "^1.0.0",\n+ "glob-parent": "^2.0.0",\n+ "inherits": "^2.0.1",\n+ "is-binary-path": "^1.0.0",\n+ "is-glob": "^2.0.0",\n+ "path-is-absolute": "^1.0.0",\n+ "readdirp": "^2.0.0"\n+ }\n+ },\n+ "clean-css": {\n+ "version": "2.2.23",\n+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.2.23.tgz",\n+ "integrity": "sha1-BZC1R4tRbEkD7cLYm9P9vdKGMow=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "commander": "2.2.x"\n+ },\n+ "dependencies": {\n+ "commander": {\n+ "version": "2.2.0",\n+ "resolved": "http://registry.npmjs.org/commander/-/commander-2.2.0.tgz",\n+ "integrity": "sha1-F1rUuTF/P/YV8gHB5XIk9Vo+kd8=",\n+ "dev": true,\n+ "optional": true\n+ }\n+ }\n+ },\n+ "cli": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",\n+ "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",\n+ "dev": true,\n+ "requires": {\n+ "exit": "0.1.2",\n+ "glob": "^7.1.1"\n+ },\n+ "dependencies": {\n+ "glob": {\n+ "version": "7.1.3",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",\n+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",\n+ "dev": true,\n+ "requires": {\n+ "fs.realpath": "^1.0.0",\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "^3.0.4",\n+ "once": "^1.3.0",\n+ "path-is-absolute": "^1.0.0"\n+ }\n+ }\n+ }\n+ },\n+ "cliui": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",\n+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",\n+ "dev": true,\n+ "requires": {\n+ "center-align": "^0.1.1",\n+ "right-align": "^0.1.1",\n+ "wordwrap": "0.0.2"\n+ }\n+ },\n+ "clone": {\n+ "version": "1.0.4",\n+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",\n+ "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",\n+ "dev": true\n+ },\n+ "clone-stats": {\n+ "version": "0.0.1",\n+ "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",\n+ "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",\n+ "dev": true\n+ },\n+ "co": {\n+ "version": "4.6.0",\n+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",\n+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",\n+ "dev": true\n+ },\n+ "coffeescript": {\n+ "version": "1.10.0",\n+ "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",\n+ "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=",\n+ "dev": true\n+ },\n+ "color-convert": {\n+ "version": "1.9.3",\n+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",\n+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",\n+ "dev": true,\n+ "requires": {\n+ "color-name": "1.1.3"\n+ }\n+ },\n+ "color-name": {\n+ "version": "1.1.3",\n+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",\n+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",\n+ "dev": true\n+ },\n+ "colors": {\n+ "version": "1.1.2",\n+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",\n+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",\n+ "dev": true\n+ },\n+ "combined-stream": {\n+ "version": "1.0.6",\n+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",\n+ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",\n+ "dev": true,\n+ "requires": {\n+ "delayed-stream": "~1.0.0"\n+ }\n+ },\n+ "commander": {\n+ "version": "2.18.0",\n+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.18.0.tgz",\n+ "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==",\n+ "dev": true\n+ },\n+ "component-bind": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",\n+ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",\n+ "dev": true\n+ },\n+ "component-emitter": {\n+ "version": "1.1.2",\n+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",\n+ "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",\n+ "dev": true\n+ },\n+ "component-inherit": {\n+ "version": "0.0.3",\n+ "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",\n+ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",\n+ "dev": true\n+ },\n+ "compress-commons": {\n+ "version": "0.2.9",\n+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz",\n+ "integrity": "sha1-Qi2SdDDAGr0GzUVbbfwEy0z4ADw=",\n+ "dev": true,\n+ "requires": {\n+ "buffer-crc32": "~0.2.1",\n+ "crc32-stream": "~0.3.1",\n+ "node-int64": "~0.3.0",\n+ "readable-stream": "~1.0.26"\n+ },\n+ "dependencies": {\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ }\n+ }\n+ },\n+ "concat-map": {\n+ "version": "0.0.1",\n+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",\n+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",\n+ "dev": true\n+ },\n+ "concat-stream": {\n+ "version": "1.6.2",\n+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",\n+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",\n+ "dev": true,\n+ "requires": {\n+ "buffer-from": "^1.0.0",\n+ "inherits": "^2.0.3",\n+ "readable-stream": "^2.2.2",\n+ "typedarray": "^0.0.6"\n+ },\n+ "dependencies": {\n+ "isarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",\n+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",\n+ "dev": true\n+ },\n+ "readable-stream": {\n+ "version": "2.3.6",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",\n+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.3",\n+ "isarray": "~1.0.0",\n+ "process-nextick-args": "~2.0.0",\n+ "safe-buffer": "~5.1.1",\n+ "string_decoder": "~1.1.1",\n+ "util-deprecate": "~1.0.1"\n+ }\n+ },\n+ "string_decoder": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",\n+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.0"\n+ }\n+ }\n+ }\n+ },\n+ "connect": {\n+ "version": "3.6.6",\n+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",\n+ "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",\n+ "dev": true,\n+ "requires": {\n+ "debug": "2.6.9",\n+ "finalhandler": "1.1.0",\n+ "parseurl": "~1.3.2",\n+ "utils-merge": "1.0.1"\n+ }\n+ },\n+ "console-browserify": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",\n+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",\n+ "dev": true,\n+ "requires": {\n+ "date-now": "^0.1.4"\n+ }\n+ },\n+ "content-type": {\n+ "version": "1.0.4",\n+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",\n+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",\n+ "dev": true\n+ },\n+ "convert-source-map": {\n+ "version": "1.6.0",\n+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",\n+ "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.1"\n+ }\n+ },\n+ "cookie": {\n+ "version": "0.3.1",\n+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",\n+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",\n+ "dev": true\n+ },\n+ "core-js": {\n+ "version": "2.5.7",\n+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",\n+ "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==",\n+ "dev": true\n+ },\n+ "core-util-is": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",\n+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",\n+ "dev": true\n+ },\n+ "coveralls": {\n+ "version": "2.11.16",\n+ "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.11.16.tgz",\n+ "integrity": "sha1-2pBhJlFC3e6VT2g3kSK+l76KtLE=",\n+ "dev": true,\n+ "requires": {\n+ "js-yaml": "3.6.1",\n+ "lcov-parse": "0.0.10",\n+ "log-driver": "1.2.5",\n+ "minimist": "1.2.0",\n+ "request": "2.79.0"\n+ }\n+ },\n+ "crc32-stream": {\n+ "version": "0.3.4",\n+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz",\n+ "integrity": "sha1-c7wltF+sHbZjIjGnv86JJ+nwZVI=",\n+ "dev": true,\n+ "requires": {\n+ "buffer-crc32": "~0.2.1",\n+ "readable-stream": "~1.0.24"\n+ },\n+ "dependencies": {\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ }\n+ }\n+ },\n+ "cryptiles": {\n+ "version": "2.0.5",\n+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",\n+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",\n+ "dev": true,\n+ "requires": {\n+ "boom": "2.x.x"\n+ }\n+ },\n+ "ctype": {\n+ "version": "0.5.3",\n+ "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",\n+ "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=",\n+ "dev": true\n+ },\n+ "currently-unhandled": {\n+ "version": "0.4.1",\n+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",\n+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",\n+ "dev": true,\n+ "requires": {\n+ "array-find-index": "^1.0.1"\n+ }\n+ },\n+ "custom-event": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",\n+ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",\n+ "dev": true\n+ },\n+ "cycle": {\n+ "version": "1.0.3",\n+ "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",\n+ "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "dashdash": {\n+ "version": "1.14.1",\n+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",\n+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",\n+ "dev": true,\n+ "requires": {\n+ "assert-plus": "^1.0.0"\n+ },\n+ "dependencies": {\n+ "assert-plus": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",\n+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "date-now": {\n+ "version": "0.1.4",\n+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",\n+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",\n+ "dev": true\n+ },\n+ "dateformat": {\n+ "version": "1.0.12",\n+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",\n+ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",\n+ "dev": true,\n+ "requires": {\n+ "get-stdin": "^4.0.1",\n+ "meow": "^3.3.0"\n+ }\n+ },\n+ "debug": {\n+ "version": "2.6.9",\n+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",\n+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",\n+ "dev": true,\n+ "requires": {\n+ "ms": "2.0.0"\n+ }\n+ },\n+ "decamelize": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",\n+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",\n+ "dev": true\n+ },\n+ "deep-eql": {\n+ "version": "0.1.3",\n+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",\n+ "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",\n+ "dev": true,\n+ "requires": {\n+ "type-detect": "0.1.1"\n+ },\n+ "dependencies": {\n+ "type-detect": {\n+ "version": "0.1.1",\n+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",\n+ "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "deep-is": {\n+ "version": "0.1.3",\n+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",\n+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",\n+ "dev": true\n+ },\n+ "delayed-stream": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",\n+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",\n+ "dev": true\n+ },\n+ "depd": {\n+ "version": "1.1.2",\n+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",\n+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",\n+ "dev": true\n+ },\n+ "di": {\n+ "version": "0.0.1",\n+ "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",\n+ "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",\n+ "dev": true\n+ },\n+ "diff": {\n+ "version": "1.4.0",\n+ "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",\n+ "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",\n+ "dev": true\n+ },\n+ "dom-serialize": {\n+ "version": "2.2.1",\n+ "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",\n+ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",\n+ "dev": true,\n+ "requires": {\n+ "custom-event": "~1.0.0",\n+ "ent": "~2.2.0",\n+ "extend": "^3.0.0",\n+ "void-elements": "^2.0.0"\n+ }\n+ },\n+ "dom-serializer": {\n+ "version": "0.1.0",\n+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",\n+ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",\n+ "dev": true,\n+ "requires": {\n+ "domelementtype": "~1.1.1",\n+ "entities": "~1.1.1"\n+ },\n+ "dependencies": {\n+ "domelementtype": {\n+ "version": "1.1.3",\n+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",\n+ "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",\n+ "dev": true\n+ },\n+ "entities": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",\n+ "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "domelementtype": {\n+ "version": "1.3.0",\n+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",\n+ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",\n+ "dev": true\n+ },\n+ "domhandler": {\n+ "version": "2.3.0",\n+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",\n+ "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",\n+ "dev": true,\n+ "requires": {\n+ "domelementtype": "1"\n+ }\n+ },\n+ "domutils": {\n+ "version": "1.5.1",\n+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",\n+ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",\n+ "dev": true,\n+ "requires": {\n+ "dom-serializer": "0",\n+ "domelementtype": "1"\n+ }\n+ },\n+ "duplexify": {\n+ "version": "3.6.0",\n+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",\n+ "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",\n+ "dev": true,\n+ "requires": {\n+ "end-of-stream": "^1.0.0",\n+ "inherits": "^2.0.1",\n+ "readable-stream": "^2.0.0",\n+ "stream-shift": "^1.0.0"\n+ },\n+ "dependencies": {\n+ "isarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",\n+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",\n+ "dev": true\n+ },\n+ "readable-stream": {\n+ "version": "2.3.6",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",\n+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.3",\n+ "isarray": "~1.0.0",\n+ "process-nextick-args": "~2.0.0",\n+ "safe-buffer": "~5.1.1",\n+ "string_decoder": "~1.1.1",\n+ "util-deprecate": "~1.0.1"\n+ }\n+ },\n+ "string_decoder": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",\n+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.0"\n+ }\n+ }\n+ }\n+ },\n+ "ecc-jsbn": {\n+ "version": "0.1.2",\n+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",\n+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "jsbn": "~0.1.0",\n+ "safer-buffer": "^2.1.0"\n+ }\n+ },\n+ "ee-first": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",\n+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",\n+ "dev": true\n+ },\n+ "encodeurl": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",\n+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",\n+ "dev": true\n+ },\n+ "end-of-stream": {\n+ "version": "1.4.1",\n+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",\n+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",\n+ "dev": true,\n+ "requires": {\n+ "once": "^1.4.0"\n+ }\n+ },\n+ "engine.io": {\n+ "version": "1.8.5",\n+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.5.tgz",\n+ "integrity": "sha512-j1DWIcktw4hRwrv6nWx++5nFH2X64x16MAG2P0Lmi5Dvdfi3I+Jhc7JKJIdAmDJa+5aZ/imHV7dWRPy2Cqjh3A==",\n+ "dev": true,\n+ "requires": {\n+ "accepts": "1.3.3",\n+ "base64id": "1.0.0",\n+ "cookie": "0.3.1",\n+ "debug": "2.3.3",\n+ "engine.io-parser": "1.3.2",\n+ "ws": "~1.1.5"\n+ },\n+ "dependencies": {\n+ "debug": {\n+ "version": "2.3.3",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz",\n+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.2"\n+ }\n+ },\n+ "ms": {\n+ "version": "0.7.2",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",\n+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "engine.io-client": {\n+ "version": "1.8.5",\n+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.5.tgz",\n+ "integrity": "sha512-AYTgHyeVUPitsseqjoedjhYJapNVoSPShbZ+tEUX9/73jgZ/Z3sUlJf9oYgdEBBdVhupUpUqSxH0kBCXlQnmZg==",\n+ "dev": true,\n+ "requires": {\n+ "component-emitter": "1.2.1",\n+ "component-inherit": "0.0.3",\n+ "debug": "2.3.3",\n+ "engine.io-parser": "1.3.2",\n+ "has-cors": "1.1.0",\n+ "indexof": "0.0.1",\n+ "parsejson": "0.0.3",\n+ "parseqs": "0.0.5",\n+ "parseuri": "0.0.5",\n+ "ws": "~1.1.5",\n+ "xmlhttprequest-ssl": "1.5.3",\n+ "yeast": "0.1.2"\n+ },\n+ "dependencies": {\n+ "component-emitter": {\n+ "version": "1.2.1",\n+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",\n+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",\n+ "dev": true\n+ },\n+ "debug": {\n+ "version": "2.3.3",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz",\n+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.2"\n+ }\n+ },\n+ "ms": {\n+ "version": "0.7.2",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",\n+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "engine.io-parser": {\n+ "version": "1.3.2",\n+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",\n+ "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",\n+ "dev": true,\n+ "requires": {\n+ "after": "0.8.2",\n+ "arraybuffer.slice": "0.0.6",\n+ "base64-arraybuffer": "0.1.5",\n+ "blob": "0.0.4",\n+ "has-binary": "0.1.7",\n+ "wtf-8": "1.0.0"\n+ }\n+ },\n+ "ent": {\n+ "version": "2.2.0",\n+ "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",\n+ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",\n+ "dev": true\n+ },\n+ "entities": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",\n+ "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",\n+ "dev": true\n+ },\n+ "errno": {\n+ "version": "0.1.7",\n+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",\n+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "prr": "~1.0.1"\n+ }\n+ },\n+ "error-ex": {\n+ "version": "1.3.2",\n+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",\n+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",\n+ "dev": true,\n+ "requires": {\n+ "is-arrayish": "^0.2.1"\n+ }\n+ },\n+ "es6-promise": {\n+ "version": "4.2.5",\n+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",\n+ "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",\n+ "dev": true\n+ },\n+ "es6-promisify": {\n+ "version": "5.0.0",\n+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",\n+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",\n+ "dev": true,\n+ "requires": {\n+ "es6-promise": "^4.0.3"\n+ }\n+ },\n+ "escape-html": {\n+ "version": "1.0.3",\n+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",\n+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",\n+ "dev": true\n+ },\n+ "escape-string-regexp": {\n+ "version": "1.0.5",\n+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",\n+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",\n+ "dev": true\n+ },\n+ "escodegen": {\n+ "version": "1.8.1",\n+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",\n+ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",\n+ "dev": true,\n+ "requires": {\n+ "esprima": "^2.7.1",\n+ "estraverse": "^1.9.1",\n+ "esutils": "^2.0.2",\n+ "optionator": "^0.8.1",\n+ "source-map": "~0.2.0"\n+ },\n+ "dependencies": {\n+ "source-map": {\n+ "version": "0.2.0",\n+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",\n+ "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "amdefine": ">=0.0.4"\n+ }\n+ }\n+ }\n+ },\n+ "esprima": {\n+ "version": "2.7.3",\n+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",\n+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",\n+ "dev": true\n+ },\n+ "estraverse": {\n+ "version": "1.9.3",\n+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",\n+ "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",\n+ "dev": true\n+ },\n+ "esutils": {\n+ "version": "2.0.2",\n+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",\n+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",\n+ "dev": true\n+ },\n+ "eventemitter2": {\n+ "version": "0.4.14",\n+ "resolved": "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",\n+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",\n+ "dev": true\n+ },\n+ "eventemitter3": {\n+ "version": "3.1.0",\n+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",\n+ "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",\n+ "dev": true\n+ },\n+ "exit": {\n+ "version": "0.1.2",\n+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",\n+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",\n+ "dev": true\n+ },\n+ "expand-braces": {\n+ "version": "0.1.2",\n+ "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",\n+ "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",\n+ "dev": true,\n+ "requires": {\n+ "array-slice": "^0.2.3",\n+ "array-unique": "^0.2.1",\n+ "braces": "^0.1.2"\n+ },\n+ "dependencies": {\n+ "braces": {\n+ "version": "0.1.5",\n+ "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",\n+ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",\n+ "dev": true,\n+ "requires": {\n+ "expand-range": "^0.1.0"\n+ }\n+ },\n+ "expand-range": {\n+ "version": "0.1.1",\n+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",\n+ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",\n+ "dev": true,\n+ "requires": {\n+ "is-number": "^0.1.1",\n+ "repeat-string": "^0.2.2"\n+ }\n+ },\n+ "is-number": {\n+ "version": "0.1.1",\n+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",\n+ "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",\n+ "dev": true\n+ },\n+ "repeat-string": {\n+ "version": "0.2.2",\n+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",\n+ "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "expand-brackets": {\n+ "version": "0.1.5",\n+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",\n+ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",\n+ "dev": true,\n+ "requires": {\n+ "is-posix-bracket": "^0.1.0"\n+ }\n+ },\n+ "expand-range": {\n+ "version": "1.8.2",\n+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",\n+ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",\n+ "dev": true,\n+ "requires": {\n+ "fill-range": "^2.1.0"\n+ }\n+ },\n+ "extend": {\n+ "version": "3.0.2",\n+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",\n+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",\n+ "dev": true\n+ },\n+ "extend-shallow": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",\n+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",\n+ "dev": true,\n+ "requires": {\n+ "is-extendable": "^0.1.0"\n+ }\n+ },\n+ "extglob": {\n+ "version": "0.3.2",\n+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",\n+ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",\n+ "dev": true,\n+ "requires": {\n+ "is-extglob": "^1.0.0"\n+ }\n+ },\n+ "extract-zip": {\n+ "version": "1.6.7",\n+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",\n+ "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",\n+ "dev": true,\n+ "requires": {\n+ "concat-stream": "1.6.2",\n+ "debug": "2.6.9",\n+ "mkdirp": "0.5.1",\n+ "yauzl": "2.4.1"\n+ }\n+ },\n+ "extsprintf": {\n+ "version": "1.3.0",\n+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",\n+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",\n+ "dev": true\n+ },\n+ "eyes": {\n+ "version": "0.1.8",\n+ "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",\n+ "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "fast-deep-equal": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",\n+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",\n+ "dev": true\n+ },\n+ "fast-json-stable-stringify": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",\n+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",\n+ "dev": true\n+ },\n+ "fast-levenshtein": {\n+ "version": "2.0.6",\n+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",\n+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",\n+ "dev": true\n+ },\n+ "faye-websocket": {\n+ "version": "0.10.0",\n+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",\n+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",\n+ "dev": true,\n+ "requires": {\n+ "websocket-driver": ">=0.5.1"\n+ }\n+ },\n+ "fd-slicer": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",\n+ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",\n+ "dev": true,\n+ "requires": {\n+ "pend": "~1.2.0"\n+ }\n+ },\n+ "figures": {\n+ "version": "1.7.0",\n+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",\n+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",\n+ "dev": true,\n+ "requires": {\n+ "escape-string-regexp": "^1.0.5",\n+ "object-assign": "^4.1.0"\n+ }\n+ },\n+ "file-sync-cmp": {\n+ "version": "0.1.1",\n+ "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz",\n+ "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=",\n+ "dev": true\n+ },\n+ "filename-regex": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",\n+ "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",\n+ "dev": true\n+ },\n+ "fill-range": {\n+ "version": "2.2.4",\n+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",\n+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",\n+ "dev": true,\n+ "requires": {\n+ "is-number": "^2.1.0",\n+ "isobject": "^2.0.0",\n+ "randomatic": "^3.0.0",\n+ "repeat-element": "^1.1.2",\n+ "repeat-string": "^1.5.2"\n+ }\n+ },\n+ "finalhandler": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",\n+ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",\n+ "dev": true,\n+ "requires": {\n+ "debug": "2.6.9",\n+ "encodeurl": "~1.0.1",\n+ "escape-html": "~1.0.3",\n+ "on-finished": "~2.3.0",\n+ "parseurl": "~1.3.2",\n+ "statuses": "~1.3.1",\n+ "unpipe": "~1.0.0"\n+ },\n+ "dependencies": {\n+ "statuses": {\n+ "version": "1.3.1",\n+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",\n+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "find-up": {\n+ "version": "1.1.2",\n+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",\n+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",\n+ "dev": true,\n+ "requires": {\n+ "path-exists": "^2.0.0",\n+ "pinkie-promise": "^2.0.0"\n+ }\n+ },\n+ "findup-sync": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",\n+ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",\n+ "dev": true,\n+ "requires": {\n+ "glob": "~5.0.0"\n+ },\n+ "dependencies": {\n+ "glob": {\n+ "version": "5.0.15",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",\n+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",\n+ "dev": true,\n+ "requires": {\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "2 || 3",\n+ "once": "^1.3.0",\n+ "path-is-absolute": "^1.0.0"\n+ }\n+ }\n+ }\n+ },\n+ "first-chunk-stream": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",\n+ "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",\n+ "dev": true\n+ },\n+ "follow-redirects": {\n+ "version": "1.5.8",\n+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.8.tgz",\n+ "integrity": "sha512-sy1mXPmv7kLAMKW/8XofG7o9T+6gAjzdZK4AJF6ryqQYUa/hnzgiypoeUecZ53x7XiqKNEpNqLtS97MshW2nxg==",\n+ "dev": true,\n+ "requires": {\n+ "debug": "=3.1.0"\n+ },\n+ "dependencies": {\n+ "debug": {\n+ "version": "3.1.0",\n+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",\n+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",\n+ "dev": true,\n+ "requires": {\n+ "ms": "2.0.0"\n+ }\n+ }\n+ }\n+ },\n+ "for-in": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",\n+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",\n+ "dev": true\n+ },\n+ "for-own": {\n+ "version": "0.1.5",\n+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",\n+ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",\n+ "dev": true,\n+ "requires": {\n+ "for-in": "^1.0.1"\n+ }\n+ },\n+ "forever-agent": {\n+ "version": "0.6.1",\n+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",\n+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",\n+ "dev": true\n+ },\n+ "form-data": {\n+ "version": "2.1.4",\n+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",\n+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",\n+ "dev": true,\n+ "requires": {\n+ "asynckit": "^0.4.0",\n+ "combined-stream": "^1.0.5",\n+ "mime-types": "^2.1.12"\n+ }\n+ },\n+ "fs-access": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",\n+ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",\n+ "dev": true,\n+ "requires": {\n+ "null-check": "^1.0.0"\n+ }\n+ },\n+ "fs-extra": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",\n+ "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",\n+ "dev": true,\n+ "requires": {\n+ "graceful-fs": "^4.1.2",\n+ "jsonfile": "^2.1.0",\n+ "klaw": "^1.0.0"\n+ }\n+ },\n+ "fs.realpath": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",\n+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",\n+ "dev": true\n+ },\n+ "fsevents": {\n+ "version": "1.2.4",\n+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",\n+ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "nan": "^2.9.2",\n+ "node-pre-gyp": "^0.10.0"\n+ },\n+ "dependencies": {\n+ "abbrev": {\n+ "version": "1.1.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "ansi-regex": {\n+ "version": "2.1.1",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "aproba": {\n+ "version": "1.2.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "are-we-there-yet": {\n+ "version": "1.1.4",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "delegates": "^1.0.0",\n+ "readable-stream": "^2.0.6"\n+ }\n+ },\n+ "balanced-match": {\n+ "version": "1.0.0",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "brace-expansion": {\n+ "version": "1.1.11",\n+ "bundled": true,\n+ "dev": true,\n+ "requires": {\n+ "balanced-match": "^1.0.0",\n+ "concat-map": "0.0.1"\n+ }\n+ },\n+ "chownr": {\n+ "version": "1.0.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "code-point-at": {\n+ "version": "1.1.0",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "concat-map": {\n+ "version": "0.0.1",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "console-control-strings": {\n+ "version": "1.1.0",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "core-util-is": {\n+ "version": "1.0.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "debug": {\n+ "version": "2.6.9",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "ms": "2.0.0"\n+ }\n+ },\n+ "deep-extend": {\n+ "version": "0.5.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "delegates": {\n+ "version": "1.0.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "detect-libc": {\n+ "version": "1.0.3",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "fs-minipass": {\n+ "version": "1.2.5",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "minipass": "^2.2.1"\n+ }\n+ },\n+ "fs.realpath": {\n+ "version": "1.0.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "gauge": {\n+ "version": "2.7.4",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "aproba": "^1.0.3",\n+ "console-control-strings": "^1.0.0",\n+ "has-unicode": "^2.0.0",\n+ "object-assign": "^4.1.0",\n+ "signal-exit": "^3.0.0",\n+ "string-width": "^1.0.1",\n+ "strip-ansi": "^3.0.1",\n+ "wide-align": "^1.1.0"\n+ }\n+ },\n+ "glob": {\n+ "version": "7.1.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "fs.realpath": "^1.0.0",\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "^3.0.4",\n+ "once": "^1.3.0",\n+ "path-is-absolute": "^1.0.0"\n+ }\n+ },\n+ "has-unicode": {\n+ "version": "2.0.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "iconv-lite": {\n+ "version": "0.4.21",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "safer-buffer": "^2.1.0"\n+ }\n+ },\n+ "ignore-walk": {\n+ "version": "3.0.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "minimatch": "^3.0.4"\n+ }\n+ },\n+ "inflight": {\n+ "version": "1.0.6",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "once": "^1.3.0",\n+ "wrappy": "1"\n+ }\n+ },\n+ "inherits": {\n+ "version": "2.0.3",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "ini": {\n+ "version": "1.3.5",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "is-fullwidth-code-point": {\n+ "version": "1.0.0",\n+ "bundled": true,\n+ "dev": true,\n+ "requires": {\n+ "number-is-nan": "^1.0.0"\n+ }\n+ },\n+ "isarray": {\n+ "version": "1.0.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "minimatch": {\n+ "version": "3.0.4",\n+ "bundled": true,\n+ "dev": true,\n+ "requires": {\n+ "brace-expansion": "^1.1.7"\n+ }\n+ },\n+ "minimist": {\n+ "version": "0.0.8",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "minipass": {\n+ "version": "2.2.4",\n+ "bundled": true,\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "^5.1.1",\n+ "yallist": "^3.0.0"\n+ }\n+ },\n+ "minizlib": {\n+ "version": "1.1.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "minipass": "^2.2.1"\n+ }\n+ },\n+ "mkdirp": {\n+ "version": "0.5.1",\n+ "bundled": true,\n+ "dev": true,\n+ "requires": {\n+ "minimist": "0.0.8"\n+ }\n+ },\n+ "ms": {\n+ "version": "2.0.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "needle": {\n+ "version": "2.2.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "debug": "^2.1.2",\n+ "iconv-lite": "^0.4.4",\n+ "sax": "^1.2.4"\n+ }\n+ },\n+ "node-pre-gyp": {\n+ "version": "0.10.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "detect-libc": "^1.0.2",\n+ "mkdirp": "^0.5.1",\n+ "needle": "^2.2.0",\n+ "nopt": "^4.0.1",\n+ "npm-packlist": "^1.1.6",\n+ "npmlog": "^4.0.2",\n+ "rc": "^1.1.7",\n+ "rimraf": "^2.6.1",\n+ "semver": "^5.3.0",\n+ "tar": "^4"\n+ }\n+ },\n+ "nopt": {\n+ "version": "4.0.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "abbrev": "1",\n+ "osenv": "^0.1.4"\n+ }\n+ },\n+ "npm-bundled": {\n+ "version": "1.0.3",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "npm-packlist": {\n+ "version": "1.1.10",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "ignore-walk": "^3.0.1",\n+ "npm-bundled": "^1.0.1"\n+ }\n+ },\n+ "npmlog": {\n+ "version": "4.1.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "are-we-there-yet": "~1.1.2",\n+ "console-control-strings": "~1.1.0",\n+ "gauge": "~2.7.3",\n+ "set-blocking": "~2.0.0"\n+ }\n+ },\n+ "number-is-nan": {\n+ "version": "1.0.1",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "object-assign": {\n+ "version": "4.1.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "once": {\n+ "version": "1.4.0",\n+ "bundled": true,\n+ "dev": true,\n+ "requires": {\n+ "wrappy": "1"\n+ }\n+ },\n+ "os-homedir": {\n+ "version": "1.0.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "os-tmpdir": {\n+ "version": "1.0.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "osenv": {\n+ "version": "0.1.5",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "os-homedir": "^1.0.0",\n+ "os-tmpdir": "^1.0.0"\n+ }\n+ },\n+ "path-is-absolute": {\n+ "version": "1.0.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "process-nextick-args": {\n+ "version": "2.0.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "rc": {\n+ "version": "1.2.7",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "deep-extend": "^0.5.1",\n+ "ini": "~1.3.0",\n+ "minimist": "^1.2.0",\n+ "strip-json-comments": "~2.0.1"\n+ },\n+ "dependencies": {\n+ "minimist": {\n+ "version": "1.2.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ }\n+ }\n+ },\n+ "readable-stream": {\n+ "version": "2.3.6",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.3",\n+ "isarray": "~1.0.0",\n+ "process-nextick-args": "~2.0.0",\n+ "safe-buffer": "~5.1.1",\n+ "string_decoder": "~1.1.1",\n+ "util-deprecate": "~1.0.1"\n+ }\n+ },\n+ "rimraf": {\n+ "version": "2.6.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "glob": "^7.0.5"\n+ }\n+ },\n+ "safe-buffer": {\n+ "version": "5.1.1",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "safer-buffer": {\n+ "version": "2.1.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "sax": {\n+ "version": "1.2.4",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "semver": {\n+ "version": "5.5.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "set-blocking": {\n+ "version": "2.0.0",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "signal-exit": {\n+ "version": "3.0.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "string-width": {\n+ "version": "1.0.2",\n+ "bundled": true,\n+ "dev": true,\n+ "requires": {\n+ "code-point-at": "^1.0.0",\n+ "is-fullwidth-code-point": "^1.0.0",\n+ "strip-ansi": "^3.0.0"\n+ }\n+ },\n+ "string_decoder": {\n+ "version": "1.1.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.0"\n+ }\n+ },\n+ "strip-ansi": {\n+ "version": "3.0.1",\n+ "bundled": true,\n+ "dev": true,\n+ "requires": {\n+ "ansi-regex": "^2.0.0"\n+ }\n+ },\n+ "strip-json-comments": {\n+ "version": "2.0.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "tar": {\n+ "version": "4.4.1",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "chownr": "^1.0.1",\n+ "fs-minipass": "^1.2.5",\n+ "minipass": "^2.2.4",\n+ "minizlib": "^1.1.0",\n+ "mkdirp": "^0.5.0",\n+ "safe-buffer": "^5.1.1",\n+ "yallist": "^3.0.2"\n+ }\n+ },\n+ "util-deprecate": {\n+ "version": "1.0.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true\n+ },\n+ "wide-align": {\n+ "version": "1.1.2",\n+ "bundled": true,\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "string-width": "^1.0.2"\n+ }\n+ },\n+ "wrappy": {\n+ "version": "1.0.2",\n+ "bundled": true,\n+ "dev": true\n+ },\n+ "yallist": {\n+ "version": "3.0.2",\n+ "bundled": true,\n+ "dev": true\n+ }\n+ }\n+ },\n+ "gaze": {\n+ "version": "1.1.3",\n+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",\n+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",\n+ "dev": true,\n+ "requires": {\n+ "globule": "^1.0.0"\n+ }\n+ },\n+ "generate-function": {\n+ "version": "2.3.1",\n+ "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",\n+ "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",\n+ "dev": true,\n+ "requires": {\n+ "is-property": "^1.0.2"\n+ }\n+ },\n+ "generate-object-property": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",\n+ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",\n+ "dev": true,\n+ "requires": {\n+ "is-property": "^1.0.0"\n+ }\n+ },\n+ "get-stdin": {\n+ "version": "4.0.1",\n+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",\n+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",\n+ "dev": true\n+ },\n+ "getobject": {\n+ "version": "0.1.0",\n+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",\n+ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",\n+ "dev": true\n+ },\n+ "getpass": {\n+ "version": "0.1.7",\n+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",\n+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",\n+ "dev": true,\n+ "requires": {\n+ "assert-plus": "^1.0.0"\n+ },\n+ "dependencies": {\n+ "assert-plus": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",\n+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "glob": {\n+ "version": "7.0.6",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",\n+ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",\n+ "dev": true,\n+ "requires": {\n+ "fs.realpath": "^1.0.0",\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "^3.0.2",\n+ "once": "^1.3.0",\n+ "path-is-absolute": "^1.0.0"\n+ }\n+ },\n+ "glob-base": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",\n+ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",\n+ "dev": true,\n+ "requires": {\n+ "glob-parent": "^2.0.0",\n+ "is-glob": "^2.0.0"\n+ }\n+ },\n+ "glob-parent": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",\n+ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",\n+ "dev": true,\n+ "requires": {\n+ "is-glob": "^2.0.0"\n+ }\n+ },\n+ "glob-stream": {\n+ "version": "5.3.5",\n+ "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",\n+ "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",\n+ "dev": true,\n+ "requires": {\n+ "extend": "^3.0.0",\n+ "glob": "^5.0.3",\n+ "glob-parent": "^3.0.0",\n+ "micromatch": "^2.3.7",\n+ "ordered-read-streams": "^0.3.0",\n+ "through2": "^0.6.0",\n+ "to-absolute-glob": "^0.1.1",\n+ "unique-stream": "^2.0.2"\n+ },\n+ "dependencies": {\n+ "glob": {\n+ "version": "5.0.15",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",\n+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",\n+ "dev": true,\n+ "requires": {\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "2 || 3",\n+ "once": "^1.3.0",\n+ "path-is-absolute": "^1.0.0"\n+ }\n+ },\n+ "glob-parent": {\n+ "version": "3.1.0",\n+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",\n+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",\n+ "dev": true,\n+ "requires": {\n+ "is-glob": "^3.1.0",\n+ "path-dirname": "^1.0.0"\n+ }\n+ },\n+ "is-extglob": {\n+ "version": "2.1.1",\n+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",\n+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",\n+ "dev": true\n+ },\n+ "is-glob": {\n+ "version": "3.1.0",\n+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",\n+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",\n+ "dev": true,\n+ "requires": {\n+ "is-extglob": "^2.1.0"\n+ }\n+ },\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ },\n+ "through2": {\n+ "version": "0.6.5",\n+ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",\n+ "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",\n+ "dev": true,\n+ "requires": {\n+ "readable-stream": ">=1.0.33-1 <1.1.0-0",\n+ "xtend": ">=4.0.0 <4.1.0-0"\n+ }\n+ }\n+ }\n+ },\n+ "globule": {\n+ "version": "1.2.1",\n+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",\n+ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",\n+ "dev": true,\n+ "requires": {\n+ "glob": "~7.1.1",\n+ "lodash": "~4.17.10",\n+ "minimatch": "~3.0.2"\n+ },\n+ "dependencies": {\n+ "glob": {\n+ "version": "7.1.3",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",\n+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",\n+ "dev": true,\n+ "requires": {\n+ "fs.realpath": "^1.0.0",\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "^3.0.4",\n+ "once": "^1.3.0",\n+ "path-is-absolute": "^1.0.0"\n+ }\n+ }\n+ }\n+ },\n+ "graceful-fs": {\n+ "version": "4.1.11",\n+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",\n+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",\n+ "dev": true\n+ },\n+ "growl": {\n+ "version": "1.9.2",\n+ "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",\n+ "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",\n+ "dev": true\n+ },\n+ "grunt": {\n+ "version": "1.0.3",\n+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz",\n+ "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",\n+ "dev": true,\n+ "requires": {\n+ "coffeescript": "~1.10.0",\n+ "dateformat": "~1.0.12",\n+ "eventemitter2": "~0.4.13",\n+ "exit": "~0.1.1",\n+ "findup-sync": "~0.3.0",\n+ "glob": "~7.0.0",\n+ "grunt-cli": "~1.2.0",\n+ "grunt-known-options": "~1.1.0",\n+ "grunt-legacy-log": "~2.0.0",\n+ "grunt-legacy-util": "~1.1.1",\n+ "iconv-lite": "~0.4.13",\n+ "js-yaml": "~3.5.2",\n+ "minimatch": "~3.0.2",\n+ "mkdirp": "~0.5.1",\n+ "nopt": "~3.0.6",\n+ "path-is-absolute": "~1.0.0",\n+ "rimraf": "~2.6.2"\n+ },\n+ "dependencies": {\n+ "js-yaml": {\n+ "version": "3.5.5",\n+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",\n+ "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",\n+ "dev": true,\n+ "requires": {\n+ "argparse": "^1.0.2",\n+ "esprima": "^2.6.0"\n+ }\n+ }\n+ }\n+ },\n+ "grunt-cli": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",\n+ "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",\n+ "dev": true,\n+ "requires": {\n+ "findup-sync": "~0.3.0",\n+ "grunt-known-options": "~1.1.0",\n+ "nopt": "~3.0.6",\n+ "resolve": "~1.1.0"\n+ }\n+ },\n+ "grunt-contrib-copy": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",\n+ "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=",\n+ "dev": true,\n+ "requires": {\n+ "chalk": "^1.1.1",\n+ "file-sync-cmp": "^0.1.0"\n+ }\n+ },\n+ "grunt-contrib-jshint": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.0.0.tgz",\n+ "integrity": "sha1-MPQFpR3mVr+m6wKbmkZLn+AqQCo=",\n+ "dev": true,\n+ "requires": {\n+ "chalk": "^1.1.1",\n+ "hooker": "^0.2.3",\n+ "jshint": "~2.9.1"\n+ }\n+ },\n+ "grunt-contrib-less": {\n+ "version": "1.3.0",\n+ "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.3.0.tgz",\n+ "integrity": "sha1-UY73yG3GDhWeZRCKp125OpyP9dQ=",\n+ "dev": true,\n+ "requires": {\n+ "async": "^1.5.2",\n+ "chalk": "^1.0.0",\n+ "less": "~2.6.0",\n+ "lodash": "^4.8.2"\n+ },\n+ "dependencies": {\n+ "less": {\n+ "version": "2.6.1",\n+ "resolved": "https://registry.npmjs.org/less/-/less-2.6.1.tgz",\n+ "integrity": "sha1-ZY4B7JrDFJlZxrbfvPvAoXCv2no=",\n+ "dev": true,\n+ "requires": {\n+ "errno": "^0.1.1",\n+ "graceful-fs": "^4.1.2",\n+ "image-size": "~0.4.0",\n+ "mime": "^1.2.11",\n+ "mkdirp": "^0.5.0",\n+ "promise": "^7.1.1",\n+ "request": "^2.51.0",\n+ "source-map": "^0.5.3"\n+ }\n+ }\n+ }\n+ },\n+ "grunt-contrib-requirejs": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-1.0.0.tgz",\n+ "integrity": "sha1-7BZwyvwycTkC7lNWlFRxWy48utU=",\n+ "dev": true,\n+ "requires": {\n+ "requirejs": "^2.1.0"\n+ }\n+ },\n+ "grunt-contrib-uglify": {\n+ "version": "1.0.2",\n+ "resolved": "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.2.tgz",\n+ "integrity": "sha1-rmekb5FT7dTLEYE6Vetpxw19svs=",\n+ "dev": true,\n+ "requires": {\n+ "chalk": "^1.0.0",\n+ "lodash": "^4.0.1",\n+ "maxmin": "^1.1.0",\n+ "uglify-js": "~2.6.2",\n+ "uri-path": "^1.0.0"\n+ }\n+ },\n+ "grunt-contrib-watch": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.1.tgz",\n+ "integrity": "sha512-8Zka/svGl6+ZwF7d6z/CfXwsb4cDODnajmZsY4nUAs9Ob0kJEcsLiDf5qm2HdDoEcm3NHjWCrFiWx+PZ2y4D7A==",\n+ "dev": true,\n+ "requires": {\n+ "async": "^1.5.0",\n+ "gaze": "^1.1.0",\n+ "lodash": "^4.0.0",\n+ "tiny-lr": "^0.2.1"\n+ }\n+ },\n+ "grunt-karma": {\n+ "version": "1.0.0",\n+ "resolved": "http://registry.npmjs.org/grunt-karma/-/grunt-karma-1.0.0.tgz",\n+ "integrity": "sha1-64GiXtgN+/gudd1uZDeFxQx0AW4=",\n+ "dev": true,\n+ "requires": {\n+ "lodash": "^3.10.1"\n+ },\n+ "dependencies": {\n+ "lodash": {\n+ "version": "3.10.1",\n+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",\n+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "grunt-known-options": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",\n+ "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",\n+ "dev": true\n+ },\n+ "grunt-legacy-log": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",\n+ "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",\n+ "dev": true,\n+ "requires": {\n+ "colors": "~1.1.2",\n+ "grunt-legacy-log-utils": "~2.0.0",\n+ "hooker": "~0.2.3",\n+ "lodash": "~4.17.5"\n+ }\n+ },\n+ "grunt-legacy-log-utils": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",\n+ "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",\n+ "dev": true,\n+ "requires": {\n+ "chalk": "~2.4.1",\n+ "lodash": "~4.17.10"\n+ },\n+ "dependencies": {\n+ "ansi-styles": {\n+ "version": "3.2.1",\n+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",\n+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",\n+ "dev": true,\n+ "requires": {\n+ "color-convert": "^1.9.0"\n+ }\n+ },\n+ "chalk": {\n+ "version": "2.4.1",\n+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",\n+ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",\n+ "dev": true,\n+ "requires": {\n+ "ansi-styles": "^3.2.1",\n+ "escape-string-regexp": "^1.0.5",\n+ "supports-color": "^5.3.0"\n+ }\n+ },\n+ "supports-color": {\n+ "version": "5.5.0",\n+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",\n+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",\n+ "dev": true,\n+ "requires": {\n+ "has-flag": "^3.0.0"\n+ }\n+ }\n+ }\n+ },\n+ "grunt-legacy-util": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",\n+ "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",\n+ "dev": true,\n+ "requires": {\n+ "async": "~1.5.2",\n+ "exit": "~0.1.1",\n+ "getobject": "~0.1.0",\n+ "hooker": "~0.2.3",\n+ "lodash": "~4.17.10",\n+ "underscore.string": "~3.3.4",\n+ "which": "~1.3.0"\n+ }\n+ },\n+ "grunt-sed": {\n+ "version": "github:collective/grunt-sed#e625902539f5c29f1246228270a0330c1097b1e4",\n+ "from": "github:collective/grunt-sed#e625902539f5c29f1246228270a0330c1097b1e4",\n+ "dev": true,\n+ "requires": {\n+ "replace": "~0.3.0"\n+ }\n+ },\n+ "gulp-sourcemaps": {\n+ "version": "1.6.0",\n+ "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",\n+ "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",\n+ "dev": true,\n+ "requires": {\n+ "convert-source-map": "^1.1.1",\n+ "graceful-fs": "^4.1.2",\n+ "strip-bom": "^2.0.0",\n+ "through2": "^2.0.0",\n+ "vinyl": "^1.0.0"\n+ }\n+ },\n+ "gzip-size": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz",\n+ "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=",\n+ "dev": true,\n+ "requires": {\n+ "browserify-zlib": "^0.1.4",\n+ "concat-stream": "^1.4.1"\n+ }\n+ },\n+ "handlebars": {\n+ "version": "4.0.12",\n+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",\n+ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",\n+ "dev": true,\n+ "requires": {\n+ "async": "^2.5.0",\n+ "optimist": "^0.6.1",\n+ "source-map": "^0.6.1",\n+ "uglify-js": "^3.1.4"\n+ },\n+ "dependencies": {\n+ "async": {\n+ "version": "2.6.1",\n+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",\n+ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",\n+ "dev": true,\n+ "requires": {\n+ "lodash": "^4.17.10"\n+ }\n+ },\n+ "commander": {\n+ "version": "2.17.1",\n+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",\n+ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "source-map": {\n+ "version": "0.6.1",\n+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",\n+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",\n+ "dev": true\n+ },\n+ "uglify-js": {\n+ "version": "3.4.9",\n+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",\n+ "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "commander": "~2.17.1",\n+ "source-map": "~0.6.1"\n+ }\n+ }\n+ }\n+ },\n+ "har-schema": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",\n+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",\n+ "dev": true\n+ },\n+ "har-validator": {\n+ "version": "2.0.6",\n+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",\n+ "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",\n+ "dev": true,\n+ "requires": {\n+ "chalk": "^1.1.1",\n+ "commander": "^2.9.0",\n+ "is-my-json-valid": "^2.12.4",\n+ "pinkie-promise": "^2.0.0"\n+ }\n+ },\n+ "has-ansi": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",\n+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",\n+ "dev": true,\n+ "requires": {\n+ "ansi-regex": "^2.0.0"\n+ }\n+ },\n+ "has-binary": {\n+ "version": "0.1.7",\n+ "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",\n+ "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",\n+ "dev": true,\n+ "requires": {\n+ "isarray": "0.0.1"\n+ }\n+ },\n+ "has-cors": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",\n+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",\n+ "dev": true\n+ },\n+ "has-flag": {\n+ "version": "3.0.0",\n+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",\n+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",\n+ "dev": true\n+ },\n+ "hasha": {\n+ "version": "2.2.0",\n+ "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",\n+ "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",\n+ "dev": true,\n+ "requires": {\n+ "is-stream": "^1.0.1",\n+ "pinkie-promise": "^2.0.0"\n+ }\n+ },\n+ "hawk": {\n+ "version": "3.1.3",\n+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",\n+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",\n+ "dev": true,\n+ "requires": {\n+ "boom": "2.x.x",\n+ "cryptiles": "2.x.x",\n+ "hoek": "2.x.x",\n+ "sntp": "1.x.x"\n+ }\n+ },\n+ "hoek": {\n+ "version": "2.16.3",\n+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",\n+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",\n+ "dev": true\n+ },\n+ "hooker": {\n+ "version": "0.2.3",\n+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",\n+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",\n+ "dev": true\n+ },\n+ "hosted-git-info": {\n+ "version": "2.7.1",\n+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",\n+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",\n+ "dev": true\n+ },\n+ "htmlparser2": {\n+ "version": "3.8.3",\n+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",\n+ "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",\n+ "dev": true,\n+ "requires": {\n+ "domelementtype": "1",\n+ "domhandler": "2.3",\n+ "domutils": "1.5",\n+ "entities": "1.0",\n+ "readable-stream": "1.1"\n+ }\n+ },\n+ "http-errors": {\n+ "version": "1.3.1",\n+ "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",\n+ "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",\n+ "dev": true,\n+ "requires": {\n+ "inherits": "~2.0.1",\n+ "statuses": "1"\n+ }\n+ },\n+ "http-parser-js": {\n+ "version": "0.4.13",\n+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",\n+ "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=",\n+ "dev": true\n+ },\n+ "http-proxy": {\n+ "version": "1.17.0",\n+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",\n+ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",\n+ "dev": true,\n+ "requires": {\n+ "eventemitter3": "^3.0.0",\n+ "follow-redirects": "^1.0.0",\n+ "requires-port": "^1.0.0"\n+ }\n+ },\n+ "http-signature": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",\n+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",\n+ "dev": true,\n+ "requires": {\n+ "assert-plus": "^0.2.0",\n+ "jsprim": "^1.2.2",\n+ "sshpk": "^1.7.0"\n+ }\n+ },\n+ "https-proxy-agent": {\n+ "version": "2.2.1",\n+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",\n+ "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",\n+ "dev": true,\n+ "requires": {\n+ "agent-base": "^4.1.0",\n+ "debug": "^3.1.0"\n+ },\n+ "dependencies": {\n+ "debug": {\n+ "version": "3.2.5",\n+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz",\n+ "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==",\n+ "dev": true,\n+ "requires": {\n+ "ms": "^2.1.1"\n+ }\n+ },\n+ "ms": {\n+ "version": "2.1.1",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",\n+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "iconv-lite": {\n+ "version": "0.4.24",\n+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",\n+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",\n+ "dev": true,\n+ "requires": {\n+ "safer-buffer": ">= 2.1.2 < 3"\n+ }\n+ },\n+ "image-size": {\n+ "version": "0.4.0",\n+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz",\n+ "integrity": "sha1-1LTh9hlS5MvBzqmmsMkV/stwdRA=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "indent-string": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",\n+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",\n+ "dev": true,\n+ "requires": {\n+ "repeating": "^2.0.0"\n+ }\n+ },\n+ "indexof": {\n+ "version": "0.0.1",\n+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",\n+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",\n+ "dev": true\n+ },\n+ "inflight": {\n+ "version": "1.0.6",\n+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",\n+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",\n+ "dev": true,\n+ "requires": {\n+ "once": "^1.3.0",\n+ "wrappy": "1"\n+ }\n+ },\n+ "inherits": {\n+ "version": "2.0.3",\n+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",\n+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",\n+ "dev": true\n+ },\n+ "is-arrayish": {\n+ "version": "0.2.1",\n+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",\n+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",\n+ "dev": true\n+ },\n+ "is-binary-path": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",\n+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",\n+ "dev": true,\n+ "requires": {\n+ "binary-extensions": "^1.0.0"\n+ }\n+ },\n+ "is-buffer": {\n+ "version": "1.1.6",\n+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",\n+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",\n+ "dev": true\n+ },\n+ "is-builtin-module": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",\n+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",\n+ "dev": true,\n+ "requires": {\n+ "builtin-modules": "^1.0.0"\n+ }\n+ },\n+ "is-dotfile": {\n+ "version": "1.0.3",\n+ "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",\n+ "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",\n+ "dev": true\n+ },\n+ "is-equal-shallow": {\n+ "version": "0.1.3",\n+ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",\n+ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",\n+ "dev": true,\n+ "requires": {\n+ "is-primitive": "^2.0.0"\n+ }\n+ },\n+ "is-extendable": {\n+ "version": "0.1.1",\n+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",\n+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",\n+ "dev": true\n+ },\n+ "is-extglob": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",\n+ "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",\n+ "dev": true\n+ },\n+ "is-finite": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",\n+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",\n+ "dev": true,\n+ "requires": {\n+ "number-is-nan": "^1.0.0"\n+ }\n+ },\n+ "is-glob": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",\n+ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",\n+ "dev": true,\n+ "requires": {\n+ "is-extglob": "^1.0.0"\n+ }\n+ },\n+ "is-my-ip-valid": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",\n+ "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",\n+ "dev": true\n+ },\n+ "is-my-json-valid": {\n+ "version": "2.19.0",\n+ "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz",\n+ "integrity": "sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==",\n+ "dev": true,\n+ "requires": {\n+ "generate-function": "^2.0.0",\n+ "generate-object-property": "^1.1.0",\n+ "is-my-ip-valid": "^1.0.0",\n+ "jsonpointer": "^4.0.0",\n+ "xtend": "^4.0.0"\n+ }\n+ },\n+ "is-number": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",\n+ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",\n+ "dev": true,\n+ "requires": {\n+ "kind-of": "^3.0.2"\n+ }\n+ },\n+ "is-posix-bracket": {\n+ "version": "0.1.1",\n+ "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",\n+ "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",\n+ "dev": true\n+ },\n+ "is-primitive": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",\n+ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",\n+ "dev": true\n+ },\n+ "is-property": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",\n+ "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",\n+ "dev": true\n+ },\n+ "is-stream": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",\n+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",\n+ "dev": true\n+ },\n+ "is-typedarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",\n+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",\n+ "dev": true\n+ },\n+ "is-utf8": {\n+ "version": "0.2.1",\n+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",\n+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",\n+ "dev": true\n+ },\n+ "is-valid-glob": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",\n+ "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",\n+ "dev": true\n+ },\n+ "isarray": {\n+ "version": "0.0.1",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",\n+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",\n+ "dev": true\n+ },\n+ "isbinaryfile": {\n+ "version": "3.0.3",\n+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",\n+ "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",\n+ "dev": true,\n+ "requires": {\n+ "buffer-alloc": "^1.2.0"\n+ }\n+ },\n+ "isexe": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",\n+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",\n+ "dev": true\n+ },\n+ "isobject": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",\n+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",\n+ "dev": true,\n+ "requires": {\n+ "isarray": "1.0.0"\n+ },\n+ "dependencies": {\n+ "isarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",\n+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "isstream": {\n+ "version": "0.1.2",\n+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",\n+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",\n+ "dev": true\n+ },\n+ "istanbul": {\n+ "version": "0.4.5",\n+ "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",\n+ "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",\n+ "dev": true,\n+ "requires": {\n+ "abbrev": "1.0.x",\n+ "async": "1.x",\n+ "escodegen": "1.8.x",\n+ "esprima": "2.7.x",\n+ "glob": "^5.0.15",\n+ "handlebars": "^4.0.1",\n+ "js-yaml": "3.x",\n+ "mkdirp": "0.5.x",\n+ "nopt": "3.x",\n+ "once": "1.x",\n+ "resolve": "1.1.x",\n+ "supports-color": "^3.1.0",\n+ "which": "^1.1.1",\n+ "wordwrap": "^1.0.0"\n+ },\n+ "dependencies": {\n+ "abbrev": {\n+ "version": "1.0.9",\n+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",\n+ "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",\n+ "dev": true\n+ },\n+ "glob": {\n+ "version": "5.0.15",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",\n+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",\n+ "dev": true,\n+ "requires": {\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "2 || 3",\n+ "once": "^1.3.0",\n+ "path-is-absolute": "^1.0.0"\n+ }\n+ },\n+ "has-flag": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",\n+ "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",\n+ "dev": true\n+ },\n+ "supports-color": {\n+ "version": "3.2.3",\n+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",\n+ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",\n+ "dev": true,\n+ "requires": {\n+ "has-flag": "^1.0.0"\n+ }\n+ },\n+ "wordwrap": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",\n+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "jade": {\n+ "version": "0.26.3",\n+ "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz",\n+ "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=",\n+ "dev": true,\n+ "requires": {\n+ "commander": "0.6.1",\n+ "mkdirp": "0.3.0"\n+ },\n+ "dependencies": {\n+ "commander": {\n+ "version": "0.6.1",\n+ "resolved": "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz",\n+ "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=",\n+ "dev": true\n+ },\n+ "mkdirp": {\n+ "version": "0.3.0",\n+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz",\n+ "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "js-yaml": {\n+ "version": "3.6.1",\n+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",\n+ "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",\n+ "dev": true,\n+ "requires": {\n+ "argparse": "^1.0.7",\n+ "esprima": "^2.6.0"\n+ }\n+ },\n+ "jsbn": {\n+ "version": "0.1.1",\n+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",\n+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "jshint": {\n+ "version": "2.9.6",\n+ "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.6.tgz",\n+ "integrity": "sha512-KO9SIAKTlJQOM4lE64GQUtGBRpTOuvbrRrSZw3AhUxMNG266nX9hK2cKA4SBhXOj0irJGyNyGSLT62HGOVDEOA==",\n+ "dev": true,\n+ "requires": {\n+ "cli": "~1.0.0",\n+ "console-browserify": "1.1.x",\n+ "exit": "0.1.x",\n+ "htmlparser2": "3.8.x",\n+ "lodash": "~4.17.10",\n+ "minimatch": "~3.0.2",\n+ "phantom": "~4.0.1",\n+ "phantomjs-prebuilt": "~2.1.7",\n+ "shelljs": "0.3.x",\n+ "strip-json-comments": "1.0.x",\n+ "unicode-5.2.0": "^0.7.5"\n+ }\n+ },\n+ "json-schema": {\n+ "version": "0.2.3",\n+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",\n+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",\n+ "dev": true\n+ },\n+ "json-schema-traverse": {\n+ "version": "0.3.1",\n+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",\n+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",\n+ "dev": true\n+ },\n+ "json-stable-stringify": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",\n+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",\n+ "dev": true,\n+ "requires": {\n+ "jsonify": "~0.0.0"\n+ }\n+ },\n+ "json-stringify-safe": {\n+ "version": "5.0.1",\n+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",\n+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",\n+ "dev": true\n+ },\n+ "json3": {\n+ "version": "3.3.2",\n+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",\n+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",\n+ "dev": true\n+ },\n+ "jsonfile": {\n+ "version": "2.4.0",\n+ "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",\n+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",\n+ "dev": true,\n+ "requires": {\n+ "graceful-fs": "^4.1.6"\n+ }\n+ },\n+ "jsonify": {\n+ "version": "0.0.0",\n+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",\n+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",\n+ "dev": true\n+ },\n+ "jsonpointer": {\n+ "version": "4.0.1",\n+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",\n+ "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",\n+ "dev": true\n+ },\n+ "jsprim": {\n+ "version": "1.4.1",\n+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",\n+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",\n+ "dev": true,\n+ "requires": {\n+ "assert-plus": "1.0.0",\n+ "extsprintf": "1.3.0",\n+ "json-schema": "0.2.3",\n+ "verror": "1.10.0"\n+ },\n+ "dependencies": {\n+ "assert-plus": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",\n+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "karma": {\n+ "version": "0.13.22",\n+ "resolved": "https://registry.npmjs.org/karma/-/karma-0.13.22.tgz",\n+ "integrity": "sha1-B3ULG9Bj1+fnuRvNLmNU2PKqh0Q=",\n+ "dev": true,\n+ "requires": {\n+ "batch": "^0.5.3",\n+ "bluebird": "^2.9.27",\n+ "body-parser": "^1.12.4",\n+ "chokidar": "^1.4.1",\n+ "colors": "^1.1.0",\n+ "connect": "^3.3.5",\n+ "core-js": "^2.1.0",\n+ "di": "^0.0.1",\n+ "dom-serialize": "^2.2.0",\n+ "expand-braces": "^0.1.1",\n+ "glob": "^7.0.0",\n+ "graceful-fs": "^4.1.2",\n+ "http-proxy": "^1.13.0",\n+ "isbinaryfile": "^3.0.0",\n+ "lodash": "^3.8.0",\n+ "log4js": "^0.6.31",\n+ "mime": "^1.3.4",\n+ "minimatch": "^3.0.0",\n+ "optimist": "^0.6.1",\n+ "rimraf": "^2.3.3",\n+ "socket.io": "^1.4.5",\n+ "source-map": "^0.5.3",\n+ "useragent": "^2.1.6"\n+ },\n+ "dependencies": {\n+ "lodash": {\n+ "version": "3.10.1",\n+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",\n+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "karma-chai": {\n+ "version": "0.1.0",\n+ "resolved": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz",\n+ "integrity": "sha1-vuWtQEAFF4Ea40u5RfdikJEIt5o=",\n+ "dev": true\n+ },\n+ "karma-chrome-launcher": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-1.0.1.tgz",\n+ "integrity": "sha1-vlrnxCZPmgouIuPZhL6zJa2SyMs=",\n+ "dev": true,\n+ "requires": {\n+ "fs-access": "^1.0.0",\n+ "which": "^1.2.1"\n+ }\n+ },\n+ "karma-coverage": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.0.0.tgz",\n+ "integrity": "sha1-Z5oRUjEPlu+Rwy9f41fWxbePHx0=",\n+ "dev": true,\n+ "requires": {\n+ "dateformat": "^1.0.6",\n+ "istanbul": "^0.4.0",\n+ "minimatch": "^3.0.0",\n+ "source-map": "^0.5.1"\n+ }\n+ },\n+ "karma-firefox-launcher": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.0.1.tgz",\n+ "integrity": "sha1-zlj0fCATqIFW1VpdYTN8CZz1u1E=",\n+ "dev": true\n+ },\n+ "karma-junit-reporter": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-1.0.0.tgz",\n+ "integrity": "sha1-k4V+yvXbUalcwyRi7fBsInYeSfA=",\n+ "dev": true,\n+ "requires": {\n+ "path-is-absolute": "^1.0.0",\n+ "xmlbuilder": "3.1.0"\n+ }\n+ },\n+ "karma-mocha": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.0.1.tgz",\n+ "integrity": "sha1-mFGfGRFc0aNFXYqV4UBJqHj9BnA=",\n+ "dev": true\n+ },\n+ "karma-phantomjs-launcher": {\n+ "version": "1.0.4",\n+ "resolved": "https://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz",\n+ "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=",\n+ "dev": true,\n+ "requires": {\n+ "lodash": "^4.0.1",\n+ "phantomjs-prebuilt": "^2.1.7"\n+ }\n+ },\n+ "karma-requirejs": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/karma-requirejs/-/karma-requirejs-1.0.0.tgz",\n+ "integrity": "sha1-GDuaxFap6VhWS3W0WLrt/bp4zW0=",\n+ "dev": true\n+ },\n+ "karma-sauce-launcher": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-1.0.0.tgz",\n+ "integrity": "sha1-VpvzVvfBQ6M3u6Xcv1eH3g2aZAw=",\n+ "dev": true,\n+ "requires": {\n+ "q": "^1.4.1",\n+ "sauce-connect-launcher": "^0.13.0",\n+ "saucelabs": "^1.0.1",\n+ "wd": "^0.3.4"\n+ }\n+ },\n+ "karma-script-launcher": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/karma-script-launcher/-/karma-script-launcher-1.0.0.tgz",\n+ "integrity": "sha1-zQF8TeXvCeWp2nkydhdhCN1LVC0=",\n+ "dev": true\n+ },\n+ "karma-spec-reporter": {\n+ "version": "0.0.26",\n+ "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.26.tgz",\n+ "integrity": "sha1-v1VhN33OG2PPLJdcGvPjXxmeImU=",\n+ "dev": true,\n+ "requires": {\n+ "colors": "~0.6.0"\n+ },\n+ "dependencies": {\n+ "colors": {\n+ "version": "0.6.2",\n+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",\n+ "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "kew": {\n+ "version": "0.7.0",\n+ "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",\n+ "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",\n+ "dev": true\n+ },\n+ "kind-of": {\n+ "version": "3.2.2",\n+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",\n+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",\n+ "dev": true,\n+ "requires": {\n+ "is-buffer": "^1.1.5"\n+ }\n+ },\n+ "klaw": {\n+ "version": "1.3.1",\n+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",\n+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",\n+ "dev": true,\n+ "requires": {\n+ "graceful-fs": "^4.1.9"\n+ }\n+ },\n+ "lazy-cache": {\n+ "version": "1.0.4",\n+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",\n+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",\n+ "dev": true\n+ },\n+ "lazystream": {\n+ "version": "0.1.0",\n+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz",\n+ "integrity": "sha1-GyXWPHcqTCDwpe0KnXf0hLbhaSA=",\n+ "dev": true,\n+ "requires": {\n+ "readable-stream": "~1.0.2"\n+ },\n+ "dependencies": {\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ }\n+ }\n+ },\n+ "lcov-parse": {\n+ "version": "0.0.10",\n+ "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",\n+ "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=",\n+ "dev": true\n+ },\n+ "lcov-result-merger": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-1.2.0.tgz",\n+ "integrity": "sha1-XeHmQm+IWSm3c1fwFN5f7h2tBVM=",\n+ "dev": true,\n+ "requires": {\n+ "through2": "^2.0.1",\n+ "vinyl": "^1.1.1",\n+ "vinyl-fs": "^2.4.3"\n+ }\n+ },\n+ "less": {\n+ "version": "1.7.5",\n+ "resolved": "https://registry.npmjs.org/less/-/less-1.7.5.tgz",\n+ "integrity": "sha1-TyIM9yiKJ+rKc5325ICKLUwNV1Y=",\n+ "dev": true,\n+ "requires": {\n+ "clean-css": "2.2.x",\n+ "graceful-fs": "~3.0.2",\n+ "mime": "~1.2.11",\n+ "mkdirp": "~0.5.0",\n+ "request": "~2.40.0",\n+ "source-map": "0.1.x"\n+ },\n+ "dependencies": {\n+ "asn1": {\n+ "version": "0.1.11",\n+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",\n+ "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "assert-plus": {\n+ "version": "0.1.5",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",\n+ "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "async": {\n+ "version": "0.9.2",\n+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",\n+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "aws-sign2": {\n+ "version": "0.5.0",\n+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",\n+ "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "boom": {\n+ "version": "0.4.2",\n+ "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",\n+ "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=",\n+ "dev": true,\n+ "requires": {\n+ "hoek": "0.9.x"\n+ }\n+ },\n+ "combined-stream": {\n+ "version": "0.0.7",\n+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",\n+ "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "delayed-stream": "0.0.5"\n+ }\n+ },\n+ "cryptiles": {\n+ "version": "0.2.2",\n+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz",\n+ "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "boom": "0.4.x"\n+ }\n+ },\n+ "delayed-stream": {\n+ "version": "0.0.5",\n+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",\n+ "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "forever-agent": {\n+ "version": "0.5.2",\n+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz",\n+ "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "form-data": {\n+ "version": "0.1.4",\n+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz",\n+ "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "async": "~0.9.0",\n+ "combined-stream": "~0.0.4",\n+ "mime": "~1.2.11"\n+ }\n+ },\n+ "graceful-fs": {\n+ "version": "3.0.11",\n+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",\n+ "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "natives": "^1.1.0"\n+ }\n+ },\n+ "hawk": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",\n+ "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "boom": "0.4.x",\n+ "cryptiles": "0.2.x",\n+ "hoek": "0.9.x",\n+ "sntp": "0.2.x"\n+ }\n+ },\n+ "hoek": {\n+ "version": "0.9.1",\n+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz",\n+ "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=",\n+ "dev": true\n+ },\n+ "http-signature": {\n+ "version": "0.10.1",\n+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",\n+ "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "asn1": "0.1.11",\n+ "assert-plus": "^0.1.5",\n+ "ctype": "0.5.3"\n+ }\n+ },\n+ "mime": {\n+ "version": "1.2.11",\n+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",\n+ "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "mime-types": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz",\n+ "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "node-uuid": {\n+ "version": "1.4.8",\n+ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",\n+ "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "oauth-sign": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz",\n+ "integrity": "sha1-y1QPk7srIqfVlBaRoojWDo6pOG4=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "qs": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/qs/-/qs-1.0.2.tgz",\n+ "integrity": "sha1-UKk+K1r2aRwxvOpdrnjubqGQN2g=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "request": {\n+ "version": "2.40.0",\n+ "resolved": "http://registry.npmjs.org/request/-/request-2.40.0.tgz",\n+ "integrity": "sha1-TdZw9pbx5uhC5mtLXoOTAaub62c=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "aws-sign2": "~0.5.0",\n+ "forever-agent": "~0.5.0",\n+ "form-data": "~0.1.0",\n+ "hawk": "1.1.1",\n+ "http-signature": "~0.10.0",\n+ "json-stringify-safe": "~5.0.0",\n+ "mime-types": "~1.0.1",\n+ "node-uuid": "~1.4.0",\n+ "oauth-sign": "~0.3.0",\n+ "qs": "~1.0.0",\n+ "stringstream": "~0.0.4",\n+ "tough-cookie": ">=0.12.0",\n+ "tunnel-agent": "~0.4.0"\n+ }\n+ },\n+ "sntp": {\n+ "version": "0.2.4",\n+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",\n+ "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "hoek": "0.9.x"\n+ }\n+ },\n+ "source-map": {\n+ "version": "0.1.43",\n+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",\n+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "amdefine": ">=0.0.4"\n+ }\n+ }\n+ }\n+ },\n+ "levn": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",\n+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",\n+ "dev": true,\n+ "requires": {\n+ "prelude-ls": "~1.1.2",\n+ "type-check": "~0.3.2"\n+ }\n+ },\n+ "livereload-js": {\n+ "version": "2.3.0",\n+ "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",\n+ "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==",\n+ "dev": true\n+ },\n+ "load-json-file": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",\n+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",\n+ "dev": true,\n+ "requires": {\n+ "graceful-fs": "^4.1.2",\n+ "parse-json": "^2.2.0",\n+ "pify": "^2.0.0",\n+ "pinkie-promise": "^2.0.0",\n+ "strip-bom": "^2.0.0"\n+ }\n+ },\n+ "lodash": {\n+ "version": "4.17.10",\n+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",\n+ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",\n+ "dev": true\n+ },\n+ "lodash.isequal": {\n+ "version": "4.5.0",\n+ "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",\n+ "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",\n+ "dev": true\n+ },\n+ "log-driver": {\n+ "version": "1.2.5",\n+ "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",\n+ "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=",\n+ "dev": true\n+ },\n+ "log4js": {\n+ "version": "0.6.38",\n+ "resolved": "http://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",\n+ "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",\n+ "dev": true,\n+ "requires": {\n+ "readable-stream": "~1.0.2",\n+ "semver": "~4.3.3"\n+ },\n+ "dependencies": {\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ },\n+ "semver": {\n+ "version": "4.3.6",\n+ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",\n+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "longest": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",\n+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",\n+ "dev": true\n+ },\n+ "loud-rejection": {\n+ "version": "1.6.0",\n+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",\n+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",\n+ "dev": true,\n+ "requires": {\n+ "currently-unhandled": "^0.4.1",\n+ "signal-exit": "^3.0.0"\n+ }\n+ },\n+ "lru-cache": {\n+ "version": "2.7.3",\n+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",\n+ "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",\n+ "dev": true\n+ },\n+ "map-obj": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",\n+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",\n+ "dev": true\n+ },\n+ "math-random": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",\n+ "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",\n+ "dev": true\n+ },\n+ "maxmin": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz",\n+ "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=",\n+ "dev": true,\n+ "requires": {\n+ "chalk": "^1.0.0",\n+ "figures": "^1.0.1",\n+ "gzip-size": "^1.0.0",\n+ "pretty-bytes": "^1.0.0"\n+ }\n+ },\n+ "media-typer": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",\n+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",\n+ "dev": true\n+ },\n+ "meow": {\n+ "version": "3.7.0",\n+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",\n+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",\n+ "dev": true,\n+ "requires": {\n+ "camelcase-keys": "^2.0.0",\n+ "decamelize": "^1.1.2",\n+ "loud-rejection": "^1.0.0",\n+ "map-obj": "^1.0.1",\n+ "minimist": "^1.1.3",\n+ "normalize-package-data": "^2.3.4",\n+ "object-assign": "^4.0.1",\n+ "read-pkg-up": "^1.0.1",\n+ "redent": "^1.0.0",\n+ "trim-newlines": "^1.0.0"\n+ }\n+ },\n+ "merge-stream": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",\n+ "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",\n+ "dev": true,\n+ "requires": {\n+ "readable-stream": "^2.0.1"\n+ },\n+ "dependencies": {\n+ "isarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",\n+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",\n+ "dev": true\n+ },\n+ "readable-stream": {\n+ "version": "2.3.6",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",\n+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.3",\n+ "isarray": "~1.0.0",\n+ "process-nextick-args": "~2.0.0",\n+ "safe-buffer": "~5.1.1",\n+ "string_decoder": "~1.1.1",\n+ "util-deprecate": "~1.0.1"\n+ }\n+ },\n+ "string_decoder": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",\n+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.0"\n+ }\n+ }\n+ }\n+ },\n+ "micromatch": {\n+ "version": "2.3.11",\n+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",\n+ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",\n+ "dev": true,\n+ "requires": {\n+ "arr-diff": "^2.0.0",\n+ "array-unique": "^0.2.1",\n+ "braces": "^1.8.2",\n+ "expand-brackets": "^0.1.4",\n+ "extglob": "^0.3.1",\n+ "filename-regex": "^2.0.0",\n+ "is-extglob": "^1.0.0",\n+ "is-glob": "^2.0.1",\n+ "kind-of": "^3.0.2",\n+ "normalize-path": "^2.0.1",\n+ "object.omit": "^2.0.0",\n+ "parse-glob": "^3.0.4",\n+ "regex-cache": "^0.4.2"\n+ }\n+ },\n+ "mime": {\n+ "version": "1.6.0",\n+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",\n+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",\n+ "dev": true\n+ },\n+ "mime-db": {\n+ "version": "1.36.0",\n+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz",\n+ "integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==",\n+ "dev": true\n+ },\n+ "mime-types": {\n+ "version": "2.1.20",\n+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz",\n+ "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==",\n+ "dev": true,\n+ "requires": {\n+ "mime-db": "~1.36.0"\n+ }\n+ },\n+ "minimatch": {\n+ "version": "3.0.4",\n+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",\n+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",\n+ "dev": true,\n+ "requires": {\n+ "brace-expansion": "^1.1.7"\n+ }\n+ },\n+ "minimist": {\n+ "version": "1.2.0",\n+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",\n+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",\n+ "dev": true\n+ },\n+ "mkdirp": {\n+ "version": "0.5.1",\n+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",\n+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",\n+ "dev": true,\n+ "requires": {\n+ "minimist": "0.0.8"\n+ },\n+ "dependencies": {\n+ "minimist": {\n+ "version": "0.0.8",\n+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",\n+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "mocha": {\n+ "version": "2.5.3",\n+ "resolved": "http://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz",\n+ "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=",\n+ "dev": true,\n+ "requires": {\n+ "commander": "2.3.0",\n+ "debug": "2.2.0",\n+ "diff": "1.4.0",\n+ "escape-string-regexp": "1.0.2",\n+ "glob": "3.2.11",\n+ "growl": "1.9.2",\n+ "jade": "0.26.3",\n+ "mkdirp": "0.5.1",\n+ "supports-color": "1.2.0",\n+ "to-iso-string": "0.0.2"\n+ },\n+ "dependencies": {\n+ "commander": {\n+ "version": "2.3.0",\n+ "resolved": "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz",\n+ "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=",\n+ "dev": true\n+ },\n+ "debug": {\n+ "version": "2.2.0",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",\n+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.1"\n+ }\n+ },\n+ "escape-string-regexp": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz",\n+ "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=",\n+ "dev": true\n+ },\n+ "glob": {\n+ "version": "3.2.11",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",\n+ "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",\n+ "dev": true,\n+ "requires": {\n+ "inherits": "2",\n+ "minimatch": "0.3"\n+ }\n+ },\n+ "minimatch": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",\n+ "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",\n+ "dev": true,\n+ "requires": {\n+ "lru-cache": "2",\n+ "sigmund": "~1.0.0"\n+ }\n+ },\n+ "ms": {\n+ "version": "0.7.1",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",\n+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",\n+ "dev": true\n+ },\n+ "supports-color": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz",\n+ "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "ms": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",\n+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",\n+ "dev": true\n+ },\n+ "nan": {\n+ "version": "2.11.0",\n+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz",\n+ "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "natives": {\n+ "version": "1.1.5",\n+ "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.5.tgz",\n+ "integrity": "sha512-1pJ+02gl2KJgCPFtpZGtuD4lGSJnIZvvFHCQTOeDRMSXjfu2GmYWuhI8NFMA4W2I5NNFRbfy/YCiVt4CgNpP8A==",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "negotiator": {\n+ "version": "0.6.1",\n+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",\n+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",\n+ "dev": true\n+ },\n+ "node-int64": {\n+ "version": "0.3.3",\n+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",\n+ "integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=",\n+ "dev": true\n+ },\n+ "nomnom": {\n+ "version": "1.6.2",\n+ "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz",\n+ "integrity": "sha1-hKZqJgF0QI/Ft3oY+IjszET7aXE=",\n+ "dev": true,\n+ "requires": {\n+ "colors": "0.5.x",\n+ "underscore": "~1.4.4"\n+ },\n+ "dependencies": {\n+ "colors": {\n+ "version": "0.5.1",\n+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz",\n+ "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "nopt": {\n+ "version": "3.0.6",\n+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",\n+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",\n+ "dev": true,\n+ "requires": {\n+ "abbrev": "1"\n+ }\n+ },\n+ "normalize-package-data": {\n+ "version": "2.4.0",\n+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",\n+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",\n+ "dev": true,\n+ "requires": {\n+ "hosted-git-info": "^2.1.4",\n+ "is-builtin-module": "^1.0.0",\n+ "semver": "2 || 3 || 4 || 5",\n+ "validate-npm-package-license": "^3.0.1"\n+ }\n+ },\n+ "normalize-path": {\n+ "version": "2.1.1",\n+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",\n+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",\n+ "dev": true,\n+ "requires": {\n+ "remove-trailing-separator": "^1.0.1"\n+ }\n+ },\n+ "null-check": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",\n+ "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",\n+ "dev": true\n+ },\n+ "number-is-nan": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",\n+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",\n+ "dev": true\n+ },\n+ "oauth-sign": {\n+ "version": "0.8.2",\n+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",\n+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",\n+ "dev": true\n+ },\n+ "object-assign": {\n+ "version": "4.1.1",\n+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",\n+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",\n+ "dev": true\n+ },\n+ "object-component": {\n+ "version": "0.0.3",\n+ "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",\n+ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",\n+ "dev": true\n+ },\n+ "object.omit": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",\n+ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",\n+ "dev": true,\n+ "requires": {\n+ "for-own": "^0.1.4",\n+ "is-extendable": "^0.1.1"\n+ }\n+ },\n+ "on-finished": {\n+ "version": "2.3.0",\n+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",\n+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",\n+ "dev": true,\n+ "requires": {\n+ "ee-first": "1.1.1"\n+ }\n+ },\n+ "once": {\n+ "version": "1.4.0",\n+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",\n+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",\n+ "dev": true,\n+ "requires": {\n+ "wrappy": "1"\n+ }\n+ },\n+ "optimist": {\n+ "version": "0.6.1",\n+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",\n+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",\n+ "dev": true,\n+ "requires": {\n+ "minimist": "~0.0.1",\n+ "wordwrap": "~0.0.2"\n+ },\n+ "dependencies": {\n+ "minimist": {\n+ "version": "0.0.10",\n+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",\n+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "optionator": {\n+ "version": "0.8.2",\n+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",\n+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",\n+ "dev": true,\n+ "requires": {\n+ "deep-is": "~0.1.3",\n+ "fast-levenshtein": "~2.0.4",\n+ "levn": "~0.3.0",\n+ "prelude-ls": "~1.1.2",\n+ "type-check": "~0.3.2",\n+ "wordwrap": "~1.0.0"\n+ },\n+ "dependencies": {\n+ "wordwrap": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",\n+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "options": {\n+ "version": "0.0.6",\n+ "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",\n+ "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",\n+ "dev": true\n+ },\n+ "ordered-read-streams": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",\n+ "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",\n+ "dev": true,\n+ "requires": {\n+ "is-stream": "^1.0.1",\n+ "readable-stream": "^2.0.1"\n+ },\n+ "dependencies": {\n+ "isarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",\n+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",\n+ "dev": true\n+ },\n+ "readable-stream": {\n+ "version": "2.3.6",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",\n+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.3",\n+ "isarray": "~1.0.0",\n+ "process-nextick-args": "~2.0.0",\n+ "safe-buffer": "~5.1.1",\n+ "string_decoder": "~1.1.1",\n+ "util-deprecate": "~1.0.1"\n+ }\n+ },\n+ "string_decoder": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",\n+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.0"\n+ }\n+ }\n+ }\n+ },\n+ "os-tmpdir": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",\n+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",\n+ "dev": true\n+ },\n+ "pako": {\n+ "version": "0.2.9",\n+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",\n+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",\n+ "dev": true\n+ },\n+ "parse-glob": {\n+ "version": "3.0.4",\n+ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",\n+ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",\n+ "dev": true,\n+ "requires": {\n+ "glob-base": "^0.3.0",\n+ "is-dotfile": "^1.0.0",\n+ "is-extglob": "^1.0.0",\n+ "is-glob": "^2.0.0"\n+ }\n+ },\n+ "parse-json": {\n+ "version": "2.2.0",\n+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",\n+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",\n+ "dev": true,\n+ "requires": {\n+ "error-ex": "^1.2.0"\n+ }\n+ },\n+ "parsejson": {\n+ "version": "0.0.3",\n+ "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",\n+ "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",\n+ "dev": true,\n+ "requires": {\n+ "better-assert": "~1.0.0"\n+ }\n+ },\n+ "parseqs": {\n+ "version": "0.0.5",\n+ "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",\n+ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",\n+ "dev": true,\n+ "requires": {\n+ "better-assert": "~1.0.0"\n+ }\n+ },\n+ "parseuri": {\n+ "version": "0.0.5",\n+ "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",\n+ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",\n+ "dev": true,\n+ "requires": {\n+ "better-assert": "~1.0.0"\n+ }\n+ },\n+ "parseurl": {\n+ "version": "1.3.2",\n+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",\n+ "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",\n+ "dev": true\n+ },\n+ "path-dirname": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",\n+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",\n+ "dev": true\n+ },\n+ "path-exists": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",\n+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",\n+ "dev": true,\n+ "requires": {\n+ "pinkie-promise": "^2.0.0"\n+ }\n+ },\n+ "path-is-absolute": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",\n+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",\n+ "dev": true\n+ },\n+ "path-type": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",\n+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",\n+ "dev": true,\n+ "requires": {\n+ "graceful-fs": "^4.1.2",\n+ "pify": "^2.0.0",\n+ "pinkie-promise": "^2.0.0"\n+ }\n+ },\n+ "pend": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",\n+ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",\n+ "dev": true\n+ },\n+ "performance-now": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",\n+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",\n+ "dev": true\n+ },\n+ "phantom": {\n+ "version": "4.0.12",\n+ "resolved": "https://registry.npmjs.org/phantom/-/phantom-4.0.12.tgz",\n+ "integrity": "sha512-Tz82XhtPmwCk1FFPmecy7yRGZG2btpzY2KI9fcoPT7zT9det0CcMyfBFPp1S8DqzsnQnm8ZYEfdy528mwVtksA==",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "phantomjs-prebuilt": "^2.1.16",\n+ "split": "^1.0.1",\n+ "winston": "^2.4.0"\n+ }\n+ },\n+ "phantomjs-prebuilt": {\n+ "version": "2.1.16",\n+ "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",\n+ "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",\n+ "dev": true,\n+ "requires": {\n+ "es6-promise": "^4.0.3",\n+ "extract-zip": "^1.6.5",\n+ "fs-extra": "^1.0.0",\n+ "hasha": "^2.2.0",\n+ "kew": "^0.7.0",\n+ "progress": "^1.1.8",\n+ "request": "^2.81.0",\n+ "request-progress": "^2.0.1",\n+ "which": "^1.2.10"\n+ },\n+ "dependencies": {\n+ "assert-plus": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",\n+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",\n+ "dev": true\n+ },\n+ "aws-sign2": {\n+ "version": "0.7.0",\n+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",\n+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",\n+ "dev": true\n+ },\n+ "caseless": {\n+ "version": "0.12.0",\n+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",\n+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",\n+ "dev": true\n+ },\n+ "form-data": {\n+ "version": "2.3.2",\n+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",\n+ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",\n+ "dev": true,\n+ "requires": {\n+ "asynckit": "^0.4.0",\n+ "combined-stream": "1.0.6",\n+ "mime-types": "^2.1.12"\n+ }\n+ },\n+ "har-validator": {\n+ "version": "5.1.0",\n+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",\n+ "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",\n+ "dev": true,\n+ "requires": {\n+ "ajv": "^5.3.0",\n+ "har-schema": "^2.0.0"\n+ }\n+ },\n+ "http-signature": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",\n+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",\n+ "dev": true,\n+ "requires": {\n+ "assert-plus": "^1.0.0",\n+ "jsprim": "^1.2.2",\n+ "sshpk": "^1.7.0"\n+ }\n+ },\n+ "oauth-sign": {\n+ "version": "0.9.0",\n+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",\n+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",\n+ "dev": true\n+ },\n+ "qs": {\n+ "version": "6.5.2",\n+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",\n+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",\n+ "dev": true\n+ },\n+ "request": {\n+ "version": "2.88.0",\n+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",\n+ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",\n+ "dev": true,\n+ "requires": {\n+ "aws-sign2": "~0.7.0",\n+ "aws4": "^1.8.0",\n+ "caseless": "~0.12.0",\n+ "combined-stream": "~1.0.6",\n+ "extend": "~3.0.2",\n+ "forever-agent": "~0.6.1",\n+ "form-data": "~2.3.2",\n+ "har-validator": "~5.1.0",\n+ "http-signature": "~1.2.0",\n+ "is-typedarray": "~1.0.0",\n+ "isstream": "~0.1.2",\n+ "json-stringify-safe": "~5.0.1",\n+ "mime-types": "~2.1.19",\n+ "oauth-sign": "~0.9.0",\n+ "performance-now": "^2.1.0",\n+ "qs": "~6.5.2",\n+ "safe-buffer": "^5.1.2",\n+ "tough-cookie": "~2.4.3",\n+ "tunnel-agent": "^0.6.0",\n+ "uuid": "^3.3.2"\n+ }\n+ },\n+ "tough-cookie": {\n+ "version": "2.4.3",\n+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",\n+ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",\n+ "dev": true,\n+ "requires": {\n+ "psl": "^1.1.24",\n+ "punycode": "^1.4.1"\n+ }\n+ },\n+ "tunnel-agent": {\n+ "version": "0.6.0",\n+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",\n+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "^5.0.1"\n+ }\n+ }\n+ }\n+ },\n+ "pify": {\n+ "version": "2.3.0",\n+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",\n+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",\n+ "dev": true\n+ },\n+ "pinkie": {\n+ "version": "2.0.4",\n+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",\n+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",\n+ "dev": true\n+ },\n+ "pinkie-promise": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",\n+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",\n+ "dev": true,\n+ "requires": {\n+ "pinkie": "^2.0.0"\n+ }\n+ },\n+ "prelude-ls": {\n+ "version": "1.1.2",\n+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",\n+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",\n+ "dev": true\n+ },\n+ "preserve": {\n+ "version": "0.2.0",\n+ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",\n+ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",\n+ "dev": true\n+ },\n+ "pretty-bytes": {\n+ "version": "1.0.4",\n+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",\n+ "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",\n+ "dev": true,\n+ "requires": {\n+ "get-stdin": "^4.0.1",\n+ "meow": "^3.1.0"\n+ }\n+ },\n+ "process-nextick-args": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",\n+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",\n+ "dev": true\n+ },\n+ "progress": {\n+ "version": "1.1.8",\n+ "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",\n+ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",\n+ "dev": true\n+ },\n+ "promise": {\n+ "version": "7.3.1",\n+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",\n+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "asap": "~2.0.3"\n+ }\n+ },\n+ "prr": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",\n+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "pseudomap": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",\n+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",\n+ "dev": true\n+ },\n+ "psl": {\n+ "version": "1.1.29",\n+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",\n+ "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",\n+ "dev": true\n+ },\n+ "punycode": {\n+ "version": "1.4.1",\n+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",\n+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",\n+ "dev": true\n+ },\n+ "q": {\n+ "version": "1.5.1",\n+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",\n+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",\n+ "dev": true\n+ },\n+ "qs": {\n+ "version": "6.3.2",\n+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",\n+ "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",\n+ "dev": true\n+ },\n+ "randomatic": {\n+ "version": "3.1.0",\n+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz",\n+ "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==",\n+ "dev": true,\n+ "requires": {\n+ "is-number": "^4.0.0",\n+ "kind-of": "^6.0.0",\n+ "math-random": "^1.0.1"\n+ },\n+ "dependencies": {\n+ "is-number": {\n+ "version": "4.0.0",\n+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",\n+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",\n+ "dev": true\n+ },\n+ "kind-of": {\n+ "version": "6.0.2",\n+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",\n+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "raw-body": {\n+ "version": "2.1.7",\n+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",\n+ "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",\n+ "dev": true,\n+ "requires": {\n+ "bytes": "2.4.0",\n+ "iconv-lite": "0.4.13",\n+ "unpipe": "1.0.0"\n+ },\n+ "dependencies": {\n+ "bytes": {\n+ "version": "2.4.0",\n+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",\n+ "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=",\n+ "dev": true\n+ },\n+ "iconv-lite": {\n+ "version": "0.4.13",\n+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",\n+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "read-pkg": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",\n+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",\n+ "dev": true,\n+ "requires": {\n+ "load-json-file": "^1.0.0",\n+ "normalize-package-data": "^2.3.2",\n+ "path-type": "^1.0.0"\n+ }\n+ },\n+ "read-pkg-up": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",\n+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",\n+ "dev": true,\n+ "requires": {\n+ "find-up": "^1.0.0",\n+ "read-pkg": "^1.0.0"\n+ }\n+ },\n+ "readable-stream": {\n+ "version": "1.1.14",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",\n+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ },\n+ "readdirp": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz",\n+ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",\n+ "dev": true,\n+ "requires": {\n+ "graceful-fs": "^4.1.2",\n+ "minimatch": "^3.0.2",\n+ "readable-stream": "^2.0.2",\n+ "set-immediate-shim": "^1.0.1"\n+ },\n+ "dependencies": {\n+ "isarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",\n+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",\n+ "dev": true\n+ },\n+ "readable-stream": {\n+ "version": "2.3.6",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",\n+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.3",\n+ "isarray": "~1.0.0",\n+ "process-nextick-args": "~2.0.0",\n+ "safe-buffer": "~5.1.1",\n+ "string_decoder": "~1.1.1",\n+ "util-deprecate": "~1.0.1"\n+ }\n+ },\n+ "string_decoder": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",\n+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.0"\n+ }\n+ }\n+ }\n+ },\n+ "redent": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",\n+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",\n+ "dev": true,\n+ "requires": {\n+ "indent-string": "^2.1.0",\n+ "strip-indent": "^1.0.1"\n+ }\n+ },\n+ "regex-cache": {\n+ "version": "0.4.4",\n+ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",\n+ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",\n+ "dev": true,\n+ "requires": {\n+ "is-equal-shallow": "^0.1.3"\n+ }\n+ },\n+ "remove-trailing-separator": {\n+ "version": "1.1.0",\n+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",\n+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",\n+ "dev": true\n+ },\n+ "repeat-element": {\n+ "version": "1.1.3",\n+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",\n+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",\n+ "dev": true\n+ },\n+ "repeat-string": {\n+ "version": "1.6.1",\n+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",\n+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",\n+ "dev": true\n+ },\n+ "repeating": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",\n+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",\n+ "dev": true,\n+ "requires": {\n+ "is-finite": "^1.0.0"\n+ }\n+ },\n+ "replace": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/replace/-/replace-0.3.0.tgz",\n+ "integrity": "sha1-YAgXIRiGWFlatqeU63/ty0yNOcc=",\n+ "dev": true,\n+ "requires": {\n+ "colors": "0.5.x",\n+ "minimatch": "~0.2.9",\n+ "nomnom": "1.6.x"\n+ },\n+ "dependencies": {\n+ "colors": {\n+ "version": "0.5.1",\n+ "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz",\n+ "integrity": "sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q=",\n+ "dev": true\n+ },\n+ "minimatch": {\n+ "version": "0.2.14",\n+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",\n+ "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",\n+ "dev": true,\n+ "requires": {\n+ "lru-cache": "2",\n+ "sigmund": "~1.0.0"\n+ }\n+ }\n+ }\n+ },\n+ "replace-ext": {\n+ "version": "0.0.1",\n+ "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",\n+ "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",\n+ "dev": true\n+ },\n+ "request": {\n+ "version": "2.79.0",\n+ "resolved": "http://registry.npmjs.org/request/-/request-2.79.0.tgz",\n+ "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",\n+ "dev": true,\n+ "requires": {\n+ "aws-sign2": "~0.6.0",\n+ "aws4": "^1.2.1",\n+ "caseless": "~0.11.0",\n+ "combined-stream": "~1.0.5",\n+ "extend": "~3.0.0",\n+ "forever-agent": "~0.6.1",\n+ "form-data": "~2.1.1",\n+ "har-validator": "~2.0.6",\n+ "hawk": "~3.1.3",\n+ "http-signature": "~1.1.0",\n+ "is-typedarray": "~1.0.0",\n+ "isstream": "~0.1.2",\n+ "json-stringify-safe": "~5.0.1",\n+ "mime-types": "~2.1.7",\n+ "oauth-sign": "~0.8.1",\n+ "qs": "~6.3.0",\n+ "stringstream": "~0.0.4",\n+ "tough-cookie": "~2.3.0",\n+ "tunnel-agent": "~0.4.1",\n+ "uuid": "^3.0.0"\n+ }\n+ },\n+ "request-progress": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",\n+ "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",\n+ "dev": true,\n+ "requires": {\n+ "throttleit": "^1.0.0"\n+ }\n+ },\n+ "requirejs": {\n+ "version": "2.2.0",\n+ "resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.2.0.tgz",\n+ "integrity": "sha1-DysVOK8rjQpP///eXTZ6qc1M/oQ=",\n+ "dev": true\n+ },\n+ "requires-port": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",\n+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",\n+ "dev": true\n+ },\n+ "resolve": {\n+ "version": "1.1.7",\n+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",\n+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",\n+ "dev": true\n+ },\n+ "right-align": {\n+ "version": "0.1.3",\n+ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",\n+ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",\n+ "dev": true,\n+ "requires": {\n+ "align-text": "^0.1.1"\n+ }\n+ },\n+ "rimraf": {\n+ "version": "2.6.2",\n+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",\n+ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",\n+ "dev": true,\n+ "requires": {\n+ "glob": "^7.0.5"\n+ }\n+ },\n+ "safe-buffer": {\n+ "version": "5.1.2",\n+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",\n+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",\n+ "dev": true\n+ },\n+ "safer-buffer": {\n+ "version": "2.1.2",\n+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",\n+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",\n+ "dev": true\n+ },\n+ "sauce-connect-launcher": {\n+ "version": "0.13.0",\n+ "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.13.0.tgz",\n+ "integrity": "sha1-JdffnaFqXtHKoT30JMtXywttWiI=",\n+ "dev": true,\n+ "requires": {\n+ "adm-zip": "~0.4.3",\n+ "async": "1.4.0",\n+ "lodash": "3.10.1",\n+ "rimraf": "2.4.3"\n+ },\n+ "dependencies": {\n+ "async": {\n+ "version": "1.4.0",\n+ "resolved": "https://registry.npmjs.org/async/-/async-1.4.0.tgz",\n+ "integrity": "sha1-Nfhvg8WeBCHQmc2akdgnj7V4wA0=",\n+ "dev": true\n+ },\n+ "glob": {\n+ "version": "5.0.15",\n+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",\n+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",\n+ "dev": true,\n+ "requires": {\n+ "inflight": "^1.0.4",\n+ "inherits": "2",\n+ "minimatch": "2 || 3",\n+ "once": "^1.3.0",\n+ "path-is-absolute": "^1.0.0"\n+ }\n+ },\n+ "lodash": {\n+ "version": "3.10.1",\n+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",\n+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",\n+ "dev": true\n+ },\n+ "rimraf": {\n+ "version": "2.4.3",\n+ "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.3.tgz",\n+ "integrity": "sha1-5bUclDekxYKtuVXp8oz42UXicq8=",\n+ "dev": true,\n+ "requires": {\n+ "glob": "^5.0.14"\n+ }\n+ }\n+ }\n+ },\n+ "saucelabs": {\n+ "version": "1.5.0",\n+ "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",\n+ "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",\n+ "dev": true,\n+ "requires": {\n+ "https-proxy-agent": "^2.2.1"\n+ }\n+ },\n+ "semver": {\n+ "version": "5.5.1",\n+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz",\n+ "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==",\n+ "dev": true\n+ },\n+ "set-immediate-shim": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",\n+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",\n+ "dev": true\n+ },\n+ "shelljs": {\n+ "version": "0.3.0",\n+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",\n+ "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",\n+ "dev": true\n+ },\n+ "sigmund": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",\n+ "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",\n+ "dev": true\n+ },\n+ "signal-exit": {\n+ "version": "3.0.2",\n+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",\n+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",\n+ "dev": true\n+ },\n+ "sntp": {\n+ "version": "1.0.9",\n+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",\n+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",\n+ "dev": true,\n+ "requires": {\n+ "hoek": "2.x.x"\n+ }\n+ },\n+ "socket.io": {\n+ "version": "1.7.4",\n+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.4.tgz",\n+ "integrity": "sha1-L37O3DORvy1cc+KR/iM+bjTU3QA=",\n+ "dev": true,\n+ "requires": {\n+ "debug": "2.3.3",\n+ "engine.io": "~1.8.4",\n+ "has-binary": "0.1.7",\n+ "object-assign": "4.1.0",\n+ "socket.io-adapter": "0.5.0",\n+ "socket.io-client": "1.7.4",\n+ "socket.io-parser": "2.3.1"\n+ },\n+ "dependencies": {\n+ "debug": {\n+ "version": "2.3.3",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz",\n+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.2"\n+ }\n+ },\n+ "ms": {\n+ "version": "0.7.2",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",\n+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",\n+ "dev": true\n+ },\n+ "object-assign": {\n+ "version": "4.1.0",\n+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",\n+ "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "socket.io-adapter": {\n+ "version": "0.5.0",\n+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",\n+ "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",\n+ "dev": true,\n+ "requires": {\n+ "debug": "2.3.3",\n+ "socket.io-parser": "2.3.1"\n+ },\n+ "dependencies": {\n+ "debug": {\n+ "version": "2.3.3",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz",\n+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.2"\n+ }\n+ },\n+ "ms": {\n+ "version": "0.7.2",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",\n+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "socket.io-client": {\n+ "version": "1.7.4",\n+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.4.tgz",\n+ "integrity": "sha1-7J+CA1btme9tNX8HVtZIcXvdQoE=",\n+ "dev": true,\n+ "requires": {\n+ "backo2": "1.0.2",\n+ "component-bind": "1.0.0",\n+ "component-emitter": "1.2.1",\n+ "debug": "2.3.3",\n+ "engine.io-client": "~1.8.4",\n+ "has-binary": "0.1.7",\n+ "indexof": "0.0.1",\n+ "object-component": "0.0.3",\n+ "parseuri": "0.0.5",\n+ "socket.io-parser": "2.3.1",\n+ "to-array": "0.1.4"\n+ },\n+ "dependencies": {\n+ "component-emitter": {\n+ "version": "1.2.1",\n+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",\n+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",\n+ "dev": true\n+ },\n+ "debug": {\n+ "version": "2.3.3",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz",\n+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.2"\n+ }\n+ },\n+ "ms": {\n+ "version": "0.7.2",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",\n+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "socket.io-parser": {\n+ "version": "2.3.1",\n+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",\n+ "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",\n+ "dev": true,\n+ "requires": {\n+ "component-emitter": "1.1.2",\n+ "debug": "2.2.0",\n+ "isarray": "0.0.1",\n+ "json3": "3.3.2"\n+ },\n+ "dependencies": {\n+ "debug": {\n+ "version": "2.2.0",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",\n+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.1"\n+ }\n+ },\n+ "ms": {\n+ "version": "0.7.1",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",\n+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "source-map": {\n+ "version": "0.5.7",\n+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",\n+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",\n+ "dev": true\n+ },\n+ "spdx-correct": {\n+ "version": "3.0.0",\n+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",\n+ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",\n+ "dev": true,\n+ "requires": {\n+ "spdx-expression-parse": "^3.0.0",\n+ "spdx-license-ids": "^3.0.0"\n+ }\n+ },\n+ "spdx-exceptions": {\n+ "version": "2.1.0",\n+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",\n+ "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",\n+ "dev": true\n+ },\n+ "spdx-expression-parse": {\n+ "version": "3.0.0",\n+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",\n+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",\n+ "dev": true,\n+ "requires": {\n+ "spdx-exceptions": "^2.1.0",\n+ "spdx-license-ids": "^3.0.0"\n+ }\n+ },\n+ "spdx-license-ids": {\n+ "version": "3.0.1",\n+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz",\n+ "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==",\n+ "dev": true\n+ },\n+ "split": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",\n+ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "through": "2"\n+ }\n+ },\n+ "sprintf-js": {\n+ "version": "1.0.3",\n+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",\n+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",\n+ "dev": true\n+ },\n+ "sshpk": {\n+ "version": "1.14.2",\n+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",\n+ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",\n+ "dev": true,\n+ "requires": {\n+ "asn1": "~0.2.3",\n+ "assert-plus": "^1.0.0",\n+ "bcrypt-pbkdf": "^1.0.0",\n+ "dashdash": "^1.12.0",\n+ "ecc-jsbn": "~0.1.1",\n+ "getpass": "^0.1.1",\n+ "jsbn": "~0.1.0",\n+ "safer-buffer": "^2.0.2",\n+ "tweetnacl": "~0.14.0"\n+ },\n+ "dependencies": {\n+ "assert-plus": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",\n+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "stack-trace": {\n+ "version": "0.0.10",\n+ "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",\n+ "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "statuses": {\n+ "version": "1.5.0",\n+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",\n+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",\n+ "dev": true\n+ },\n+ "stream-shift": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",\n+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",\n+ "dev": true\n+ },\n+ "string_decoder": {\n+ "version": "0.10.31",\n+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",\n+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",\n+ "dev": true\n+ },\n+ "stringstream": {\n+ "version": "0.0.6",\n+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",\n+ "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",\n+ "dev": true\n+ },\n+ "strip-ansi": {\n+ "version": "3.0.1",\n+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",\n+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",\n+ "dev": true,\n+ "requires": {\n+ "ansi-regex": "^2.0.0"\n+ }\n+ },\n+ "strip-bom": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",\n+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",\n+ "dev": true,\n+ "requires": {\n+ "is-utf8": "^0.2.0"\n+ }\n+ },\n+ "strip-bom-stream": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",\n+ "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",\n+ "dev": true,\n+ "requires": {\n+ "first-chunk-stream": "^1.0.0",\n+ "strip-bom": "^2.0.0"\n+ }\n+ },\n+ "strip-indent": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",\n+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",\n+ "dev": true,\n+ "requires": {\n+ "get-stdin": "^4.0.1"\n+ }\n+ },\n+ "strip-json-comments": {\n+ "version": "1.0.4",\n+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",\n+ "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",\n+ "dev": true\n+ },\n+ "supports-color": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",\n+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",\n+ "dev": true\n+ },\n+ "tar-stream": {\n+ "version": "1.1.5",\n+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz",\n+ "integrity": "sha1-vpIYwTDCACnhB7D5Z/sj3gV50Tw=",\n+ "dev": true,\n+ "requires": {\n+ "bl": "^0.9.0",\n+ "end-of-stream": "^1.0.0",\n+ "readable-stream": "~1.0.33",\n+ "xtend": "^4.0.0"\n+ },\n+ "dependencies": {\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ }\n+ }\n+ },\n+ "throttleit": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",\n+ "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",\n+ "dev": true\n+ },\n+ "through": {\n+ "version": "2.3.8",\n+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",\n+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "through2": {\n+ "version": "2.0.3",\n+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",\n+ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",\n+ "dev": true,\n+ "requires": {\n+ "readable-stream": "^2.1.5",\n+ "xtend": "~4.0.1"\n+ },\n+ "dependencies": {\n+ "isarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",\n+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",\n+ "dev": true\n+ },\n+ "readable-stream": {\n+ "version": "2.3.6",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",\n+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.3",\n+ "isarray": "~1.0.0",\n+ "process-nextick-args": "~2.0.0",\n+ "safe-buffer": "~5.1.1",\n+ "string_decoder": "~1.1.1",\n+ "util-deprecate": "~1.0.1"\n+ }\n+ },\n+ "string_decoder": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",\n+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.0"\n+ }\n+ }\n+ }\n+ },\n+ "through2-filter": {\n+ "version": "2.0.0",\n+ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",\n+ "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",\n+ "dev": true,\n+ "requires": {\n+ "through2": "~2.0.0",\n+ "xtend": "~4.0.0"\n+ }\n+ },\n+ "tiny-lr": {\n+ "version": "0.2.1",\n+ "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",\n+ "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",\n+ "dev": true,\n+ "requires": {\n+ "body-parser": "~1.14.0",\n+ "debug": "~2.2.0",\n+ "faye-websocket": "~0.10.0",\n+ "livereload-js": "^2.2.0",\n+ "parseurl": "~1.3.0",\n+ "qs": "~5.1.0"\n+ },\n+ "dependencies": {\n+ "debug": {\n+ "version": "2.2.0",\n+ "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",\n+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",\n+ "dev": true,\n+ "requires": {\n+ "ms": "0.7.1"\n+ }\n+ },\n+ "ms": {\n+ "version": "0.7.1",\n+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",\n+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",\n+ "dev": true\n+ },\n+ "qs": {\n+ "version": "5.1.0",\n+ "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",\n+ "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "tmp": {\n+ "version": "0.0.33",\n+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",\n+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",\n+ "dev": true,\n+ "requires": {\n+ "os-tmpdir": "~1.0.2"\n+ }\n+ },\n+ "to-absolute-glob": {\n+ "version": "0.1.1",\n+ "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",\n+ "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",\n+ "dev": true,\n+ "requires": {\n+ "extend-shallow": "^2.0.1"\n+ }\n+ },\n+ "to-array": {\n+ "version": "0.1.4",\n+ "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",\n+ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",\n+ "dev": true\n+ },\n+ "to-iso-string": {\n+ "version": "0.0.2",\n+ "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz",\n+ "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=",\n+ "dev": true\n+ },\n+ "tough-cookie": {\n+ "version": "2.3.4",\n+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",\n+ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",\n+ "dev": true,\n+ "requires": {\n+ "punycode": "^1.4.1"\n+ }\n+ },\n+ "trim-newlines": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",\n+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",\n+ "dev": true\n+ },\n+ "tunnel-agent": {\n+ "version": "0.4.3",\n+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",\n+ "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",\n+ "dev": true\n+ },\n+ "tweetnacl": {\n+ "version": "0.14.5",\n+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",\n+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "type-check": {\n+ "version": "0.3.2",\n+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",\n+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",\n+ "dev": true,\n+ "requires": {\n+ "prelude-ls": "~1.1.2"\n+ }\n+ },\n+ "type-detect": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",\n+ "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=",\n+ "dev": true\n+ },\n+ "type-is": {\n+ "version": "1.6.16",\n+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",\n+ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",\n+ "dev": true,\n+ "requires": {\n+ "media-typer": "0.3.0",\n+ "mime-types": "~2.1.18"\n+ }\n+ },\n+ "typedarray": {\n+ "version": "0.0.6",\n+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",\n+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",\n+ "dev": true\n+ },\n+ "uglify-js": {\n+ "version": "2.6.4",\n+ "resolved": "http://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz",\n+ "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=",\n+ "dev": true,\n+ "requires": {\n+ "async": "~0.2.6",\n+ "source-map": "~0.5.1",\n+ "uglify-to-browserify": "~1.0.0",\n+ "yargs": "~3.10.0"\n+ },\n+ "dependencies": {\n+ "async": {\n+ "version": "0.2.10",\n+ "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",\n+ "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "uglify-to-browserify": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",\n+ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",\n+ "dev": true\n+ },\n+ "ultron": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",\n+ "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",\n+ "dev": true\n+ },\n+ "underscore": {\n+ "version": "1.4.4",\n+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz",\n+ "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=",\n+ "dev": true\n+ },\n+ "underscore.string": {\n+ "version": "3.3.4",\n+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",\n+ "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",\n+ "dev": true,\n+ "requires": {\n+ "sprintf-js": "^1.0.3",\n+ "util-deprecate": "^1.0.2"\n+ }\n+ },\n+ "unicode-5.2.0": {\n+ "version": "0.7.5",\n+ "resolved": "https://registry.npmjs.org/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz",\n+ "integrity": "sha512-KVGLW1Bri30x00yv4HNM8kBxoqFXr0Sbo55735nvrlsx4PYBZol3UtoWgO492fSwmsetzPEZzy73rbU8OGXJcA==",\n+ "dev": true\n+ },\n+ "unique-stream": {\n+ "version": "2.2.1",\n+ "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz",\n+ "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",\n+ "dev": true,\n+ "requires": {\n+ "json-stable-stringify": "^1.0.0",\n+ "through2-filter": "^2.0.0"\n+ }\n+ },\n+ "unpipe": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",\n+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",\n+ "dev": true\n+ },\n+ "uri-path": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz",\n+ "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=",\n+ "dev": true\n+ },\n+ "useragent": {\n+ "version": "2.3.0",\n+ "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",\n+ "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",\n+ "dev": true,\n+ "requires": {\n+ "lru-cache": "4.1.x",\n+ "tmp": "0.0.x"\n+ },\n+ "dependencies": {\n+ "lru-cache": {\n+ "version": "4.1.3",\n+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",\n+ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",\n+ "dev": true,\n+ "requires": {\n+ "pseudomap": "^1.0.2",\n+ "yallist": "^2.1.2"\n+ }\n+ }\n+ }\n+ },\n+ "util-deprecate": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",\n+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",\n+ "dev": true\n+ },\n+ "utils-merge": {\n+ "version": "1.0.1",\n+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",\n+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",\n+ "dev": true\n+ },\n+ "uuid": {\n+ "version": "3.3.2",\n+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",\n+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",\n+ "dev": true\n+ },\n+ "vali-date": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",\n+ "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",\n+ "dev": true\n+ },\n+ "validate-npm-package-license": {\n+ "version": "3.0.4",\n+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",\n+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",\n+ "dev": true,\n+ "requires": {\n+ "spdx-correct": "^3.0.0",\n+ "spdx-expression-parse": "^3.0.0"\n+ }\n+ },\n+ "vargs": {\n+ "version": "0.1.0",\n+ "resolved": "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz",\n+ "integrity": "sha1-a2GE2mUgzDIEzhtAfKwm2SYJ6/8=",\n+ "dev": true\n+ },\n+ "verror": {\n+ "version": "1.10.0",\n+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",\n+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",\n+ "dev": true,\n+ "requires": {\n+ "assert-plus": "^1.0.0",\n+ "core-util-is": "1.0.2",\n+ "extsprintf": "^1.2.0"\n+ },\n+ "dependencies": {\n+ "assert-plus": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",\n+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "vinyl": {\n+ "version": "1.2.0",\n+ "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",\n+ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",\n+ "dev": true,\n+ "requires": {\n+ "clone": "^1.0.0",\n+ "clone-stats": "^0.0.1",\n+ "replace-ext": "0.0.1"\n+ }\n+ },\n+ "vinyl-fs": {\n+ "version": "2.4.4",\n+ "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",\n+ "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",\n+ "dev": true,\n+ "requires": {\n+ "duplexify": "^3.2.0",\n+ "glob-stream": "^5.3.2",\n+ "graceful-fs": "^4.0.0",\n+ "gulp-sourcemaps": "1.6.0",\n+ "is-valid-glob": "^0.3.0",\n+ "lazystream": "^1.0.0",\n+ "lodash.isequal": "^4.0.0",\n+ "merge-stream": "^1.0.0",\n+ "mkdirp": "^0.5.0",\n+ "object-assign": "^4.0.0",\n+ "readable-stream": "^2.0.4",\n+ "strip-bom": "^2.0.0",\n+ "strip-bom-stream": "^1.0.0",\n+ "through2": "^2.0.0",\n+ "through2-filter": "^2.0.0",\n+ "vali-date": "^1.0.0",\n+ "vinyl": "^1.0.0"\n+ },\n+ "dependencies": {\n+ "isarray": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",\n+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",\n+ "dev": true\n+ },\n+ "lazystream": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",\n+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",\n+ "dev": true,\n+ "requires": {\n+ "readable-stream": "^2.0.5"\n+ }\n+ },\n+ "readable-stream": {\n+ "version": "2.3.6",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",\n+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.3",\n+ "isarray": "~1.0.0",\n+ "process-nextick-args": "~2.0.0",\n+ "safe-buffer": "~5.1.1",\n+ "string_decoder": "~1.1.1",\n+ "util-deprecate": "~1.0.1"\n+ }\n+ },\n+ "string_decoder": {\n+ "version": "1.1.1",\n+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",\n+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",\n+ "dev": true,\n+ "requires": {\n+ "safe-buffer": "~5.1.0"\n+ }\n+ }\n+ }\n+ },\n+ "void-elements": {\n+ "version": "2.0.1",\n+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",\n+ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",\n+ "dev": true\n+ },\n+ "wd": {\n+ "version": "0.3.12",\n+ "resolved": "https://registry.npmjs.org/wd/-/wd-0.3.12.tgz",\n+ "integrity": "sha1-P7Tx11n4yF3eU5PRczT/4D6bsyk=",\n+ "dev": true,\n+ "requires": {\n+ "archiver": "~0.14.0",\n+ "async": "~1.0.0",\n+ "lodash": "~3.9.3",\n+ "q": "~1.4.1",\n+ "request": "~2.55.0",\n+ "underscore.string": "~3.0.3",\n+ "vargs": "~0.1.0"\n+ },\n+ "dependencies": {\n+ "asn1": {\n+ "version": "0.1.11",\n+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",\n+ "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=",\n+ "dev": true\n+ },\n+ "assert-plus": {\n+ "version": "0.1.5",\n+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",\n+ "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=",\n+ "dev": true\n+ },\n+ "async": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",\n+ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",\n+ "dev": true\n+ },\n+ "aws-sign2": {\n+ "version": "0.5.0",\n+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",\n+ "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=",\n+ "dev": true\n+ },\n+ "caseless": {\n+ "version": "0.9.0",\n+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz",\n+ "integrity": "sha1-t7Zc5r8UE4hlOc/VM/CzDv+pz4g=",\n+ "dev": true\n+ },\n+ "combined-stream": {\n+ "version": "0.0.7",\n+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",\n+ "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",\n+ "dev": true,\n+ "requires": {\n+ "delayed-stream": "0.0.5"\n+ }\n+ },\n+ "delayed-stream": {\n+ "version": "0.0.5",\n+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz",\n+ "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=",\n+ "dev": true\n+ },\n+ "form-data": {\n+ "version": "0.2.0",\n+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",\n+ "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=",\n+ "dev": true,\n+ "requires": {\n+ "async": "~0.9.0",\n+ "combined-stream": "~0.0.4",\n+ "mime-types": "~2.0.3"\n+ },\n+ "dependencies": {\n+ "async": {\n+ "version": "0.9.2",\n+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",\n+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "har-validator": {\n+ "version": "1.8.0",\n+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz",\n+ "integrity": "sha1-2DhCsOtMQ1lgrrEIoGejqpTA7rI=",\n+ "dev": true,\n+ "requires": {\n+ "bluebird": "^2.9.30",\n+ "chalk": "^1.0.0",\n+ "commander": "^2.8.1",\n+ "is-my-json-valid": "^2.12.0"\n+ }\n+ },\n+ "hawk": {\n+ "version": "2.3.1",\n+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz",\n+ "integrity": "sha1-HnMc45RH+h0PbXB/e87r7A/R7B8=",\n+ "dev": true,\n+ "requires": {\n+ "boom": "2.x.x",\n+ "cryptiles": "2.x.x",\n+ "hoek": "2.x.x",\n+ "sntp": "1.x.x"\n+ }\n+ },\n+ "http-signature": {\n+ "version": "0.10.1",\n+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz",\n+ "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=",\n+ "dev": true,\n+ "requires": {\n+ "asn1": "0.1.11",\n+ "assert-plus": "^0.1.5",\n+ "ctype": "0.5.3"\n+ }\n+ },\n+ "lodash": {\n+ "version": "3.9.3",\n+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.9.3.tgz",\n+ "integrity": "sha1-AVnoaDL+/8bWHYUrEqlTuZSWvTI=",\n+ "dev": true\n+ },\n+ "mime-db": {\n+ "version": "1.12.0",\n+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz",\n+ "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=",\n+ "dev": true\n+ },\n+ "mime-types": {\n+ "version": "2.0.14",\n+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",\n+ "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=",\n+ "dev": true,\n+ "requires": {\n+ "mime-db": "~1.12.0"\n+ }\n+ },\n+ "node-uuid": {\n+ "version": "1.4.8",\n+ "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz",\n+ "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=",\n+ "dev": true\n+ },\n+ "oauth-sign": {\n+ "version": "0.6.0",\n+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz",\n+ "integrity": "sha1-fb6uRPbKRU4fFoRR1jB0ZzWBPOM=",\n+ "dev": true\n+ },\n+ "q": {\n+ "version": "1.4.1",\n+ "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",\n+ "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",\n+ "dev": true\n+ },\n+ "qs": {\n+ "version": "2.4.2",\n+ "resolved": "https://registry.npmjs.org/qs/-/qs-2.4.2.tgz",\n+ "integrity": "sha1-9854jld33wtQENp/fE5zujJHD1o=",\n+ "dev": true\n+ },\n+ "request": {\n+ "version": "2.55.0",\n+ "resolved": "http://registry.npmjs.org/request/-/request-2.55.0.tgz",\n+ "integrity": "sha1-11wc32eddrsQD5v/4f5VG1wk6T0=",\n+ "dev": true,\n+ "requires": {\n+ "aws-sign2": "~0.5.0",\n+ "bl": "~0.9.0",\n+ "caseless": "~0.9.0",\n+ "combined-stream": "~0.0.5",\n+ "forever-agent": "~0.6.0",\n+ "form-data": "~0.2.0",\n+ "har-validator": "^1.4.0",\n+ "hawk": "~2.3.0",\n+ "http-signature": "~0.10.0",\n+ "isstream": "~0.1.1",\n+ "json-stringify-safe": "~5.0.0",\n+ "mime-types": "~2.0.1",\n+ "node-uuid": "~1.4.0",\n+ "oauth-sign": "~0.6.0",\n+ "qs": "~2.4.0",\n+ "stringstream": "~0.0.4",\n+ "tough-cookie": ">=0.12.0",\n+ "tunnel-agent": "~0.4.0"\n+ }\n+ },\n+ "underscore.string": {\n+ "version": "3.0.3",\n+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.0.3.tgz",\n+ "integrity": "sha1-Rhe4waJQz25QZPu7Nj0PqWzxRVI=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "websocket-driver": {\n+ "version": "0.7.0",\n+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",\n+ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",\n+ "dev": true,\n+ "requires": {\n+ "http-parser-js": ">=0.4.0",\n+ "websocket-extensions": ">=0.1.1"\n+ }\n+ },\n+ "websocket-extensions": {\n+ "version": "0.1.3",\n+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",\n+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",\n+ "dev": true\n+ },\n+ "which": {\n+ "version": "1.3.1",\n+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",\n+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",\n+ "dev": true,\n+ "requires": {\n+ "isexe": "^2.0.0"\n+ }\n+ },\n+ "window-size": {\n+ "version": "0.1.0",\n+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",\n+ "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",\n+ "dev": true\n+ },\n+ "winston": {\n+ "version": "2.4.4",\n+ "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz",\n+ "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==",\n+ "dev": true,\n+ "optional": true,\n+ "requires": {\n+ "async": "~1.0.0",\n+ "colors": "1.0.x",\n+ "cycle": "1.0.x",\n+ "eyes": "0.1.x",\n+ "isstream": "0.1.x",\n+ "stack-trace": "0.0.x"\n+ },\n+ "dependencies": {\n+ "async": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",\n+ "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",\n+ "dev": true,\n+ "optional": true\n+ },\n+ "colors": {\n+ "version": "1.0.3",\n+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",\n+ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",\n+ "dev": true,\n+ "optional": true\n+ }\n+ }\n+ },\n+ "wordwrap": {\n+ "version": "0.0.2",\n+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",\n+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",\n+ "dev": true\n+ },\n+ "wrappy": {\n+ "version": "1.0.2",\n+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",\n+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",\n+ "dev": true\n+ },\n+ "ws": {\n+ "version": "1.1.5",\n+ "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",\n+ "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",\n+ "dev": true,\n+ "requires": {\n+ "options": ">=0.0.5",\n+ "ultron": "1.0.x"\n+ }\n+ },\n+ "wtf-8": {\n+ "version": "1.0.0",\n+ "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",\n+ "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",\n+ "dev": true\n+ },\n+ "xmlbuilder": {\n+ "version": "3.1.0",\n+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz",\n+ "integrity": "sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE=",\n+ "dev": true,\n+ "requires": {\n+ "lodash": "^3.5.0"\n+ },\n+ "dependencies": {\n+ "lodash": {\n+ "version": "3.10.1",\n+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",\n+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "xmlhttprequest-ssl": {\n+ "version": "1.5.3",\n+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",\n+ "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=",\n+ "dev": true\n+ },\n+ "xtend": {\n+ "version": "4.0.1",\n+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",\n+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",\n+ "dev": true\n+ },\n+ "yallist": {\n+ "version": "2.1.2",\n+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",\n+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",\n+ "dev": true\n+ },\n+ "yargs": {\n+ "version": "3.10.0",\n+ "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",\n+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",\n+ "dev": true,\n+ "requires": {\n+ "camelcase": "^1.0.2",\n+ "cliui": "^2.1.0",\n+ "decamelize": "^1.0.0",\n+ "window-size": "0.1.0"\n+ },\n+ "dependencies": {\n+ "camelcase": {\n+ "version": "1.2.1",\n+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",\n+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",\n+ "dev": true\n+ }\n+ }\n+ },\n+ "yauzl": {\n+ "version": "2.4.1",\n+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",\n+ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",\n+ "dev": true,\n+ "requires": {\n+ "fd-slicer": "~1.0.1"\n+ }\n+ },\n+ "yeast": {\n+ "version": "0.1.2",\n+ "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",\n+ "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",\n+ "dev": true\n+ },\n+ "zip-stream": {\n+ "version": "0.5.2",\n+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz",\n+ "integrity": "sha1-Mty8UG0Nq00hNyYlvX66rDwv/1Y=",\n+ "dev": true,\n+ "requires": {\n+ "compress-commons": "~0.2.0",\n+ "lodash": "~3.2.0",\n+ "readable-stream": "~1.0.26"\n+ },\n+ "dependencies": {\n+ "lodash": {\n+ "version": "3.2.0",\n+ "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz",\n+ "integrity": "sha1-S/UKMkP5rrC6xBpV09WZBnWkYvs=",\n+ "dev": true\n+ },\n+ "readable-stream": {\n+ "version": "1.0.34",\n+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",\n+ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",\n+ "dev": true,\n+ "requires": {\n+ "core-util-is": "~1.0.0",\n+ "inherits": "~2.0.1",\n+ "isarray": "0.0.1",\n+ "string_decoder": "~0.10.x"\n+ }\n+ }\n+ }\n+ }\n+ }\n+}\n' +b'diff --git a/plone/schemaeditor/tests/tests.py b/plone/schemaeditor/tests/tests.py\nindex ba806a2..e43aba1 100644\n--- a/plone/schemaeditor/tests/tests.py\n+++ b/plone/schemaeditor/tests/tests.py\n@@ -39,8 +39,8 @@ def tearDown(self):\n class Py23DocChecker(doctest.OutputChecker):\n def check_output(self, want, got, optionflags):\n if six.PY2:\n- got = re.sub(\'zExceptions.unauthorized.Unauthorized\', \'Unauthorized\', got)\n- got = re.sub("u\'(.*?)\'", "\'\\\\1\'", want)\n+ want = re.sub(\'zExceptions.unauthorized.Unauthorized\', \'Unauthorized\', want)\n+ got = re.sub("u\'(.*?)\'", "\'\\\\1\'", got)\n want = re.sub("b\'(.*?)\'", "\'\\\\1\'", want)\n return doctest.OutputChecker.check_output(self, want, got, optionflags)\n \n' -Repository: mockup +Repository: plone.schemaeditor Branch: refs/heads/master -Date: 2018-09-14T15:52:37+02:00 -Author: Sune Broendum Woeller (sunew) -Commit: https://github.com/plone/mockup/commit/44ee7acd9606763a934c460c3f6d330916594040 +Date: 2018-09-19T09:15:45+02:00 +Author: Philip Bauer (pbauer) +Commit: https://github.com/plone/plone.schemaeditor/commit/9f03f1f88f04ff568aa276443c5b2c7b8361a0f2 -Merge branch 'master' into thet-structure-datatablefixes +add changenote and classifiers Files changed: M CHANGES.rst -M bower.json +M setup.py -b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex 3dc180750..aae5f4bc4 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -17,6 +17,10 @@ New features:\n [thet]\n \n - pat-structure: Use the datatables pattern for sorting columns.\n+- Include TinyMCE 4.7.13\n+ [erral]\n+\n+- pat-structure: Use the datatables pattern for sorting columns \n [frapell]\n \n - pat-structure: Add a \'250\' option for the pagination.\ndiff --git a/bower.json b/bower.json\nindex bff753fac..07da0f87e 100644\n--- a/bower.json\n+++ b/bower.json\n@@ -45,7 +45,7 @@\n "requirejs-text": "2.0.15",\n "select2": "3.5.4",\n "selectivizr": "1.0.2",\n- "tinymce-builded": "4.7.6",\n+ "tinymce-builded": "4.7.13",\n "js-shortcuts": "^1.0.1",\n "cs-jqtree-contextmenu": "^0.1.0"\n },\n' +b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex e690b5b..3b05f7e 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -21,6 +21,9 @@ Bug fixes:\n - Allow defaults to be set on dexterity type fields via the web UI (@@fields)\n [ezvirtual]\n \n+- Fix tests in py3 and some py3 issues.\n+ [pbauer]\n+\n \n 2.0.19 (2018-02-02)\n -------------------\ndiff --git a/setup.py b/setup.py\nindex 067f12c..7cf34ec 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -16,8 +16,11 @@\n "Framework :: Plone",\n "Framework :: Plone :: 5.0",\n "Framework :: Plone :: 5.1",\n+ "Framework :: Plone :: 5.2",\n "Programming Language :: Python",\n "Programming Language :: Python :: 2.7",\n+ "Programming Language :: Python :: 3.6",\n+ "Programming Language :: Python :: 3.7",\n "Topic :: Software Development :: Libraries :: Python Modules",\n "License :: OSI Approved :: BSD License",\n ],\n' -Repository: mockup +Repository: plone.schemaeditor Branch: refs/heads/master -Date: 2018-09-19T09:16:49+02:00 -Author: Jens W. Klein (jensens) -Commit: https://github.com/plone/mockup/commit/ea815d937dbb9daa9d87d35a8110ad15804cc6f9 +Date: 2018-09-19T13:30:21+02:00 +Author: Philip Bauer (pbauer) +Commit: https://github.com/plone/plone.schemaeditor/commit/7100ceec28ecc512dc699739d3d30b0e699a44b4 -Merge pull request #863 from plone/thet-structure-datatablefixes +Merge pull request #60 from plone/python3 -Structure fixes +Python3 Files changed: M CHANGES.rst -M mockup/patterns/datatables/pattern.datatables.less -M mockup/patterns/structure/js/views/table.js -M mockup/patterns/structure/pattern.js -M mockup/patterns/structure/templates/table.xml -M mockup/patterns/tooltip/pattern.js -M mockup/tests/pattern-structure-test.js - -b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex f031142ec..c401944d9 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -10,21 +10,29 @@ Breaking changes:\n \n New features:\n \n+- pat-structure: Use more tooltips in the actions menu.\n+ [thet]\n+\n+- pat-structure: Move breadcrumbs out of folder contents table.\n+ [thet]\n+\n+- pat-structure: Use the datatables pattern for sorting columns.\n - Include TinyMCE 4.7.13\n [erral]\n \n - pat-structure: Use the datatables pattern for sorting columns \n [frapell]\n \n-- pat-structure: Add a \'250\' option for the pagination\n+- pat-structure: Add a \'250\' option for the pagination.\n [frapell]\n \n-- Add a new pattern, to provide the DataTables functionality\n+- Add a new pattern, to provide the DataTables functionality.\n https://datatables.net/\n [frapell]\n \n - Add package-lock.json to git. \n See https://github.com/npm/npm/blob/v5.0.0/doc/files/package-lock.json.md\n+ [sunew]\n \n Bug fixes:\n \n@@ -35,7 +43,7 @@ Bug fixes:\n - Get rid of obsolete ``X-UA-Compatible`` header.\n [hvelarde]\n \n-- fix small message typos\n+- Fix small message typos.\n [tkimnguyen]\n \n - Remove patternslib "This pattern without a name attribute will not be\ndiff --git a/mockup/patterns/datatables/pattern.datatables.less b/mockup/patterns/datatables/pattern.datatables.less\nindex 0f60c0777..a42563986 100644\n--- a/mockup/patterns/datatables/pattern.datatables.less\n+++ b/mockup/patterns/datatables/pattern.datatables.less\n@@ -1,7 +1,7 @@\n-@import (css) "@{bowerPath}/datatables.net-bs/css/dataTables.bootstrap.css";\n-@import (css) "@{bowerPath}/datatables.net-buttons-bs/css/buttons.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-colreorder-bs/css/colReorder.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-rowreorder-bs/css/rowReorder.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-select-bs/css/select.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-fixedheader-bs/css/fixedHeader.bootstrap.min.css";\n-@import (css) "@{bowerPath}/datatables.net-fixedcolumns-bs/css/fixedColumns.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-bs/css/dataTables.bootstrap.css";\n+@import (inline) "@{bowerPath}/datatables.net-buttons-bs/css/buttons.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-colreorder-bs/css/colReorder.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-rowreorder-bs/css/rowReorder.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-select-bs/css/select.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-fixedheader-bs/css/fixedHeader.bootstrap.min.css";\n+@import (inline) "@{bowerPath}/datatables.net-fixedcolumns-bs/css/fixedColumns.bootstrap.min.css";\ndiff --git a/mockup/patterns/structure/js/views/table.js b/mockup/patterns/structure/js/views/table.js\nindex f7011674d..5907c7452 100644\n--- a/mockup/patterns/structure/js/views/table.js\n+++ b/mockup/patterns/structure/js/views/table.js\n@@ -71,7 +71,7 @@ define([\n var self = this;\n \n // By default do not start sorted by any column\n- // Ignore first column and the last one (activeColumns.length + 2)\n+ // Ignore first column and the last one (activeColumns.length + 1)\n // Do not show paginator, search or information, we only want column sorting\n var datatables_options = {\n "aaSorting": [],\n@@ -147,7 +147,7 @@ define([\n // Clear the status message\n self.app.setStatus();\n });\n- self.app.setStatus(_t(\'Cannot drag and drop items to reorder while manually sorting a column\'), \'warning\', btn = btn);\n+ self.app.setStatus(_t(\'Notice: Drag and drop reordering is disabled when viewing the contents sorted by a column.\'), \'warning\', btn = btn);\n $(".pat-datatables tbody").find(\'tr\').off("drag")\n self.$el.removeClass(\'order-support\');\n } );\ndiff --git a/mockup/patterns/structure/pattern.js b/mockup/patterns/structure/pattern.js\nindex 2f0d563f1..b5b07c3cf 100644\n--- a/mockup/patterns/structure/pattern.js\n+++ b/mockup/patterns/structure/pattern.js\n@@ -42,8 +42,7 @@ define([\n contextInfoUrl: null, // for add new dropdown and other info\n setDefaultPageUrl: null,\n menuOptions: null, // default action menu options per item.\n- // default menu generator\n- menuGenerator: \'mockup-patterns-structure-url/js/actionmenu\',\n+ menuGenerator: \'mockup-patterns-structure-url/js/actionmenu\', // default menu generator\n backdropSelector: \'.plone-modal\', // Element upon which to apply backdrops used for popovers\n \n activeColumnsCookie: \'activeColumns\',\n@@ -135,29 +134,37 @@ define([\n \n buttons: null,\n _default_buttons: [{\n+ tooltip: \'Cut\',\n title: \'Cut\',\n url: \'/cut\'\n },{\n+ tooltip: \'Copy\',\n title: \'Copy\',\n url: \'/copy\'\n },{\n+ tooltip: \'Paste\',\n title: \'Paste\',\n url: \'/paste\'\n },{\n+ tooltip: \'Delete\',\n title: \'Delete\',\n url: \'/delete\',\n context: \'danger\',\n icon: \'trash\'\n },{\n+ tooltip: \'Workflow\',\n title: \'Workflow\',\n url: \'/workflow\'\n },{\n+ tooltip: \'Tags\',\n title: \'Tags\',\n url: \'/tags\'\n },{\n+ tooltip: \'Properties\',\n title: \'Properties\',\n url: \'/properties\'\n },{\n+ tooltip: \'Rename\',\n title: \'Rename\',\n url: \'/rename\'\n }],\ndiff --git a/mockup/patterns/structure/templates/table.xml b/mockup/patterns/structure/templates/table.xml\nindex 507f746c3..296b8d864 100644\n--- a/mockup/patterns/structure/templates/table.xml\n+++ b/mockup/patterns/structure/templates/table.xml\n@@ -3,24 +3,25 @@\n <%- status.text %> <% //   to get correct height for empty alerts %>\n
\n \n+
\n+
\n+ \n+ /\n+ \n+ <% _.each(pathParts, function(part, idx, list){\n+ if(part){\n+ if(idx > 0){ %>\n+ /\n+ <% } %>\n+ <%- part %>\n+ <% }\n+ }); %>\n+
\n+
\n+\n
\n- \n- /\n- \n- <% _.each(pathParts, function(part, idx, list){\n- if(part){\n- if(idx > 0){ %>\n- /\n- <% } %>\n- <%- part %>\n- <% }\n- }); %>\n-
<%- _t(\'Title\') %>
\n \n- \n- \n- \n \n \n \ndiff --git a/mockup/patterns/tooltip/pattern.js b/mockup/patterns/tooltip/pattern.js\nindex acc8ffe6b..430f6eff8 100644\n--- a/mockup/patterns/tooltip/pattern.js\n+++ b/mockup/patterns/tooltip/pattern.js\n@@ -58,7 +58,7 @@ define([\n \n bootstrapTooltip.DEFAULTS = {\n animation: true,\n- placement: \'top\',\n+ placement: \'auto\',\n selector: false,\n template: \'\',\n trigger: \'hover focus\',\ndiff --git a/mockup/tests/pattern-structure-test.js b/mockup/tests/pattern-structure-test.js\nindex 6e1a37532..8fb103f2c 100644\n--- a/mockup/tests/pattern-structure-test.js\n+++ b/mockup/tests/pattern-structure-test.js\n@@ -1155,7 +1155,7 @@ define([\n it(\'test select displayed columns\', function() {\n registry.scan(this.$el);\n this.clock.tick(500);\n- var $row = this.$el.find(\'table thead tr\').eq(1);\n+ var $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(6);\n expect($row.find(\'th\').eq(1).text().trim()).to.equal(\'Title\');\n expect($row.find(\'th\').eq(2).text().trim()).to.equal(\'Last modified\');\n@@ -1179,7 +1179,7 @@ define([\n $popover.find(\'button\').trigger(\'click\');\n this.clock.tick(500);\n \n- $row = this.$el.find(\'table thead tr\').eq(1);\n+ $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(7);\n expect($row.find(\'th\').eq(5).text().trim()).to.equal(\'Object Size\');\n expect($row.find(\'th\').eq(6).text().trim()).to.equal(\'Actions\');\n@@ -1191,7 +1191,7 @@ define([\n $popover.find(\'button\').trigger(\'click\');\n this.clock.tick(500);\n \n- $row = this.$el.find(\'table thead tr\').eq(1);\n+ $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(6);\n expect($.parseJSON($.cookie(\'_fc_activeColumns\')).value).to.eql(\n ["ModificationDate", "EffectiveDate", "review_state"]);\n@@ -1461,7 +1461,7 @@ define([\n \'{"value":["ModificationDate","EffectiveDate","review_state",\' +\n \'"getObjSize"]}\');\n this.clock.tick(500);\n- var $row = this.$el.find(\'table thead tr\').eq(1);\n+ var $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(6);\n expect($row.find(\'th\').eq(5).text().trim()).to.equal(\'Actions\');\n \n@@ -1481,7 +1481,7 @@ define([\n $popover.find(\'button\').trigger(\'click\');\n this.clock.tick(500);\n \n- $row = this.$el.find(\'table thead tr\').eq(1);\n+ $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(7);\n expect($row.find(\'th\').eq(5).text().trim()).to.equal(\'Type\');\n expect($row.find(\'th\').eq(6).text().trim()).to.equal(\'Actions\');\n@@ -1496,7 +1496,7 @@ define([\n $popover.find(\'button\').trigger(\'click\');\n this.clock.tick(500);\n \n- $row = this.$el.find(\'table thead tr\').eq(1);\n+ $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(6);\n expect($.parseJSON($.cookie(\'_fc_activeColumnsCustom\')).value).to.eql(\n ["ModificationDate", "EffectiveDate", "review_state"]);\n@@ -1597,7 +1597,7 @@ define([\n it(\'test select displayed columns\', function() {\n registry.scan(this.$el);\n this.clock.tick(500);\n- var $row = this.$el.find(\'table thead tr\').eq(1);\n+ var $row = this.$el.find(\'table thead tr\').eq(0);\n expect($row.find(\'th\').length).to.equal(4);\n expect($row.find(\'th\').eq(1).text().trim()).to.equal(\'Title\');\n expect($row.find(\'th\').eq(2).text().trim()).to.equal(\'Object Size\');\n' +M plone/schemaeditor/browser/schema/add_field.py +M plone/schemaeditor/browser/schema/traversal.py +M plone/schemaeditor/tests/choice.rst +M plone/schemaeditor/tests/editing.rst +M plone/schemaeditor/tests/extending.rst +M plone/schemaeditor/tests/tests.py +M setup.py + +b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex e690b5b..3b05f7e 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -21,6 +21,9 @@ Bug fixes:\n - Allow defaults to be set on dexterity type fields via the web UI (@@fields)\n [ezvirtual]\n \n+- Fix tests in py3 and some py3 issues.\n+ [pbauer]\n+\n \n 2.0.19 (2018-02-02)\n -------------------\ndiff --git a/plone/schemaeditor/browser/schema/add_field.py b/plone/schemaeditor/browser/schema/add_field.py\nindex bcaff20..679f2ea 100644\n--- a/plone/schemaeditor/browser/schema/add_field.py\n+++ b/plone/schemaeditor/browser/schema/add_field.py\n@@ -46,7 +46,7 @@ def create(self, data):\n factory = data.pop(\'factory\')\n \n # split regular attributes and extra ones\n- for key in data.keys():\n+ for key in list(data.keys()):\n if key not in self._schema:\n extra[key] = data[key]\n data.pop(key)\ndiff --git a/plone/schemaeditor/browser/schema/traversal.py b/plone/schemaeditor/browser/schema/traversal.py\nindex effefff..ebf87a5 100644\n--- a/plone/schemaeditor/browser/schema/traversal.py\n+++ b/plone/schemaeditor/browser/schema/traversal.py\n@@ -6,6 +6,8 @@\n from zope.publisher.interfaces.browser import IBrowserPublisher\n from ZPublisher.BaseRequest import DefaultPublishTraverse\n \n+import six\n+\n \n @implementer(ISchemaContext, IBrowserPublisher)\n class SchemaContext(SimpleItem):\n@@ -21,7 +23,6 @@ class SchemaContext(SimpleItem):\n enableFieldsets = True\n \n def __init__(self, context, request, name=u\'schema\', title=None):\n- super(SchemaContext, self).__init__(context, request)\n self.schema = context\n self.request = request\n \ndiff --git a/plone/schemaeditor/tests/choice.rst b/plone/schemaeditor/tests/choice.rst\nindex d2d665e..d3c2a07 100644\n--- a/plone/schemaeditor/tests/choice.rst\n+++ b/plone/schemaeditor/tests/choice.rst\n@@ -58,7 +58,7 @@ If duplicate values are entered an error is raised.\n ... [\'Alaska\', \'Russia\', \'United States\', \'United States\',\n ... \'Other\'])\n >>> browser.getControl(\'Save\').click()\n- >>> print browser.contents\n+ >>> print(browser.contents)\n <...\n
The \'United States\' vocabulary value conflicts with \'United States\'.
\n ...\n@@ -118,7 +118,7 @@ We can\'t set a vocabulary name AND values.\n >>> browser.getLink(url=\'country\').click()\n >>> browser.getControl(\'values\').value = "oups"\n >>> browser.getControl(\'Save\').click()\n- >>> print browser.contents\n+ >>> print(browser.contents)\n <...\n
You can not set a vocabulary name AND vocabulary values....\n ...\n@@ -166,7 +166,7 @@ If duplicate values are entered an error is raised.\n >>> ctl.value = \'\\n\'.join(\n ... [\'Lisp\', \'Plone\', \'Python\', \'Lisp\'])\n >>> browser.getControl(\'Save\').click()\n- >>> print browser.contents\n+ >>> print(browser.contents)\n <...\n
The \'Lisp\' vocabulary value conflicts with \'Lisp\'.
\n ...\n@@ -210,7 +210,7 @@ Back to the edit form, vocabulary name is selected.\n \n >>> browser.open(portal_url + \'/@@schemaeditor\')\n >>> browser.getLink(url=\'categories\').click()\n- >>> print browser.contents\n+ >>> print(browser.contents)\n <...\n ... selected>plone.schemaeditor.test.Categories>> browser.open(portal_url + \'/@@schemaeditor\')\n Traceback (most recent call last):\n ...\n- Unauthorized: ...You are not authorized to access this resource...\n+ zExceptions.unauthorized.Unauthorized: ...You are not authorized to access this resource...\n \n We need to log in as a manager, because by default only managers get the \'Manage Schemata\' permission::\n \n@@ -62,11 +62,11 @@ normalized form of the title)::\n >>> isinstance(IDummySchema[\'favorite_color\'], TextLine)\n True\n >>> IDummySchema[\'favorite_color\'].title\n- u\'Favorite Color\'\n+ \'Favorite Color\'\n >>> IDummySchema[\'favorite_color\'].required\n True\n >>> IDummySchema[\'favorite_color\'].description\n- u\'Select your favorite color\'\n+ \'Select your favorite color\'\n \n \n Editing a schema field attribute\n@@ -98,7 +98,7 @@ of schema fields, which should reflect the change::\n Let\'s confirm that the new default value was correctly saved to the actual schema::\n \n >>> IDummySchema[\'favorite_color\'].description\n- u\'Enter your favorite color.\'\n+ \'Enter your favorite color.\'\n \n If the schema is edited to have internationalized attributes::\n \n@@ -130,11 +130,11 @@ value was set::\n >>> type(IDummySchema[\'favorite_color\'].description)\n <... \'zope.i18nmessageid.message.Message\'>\n >>> IDummySchema[\'favorite_color\'].description\n- u\'favorite_color\'\n+ \'favorite_color\'\n >>> IDummySchema[\'favorite_color\'].description.domain\n \'plone\'\n >>> IDummySchema[\'favorite_color\'].description.default\n- u\'Enter your favorite color.\'\n+ \'Enter your favorite color.\'\n \n Let\'s also check that the support for editing i18n Message values does not\n persist its marker interface::\n@@ -193,7 +193,7 @@ testbrowser doesn\'t support Javascript)::\n [event: ContainerModifiedEvent on InterfaceClass]\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> browser.contents\n- \'\'\n+ b\'\'\n \n Now the field should be the third field of the schema::\n \n@@ -220,7 +220,7 @@ They are moved to the end of the new fieldset::\n [event: ContainerModifiedEvent on InterfaceClass]\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> browser.contents\n- \'\'\n+ b\'\'\n \n Now the field should be the seventh field of the schema::\n \n@@ -236,7 +236,7 @@ They can be ordered into a fieldset::\n [event: ContainerModifiedEvent on InterfaceClass]\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> browser.contents\n- \'\'\n+ b\'\'\n >>> get_field_fieldset(IDummySchema, \'favorite_color\')\n
\n \n@@ -301,7 +301,7 @@ move it into an other fieldset and remove it::\n [event: ContainerModifiedEvent on InterfaceClass]\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> browser.contents\n- \'\'\n+ b\'\'\n >>> browser.open(\'http://nohost/@@schemaeditor\')\n >>> browser.getLink(url=\'other_set/@@delete\').click()\n [event: ObjectRemovedEvent on TextLine]\ndiff --git a/plone/schemaeditor/tests/extending.rst b/plone/schemaeditor/tests/extending.rst\nindex a9f1825..8685e92 100644\n--- a/plone/schemaeditor/tests/extending.rst\n+++ b/plone/schemaeditor/tests/extending.rst\n@@ -76,4 +76,4 @@ We can save a color and confirm that it ends up in the schema\'s tagged values::\n [event: SchemaModifiedEvent on DummySchemaContext]\n >>> from plone.schemaeditor.tests.fixtures import IDummySchema\n >>> IDummySchema.getTaggedValue(\'color\')\n- {\'field1\': u\'green\'}\n+ {\'field1\': \'green\'}\ndiff --git a/plone/schemaeditor/tests/tests.py b/plone/schemaeditor/tests/tests.py\nindex 3d4fc82..e43aba1 100644\n--- a/plone/schemaeditor/tests/tests.py\n+++ b/plone/schemaeditor/tests/tests.py\n@@ -11,6 +11,8 @@\n import doctest\n import os\n import plone.schemaeditor\n+import re\n+import six\n import unittest\n \n \n@@ -34,6 +36,15 @@ def tearDown(self):\n classImplements(implementedBy(BaseRequest) - ITestLayer)\n \n \n+class Py23DocChecker(doctest.OutputChecker):\n+ def check_output(self, want, got, optionflags):\n+ if six.PY2:\n+ want = re.sub(\'zExceptions.unauthorized.Unauthorized\', \'Unauthorized\', want)\n+ got = re.sub("u\'(.*?)\'", "\'\\\\1\'", got)\n+ want = re.sub("b\'(.*?)\'", "\'\\\\1\'", want)\n+ return doctest.OutputChecker.check_output(self, want, got, optionflags)\n+\n+\n def test_suite():\n return unittest.TestSuite([\n \n@@ -45,7 +56,8 @@ def test_suite():\n \'minmax.rst\',\n setUp=setUp,\n tearDown=tearDown,\n- optionflags=optionflags\n+ optionflags=optionflags,\n+ checker=Py23DocChecker(),\n ),\n \n ])\ndiff --git a/setup.py b/setup.py\nindex 067f12c..7cf34ec 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -16,8 +16,11 @@\n "Framework :: Plone",\n "Framework :: Plone :: 5.0",\n "Framework :: Plone :: 5.1",\n+ "Framework :: Plone :: 5.2",\n "Programming Language :: Python",\n "Programming Language :: Python :: 2.7",\n+ "Programming Language :: Python :: 3.6",\n+ "Programming Language :: Python :: 3.7",\n "Topic :: Software Development :: Libraries :: Python Modules",\n "License :: OSI Approved :: BSD License",\n ],\n'
\n- \n- /\n- \n- <% _.each(pathParts, function(part, idx, list){\n- if(part){\n- if(idx > 0){ %>\n- /\n- <% } %>\n- <%- part %>\n- <% }\n- }); %>\n-
<%- _t(\'Title\') %>