ThemeGrill Demo Importer - Version 1.5.6

Version Description

  • 15-02-2019 =
  • Fetaure - Install plugins and import demo on a single click.
  • Tweak - Remove the more details on demo preview hover.
  • Dev - Improve Coding standard with husky compatibility.
Download this release

Release Info

Developer ThemeGrill
Plugin Icon 128x128 ThemeGrill Demo Importer
Version 1.5.6
Comparing to
See all releases

Code changes from version 1.5.5 to 1.5.6

.eslintignore ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ *.min.js
2
+
3
+ /assets/js/jquery-tiptip/**
.eslintrc ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "root": true,
3
+ "env": {
4
+ "browser": true,
5
+ "node": true
6
+ },
7
+ "globals": {
8
+ "wp": true
9
+ },
10
+ "rules": {
11
+ "camelcase": 0,
12
+ "indent": 0,
13
+ "max-len": [ 2, { "code": 250 } ],
14
+ "no-console": 1
15
+ }
16
+ }
.stylelintrc DELETED
@@ -1,58 +0,0 @@
1
- {
2
- "rules": {
3
- "indentation": "tab",
4
- "color-hex-case": "lower",
5
- "color-no-invalid-hex": true,
6
-
7
- "function-calc-no-unspaced-operator": true,
8
- "function-comma-space-after": "always-single-line",
9
- "function-comma-space-before": "never",
10
- "function-name-case": "lower",
11
- "function-url-quotes": "always",
12
- "function-whitespace-after": "always",
13
-
14
- "number-leading-zero": "always",
15
- "number-no-trailing-zeros": true,
16
- "length-zero-no-unit": true,
17
-
18
- "string-no-newline": true,
19
- "string-quotes": "single",
20
-
21
- "unit-case": "lower",
22
- "unit-no-unknown": true,
23
- "unit-whitelist": ["px", "%", "deg", "ms", "em", "vh", "vw", "rem", "s", "ex", "pt", "cm"],
24
-
25
- "value-list-comma-space-after": "always-single-line",
26
- "value-list-comma-space-before": "never",
27
-
28
- "shorthand-property-no-redundant-values": true,
29
-
30
- "property-case": "lower",
31
-
32
- "declaration-block-no-duplicate-properties": [true, { "severity": "warning" } ],
33
- "declaration-block-trailing-semicolon": "always",
34
- "declaration-block-single-line-max-declarations": 0,
35
- "declaration-block-semicolon-space-before": "never",
36
- "declaration-block-semicolon-space-after": "always-single-line",
37
- "declaration-block-semicolon-newline-before": "never-multi-line",
38
- "declaration-block-semicolon-newline-after": "always-multi-line",
39
-
40
- "block-closing-brace-newline-after": "always",
41
- "block-closing-brace-newline-before": "always-multi-line",
42
- "block-no-empty": true,
43
- "block-opening-brace-newline-after": "always-multi-line",
44
- "block-opening-brace-space-before": "always",
45
-
46
- "selector-attribute-brackets-space-inside": "never",
47
- "selector-attribute-operator-space-after": "never",
48
- "selector-attribute-operator-space-before": "never",
49
- "selector-combinator-space-after": "always",
50
- "selector-combinator-space-before": "always",
51
- "selector-pseudo-class-case": "lower",
52
- "selector-pseudo-class-parentheses-space-inside": "always",
53
- "selector-pseudo-element-case": "lower",
54
- "selector-pseudo-element-colon-notation": "double",
55
- "selector-pseudo-element-no-unknown": true,
56
- "selector-type-case": "lower"
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.stylelintrc.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "extends": "stylelint-config-wordpress",
3
+ "rules": {
4
+ "at-rule-empty-line-before": null,
5
+ "at-rule-no-unknown": null,
6
+ "comment-empty-line-before": null,
7
+ "declaration-block-no-duplicate-properties": null,
8
+ "declaration-colon-newline-after": null,
9
+ "declaration-property-unit-whitelist": null,
10
+ "font-weight-notation": null,
11
+ "font-family-name-quotes": null,
12
+ "font-family-no-missing-generic-family-keyword": null,
13
+ "max-line-length": null,
14
+ "no-descending-specificity": null,
15
+ "no-duplicate-selectors": null,
16
+ "rule-empty-line-before": null,
17
+ "selector-class-pattern": null,
18
+ "string-quotes": "single",
19
+ "value-keyword-case": null,
20
+ "value-list-comma-newline-after": null
21
+ }
22
+ }
.wordpress-org/banner-1544x500.png DELETED
Binary file
.wordpress-org/banner-772x250.png DELETED
Binary file
.wordpress-org/icon-128x128.png DELETED
Binary file
.wordpress-org/icon-256x256.png DELETED
Binary file
.wordpress-org/screenshot-1.png DELETED
Binary file
.wordpress-org/screenshot-2.png DELETED
Binary file
.wordpress-org/screenshot-3.png DELETED
Binary file
CHANGELOG.txt DELETED
@@ -1,89 +0,0 @@
1
- == Changelog ==
2
-
3
- = 1.5.5 - 05-11-2018 =
4
- * Feature - Add support for elementor schemes.
5
-
6
- = 1.5.4 - 02-11-2018 =
7
- * Change Modular to Zakra
8
-
9
- = 1.5.3 - 30-10-2018 =
10
- * Support - Modular theme.
11
-
12
- = 1.5.2 - 25-09-2018 =
13
- * Fix - Custom CSS migration on demo import.
14
- * Fix - Live Preview button when demo is successfully imported in demo preview page.
15
-
16
- = 1.5.1 - 24-08-2018 =
17
- * Support - Cenote Pro theme.
18
-
19
- = 1.5.0 - 21-08-2018 =
20
- * Feature - Fetches the demo config from GitHub repo.
21
- * Feature - Category and pagebuilder routes for views.
22
- * Fetaure - Install and activate plugins on a single click.
23
- * Fix - Slashes to be stripped from imported comments.
24
- * Fix - Importing export files with multiline term meta data.
25
- * Fix - Deprecation notices including `wp_get_http()` and `screen_icon()`.
26
- * Tweak - Demo preview is supported via iframe.
27
- * Tweak - Different device preview is possible for a demo.
28
- * Tweak - Only store single demo package files in upload directory.
29
- * Dev - Improve PHP7 compatibility.
30
- * Deprecated - Upload process for the demo packages.
31
- * Deprecated - Filter hooks `themegrill_demo_importer_config` and `themegrill_demo_importer_packages`.
32
-
33
- = 1.4.3 - 23-04-2018 =
34
- * Support - Cenote theme.
35
-
36
- = 1.4.2 - 25-12-2017 =
37
- * Fix - Disable WooCommerce setup wizard for demo import.
38
- * Fix - Styling issue caused by missing `theme-id-container` container.
39
-
40
- = 1.4.1 - 08-12-2017 =
41
- * Feature - Compatiable with Elementor page builder.
42
- * Fix - Styling issue caused by missing `theme-id-container` container.
43
-
44
- = 1.4.0 - 20-07-2017 =
45
- * Feature - Plugin installer and activator mechinism.
46
- * Fix - Call to undefined function `preg_filter()`.
47
- * Dev - Improved file structure.
48
- * Dev - Introduced `tg_demo_installer_enabled()`.
49
- * Dev - Introduced `tg_demo_installer_preview()`.
50
- * Dev - Introduced `tg_demo_preview_screenshot_url()`.
51
-
52
- = 1.3.4 - 03-07-2017 =
53
- * Feature - Support RTL for Importer.
54
- * Feature - Reset wizard for clean up.
55
- * Fixed - Undefined queue job update action.
56
- * Fixed - Use of `wp-heading-inline` core class.
57
- * Tweak - Use of defined constant for demo packs.
58
- * Tweak - Uninstall data with a defined constant.
59
- * Tweak - Fallback screenshot for flash demo preview.
60
-
61
- = 1.3.3 =
62
- * Tweak - Support demo import for suffice theme.
63
-
64
- = 1.3.2 =
65
- * Tweak - Load screenshots for pro theme demos.
66
-
67
- = 1.3.1 =
68
- * Tweak - Load screenshot from theme instead of plugin for themes with single demo.
69
-
70
- = 1.3.0 =
71
- * Tweak - Support data update for nested siteorigin layoutbuilder.
72
- * Fix - Import button not working on firefox.
73
-
74
- = 1.2.0 =
75
- * Tweak - Load scripts perfecly on demo importer appearance page.
76
- * Tweak - Set transient for redirecting to demo importer page after install or update.
77
- * Tweak - Introduced filter hook `themegrill_demo_importer_installer` to control demo view.
78
-
79
- = 1.1.0 =
80
- * Feature - Backbone views interface for demos and previews
81
- * Feature - Added download button for the preview not installed
82
- * Feature - Robust quick search view to change in demo interface
83
- * Feature - Detailed information in popup to showcase plugins, events, etc
84
- * Refactor - Replace old way to import demo with new `wp.updates` methods
85
- * Fix - Menu classes to hide admin menu if no JS using css class `hide-if-no-js`
86
- * Fix - Remove the old demo pack if found and to update the new demo packs
87
-
88
- = 1.0.0 =
89
- * Initial Public Release
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CODE_OF_CONDUCT.md DELETED
@@ -1,46 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
-
7
- ## Our Standards
8
-
9
- Examples of behavior that contributes to creating a positive environment include:
10
-
11
- * Using welcoming and inclusive language
12
- * Being respectful of differing viewpoints and experiences
13
- * Gracefully accepting constructive criticism
14
- * Focusing on what is best for the community
15
- * Showing empathy towards other community members
16
-
17
- Examples of unacceptable behavior by participants include:
18
-
19
- * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
- * Trolling, insulting/derogatory comments, and personal or political attacks
21
- * Public or private harassment
22
- * Publishing others' private information, such as a physical or electronic address, without explicit permission
23
- * Other conduct which could reasonably be considered inappropriate in a professional setting
24
-
25
- ## Our Responsibilities
26
-
27
- Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28
-
29
- Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30
-
31
- ## Scope
32
-
33
- This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34
-
35
- ## Enforcement
36
-
37
- Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at support@themegrill.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38
-
39
- Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40
-
41
- ## Attribution
42
-
43
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44
-
45
- [homepage]: http://contributor-covenant.org
46
- [version]: http://contributor-covenant.org/version/1/4/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/admin/demo-importer.js CHANGED
@@ -556,11 +556,12 @@ demos.view.Demo = wp.Backbone.View.extend({
556
  },
557
 
558
  importDemo: function( event ) {
559
- var _this = this,
560
- $target = $( event.target );
 
561
  event.preventDefault();
562
 
563
- if ( $target.hasClass( 'disabled' ) ) {
564
  return;
565
  }
566
 
@@ -568,17 +569,52 @@ demos.view.Demo = wp.Backbone.View.extend({
568
  return;
569
  }
570
 
 
 
 
 
 
 
 
 
 
 
 
 
571
  wp.updates.maybeRequestFilesystemCredentials( event );
572
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
573
  $( document ).on( 'wp-demo-import-success', function( event, response ) {
574
  if ( _this.model.get( 'id' ) === response.slug ) {
575
  _this.model.set( { 'imported': true } );
576
  }
577
  } );
578
 
579
- wp.updates.importDemo( {
580
- slug: $target.data( 'slug' )
 
 
 
 
581
  } );
 
 
 
582
  }
583
  });
584
 
@@ -596,8 +632,7 @@ demos.view.Preview = wp.Backbone.View.extend({
596
  'click .previous-theme': 'previousDemo',
597
  'click .next-theme': 'nextDemo',
598
  'keyup': 'keyEvent',
599
- 'click .demo-import': 'importDemo',
600
- 'click .plugins-install': 'installPlugins'
601
  },
602
 
603
  // The HTML template for the demo preview
@@ -722,37 +757,8 @@ demos.view.Preview = wp.Backbone.View.extend({
722
 
723
  importDemo: function( event ) {
724
  var _this = this,
725
- $target = $( event.target );
726
- event.preventDefault();
727
-
728
- if ( $target.hasClass( 'disabled' ) || $target.hasClass( 'updating-message' ) ) {
729
- return;
730
- }
731
-
732
- if ( ! window.confirm( wp.demos.data.settings.confirmImport ) ) {
733
- return;
734
- }
735
-
736
- wp.updates.maybeRequestFilesystemCredentials( event );
737
-
738
- // Disable the next and previous demo.
739
- $( '.theme-install-overlay' ).find( '.next-theme, .previous-theme' ).addClass( 'disabled' );
740
-
741
- $( document ).on( 'wp-demo-import-success', function( event, response ) {
742
- if ( _this.model.get( 'id' ) === response.slug ) {
743
- _this.model.set( { 'imported': true } );
744
- }
745
- } );
746
-
747
- wp.updates.importDemo( {
748
- slug: $target.data( 'slug' )
749
- } );
750
- },
751
-
752
- installPlugins: function( event ) {
753
- var _this = this,
754
  pluginsList = $( '.plugins-list-table' ).find( '#the-list tr' ),
755
- $target = $( '.plugins-install' ),
756
  success = 0,
757
  error = 0,
758
  errorMessages = [];
@@ -763,10 +769,12 @@ demos.view.Preview = wp.Backbone.View.extend({
763
  return;
764
  }
765
 
 
 
 
 
766
  // Bail if there were required plugins.
767
  if ( pluginsList.length ) {
768
- $( '.wp-full-overlay-sidebar-content' ).animate( { scrollTop: $( document ).height() } );
769
-
770
  if ( $target.html() !== wp.updates.l10n.installing ) {
771
  $target.data( 'originaltext', $target.html() );
772
  }
@@ -803,6 +811,11 @@ demos.view.Preview = wp.Backbone.View.extend({
803
  } );
804
  } );
805
 
 
 
 
 
 
806
  // Display bulk notification for install of plugin.
807
  $( document ).on( 'wp-plugin-bulk-install-success wp-plugin-bulk-install-error', function( event, response ) {
808
  var $itemRow = $( '[data-slug="' + response.slug + '"]' ),
@@ -847,7 +860,6 @@ demos.view.Preview = wp.Backbone.View.extend({
847
  .text( $target.data( 'originaltext' ) );
848
  } else {
849
  _this.model.set( { requiredPlugins: false } );
850
- _this.render();
851
 
852
  // Disable the next and previous demo.
853
  $( '.theme-install-overlay' ).find( '.next-theme, .previous-theme' ).addClass( 'disabled' );
@@ -860,6 +872,21 @@ demos.view.Preview = wp.Backbone.View.extend({
860
  wp.updates.adminNotice = wp.template( 'wp-updates-admin-notice' );
861
  } );
862
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
863
  // Check the queue, now that the event handlers have been added.
864
  wp.updates.queueChecker();
865
  }
556
  },
557
 
558
  importDemo: function( event ) {
559
+ var _this = this,
560
+ $target = $( event.target ),
561
+ pluginsList = $( event.target ).data( 'plugins' );
562
  event.preventDefault();
563
 
564
+ if ( $target.hasClass( 'disabled' ) || $target.hasClass( 'updating-message' ) ) {
565
  return;
566
  }
567
 
569
  return;
570
  }
571
 
572
+ // Bail if there were required plugins.
573
+ if ( ! $.isEmptyObject( pluginsList ) ) {
574
+ if ( $target.html() !== wp.updates.l10n.installing ) {
575
+ $target.data( 'originaltext', $target.html() );
576
+ }
577
+
578
+ $target
579
+ .addClass( 'updating-message' )
580
+ .text( wp.updates.l10n.installing );
581
+ wp.a11y.speak( wp.updates.l10n.installingMsg, 'polite' );
582
+ }
583
+
584
  wp.updates.maybeRequestFilesystemCredentials( event );
585
 
586
+ $( document ).trigger( 'wp-plugin-bulk-install', pluginsList );
587
+
588
+ // Find all the plugins which are required.
589
+ $.each( pluginsList, function( plugin_slug, plugin_data ) {
590
+ if ( ! plugin_data.is_active ) {
591
+ // Add it to the queue.
592
+ wp.updates.queue.push( {
593
+ action: 'install-plugin',
594
+ data: {
595
+ plugin: plugin_data.slug,
596
+ slug: plugin_slug
597
+ }
598
+ } );
599
+ }
600
+ } );
601
+
602
  $( document ).on( 'wp-demo-import-success', function( event, response ) {
603
  if ( _this.model.get( 'id' ) === response.slug ) {
604
  _this.model.set( { 'imported': true } );
605
  }
606
  } );
607
 
608
+ // Add it to the queue.
609
+ wp.updates.queue.push( {
610
+ action: 'import-demo',
611
+ data: {
612
+ slug: $target.data( 'slug' )
613
+ }
614
  } );
615
+
616
+ // Check the queue, now that the event handlers have been added.
617
+ wp.updates.queueChecker();
618
  }
619
  });
620
 
632
  'click .previous-theme': 'previousDemo',
633
  'click .next-theme': 'nextDemo',
634
  'keyup': 'keyEvent',
635
+ 'click .demo-import': 'importDemo'
 
636
  },
637
 
638
  // The HTML template for the demo preview
757
 
758
  importDemo: function( event ) {
759
  var _this = this,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
760
  pluginsList = $( '.plugins-list-table' ).find( '#the-list tr' ),
761
+ $target = $( '.demo-import' ),
762
  success = 0,
763
  error = 0,
764
  errorMessages = [];
769
  return;
770
  }
771
 
772
+ if ( ! window.confirm( wp.demos.data.settings.confirmImport ) ) {
773
+ return;
774
+ }
775
+
776
  // Bail if there were required plugins.
777
  if ( pluginsList.length ) {
 
 
778
  if ( $target.html() !== wp.updates.l10n.installing ) {
779
  $target.data( 'originaltext', $target.html() );
780
  }
811
  } );
812
  } );
813
 
814
+ // Scroll to bulk plugin install area.
815
+ $( document ).on( 'wp-plugin-bulk-installing', function() {
816
+ $( '.wp-full-overlay-sidebar-content' ).animate( { scrollTop: $( document ).height() } );
817
+ } );
818
+
819
  // Display bulk notification for install of plugin.
820
  $( document ).on( 'wp-plugin-bulk-install-success wp-plugin-bulk-install-error', function( event, response ) {
821
  var $itemRow = $( '[data-slug="' + response.slug + '"]' ),
860
  .text( $target.data( 'originaltext' ) );
861
  } else {
862
  _this.model.set( { requiredPlugins: false } );
 
863
 
864
  // Disable the next and previous demo.
865
  $( '.theme-install-overlay' ).find( '.next-theme, .previous-theme' ).addClass( 'disabled' );
872
  wp.updates.adminNotice = wp.template( 'wp-updates-admin-notice' );
873
  } );
874
 
875
+ $( document ).on( 'wp-demo-import-success', function( event, response ) {
876
+ if ( _this.model.get( 'id' ) === response.slug ) {
877
+ // _this.render();
878
+ _this.model.set( { 'imported': true } );
879
+ }
880
+ } );
881
+
882
+ // Add it to the queue.
883
+ wp.updates.queue.push( {
884
+ action: 'import-demo',
885
+ data: {
886
+ slug: $target.data( 'slug' )
887
+ }
888
+ } );
889
+
890
  // Check the queue, now that the event handlers have been added.
891
  wp.updates.queueChecker();
892
  }
assets/js/admin/demo-importer.min.js CHANGED
@@ -1 +1 @@
1
- window.wp=window.wp||{},function(d){var a,i;(a=wp.demos=wp.demos||{}).data=_demoImporterSettings,i=a.data.l10n,a.isNew=!!a.data.settings.isNew,_.extend(a,{model:{},view:{},routes:{},router:{},template:wp.template}),a.Model=Backbone.Model.extend({initialize:function(){var e;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(e=this.get("sections").description,this.set({description:e}))}}),a.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:d(window),page:0,initialize:function(e){_.bindAll(this,"scroller"),this.SearchView=e.SearchView?e.SearchView:a.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new a.view.Demos({collection:this.collection,parent:this}),this.search(),this.$el.removeClass("search-loading"),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered")},searchContainer:d(".search-form"),search:function(){var e;1!==a.data.demos.length&&(e=new this.SearchView({collection:this.collection,parent:this}),(this.SearchView=e).render(),this.searchContainer.append(d.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+i.search+"</label>")).append(e.el).on("submit",function(e){e.preventDefault()}))},scroller:function(){var e,t=this;this.window.scrollTop(),t.window.height(),e=t.$el.offset().top+t.$el.outerHeight(!1)-t.window.height(),e=Math.round(.9*e)}}),a.Collection=Backbone.Collection.extend({model:a.Model,terms:"",doSearch:function(e){this.terms!==e&&(this.terms=e,0<this.terms.length&&this.search(this.terms),""===this.terms&&(this.reset(a.data.demos),d("body").removeClass("no-results")),this.trigger("demos:update"))},search:function(t){var i,e,s,r,o,n;this.reset(a.data.demos,{silent:!0}),t=(t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")).replace(/ /g,")(?=.*"),i=new RegExp("^(?=.*"+t+").+","i"),0===(e=this.filter(function(e){return r=e.get("name").replace(/(<([^>]+)>)/gi,""),o=e.get("description").replace(/(<([^>]+)>)/gi,""),n=e.get("author").replace(/(<([^>]+)>)/gi,""),s=_.union([r,e.get("id"),o,n,e.get("tags")]),i.test(e.get("author"))&&2<t.length&&e.set("displayAuthor",!0),i.test(s)})).length?this.trigger("query:empty"):d("body").removeClass("no-results"),this.reset(e)},paginate:function(e){var t=this;return e=e||0,t=_(t.rest(20*e)),t=_(t.first(20))},count:!1,query:function(t){var e,i,s,r=this.queries,o=this;if(this.currentQuery.request=t,e=_.find(r,function(e){return _.isEqual(e.request,t)}),(i=_.has(t,"page"))||(this.currentQuery.page=1),e||i){if(i)return this.apiCall(t,i).done(function(e){o.add(e.demos),o.trigger("query:success"),o.loadingDemos=!1}).fail(function(){o.trigger("query:fail")});0===e.demos.length?o.trigger("query:empty"):d("body").removeClass("no-results"),_.isNumber(e.total)&&(this.count=e.total),this.reset(e.demos),e.total||(this.count=this.length),this.trigger("demos:update"),this.trigger("query:success",this.count)}else e=this.apiCall(t).done(function(e){e.demos&&(o.reset(e.demos),s=e.info.results,r.push({demos:e.demos,request:t,total:s})),o.trigger("demos:update"),o.trigger("query:success",s),e.demos&&0===e.demos.length&&o.trigger("query:empty")}).fail(function(){o.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(e,t){return wp.ajax.send("query-demos",{data:{request:_.extend({per_page:100},e)},beforeSend:function(){t||d("body").addClass("loading-content").removeClass("no-results")}})},loadingDemos:!1}),a.view.Demo=wp.Backbone.View.extend({className:"theme",state:"grid",html:a.template("demo"),events:{click:"preview",keydown:"preview",touchend:"preview",keyup:"addFocus",touchmove:"preventExpand","click .demo-import":"importDemo"},touchDrag:!1,initialize:function(){this.model.on("change",this.render,this)},render:function(){var e=this.model.toJSON();this.$el.html(this.html(e)).attr({tabindex:0,"aria-describedby":e.id+"-action "+e.id+"-name","data-slug":e.id}),this.activeDemo(),this.model.get("displayAuthor")&&this.$el.addClass("display-author")},activeDemo:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var e=d(":focus").hasClass("theme")?d(":focus"):d(":focus").parents(".theme");d(".theme.focus").removeClass("focus"),e.addClass("focus")},preventExpand:function(){this.touchDrag=!0},preview:function(e){var t,i,s=this;if(e=e||window.event,!0===this.touchDrag)return this.touchDrag=!1;d(e.target).not(".install-demo-preview").parents(".theme-actions").length||"keydown"===e.type&&13!==e.which&&32!==e.which||"keydown"===e.type&&13!==e.which&&d(":focus").hasClass("button")||(e.preventDefault(),e=e||window.event,a.focusedDemo=this.$el,a.preview=i=new a.view.Preview({model:this.model}),i.render(),this.setNavButtonsState(),1===this.model.collection.length?i.$el.addClass("no-navigation"):i.$el.removeClass("no-navigation"),d("div.wrap").append(i.el),this.listenTo(i,"demo:next",function(){if(t=s.model,_.isUndefined(s.current)||(t=s.current),s.current=s.model.collection.at(s.model.collection.indexOf(t)+1),_.isUndefined(s.current))return s.options.parent.parent.trigger("demo:end"),s.current=t;i.model=s.current,i.render(),this.setNavButtonsState(),d(".next-theme").focus()}).listenTo(i,"demo:previous",function(){t=s.model,0!==s.model.collection.indexOf(s.current)&&(_.isUndefined(s.current)||(t=s.current),s.current=s.model.collection.at(s.model.collection.indexOf(t)-1),_.isUndefined(s.current)||(i.model=s.current,i.render(),this.setNavButtonsState(),d(".previous-theme").focus()))}),this.listenTo(i,"preview:close",function(){s.current=s.model}))},setNavButtonsState:function(){var e=d(".theme-install-overlay"),t=_.isUndefined(this.current)?this.model:this.current,i=e.find(".previous-theme"),s=e.find(".next-theme");0===this.model.collection.indexOf(t)&&(i.addClass("disabled").prop("disabled",!0),s.focus()),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(t)+1))&&(s.addClass("disabled").prop("disabled",!0),i.focus())},importDemo:function(e){var i=this,t=d(e.target);e.preventDefault(),t.hasClass("disabled")||window.confirm(wp.demos.data.settings.confirmImport)&&(wp.updates.maybeRequestFilesystemCredentials(e),d(document).on("wp-demo-import-success",function(e,t){i.model.get("id")===t.slug&&i.model.set({imported:!0})}),wp.updates.importDemo({slug:t.data("slug")}))}}),a.view.Preview=wp.Backbone.View.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .devices button":"previewDevice","click .previous-theme":"previousDemo","click .next-theme":"nextDemo",keyup:"keyEvent","click .demo-import":"importDemo","click .plugins-install":"installPlugins"},html:a.template("demo-preview"),render:function(){var e,t=this,i=this.model.toJSON(),s=d(document.body);s.attr("aria-busy","true"),this.$el.removeClass("iframe-ready").html(this.html(i)),(e=this.$el.data("current-preview-device"))&&t.tooglePreviewDeviceButtons(e),a.router.navigate(a.router.baseUrl(a.router.demoPath+this.model.get("id")),{replace:!1}),this.$el.fadeIn(200,function(){s.addClass("demo-importer-active full-overlay-active")}),this.$el.find("iframe").one("load",function(){t.iframeLoaded()})},iframeLoaded:function(){this.$el.addClass("iframe-ready"),d(document.body).attr("aria-busy","false")},close:function(){return this.$el.fadeOut(200,function(){d("body").removeClass("demo-importer-active full-overlay-active"),a.focusedDemo&&a.focusedDemo.focus()}).removeClass("iframe-ready"),a.router.selectedTab?a.router.navigate(a.router.baseUrl("&browse="+a.router.selectedTab)):a.router.navigate(a.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(e){var t=d(e.currentTarget);return"true"===t.attr("aria-expanded")?t.attr({"aria-expanded":"false","aria-label":i.expandSidebar}):t.attr({"aria-expanded":"true","aria-label":i.collapseSidebar}),this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},previewDevice:function(e){var t=d(e.currentTarget).data("device");this.$el.removeClass("preview-desktop preview-tablet preview-mobile").addClass("preview-"+t).data("current-preview-device",t),this.tooglePreviewDeviceButtons(t)},tooglePreviewDeviceButtons:function(e){var t=d(".wp-full-overlay-footer .devices");t.find("button").removeClass("active").attr("aria-pressed",!1),t.find("button.preview-"+e).addClass("active").attr("aria-pressed",!0)},keyEvent:function(e){27===e.keyCode&&(this.undelegateEvents(),this.close()),39===e.keyCode&&_.once(this.nextDemo()),37===e.keyCode&&this.previousDemo()},nextDemo:function(){return this.trigger("demo:next",this.model.cid),!1},previousDemo:function(){return this.trigger("demo:previous",this.model.cid),!1},importDemo:function(e){var i=this,t=d(e.target);e.preventDefault(),t.hasClass("disabled")||t.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(wp.updates.maybeRequestFilesystemCredentials(e),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled"),d(document).on("wp-demo-import-success",function(e,t){i.model.get("id")===t.slug&&i.model.set({imported:!0})}),wp.updates.importDemo({slug:t.data("slug")}))},installPlugins:function(e){var o=this,t=d(".plugins-list-table").find("#the-list tr"),n=d(".plugins-install"),a=0,l=0,c=[];e.preventDefault(),n.hasClass("disabled")||n.hasClass("updating-message")||(t.length&&(d(".wp-full-overlay-sidebar-content").animate({scrollTop:d(document).height()}),n.html()!==wp.updates.l10n.installing&&n.data("originaltext",n.html()),n.addClass("updating-message").text(wp.updates.l10n.installing),wp.a11y.speak(wp.updates.l10n.installingMsg,"polite"),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")),wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",t),t.each(function(e,t){var i=d(t);i.hasClass("inactive")&&!i.find("notice-error").length&&wp.updates.queue.push({action:"install-plugin",data:{plugin:i.data("plugin"),slug:i.data("slug")}})}),d(document).on("wp-plugin-bulk-install-success wp-plugin-bulk-install-error",function(e,t){var i,s,r=d('[data-slug="'+t.slug+'"]');"wp-"+t.install+"-bulk-install-success"===e.type?a++:(s=t.pluginName?t.pluginName:r.find(".plugin-name").text(),l++,c.push(s+": "+t.errorMessage)),wp.updates.adminNotice=wp.template("wp-bulk-installs-admin-notice"),d(".plugins-details .bulk-action-notice").remove(),d(".plugins-details .plugins-info").after(wp.updates.adminNotice({id:"bulk-action-notice",className:"bulk-action-notice notice-alt",successes:a,errors:l,errorMessages:c,type:t.install})),i=d("#bulk-action-notice").on("click","button",function(){d(this).toggleClass("bulk-action-errors-collapsed").attr("aria-expanded",!d(this).hasClass("bulk-action-errors-collapsed")),i.find(".bulk-action-errors").toggleClass("hidden")}),wp.updates.queue.length||(0<l?n.removeClass("updating-message").text(n.data("originaltext")):(o.model.set({requiredPlugins:!1}),o.render(),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")))}),d(document).on("wp-updates-notice-added",function(){wp.updates.adminNotice=wp.template("wp-updates-admin-notice")}),wp.updates.queueChecker())}}),a.view.Demos=wp.Backbone.View.extend({className:"themes wp-clearfix",$overlay:d("div.theme-overlay"),index:0,count:d(".wrap .demo-count"),liveDemoCount:0,initialize:function(e){var t=this;this.parent=e.parent,this.setView("grid"),t.importedDemo(),this.listenTo(t.collection,"demos:update",function(){t.parent.page=0,t.importedDemo(),t.render(this)}),this.listenTo(t.collection,"query:success",function(e){_.isNumber(e)?(t.count.text(e),t.announceSearchResults(e)):(t.count.text(t.collection.length),t.announceSearchResults(t.collection.length))}),this.listenTo(t.collection,"query:empty",function(){d("body").addClass("no-results")}),this.listenTo(this.parent,"demo:scroll",function(){t.renderDemos(t.parent.page)})},render:function(){this.$el.empty(),0<this.options.collection.size()&&this.renderDemos(this.parent.page),this.liveDemoCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveDemoCount)},renderDemos:function(e){var t=this;t.instance=t.collection.paginate(e),0!==t.instance.size()?(a.isNew&&1<=e&&d(".add-new-theme").remove(),t.instance.each(function(e){t.demo=new a.view.Demo({model:e,parent:t}),t.demo.render(),t.$el.append(t.demo.el)}),a.isNew&&a.data.settings.suggestURI&&this.$el.append('<div class="theme add-new-theme"><a href="'+a.data.settings.suggestURI+'" target="blank"><div class="theme-screenshot"><span></span></div><h2 class="theme-name">'+i.suggestNew+"</h2></a></div>"),this.parent.page++):this.parent.trigger("demo:end")},importedDemo:function(){var e;(e=this.collection.findWhere({active:!0}))&&(this.collection.remove(e),this.collection.add(e,{at:0}))},setView:function(e){return e},announceSearchResults:function(e){0===e?wp.a11y.speak(i.noDemosFound):wp.a11y.speak(i.demosFound.replace("%d",e))}}),a.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:i.searchPlaceholder,type:"search","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(e){this.parent=e.parent,this.listenTo(this.parent,"demo:close",function(){this.searching=!1})},search:function(e){"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e)},doSearch:function(e){var t={};this.collection.doSearch(e.target.value.replace(/\+/g," ")),this.searching&&13!==e.which?t.replace=!0:this.searching=!0,e.target.value?a.router.navigate(a.router.baseUrl(a.router.searchPath+e.target.value),t):a.router.navigate(a.router.baseUrl(""))},pushState:function(e){var t=a.router.baseUrl("");e.target.value&&(t=a.router.baseUrl(a.router.searchPath+encodeURIComponent(e.target.value))),this.searching=!1,a.router.navigate(t)}}),a.Router=Backbone.Router.extend({routes:{"themes.php?page=demo-importer&demo=:slug":"preview","themes.php?page=demo-importer&browse=:sort":"sort","themes.php?page=demo-importer&search=:query":"search","themes.php?page=demo-importer":"sort"},baseUrl:function(e){return"themes.php?page=demo-importer"+e},demoPath:"&demo=",browsePath:"&browse=",searchPath:"&search=",search:function(e){d(".wp-filter-search").val(e.replace(/\+/g," "))},navigate:function s(e,t){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.call(this,e,t)}}),a.view.InstallerSearch=a.view.Search.extend({events:{input:"search",keyup:"search"},terms:"",search:function(e){("keyup"!==e.type||9!==e.which&&16!==e.which)&&(this.collection=this.options.parent.view.collection,"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e.target.value))},doSearch:function(e){this.terms!==e&&(this.terms=e,d(".filter-links li > a.current").removeClass("current").removeAttr("aria-current"),this.collection.doSearch(e.replace(/\+/g," ")),a.router.navigate(a.router.baseUrl(a.router.searchPath+encodeURIComponent(e)),{replace:!0}))}}),a.view.Installer=a.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort"},render:function(){var e=this;this.search(),this.collection=new a.Collection,this.listenTo(this,"demo:end",function(){e.collection.loadingDemos||(e.collection.loadingDemos=!0,e.collection.currentQuery.page++,_.extend(e.collection.currentQuery.request,{page:e.collection.currentQuery.page}),e.collection.query(e.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove(),d(".theme-browser").find("div.themes").before('<div class="error"><p>'+i.error+'</p><p><button class="button try-again">'+i.tryAgain+"</button></p></div>"),d(".theme-browser .error .try-again").on("click",function(e){e.preventDefault(),d("input.wp-filter-search").trigger("input")})}),this.view&&this.view.remove(),this.view=new a.view.Demos({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(e,t){this.collection.query({browse:e,builder:t})},onSort:function(e){var t=d(e.target),i=t.data("sort"),s=t.data("type");e.preventDefault(),i=i||a.router.selectedTab,s=s||a.router.selectedType,t.hasClass(this.activeClass)||(this.sort(i,s),a.router.navigate(a.router.baseUrl(a.router.browsePath+i)))},sort:function(e,t){this.clearSearch(),a.router.selectedTab=e,a.router.selectedType=t,d(".filter-links li > a").removeClass(this.activeClass).removeAttr("aria-current"),d('[data-sort="'+e+'"]').addClass(this.activeClass).attr("aria-current","page"),d('[data-type="'+t+'"]').addClass(this.activeClass).attr("aria-current","page"),this.browse(e,t)},activeClass:"current",clearSearch:function(){d("#wp-filter-search-input").val("")}}),a.RunInstaller={init:function(){this.view=new a.view.Installer({section:"all",SearchView:a.view.InstallerSearch}),this.render(),this.view.SearchView.doSearch=_.debounce(this.view.SearchView.doSearch,500)},render:function(){this.view.render(),this.routes(),Backbone.History.started&&Backbone.history.stop(),Backbone.history.start({root:a.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var i=this,t={};a.router=new a.Router,a.router.on("route:preview",function(e){a.preview&&(a.preview.undelegateEvents(),a.preview.unbind()),i.view.view.demo&&i.view.view.demo.preview?(i.view.view.demo.model=i.view.collection.findWhere({slug:e}),i.view.view.demo.preview()):(t.demo=e,i.view.collection.query(t),i.view.collection.trigger("update"),i.view.collection.once("query:success",function(){d('div[data-slug="'+e+'"]').trigger("click")}))}),a.router.on("route:sort",function(e){var t=a.router.selectedType?a.router.selectedType:d(".filter-links.pagebuilders li").first().find("a").data("type");e&&d('[data-sort="'+e+'"]').length||(e="all",a.router.navigate(a.router.baseUrl("&browse=all"),{replace:!0})),i.view.sort(e,t),a.preview&&a.preview.close()}),a.router.on("route:search",function(){d(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},d(document).ready(function(){a.RunInstaller.init(),d(document.body).on("init_tooltips",function(){d("#tiptip_holder").removeAttr("style"),d("#tiptip_arrow").removeAttr("style"),d(".tips").tipTip({attribute:"data-tip",defaultPosition:"top",fadeIn:50,fadeOut:50,delay:50})}).trigger("init_tooltips"),d(".themegrill-reset-wordpress").on("click",function(){return window.confirm(_demoImporterSettings.settings.confirmReset)}),d(".themegrill-demo-importer-rating-link").on("click",function(){var e=d(this);d.post(a.data.settings.ajaxUrl,{action:"footer-text-rated"}),e.parent().text(e.data("rated"))})})}(jQuery);
1
+ window.wp=window.wp||{},function(d){var a,i;(a=wp.demos=wp.demos||{}).data=_demoImporterSettings,i=a.data.l10n,a.isNew=!!a.data.settings.isNew,_.extend(a,{model:{},view:{},routes:{},router:{},template:wp.template}),a.Model=Backbone.Model.extend({initialize:function(){var e;this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(e=this.get("sections").description,this.set({description:e}))}}),a.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:d(window),page:0,initialize:function(e){_.bindAll(this,"scroller"),this.SearchView=e.SearchView?e.SearchView:a.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new a.view.Demos({collection:this.collection,parent:this}),this.search(),this.$el.removeClass("search-loading"),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered")},searchContainer:d(".search-form"),search:function(){var e;1!==a.data.demos.length&&(e=new this.SearchView({collection:this.collection,parent:this}),(this.SearchView=e).render(),this.searchContainer.append(d.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+i.search+"</label>")).append(e.el).on("submit",function(e){e.preventDefault()}))},scroller:function(){var e,t=this;this.window.scrollTop(),t.window.height(),e=t.$el.offset().top+t.$el.outerHeight(!1)-t.window.height(),e=Math.round(.9*e)}}),a.Collection=Backbone.Collection.extend({model:a.Model,terms:"",doSearch:function(e){this.terms!==e&&(this.terms=e,0<this.terms.length&&this.search(this.terms),""===this.terms&&(this.reset(a.data.demos),d("body").removeClass("no-results")),this.trigger("demos:update"))},search:function(t){var i,e,s,r,o,n;this.reset(a.data.demos,{silent:!0}),t=(t=t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")).replace(/ /g,")(?=.*"),i=new RegExp("^(?=.*"+t+").+","i"),0===(e=this.filter(function(e){return r=e.get("name").replace(/(<([^>]+)>)/gi,""),o=e.get("description").replace(/(<([^>]+)>)/gi,""),n=e.get("author").replace(/(<([^>]+)>)/gi,""),s=_.union([r,e.get("id"),o,n,e.get("tags")]),i.test(e.get("author"))&&2<t.length&&e.set("displayAuthor",!0),i.test(s)})).length?this.trigger("query:empty"):d("body").removeClass("no-results"),this.reset(e)},paginate:function(e){var t=this;return e=e||0,t=_(t.rest(20*e)),t=_(t.first(20))},count:!1,query:function(t){var e,i,s,r=this.queries,o=this;if(this.currentQuery.request=t,e=_.find(r,function(e){return _.isEqual(e.request,t)}),(i=_.has(t,"page"))||(this.currentQuery.page=1),e||i){if(i)return this.apiCall(t,i).done(function(e){o.add(e.demos),o.trigger("query:success"),o.loadingDemos=!1}).fail(function(){o.trigger("query:fail")});0===e.demos.length?o.trigger("query:empty"):d("body").removeClass("no-results"),_.isNumber(e.total)&&(this.count=e.total),this.reset(e.demos),e.total||(this.count=this.length),this.trigger("demos:update"),this.trigger("query:success",this.count)}else e=this.apiCall(t).done(function(e){e.demos&&(o.reset(e.demos),s=e.info.results,r.push({demos:e.demos,request:t,total:s})),o.trigger("demos:update"),o.trigger("query:success",s),e.demos&&0===e.demos.length&&o.trigger("query:empty")}).fail(function(){o.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(e,t){return wp.ajax.send("query-demos",{data:{request:_.extend({per_page:100},e)},beforeSend:function(){t||d("body").addClass("loading-content").removeClass("no-results")}})},loadingDemos:!1}),a.view.Demo=wp.Backbone.View.extend({className:"theme",state:"grid",html:a.template("demo"),events:{click:"preview",keydown:"preview",touchend:"preview",keyup:"addFocus",touchmove:"preventExpand","click .demo-import":"importDemo"},touchDrag:!1,initialize:function(){this.model.on("change",this.render,this)},render:function(){var e=this.model.toJSON();this.$el.html(this.html(e)).attr({tabindex:0,"aria-describedby":e.id+"-action "+e.id+"-name","data-slug":e.id}),this.activeDemo(),this.model.get("displayAuthor")&&this.$el.addClass("display-author")},activeDemo:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var e=d(":focus").hasClass("theme")?d(":focus"):d(":focus").parents(".theme");d(".theme.focus").removeClass("focus"),e.addClass("focus")},preventExpand:function(){this.touchDrag=!0},preview:function(e){var t,i,s=this;if(e=e||window.event,!0===this.touchDrag)return this.touchDrag=!1;d(e.target).not(".install-demo-preview").parents(".theme-actions").length||"keydown"===e.type&&13!==e.which&&32!==e.which||"keydown"===e.type&&13!==e.which&&d(":focus").hasClass("button")||(e.preventDefault(),e=e||window.event,a.focusedDemo=this.$el,a.preview=i=new a.view.Preview({model:this.model}),i.render(),this.setNavButtonsState(),1===this.model.collection.length?i.$el.addClass("no-navigation"):i.$el.removeClass("no-navigation"),d("div.wrap").append(i.el),this.listenTo(i,"demo:next",function(){if(t=s.model,_.isUndefined(s.current)||(t=s.current),s.current=s.model.collection.at(s.model.collection.indexOf(t)+1),_.isUndefined(s.current))return s.options.parent.parent.trigger("demo:end"),s.current=t;i.model=s.current,i.render(),this.setNavButtonsState(),d(".next-theme").focus()}).listenTo(i,"demo:previous",function(){t=s.model,0!==s.model.collection.indexOf(s.current)&&(_.isUndefined(s.current)||(t=s.current),s.current=s.model.collection.at(s.model.collection.indexOf(t)-1),_.isUndefined(s.current)||(i.model=s.current,i.render(),this.setNavButtonsState(),d(".previous-theme").focus()))}),this.listenTo(i,"preview:close",function(){s.current=s.model}))},setNavButtonsState:function(){var e=d(".theme-install-overlay"),t=_.isUndefined(this.current)?this.model:this.current,i=e.find(".previous-theme"),s=e.find(".next-theme");0===this.model.collection.indexOf(t)&&(i.addClass("disabled").prop("disabled",!0),s.focus()),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(t)+1))&&(s.addClass("disabled").prop("disabled",!0),i.focus())},importDemo:function(e){var i=this,t=d(e.target),s=d(e.target).data("plugins");e.preventDefault(),t.hasClass("disabled")||t.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(d.isEmptyObject(s)||(t.html()!==wp.updates.l10n.installing&&t.data("originaltext",t.html()),t.addClass("updating-message").text(wp.updates.l10n.installing),wp.a11y.speak(wp.updates.l10n.installingMsg,"polite")),wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",s),d.each(s,function(e,t){t.is_active||wp.updates.queue.push({action:"install-plugin",data:{plugin:t.slug,slug:e}})}),d(document).on("wp-demo-import-success",function(e,t){i.model.get("id")===t.slug&&i.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:t.data("slug")}}),wp.updates.queueChecker())}}),a.view.Preview=wp.Backbone.View.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .devices button":"previewDevice","click .previous-theme":"previousDemo","click .next-theme":"nextDemo",keyup:"keyEvent","click .demo-import":"importDemo"},html:a.template("demo-preview"),render:function(){var e,t=this,i=this.model.toJSON(),s=d(document.body);s.attr("aria-busy","true"),this.$el.removeClass("iframe-ready").html(this.html(i)),(e=this.$el.data("current-preview-device"))&&t.tooglePreviewDeviceButtons(e),a.router.navigate(a.router.baseUrl(a.router.demoPath+this.model.get("id")),{replace:!1}),this.$el.fadeIn(200,function(){s.addClass("demo-importer-active full-overlay-active")}),this.$el.find("iframe").one("load",function(){t.iframeLoaded()})},iframeLoaded:function(){this.$el.addClass("iframe-ready"),d(document.body).attr("aria-busy","false")},close:function(){return this.$el.fadeOut(200,function(){d("body").removeClass("demo-importer-active full-overlay-active"),a.focusedDemo&&a.focusedDemo.focus()}).removeClass("iframe-ready"),a.router.selectedTab?a.router.navigate(a.router.baseUrl("&browse="+a.router.selectedTab)):a.router.navigate(a.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(e){var t=d(e.currentTarget);return"true"===t.attr("aria-expanded")?t.attr({"aria-expanded":"false","aria-label":i.expandSidebar}):t.attr({"aria-expanded":"true","aria-label":i.collapseSidebar}),this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},previewDevice:function(e){var t=d(e.currentTarget).data("device");this.$el.removeClass("preview-desktop preview-tablet preview-mobile").addClass("preview-"+t).data("current-preview-device",t),this.tooglePreviewDeviceButtons(t)},tooglePreviewDeviceButtons:function(e){var t=d(".wp-full-overlay-footer .devices");t.find("button").removeClass("active").attr("aria-pressed",!1),t.find("button.preview-"+e).addClass("active").attr("aria-pressed",!0)},keyEvent:function(e){27===e.keyCode&&(this.undelegateEvents(),this.close()),39===e.keyCode&&_.once(this.nextDemo()),37===e.keyCode&&this.previousDemo()},nextDemo:function(){return this.trigger("demo:next",this.model.cid),!1},previousDemo:function(){return this.trigger("demo:previous",this.model.cid),!1},importDemo:function(e){var o=this,t=d(".plugins-list-table").find("#the-list tr"),n=d(".demo-import"),a=0,l=0,c=[];e.preventDefault(),n.hasClass("disabled")||n.hasClass("updating-message")||window.confirm(wp.demos.data.settings.confirmImport)&&(t.length&&(n.html()!==wp.updates.l10n.installing&&n.data("originaltext",n.html()),n.addClass("updating-message").text(wp.updates.l10n.installing),wp.a11y.speak(wp.updates.l10n.installingMsg,"polite"),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")),wp.updates.maybeRequestFilesystemCredentials(e),d(document).trigger("wp-plugin-bulk-install",t),t.each(function(e,t){var i=d(t);i.hasClass("inactive")&&!i.find("notice-error").length&&wp.updates.queue.push({action:"install-plugin",data:{plugin:i.data("plugin"),slug:i.data("slug")}})}),d(document).on("wp-plugin-bulk-installing",function(){d(".wp-full-overlay-sidebar-content").animate({scrollTop:d(document).height()})}),d(document).on("wp-plugin-bulk-install-success wp-plugin-bulk-install-error",function(e,t){var i,s,r=d('[data-slug="'+t.slug+'"]');"wp-"+t.install+"-bulk-install-success"===e.type?a++:(s=t.pluginName?t.pluginName:r.find(".plugin-name").text(),l++,c.push(s+": "+t.errorMessage)),wp.updates.adminNotice=wp.template("wp-bulk-installs-admin-notice"),d(".plugins-details .bulk-action-notice").remove(),d(".plugins-details .plugins-info").after(wp.updates.adminNotice({id:"bulk-action-notice",className:"bulk-action-notice notice-alt",successes:a,errors:l,errorMessages:c,type:t.install})),i=d("#bulk-action-notice").on("click","button",function(){d(this).toggleClass("bulk-action-errors-collapsed").attr("aria-expanded",!d(this).hasClass("bulk-action-errors-collapsed")),i.find(".bulk-action-errors").toggleClass("hidden")}),wp.updates.queue.length||(0<l?n.removeClass("updating-message").text(n.data("originaltext")):(o.model.set({requiredPlugins:!1}),d(".theme-install-overlay").find(".next-theme, .previous-theme").addClass("disabled")))}),d(document).on("wp-updates-notice-added",function(){wp.updates.adminNotice=wp.template("wp-updates-admin-notice")}),d(document).on("wp-demo-import-success",function(e,t){o.model.get("id")===t.slug&&o.model.set({imported:!0})}),wp.updates.queue.push({action:"import-demo",data:{slug:n.data("slug")}}),wp.updates.queueChecker())}}),a.view.Demos=wp.Backbone.View.extend({className:"themes wp-clearfix",$overlay:d("div.theme-overlay"),index:0,count:d(".wrap .demo-count"),liveDemoCount:0,initialize:function(e){var t=this;this.parent=e.parent,this.setView("grid"),t.importedDemo(),this.listenTo(t.collection,"demos:update",function(){t.parent.page=0,t.importedDemo(),t.render(this)}),this.listenTo(t.collection,"query:success",function(e){_.isNumber(e)?(t.count.text(e),t.announceSearchResults(e)):(t.count.text(t.collection.length),t.announceSearchResults(t.collection.length))}),this.listenTo(t.collection,"query:empty",function(){d("body").addClass("no-results")}),this.listenTo(this.parent,"demo:scroll",function(){t.renderDemos(t.parent.page)})},render:function(){this.$el.empty(),0<this.options.collection.size()&&this.renderDemos(this.parent.page),this.liveDemoCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveDemoCount)},renderDemos:function(e){var t=this;t.instance=t.collection.paginate(e),0!==t.instance.size()?(a.isNew&&1<=e&&d(".add-new-theme").remove(),t.instance.each(function(e){t.demo=new a.view.Demo({model:e,parent:t}),t.demo.render(),t.$el.append(t.demo.el)}),a.isNew&&a.data.settings.suggestURI&&this.$el.append('<div class="theme add-new-theme"><a href="'+a.data.settings.suggestURI+'" target="blank"><div class="theme-screenshot"><span></span></div><h2 class="theme-name">'+i.suggestNew+"</h2></a></div>"),this.parent.page++):this.parent.trigger("demo:end")},importedDemo:function(){var e;(e=this.collection.findWhere({active:!0}))&&(this.collection.remove(e),this.collection.add(e,{at:0}))},setView:function(e){return e},announceSearchResults:function(e){0===e?wp.a11y.speak(i.noDemosFound):wp.a11y.speak(i.demosFound.replace("%d",e))}}),a.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:i.searchPlaceholder,type:"search","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(e){this.parent=e.parent,this.listenTo(this.parent,"demo:close",function(){this.searching=!1})},search:function(e){"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e)},doSearch:function(e){var t={};this.collection.doSearch(e.target.value.replace(/\+/g," ")),this.searching&&13!==e.which?t.replace=!0:this.searching=!0,e.target.value?a.router.navigate(a.router.baseUrl(a.router.searchPath+e.target.value),t):a.router.navigate(a.router.baseUrl(""))},pushState:function(e){var t=a.router.baseUrl("");e.target.value&&(t=a.router.baseUrl(a.router.searchPath+encodeURIComponent(e.target.value))),this.searching=!1,a.router.navigate(t)}}),a.Router=Backbone.Router.extend({routes:{"themes.php?page=demo-importer&demo=:slug":"preview","themes.php?page=demo-importer&browse=:sort":"sort","themes.php?page=demo-importer&search=:query":"search","themes.php?page=demo-importer":"sort"},baseUrl:function(e){return"themes.php?page=demo-importer"+e},demoPath:"&demo=",browsePath:"&browse=",searchPath:"&search=",search:function(e){d(".wp-filter-search").val(e.replace(/\+/g," "))},navigate:function s(e,t){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.call(this,e,t)}}),a.view.InstallerSearch=a.view.Search.extend({events:{input:"search",keyup:"search"},terms:"",search:function(e){("keyup"!==e.type||9!==e.which&&16!==e.which)&&(this.collection=this.options.parent.view.collection,"keyup"===e.type&&27===e.which&&(e.target.value=""),this.doSearch(e.target.value))},doSearch:function(e){this.terms!==e&&(this.terms=e,d(".filter-links li > a.current").removeClass("current").removeAttr("aria-current"),this.collection.doSearch(e.replace(/\+/g," ")),a.router.navigate(a.router.baseUrl(a.router.searchPath+encodeURIComponent(e)),{replace:!0}))}}),a.view.Installer=a.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort"},render:function(){var e=this;this.search(),this.collection=new a.Collection,this.listenTo(this,"demo:end",function(){e.collection.loadingDemos||(e.collection.loadingDemos=!0,e.collection.currentQuery.page++,_.extend(e.collection.currentQuery.request,{page:e.collection.currentQuery.page}),e.collection.query(e.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){d("body").removeClass("loading-content"),d(".theme-browser").find("div.error").remove(),d(".theme-browser").find("div.themes").before('<div class="error"><p>'+i.error+'</p><p><button class="button try-again">'+i.tryAgain+"</button></p></div>"),d(".theme-browser .error .try-again").on("click",function(e){e.preventDefault(),d("input.wp-filter-search").trigger("input")})}),this.view&&this.view.remove(),this.view=new a.view.Demos({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(e,t){this.collection.query({browse:e,builder:t})},onSort:function(e){var t=d(e.target),i=t.data("sort"),s=t.data("type");e.preventDefault(),i=i||a.router.selectedTab,s=s||a.router.selectedType,t.hasClass(this.activeClass)||(this.sort(i,s),a.router.navigate(a.router.baseUrl(a.router.browsePath+i)))},sort:function(e,t){this.clearSearch(),a.router.selectedTab=e,a.router.selectedType=t,d(".filter-links li > a").removeClass(this.activeClass).removeAttr("aria-current"),d('[data-sort="'+e+'"]').addClass(this.activeClass).attr("aria-current","page"),d('[data-type="'+t+'"]').addClass(this.activeClass).attr("aria-current","page"),this.browse(e,t)},activeClass:"current",clearSearch:function(){d("#wp-filter-search-input").val("")}}),a.RunInstaller={init:function(){this.view=new a.view.Installer({section:"all",SearchView:a.view.InstallerSearch}),this.render(),this.view.SearchView.doSearch=_.debounce(this.view.SearchView.doSearch,500)},render:function(){this.view.render(),this.routes(),Backbone.History.started&&Backbone.history.stop(),Backbone.history.start({root:a.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var i=this,t={};a.router=new a.Router,a.router.on("route:preview",function(e){a.preview&&(a.preview.undelegateEvents(),a.preview.unbind()),i.view.view.demo&&i.view.view.demo.preview?(i.view.view.demo.model=i.view.collection.findWhere({slug:e}),i.view.view.demo.preview()):(t.demo=e,i.view.collection.query(t),i.view.collection.trigger("update"),i.view.collection.once("query:success",function(){d('div[data-slug="'+e+'"]').trigger("click")}))}),a.router.on("route:sort",function(e){var t=a.router.selectedType?a.router.selectedType:d(".filter-links.pagebuilders li").first().find("a").data("type");e&&d('[data-sort="'+e+'"]').length||(e="all",a.router.navigate(a.router.baseUrl("&browse=all"),{replace:!0})),i.view.sort(e,t),a.preview&&a.preview.close()}),a.router.on("route:search",function(){d(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},d(document).ready(function(){a.RunInstaller.init(),d(document.body).on("init_tooltips",function(){d("#tiptip_holder").removeAttr("style"),d("#tiptip_arrow").removeAttr("style"),d(".tips").tipTip({attribute:"data-tip",defaultPosition:"top",fadeIn:50,fadeOut:50,delay:50})}).trigger("init_tooltips"),d(".themegrill-reset-wordpress").on("click",function(){return window.confirm(_demoImporterSettings.settings.confirmReset)}),d(".themegrill-demo-importer-rating-link").on("click",function(){var e=d(this);d.post(a.data.settings.ajaxUrl,{action:"footer-text-rated"}),e.parent().text(e.data("rated"))})})}(jQuery);
composer.lock DELETED
@@ -1,425 +0,0 @@
1
- {
2
- "_readme": [
3
- "This file locks the dependencies of your project to a known state",
4
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
- "This file is @generated automatically"
6
- ],
7
- "content-hash": "7d1f46a9688ef0db39b8afa16e609252",
8
- "packages": [
9
- {
10
- "name": "composer/installers",
11
- "version": "v1.5.0",
12
- "source": {
13
- "type": "git",
14
- "url": "https://github.com/composer/installers.git",
15
- "reference": "049797d727261bf27f2690430d935067710049c2"
16
- },
17
- "dist": {
18
- "type": "zip",
19
- "url": "https://api.github.com/repos/composer/installers/zipball/049797d727261bf27f2690430d935067710049c2",
20
- "reference": "049797d727261bf27f2690430d935067710049c2",
21
- "shasum": ""
22
- },
23
- "require": {
24
- "composer-plugin-api": "^1.0"
25
- },
26
- "replace": {
27
- "roundcube/plugin-installer": "*",
28
- "shama/baton": "*"
29
- },
30
- "require-dev": {
31
- "composer/composer": "1.0.*@dev",
32
- "phpunit/phpunit": "^4.8.36"
33
- },
34
- "type": "composer-plugin",
35
- "extra": {
36
- "class": "Composer\\Installers\\Plugin",
37
- "branch-alias": {
38
- "dev-master": "1.0-dev"
39
- }
40
- },
41
- "autoload": {
42
- "psr-4": {
43
- "Composer\\Installers\\": "src/Composer/Installers"
44
- }
45
- },
46
- "notification-url": "https://packagist.org/downloads/",
47
- "license": [
48
- "MIT"
49
- ],
50
- "authors": [
51
- {
52
- "name": "Kyle Robinson Young",
53
- "email": "kyle@dontkry.com",
54
- "homepage": "https://github.com/shama"
55
- }
56
- ],
57
- "description": "A multi-framework Composer library installer",
58
- "homepage": "https://composer.github.io/installers/",
59
- "keywords": [
60
- "Craft",
61
- "Dolibarr",
62
- "Eliasis",
63
- "Hurad",
64
- "ImageCMS",
65
- "Kanboard",
66
- "Lan Management System",
67
- "MODX Evo",
68
- "Mautic",
69
- "Maya",
70
- "OXID",
71
- "Plentymarkets",
72
- "Porto",
73
- "RadPHP",
74
- "SMF",
75
- "Thelia",
76
- "WolfCMS",
77
- "agl",
78
- "aimeos",
79
- "annotatecms",
80
- "attogram",
81
- "bitrix",
82
- "cakephp",
83
- "chef",
84
- "cockpit",
85
- "codeigniter",
86
- "concrete5",
87
- "croogo",
88
- "dokuwiki",
89
- "drupal",
90
- "eZ Platform",
91
- "elgg",
92
- "expressionengine",
93
- "fuelphp",
94
- "grav",
95
- "installer",
96
- "itop",
97
- "joomla",
98
- "kohana",
99
- "laravel",
100
- "lavalite",
101
- "lithium",
102
- "magento",
103
- "majima",
104
- "mako",
105
- "mediawiki",
106
- "modulework",
107
- "modx",
108
- "moodle",
109
- "osclass",
110
- "phpbb",
111
- "piwik",
112
- "ppi",
113
- "puppet",
114
- "pxcms",
115
- "reindex",
116
- "roundcube",
117
- "shopware",
118
- "silverstripe",
119
- "sydes",
120
- "symfony",
121
- "typo3",
122
- "wordpress",
123
- "yawik",
124
- "zend",
125
- "zikula"
126
- ],
127
- "time": "2017-12-29T09:13:20+00:00"
128
- }
129
- ],
130
- "packages-dev": [
131
- {
132
- "name": "dealerdirect/phpcodesniffer-composer-installer",
133
- "version": "v0.4.4",
134
- "source": {
135
- "type": "git",
136
- "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git",
137
- "reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08"
138
- },
139
- "dist": {
140
- "type": "zip",
141
- "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/2e41850d5f7797cbb1af7b030d245b3b24e63a08",
142
- "reference": "2e41850d5f7797cbb1af7b030d245b3b24e63a08",
143
- "shasum": ""
144
- },
145
- "require": {
146
- "composer-plugin-api": "^1.0",
147
- "php": "^5.3|^7",
148
- "squizlabs/php_codesniffer": "*"
149
- },
150
- "require-dev": {
151
- "composer/composer": "*",
152
- "wimg/php-compatibility": "^8.0"
153
- },
154
- "suggest": {
155
- "dealerdirect/qa-tools": "All the PHP QA tools you'll need"
156
- },
157
- "type": "composer-plugin",
158
- "extra": {
159
- "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
160
- },
161
- "autoload": {
162
- "psr-4": {
163
- "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
164
- }
165
- },
166
- "notification-url": "https://packagist.org/downloads/",
167
- "license": [
168
- "MIT"
169
- ],
170
- "authors": [
171
- {
172
- "name": "Franck Nijhof",
173
- "email": "f.nijhof@dealerdirect.nl",
174
- "homepage": "http://workingatdealerdirect.eu",
175
- "role": "Developer"
176
- }
177
- ],
178
- "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
179
- "homepage": "http://workingatdealerdirect.eu",
180
- "keywords": [
181
- "PHPCodeSniffer",
182
- "PHP_CodeSniffer",
183
- "code quality",
184
- "codesniffer",
185
- "composer",
186
- "installer",
187
- "phpcs",
188
- "plugin",
189
- "qa",
190
- "quality",
191
- "standard",
192
- "standards",
193
- "style guide",
194
- "stylecheck",
195
- "tests"
196
- ],
197
- "time": "2017-12-06T16:27:17+00:00"
198
- },
199
- {
200
- "name": "squizlabs/php_codesniffer",
201
- "version": "3.3.1",
202
- "source": {
203
- "type": "git",
204
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
205
- "reference": "628a481780561150481a9ec74709092b9759b3ec"
206
- },
207
- "dist": {
208
- "type": "zip",
209
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/628a481780561150481a9ec74709092b9759b3ec",
210
- "reference": "628a481780561150481a9ec74709092b9759b3ec",
211
- "shasum": ""
212
- },
213
- "require": {
214
- "ext-simplexml": "*",
215
- "ext-tokenizer": "*",
216
- "ext-xmlwriter": "*",
217
- "php": ">=5.4.0"
218
- },
219
- "require-dev": {
220
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
221
- },
222
- "bin": [
223
- "bin/phpcs",
224
- "bin/phpcbf"
225
- ],
226
- "type": "library",
227
- "extra": {
228
- "branch-alias": {
229
- "dev-master": "3.x-dev"
230
- }
231
- },
232
- "notification-url": "https://packagist.org/downloads/",
233
- "license": [
234
- "BSD-3-Clause"
235
- ],
236
- "authors": [
237
- {
238
- "name": "Greg Sherwood",
239
- "role": "lead"
240
- }
241
- ],
242
- "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
243
- "homepage": "http://www.squizlabs.com/php-codesniffer",
244
- "keywords": [
245
- "phpcs",
246
- "standards"
247
- ],
248
- "time": "2018-07-26T23:47:18+00:00"
249
- },
250
- {
251
- "name": "wimg/php-compatibility",
252
- "version": "8.2.0",
253
- "source": {
254
- "type": "git",
255
- "url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
256
- "reference": "eaf613c1a8265bcfd7b0ab690783f2aef519f78a"
257
- },
258
- "dist": {
259
- "type": "zip",
260
- "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/eaf613c1a8265bcfd7b0ab690783f2aef519f78a",
261
- "reference": "eaf613c1a8265bcfd7b0ab690783f2aef519f78a",
262
- "shasum": ""
263
- },
264
- "require": {
265
- "php": ">=5.3",
266
- "squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
267
- },
268
- "conflict": {
269
- "squizlabs/php_codesniffer": "2.6.2"
270
- },
271
- "require-dev": {
272
- "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
273
- },
274
- "suggest": {
275
- "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
276
- "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
277
- },
278
- "type": "phpcodesniffer-standard",
279
- "autoload": {
280
- "psr-4": {
281
- "PHPCompatibility\\": "PHPCompatibility/"
282
- }
283
- },
284
- "notification-url": "https://packagist.org/downloads/",
285
- "license": [
286
- "LGPL-3.0-or-later"
287
- ],
288
- "authors": [
289
- {
290
- "name": "Wim Godden",
291
- "role": "lead"
292
- }
293
- ],
294
- "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP version compatibility.",
295
- "homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
296
- "keywords": [
297
- "compatibility",
298
- "phpcs",
299
- "standards"
300
- ],
301
- "time": "2018-07-17T13:42:26+00:00"
302
- },
303
- {
304
- "name": "wp-coding-standards/wpcs",
305
- "version": "0.14.1",
306
- "source": {
307
- "type": "git",
308
- "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git",
309
- "reference": "cf6b310caad735816caef7573295f8a534374706"
310
- },
311
- "dist": {
312
- "type": "zip",
313
- "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/cf6b310caad735816caef7573295f8a534374706",
314
- "reference": "cf6b310caad735816caef7573295f8a534374706",
315
- "shasum": ""
316
- },
317
- "require": {
318
- "php": ">=5.3",
319
- "squizlabs/php_codesniffer": "^2.9.0 || ^3.0.2"
320
- },
321
- "suggest": {
322
- "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
323
- },
324
- "type": "phpcodesniffer-standard",
325
- "notification-url": "https://packagist.org/downloads/",
326
- "license": [
327
- "MIT"
328
- ],
329
- "authors": [
330
- {
331
- "name": "Contributors",
332
- "homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors"
333
- }
334
- ],
335
- "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
336
- "keywords": [
337
- "phpcs",
338
- "standards",
339
- "wordpress"
340
- ],
341
- "time": "2018-02-16T01:57:48+00:00"
342
- },
343
- {
344
- "name": "wpeverest/wpeverest-git-hooks",
345
- "version": "1.0.2",
346
- "source": {
347
- "type": "git",
348
- "url": "https://github.com/wpeverest/wpeverest-git-hooks.git",
349
- "reference": "81b1a2ff501252a23cbd59155bdc21918cef0dd2"
350
- },
351
- "dist": {
352
- "type": "zip",
353
- "url": "https://api.github.com/repos/wpeverest/wpeverest-git-hooks/zipball/81b1a2ff501252a23cbd59155bdc21918cef0dd2",
354
- "reference": "81b1a2ff501252a23cbd59155bdc21918cef0dd2",
355
- "shasum": ""
356
- },
357
- "type": "scripts",
358
- "autoload": {
359
- "psr-4": {
360
- "WPEverest\\GitHooks\\": "src/"
361
- }
362
- },
363
- "notification-url": "https://packagist.org/downloads/",
364
- "license": [
365
- "MIT"
366
- ],
367
- "authors": [
368
- {
369
- "name": "Shiva Poudel",
370
- "email": "dev.shivapoudel@gmail.com"
371
- }
372
- ],
373
- "description": "WPEverest Git Hooks",
374
- "time": "2017-12-18T16:25:25+00:00"
375
- },
376
- {
377
- "name": "wpeverest/wpeverest-sniffs",
378
- "version": "0.0.1",
379
- "source": {
380
- "type": "git",
381
- "url": "https://github.com/wpeverest/wpeverest-sniffs.git",
382
- "reference": "2e61559f889ba4d3b01e4ded277161fb78e74c3f"
383
- },
384
- "dist": {
385
- "type": "zip",
386
- "url": "https://api.github.com/repos/wpeverest/wpeverest-sniffs/zipball/2e61559f889ba4d3b01e4ded277161fb78e74c3f",
387
- "reference": "2e61559f889ba4d3b01e4ded277161fb78e74c3f",
388
- "shasum": ""
389
- },
390
- "require": {
391
- "php": ">=7.0",
392
- "squizlabs/php_codesniffer": "^3.0.2"
393
- },
394
- "suggest": {
395
- "dealerdirect/phpcodesniffer-composer-installer": "^0.4.3"
396
- },
397
- "type": "phpcodesniffer-standard",
398
- "notification-url": "https://packagist.org/downloads/",
399
- "license": [
400
- "MIT"
401
- ],
402
- "authors": [
403
- {
404
- "name": "Shiva Poudel",
405
- "email": "dev.shivapoudel@gmail.com"
406
- }
407
- ],
408
- "description": "WPEverest sniffs",
409
- "keywords": [
410
- "WPEverest",
411
- "phpcs",
412
- "standards",
413
- "wordpress"
414
- ],
415
- "time": "2017-12-25T05:34:53+00:00"
416
- }
417
- ],
418
- "aliases": [],
419
- "minimum-stability": "stable",
420
- "stability-flags": [],
421
- "prefer-stable": false,
422
- "prefer-lowest": false,
423
- "platform": [],
424
- "platform-dev": []
425
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/admin/class-demo-pack-upgrader.php CHANGED
@@ -9,7 +9,7 @@
9
  *
10
  * @since 1.5.0
11
  * @see WP_Upgrader
12
- * @package ThemeGrill_Demo_Importer/Class
13
  */
14
  class TG_Demo_Pack_Upgrader extends WP_Upgrader {
15
 
@@ -35,13 +35,13 @@ class TG_Demo_Pack_Upgrader extends WP_Upgrader {
35
  $this->strings['no_package'] = __( 'Install package not available.', 'themegrill-demo-importer' );
36
  /* translators: %s: package URL */
37
  $this->strings['downloading_package'] = __( 'Downloading install package from <span class="code">%s</span>&#8230;', 'themegrill-demo-importer' );
38
- $this->strings['unpack_package'] = __( 'Unpacking the package&#8230;', 'themegrill-demo-importer' );
39
- $this->strings['remove_old'] = __( 'Removing the old version of the demo&#8230;', 'themegrill-demo-importer' );
40
- $this->strings['remove_old_failed'] = __( 'Could not remove the old demo.', 'themegrill-demo-importer' );
41
- $this->strings['installing_package'] = __( 'Installing the demo&#8230;', 'themegrill-demo-importer' );
42
- $this->strings['no_files'] = __( 'The demo contains no files.', 'themegrill-demo-importer' );
43
- $this->strings['process_failed'] = __( 'Demo install failed.', 'themegrill-demo-importer' );
44
- $this->strings['process_success'] = __( 'Demo installed successfully.', 'themegrill-demo-importer' );
45
  }
46
 
47
  /**
@@ -59,7 +59,7 @@ class TG_Demo_Pack_Upgrader extends WP_Upgrader {
59
  */
60
  public function install( $package, $args = array() ) {
61
 
62
- $defaults = array(
63
  'clear_update_cache' => true,
64
  );
65
  $parsed_args = wp_parse_args( $args, $defaults );
@@ -69,16 +69,18 @@ class TG_Demo_Pack_Upgrader extends WP_Upgrader {
69
 
70
  add_filter( 'upgrader_source_selection', array( $this, 'check_package' ) );
71
 
72
- $this->run( array(
73
- 'package' => $package,
74
- 'destination' => TGDM_DEMO_DIR,
75
- 'clear_destination' => true, // Do overwrite files.
76
- 'clear_working' => true,
77
- 'hook_extra' => array(
78
- 'type' => 'demo',
79
- 'action' => 'install',
80
- ),
81
- ) );
 
 
82
 
83
  remove_filter( 'upgrader_source_selection', array( $this, 'check_package' ) );
84
 
@@ -110,8 +112,9 @@ class TG_Demo_Pack_Upgrader extends WP_Upgrader {
110
 
111
  // Check the folder contains a valid demo.
112
  $working_directory = str_replace( $wp_filesystem->wp_content_dir(), trailingslashit( WP_CONTENT_DIR ), $source );
113
- if ( ! is_dir( $working_directory ) ) // Sanity check, if the above fails, let's not prevent installation.
114
  return $source;
 
115
 
116
  // Check the folder contains at least 1 valid demo.
117
  if ( ! file_exists( $working_directory . 'screenshot.jpg' ) ) {
9
  *
10
  * @since 1.5.0
11
  * @see WP_Upgrader
12
+ * @package ThemeGrill_Demo_Importer\Class
13
  */
14
  class TG_Demo_Pack_Upgrader extends WP_Upgrader {
15
 
35
  $this->strings['no_package'] = __( 'Install package not available.', 'themegrill-demo-importer' );
36
  /* translators: %s: package URL */
37
  $this->strings['downloading_package'] = __( 'Downloading install package from <span class="code">%s</span>&#8230;', 'themegrill-demo-importer' );
38
+ $this->strings['unpack_package'] = __( 'Unpacking the package&#8230;', 'themegrill-demo-importer' );
39
+ $this->strings['remove_old'] = __( 'Removing the old version of the demo&#8230;', 'themegrill-demo-importer' );
40
+ $this->strings['remove_old_failed'] = __( 'Could not remove the old demo.', 'themegrill-demo-importer' );
41
+ $this->strings['installing_package'] = __( 'Installing the demo&#8230;', 'themegrill-demo-importer' );
42
+ $this->strings['no_files'] = __( 'The demo contains no files.', 'themegrill-demo-importer' );
43
+ $this->strings['process_failed'] = __( 'Demo install failed.', 'themegrill-demo-importer' );
44
+ $this->strings['process_success'] = __( 'Demo installed successfully.', 'themegrill-demo-importer' );
45
  }
46
 
47
  /**
59
  */
60
  public function install( $package, $args = array() ) {
61
 
62
+ $defaults = array(
63
  'clear_update_cache' => true,
64
  );
65
  $parsed_args = wp_parse_args( $args, $defaults );
69
 
70
  add_filter( 'upgrader_source_selection', array( $this, 'check_package' ) );
71
 
72
+ $this->run(
73
+ array(
74
+ 'package' => $package,
75
+ 'destination' => TGDM_DEMO_DIR,
76
+ 'clear_destination' => true, // Do overwrite files.
77
+ 'clear_working' => true,
78
+ 'hook_extra' => array(
79
+ 'type' => 'demo',
80
+ 'action' => 'install',
81
+ ),
82
+ )
83
+ );
84
 
85
  remove_filter( 'upgrader_source_selection', array( $this, 'check_package' ) );
86
 
112
 
113
  // Check the folder contains a valid demo.
114
  $working_directory = str_replace( $wp_filesystem->wp_content_dir(), trailingslashit( WP_CONTENT_DIR ), $source );
115
+ if ( ! is_dir( $working_directory ) ) { // Sanity check, if the above fails, let's not prevent installation.
116
  return $source;
117
+ }
118
 
119
  // Check the folder contains at least 1 valid demo.
120
  if ( ! file_exists( $working_directory . 'screenshot.jpg' ) ) {
includes/admin/views/html-admin-page-importer.php CHANGED
@@ -18,10 +18,10 @@ defined( 'ABSPATH' ) || exit;
18
  <hr class="wp-header-end">
19
 
20
  <div class="error hide-if-js">
21
- <p><?php _e( 'The Demo Importer screen requires JavaScript.', 'themegrill-demo-importer' ); ?></p>
22
  </div>
23
 
24
- <h2 class="screen-reader-text hide-if-no-js"><?php _e( 'Filter demos list', 'themegrill-demo-importer' ); ?></h2>
25
 
26
  <div class="wp-filter hide-if-no-js">
27
  <div class="filter-section">
@@ -43,7 +43,7 @@ defined( 'ABSPATH' ) || exit;
43
  <?php foreach ( $this->demo_packages->pagebuilders as $slug => $label ) : ?>
44
  <?php if ( 'default' !== $slug ) : ?>
45
  <li><a href="#" data-type="<?php echo esc_attr( $slug ); ?>" class="pagebuilder-tab"><?php echo esc_html( $label ); ?></a></li>
46
- <?php else: ?>
47
  <li><a href="#" data-type="<?php echo esc_attr( $slug ); ?>" class="pagebuilder-tab tips" data-tip="<?php esc_attr_e( 'Without Page Builder', 'themegrill-demo-importer' ); ?>"><?php echo esc_html( $label ); ?></a></li>
48
  <?php endif; ?>
49
  <?php endforeach; ?>
@@ -53,11 +53,11 @@ defined( 'ABSPATH' ) || exit;
53
  <form class="search-form"></form>
54
  </div>
55
  </div>
56
- <h2 class="screen-reader-text hide-if-no-js"><?php _e( 'Themes list', 'themegrill-demo-importer' ); ?></h2>
57
  <div class="theme-browser content-filterable"></div>
58
  <div class="theme-install-overlay wp-full-overlay expanded"></div>
59
 
60
- <p class="no-themes"><?php _e( 'No demos found. Try a different search.', 'themegrill-demo-importer' ); ?></p>
61
  <span class="spinner"></span>
62
  </div>
63
 
@@ -71,14 +71,13 @@ defined( 'ABSPATH' ) || exit;
71
  <# } #>
72
 
73
  <# if ( data.isPro ) { #>
74
- <span class="premium-demo-banner"><?php _e( 'Pro', 'themegrill-demo-importer' ); ?></span>
75
  <# } #>
76
 
77
- <span class="more-details"><?php _ex( 'Details &amp; Preview', 'demo', 'themegrill-demo-importer' ); ?></span>
78
  <div class="theme-author">
79
  <?php
80
  /* translators: %s: Demo author name */
81
- printf( __( 'By %s', 'themegrill-demo-importer' ), '{{{ data.author }}}' );
82
  ?>
83
  </div>
84
 
@@ -87,7 +86,7 @@ defined( 'ABSPATH' ) || exit;
87
  <h2 class="theme-name" id="{{ data.id }}-name">
88
  <?php
89
  /* translators: %s: Demo name */
90
- printf( __( '<span>Imported:</span> %s', 'themegrill-demo-importer' ), '{{{ data.name }}}' );
91
  ?>
92
  </h2>
93
  <# } else { #>
@@ -96,46 +95,42 @@ defined( 'ABSPATH' ) || exit;
96
 
97
  <div class="theme-actions">
98
  <# if ( data.active ) { #>
99
- <a class="button button-primary live-preview" target="_blank" href="<?php echo home_url( '/' ); ?>"><?php _e( 'Live Preview', 'themegrill-demo-importer' ); ?></a>
100
  <# } else { #>
101
  <# if ( data.isPro ) { #>
102
- <a class="button button-primary purchase-now" href="{{ data.homepage }}" target="_blank"><?php _e( 'Buy Now', 'themegrill-demo-importer' ); ?></a>
103
- <# } else if ( data.requiredTheme || data.requiredPlugins ) { #>
104
- <button class="button button-primary preview install-demo-preview"><?php _e( 'Import', 'themegrill-demo-importer' ); ?></button>
105
  <# } else { #>
106
  <?php
107
  /* translators: %s: Demo name */
108
- $aria_label = sprintf( _x( 'Import %s', 'demo', 'themegrill-demo-importer' ), '{{ data.name }}' );
109
  ?>
110
- <a class="button button-primary hide-if-no-js demo-import" href="#" data-name="{{ data.name }}" data-slug="{{ data.id }}" aria-label="<?php echo $aria_label; ?>"><?php _e( 'Import', 'themegrill-demo-importer' ); ?></a>
111
  <# } #>
112
- <button class="button preview install-demo-preview"><?php _e( 'Preview', 'themegrill-demo-importer' ); ?></button>
113
  <# } #>
114
  </div>
115
  </div>
116
 
117
  <# if ( data.imported ) { #>
118
- <div class="notice notice-success notice-alt"><p><?php _ex( 'Imported', 'demo', 'themegrill-demo-importer' ); ?></p></div>
119
  <# } #>
120
  </script>
121
 
122
  <script id="tmpl-demo-preview" type="text/template">
123
  <div class="wp-full-overlay-sidebar">
124
  <div class="wp-full-overlay-header">
125
- <button class="close-full-overlay"><span class="screen-reader-text"><?php _e( 'Close', 'themegrill-demo-importer' ); ?></span></button>
126
- <button class="previous-theme"><span class="screen-reader-text"><?php _ex( 'Previous', 'Button label for a demo', 'themegrill-demo-importer' ); ?></span></button>
127
- <button class="next-theme"><span class="screen-reader-text"><?php _ex( 'Next', 'Button label for a demo', 'themegrill-demo-importer' ); ?></span></button>
128
  <# if ( data.isPro ) { #>
129
- <a class="button button-primary purchase-now" href="{{ data.homepage }}" target="_blank"><?php _e( 'Buy Now', 'themegrill-demo-importer' ); ?></a>
130
  <# } else if ( data.requiredTheme ) { #>
131
- <button class="button button-primary hide-if-no-js disabled"><?php _e( 'Import Demo', 'themegrill-demo-importer' ); ?></button>
132
- <# } else if ( data.requiredPlugins ) { #>
133
- <button class="button button-secondary hide-if-no-js plugins-install"><?php _e( 'Install Plugins', 'themegrill-demo-importer' ); ?></button>
134
  <# } else { #>
135
  <# if ( data.active ) { #>
136
- <a class="button button-primary live-preview" target="_blank" href="<?php echo home_url( '/' ); ?>"><?php _e( 'Live Preview', 'themegrill-demo-importer' ); ?></a>
137
  <# } else { #>
138
- <a class="button button-primary hide-if-no-js demo-import" href="#" data-name="{{ data.name }}" data-slug="{{ data.id }}"><?php _e( 'Import Demo', 'themegrill-demo-importer' ); ?></a>
139
  <# } #>
140
  <# } #>
141
  </div>
@@ -144,38 +139,39 @@ defined( 'ABSPATH' ) || exit;
144
  <h3 class="theme-name">
145
  {{ data.name }}
146
  <# if ( data.isPro ) { #>
147
- <span class="premium-demo-tag"><?php _e( 'Pro', 'themegrill-demo-importer' ); ?></span>
148
  <# } #>
149
  </h3>
150
 
151
  <span class="theme-by">
152
  <?php
153
  /* translators: %s: Demo author name */
154
- printf( __( 'By %s', 'themegrill-demo-importer' ), '{{ data.author }}' );
155
  ?>
156
  </span>
157
 
158
  <img class="theme-screenshot" src="{{ data.screenshot_url }}" alt="" />
159
 
160
  <div class="theme-details">
161
- <# if ( ! data.isPro ) { #>
162
- <# if ( data.requiredTheme ) { #>
163
- <div class="demo-message notice notice-error notice-alt"><p><?php printf( esc_html__( '%s theme is not active.', 'themegrill-demo-importer' ), '<strong>{{{ data.theme }}}</strong>' ); ?></p></div>
164
- <# } else if ( data.requiredPlugins ) { #>
165
- <div class="demo-message notice notice-info notice-alt"><p><?php esc_html_e( 'Required Plugins must be activated.', 'themegrill-demo-importer' ); ?></p></div>
166
- <# } #>
 
167
  <# } #>
168
  <div class="theme-version">
169
  <?php
170
  /* translators: %s: Demo version */
171
- printf( __( 'Version: %s', 'themegrill-demo-importer' ), '{{ data.version }}', 'themegrill-demo-importer' );
172
  ?>
173
  </div>
174
  <div class="theme-description">{{{ data.description }}}</div>
175
  </div>
176
 
177
  <div class="plugins-details">
178
- <h4 class="plugins-info"><?php _e( 'Plugins Information', 'themegrill-demo-importer' ); ?></h4>
179
 
180
  <table class="plugins-list-table widefat striped">
181
  <thead>
@@ -214,22 +210,20 @@ defined( 'ABSPATH' ) || exit;
214
  <div class="wp-full-overlay-footer">
215
  <div class="demo-import-actions">
216
  <# if ( data.isPro ) { #>
217
- <a class="button button-hero button-primary purchase-now" href="{{ data.homepage }}" target="_blank"><?php _e( 'Buy Now', 'themegrill-demo-importer' ); ?></a>
218
  <# } else if ( data.requiredTheme ) { #>
219
- <button class="button button-hero button-primary hide-if-no-js disabled"><?php _e( 'Import Demo', 'themegrill-demo-importer' ); ?></button>
220
- <# } else if ( data.requiredPlugins ) { #>
221
- <button class="button button-hero button-secondary hide-if-no-js plugins-install"><?php _e( 'Install Plugins', 'themegrill-demo-importer' ); ?></button>
222
  <# } else { #>
223
  <# if ( data.active ) { #>
224
- <a class="button button-primary live-preview button-hero hide-if-no-js" target="_blank" href="<?php echo home_url( '/' ); ?>"><?php _e( 'Live Preview', 'themegrill-demo-importer' ); ?></a>
225
  <# } else { #>
226
- <a class="button button-hero button-primary hide-if-no-js demo-import" href="#" data-name="{{ data.name }}" data-slug="{{ data.id }}"><?php _e( 'Import Demo', 'themegrill-demo-importer' ); ?></a>
227
  <# } #>
228
  <# } #>
229
  </div>
230
  <button type="button" class="collapse-sidebar button" aria-expanded="true" aria-label="<?php esc_attr_e( 'Collapse Sidebar', 'themegrill-demo-importer' ); ?>">
231
  <span class="collapse-sidebar-arrow"></span>
232
- <span class="collapse-sidebar-label"><?php _e( 'Collapse', 'themegrill-demo-importer' ); ?></span>
233
  </button>
234
  <div class="devices-wrapper">
235
  <div class="devices">
18
  <hr class="wp-header-end">
19
 
20
  <div class="error hide-if-js">
21
+ <p><?php esc_html_e( 'The Demo Importer screen requires JavaScript.', 'themegrill-demo-importer' ); ?></p>
22
  </div>
23
 
24
+ <h2 class="screen-reader-text hide-if-no-js"><?php esc_html_e( 'Filter demos list', 'themegrill-demo-importer' ); ?></h2>
25
 
26
  <div class="wp-filter hide-if-no-js">
27
  <div class="filter-section">
43
  <?php foreach ( $this->demo_packages->pagebuilders as $slug => $label ) : ?>
44
  <?php if ( 'default' !== $slug ) : ?>
45
  <li><a href="#" data-type="<?php echo esc_attr( $slug ); ?>" class="pagebuilder-tab"><?php echo esc_html( $label ); ?></a></li>
46
+ <?php else : ?>
47
  <li><a href="#" data-type="<?php echo esc_attr( $slug ); ?>" class="pagebuilder-tab tips" data-tip="<?php esc_attr_e( 'Without Page Builder', 'themegrill-demo-importer' ); ?>"><?php echo esc_html( $label ); ?></a></li>
48
  <?php endif; ?>
49
  <?php endforeach; ?>
53
  <form class="search-form"></form>
54
  </div>
55
  </div>
56
+ <h2 class="screen-reader-text hide-if-no-js"><?php esc_html_e( 'Themes list', 'themegrill-demo-importer' ); ?></h2>
57
  <div class="theme-browser content-filterable"></div>
58
  <div class="theme-install-overlay wp-full-overlay expanded"></div>
59
 
60
+ <p class="no-themes"><?php esc_html_e( 'No demos found. Try a different search.', 'themegrill-demo-importer' ); ?></p>
61
  <span class="spinner"></span>
62
  </div>
63
 
71
  <# } #>
72
 
73
  <# if ( data.isPro ) { #>
74
+ <span class="premium-demo-banner"><?php esc_html_e( 'Pro', 'themegrill-demo-importer' ); ?></span>
75
  <# } #>
76
 
 
77
  <div class="theme-author">
78
  <?php
79
  /* translators: %s: Demo author name */
80
+ printf( esc_html__( 'By %s', 'themegrill-demo-importer' ), '{{{ data.author }}}' );
81
  ?>
82
  </div>
83
 
86
  <h2 class="theme-name" id="{{ data.id }}-name">
87
  <?php
88
  /* translators: %s: Demo name */
89
+ printf( __( '<span>Imported:</span> %s', 'themegrill-demo-importer' ), '{{{ data.name }}}' ); // @codingStandardsIgnoreLine
90
  ?>
91
  </h2>
92
  <# } else { #>
95
 
96
  <div class="theme-actions">
97
  <# if ( data.active ) { #>
98
+ <a class="button button-primary live-preview" target="_blank" href="<?php echo esc_url_raw( home_url( '/' ) ); ?>"><?php esc_html_e( 'Live Preview', 'themegrill-demo-importer' ); ?></a>
99
  <# } else { #>
100
  <# if ( data.isPro ) { #>
101
+ <a class="button button-primary purchase-now" href="{{ data.homepage }}" target="_blank"><?php esc_html_e( 'Buy Now', 'themegrill-demo-importer' ); ?></a>
 
 
102
  <# } else { #>
103
  <?php
104
  /* translators: %s: Demo name */
105
+ $aria_label = sprintf( esc_html_x( 'Import %s', 'demo', 'themegrill-demo-importer' ), '{{ data.name }}' );
106
  ?>
107
+ <a class="button button-primary hide-if-no-js demo-import" href="#" data-name="{{ data.name }}" data-slug="{{ data.id }}" aria-label="<?php echo esc_attr( $aria_label ); ?>" data-plugins="{{ JSON.stringify( data.plugins ) }}"><?php esc_html_e( 'Import', 'themegrill-demo-importer' ); ?></a>
108
  <# } #>
109
+ <button class="button preview install-demo-preview"><?php esc_html_e( 'Preview', 'themegrill-demo-importer' ); ?></button>
110
  <# } #>
111
  </div>
112
  </div>
113
 
114
  <# if ( data.imported ) { #>
115
+ <div class="notice notice-success notice-alt"><p><?php echo esc_html_x( 'Imported', 'demo', 'themegrill-demo-importer' ); ?></p></div>
116
  <# } #>
117
  </script>
118
 
119
  <script id="tmpl-demo-preview" type="text/template">
120
  <div class="wp-full-overlay-sidebar">
121
  <div class="wp-full-overlay-header">
122
+ <button class="close-full-overlay"><span class="screen-reader-text"><?php esc_html_e( 'Close', 'themegrill-demo-importer' ); ?></span></button>
123
+ <button class="previous-theme"><span class="screen-reader-text"><?php echo esc_html_x( 'Previous', 'Button label for a demo', 'themegrill-demo-importer' ); ?></span></button>
124
+ <button class="next-theme"><span class="screen-reader-text"><?php echo esc_html_x( 'Next', 'Button label for a demo', 'themegrill-demo-importer' ); ?></span></button>
125
  <# if ( data.isPro ) { #>
126
+ <a class="button button-primary purchase-now" href="{{ data.homepage }}" target="_blank"><?php esc_html_e( 'Buy Now', 'themegrill-demo-importer' ); ?></a>
127
  <# } else if ( data.requiredTheme ) { #>
128
+ <button class="button button-primary hide-if-no-js disabled"><?php esc_html_e( 'Import Demo', 'themegrill-demo-importer' ); ?></button>
 
 
129
  <# } else { #>
130
  <# if ( data.active ) { #>
131
+ <a class="button button-primary live-preview" target="_blank" href="<?php echo esc_url_raw( home_url( '/' ) ); ?>"><?php esc_html_e( 'Live Preview', 'themegrill-demo-importer' ); ?></a>
132
  <# } else { #>
133
+ <a class="button button-primary hide-if-no-js demo-import" href="#" data-name="{{ data.name }}" data-slug="{{ data.id }}"><?php esc_html_e( 'Import Demo', 'themegrill-demo-importer' ); ?></a>
134
  <# } #>
135
  <# } #>
136
  </div>
139
  <h3 class="theme-name">
140
  {{ data.name }}
141
  <# if ( data.isPro ) { #>
142
+ <span class="premium-demo-tag"><?php esc_html_e( 'Pro', 'themegrill-demo-importer' ); ?></span>
143
  <# } #>
144
  </h3>
145
 
146
  <span class="theme-by">
147
  <?php
148
  /* translators: %s: Demo author name */
149
+ printf( esc_html__( 'By %s', 'themegrill-demo-importer' ), '{{ data.author }}' );
150
  ?>
151
  </span>
152
 
153
  <img class="theme-screenshot" src="{{ data.screenshot_url }}" alt="" />
154
 
155
  <div class="theme-details">
156
+ <# if ( ! data.isPro && data.requiredTheme ) { #>
157
+ <div class="demo-message notice notice-error notice-alt"><p>
158
+ <?php
159
+ /* translators: %s: Theme Name */
160
+ printf( esc_html__( '%s theme is not active.', 'themegrill-demo-importer' ), '<strong>{{{ data.theme }}}</strong>' );
161
+ ?>
162
+ </p></div>
163
  <# } #>
164
  <div class="theme-version">
165
  <?php
166
  /* translators: %s: Demo version */
167
+ printf( esc_html__( 'Version: %s', 'themegrill-demo-importer' ), '{{ data.version }}', 'themegrill-demo-importer' );
168
  ?>
169
  </div>
170
  <div class="theme-description">{{{ data.description }}}</div>
171
  </div>
172
 
173
  <div class="plugins-details">
174
+ <h4 class="plugins-info"><?php esc_html_e( 'Plugins Information', 'themegrill-demo-importer' ); ?></h4>
175
 
176
  <table class="plugins-list-table widefat striped">
177
  <thead>
210
  <div class="wp-full-overlay-footer">
211
  <div class="demo-import-actions">
212
  <# if ( data.isPro ) { #>
213
+ <a class="button button-hero button-primary purchase-now" href="{{ data.homepage }}" target="_blank"><?php esc_html_e( 'Buy Now', 'themegrill-demo-importer' ); ?></a>
214
  <# } else if ( data.requiredTheme ) { #>
215
+ <button class="button button-hero button-primary hide-if-no-js disabled"><?php esc_html_e( 'Import Demo', 'themegrill-demo-importer' ); ?></button>
 
 
216
  <# } else { #>
217
  <# if ( data.active ) { #>
218
+ <a class="button button-primary live-preview button-hero hide-if-no-js" target="_blank" href="<?php echo esc_url_raw( home_url( '/' ) ); ?>"><?php esc_html_e( 'Live Preview', 'themegrill-demo-importer' ); ?></a>
219
  <# } else { #>
220
+ <a class="button button-hero button-primary hide-if-no-js demo-import" href="#" data-name="{{ data.name }}" data-slug="{{ data.id }}"><?php esc_html_e( 'Import Demo', 'themegrill-demo-importer' ); ?></a>
221
  <# } #>
222
  <# } #>
223
  </div>
224
  <button type="button" class="collapse-sidebar button" aria-expanded="true" aria-label="<?php esc_attr_e( 'Collapse Sidebar', 'themegrill-demo-importer' ); ?>">
225
  <span class="collapse-sidebar-arrow"></span>
226
+ <span class="collapse-sidebar-label"><?php esc_html_e( 'Collapse', 'themegrill-demo-importer' ); ?></span>
227
  </button>
228
  <div class="devices-wrapper">
229
  <div class="devices">
includes/class-demo-importer.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * ThemeGrill Demo Importer.
4
  *
5
- * @package ThemeGrill_Demo_Importer/Classes
6
  * @version 1.0.0
7
  */
8
 
@@ -166,47 +166,55 @@ class TG_Demo_Importer {
166
  if ( 'appearance_page_demo-importer' === $screen_id ) {
167
  wp_enqueue_style( 'tg-demo-importer' );
168
  wp_enqueue_script( 'tg-demo-importer' );
169
- wp_localize_script( 'tg-demo-updates', '_demoUpdatesSettings', array(
170
- 'l10n' => array(
171
- 'importing' => __( 'Importing...', 'themegrill-demo-importer' ),
172
- 'demoImportingLabel' => _x( 'Importing %s...', 'demo', 'themegrill-demo-importer' ), // no ellipsis
173
- 'importingMsg' => __( 'Importing... please wait.', 'themegrill-demo-importer' ),
174
- 'importedMsg' => __( 'Import completed successfully.', 'themegrill-demo-importer' ),
175
- 'importFailedShort' => __( 'Import Failed!', 'themegrill-demo-importer' ),
176
- 'importFailed' => __( 'Import failed: %s', 'themegrill-demo-importer' ),
177
- 'demoImportedLabel' => _x( '%s imported!', 'demo', 'themegrill-demo-importer' ),
178
- 'demoImportFailedLabel' => _x( '%s import failed', 'demo', 'themegrill-demo-importer' ),
179
- 'livePreview' => __( 'Live Preview', 'themegrill-demo-importer' ),
180
- 'livePreviewLabel' => _x( 'Live Preview %s', 'demo', 'themegrill-demo-importer' ),
181
- 'imported' => __( 'Imported!', 'themegrill-demo-importer' ),
182
- 'statusTextLink' => '<a href="https://docs.themegrill.com/knowledgebase/demo-import-process-failed/" target="_blank">' . __( 'Try this solution!', 'themegrill-demo-importer' ) . '</a>',
183
- ),
184
- ) );
185
- wp_localize_script( 'tg-demo-importer', '_demoImporterSettings', array(
186
- 'demos' => $this->ajax_query_demos( true ),
187
- 'settings' => array(
188
- 'isNew' => false,
189
- 'ajaxUrl' => admin_url( 'admin-ajax.php' ),
190
- 'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
191
- 'suggestURI' => apply_filters( 'themegrill_demo_importer_suggest_new', 'https://themegrill.com/contact/' ),
192
- 'confirmReset' => __( 'It is strongly recommended that you backup your database before proceeding. Are you sure you wish to run the reset wizard now?', 'themegrill-demo-importer' ),
193
- 'confirmImport' => __( "Importing demo data will ensure that your site will look similar as theme demo. It makes you easy to modify the content instead of creating them from scratch. Also consider before importing theme demo: \n\n1. You need to import demo on fresh WordPress install to exactly replicate the theme demo. \n\n2. None of the posts, pages, attachments or any other data already existing in your site will be deleted or modified. \n\n3. Copyright images will get replaced with other placeholder images. \n\n4. It will take some time to import the theme demo.", 'themegrill-demo-importer' ),
194
- ),
195
- 'l10n' => array(
196
- 'search' => __( 'Search Demos', 'themegrill-demo-importer' ),
197
- 'searchPlaceholder' => __( 'Search demos...', 'themegrill-demo-importer' ), // placeholder (no ellipsis)
198
- /* translators: %s: support forums URL */
199
- 'error' => sprintf( __( 'An unexpected error occurred. Something may be wrong with ThemeGrill demo server&#8217;s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.', 'themegrill-demo-importer' ), 'https://wordpress.org/support/plugin/themegrill-demo-importer' ),
200
- 'tryAgain' => __( 'Try Again', 'themegrill-demo-importer' ),
201
- 'suggestNew' => __( 'Please suggest us!', 'themegrill-demo-importer' ),
202
- 'demosFound' => __( 'Number of Demos found: %d', 'themegrill-demo-importer' ),
203
- 'noDemosFound' => __( 'No demos found. Try a different search.', 'themegrill-demo-importer' ),
204
- 'collapseSidebar' => __( 'Collapse Sidebar', 'themegrill-demo-importer' ),
205
- 'expandSidebar' => __( 'Expand Sidebar', 'themegrill-demo-importer' ),
206
- /* translators: accessibility text */
207
- 'selectFeatureFilter' => __( 'Select one or more Demo features to filter by', 'themegrill-demo-importer' ),
208
- ),
209
- ) );
 
 
 
 
 
 
 
 
210
  }
211
  }
212
 
@@ -251,13 +259,14 @@ class TG_Demo_Importer {
251
  return;
252
  }
253
 
254
- $screen->add_help_tab( array(
255
- 'id' => 'themegrill_demo_importer_support_tab',
256
- 'title' => __( 'Help &amp; Support', 'themegrill-demo-importer' ),
257
- 'content' =>
258
- '<h2>' . __( 'Help &amp; Support', 'themegrill-demo-importer' ) . '</h2>' .
 
259
  '<p>' . sprintf(
260
- __( 'Should you need help understanding, using, or extending ThemeGrill Demo Importer, <a href="%s">please read our documentation</a>. You will find all kinds of resources including snippets, tutorials and much more.' , 'themegrill-demo-importer' ),
261
  'https://themegrill.com/docs/themegrill-demo-importer/'
262
  ) . '</p>' .
263
  '<p>' . sprintf(
@@ -265,27 +274,32 @@ class TG_Demo_Importer {
265
  'https://wordpress.org/support/plugin/themegrill-demo-importer',
266
  'https://themegrill.com/support-forum/'
267
  ) . '</p>' .
268
- '<p><a href="' . 'https://wordpress.org/support/plugin/themegrill-demo-importer' . '" class="button button-primary">' . __( 'Community forum', 'themegrill-demo-importer' ) . '</a> <a href="' . 'https://themegrill.com/support-forum/' . '" class="button">' . __( 'ThemeGrill Support', 'themegrill-demo-importer' ) . '</a></p>',
269
- ) );
270
-
271
- $screen->add_help_tab( array(
272
- 'id' => 'themegrill_demo_importer_bugs_tab',
273
- 'title' => __( 'Found a bug?', 'themegrill-demo-importer' ),
274
- 'content' =>
275
- '<h2>' . __( 'Found a bug?', 'themegrill-demo-importer' ) . '</h2>' .
276
- '<p>' . sprintf( __( 'If you find a bug within ThemeGrill Demo Importer you can create a ticket via <a href="%1$s">Github issues</a>. Ensure you read the <a href="%2$s">contribution guide</a> prior to submitting your report. To help us solve your issue, please be as descriptive as possible.', 'themegrill-demo-importer' ), 'https://github.com/themegrill/themegrill-demo-importer/issues?state=open', 'https://github.com/themegrill/themegrill-demo-importer/blob/master/.github/CONTRIBUTING.md' ) . '</p>' .
277
- '<p><a href="' . 'https://github.com/themegrill/themegrill-demo-importer/issues?state=open' . '" class="button button-primary">' . __( 'Report a bug', 'themegrill-demo-importer' ) . '</a></p>',
278
-
279
- ) );
280
-
281
- $screen->add_help_tab( array(
282
- 'id' => 'themegrill_demo_importer_reset_tab',
283
- 'title' => __( 'Reset wizard', 'themegrill-demo-importer' ),
284
- 'content' =>
285
- '<h2>' . __( 'Reset wizard', 'themegrill-demo-importer' ) . '</h2>' .
286
- '<p>' . __( 'If you need to reset the WordPress back to default again, please click on the button below.', 'themegrill-demo-importer' ) . '</p>' .
287
- '<p><a href="' . esc_url( add_query_arg( 'do_reset_wordpress', 'true', admin_url( 'themes.php?page=demo-importer' ) ) ) . '" class="button button-primary themegrill-reset-wordpress">' . __( 'Reset wizard', 'themegrill-demo-importer' ) . '</a></p>',
288
- ) );
 
 
 
 
 
289
 
290
  $screen->set_help_sidebar(
291
  '<p><strong>' . __( 'For more information:', 'themegrill-demo-importer' ) . '</strong></p>' .
@@ -371,7 +385,14 @@ class TG_Demo_Importer {
371
  $result = wp_install( $blogname, $user->user_login, $user->user_email, $blog_public );
372
 
373
  // Updates the user password with a old one.
374
- $wpdb->update( $wpdb->users, array( 'user_pass' => $user->user_pass, 'user_activation_key' => '' ), array( 'ID' => $result['user_id'] ) );
 
 
 
 
 
 
 
375
 
376
  // Set up the Password change nag.
377
  $default_password_nag = get_user_option( 'default_password_nag', $result['user_id'] );
@@ -440,9 +461,12 @@ class TG_Demo_Importer {
440
  }
441
 
442
  if ( ! $return ) {
443
- $request = wp_parse_args( wp_unslash( $_REQUEST['request'] ), array(
444
- 'browse' => 'all',
445
- ) );
 
 
 
446
  } else {
447
  $request = array(
448
  'browse' => 'all',
@@ -511,14 +535,16 @@ class TG_Demo_Importer {
511
  return $prepared_demos;
512
  }
513
 
514
- wp_send_json_success( array(
515
- 'info' => array(
516
- 'page' => 1,
517
- 'pages' => 1,
518
- 'results' => count( $prepared_demos ),
519
- ),
520
- 'demos' => array_filter( $prepared_demos ),
521
- ) );
 
 
522
  }
523
 
524
  /**
@@ -532,11 +558,13 @@ class TG_Demo_Importer {
532
  check_ajax_referer( 'updates' );
533
 
534
  if ( empty( $_POST['slug'] ) ) {
535
- wp_send_json_error( array(
536
- 'slug' => '',
537
- 'errorCode' => 'no_demo_specified',
538
- 'errorMessage' => __( 'No demo specified.', 'themegrill-demo-importer' ),
539
- ) );
 
 
540
  }
541
 
542
  $slug = sanitize_key( wp_unslash( $_POST['slug'] ) );
@@ -554,8 +582,8 @@ class TG_Demo_Importer {
554
  wp_send_json_error( $status );
555
  }
556
 
557
- include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
558
- include_once( dirname( __FILE__ ) . '/admin/class-demo-pack-upgrader.php' );
559
 
560
  $skin = new WP_Ajax_Upgrader_Skin();
561
  $upgrader = new TG_Demo_Pack_Upgrader( $skin );
@@ -607,7 +635,6 @@ class TG_Demo_Importer {
607
 
608
  // Update imported demo ID.
609
  update_option( 'themegrill_demo_importer_activated_id', $slug );
610
-
611
  do_action( 'themegrill_ajax_demo_imported', $slug, $demo_data );
612
  }
613
 
@@ -655,7 +682,7 @@ class TG_Demo_Importer {
655
 
656
  // Import XML file demo content.
657
  if ( is_file( $import_file ) ) {
658
- $wp_import = new TG_WXR_Importer();
659
  $wp_import->fetch_attachments = true;
660
 
661
  ob_start();
@@ -693,7 +720,7 @@ class TG_Demo_Importer {
693
  if ( in_array( $option_value, array( 'posts', 'page' ) ) ) {
694
  update_option( 'show_on_front', $option_value );
695
  }
696
- break;
697
  case 'page_on_front':
698
  case 'page_for_posts':
699
  $page = get_page_by_title( $option_value );
@@ -702,10 +729,10 @@ class TG_Demo_Importer {
702
  update_option( $option_key, $page->ID );
703
  update_option( 'show_on_front', 'page' );
704
  }
705
- break;
706
  default:
707
  update_option( $option_key, sanitize_text_field( $option_value ) );
708
- break;
709
  }
710
  }
711
  }
@@ -854,7 +881,7 @@ class TG_Demo_Importer {
854
  }
855
  }
856
  }
857
- break;
858
  case 'dropdown_categories':
859
  foreach ( $dropdown_data as $taxonomy => $taxonomy_data ) {
860
  if ( ! taxonomy_exists( $taxonomy ) ) {
@@ -873,7 +900,7 @@ class TG_Demo_Importer {
873
  }
874
  }
875
  }
876
- break;
877
  }
878
  }
879
  }
@@ -907,7 +934,7 @@ class TG_Demo_Importer {
907
  }
908
  }
909
  }
910
- break;
911
  case 'categories':
912
  foreach ( $data_value as $taxonomy => $taxonomy_data ) {
913
  if ( ! taxonomy_exists( $taxonomy ) ) {
@@ -924,7 +951,7 @@ class TG_Demo_Importer {
924
  }
925
  }
926
  }
927
- break;
928
  case 'nav_menu_locations':
929
  $nav_menus = wp_get_nav_menus();
930
 
@@ -939,7 +966,7 @@ class TG_Demo_Importer {
939
  }
940
  }
941
  }
942
- break;
943
  }
944
  }
945
  }
@@ -960,7 +987,7 @@ class TG_Demo_Importer {
960
 
961
  // Recursively update elementor data.
962
  foreach ( $elementor_data as $element_id => $element_data ) {
963
- if ( ! empty( $element_data['elements' ] ) ) {
964
  foreach ( $element_data['elements'] as $el_key => $el_data ) {
965
  if ( ! empty( $el_data['elements'] ) ) {
966
  foreach ( $el_data['elements'] as $el_child_key => $child_el_data ) {
@@ -1002,7 +1029,7 @@ class TG_Demo_Importer {
1002
  }
1003
 
1004
  // Update the elementor data.
1005
- $elementor_data[ $element_id ][ 'elements' ][ $el_key ]['elements'][ $el_child_key ]['settings']['categories_selected'] = $categories_selected;
1006
  }
1007
  }
1008
  }
@@ -1075,10 +1102,10 @@ class TG_Demo_Importer {
1075
  if ( 0 !== $attachment_id ) {
1076
  $grid_instance['style'][ $style_key ] = $attachment_id;
1077
  }
1078
- break;
1079
  default:
1080
  $grid_instance['style'][ $style_key ] = $style_value;
1081
- break;
1082
  }
1083
  }
1084
  }
@@ -1088,13 +1115,13 @@ class TG_Demo_Importer {
1088
 
1089
  // Update panel grids data.
1090
  $panels_data['grids'][ $instance_id ] = $grid_instance;
1091
- }
1092
- break;
1093
 
1094
  case 'widgets':
1095
  foreach ( $panel_data as $instance_id => $widget_instance ) {
1096
  if ( isset( $widget_instance['panels_data']['widgets'] ) ) {
1097
- $instance = $instance + 1;
1098
  $child_panels_data = $widget_instance['panels_data'];
1099
  $panels_data['widgets'][ $instance_id ]['panels_data'] = $this->siteorigin_recursive_update( $child_panels_data, $data_type, $data_value );
1100
  $instance = $instance - 1;
@@ -1133,7 +1160,7 @@ class TG_Demo_Importer {
1133
  }
1134
  }
1135
  }
1136
- break;
1137
  case 'dropdown_categories':
1138
  foreach ( $dropdown_data as $taxonomy => $taxonomy_data ) {
1139
  if ( ! taxonomy_exists( $taxonomy ) ) {
@@ -1156,14 +1183,14 @@ class TG_Demo_Importer {
1156
  }
1157
  }
1158
  }
1159
- break;
1160
  }
1161
  }
1162
  }
1163
 
1164
  $panels_data['widgets'][ $instance_id ] = $widget_instance;
1165
  }
1166
- break;
1167
  }
1168
  }
1169
 
2
  /**
3
  * ThemeGrill Demo Importer.
4
  *
5
+ * @package ThemeGrill_Demo_Importer\Classes
6
  * @version 1.0.0
7
  */
8
 
166
  if ( 'appearance_page_demo-importer' === $screen_id ) {
167
  wp_enqueue_style( 'tg-demo-importer' );
168
  wp_enqueue_script( 'tg-demo-importer' );
169
+ wp_localize_script(
170
+ 'tg-demo-updates',
171
+ '_demoUpdatesSettings',
172
+ array(
173
+ 'l10n' => array(
174
+ 'importing' => __( 'Importing...', 'themegrill-demo-importer' ),
175
+ 'demoImportingLabel' => _x( 'Importing %s...', 'demo', 'themegrill-demo-importer' ), // no ellipsis
176
+ 'importingMsg' => __( 'Importing... please wait.', 'themegrill-demo-importer' ),
177
+ 'importedMsg' => __( 'Import completed successfully.', 'themegrill-demo-importer' ),
178
+ 'importFailedShort' => __( 'Import Failed!', 'themegrill-demo-importer' ),
179
+ 'importFailed' => __( 'Import failed: %s', 'themegrill-demo-importer' ),
180
+ 'demoImportedLabel' => _x( '%s imported!', 'demo', 'themegrill-demo-importer' ),
181
+ 'demoImportFailedLabel' => _x( '%s import failed', 'demo', 'themegrill-demo-importer' ),
182
+ 'livePreview' => __( 'Live Preview', 'themegrill-demo-importer' ),
183
+ 'livePreviewLabel' => _x( 'Live Preview %s', 'demo', 'themegrill-demo-importer' ),
184
+ 'imported' => __( 'Imported!', 'themegrill-demo-importer' ),
185
+ 'statusTextLink' => '<a href="https://docs.themegrill.com/knowledgebase/demo-import-process-failed/" target="_blank">' . __( 'Try this solution!', 'themegrill-demo-importer' ) . '</a>',
186
+ ),
187
+ )
188
+ );
189
+ wp_localize_script(
190
+ 'tg-demo-importer',
191
+ '_demoImporterSettings',
192
+ array(
193
+ 'demos' => $this->ajax_query_demos( true ),
194
+ 'settings' => array(
195
+ 'isNew' => false,
196
+ 'ajaxUrl' => admin_url( 'admin-ajax.php' ),
197
+ 'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
198
+ 'suggestURI' => apply_filters( 'themegrill_demo_importer_suggest_new', 'https://themegrill.com/contact/' ),
199
+ 'confirmReset' => __( 'It is strongly recommended that you backup your database before proceeding. Are you sure you wish to run the reset wizard now?', 'themegrill-demo-importer' ),
200
+ 'confirmImport' => __( "Importing demo data will ensure that your site will look similar as theme demo. It makes you easy to modify the content instead of creating them from scratch. Also consider before importing theme demo: \n\n1. It will install the required plugin as well as activate them for installing theme demo. \n\n2. You need to import demo on fresh WordPress install to exactly replicate the theme demo. \n\n3. None of the posts, pages, attachments or any other data already existing in your site will be deleted or modified. \n\n4. Copyright images will get replaced with other placeholder images. \n\n5. It will take some time to import the theme demo.", 'themegrill-demo-importer' ),
201
+ ),
202
+ 'l10n' => array(
203
+ 'search' => __( 'Search Demos', 'themegrill-demo-importer' ),
204
+ 'searchPlaceholder' => __( 'Search demos...', 'themegrill-demo-importer' ), // placeholder (no ellipsis)
205
+ /* translators: %s: support forums URL */
206
+ 'error' => sprintf( __( 'An unexpected error occurred. Something may be wrong with ThemeGrill demo server&#8217;s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.', 'themegrill-demo-importer' ), 'https://wordpress.org/support/plugin/themegrill-demo-importer' ),
207
+ 'tryAgain' => __( 'Try Again', 'themegrill-demo-importer' ),
208
+ 'suggestNew' => __( 'Please suggest us!', 'themegrill-demo-importer' ),
209
+ 'demosFound' => __( 'Number of Demos found: %d', 'themegrill-demo-importer' ),
210
+ 'noDemosFound' => __( 'No demos found. Try a different search.', 'themegrill-demo-importer' ),
211
+ 'collapseSidebar' => __( 'Collapse Sidebar', 'themegrill-demo-importer' ),
212
+ 'expandSidebar' => __( 'Expand Sidebar', 'themegrill-demo-importer' ),
213
+ /* translators: accessibility text */
214
+ 'selectFeatureFilter' => __( 'Select one or more Demo features to filter by', 'themegrill-demo-importer' ),
215
+ ),
216
+ )
217
+ );
218
  }
219
  }
220
 
259
  return;
260
  }
261
 
262
+ $screen->add_help_tab(
263
+ array(
264
+ 'id' => 'themegrill_demo_importer_support_tab',
265
+ 'title' => __( 'Help &amp; Support', 'themegrill-demo-importer' ),
266
+ 'content' =>
267
+ '<h2>' . __( 'Help &amp; Support', 'themegrill-demo-importer' ) . '</h2>' .
268
  '<p>' . sprintf(
269
+ __( 'Should you need help understanding, using, or extending ThemeGrill Demo Importer, <a href="%s">please read our documentation</a>. You will find all kinds of resources including snippets, tutorials and much more.', 'themegrill-demo-importer' ),
270
  'https://themegrill.com/docs/themegrill-demo-importer/'
271
  ) . '</p>' .
272
  '<p>' . sprintf(
274
  'https://wordpress.org/support/plugin/themegrill-demo-importer',
275
  'https://themegrill.com/support-forum/'
276
  ) . '</p>' .
277
+ '<p><a href="' . 'https://wordpress.org/support/plugin/themegrill-demo-importer' . '" class="button button-primary">' . __( 'Community forum', 'themegrill-demo-importer' ) . '</a> <a href="' . 'https://themegrill.com/support-forum/' . '" class="button">' . __( 'ThemeGrill Support', 'themegrill-demo-importer' ) . '</a></p>',
278
+ )
279
+ );
280
+
281
+ $screen->add_help_tab(
282
+ array(
283
+ 'id' => 'themegrill_demo_importer_bugs_tab',
284
+ 'title' => __( 'Found a bug?', 'themegrill-demo-importer' ),
285
+ 'content' =>
286
+ '<h2>' . __( 'Found a bug?', 'themegrill-demo-importer' ) . '</h2>' .
287
+ '<p>' . sprintf( __( 'If you find a bug within ThemeGrill Demo Importer you can create a ticket via <a href="%1$s">Github issues</a>. Ensure you read the <a href="%2$s">contribution guide</a> prior to submitting your report. To help us solve your issue, please be as descriptive as possible.', 'themegrill-demo-importer' ), 'https://github.com/themegrill/themegrill-demo-importer/issues?state=open', 'https://github.com/themegrill/themegrill-demo-importer/blob/master/.github/CONTRIBUTING.md' ) . '</p>' .
288
+ '<p><a href="' . 'https://github.com/themegrill/themegrill-demo-importer/issues?state=open' . '" class="button button-primary">' . __( 'Report a bug', 'themegrill-demo-importer' ) . '</a></p>',
289
+
290
+ )
291
+ );
292
+
293
+ $screen->add_help_tab(
294
+ array(
295
+ 'id' => 'themegrill_demo_importer_reset_tab',
296
+ 'title' => __( 'Reset wizard', 'themegrill-demo-importer' ),
297
+ 'content' =>
298
+ '<h2>' . __( 'Reset wizard', 'themegrill-demo-importer' ) . '</h2>' .
299
+ '<p>' . __( 'If you need to reset the WordPress back to default again, please click on the button below.', 'themegrill-demo-importer' ) . '</p>' .
300
+ '<p><a href="' . esc_url( add_query_arg( 'do_reset_wordpress', 'true', admin_url( 'themes.php?page=demo-importer' ) ) ) . '" class="button button-primary themegrill-reset-wordpress">' . __( 'Reset wizard', 'themegrill-demo-importer' ) . '</a></p>',
301
+ )
302
+ );
303
 
304
  $screen->set_help_sidebar(
305
  '<p><strong>' . __( 'For more information:', 'themegrill-demo-importer' ) . '</strong></p>' .
385
  $result = wp_install( $blogname, $user->user_login, $user->user_email, $blog_public );
386
 
387
  // Updates the user password with a old one.
388
+ $wpdb->update(
389
+ $wpdb->users,
390
+ array(
391
+ 'user_pass' => $user->user_pass,
392
+ 'user_activation_key' => '',
393
+ ),
394
+ array( 'ID' => $result['user_id'] )
395
+ );
396
 
397
  // Set up the Password change nag.
398
  $default_password_nag = get_user_option( 'default_password_nag', $result['user_id'] );
461
  }
462
 
463
  if ( ! $return ) {
464
+ $request = wp_parse_args(
465
+ wp_unslash( $_REQUEST['request'] ),
466
+ array(
467
+ 'browse' => 'all',
468
+ )
469
+ );
470
  } else {
471
  $request = array(
472
  'browse' => 'all',
535
  return $prepared_demos;
536
  }
537
 
538
+ wp_send_json_success(
539
+ array(
540
+ 'info' => array(
541
+ 'page' => 1,
542
+ 'pages' => 1,
543
+ 'results' => count( $prepared_demos ),
544
+ ),
545
+ 'demos' => array_filter( $prepared_demos ),
546
+ )
547
+ );
548
  }
549
 
550
  /**
558
  check_ajax_referer( 'updates' );
559
 
560
  if ( empty( $_POST['slug'] ) ) {
561
+ wp_send_json_error(
562
+ array(
563
+ 'slug' => '',
564
+ 'errorCode' => 'no_demo_specified',
565
+ 'errorMessage' => __( 'No demo specified.', 'themegrill-demo-importer' ),
566
+ )
567
+ );
568
  }
569
 
570
  $slug = sanitize_key( wp_unslash( $_POST['slug'] ) );
582
  wp_send_json_error( $status );
583
  }
584
 
585
+ include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
586
+ include_once dirname( __FILE__ ) . '/admin/class-demo-pack-upgrader.php';
587
 
588
  $skin = new WP_Ajax_Upgrader_Skin();
589
  $upgrader = new TG_Demo_Pack_Upgrader( $skin );
635
 
636
  // Update imported demo ID.
637
  update_option( 'themegrill_demo_importer_activated_id', $slug );
 
638
  do_action( 'themegrill_ajax_demo_imported', $slug, $demo_data );
639
  }
640
 
682
 
683
  // Import XML file demo content.
684
  if ( is_file( $import_file ) ) {
685
+ $wp_import = new TG_WXR_Importer();
686
  $wp_import->fetch_attachments = true;
687
 
688
  ob_start();
720
  if ( in_array( $option_value, array( 'posts', 'page' ) ) ) {
721
  update_option( 'show_on_front', $option_value );
722
  }
723
+ break;
724
  case 'page_on_front':
725
  case 'page_for_posts':
726
  $page = get_page_by_title( $option_value );
729
  update_option( $option_key, $page->ID );
730
  update_option( 'show_on_front', 'page' );
731
  }
732
+ break;
733
  default:
734
  update_option( $option_key, sanitize_text_field( $option_value ) );
735
+ break;
736
  }
737
  }
738
  }
881
  }
882
  }
883
  }
884
+ break;
885
  case 'dropdown_categories':
886
  foreach ( $dropdown_data as $taxonomy => $taxonomy_data ) {
887
  if ( ! taxonomy_exists( $taxonomy ) ) {
900
  }
901
  }
902
  }
903
+ break;
904
  }
905
  }
906
  }
934
  }
935
  }
936
  }
937
+ break;
938
  case 'categories':
939
  foreach ( $data_value as $taxonomy => $taxonomy_data ) {
940
  if ( ! taxonomy_exists( $taxonomy ) ) {
951
  }
952
  }
953
  }
954
+ break;
955
  case 'nav_menu_locations':
956
  $nav_menus = wp_get_nav_menus();
957
 
966
  }
967
  }
968
  }
969
+ break;
970
  }
971
  }
972
  }
987
 
988
  // Recursively update elementor data.
989
  foreach ( $elementor_data as $element_id => $element_data ) {
990
+ if ( ! empty( $element_data['elements'] ) ) {
991
  foreach ( $element_data['elements'] as $el_key => $el_data ) {
992
  if ( ! empty( $el_data['elements'] ) ) {
993
  foreach ( $el_data['elements'] as $el_child_key => $child_el_data ) {
1029
  }
1030
 
1031
  // Update the elementor data.
1032
+ $elementor_data[ $element_id ]['elements'][ $el_key ]['elements'][ $el_child_key ]['settings']['categories_selected'] = $categories_selected;
1033
  }
1034
  }
1035
  }
1102
  if ( 0 !== $attachment_id ) {
1103
  $grid_instance['style'][ $style_key ] = $attachment_id;
1104
  }
1105
+ break;
1106
  default:
1107
  $grid_instance['style'][ $style_key ] = $style_value;
1108
+ break;
1109
  }
1110
  }
1111
  }
1115
 
1116
  // Update panel grids data.
1117
  $panels_data['grids'][ $instance_id ] = $grid_instance;
1118
+ }
1119
+ break;
1120
 
1121
  case 'widgets':
1122
  foreach ( $panel_data as $instance_id => $widget_instance ) {
1123
  if ( isset( $widget_instance['panels_data']['widgets'] ) ) {
1124
+ $instance = $instance + 1;
1125
  $child_panels_data = $widget_instance['panels_data'];
1126
  $panels_data['widgets'][ $instance_id ]['panels_data'] = $this->siteorigin_recursive_update( $child_panels_data, $data_type, $data_value );
1127
  $instance = $instance - 1;
1160
  }
1161
  }
1162
  }
1163
+ break;
1164
  case 'dropdown_categories':
1165
  foreach ( $dropdown_data as $taxonomy => $taxonomy_data ) {
1166
  if ( ! taxonomy_exists( $taxonomy ) ) {
1183
  }
1184
  }
1185
  }
1186
+ break;
1187
  }
1188
  }
1189
  }
1190
 
1191
  $panels_data['widgets'][ $instance_id ] = $widget_instance;
1192
  }
1193
+ break;
1194
  }
1195
  }
1196
 
includes/class-themegrill-demo-importer.php CHANGED
@@ -20,7 +20,7 @@ final class ThemeGrill_Demo_Importer {
20
  *
21
  * @var string
22
  */
23
- public $version = '1.5.5';
24
 
25
  /**
26
  * Theme single instance of this class.
20
  *
21
  * @var string
22
  */
23
+ public $version = '1.5.6';
24
 
25
  /**
26
  * Theme single instance of this class.
includes/functions-demo-importer.php CHANGED
@@ -2,14 +2,14 @@
2
  /**
3
  * Demo Importer Functions.
4
  *
5
- * @package ThemeGrill_Demo_Importer/Functions
6
  * @version 1.0.0
7
  */
8
 
9
  defined( 'ABSPATH' ) || exit;
10
 
11
  // Include core functions (available in both admin and frontend).
12
- include_once TGDM_ABSPATH . 'includes/functions-demo-update.php';
13
 
14
  /**
15
  * Ajax handler for installing a required plugin.
@@ -24,11 +24,13 @@ function tg_ajax_install_required_plugin() {
24
  check_ajax_referer( 'updates' );
25
 
26
  if ( empty( $_POST['plugin'] ) || empty( $_POST['slug'] ) ) {
27
- wp_send_json_error( array(
28
- 'slug' => '',
29
- 'errorCode' => 'no_plugin_specified',
30
- 'errorMessage' => __( 'No plugin specified.', 'themegrill-demo-importer' ),
31
- ) );
 
 
32
  }
33
 
34
  $slug = sanitize_key( wp_unslash( $_POST['slug'] ) );
@@ -43,8 +45,8 @@ function tg_ajax_install_required_plugin() {
43
  wp_send_json_error( $status );
44
  }
45
 
46
- include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
47
- include_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
48
 
49
  // Looks like a plugin is installed, but not active.
50
  if ( file_exists( WP_PLUGIN_DIR . '/' . $slug ) ) {
@@ -65,12 +67,15 @@ function tg_ajax_install_required_plugin() {
65
  }
66
  }
67
 
68
- $api = plugins_api( 'plugin_information', array(
69
- 'slug' => sanitize_key( wp_unslash( $_POST['slug'] ) ),
70
- 'fields' => array(
71
- 'sections' => false,
72
- ),
73
- ) );
 
 
 
74
 
75
  if ( is_wp_error( $api ) ) {
76
  $status['errorMessage'] = $api->get_error_message();
@@ -243,24 +248,27 @@ if ( class_exists( 'WooCommerce' ) ) {
243
  function tg_set_wc_pages( $demo_id ) {
244
  global $wpdb;
245
 
246
- $wc_pages = apply_filters( 'themegrill_wc_' . $demo_id . '_pages', array(
247
- 'shop' => array(
248
- 'name' => 'shop',
249
- 'title' => 'Shop',
250
- ),
251
- 'cart' => array(
252
- 'name' => 'cart',
253
- 'title' => 'Cart',
254
- ),
255
- 'checkout' => array(
256
- 'name' => 'checkout',
257
- 'title' => 'Checkout',
258
- ),
259
- 'myaccount' => array(
260
- 'name' => 'my-account',
261
- 'title' => 'My Account',
262
- ),
263
- ) );
 
 
 
264
 
265
  // Set WC pages properly.
266
  foreach ( $wc_pages as $key => $wc_page ) {
@@ -270,7 +278,7 @@ function tg_set_wc_pages( $demo_id ) {
270
 
271
  if ( ! is_null( $page_ids ) ) {
272
  $page_id = 0;
273
- $delete_ids = array();
274
 
275
  // Retrieve page with greater id and delete others.
276
  if ( sizeof( $page_ids ) > 1 ) {
@@ -297,7 +305,12 @@ function tg_set_wc_pages( $demo_id ) {
297
  // Update WC page.
298
  if ( $page_id > 0 ) {
299
  update_option( 'woocommerce_' . $key . '_page_id', $page_id );
300
- wp_update_post( array( 'ID' => $page_id, 'post_name' => sanitize_title( $wc_page['name'] ) ) );
 
 
 
 
 
301
  }
302
  }
303
  }
2
  /**
3
  * Demo Importer Functions.
4
  *
5
+ * @package ThemeGrill_Demo_Importer\Functions
6
  * @version 1.0.0
7
  */
8
 
9
  defined( 'ABSPATH' ) || exit;
10
 
11
  // Include core functions (available in both admin and frontend).
12
+ require_once TGDM_ABSPATH . 'includes/functions-demo-update.php';
13
 
14
  /**
15
  * Ajax handler for installing a required plugin.
24
  check_ajax_referer( 'updates' );
25
 
26
  if ( empty( $_POST['plugin'] ) || empty( $_POST['slug'] ) ) {
27
+ wp_send_json_error(
28
+ array(
29
+ 'slug' => '',
30
+ 'errorCode' => 'no_plugin_specified',
31
+ 'errorMessage' => __( 'No plugin specified.', 'themegrill-demo-importer' ),
32
+ )
33
+ );
34
  }
35
 
36
  $slug = sanitize_key( wp_unslash( $_POST['slug'] ) );
45
  wp_send_json_error( $status );
46
  }
47
 
48
+ include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
49
+ include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
50
 
51
  // Looks like a plugin is installed, but not active.
52
  if ( file_exists( WP_PLUGIN_DIR . '/' . $slug ) ) {
67
  }
68
  }
69
 
70
+ $api = plugins_api(
71
+ 'plugin_information',
72
+ array(
73
+ 'slug' => sanitize_key( wp_unslash( $_POST['slug'] ) ),
74
+ 'fields' => array(
75
+ 'sections' => false,
76
+ ),
77
+ )
78
+ );
79
 
80
  if ( is_wp_error( $api ) ) {
81
  $status['errorMessage'] = $api->get_error_message();
248
  function tg_set_wc_pages( $demo_id ) {
249
  global $wpdb;
250
 
251
+ $wc_pages = apply_filters(
252
+ 'themegrill_wc_' . $demo_id . '_pages',
253
+ array(
254
+ 'shop' => array(
255
+ 'name' => 'shop',
256
+ 'title' => 'Shop',
257
+ ),
258
+ 'cart' => array(
259
+ 'name' => 'cart',
260
+ 'title' => 'Cart',
261
+ ),
262
+ 'checkout' => array(
263
+ 'name' => 'checkout',
264
+ 'title' => 'Checkout',
265
+ ),
266
+ 'myaccount' => array(
267
+ 'name' => 'my-account',
268
+ 'title' => 'My Account',
269
+ ),
270
+ )
271
+ );
272
 
273
  // Set WC pages properly.
274
  foreach ( $wc_pages as $key => $wc_page ) {
278
 
279
  if ( ! is_null( $page_ids ) ) {
280
  $page_id = 0;
281
+ $delete_ids = array();
282
 
283
  // Retrieve page with greater id and delete others.
284
  if ( sizeof( $page_ids ) > 1 ) {
305
  // Update WC page.
306
  if ( $page_id > 0 ) {
307
  update_option( 'woocommerce_' . $key . '_page_id', $page_id );
308
+ wp_update_post(
309
+ array(
310
+ 'ID' => $page_id,
311
+ 'post_name' => sanitize_title( $wc_page['name'] ),
312
+ )
313
+ );
314
  }
315
  }
316
  }
includes/functions-demo-update.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * Backward compatibility for demo importer configs and options.
6
  *
7
- * @package ThemeGrill_Demo_Importer/Functions
8
  * @version 1.1.0
9
  */
10
 
4
  *
5
  * Backward compatibility for demo importer configs and options.
6
  *
7
+ * @package ThemeGrill_Demo_Importer\Functions
8
  * @version 1.1.0
9
  */
10
 
includes/importers/class-customizer-importer.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * Code adapted from the "Customizer Export/Import" plugin.
6
  *
7
- * @package ThemeGrill_Demo_Importer/Classes
8
  * @version 1.0.0
9
  */
10
 
@@ -60,11 +60,15 @@ class TG_Customizer_Importer {
60
  include_once dirname( __FILE__ ) . '/customize/class-oc-customize-demo-importer-setting.php';
61
 
62
  foreach ( $data['options'] as $option_key => $option_value ) {
63
- $option = new OC_Customize_Demo_Importer_Setting( $wp_customize, $option_key, array(
64
- 'default' => '',
65
- 'type' => 'option',
66
- 'capability' => 'edit_theme_options',
67
- ) );
 
 
 
 
68
 
69
  $option->import( $option_value );
70
  }
@@ -141,7 +145,7 @@ class TG_Customizer_Importer {
141
  if ( ! empty( $file ) ) {
142
  // Set variables for storage, fix file filename for query strings.
143
  preg_match( '/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches );
144
- $file_array = array();
145
  $file_array['name'] = basename( $matches[0] );
146
 
147
  // Download file to temp location.
4
  *
5
  * Code adapted from the "Customizer Export/Import" plugin.
6
  *
7
+ * @package ThemeGrill_Demo_Importer\Classes
8
  * @version 1.0.0
9
  */
10
 
60
  include_once dirname( __FILE__ ) . '/customize/class-oc-customize-demo-importer-setting.php';
61
 
62
  foreach ( $data['options'] as $option_key => $option_value ) {
63
+ $option = new OC_Customize_Demo_Importer_Setting(
64
+ $wp_customize,
65
+ $option_key,
66
+ array(
67
+ 'default' => '',
68
+ 'type' => 'option',
69
+ 'capability' => 'edit_theme_options',
70
+ )
71
+ );
72
 
73
  $option->import( $option_value );
74
  }
145
  if ( ! empty( $file ) ) {
146
  // Set variables for storage, fix file filename for query strings.
147
  preg_match( '/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches );
148
+ $file_array = array();
149
  $file_array['name'] = basename( $matches[0] );
150
 
151
  // Download file to temp location.
includes/importers/class-widget-importer.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * Code adapted from the "Widget Importer & Exporter" plugin.
6
  *
7
- * @package ThemeGrill_Demo_Importer/Classes
8
  * @version 1.0.0
9
  */
10
 
@@ -31,7 +31,7 @@ class TG_Widget_Importer {
31
 
32
  // Have valid data? If no data or could not decode.
33
  if ( empty( $data ) || ! is_object( $data ) ) {
34
- return new WP_Error( 'themegrill_widget_import_data_error', __( 'Widget import data could not be read. Please try a different file.', 'themegrill-demo-importer' ) );
35
  }
36
 
37
  // Hook before import.
@@ -147,7 +147,7 @@ class TG_Widget_Importer {
147
  // If key is 0, make it 1.
148
  // When 0, an issue can occur where adding a widget causes data from other widget to load, and the widget doesn't stick (reload wipes it).
149
  if ( '0' === strval( $new_instance_id_number ) ) {
150
- $new_instance_id_number = 1;
151
  $single_widget_instances[ $new_instance_id_number ] = $single_widget_instances[0];
152
  unset( $single_widget_instances[0] );
153
  }
@@ -163,8 +163,8 @@ class TG_Widget_Importer {
163
  update_option( 'widget_' . $id_base, $single_widget_instances );
164
 
165
  // Assign widget instance to sidebar.
166
- $sidebars_widgets = get_option( 'sidebars_widgets' ); // Which sidebars have which widgets, get fresh every time.
167
- $new_instance_id = $id_base . '-' . $new_instance_id_number; // Use ID number from new widget instance.
168
  $sidebars_widgets[ $use_sidebar_id ][] = $new_instance_id; // Add new instance to sidebar.
169
  update_option( 'sidebars_widgets', $sidebars_widgets ); // Save the amended data.
170
 
4
  *
5
  * Code adapted from the "Widget Importer & Exporter" plugin.
6
  *
7
+ * @package ThemeGrill_Demo_Importer\Classes
8
  * @version 1.0.0
9
  */
10
 
31
 
32
  // Have valid data? If no data or could not decode.
33
  if ( empty( $data ) || ! is_object( $data ) ) {
34
+ return new WP_Error( 'themegrill_widget_import_data_error', __( 'Widget import data could not be read. Please try a different file.', 'themegrill-demo-importer' ) );
35
  }
36
 
37
  // Hook before import.
147
  // If key is 0, make it 1.
148
  // When 0, an issue can occur where adding a widget causes data from other widget to load, and the widget doesn't stick (reload wipes it).
149
  if ( '0' === strval( $new_instance_id_number ) ) {
150
+ $new_instance_id_number = 1;
151
  $single_widget_instances[ $new_instance_id_number ] = $single_widget_instances[0];
152
  unset( $single_widget_instances[0] );
153
  }
163
  update_option( 'widget_' . $id_base, $single_widget_instances );
164
 
165
  // Assign widget instance to sidebar.
166
+ $sidebars_widgets = get_option( 'sidebars_widgets' ); // Which sidebars have which widgets, get fresh every time.
167
+ $new_instance_id = $id_base . '-' . $new_instance_id_number; // Use ID number from new widget instance.
168
  $sidebars_widgets[ $use_sidebar_id ][] = $new_instance_id; // Add new instance to sidebar.
169
  update_option( 'sidebars_widgets', $sidebars_widgets ); // Save the amended data.
170
 
includes/importers/customize/class-oc-customize-demo-importer-setting.php CHANGED
@@ -2,18 +2,20 @@
2
  /**
3
  * Customize API: OC_Customize_Demo_Importer_Setting class
4
  *
5
- * @package ThemeGrill_Demo_Importer/Classes
6
  * @version 1.0.0
7
  */
8
 
9
  /**
10
  * Customizer Demo Importer Setting class.
 
11
  * @see WP_Customize_Setting
12
  */
13
  final class OC_Customize_Demo_Importer_Setting extends WP_Customize_Setting {
14
 
15
  /**
16
  * Import an option value for this setting.
 
17
  * @param mixed $value The value to update.
18
  */
19
  public function import( $value ) {
2
  /**
3
  * Customize API: OC_Customize_Demo_Importer_Setting class
4
  *
5
+ * @package ThemeGrill_Demo_Importer\Classes
6
  * @version 1.0.0
7
  */
8
 
9
  /**
10
  * Customizer Demo Importer Setting class.
11
+ *
12
  * @see WP_Customize_Setting
13
  */
14
  final class OC_Customize_Demo_Importer_Setting extends WP_Customize_Setting {
15
 
16
  /**
17
  * Import an option value for this setting.
18
+ *
19
  * @param mixed $value The value to update.
20
  */
21
  public function import( $value ) {
includes/importers/wordpress-importer/class-wxr-importer.php CHANGED
@@ -5,7 +5,7 @@
5
  * Code adapted from the "WordPress Importer" plugin.
6
  *
7
  * @extends WP_Importer
8
- * @package Importer/Classes
9
  * @version 1.0.0
10
  */
11
 
@@ -33,26 +33,26 @@ class TG_WXR_Importer extends WP_Importer {
33
 
34
  // information to import from WXR file
35
  var $version;
36
- var $authors = array();
37
- var $posts = array();
38
- var $terms = array();
39
  var $categories = array();
40
- var $tags = array();
41
- var $base_url = '';
42
 
43
  // mappings from old information to new
44
- var $processed_authors = array();
45
- var $author_mapping = array();
46
- var $processed_terms = array();
47
- var $processed_posts = array();
48
- var $post_orphans = array();
49
  var $processed_menu_items = array();
50
- var $menu_item_orphans = array();
51
- var $missing_menu_items = array();
52
 
53
  var $fetch_attachments = false;
54
- var $url_remap = array();
55
- var $featured_images = array();
56
 
57
  /**
58
  * Registered callback function for the WordPress Importer
@@ -69,15 +69,16 @@ class TG_WXR_Importer extends WP_Importer {
69
  break;
70
  case 1:
71
  check_admin_referer( 'import-upload' );
72
- if ( $this->handle_upload() )
73
  $this->import_options();
 
74
  break;
75
  case 2:
76
  check_admin_referer( 'import-wordpress' );
77
  $this->fetch_attachments = ( ! empty( $_POST['fetch_attachments'] ) && $this->allow_fetch_attachments() );
78
- $this->id = (int) $_POST['import_id'];
79
- $file = get_attached_file( $this->id );
80
- set_time_limit(0);
81
  $this->import( $file );
82
  break;
83
  }
@@ -119,7 +120,7 @@ class TG_WXR_Importer extends WP_Importer {
119
  * @param string $file Path to the WXR file for importing
120
  */
121
  function import_start( $file ) {
122
- if ( ! is_file($file) ) {
123
  echo '<p><strong>' . __( 'Sorry, there has been an error.', 'themegrill-demo-importer' ) . '</strong><br />';
124
  echo __( 'The file does not exist, please try again.', 'themegrill-demo-importer' ) . '</p>';
125
  $this->footer();
@@ -137,11 +138,11 @@ class TG_WXR_Importer extends WP_Importer {
137
 
138
  $this->version = $import_data['version'];
139
  $this->get_authors_from_import( $import_data );
140
- $this->posts = $import_data['posts'];
141
- $this->terms = $import_data['terms'];
142
  $this->categories = $import_data['categories'];
143
- $this->tags = $import_data['tags'];
144
- $this->base_url = esc_url( $import_data['base_url'] );
145
 
146
  wp_defer_term_counting( true );
147
  wp_defer_comment_counting( true );
@@ -183,14 +184,14 @@ class TG_WXR_Importer extends WP_Importer {
183
  echo '<p><strong>' . __( 'Sorry, there has been an error.', 'themegrill-demo-importer' ) . '</strong><br />';
184
  echo esc_html( $file['error'] ) . '</p>';
185
  return false;
186
- } else if ( ! file_exists( $file['file'] ) ) {
187
  echo '<p><strong>' . __( 'Sorry, there has been an error.', 'themegrill-demo-importer' ) . '</strong><br />';
188
  printf( __( 'The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem.', 'themegrill-demo-importer' ), esc_html( $file['file'] ) );
189
  echo '</p>';
190
  return false;
191
  }
192
 
193
- $this->id = (int) $file['id'];
194
  $import_data = $this->parse( $file['file'] );
195
  if ( is_wp_error( $import_data ) ) {
196
  echo '<p><strong>' . __( 'Sorry, there has been an error.', 'themegrill-demo-importer' ) . '</strong><br />';
@@ -201,7 +202,7 @@ class TG_WXR_Importer extends WP_Importer {
201
  $this->version = $import_data['version'];
202
  if ( $this->version > $this->max_wxr_version ) {
203
  echo '<div class="error"><p><strong>';
204
- printf( __( 'This WXR file (version %s) may not be supported by this version of the importer. Please consider updating.', 'themegrill-demo-importer' ), esc_html($import_data['version']) );
205
  echo '</strong></p></div>';
206
  }
207
 
@@ -221,7 +222,7 @@ class TG_WXR_Importer extends WP_Importer {
221
  function get_authors_from_import( $import_data ) {
222
  if ( ! empty( $import_data['authors'] ) ) {
223
  $this->authors = $import_data['authors'];
224
- // no author information, grab it from the posts
225
  } else {
226
  foreach ( $import_data['posts'] as $post ) {
227
  $login = sanitize_user( $post['post_author'], true );
@@ -231,11 +232,12 @@ class TG_WXR_Importer extends WP_Importer {
231
  continue;
232
  }
233
 
234
- if ( ! isset($this->authors[$login]) )
235
- $this->authors[$login] = array(
236
- 'author_login' => $login,
237
- 'author_display_name' => $post['post_author']
238
  );
 
239
  }
240
  }
241
  }
@@ -246,25 +248,25 @@ class TG_WXR_Importer extends WP_Importer {
246
  */
247
  function import_options() {
248
  $j = 0;
249
- ?>
250
  <form action="<?php echo admin_url( 'admin.php?import=wordpress&amp;step=2' ); ?>" method="post">
251
- <?php wp_nonce_field( 'import-wordpress' ); ?>
252
  <input type="hidden" name="import_id" value="<?php echo $this->id; ?>" />
253
 
254
- <?php if ( ! empty( $this->authors ) ) : ?>
255
  <h3><?php _e( 'Assign Authors', 'themegrill-demo-importer' ); ?></h3>
256
  <p><?php _e( 'To make it easier for you to edit and save the imported content, you may want to reassign the author of the imported item to an existing user of this site. For example, you may want to import all the entries as <code>admin</code>s entries.', 'themegrill-demo-importer' ); ?></p>
257
- <?php if ( $this->allow_create_users() ) : ?>
258
- <p><?php printf( __( 'If a new user is created by WordPress, a new password will be randomly generated and the new user&#8217;s role will be set as %s. Manually changing the new user&#8217;s details will be necessary.', 'themegrill-demo-importer' ), esc_html( get_option('default_role') ) ); ?></p>
259
  <?php endif; ?>
260
  <ol id="authors">
261
- <?php foreach ( $this->authors as $author ) : ?>
262
  <li><?php $this->author_select( $j++, $author ); ?></li>
263
  <?php endforeach; ?>
264
  </ol>
265
  <?php endif; ?>
266
 
267
- <?php if ( $this->allow_fetch_attachments() ) : ?>
268
  <h3><?php _e( 'Import Attachments', 'themegrill-demo-importer' ); ?></h3>
269
  <p>
270
  <input type="checkbox" value="1" name="fetch_attachments" id="import-attachments" />
@@ -274,24 +276,27 @@ class TG_WXR_Importer extends WP_Importer {
274
 
275
  <p class="submit"><input type="submit" class="button" value="<?php esc_attr_e( 'Submit', 'themegrill-demo-importer' ); ?>" /></p>
276
  </form>
277
- <?php
278
  }
279
 
280
  /**
281
  * Display import options for an individual author. That is, either create
282
  * a new user based on import info or map to an existing user
283
  *
284
- * @param int $n Index for each author in the form
285
  * @param array $author Author information, e.g. login, display name, email
286
  */
287
  function author_select( $n, $author ) {
288
  _e( 'Import author:', 'themegrill-demo-importer' );
289
  echo ' <strong>' . esc_html( $author['author_display_name'] );
290
- if ( $this->version != '1.0' ) echo ' (' . esc_html( $author['author_login'] ) . ')';
 
 
291
  echo '</strong><br />';
292
 
293
- if ( $this->version != '1.0' )
294
  echo '<div style="margin-left:18px">';
 
295
 
296
  $create_users = $this->allow_create_users();
297
  if ( $create_users ) {
@@ -303,18 +308,29 @@ class TG_WXR_Importer extends WP_Importer {
303
  $value = esc_attr( sanitize_user( $author['author_login'], true ) );
304
  }
305
 
306
- echo ' <input type="text" name="user_new['.$n.']" value="'. $value .'" /><br />';
307
  }
308
 
309
- if ( ! $create_users && $this->version == '1.0' )
310
  _e( 'assign posts to an existing user:', 'themegrill-demo-importer' );
311
- else
312
  _e( 'or assign posts to an existing user:', 'themegrill-demo-importer' );
313
- wp_dropdown_users( array( 'name' => "user_map[$n]", 'multi' => true, 'show_option_all' => __( '- Select -', 'themegrill-demo-importer' ) ) );
314
- echo '<input type="hidden" name="imported_authors['.$n.']" value="' . esc_attr( $author['author_login'] ) . '" />';
 
 
 
 
 
 
 
 
 
 
315
 
316
- if ( $this->version != '1.0' )
317
  echo '</div>';
 
318
  }
319
 
320
  /**
@@ -323,55 +339,60 @@ class TG_WXR_Importer extends WP_Importer {
323
  * or falls back to the current user in case of error with either of the previous
324
  */
325
  function get_author_mapping() {
326
- if ( ! isset( $_POST['imported_authors'] ) )
327
  return;
 
328
 
329
  $create_users = $this->allow_create_users();
330
 
331
  foreach ( (array) $_POST['imported_authors'] as $i => $old_login ) {
332
  // Multisite adds strtolower to sanitize_user. Need to sanitize here to stop breakage in process_posts.
333
  $santized_old_login = sanitize_user( $old_login, true );
334
- $old_id = isset( $this->authors[$old_login]['author_id'] ) ? intval($this->authors[$old_login]['author_id']) : false;
335
 
336
- if ( ! empty( $_POST['user_map'][$i] ) ) {
337
- $user = get_userdata( intval($_POST['user_map'][$i]) );
338
  if ( isset( $user->ID ) ) {
339
- if ( $old_id )
340
- $this->processed_authors[$old_id] = $user->ID;
341
- $this->author_mapping[$santized_old_login] = $user->ID;
 
342
  }
343
- } else if ( $create_users ) {
344
- if ( ! empty($_POST['user_new'][$i]) ) {
345
- $user_id = wp_create_user( $_POST['user_new'][$i], wp_generate_password() );
346
- } else if ( $this->version != '1.0' ) {
347
  $user_data = array(
348
- 'user_login' => $old_login,
349
- 'user_pass' => wp_generate_password(),
350
- 'user_email' => isset( $this->authors[$old_login]['author_email'] ) ? $this->authors[$old_login]['author_email'] : '',
351
- 'display_name' => $this->authors[$old_login]['author_display_name'],
352
- 'first_name' => isset( $this->authors[$old_login]['author_first_name'] ) ? $this->authors[$old_login]['author_first_name'] : '',
353
- 'last_name' => isset( $this->authors[$old_login]['author_last_name'] ) ? $this->authors[$old_login]['author_last_name'] : '',
354
  );
355
- $user_id = wp_insert_user( $user_data );
356
  }
357
 
358
  if ( ! is_wp_error( $user_id ) ) {
359
- if ( $old_id )
360
- $this->processed_authors[$old_id] = $user_id;
361
- $this->author_mapping[$santized_old_login] = $user_id;
 
362
  } else {
363
- printf( __( 'Failed to create new user for %s. Their posts will be attributed to the current user.', 'themegrill-demo-importer' ), esc_html($this->authors[$old_login]['author_display_name']) );
364
- if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG )
365
  echo ' ' . $user_id->get_error_message();
 
366
  echo '<br />';
367
  }
368
  }
369
 
370
  // failsafe: if the user_id was invalid, default to the current user
371
- if ( ! isset( $this->author_mapping[$santized_old_login] ) ) {
372
- if ( $old_id )
373
- $this->processed_authors[$old_id] = (int) get_current_user_id();
374
- $this->author_mapping[$santized_old_login] = (int) get_current_user_id();
 
375
  }
376
  }
377
  }
@@ -384,37 +405,43 @@ class TG_WXR_Importer extends WP_Importer {
384
  function process_categories() {
385
  $this->categories = apply_filters( 'wp_import_categories', $this->categories );
386
 
387
- if ( empty( $this->categories ) )
388
  return;
 
389
 
390
  foreach ( $this->categories as $cat ) {
391
  // if the category already exists leave it alone
392
  $term_id = term_exists( $cat['category_nicename'], 'category' );
393
  if ( $term_id ) {
394
- if ( is_array($term_id) ) $term_id = $term_id['term_id'];
395
- if ( isset($cat['term_id']) )
396
- $this->processed_terms[intval($cat['term_id'])] = (int) $term_id;
 
 
 
397
  continue;
398
  }
399
 
400
- $category_parent = empty( $cat['category_parent'] ) ? 0 : category_exists( $cat['category_parent'] );
401
  $category_description = isset( $cat['category_description'] ) ? $cat['category_description'] : '';
402
- $catarr = array(
403
- 'category_nicename' => $cat['category_nicename'],
404
- 'category_parent' => $category_parent,
405
- 'cat_name' => $cat['cat_name'],
406
- 'category_description' => $category_description
407
  );
408
- $catarr = wp_slash( $catarr );
409
 
410
  $id = wp_insert_category( $catarr );
411
  if ( ! is_wp_error( $id ) ) {
412
- if ( isset($cat['term_id']) )
413
- $this->processed_terms[intval($cat['term_id'])] = $id;
 
414
  } else {
415
- printf( __( 'Failed to import category %s', 'themegrill-demo-importer' ), esc_html($cat['category_nicename']) );
416
- if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG )
417
  echo ': ' . $id->get_error_message();
 
418
  echo '<br />';
419
  continue;
420
  }
@@ -433,31 +460,40 @@ class TG_WXR_Importer extends WP_Importer {
433
  function process_tags() {
434
  $this->tags = apply_filters( 'wp_import_tags', $this->tags );
435
 
436
- if ( empty( $this->tags ) )
437
  return;
 
438
 
439
  foreach ( $this->tags as $tag ) {
440
  // if the tag already exists leave it alone
441
  $term_id = term_exists( $tag['tag_slug'], 'post_tag' );
442
  if ( $term_id ) {
443
- if ( is_array($term_id) ) $term_id = $term_id['term_id'];
444
- if ( isset($tag['term_id']) )
445
- $this->processed_terms[intval($tag['term_id'])] = (int) $term_id;
 
 
 
446
  continue;
447
  }
448
 
449
- $tag = wp_slash( $tag );
450
  $tag_desc = isset( $tag['tag_description'] ) ? $tag['tag_description'] : '';
451
- $tagarr = array( 'slug' => $tag['tag_slug'], 'description' => $tag_desc );
 
 
 
452
 
453
  $id = wp_insert_term( $tag['tag_name'], 'post_tag', $tagarr );
454
  if ( ! is_wp_error( $id ) ) {
455
- if ( isset($tag['term_id']) )
456
- $this->processed_terms[intval($tag['term_id'])] = $id['term_id'];
 
457
  } else {
458
- printf( __( 'Failed to import post tag %s', 'themegrill-demo-importer' ), esc_html($tag['tag_name']) );
459
- if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG )
460
  echo ': ' . $id->get_error_message();
 
461
  echo '<br />';
462
  continue;
463
  }
@@ -476,16 +512,20 @@ class TG_WXR_Importer extends WP_Importer {
476
  function process_terms() {
477
  $this->terms = apply_filters( 'wp_import_terms', $this->terms );
478
 
479
- if ( empty( $this->terms ) )
480
  return;
 
481
 
482
  foreach ( $this->terms as $term ) {
483
  // if the term already exists in the correct taxonomy leave it alone
484
  $term_id = term_exists( $term['slug'], $term['term_taxonomy'] );
485
  if ( $term_id ) {
486
- if ( is_array($term_id) ) $term_id = $term_id['term_id'];
487
- if ( isset($term['term_id']) )
488
- $this->processed_terms[intval($term['term_id'])] = (int) $term_id;
 
 
 
489
  continue;
490
  }
491
 
@@ -493,20 +533,28 @@ class TG_WXR_Importer extends WP_Importer {
493
  $parent = 0;
494
  } else {
495
  $parent = term_exists( $term['term_parent'], $term['term_taxonomy'] );
496
- if ( is_array( $parent ) ) $parent = $parent['term_id'];
 
 
497
  }
498
- $term = wp_slash( $term );
499
  $description = isset( $term['term_description'] ) ? $term['term_description'] : '';
500
- $termarr = array( 'slug' => $term['slug'], 'description' => $description, 'parent' => intval($parent) );
 
 
 
 
501
 
502
  $id = wp_insert_term( $term['term_name'], $term['term_taxonomy'], $termarr );
503
  if ( ! is_wp_error( $id ) ) {
504
- if ( isset($term['term_id']) )
505
- $this->processed_terms[intval($term['term_id'])] = $id['term_id'];
 
506
  } else {
507
- printf( __( 'Failed to import %s %s', 'themegrill-demo-importer' ), esc_html($term['term_taxonomy']), esc_html($term['term_name']) );
508
- if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG )
509
  echo ': ' . $id->get_error_message();
 
510
  echo '<br />';
511
  continue;
512
  }
@@ -593,18 +641,23 @@ class TG_WXR_Importer extends WP_Importer {
593
  $post = apply_filters( 'wp_import_post_data_raw', $post );
594
 
595
  if ( ! post_type_exists( $post['post_type'] ) ) {
596
- printf( __( 'Failed to import &#8220;%s&#8221;: Invalid post type %s', 'themegrill-demo-importer' ),
597
- esc_html($post['post_title']), esc_html($post['post_type']) );
 
 
 
598
  echo '<br />';
599
  do_action( 'wp_import_post_exists', $post );
600
  continue;
601
  }
602
 
603
- if ( isset( $this->processed_posts[$post['post_id']] ) && ! empty( $post['post_id'] ) )
604
  continue;
 
605
 
606
- if ( $post['status'] == 'auto-draft' )
607
  continue;
 
608
 
609
  if ( 'nav_menu_item' == $post['post_type'] ) {
610
  $this->process_menu_item( $post );
@@ -630,56 +683,67 @@ class TG_WXR_Importer extends WP_Importer {
630
  $post_exists = apply_filters( 'wp_import_existing_post', $post_exists, $post );
631
 
632
  if ( $post_exists && get_post_type( $post_exists ) == $post['post_type'] ) {
633
- printf( __('%s &#8220;%s&#8221; already exists.', 'themegrill-demo-importer'), $post_type_object->labels->singular_name, esc_html($post['post_title']) );
634
  echo '<br />';
635
- $comment_post_ID = $post_id = $post_exists;
636
  $this->processed_posts[ intval( $post['post_id'] ) ] = intval( $post_exists );
637
  } else {
638
  $post_parent = (int) $post['post_parent'];
639
  if ( $post_parent ) {
640
  // if we already know the parent, map it to the new local ID
641
- if ( isset( $this->processed_posts[$post_parent] ) ) {
642
- $post_parent = $this->processed_posts[$post_parent];
643
- // otherwise record the parent for later
644
  } else {
645
- $this->post_orphans[intval($post['post_id'])] = $post_parent;
646
- $post_parent = 0;
647
  }
648
  }
649
 
650
  // map the post author
651
  $author = sanitize_user( $post['post_author'], true );
652
- if ( isset( $this->author_mapping[$author] ) )
653
- $author = $this->author_mapping[$author];
654
- else
655
  $author = (int) get_current_user_id();
 
656
 
657
  $postdata = array(
658
- 'import_id' => $post['post_id'], 'post_author' => $author, 'post_date' => $post['post_date'],
659
- 'post_date_gmt' => $post['post_date_gmt'], 'post_content' => $post['post_content'],
660
- 'post_excerpt' => $post['post_excerpt'], 'post_title' => $post['post_title'],
661
- 'post_status' => $post['status'], 'post_name' => $post['post_name'],
662
- 'comment_status' => $post['comment_status'], 'ping_status' => $post['ping_status'],
663
- 'guid' => $post['guid'], 'post_parent' => $post_parent, 'menu_order' => $post['menu_order'],
664
- 'post_type' => $post['post_type'], 'post_password' => $post['post_password']
 
 
 
 
 
 
 
 
 
665
  );
666
 
667
  $original_post_ID = $post['post_id'];
668
- $postdata = apply_filters( 'wp_import_post_data_processed', $postdata, $post );
669
 
670
  $postdata = wp_slash( $postdata );
671
 
672
  if ( 'attachment' == $postdata['post_type'] ) {
673
- $remote_url = ! empty($post['attachment_url']) ? $post['attachment_url'] : $post['guid'];
674
 
675
  // try to use _wp_attached file for upload folder placement to ensure the same location as the export site
676
  // e.g. location is 2003/05/image.jpg but the attachment post_date is 2010/09, see media_handle_upload()
677
  $postdata['upload_date'] = $post['post_date'];
678
  if ( isset( $post['postmeta'] ) ) {
679
- foreach( $post['postmeta'] as $meta ) {
680
  if ( $meta['key'] == '_wp_attached_file' ) {
681
- if ( preg_match( '%^[0-9]{4}/[0-9]{2}%', $meta['value'], $matches ) )
682
  $postdata['upload_date'] = $matches[0];
 
683
  break;
684
  }
685
  }
@@ -692,23 +756,29 @@ class TG_WXR_Importer extends WP_Importer {
692
  }
693
 
694
  if ( is_wp_error( $post_id ) ) {
695
- printf( __( 'Failed to import %s &#8220;%s&#8221;', 'themegrill-demo-importer' ),
696
- $post_type_object->labels->singular_name, esc_html($post['post_title']) );
697
- if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG )
 
 
 
698
  echo ': ' . $post_id->get_error_message();
 
699
  echo '<br />';
700
  continue;
701
  }
702
 
703
- if ( $post['is_sticky'] == 1 )
704
  stick_post( $post_id );
 
705
  }
706
 
707
  // map pre-import ID to local ID
708
- $this->processed_posts[intval($post['post_id'])] = (int) $post_id;
709
 
710
- if ( ! isset( $post['terms'] ) )
711
  $post['terms'] = array();
 
712
 
713
  $post['terms'] = apply_filters( 'wp_import_post_terms', $post['terms'], $post_id, $post );
714
 
@@ -717,24 +787,25 @@ class TG_WXR_Importer extends WP_Importer {
717
  $terms_to_set = array();
718
  foreach ( $post['terms'] as $term ) {
719
  // back compat with WXR 1.0 map 'tag' to 'post_tag'
720
- $taxonomy = ( 'tag' == $term['domain'] ) ? 'post_tag' : $term['domain'];
721
  $term_exists = term_exists( $term['slug'], $taxonomy );
722
- $term_id = is_array( $term_exists ) ? $term_exists['term_id'] : $term_exists;
723
  if ( ! $term_id ) {
724
  $t = wp_insert_term( $term['name'], $taxonomy, array( 'slug' => $term['slug'] ) );
725
  if ( ! is_wp_error( $t ) ) {
726
  $term_id = $t['term_id'];
727
  do_action( 'wp_import_insert_term', $t, $term, $post_id, $post );
728
  } else {
729
- printf( __( 'Failed to import %s %s', 'themegrill-demo-importer' ), esc_html($taxonomy), esc_html($term['name']) );
730
- if ( defined('IMPORT_DEBUG') && IMPORT_DEBUG )
731
  echo ': ' . $t->get_error_message();
 
732
  echo '<br />';
733
  do_action( 'wp_import_insert_term_failed', $t, $term, $post_id, $post );
734
  continue;
735
  }
736
  }
737
- $terms_to_set[$taxonomy][] = intval( $term_id );
738
  }
739
 
740
  foreach ( $terms_to_set as $tax => $ids ) {
@@ -744,47 +815,50 @@ class TG_WXR_Importer extends WP_Importer {
744
  unset( $post['terms'], $terms_to_set );
745
  }
746
 
747
- if ( ! isset( $post['comments'] ) )
748
  $post['comments'] = array();
 
749
 
750
  $post['comments'] = apply_filters( 'wp_import_post_comments', $post['comments'], $post_id, $post );
751
 
752
  // add/update comments
753
  if ( ! empty( $post['comments'] ) ) {
754
- $num_comments = 0;
755
  $inserted_comments = array();
756
  foreach ( $post['comments'] as $comment ) {
757
- $comment_id = $comment['comment_id'];
758
- $newcomments[$comment_id]['comment_post_ID'] = $comment_post_ID;
759
- $newcomments[$comment_id]['comment_author'] = $comment['comment_author'];
760
- $newcomments[$comment_id]['comment_author_email'] = $comment['comment_author_email'];
761
- $newcomments[$comment_id]['comment_author_IP'] = $comment['comment_author_IP'];
762
- $newcomments[$comment_id]['comment_author_url'] = $comment['comment_author_url'];
763
- $newcomments[$comment_id]['comment_date'] = $comment['comment_date'];
764
- $newcomments[$comment_id]['comment_date_gmt'] = $comment['comment_date_gmt'];
765
- $newcomments[$comment_id]['comment_content'] = $comment['comment_content'];
766
- $newcomments[$comment_id]['comment_approved'] = $comment['comment_approved'];
767
- $newcomments[$comment_id]['comment_type'] = $comment['comment_type'];
768
- $newcomments[$comment_id]['comment_parent'] = $comment['comment_parent'];
769
- $newcomments[$comment_id]['commentmeta'] = isset( $comment['commentmeta'] ) ? $comment['commentmeta'] : array();
770
- if ( isset( $this->processed_authors[$comment['comment_user_id']] ) )
771
- $newcomments[$comment_id]['user_id'] = $this->processed_authors[$comment['comment_user_id']];
 
772
  }
773
  ksort( $newcomments );
774
 
775
  foreach ( $newcomments as $key => $comment ) {
776
  // if this is a new post we can skip the comment_exists() check
777
  if ( ! $post_exists || ! comment_exists( $comment['comment_author'], $comment['comment_date'] ) ) {
778
- if ( isset( $inserted_comments[$comment['comment_parent']] ) )
779
- $comment['comment_parent'] = $inserted_comments[$comment['comment_parent']];
780
- $comment = wp_slash( $comment );
781
- $comment = wp_filter_comment( $comment );
782
- $inserted_comments[$key] = wp_insert_comment( $comment );
783
- do_action( 'wp_import_insert_comment', $inserted_comments[$key], $comment, $comment_post_ID, $post );
784
-
785
- foreach( $comment['commentmeta'] as $meta ) {
 
786
  $value = maybe_unserialize( $meta['value'] );
787
- add_comment_meta( $inserted_comments[$key], $meta['key'], $value );
788
  }
789
 
790
  $num_comments++;
@@ -793,35 +867,39 @@ class TG_WXR_Importer extends WP_Importer {
793
  unset( $newcomments, $inserted_comments, $post['comments'] );
794
  }
795
 
796
- if ( ! isset( $post['postmeta'] ) )
797
  $post['postmeta'] = array();
 
798
 
799
  $post['postmeta'] = apply_filters( 'wp_import_post_meta', $post['postmeta'], $post_id, $post );
800
 
801
  // add/update post meta
802
  if ( ! empty( $post['postmeta'] ) ) {
803
  foreach ( $post['postmeta'] as $meta ) {
804
- $key = apply_filters( 'import_post_meta_key', $meta['key'], $post_id, $post );
805
  $value = false;
806
 
807
  if ( '_edit_last' == $key ) {
808
- if ( isset( $this->processed_authors[intval($meta['value'])] ) )
809
- $value = $this->processed_authors[intval($meta['value'])];
810
- else
811
  $key = false;
 
812
  }
813
 
814
  if ( $key ) {
815
  // export gets meta straight from the DB so could have a serialized string
816
- if ( ! $value )
817
  $value = maybe_unserialize( $meta['value'] );
 
818
 
819
  add_post_meta( $post_id, $key, $value );
820
  do_action( 'import_post_meta', $post_id, $key, $value );
821
 
822
  // if the post has a featured image, take note of this in case of remap
823
- if ( '_thumbnail_id' == $key )
824
- $this->featured_images[$post_id] = (int) $value;
 
825
  }
826
  }
827
  }
@@ -842,11 +920,12 @@ class TG_WXR_Importer extends WP_Importer {
842
  */
843
  function process_menu_item( $item ) {
844
  // skip draft, orphaned menu items
845
- if ( 'draft' == $item['status'] )
846
  return;
 
847
 
848
  $menu_slug = false;
849
- if ( isset($item['terms']) ) {
850
  // loop through terms, assume first nav_menu term is correct menu
851
  foreach ( $item['terms'] as $term ) {
852
  if ( 'nav_menu' == $term['domain'] ) {
@@ -880,73 +959,81 @@ class TG_WXR_Importer extends WP_Importer {
880
  }
881
  }
882
 
883
- if ( 'taxonomy' == $_menu_item_type && isset( $this->processed_terms[intval($_menu_item_object_id)] ) ) {
884
- $_menu_item_object_id = $this->processed_terms[intval($_menu_item_object_id)];
885
- } else if ( 'post_type' == $_menu_item_type && isset( $this->processed_posts[intval($_menu_item_object_id)] ) ) {
886
- $_menu_item_object_id = $this->processed_posts[intval($_menu_item_object_id)];
887
- } else if ( 'custom' != $_menu_item_type ) {
888
  // associated object is missing or not imported yet, we'll retry later
889
  $this->missing_menu_items[] = $item;
890
  return;
891
  }
892
 
893
- if ( isset( $this->processed_menu_items[intval($_menu_item_menu_item_parent)] ) ) {
894
- $_menu_item_menu_item_parent = $this->processed_menu_items[intval($_menu_item_menu_item_parent)];
895
- } else if ( $_menu_item_menu_item_parent ) {
896
- $this->menu_item_orphans[intval($item['post_id'])] = (int) $_menu_item_menu_item_parent;
897
- $_menu_item_menu_item_parent = 0;
898
  }
899
 
900
  // wp_update_nav_menu_item expects CSS classes as a space separated string
901
  $_menu_item_classes = maybe_unserialize( $_menu_item_classes );
902
- if ( is_array( $_menu_item_classes ) )
903
  $_menu_item_classes = implode( ' ', $_menu_item_classes );
 
904
 
905
  $args = array(
906
- 'menu-item-object-id' => $_menu_item_object_id,
907
- 'menu-item-object' => $_menu_item_object,
908
- 'menu-item-parent-id' => $_menu_item_menu_item_parent,
909
- 'menu-item-position' => intval( $item['menu_order'] ),
910
- 'menu-item-type' => $_menu_item_type,
911
- 'menu-item-title' => $item['post_title'],
912
- 'menu-item-url' => $_menu_item_url,
913
  'menu-item-description' => $item['post_content'],
914
- 'menu-item-attr-title' => $item['post_excerpt'],
915
- 'menu-item-target' => $_menu_item_target,
916
- 'menu-item-classes' => $_menu_item_classes,
917
- 'menu-item-xfn' => $_menu_item_xfn,
918
- 'menu-item-status' => $item['status']
919
  );
920
 
921
  $id = wp_update_nav_menu_item( $menu_id, 0, $args );
922
- if ( $id && ! is_wp_error( $id ) )
923
- $this->processed_menu_items[intval($item['post_id'])] = (int) $id;
 
924
  }
925
 
926
  /**
927
  * If fetching attachments is enabled then attempt to create a new attachment
928
  *
929
- * @param array $post Attachment post details from WXR
930
  * @param string $url URL to fetch attachment from
931
  * @return int|WP_Error Post ID on success, WP_Error otherwise
932
  */
933
  function process_attachment( $post, $url ) {
934
- if ( ! $this->fetch_attachments )
935
- return new WP_Error( 'attachment_processing_error',
936
- __( 'Fetching attachments is not enabled', 'themegrill-demo-importer' ) );
 
 
 
937
 
938
  // if the URL is absolute, but does not contain address, then upload it assuming base_site_url
939
- if ( preg_match( '|^/[\w\W]+$|', $url ) )
940
  $url = rtrim( $this->base_url, '/' ) . $url;
 
941
 
942
  $upload = $this->fetch_remote_file( $url, $post );
943
- if ( is_wp_error( $upload ) )
944
  return $upload;
 
945
 
946
- if ( $info = wp_check_filetype( $upload['file'] ) )
947
  $post['post_mime_type'] = $info['type'];
948
- else
949
- return new WP_Error( 'attachment_processing_error', __('Invalid file type', 'themegrill-demo-importer') );
 
950
 
951
  $post['guid'] = $upload['url'];
952
 
@@ -957,12 +1044,12 @@ class TG_WXR_Importer extends WP_Importer {
957
  // remap resized image URLs, works by stripping the extension and remapping the URL stub.
958
  if ( preg_match( '!^image/!', $info['type'] ) ) {
959
  $parts = pathinfo( $url );
960
- $name = basename( $parts['basename'], ".{$parts['extension']}" ); // PATHINFO_FILENAME in PHP 5.2
961
 
962
  $parts_new = pathinfo( $upload['url'] );
963
- $name_new = basename( $parts_new['basename'], ".{$parts_new['extension']}" );
964
 
965
- $this->url_remap[$parts['dirname'] . '/' . $name] = $parts_new['dirname'] . '/' . $name_new;
966
  }
967
 
968
  return $post_id;
@@ -972,7 +1059,7 @@ class TG_WXR_Importer extends WP_Importer {
972
  * Attempt to download a remote file attachment
973
  *
974
  * @param string $url URL of item to fetch
975
- * @param array $post Attachment details
976
  * @return array|WP_Error Local file location details on success, WP_Error otherwise
977
  */
978
  function fetch_remote_file( $url, $post ) {
@@ -981,22 +1068,26 @@ class TG_WXR_Importer extends WP_Importer {
981
 
982
  // get placeholder file in the upload dir with a unique, sanitized filename
983
  $upload = wp_upload_bits( $file_name, 0, '', $post['upload_date'] );
984
- if ( $upload['error'] )
985
  return new WP_Error( 'upload_dir_error', $upload['error'] );
 
986
 
987
  // fetch the remote url and write it to the placeholder file
988
- $remote_response = wp_safe_remote_get( $url, array(
989
- 'timeout' => 300,
990
- 'stream' => true,
991
- 'filename' => $upload['file'],
992
- ) );
 
 
 
993
 
994
  $headers = wp_remote_retrieve_headers( $remote_response );
995
 
996
  // request failed
997
  if ( ! $headers ) {
998
  @unlink( $upload['file'] );
999
- return new WP_Error( 'import_file_error', __('Remote server did not respond', 'themegrill-demo-importer') );
1000
  }
1001
 
1002
  $remote_response_code = wp_remote_retrieve_response_code( $remote_response );
@@ -1004,33 +1095,34 @@ class TG_WXR_Importer extends WP_Importer {
1004
  // make sure the fetch was successful
1005
  if ( $remote_response_code != '200' ) {
1006
  @unlink( $upload['file'] );
1007
- return new WP_Error( 'import_file_error', sprintf( __('Remote server returned error response %1$d %2$s', 'themegrill-demo-importer'), esc_html($remote_response_code), get_status_header_desc($remote_response_code) ) );
1008
  }
1009
 
1010
  $filesize = filesize( $upload['file'] );
1011
 
1012
  if ( isset( $headers['content-length'] ) && $filesize != $headers['content-length'] ) {
1013
  @unlink( $upload['file'] );
1014
- return new WP_Error( 'import_file_error', __('Remote file is incorrect size', 'themegrill-demo-importer') );
1015
  }
1016
 
1017
  if ( 0 == $filesize ) {
1018
  @unlink( $upload['file'] );
1019
- return new WP_Error( 'import_file_error', __('Zero size file downloaded', 'themegrill-demo-importer') );
1020
  }
1021
 
1022
  $max_size = (int) $this->max_attachment_size();
1023
  if ( ! empty( $max_size ) && $filesize > $max_size ) {
1024
  @unlink( $upload['file'] );
1025
- return new WP_Error( 'import_file_error', sprintf(__('Remote file is too large, limit is %s', 'themegrill-demo-importer'), size_format($max_size) ) );
1026
  }
1027
 
1028
  // keep track of the old and new urls so we can substitute them later
1029
- $this->url_remap[$url] = $upload['url'];
1030
- $this->url_remap[$post['guid']] = $upload['url']; // r13735, really needed?
1031
  // keep track of the destination if the remote url is redirected somewhere else
1032
- if ( isset($headers['x-final-location']) && $headers['x-final-location'] != $url )
1033
- $this->url_remap[$headers['x-final-location']] = $upload['url'];
 
1034
 
1035
  return $upload;
1036
  }
@@ -1048,10 +1140,12 @@ class TG_WXR_Importer extends WP_Importer {
1048
  // find parents for post orphans
1049
  foreach ( $this->post_orphans as $child_id => $parent_id ) {
1050
  $local_child_id = $local_parent_id = false;
1051
- if ( isset( $this->processed_posts[$child_id] ) )
1052
- $local_child_id = $this->processed_posts[$child_id];
1053
- if ( isset( $this->processed_posts[$parent_id] ) )
1054
- $local_parent_id = $this->processed_posts[$parent_id];
 
 
1055
 
1056
  if ( $local_child_id && $local_parent_id ) {
1057
  $wpdb->update( $wpdb->posts, array( 'post_parent' => $local_parent_id ), array( 'ID' => $local_child_id ), '%d', '%d' );
@@ -1061,19 +1155,23 @@ class TG_WXR_Importer extends WP_Importer {
1061
 
1062
  // all other posts/terms are imported, retry menu items with missing associated object
1063
  $missing_menu_items = $this->missing_menu_items;
1064
- foreach ( $missing_menu_items as $item )
1065
  $this->process_menu_item( $item );
 
1066
 
1067
  // find parents for menu item orphans
1068
  foreach ( $this->menu_item_orphans as $child_id => $parent_id ) {
1069
  $local_child_id = $local_parent_id = 0;
1070
- if ( isset( $this->processed_menu_items[$child_id] ) )
1071
- $local_child_id = $this->processed_menu_items[$child_id];
1072
- if ( isset( $this->processed_menu_items[$parent_id] ) )
1073
- $local_parent_id = $this->processed_menu_items[$parent_id];
 
 
1074
 
1075
- if ( $local_child_id && $local_parent_id )
1076
  update_post_meta( $local_child_id, '_menu_item_menu_item_parent', (int) $local_parent_id );
 
1077
  }
1078
  }
1079
 
@@ -1083,13 +1181,13 @@ class TG_WXR_Importer extends WP_Importer {
1083
  function backfill_attachment_urls() {
1084
  global $wpdb;
1085
  // make sure we do the longest urls first, in case one is a substring of another
1086
- uksort( $this->url_remap, array(&$this, 'cmpr_strlen') );
1087
 
1088
  foreach ( $this->url_remap as $from_url => $to_url ) {
1089
  // remap urls in post_content
1090
- $wpdb->query( $wpdb->prepare("UPDATE {$wpdb->posts} SET post_content = REPLACE(post_content, %s, %s)", $from_url, $to_url) );
1091
  // remap enclosure urls
1092
- $result = $wpdb->query( $wpdb->prepare("UPDATE {$wpdb->postmeta} SET meta_value = REPLACE(meta_value, %s, %s) WHERE meta_key='enclosure'", $from_url, $to_url) );
1093
  }
1094
  }
1095
 
@@ -1099,11 +1197,12 @@ class TG_WXR_Importer extends WP_Importer {
1099
  function remap_featured_images() {
1100
  // cycle through posts that have a featured image
1101
  foreach ( $this->featured_images as $post_id => $value ) {
1102
- if ( isset( $this->processed_posts[$value] ) ) {
1103
- $new_id = $this->processed_posts[$value];
1104
  // only update if there's a difference
1105
- if ( $new_id != $value )
1106
  update_post_meta( $post_id, '_thumbnail_id', $new_id );
 
1107
  }
1108
  }
1109
  }
@@ -1124,10 +1223,10 @@ class TG_WXR_Importer extends WP_Importer {
1124
  echo '<div class="wrap">';
1125
  echo '<h2>' . __( 'Import WordPress', 'themegrill-demo-importer' ) . '</h2>';
1126
 
1127
- $updates = get_plugin_updates();
1128
- $basename = plugin_basename(__FILE__);
1129
- if ( isset( $updates[$basename] ) ) {
1130
- $update = $updates[$basename];
1131
  echo '<div class="error"><p><strong>';
1132
  printf( __( 'A new version of this importer is available. Please update to version %s to ensure compatibility with newer export files.', 'themegrill-demo-importer' ), $update->update->new_version );
1133
  echo '</strong></p></div>';
@@ -1144,8 +1243,8 @@ class TG_WXR_Importer extends WP_Importer {
1144
  */
1145
  function greet() {
1146
  echo '<div class="narrow">';
1147
- echo '<p>'.__( 'Howdy! Upload your WordPress eXtended RSS (WXR) file and we&#8217;ll import the posts, pages, comments, custom fields, categories, and tags into this site.', 'themegrill-demo-importer' ).'</p>';
1148
- echo '<p>'.__( 'Choose a WXR (.xml) file to upload, then click Upload file and import.', 'themegrill-demo-importer' ).'</p>';
1149
  wp_import_upload_form( 'admin.php?import=wordpress&amp;step=1' );
1150
  echo '</div>';
1151
  }
@@ -1159,8 +1258,9 @@ class TG_WXR_Importer extends WP_Importer {
1159
  function is_valid_meta_key( $key ) {
1160
  // skip attachment metadata since we'll regenerate it from scratch
1161
  // skip _edit_lock as not relevant for import
1162
- if ( in_array( $key, array( '_wp_attached_file', '_wp_attachment_metadata', '_edit_lock' ) ) )
1163
  return false;
 
1164
  return $key;
1165
  }
1166
 
@@ -1197,6 +1297,7 @@ class TG_WXR_Importer extends WP_Importer {
1197
 
1198
  /**
1199
  * Added to http_request_timeout filter to force timeout at 60 seconds during import
 
1200
  * @return int 60
1201
  */
1202
  function bump_request_timeout( $val ) {
@@ -1205,6 +1306,6 @@ class TG_WXR_Importer extends WP_Importer {
1205
 
1206
  // return the difference in length between two strings
1207
  function cmpr_strlen( $a, $b ) {
1208
- return strlen($b) - strlen($a);
1209
  }
1210
  }
5
  * Code adapted from the "WordPress Importer" plugin.
6
  *
7
  * @extends WP_Importer
8
+ * @package Importer\Classes
9
  * @version 1.0.0
10
  */
11
 
33
 
34
  // information to import from WXR file
35
  var $version;
36
+ var $authors = array();
37
+ var $posts = array();
38
+ var $terms = array();
39
  var $categories = array();
40
+ var $tags = array();
41
+ var $base_url = '';
42
 
43
  // mappings from old information to new
44
+ var $processed_authors = array();
45
+ var $author_mapping = array();
46
+ var $processed_terms = array();
47
+ var $processed_posts = array();
48
+ var $post_orphans = array();
49
  var $processed_menu_items = array();
50
+ var $menu_item_orphans = array();
51
+ var $missing_menu_items = array();
52
 
53
  var $fetch_attachments = false;
54
+ var $url_remap = array();
55
+ var $featured_images = array();
56
 
57
  /**
58
  * Registered callback function for the WordPress Importer
69
  break;
70
  case 1:
71
  check_admin_referer( 'import-upload' );
72
+ if ( $this->handle_upload() ) {
73
  $this->import_options();
74
+ }
75
  break;
76
  case 2:
77
  check_admin_referer( 'import-wordpress' );
78
  $this->fetch_attachments = ( ! empty( $_POST['fetch_attachments'] ) && $this->allow_fetch_attachments() );
79
+ $this->id = (int) $_POST['import_id'];
80
+ $file = get_attached_file( $this->id );
81
+ set_time_limit( 0 );
82
  $this->import( $file );
83
  break;
84
  }
120
  * @param string $file Path to the WXR file for importing
121
  */
122
  function import_start( $file ) {
123
+ if ( ! is_file( $file ) ) {
124
  echo '<p><strong>' . __( 'Sorry, there has been an error.', 'themegrill-demo-importer' ) . '</strong><br />';
125
  echo __( 'The file does not exist, please try again.', 'themegrill-demo-importer' ) . '</p>';
126
  $this->footer();
138
 
139
  $this->version = $import_data['version'];
140
  $this->get_authors_from_import( $import_data );
141
+ $this->posts = $import_data['posts'];
142
+ $this->terms = $import_data['terms'];
143
  $this->categories = $import_data['categories'];
144
+ $this->tags = $import_data['tags'];
145
+ $this->base_url = esc_url( $import_data['base_url'] );
146
 
147
  wp_defer_term_counting( true );
148
  wp_defer_comment_counting( true );
184
  echo '<p><strong>' . __( 'Sorry, there has been an error.', 'themegrill-demo-importer' ) . '</strong><br />';
185
  echo esc_html( $file['error'] ) . '</p>';
186
  return false;
187
+ } elseif ( ! file_exists( $file['file'] ) ) {
188
  echo '<p><strong>' . __( 'Sorry, there has been an error.', 'themegrill-demo-importer' ) . '</strong><br />';
189
  printf( __( 'The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem.', 'themegrill-demo-importer' ), esc_html( $file['file'] ) );
190
  echo '</p>';
191
  return false;
192
  }
193
 
194
+ $this->id = (int) $file['id'];
195
  $import_data = $this->parse( $file['file'] );
196
  if ( is_wp_error( $import_data ) ) {
197
  echo '<p><strong>' . __( 'Sorry, there has been an error.', 'themegrill-demo-importer' ) . '</strong><br />';
202
  $this->version = $import_data['version'];
203
  if ( $this->version > $this->max_wxr_version ) {
204
  echo '<div class="error"><p><strong>';
205
+ printf( __( 'This WXR file (version %s) may not be supported by this version of the importer. Please consider updating.', 'themegrill-demo-importer' ), esc_html( $import_data['version'] ) );
206
  echo '</strong></p></div>';
207
  }
208
 
222
  function get_authors_from_import( $import_data ) {
223
  if ( ! empty( $import_data['authors'] ) ) {
224
  $this->authors = $import_data['authors'];
225
+ // no author information, grab it from the posts
226
  } else {
227
  foreach ( $import_data['posts'] as $post ) {
228
  $login = sanitize_user( $post['post_author'], true );
232
  continue;
233
  }
234
 
235
+ if ( ! isset( $this->authors[ $login ] ) ) {
236
+ $this->authors[ $login ] = array(
237
+ 'author_login' => $login,
238
+ 'author_display_name' => $post['post_author'],
239
  );
240
+ }
241
  }
242
  }
243
  }
248
  */
249
  function import_options() {
250
  $j = 0;
251
+ ?>
252
  <form action="<?php echo admin_url( 'admin.php?import=wordpress&amp;step=2' ); ?>" method="post">
253
+ <?php wp_nonce_field( 'import-wordpress' ); ?>
254
  <input type="hidden" name="import_id" value="<?php echo $this->id; ?>" />
255
 
256
+ <?php if ( ! empty( $this->authors ) ) : ?>
257
  <h3><?php _e( 'Assign Authors', 'themegrill-demo-importer' ); ?></h3>
258
  <p><?php _e( 'To make it easier for you to edit and save the imported content, you may want to reassign the author of the imported item to an existing user of this site. For example, you may want to import all the entries as <code>admin</code>s entries.', 'themegrill-demo-importer' ); ?></p>
259
+ <?php if ( $this->allow_create_users() ) : ?>
260
+ <p><?php printf( __( 'If a new user is created by WordPress, a new password will be randomly generated and the new user&#8217;s role will be set as %s. Manually changing the new user&#8217;s details will be necessary.', 'themegrill-demo-importer' ), esc_html( get_option( 'default_role' ) ) ); ?></p>
261
  <?php endif; ?>
262
  <ol id="authors">
263
+ <?php foreach ( $this->authors as $author ) : ?>
264
  <li><?php $this->author_select( $j++, $author ); ?></li>
265
  <?php endforeach; ?>
266
  </ol>
267
  <?php endif; ?>
268
 
269
+ <?php if ( $this->allow_fetch_attachments() ) : ?>
270
  <h3><?php _e( 'Import Attachments', 'themegrill-demo-importer' ); ?></h3>
271
  <p>
272
  <input type="checkbox" value="1" name="fetch_attachments" id="import-attachments" />
276
 
277
  <p class="submit"><input type="submit" class="button" value="<?php esc_attr_e( 'Submit', 'themegrill-demo-importer' ); ?>" /></p>
278
  </form>
279
+ <?php
280
  }
281
 
282
  /**
283
  * Display import options for an individual author. That is, either create
284
  * a new user based on import info or map to an existing user
285
  *
286
+ * @param int $n Index for each author in the form
287
  * @param array $author Author information, e.g. login, display name, email
288
  */
289
  function author_select( $n, $author ) {
290
  _e( 'Import author:', 'themegrill-demo-importer' );
291
  echo ' <strong>' . esc_html( $author['author_display_name'] );
292
+ if ( $this->version != '1.0' ) {
293
+ echo ' (' . esc_html( $author['author_login'] ) . ')';
294
+ }
295
  echo '</strong><br />';
296
 
297
+ if ( $this->version != '1.0' ) {
298
  echo '<div style="margin-left:18px">';
299
+ }
300
 
301
  $create_users = $this->allow_create_users();
302
  if ( $create_users ) {
308
  $value = esc_attr( sanitize_user( $author['author_login'], true ) );
309
  }
310
 
311
+ echo ' <input type="text" name="user_new[' . $n . ']" value="' . $value . '" /><br />';
312
  }
313
 
314
+ if ( ! $create_users && $this->version == '1.0' ) {
315
  _e( 'assign posts to an existing user:', 'themegrill-demo-importer' );
316
+ } else {
317
  _e( 'or assign posts to an existing user:', 'themegrill-demo-importer' );
318
+ }
319
+ wp_dropdown_users(
320
+ array(
321
+ 'name' => "user_map[$n]",
322
+ 'multi' => true,
323
+ 'show_option_all' => __(
324
+ '- Select -',
325
+ 'themegrill-demo-importer'
326
+ ),
327
+ )
328
+ );
329
+ echo '<input type="hidden" name="imported_authors[' . $n . ']" value="' . esc_attr( $author['author_login'] ) . '" />';
330
 
331
+ if ( $this->version != '1.0' ) {
332
  echo '</div>';
333
+ }
334
  }
335
 
336
  /**
339
  * or falls back to the current user in case of error with either of the previous
340
  */
341
  function get_author_mapping() {
342
+ if ( ! isset( $_POST['imported_authors'] ) ) {
343
  return;
344
+ }
345
 
346
  $create_users = $this->allow_create_users();
347
 
348
  foreach ( (array) $_POST['imported_authors'] as $i => $old_login ) {
349
  // Multisite adds strtolower to sanitize_user. Need to sanitize here to stop breakage in process_posts.
350
  $santized_old_login = sanitize_user( $old_login, true );
351
+ $old_id = isset( $this->authors[ $old_login ]['author_id'] ) ? intval( $this->authors[ $old_login ]['author_id'] ) : false;
352
 
353
+ if ( ! empty( $_POST['user_map'][ $i ] ) ) {
354
+ $user = get_userdata( intval( $_POST['user_map'][ $i ] ) );
355
  if ( isset( $user->ID ) ) {
356
+ if ( $old_id ) {
357
+ $this->processed_authors[ $old_id ] = $user->ID;
358
+ }
359
+ $this->author_mapping[ $santized_old_login ] = $user->ID;
360
  }
361
+ } elseif ( $create_users ) {
362
+ if ( ! empty( $_POST['user_new'][ $i ] ) ) {
363
+ $user_id = wp_create_user( $_POST['user_new'][ $i ], wp_generate_password() );
364
+ } elseif ( $this->version != '1.0' ) {
365
  $user_data = array(
366
+ 'user_login' => $old_login,
367
+ 'user_pass' => wp_generate_password(),
368
+ 'user_email' => isset( $this->authors[ $old_login ]['author_email'] ) ? $this->authors[ $old_login ]['author_email'] : '',
369
+ 'display_name' => $this->authors[ $old_login ]['author_display_name'],
370
+ 'first_name' => isset( $this->authors[ $old_login ]['author_first_name'] ) ? $this->authors[ $old_login ]['author_first_name'] : '',
371
+ 'last_name' => isset( $this->authors[ $old_login ]['author_last_name'] ) ? $this->authors[ $old_login ]['author_last_name'] : '',
372
  );
373
+ $user_id = wp_insert_user( $user_data );
374
  }
375
 
376
  if ( ! is_wp_error( $user_id ) ) {
377
+ if ( $old_id ) {
378
+ $this->processed_authors[ $old_id ] = $user_id;
379
+ }
380
+ $this->author_mapping[ $santized_old_login ] = $user_id;
381
  } else {
382
+ printf( __( 'Failed to create new user for %s. Their posts will be attributed to the current user.', 'themegrill-demo-importer' ), esc_html( $this->authors[ $old_login ]['author_display_name'] ) );
383
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
384
  echo ' ' . $user_id->get_error_message();
385
+ }
386
  echo '<br />';
387
  }
388
  }
389
 
390
  // failsafe: if the user_id was invalid, default to the current user
391
+ if ( ! isset( $this->author_mapping[ $santized_old_login ] ) ) {
392
+ if ( $old_id ) {
393
+ $this->processed_authors[ $old_id ] = (int) get_current_user_id();
394
+ }
395
+ $this->author_mapping[ $santized_old_login ] = (int) get_current_user_id();
396
  }
397
  }
398
  }
405
  function process_categories() {
406
  $this->categories = apply_filters( 'wp_import_categories', $this->categories );
407
 
408
+ if ( empty( $this->categories ) ) {
409
  return;
410
+ }
411
 
412
  foreach ( $this->categories as $cat ) {
413
  // if the category already exists leave it alone
414
  $term_id = term_exists( $cat['category_nicename'], 'category' );
415
  if ( $term_id ) {
416
+ if ( is_array( $term_id ) ) {
417
+ $term_id = $term_id['term_id'];
418
+ }
419
+ if ( isset( $cat['term_id'] ) ) {
420
+ $this->processed_terms[ intval( $cat['term_id'] ) ] = (int) $term_id;
421
+ }
422
  continue;
423
  }
424
 
425
+ $category_parent = empty( $cat['category_parent'] ) ? 0 : category_exists( $cat['category_parent'] );
426
  $category_description = isset( $cat['category_description'] ) ? $cat['category_description'] : '';
427
+ $catarr = array(
428
+ 'category_nicename' => $cat['category_nicename'],
429
+ 'category_parent' => $category_parent,
430
+ 'cat_name' => $cat['cat_name'],
431
+ 'category_description' => $category_description,
432
  );
433
+ $catarr = wp_slash( $catarr );
434
 
435
  $id = wp_insert_category( $catarr );
436
  if ( ! is_wp_error( $id ) ) {
437
+ if ( isset( $cat['term_id'] ) ) {
438
+ $this->processed_terms[ intval( $cat['term_id'] ) ] = $id;
439
+ }
440
  } else {
441
+ printf( __( 'Failed to import category %s', 'themegrill-demo-importer' ), esc_html( $cat['category_nicename'] ) );
442
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
443
  echo ': ' . $id->get_error_message();
444
+ }
445
  echo '<br />';
446
  continue;
447
  }
460
  function process_tags() {
461
  $this->tags = apply_filters( 'wp_import_tags', $this->tags );
462
 
463
+ if ( empty( $this->tags ) ) {
464
  return;
465
+ }
466
 
467
  foreach ( $this->tags as $tag ) {
468
  // if the tag already exists leave it alone
469
  $term_id = term_exists( $tag['tag_slug'], 'post_tag' );
470
  if ( $term_id ) {
471
+ if ( is_array( $term_id ) ) {
472
+ $term_id = $term_id['term_id'];
473
+ }
474
+ if ( isset( $tag['term_id'] ) ) {
475
+ $this->processed_terms[ intval( $tag['term_id'] ) ] = (int) $term_id;
476
+ }
477
  continue;
478
  }
479
 
480
+ $tag = wp_slash( $tag );
481
  $tag_desc = isset( $tag['tag_description'] ) ? $tag['tag_description'] : '';
482
+ $tagarr = array(
483
+ 'slug' => $tag['tag_slug'],
484
+ 'description' => $tag_desc,
485
+ );
486
 
487
  $id = wp_insert_term( $tag['tag_name'], 'post_tag', $tagarr );
488
  if ( ! is_wp_error( $id ) ) {
489
+ if ( isset( $tag['term_id'] ) ) {
490
+ $this->processed_terms[ intval( $tag['term_id'] ) ] = $id['term_id'];
491
+ }
492
  } else {
493
+ printf( __( 'Failed to import post tag %s', 'themegrill-demo-importer' ), esc_html( $tag['tag_name'] ) );
494
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
495
  echo ': ' . $id->get_error_message();
496
+ }
497
  echo '<br />';
498
  continue;
499
  }
512
  function process_terms() {
513
  $this->terms = apply_filters( 'wp_import_terms', $this->terms );
514
 
515
+ if ( empty( $this->terms ) ) {
516
  return;
517
+ }
518
 
519
  foreach ( $this->terms as $term ) {
520
  // if the term already exists in the correct taxonomy leave it alone
521
  $term_id = term_exists( $term['slug'], $term['term_taxonomy'] );
522
  if ( $term_id ) {
523
+ if ( is_array( $term_id ) ) {
524
+ $term_id = $term_id['term_id'];
525
+ }
526
+ if ( isset( $term['term_id'] ) ) {
527
+ $this->processed_terms[ intval( $term['term_id'] ) ] = (int) $term_id;
528
+ }
529
  continue;
530
  }
531
 
533
  $parent = 0;
534
  } else {
535
  $parent = term_exists( $term['term_parent'], $term['term_taxonomy'] );
536
+ if ( is_array( $parent ) ) {
537
+ $parent = $parent['term_id'];
538
+ }
539
  }
540
+ $term = wp_slash( $term );
541
  $description = isset( $term['term_description'] ) ? $term['term_description'] : '';
542
+ $termarr = array(
543
+ 'slug' => $term['slug'],
544
+ 'description' => $description,
545
+ 'parent' => intval( $parent ),
546
+ );
547
 
548
  $id = wp_insert_term( $term['term_name'], $term['term_taxonomy'], $termarr );
549
  if ( ! is_wp_error( $id ) ) {
550
+ if ( isset( $term['term_id'] ) ) {
551
+ $this->processed_terms[ intval( $term['term_id'] ) ] = $id['term_id'];
552
+ }
553
  } else {
554
+ printf( __( 'Failed to import %1$s %2$s', 'themegrill-demo-importer' ), esc_html( $term['term_taxonomy'] ), esc_html( $term['term_name'] ) );
555
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
556
  echo ': ' . $id->get_error_message();
557
+ }
558
  echo '<br />';
559
  continue;
560
  }
641
  $post = apply_filters( 'wp_import_post_data_raw', $post );
642
 
643
  if ( ! post_type_exists( $post['post_type'] ) ) {
644
+ printf(
645
+ __( 'Failed to import &#8220;%1$s&#8221;: Invalid post type %2$s', 'themegrill-demo-importer' ),
646
+ esc_html( $post['post_title'] ),
647
+ esc_html( $post['post_type'] )
648
+ );
649
  echo '<br />';
650
  do_action( 'wp_import_post_exists', $post );
651
  continue;
652
  }
653
 
654
+ if ( isset( $this->processed_posts[ $post['post_id'] ] ) && ! empty( $post['post_id'] ) ) {
655
  continue;
656
+ }
657
 
658
+ if ( $post['status'] == 'auto-draft' ) {
659
  continue;
660
+ }
661
 
662
  if ( 'nav_menu_item' == $post['post_type'] ) {
663
  $this->process_menu_item( $post );
683
  $post_exists = apply_filters( 'wp_import_existing_post', $post_exists, $post );
684
 
685
  if ( $post_exists && get_post_type( $post_exists ) == $post['post_type'] ) {
686
+ printf( __( '%1$s &#8220;%2$s&#8221; already exists.', 'themegrill-demo-importer' ), $post_type_object->labels->singular_name, esc_html( $post['post_title'] ) );
687
  echo '<br />';
688
+ $comment_post_ID = $post_id = $post_exists;
689
  $this->processed_posts[ intval( $post['post_id'] ) ] = intval( $post_exists );
690
  } else {
691
  $post_parent = (int) $post['post_parent'];
692
  if ( $post_parent ) {
693
  // if we already know the parent, map it to the new local ID
694
+ if ( isset( $this->processed_posts[ $post_parent ] ) ) {
695
+ $post_parent = $this->processed_posts[ $post_parent ];
696
+ // otherwise record the parent for later
697
  } else {
698
+ $this->post_orphans[ intval( $post['post_id'] ) ] = $post_parent;
699
+ $post_parent = 0;
700
  }
701
  }
702
 
703
  // map the post author
704
  $author = sanitize_user( $post['post_author'], true );
705
+ if ( isset( $this->author_mapping[ $author ] ) ) {
706
+ $author = $this->author_mapping[ $author ];
707
+ } else {
708
  $author = (int) get_current_user_id();
709
+ }
710
 
711
  $postdata = array(
712
+ 'import_id' => $post['post_id'],
713
+ 'post_author' => $author,
714
+ 'post_date' => $post['post_date'],
715
+ 'post_date_gmt' => $post['post_date_gmt'],
716
+ 'post_content' => $post['post_content'],
717
+ 'post_excerpt' => $post['post_excerpt'],
718
+ 'post_title' => $post['post_title'],
719
+ 'post_status' => $post['status'],
720
+ 'post_name' => $post['post_name'],
721
+ 'comment_status' => $post['comment_status'],
722
+ 'ping_status' => $post['ping_status'],
723
+ 'guid' => $post['guid'],
724
+ 'post_parent' => $post_parent,
725
+ 'menu_order' => $post['menu_order'],
726
+ 'post_type' => $post['post_type'],
727
+ 'post_password' => $post['post_password'],
728
  );
729
 
730
  $original_post_ID = $post['post_id'];
731
+ $postdata = apply_filters( 'wp_import_post_data_processed', $postdata, $post );
732
 
733
  $postdata = wp_slash( $postdata );
734
 
735
  if ( 'attachment' == $postdata['post_type'] ) {
736
+ $remote_url = ! empty( $post['attachment_url'] ) ? $post['attachment_url'] : $post['guid'];
737
 
738
  // try to use _wp_attached file for upload folder placement to ensure the same location as the export site
739
  // e.g. location is 2003/05/image.jpg but the attachment post_date is 2010/09, see media_handle_upload()
740
  $postdata['upload_date'] = $post['post_date'];
741
  if ( isset( $post['postmeta'] ) ) {
742
+ foreach ( $post['postmeta'] as $meta ) {
743
  if ( $meta['key'] == '_wp_attached_file' ) {
744
+ if ( preg_match( '%^[0-9]{4}/[0-9]{2}%', $meta['value'], $matches ) ) {
745
  $postdata['upload_date'] = $matches[0];
746
+ }
747
  break;
748
  }
749
  }
756
  }
757
 
758
  if ( is_wp_error( $post_id ) ) {
759
+ printf(
760
+ __( 'Failed to import %1$s &#8220;%2$s&#8221;', 'themegrill-demo-importer' ),
761
+ $post_type_object->labels->singular_name,
762
+ esc_html( $post['post_title'] )
763
+ );
764
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
765
  echo ': ' . $post_id->get_error_message();
766
+ }
767
  echo '<br />';
768
  continue;
769
  }
770
 
771
+ if ( $post['is_sticky'] == 1 ) {
772
  stick_post( $post_id );
773
+ }
774
  }
775
 
776
  // map pre-import ID to local ID
777
+ $this->processed_posts[ intval( $post['post_id'] ) ] = (int) $post_id;
778
 
779
+ if ( ! isset( $post['terms'] ) ) {
780
  $post['terms'] = array();
781
+ }
782
 
783
  $post['terms'] = apply_filters( 'wp_import_post_terms', $post['terms'], $post_id, $post );
784
 
787
  $terms_to_set = array();
788
  foreach ( $post['terms'] as $term ) {
789
  // back compat with WXR 1.0 map 'tag' to 'post_tag'
790
+ $taxonomy = ( 'tag' == $term['domain'] ) ? 'post_tag' : $term['domain'];
791
  $term_exists = term_exists( $term['slug'], $taxonomy );
792
+ $term_id = is_array( $term_exists ) ? $term_exists['term_id'] : $term_exists;
793
  if ( ! $term_id ) {
794
  $t = wp_insert_term( $term['name'], $taxonomy, array( 'slug' => $term['slug'] ) );
795
  if ( ! is_wp_error( $t ) ) {
796
  $term_id = $t['term_id'];
797
  do_action( 'wp_import_insert_term', $t, $term, $post_id, $post );
798
  } else {
799
+ printf( __( 'Failed to import %1$s %2$s', 'themegrill-demo-importer' ), esc_html( $taxonomy ), esc_html( $term['name'] ) );
800
+ if ( defined( 'IMPORT_DEBUG' ) && IMPORT_DEBUG ) {
801
  echo ': ' . $t->get_error_message();
802
+ }
803
  echo '<br />';
804
  do_action( 'wp_import_insert_term_failed', $t, $term, $post_id, $post );
805
  continue;
806
  }
807
  }
808
+ $terms_to_set[ $taxonomy ][] = intval( $term_id );
809
  }
810
 
811
  foreach ( $terms_to_set as $tax => $ids ) {
815
  unset( $post['terms'], $terms_to_set );
816
  }
817
 
818
+ if ( ! isset( $post['comments'] ) ) {
819
  $post['comments'] = array();
820
+ }
821
 
822
  $post['comments'] = apply_filters( 'wp_import_post_comments', $post['comments'], $post_id, $post );
823
 
824
  // add/update comments
825
  if ( ! empty( $post['comments'] ) ) {
826
+ $num_comments = 0;
827
  $inserted_comments = array();
828
  foreach ( $post['comments'] as $comment ) {
829
+ $comment_id = $comment['comment_id'];
830
+ $newcomments[ $comment_id ]['comment_post_ID'] = $comment_post_ID;
831
+ $newcomments[ $comment_id ]['comment_author'] = $comment['comment_author'];
832
+ $newcomments[ $comment_id ]['comment_author_email'] = $comment['comment_author_email'];
833
+ $newcomments[ $comment_id ]['comment_author_IP'] = $comment['comment_author_IP'];
834
+ $newcomments[ $comment_id ]['comment_author_url'] = $comment['comment_author_url'];
835
+ $newcomments[ $comment_id ]['comment_date'] = $comment['comment_date'];
836
+ $newcomments[ $comment_id ]['comment_date_gmt'] = $comment['comment_date_gmt'];
837
+ $newcomments[ $comment_id ]['comment_content'] = $comment['comment_content'];
838
+ $newcomments[ $comment_id ]['comment_approved'] = $comment['comment_approved'];
839
+ $newcomments[ $comment_id ]['comment_type'] = $comment['comment_type'];
840
+ $newcomments[ $comment_id ]['comment_parent'] = $comment['comment_parent'];
841
+ $newcomments[ $comment_id ]['commentmeta'] = isset( $comment['commentmeta'] ) ? $comment['commentmeta'] : array();
842
+ if ( isset( $this->processed_authors[ $comment['comment_user_id'] ] ) ) {
843
+ $newcomments[ $comment_id ]['user_id'] = $this->processed_authors[ $comment['comment_user_id'] ];
844
+ }
845
  }
846
  ksort( $newcomments );
847
 
848
  foreach ( $newcomments as $key => $comment ) {
849
  // if this is a new post we can skip the comment_exists() check
850
  if ( ! $post_exists || ! comment_exists( $comment['comment_author'], $comment['comment_date'] ) ) {
851
+ if ( isset( $inserted_comments[ $comment['comment_parent'] ] ) ) {
852
+ $comment['comment_parent'] = $inserted_comments[ $comment['comment_parent'] ];
853
+ }
854
+ $comment = wp_slash( $comment );
855
+ $comment = wp_filter_comment( $comment );
856
+ $inserted_comments[ $key ] = wp_insert_comment( $comment );
857
+ do_action( 'wp_import_insert_comment', $inserted_comments[ $key ], $comment, $comment_post_ID, $post );
858
+
859
+ foreach ( $comment['commentmeta'] as $meta ) {
860
  $value = maybe_unserialize( $meta['value'] );
861
+ add_comment_meta( $inserted_comments[ $key ], $meta['key'], $value );
862
  }
863
 
864
  $num_comments++;
867
  unset( $newcomments, $inserted_comments, $post['comments'] );
868
  }
869
 
870
+ if ( ! isset( $post['postmeta'] ) ) {
871
  $post['postmeta'] = array();
872
+ }
873
 
874
  $post['postmeta'] = apply_filters( 'wp_import_post_meta', $post['postmeta'], $post_id, $post );
875
 
876
  // add/update post meta
877
  if ( ! empty( $post['postmeta'] ) ) {
878
  foreach ( $post['postmeta'] as $meta ) {
879
+ $key = apply_filters( 'import_post_meta_key', $meta['key'], $post_id, $post );
880
  $value = false;
881
 
882
  if ( '_edit_last' == $key ) {
883
+ if ( isset( $this->processed_authors[ intval( $meta['value'] ) ] ) ) {
884
+ $value = $this->processed_authors[ intval( $meta['value'] ) ];
885
+ } else {
886
  $key = false;
887
+ }
888
  }
889
 
890
  if ( $key ) {
891
  // export gets meta straight from the DB so could have a serialized string
892
+ if ( ! $value ) {
893
  $value = maybe_unserialize( $meta['value'] );
894
+ }
895
 
896
  add_post_meta( $post_id, $key, $value );
897
  do_action( 'import_post_meta', $post_id, $key, $value );
898
 
899
  // if the post has a featured image, take note of this in case of remap
900
+ if ( '_thumbnail_id' == $key ) {
901
+ $this->featured_images[ $post_id ] = (int) $value;
902
+ }
903
  }
904
  }
905
  }
920
  */
921
  function process_menu_item( $item ) {
922
  // skip draft, orphaned menu items
923
+ if ( 'draft' == $item['status'] ) {
924
  return;
925
+ }
926
 
927
  $menu_slug = false;
928
+ if ( isset( $item['terms'] ) ) {
929
  // loop through terms, assume first nav_menu term is correct menu
930
  foreach ( $item['terms'] as $term ) {
931
  if ( 'nav_menu' == $term['domain'] ) {
959
  }
960
  }
961
 
962
+ if ( 'taxonomy' == $_menu_item_type && isset( $this->processed_terms[ intval( $_menu_item_object_id ) ] ) ) {
963
+ $_menu_item_object_id = $this->processed_terms[ intval( $_menu_item_object_id ) ];
964
+ } elseif ( 'post_type' == $_menu_item_type && isset( $this->processed_posts[ intval( $_menu_item_object_id ) ] ) ) {
965
+ $_menu_item_object_id = $this->processed_posts[ intval( $_menu_item_object_id ) ];
966
+ } elseif ( 'custom' != $_menu_item_type ) {
967
  // associated object is missing or not imported yet, we'll retry later
968
  $this->missing_menu_items[] = $item;
969
  return;
970
  }
971
 
972
+ if ( isset( $this->processed_menu_items[ intval( $_menu_item_menu_item_parent ) ] ) ) {
973
+ $_menu_item_menu_item_parent = $this->processed_menu_items[ intval( $_menu_item_menu_item_parent ) ];
974
+ } elseif ( $_menu_item_menu_item_parent ) {
975
+ $this->menu_item_orphans[ intval( $item['post_id'] ) ] = (int) $_menu_item_menu_item_parent;
976
+ $_menu_item_menu_item_parent = 0;
977
  }
978
 
979
  // wp_update_nav_menu_item expects CSS classes as a space separated string
980
  $_menu_item_classes = maybe_unserialize( $_menu_item_classes );
981
+ if ( is_array( $_menu_item_classes ) ) {
982
  $_menu_item_classes = implode( ' ', $_menu_item_classes );
983
+ }
984
 
985
  $args = array(
986
+ 'menu-item-object-id' => $_menu_item_object_id,
987
+ 'menu-item-object' => $_menu_item_object,
988
+ 'menu-item-parent-id' => $_menu_item_menu_item_parent,
989
+ 'menu-item-position' => intval( $item['menu_order'] ),
990
+ 'menu-item-type' => $_menu_item_type,
991
+ 'menu-item-title' => $item['post_title'],
992
+ 'menu-item-url' => $_menu_item_url,
993
  'menu-item-description' => $item['post_content'],
994
+ 'menu-item-attr-title' => $item['post_excerpt'],
995
+ 'menu-item-target' => $_menu_item_target,
996
+ 'menu-item-classes' => $_menu_item_classes,
997
+ 'menu-item-xfn' => $_menu_item_xfn,
998
+ 'menu-item-status' => $item['status'],
999
  );
1000
 
1001
  $id = wp_update_nav_menu_item( $menu_id, 0, $args );
1002
+ if ( $id && ! is_wp_error( $id ) ) {
1003
+ $this->processed_menu_items[ intval( $item['post_id'] ) ] = (int) $id;
1004
+ }
1005
  }
1006
 
1007
  /**
1008
  * If fetching attachments is enabled then attempt to create a new attachment
1009
  *
1010
+ * @param array $post Attachment post details from WXR
1011
  * @param string $url URL to fetch attachment from
1012
  * @return int|WP_Error Post ID on success, WP_Error otherwise
1013
  */
1014
  function process_attachment( $post, $url ) {
1015
+ if ( ! $this->fetch_attachments ) {
1016
+ return new WP_Error(
1017
+ 'attachment_processing_error',
1018
+ __( 'Fetching attachments is not enabled', 'themegrill-demo-importer' )
1019
+ );
1020
+ }
1021
 
1022
  // if the URL is absolute, but does not contain address, then upload it assuming base_site_url
1023
+ if ( preg_match( '|^/[\w\W]+$|', $url ) ) {
1024
  $url = rtrim( $this->base_url, '/' ) . $url;
1025
+ }
1026
 
1027
  $upload = $this->fetch_remote_file( $url, $post );
1028
+ if ( is_wp_error( $upload ) ) {
1029
  return $upload;
1030
+ }
1031
 
1032
+ if ( $info = wp_check_filetype( $upload['file'] ) ) {
1033
  $post['post_mime_type'] = $info['type'];
1034
+ } else {
1035
+ return new WP_Error( 'attachment_processing_error', __( 'Invalid file type', 'themegrill-demo-importer' ) );
1036
+ }
1037
 
1038
  $post['guid'] = $upload['url'];
1039
 
1044
  // remap resized image URLs, works by stripping the extension and remapping the URL stub.
1045
  if ( preg_match( '!^image/!', $info['type'] ) ) {
1046
  $parts = pathinfo( $url );
1047
+ $name = basename( $parts['basename'], ".{$parts['extension']}" ); // PATHINFO_FILENAME in PHP 5.2
1048
 
1049
  $parts_new = pathinfo( $upload['url'] );
1050
+ $name_new = basename( $parts_new['basename'], ".{$parts_new['extension']}" );
1051
 
1052
+ $this->url_remap[ $parts['dirname'] . '/' . $name ] = $parts_new['dirname'] . '/' . $name_new;
1053
  }
1054
 
1055
  return $post_id;
1059
  * Attempt to download a remote file attachment
1060
  *
1061
  * @param string $url URL of item to fetch
1062
+ * @param array $post Attachment details
1063
  * @return array|WP_Error Local file location details on success, WP_Error otherwise
1064
  */
1065
  function fetch_remote_file( $url, $post ) {
1068
 
1069
  // get placeholder file in the upload dir with a unique, sanitized filename
1070
  $upload = wp_upload_bits( $file_name, 0, '', $post['upload_date'] );
1071
+ if ( $upload['error'] ) {
1072
  return new WP_Error( 'upload_dir_error', $upload['error'] );
1073
+ }
1074
 
1075
  // fetch the remote url and write it to the placeholder file
1076
+ $remote_response = wp_safe_remote_get(
1077
+ $url,
1078
+ array(
1079
+ 'timeout' => 300,
1080
+ 'stream' => true,
1081
+ 'filename' => $upload['file'],
1082
+ )
1083
+ );
1084
 
1085
  $headers = wp_remote_retrieve_headers( $remote_response );
1086
 
1087
  // request failed
1088
  if ( ! $headers ) {
1089
  @unlink( $upload['file'] );
1090
+ return new WP_Error( 'import_file_error', __( 'Remote server did not respond', 'themegrill-demo-importer' ) );
1091
  }
1092
 
1093
  $remote_response_code = wp_remote_retrieve_response_code( $remote_response );
1095
  // make sure the fetch was successful
1096
  if ( $remote_response_code != '200' ) {
1097
  @unlink( $upload['file'] );
1098
+ return new WP_Error( 'import_file_error', sprintf( __( 'Remote server returned error response %1$d %2$s', 'themegrill-demo-importer' ), esc_html( $remote_response_code ), get_status_header_desc( $remote_response_code ) ) );
1099
  }
1100
 
1101
  $filesize = filesize( $upload['file'] );
1102
 
1103
  if ( isset( $headers['content-length'] ) && $filesize != $headers['content-length'] ) {
1104
  @unlink( $upload['file'] );
1105
+ return new WP_Error( 'import_file_error', __( 'Remote file is incorrect size', 'themegrill-demo-importer' ) );
1106
  }
1107
 
1108
  if ( 0 == $filesize ) {
1109
  @unlink( $upload['file'] );
1110
+ return new WP_Error( 'import_file_error', __( 'Zero size file downloaded', 'themegrill-demo-importer' ) );
1111
  }
1112
 
1113
  $max_size = (int) $this->max_attachment_size();
1114
  if ( ! empty( $max_size ) && $filesize > $max_size ) {
1115
  @unlink( $upload['file'] );
1116
+ return new WP_Error( 'import_file_error', sprintf( __( 'Remote file is too large, limit is %s', 'themegrill-demo-importer' ), size_format( $max_size ) ) );
1117
  }
1118
 
1119
  // keep track of the old and new urls so we can substitute them later
1120
+ $this->url_remap[ $url ] = $upload['url'];
1121
+ $this->url_remap[ $post['guid'] ] = $upload['url']; // r13735, really needed?
1122
  // keep track of the destination if the remote url is redirected somewhere else
1123
+ if ( isset( $headers['x-final-location'] ) && $headers['x-final-location'] != $url ) {
1124
+ $this->url_remap[ $headers['x-final-location'] ] = $upload['url'];
1125
+ }
1126
 
1127
  return $upload;
1128
  }
1140
  // find parents for post orphans
1141
  foreach ( $this->post_orphans as $child_id => $parent_id ) {
1142
  $local_child_id = $local_parent_id = false;
1143
+ if ( isset( $this->processed_posts[ $child_id ] ) ) {
1144
+ $local_child_id = $this->processed_posts[ $child_id ];
1145
+ }
1146
+ if ( isset( $this->processed_posts[ $parent_id ] ) ) {
1147
+ $local_parent_id = $this->processed_posts[ $parent_id ];
1148
+ }
1149
 
1150
  if ( $local_child_id && $local_parent_id ) {
1151
  $wpdb->update( $wpdb->posts, array( 'post_parent' => $local_parent_id ), array( 'ID' => $local_child_id ), '%d', '%d' );
1155
 
1156
  // all other posts/terms are imported, retry menu items with missing associated object
1157
  $missing_menu_items = $this->missing_menu_items;
1158
+ foreach ( $missing_menu_items as $item ) {
1159
  $this->process_menu_item( $item );
1160
+ }
1161
 
1162
  // find parents for menu item orphans
1163
  foreach ( $this->menu_item_orphans as $child_id => $parent_id ) {
1164
  $local_child_id = $local_parent_id = 0;
1165
+ if ( isset( $this->processed_menu_items[ $child_id ] ) ) {
1166
+ $local_child_id = $this->processed_menu_items[ $child_id ];
1167
+ }
1168
+ if ( isset( $this->processed_menu_items[ $parent_id ] ) ) {
1169
+ $local_parent_id = $this->processed_menu_items[ $parent_id ];
1170
+ }
1171
 
1172
+ if ( $local_child_id && $local_parent_id ) {
1173
  update_post_meta( $local_child_id, '_menu_item_menu_item_parent', (int) $local_parent_id );
1174
+ }
1175
  }
1176
  }
1177
 
1181
  function backfill_attachment_urls() {
1182
  global $wpdb;
1183
  // make sure we do the longest urls first, in case one is a substring of another
1184
+ uksort( $this->url_remap, array( &$this, 'cmpr_strlen' ) );
1185
 
1186
  foreach ( $this->url_remap as $from_url => $to_url ) {
1187
  // remap urls in post_content
1188
+ $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->posts} SET post_content = REPLACE(post_content, %s, %s)", $from_url, $to_url ) );
1189
  // remap enclosure urls
1190
+ $result = $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->postmeta} SET meta_value = REPLACE(meta_value, %s, %s) WHERE meta_key='enclosure'", $from_url, $to_url ) );
1191
  }
1192
  }
1193
 
1197
  function remap_featured_images() {
1198
  // cycle through posts that have a featured image
1199
  foreach ( $this->featured_images as $post_id => $value ) {
1200
+ if ( isset( $this->processed_posts[ $value ] ) ) {
1201
+ $new_id = $this->processed_posts[ $value ];
1202
  // only update if there's a difference
1203
+ if ( $new_id != $value ) {
1204
  update_post_meta( $post_id, '_thumbnail_id', $new_id );
1205
+ }
1206
  }
1207
  }
1208
  }
1223
  echo '<div class="wrap">';
1224
  echo '<h2>' . __( 'Import WordPress', 'themegrill-demo-importer' ) . '</h2>';
1225
 
1226
+ $updates = get_plugin_updates();
1227
+ $basename = plugin_basename( __FILE__ );
1228
+ if ( isset( $updates[ $basename ] ) ) {
1229
+ $update = $updates[ $basename ];
1230
  echo '<div class="error"><p><strong>';
1231
  printf( __( 'A new version of this importer is available. Please update to version %s to ensure compatibility with newer export files.', 'themegrill-demo-importer' ), $update->update->new_version );
1232
  echo '</strong></p></div>';
1243
  */
1244
  function greet() {
1245
  echo '<div class="narrow">';
1246
+ echo '<p>' . __( 'Howdy! Upload your WordPress eXtended RSS (WXR) file and we&#8217;ll import the posts, pages, comments, custom fields, categories, and tags into this site.', 'themegrill-demo-importer' ) . '</p>';
1247
+ echo '<p>' . __( 'Choose a WXR (.xml) file to upload, then click Upload file and import.', 'themegrill-demo-importer' ) . '</p>';
1248
  wp_import_upload_form( 'admin.php?import=wordpress&amp;step=1' );
1249
  echo '</div>';
1250
  }
1258
  function is_valid_meta_key( $key ) {
1259
  // skip attachment metadata since we'll regenerate it from scratch
1260
  // skip _edit_lock as not relevant for import
1261
+ if ( in_array( $key, array( '_wp_attached_file', '_wp_attachment_metadata', '_edit_lock' ) ) ) {
1262
  return false;
1263
+ }
1264
  return $key;
1265
  }
1266
 
1297
 
1298
  /**
1299
  * Added to http_request_timeout filter to force timeout at 60 seconds during import
1300
+ *
1301
  * @return int 60
1302
  */
1303
  function bump_request_timeout( $val ) {
1306
 
1307
  // return the difference in length between two strings
1308
  function cmpr_strlen( $a, $b ) {
1309
+ return strlen( $b ) - strlen( $a );
1310
  }
1311
  }
languages/themegrill-demo-importer.pot CHANGED
@@ -1,18 +1,18 @@
1
- # Copyright (C) 2018 ThemeGrill
2
  # This file is distributed under the GPLv3 or later.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: ThemeGrill Demo Importer 1.5.5\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://github.com/themegrill/themegrill-demo-importer/issues\n"
8
- "POT-Creation-Date: 2018-11-05 10:51:40+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2018-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
15
- "X-Generator: grunt-wp-i18n1.0.2\n"
16
 
17
  #: includes/admin/class-demo-pack-upgrader.php:35
18
  msgid "Install package not available."
@@ -51,7 +51,7 @@ msgstr ""
51
  msgid "Demo installed successfully."
52
  msgstr ""
53
 
54
- #: includes/admin/class-demo-pack-upgrader.php:118
55
  msgid "No valid demos were found."
56
  msgstr ""
57
 
@@ -82,108 +82,99 @@ msgid "Themes list"
82
  msgstr ""
83
 
84
  #: includes/admin/views/html-admin-page-importer.php:60
85
- #: includes/class-demo-importer.php:203
86
  msgid "No demos found. Try a different search."
87
  msgstr ""
88
 
89
  #: includes/admin/views/html-admin-page-importer.php:74
90
- #: includes/admin/views/html-admin-page-importer.php:147
91
  msgid "Pro"
92
  msgstr ""
93
 
94
- #: includes/admin/views/html-admin-page-importer.php:81
95
- #: includes/admin/views/html-admin-page-importer.php:154
96
  #. translators: %s: Demo author name
97
  msgid "By %s"
98
  msgstr ""
99
 
100
- #: includes/admin/views/html-admin-page-importer.php:90
101
  #. translators: %s: Demo name
102
  msgid "<span>Imported:</span> %s"
103
  msgstr ""
104
 
105
- #: includes/admin/views/html-admin-page-importer.php:99
106
- #: includes/admin/views/html-admin-page-importer.php:136
107
- #: includes/admin/views/html-admin-page-importer.php:224
108
- #: includes/class-demo-importer.php:179
109
  msgid "Live Preview"
110
  msgstr ""
111
 
112
- #: includes/admin/views/html-admin-page-importer.php:102
113
- #: includes/admin/views/html-admin-page-importer.php:129
114
- #: includes/admin/views/html-admin-page-importer.php:217
115
  msgid "Buy Now"
116
  msgstr ""
117
 
118
- #: includes/admin/views/html-admin-page-importer.php:104
119
- #: includes/admin/views/html-admin-page-importer.php:110
120
  msgid "Import"
121
  msgstr ""
122
 
123
- #: includes/admin/views/html-admin-page-importer.php:112
124
- #: includes/admin/views/html-admin-page-importer.php:250
125
  msgid "Preview"
126
  msgstr ""
127
 
128
- #: includes/admin/views/html-admin-page-importer.php:125
129
  msgid "Close"
130
  msgstr ""
131
 
132
- #: includes/admin/views/html-admin-page-importer.php:131
133
- #: includes/admin/views/html-admin-page-importer.php:138
134
- #: includes/admin/views/html-admin-page-importer.php:219
135
- #: includes/admin/views/html-admin-page-importer.php:226
136
- msgid "Import Demo"
137
- msgstr ""
138
-
139
  #: includes/admin/views/html-admin-page-importer.php:133
140
- #: includes/admin/views/html-admin-page-importer.php:221
141
- msgid "Install Plugins"
 
142
  msgstr ""
143
 
144
- #: includes/admin/views/html-admin-page-importer.php:163
 
145
  msgid "%s theme is not active."
146
  msgstr ""
147
 
148
- #: includes/admin/views/html-admin-page-importer.php:165
149
- msgid "Required Plugins must be activated."
150
- msgstr ""
151
-
152
- #: includes/admin/views/html-admin-page-importer.php:171
153
  #. translators: %s: Demo version
154
  msgid "Version: %s"
155
  msgstr ""
156
 
157
- #: includes/admin/views/html-admin-page-importer.php:178
158
  msgid "Plugins Information"
159
  msgstr ""
160
 
161
- #: includes/admin/views/html-admin-page-importer.php:183
162
  msgid "Required Plugins"
163
  msgstr ""
164
 
165
- #: includes/admin/views/html-admin-page-importer.php:206
166
  msgid "No plugins are required for this demo."
167
  msgstr ""
168
 
169
- #: includes/admin/views/html-admin-page-importer.php:230
170
- #: includes/class-demo-importer.php:204
171
  msgid "Collapse Sidebar"
172
  msgstr ""
173
 
174
- #: includes/admin/views/html-admin-page-importer.php:232
175
  msgid "Collapse"
176
  msgstr ""
177
 
178
- #: includes/admin/views/html-admin-page-importer.php:237
179
  msgid "Enter desktop preview mode"
180
  msgstr ""
181
 
182
- #: includes/admin/views/html-admin-page-importer.php:240
183
  msgid "Enter tablet preview mode"
184
  msgstr ""
185
 
186
- #: includes/admin/views/html-admin-page-importer.php:243
187
  msgid "Enter mobile preview mode"
188
  msgstr ""
189
 
@@ -207,66 +198,69 @@ msgstr ""
207
  msgid "Hide this notice"
208
  msgstr ""
209
 
210
- #: includes/class-demo-importer.php:171
211
  msgid "Importing..."
212
  msgstr ""
213
 
214
- #: includes/class-demo-importer.php:173
215
  msgid "Importing... please wait."
216
  msgstr ""
217
 
218
- #: includes/class-demo-importer.php:174
219
  msgid "Import completed successfully."
220
  msgstr ""
221
 
222
- #: includes/class-demo-importer.php:175
223
  msgid "Import Failed!"
224
  msgstr ""
225
 
226
- #: includes/class-demo-importer.php:176
227
  msgid "Import failed: %s"
228
  msgstr ""
229
 
230
- #: includes/class-demo-importer.php:181
231
  msgid "Imported!"
232
  msgstr ""
233
 
234
- #: includes/class-demo-importer.php:182
235
  msgid "Try this solution!"
236
  msgstr ""
237
 
238
- #: includes/class-demo-importer.php:192
239
  msgid ""
240
  "It is strongly recommended that you backup your database before proceeding. "
241
  "Are you sure you wish to run the reset wizard now?"
242
  msgstr ""
243
 
244
- #: includes/class-demo-importer.php:193
245
  msgid ""
246
  "Importing demo data will ensure that your site will look similar as theme "
247
  "demo. It makes you easy to modify the content instead of creating them from "
248
  "scratch. Also consider before importing theme demo: \n"
249
  "\n"
250
- "1. You need to import demo on fresh WordPress install to exactly replicate "
 
 
 
251
  "the theme demo. \n"
252
  "\n"
253
- "2. None of the posts, pages, attachments or any other data already existing "
254
  "in your site will be deleted or modified. \n"
255
  "\n"
256
- "3. Copyright images will get replaced with other placeholder images. \n"
257
  "\n"
258
- "4. It will take some time to import the theme demo."
259
  msgstr ""
260
 
261
- #: includes/class-demo-importer.php:196
262
  msgid "Search Demos"
263
  msgstr ""
264
 
265
- #: includes/class-demo-importer.php:197
266
  msgid "Search demos..."
267
  msgstr ""
268
 
269
- #: includes/class-demo-importer.php:199
270
  #. translators: %s: support forums URL
271
  msgid ""
272
  "An unexpected error occurred. Something may be wrong with ThemeGrill demo "
@@ -274,28 +268,28 @@ msgid ""
274
  "the <a href=\"%s\">support forums</a>."
275
  msgstr ""
276
 
277
- #: includes/class-demo-importer.php:200
278
  msgid "Try Again"
279
  msgstr ""
280
 
281
- #: includes/class-demo-importer.php:201
282
  msgid "Please suggest us!"
283
  msgstr ""
284
 
285
- #: includes/class-demo-importer.php:202
286
  msgid "Number of Demos found: %d"
287
  msgstr ""
288
 
289
- #: includes/class-demo-importer.php:205
290
  msgid "Expand Sidebar"
291
  msgstr ""
292
 
293
- #: includes/class-demo-importer.php:207
294
  #. translators: accessibility text
295
  msgid "Select one or more Demo features to filter by"
296
  msgstr ""
297
 
298
- #: includes/class-demo-importer.php:232
299
  #. translators: 1: ThemeGrill Demo Importer 2: five stars
300
  msgid "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!"
301
  msgstr ""
@@ -304,45 +298,45 @@ msgstr ""
304
  msgid "ThemeGrill Demo Importer"
305
  msgstr ""
306
 
307
- #: includes/class-demo-importer.php:234
308
  msgid "Thanks :)"
309
  msgstr ""
310
 
311
- #: includes/class-demo-importer.php:237
312
  msgid "Thank you for importing with ThemeGrill Demo Importer."
313
  msgstr ""
314
 
315
- #: includes/class-demo-importer.php:256 includes/class-demo-importer.php:258
316
  msgid "Help &amp; Support"
317
  msgstr ""
318
 
319
- #: includes/class-demo-importer.php:260
320
  msgid ""
321
  "Should you need help understanding, using, or extending ThemeGrill Demo "
322
  "Importer, <a href=\"%s\">please read our documentation</a>. You will find "
323
  "all kinds of resources including snippets, tutorials and much more."
324
  msgstr ""
325
 
326
- #: includes/class-demo-importer.php:264
327
  msgid ""
328
  "For further assistance with ThemeGrill Demo Importer core you can use the "
329
  "<a href=\"%1$s\">community forum</a>. If you need help with premium themes "
330
  "sold by ThemeGrill, please <a href=\"%2$s\">use our free support forum</a>."
331
  msgstr ""
332
 
333
- #: includes/class-demo-importer.php:268
334
  msgid "Community forum"
335
  msgstr ""
336
 
337
- #: includes/class-demo-importer.php:268
338
  msgid "ThemeGrill Support"
339
  msgstr ""
340
 
341
- #: includes/class-demo-importer.php:273 includes/class-demo-importer.php:275
342
  msgid "Found a bug?"
343
  msgstr ""
344
 
345
- #: includes/class-demo-importer.php:276
346
  msgid ""
347
  "If you find a bug within ThemeGrill Demo Importer you can create a ticket "
348
  "via <a href=\"%1$s\">Github issues</a>. Ensure you read the <a "
@@ -350,56 +344,56 @@ msgid ""
350
  "help us solve your issue, please be as descriptive as possible."
351
  msgstr ""
352
 
353
- #: includes/class-demo-importer.php:277
354
  msgid "Report a bug"
355
  msgstr ""
356
 
357
- #: includes/class-demo-importer.php:283 includes/class-demo-importer.php:285
358
- #: includes/class-demo-importer.php:287
359
  msgid "Reset wizard"
360
  msgstr ""
361
 
362
- #: includes/class-demo-importer.php:286
363
  msgid ""
364
  "If you need to reset the WordPress back to default again, please click on "
365
  "the button below."
366
  msgstr ""
367
 
368
- #: includes/class-demo-importer.php:291
369
  msgid "For more information:"
370
  msgstr ""
371
 
372
- #: includes/class-demo-importer.php:292
373
  msgid "About Demo Importer"
374
  msgstr ""
375
 
376
- #: includes/class-demo-importer.php:293
377
  msgid "WordPress.org project"
378
  msgstr ""
379
 
380
- #: includes/class-demo-importer.php:294
381
  msgid "Github project"
382
  msgstr ""
383
 
384
- #: includes/class-demo-importer.php:295
385
  msgid "Official themes"
386
  msgstr ""
387
 
388
- #: includes/class-demo-importer.php:296
389
  msgid "Official plugins"
390
  msgstr ""
391
 
392
- #: includes/class-demo-importer.php:326
393
  msgid "Action failed. Please refresh the page and retry."
394
  msgstr ""
395
 
396
- #: includes/class-demo-importer.php:330
397
  #: includes/class-themegrill-demo-importer.php:50
398
  #: includes/class-themegrill-demo-importer.php:59
399
  msgid "Cheatin&#8217; huh?"
400
  msgstr ""
401
 
402
- #: includes/class-demo-importer.php:484
403
  msgid "%s Pro"
404
  msgstr ""
405
 
@@ -407,28 +401,28 @@ msgstr ""
407
  msgid "ThemeGrill"
408
  msgstr ""
409
 
410
- #: includes/class-demo-importer.php:538
411
  msgid "No demo specified."
412
  msgstr ""
413
 
414
- #: includes/class-demo-importer.php:553
415
  msgid "Sorry, you are not allowed to import content."
416
  msgstr ""
417
 
418
- #: includes/class-demo-importer.php:585
419
- #: includes/functions-demo-importer.php:105
420
  msgid "Unable to connect to the filesystem. Please confirm your credentials."
421
  msgstr ""
422
 
423
- #: includes/class-demo-importer.php:669
424
  msgid "The XML file dummy content is missing."
425
  msgstr ""
426
 
427
- #: includes/class-demo-importer.php:760
428
  msgid "The DAT file customizer data is missing."
429
  msgstr ""
430
 
431
- #: includes/class-demo-importer.php:785
432
  msgid "The WIE file widget content is missing."
433
  msgstr ""
434
 
@@ -460,35 +454,35 @@ msgstr ""
460
  msgid "Official ThemeGrill Theme"
461
  msgstr ""
462
 
463
- #: includes/functions-demo-importer.php:30
464
  msgid "No plugin specified."
465
  msgstr ""
466
 
467
- #: includes/functions-demo-importer.php:42
468
  msgid "Sorry, you are not allowed to install plugins on this site."
469
  msgstr ""
470
 
471
- #: includes/functions-demo-importer.php:338
472
  #. translators: %s: Number of plugins
473
  msgid "%s plugin successfully installed."
474
  msgstr ""
475
 
476
- #: includes/functions-demo-importer.php:345
477
  #. translators: %s: Number of plugins
478
  msgid "%s plugins successfully installed."
479
  msgstr ""
480
 
481
- #: includes/functions-demo-importer.php:355
482
  #. translators: %s: Number of failed installs
483
  msgid "%s install failed."
484
  msgstr ""
485
 
486
- #: includes/functions-demo-importer.php:360
487
  #. translators: %s: Number of failed installs
488
  msgid "%s installs failed."
489
  msgstr ""
490
 
491
- #: includes/functions-demo-importer.php:363
492
  msgid "Show more details"
493
  msgstr ""
494
 
@@ -532,53 +526,53 @@ msgstr ""
532
  msgid "No Title"
533
  msgstr ""
534
 
535
- #: includes/importers/wordpress-importer/class-wxr-importer.php:123
536
- #: includes/importers/wordpress-importer/class-wxr-importer.php:132
537
- #: includes/importers/wordpress-importer/class-wxr-importer.php:183
538
- #: includes/importers/wordpress-importer/class-wxr-importer.php:187
539
- #: includes/importers/wordpress-importer/class-wxr-importer.php:196
540
  msgid "Sorry, there has been an error."
541
  msgstr ""
542
 
543
- #: includes/importers/wordpress-importer/class-wxr-importer.php:124
544
  msgid "The file does not exist, please try again."
545
  msgstr ""
546
 
547
- #: includes/importers/wordpress-importer/class-wxr-importer.php:167
548
  msgid "All done."
549
  msgstr ""
550
 
551
- #: includes/importers/wordpress-importer/class-wxr-importer.php:167
552
  msgid "Have fun!"
553
  msgstr ""
554
 
555
- #: includes/importers/wordpress-importer/class-wxr-importer.php:168
556
  msgid "Remember to update the passwords and roles of imported users."
557
  msgstr ""
558
 
559
- #: includes/importers/wordpress-importer/class-wxr-importer.php:188
560
  msgid ""
561
  "The export file could not be found at <code>%s</code>. It is likely that "
562
  "this was caused by a permissions problem."
563
  msgstr ""
564
 
565
- #: includes/importers/wordpress-importer/class-wxr-importer.php:204
566
  msgid ""
567
  "This WXR file (version %s) may not be supported by this version of the "
568
  "importer. Please consider updating."
569
  msgstr ""
570
 
571
- #: includes/importers/wordpress-importer/class-wxr-importer.php:229
572
  msgid ""
573
  "Failed to import author %s. Their posts will be attributed to the current "
574
  "user."
575
  msgstr ""
576
 
577
- #: includes/importers/wordpress-importer/class-wxr-importer.php:255
578
  msgid "Assign Authors"
579
  msgstr ""
580
 
581
- #: includes/importers/wordpress-importer/class-wxr-importer.php:256
582
  msgid ""
583
  "To make it easier for you to edit and save the imported content, you may "
584
  "want to reassign the author of the imported item to an existing user of "
@@ -586,134 +580,134 @@ msgid ""
586
  "<code>admin</code>s entries."
587
  msgstr ""
588
 
589
- #: includes/importers/wordpress-importer/class-wxr-importer.php:258
590
  msgid ""
591
  "If a new user is created by WordPress, a new password will be randomly "
592
  "generated and the new user&#8217;s role will be set as %s. Manually "
593
  "changing the new user&#8217;s details will be necessary."
594
  msgstr ""
595
 
596
- #: includes/importers/wordpress-importer/class-wxr-importer.php:268
597
  msgid "Import Attachments"
598
  msgstr ""
599
 
600
- #: includes/importers/wordpress-importer/class-wxr-importer.php:271
601
  msgid "Download and import file attachments"
602
  msgstr ""
603
 
604
- #: includes/importers/wordpress-importer/class-wxr-importer.php:275
605
  msgid "Submit"
606
  msgstr ""
607
 
608
- #: includes/importers/wordpress-importer/class-wxr-importer.php:288
609
  msgid "Import author:"
610
  msgstr ""
611
 
612
- #: includes/importers/wordpress-importer/class-wxr-importer.php:299
613
  msgid "or create new user with login name:"
614
  msgstr ""
615
 
616
- #: includes/importers/wordpress-importer/class-wxr-importer.php:302
617
  msgid "as a new user:"
618
  msgstr ""
619
 
620
- #: includes/importers/wordpress-importer/class-wxr-importer.php:310
621
  msgid "assign posts to an existing user:"
622
  msgstr ""
623
 
624
- #: includes/importers/wordpress-importer/class-wxr-importer.php:312
625
  msgid "or assign posts to an existing user:"
626
  msgstr ""
627
 
628
- #: includes/importers/wordpress-importer/class-wxr-importer.php:313
629
  msgid "- Select -"
630
  msgstr ""
631
 
632
- #: includes/importers/wordpress-importer/class-wxr-importer.php:363
633
  msgid ""
634
  "Failed to create new user for %s. Their posts will be attributed to the "
635
  "current user."
636
  msgstr ""
637
 
638
- #: includes/importers/wordpress-importer/class-wxr-importer.php:415
639
  msgid "Failed to import category %s"
640
  msgstr ""
641
 
642
- #: includes/importers/wordpress-importer/class-wxr-importer.php:458
643
  msgid "Failed to import post tag %s"
644
  msgstr ""
645
 
646
- #: includes/importers/wordpress-importer/class-wxr-importer.php:507
647
- #: includes/importers/wordpress-importer/class-wxr-importer.php:729
648
- msgid "Failed to import %s %s"
649
  msgstr ""
650
 
651
- #: includes/importers/wordpress-importer/class-wxr-importer.php:596
652
- msgid "Failed to import &#8220;%s&#8221;: Invalid post type %s"
653
  msgstr ""
654
 
655
- #: includes/importers/wordpress-importer/class-wxr-importer.php:633
656
- msgid "%s &#8220;%s&#8221; already exists."
657
  msgstr ""
658
 
659
- #: includes/importers/wordpress-importer/class-wxr-importer.php:695
660
- msgid "Failed to import %s &#8220;%s&#8221;"
661
  msgstr ""
662
 
663
- #: includes/importers/wordpress-importer/class-wxr-importer.php:861
664
  msgid "Menu item skipped due to missing menu slug"
665
  msgstr ""
666
 
667
- #: includes/importers/wordpress-importer/class-wxr-importer.php:868
668
  msgid "Menu item skipped due to invalid menu slug: %s"
669
  msgstr ""
670
 
671
- #: includes/importers/wordpress-importer/class-wxr-importer.php:936
672
  msgid "Fetching attachments is not enabled"
673
  msgstr ""
674
 
675
- #: includes/importers/wordpress-importer/class-wxr-importer.php:949
676
  msgid "Invalid file type"
677
  msgstr ""
678
 
679
- #: includes/importers/wordpress-importer/class-wxr-importer.php:999
680
  msgid "Remote server did not respond"
681
  msgstr ""
682
 
683
- #: includes/importers/wordpress-importer/class-wxr-importer.php:1007
684
  msgid "Remote server returned error response %1$d %2$s"
685
  msgstr ""
686
 
687
- #: includes/importers/wordpress-importer/class-wxr-importer.php:1014
688
  msgid "Remote file is incorrect size"
689
  msgstr ""
690
 
691
- #: includes/importers/wordpress-importer/class-wxr-importer.php:1019
692
  msgid "Zero size file downloaded"
693
  msgstr ""
694
 
695
- #: includes/importers/wordpress-importer/class-wxr-importer.php:1025
696
  msgid "Remote file is too large, limit is %s"
697
  msgstr ""
698
 
699
- #: includes/importers/wordpress-importer/class-wxr-importer.php:1125
700
  msgid "Import WordPress"
701
  msgstr ""
702
 
703
- #: includes/importers/wordpress-importer/class-wxr-importer.php:1132
704
  msgid ""
705
  "A new version of this importer is available. Please update to version %s to "
706
  "ensure compatibility with newer export files."
707
  msgstr ""
708
 
709
- #: includes/importers/wordpress-importer/class-wxr-importer.php:1147
710
  msgid ""
711
  "Howdy! Upload your WordPress eXtended RSS (WXR) file and we&#8217;ll import "
712
  "the posts, pages, comments, custom fields, categories, and tags into this "
713
  "site."
714
  msgstr ""
715
 
716
- #: includes/importers/wordpress-importer/class-wxr-importer.php:1148
717
  msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
718
  msgstr ""
719
 
@@ -750,48 +744,43 @@ msgstr ""
750
  msgid "https://themegrill.com"
751
  msgstr ""
752
 
753
- #: includes/admin/views/html-admin-page-importer.php:77
754
- msgctxt "demo"
755
- msgid "Details &amp; Preview"
756
- msgstr ""
757
-
758
- #: includes/admin/views/html-admin-page-importer.php:108
759
  #. translators: %s: Demo name
760
  msgctxt "demo"
761
  msgid "Import %s"
762
  msgstr ""
763
 
764
- #: includes/admin/views/html-admin-page-importer.php:118
765
  msgctxt "demo"
766
  msgid "Imported"
767
  msgstr ""
768
 
769
- #: includes/class-demo-importer.php:172
770
  msgctxt "demo"
771
  msgid "Importing %s..."
772
  msgstr ""
773
 
774
- #: includes/class-demo-importer.php:177
775
  msgctxt "demo"
776
  msgid "%s imported!"
777
  msgstr ""
778
 
779
- #: includes/class-demo-importer.php:178
780
  msgctxt "demo"
781
  msgid "%s import failed"
782
  msgstr ""
783
 
784
- #: includes/class-demo-importer.php:180
785
  msgctxt "demo"
786
  msgid "Live Preview %s"
787
  msgstr ""
788
 
789
- #: includes/admin/views/html-admin-page-importer.php:126
790
  msgctxt "Button label for a demo"
791
  msgid "Previous"
792
  msgstr ""
793
 
794
- #: includes/admin/views/html-admin-page-importer.php:127
795
  msgctxt "Button label for a demo"
796
  msgid "Next"
797
  msgstr ""
1
+ # Copyright (C) 2019 ThemeGrill
2
  # This file is distributed under the GPLv3 or later.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: ThemeGrill Demo Importer 1.5.6\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://github.com/themegrill/themegrill-demo-importer/issues\n"
8
+ "POT-Creation-Date: 2019-02-14 11:36:33+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
15
+ "X-Generator: grunt-wp-i18n 1.0.3\n"
16
 
17
  #: includes/admin/class-demo-pack-upgrader.php:35
18
  msgid "Install package not available."
51
  msgid "Demo installed successfully."
52
  msgstr ""
53
 
54
+ #: includes/admin/class-demo-pack-upgrader.php:121
55
  msgid "No valid demos were found."
56
  msgstr ""
57
 
82
  msgstr ""
83
 
84
  #: includes/admin/views/html-admin-page-importer.php:60
85
+ #: includes/class-demo-importer.php:210
86
  msgid "No demos found. Try a different search."
87
  msgstr ""
88
 
89
  #: includes/admin/views/html-admin-page-importer.php:74
90
+ #: includes/admin/views/html-admin-page-importer.php:142
91
  msgid "Pro"
92
  msgstr ""
93
 
94
+ #: includes/admin/views/html-admin-page-importer.php:80
95
+ #: includes/admin/views/html-admin-page-importer.php:149
96
  #. translators: %s: Demo author name
97
  msgid "By %s"
98
  msgstr ""
99
 
100
+ #: includes/admin/views/html-admin-page-importer.php:89
101
  #. translators: %s: Demo name
102
  msgid "<span>Imported:</span> %s"
103
  msgstr ""
104
 
105
+ #: includes/admin/views/html-admin-page-importer.php:98
106
+ #: includes/admin/views/html-admin-page-importer.php:131
107
+ #: includes/admin/views/html-admin-page-importer.php:218
108
+ #: includes/class-demo-importer.php:182
109
  msgid "Live Preview"
110
  msgstr ""
111
 
112
+ #: includes/admin/views/html-admin-page-importer.php:101
113
+ #: includes/admin/views/html-admin-page-importer.php:126
114
+ #: includes/admin/views/html-admin-page-importer.php:213
115
  msgid "Buy Now"
116
  msgstr ""
117
 
118
+ #: includes/admin/views/html-admin-page-importer.php:107
 
119
  msgid "Import"
120
  msgstr ""
121
 
122
+ #: includes/admin/views/html-admin-page-importer.php:109
123
+ #: includes/admin/views/html-admin-page-importer.php:244
124
  msgid "Preview"
125
  msgstr ""
126
 
127
+ #: includes/admin/views/html-admin-page-importer.php:122
128
  msgid "Close"
129
  msgstr ""
130
 
131
+ #: includes/admin/views/html-admin-page-importer.php:128
 
 
 
 
 
 
132
  #: includes/admin/views/html-admin-page-importer.php:133
133
+ #: includes/admin/views/html-admin-page-importer.php:215
134
+ #: includes/admin/views/html-admin-page-importer.php:220
135
+ msgid "Import Demo"
136
  msgstr ""
137
 
138
+ #: includes/admin/views/html-admin-page-importer.php:160
139
+ #. translators: %s: Theme Name
140
  msgid "%s theme is not active."
141
  msgstr ""
142
 
143
+ #: includes/admin/views/html-admin-page-importer.php:167
 
 
 
 
144
  #. translators: %s: Demo version
145
  msgid "Version: %s"
146
  msgstr ""
147
 
148
+ #: includes/admin/views/html-admin-page-importer.php:174
149
  msgid "Plugins Information"
150
  msgstr ""
151
 
152
+ #: includes/admin/views/html-admin-page-importer.php:179
153
  msgid "Required Plugins"
154
  msgstr ""
155
 
156
+ #: includes/admin/views/html-admin-page-importer.php:202
157
  msgid "No plugins are required for this demo."
158
  msgstr ""
159
 
160
+ #: includes/admin/views/html-admin-page-importer.php:224
161
+ #: includes/class-demo-importer.php:211
162
  msgid "Collapse Sidebar"
163
  msgstr ""
164
 
165
+ #: includes/admin/views/html-admin-page-importer.php:226
166
  msgid "Collapse"
167
  msgstr ""
168
 
169
+ #: includes/admin/views/html-admin-page-importer.php:231
170
  msgid "Enter desktop preview mode"
171
  msgstr ""
172
 
173
+ #: includes/admin/views/html-admin-page-importer.php:234
174
  msgid "Enter tablet preview mode"
175
  msgstr ""
176
 
177
+ #: includes/admin/views/html-admin-page-importer.php:237
178
  msgid "Enter mobile preview mode"
179
  msgstr ""
180
 
198
  msgid "Hide this notice"
199
  msgstr ""
200
 
201
+ #: includes/class-demo-importer.php:174
202
  msgid "Importing..."
203
  msgstr ""
204
 
205
+ #: includes/class-demo-importer.php:176
206
  msgid "Importing... please wait."
207
  msgstr ""
208
 
209
+ #: includes/class-demo-importer.php:177
210
  msgid "Import completed successfully."
211
  msgstr ""
212
 
213
+ #: includes/class-demo-importer.php:178
214
  msgid "Import Failed!"
215
  msgstr ""
216
 
217
+ #: includes/class-demo-importer.php:179
218
  msgid "Import failed: %s"
219
  msgstr ""
220
 
221
+ #: includes/class-demo-importer.php:184
222
  msgid "Imported!"
223
  msgstr ""
224
 
225
+ #: includes/class-demo-importer.php:185
226
  msgid "Try this solution!"
227
  msgstr ""
228
 
229
+ #: includes/class-demo-importer.php:199
230
  msgid ""
231
  "It is strongly recommended that you backup your database before proceeding. "
232
  "Are you sure you wish to run the reset wizard now?"
233
  msgstr ""
234
 
235
+ #: includes/class-demo-importer.php:200
236
  msgid ""
237
  "Importing demo data will ensure that your site will look similar as theme "
238
  "demo. It makes you easy to modify the content instead of creating them from "
239
  "scratch. Also consider before importing theme demo: \n"
240
  "\n"
241
+ "1. It will install the required plugin as well as activate them for "
242
+ "installing theme demo. \n"
243
+ "\n"
244
+ "2. You need to import demo on fresh WordPress install to exactly replicate "
245
  "the theme demo. \n"
246
  "\n"
247
+ "3. None of the posts, pages, attachments or any other data already existing "
248
  "in your site will be deleted or modified. \n"
249
  "\n"
250
+ "4. Copyright images will get replaced with other placeholder images. \n"
251
  "\n"
252
+ "5. It will take some time to import the theme demo."
253
  msgstr ""
254
 
255
+ #: includes/class-demo-importer.php:203
256
  msgid "Search Demos"
257
  msgstr ""
258
 
259
+ #: includes/class-demo-importer.php:204
260
  msgid "Search demos..."
261
  msgstr ""
262
 
263
+ #: includes/class-demo-importer.php:206
264
  #. translators: %s: support forums URL
265
  msgid ""
266
  "An unexpected error occurred. Something may be wrong with ThemeGrill demo "
268
  "the <a href=\"%s\">support forums</a>."
269
  msgstr ""
270
 
271
+ #: includes/class-demo-importer.php:207
272
  msgid "Try Again"
273
  msgstr ""
274
 
275
+ #: includes/class-demo-importer.php:208
276
  msgid "Please suggest us!"
277
  msgstr ""
278
 
279
+ #: includes/class-demo-importer.php:209
280
  msgid "Number of Demos found: %d"
281
  msgstr ""
282
 
283
+ #: includes/class-demo-importer.php:212
284
  msgid "Expand Sidebar"
285
  msgstr ""
286
 
287
+ #: includes/class-demo-importer.php:214
288
  #. translators: accessibility text
289
  msgid "Select one or more Demo features to filter by"
290
  msgstr ""
291
 
292
+ #: includes/class-demo-importer.php:240
293
  #. translators: 1: ThemeGrill Demo Importer 2: five stars
294
  msgid "If you like %1$s please leave us a %2$s rating. A huge thanks in advance!"
295
  msgstr ""
298
  msgid "ThemeGrill Demo Importer"
299
  msgstr ""
300
 
301
+ #: includes/class-demo-importer.php:242
302
  msgid "Thanks :)"
303
  msgstr ""
304
 
305
+ #: includes/class-demo-importer.php:245
306
  msgid "Thank you for importing with ThemeGrill Demo Importer."
307
  msgstr ""
308
 
309
+ #: includes/class-demo-importer.php:265 includes/class-demo-importer.php:267
310
  msgid "Help &amp; Support"
311
  msgstr ""
312
 
313
+ #: includes/class-demo-importer.php:269
314
  msgid ""
315
  "Should you need help understanding, using, or extending ThemeGrill Demo "
316
  "Importer, <a href=\"%s\">please read our documentation</a>. You will find "
317
  "all kinds of resources including snippets, tutorials and much more."
318
  msgstr ""
319
 
320
+ #: includes/class-demo-importer.php:273
321
  msgid ""
322
  "For further assistance with ThemeGrill Demo Importer core you can use the "
323
  "<a href=\"%1$s\">community forum</a>. If you need help with premium themes "
324
  "sold by ThemeGrill, please <a href=\"%2$s\">use our free support forum</a>."
325
  msgstr ""
326
 
327
+ #: includes/class-demo-importer.php:277
328
  msgid "Community forum"
329
  msgstr ""
330
 
331
+ #: includes/class-demo-importer.php:277
332
  msgid "ThemeGrill Support"
333
  msgstr ""
334
 
335
+ #: includes/class-demo-importer.php:284 includes/class-demo-importer.php:286
336
  msgid "Found a bug?"
337
  msgstr ""
338
 
339
+ #: includes/class-demo-importer.php:287
340
  msgid ""
341
  "If you find a bug within ThemeGrill Demo Importer you can create a ticket "
342
  "via <a href=\"%1$s\">Github issues</a>. Ensure you read the <a "
344
  "help us solve your issue, please be as descriptive as possible."
345
  msgstr ""
346
 
347
+ #: includes/class-demo-importer.php:288
348
  msgid "Report a bug"
349
  msgstr ""
350
 
351
+ #: includes/class-demo-importer.php:296 includes/class-demo-importer.php:298
352
+ #: includes/class-demo-importer.php:300
353
  msgid "Reset wizard"
354
  msgstr ""
355
 
356
+ #: includes/class-demo-importer.php:299
357
  msgid ""
358
  "If you need to reset the WordPress back to default again, please click on "
359
  "the button below."
360
  msgstr ""
361
 
362
+ #: includes/class-demo-importer.php:305
363
  msgid "For more information:"
364
  msgstr ""
365
 
366
+ #: includes/class-demo-importer.php:306
367
  msgid "About Demo Importer"
368
  msgstr ""
369
 
370
+ #: includes/class-demo-importer.php:307
371
  msgid "WordPress.org project"
372
  msgstr ""
373
 
374
+ #: includes/class-demo-importer.php:308
375
  msgid "Github project"
376
  msgstr ""
377
 
378
+ #: includes/class-demo-importer.php:309
379
  msgid "Official themes"
380
  msgstr ""
381
 
382
+ #: includes/class-demo-importer.php:310
383
  msgid "Official plugins"
384
  msgstr ""
385
 
386
+ #: includes/class-demo-importer.php:340
387
  msgid "Action failed. Please refresh the page and retry."
388
  msgstr ""
389
 
390
+ #: includes/class-demo-importer.php:344
391
  #: includes/class-themegrill-demo-importer.php:50
392
  #: includes/class-themegrill-demo-importer.php:59
393
  msgid "Cheatin&#8217; huh?"
394
  msgstr ""
395
 
396
+ #: includes/class-demo-importer.php:508
397
  msgid "%s Pro"
398
  msgstr ""
399
 
401
  msgid "ThemeGrill"
402
  msgstr ""
403
 
404
+ #: includes/class-demo-importer.php:565
405
  msgid "No demo specified."
406
  msgstr ""
407
 
408
+ #: includes/class-demo-importer.php:581
409
  msgid "Sorry, you are not allowed to import content."
410
  msgstr ""
411
 
412
+ #: includes/class-demo-importer.php:613
413
+ #: includes/functions-demo-importer.php:110
414
  msgid "Unable to connect to the filesystem. Please confirm your credentials."
415
  msgstr ""
416
 
417
+ #: includes/class-demo-importer.php:696
418
  msgid "The XML file dummy content is missing."
419
  msgstr ""
420
 
421
+ #: includes/class-demo-importer.php:787
422
  msgid "The DAT file customizer data is missing."
423
  msgstr ""
424
 
425
+ #: includes/class-demo-importer.php:812
426
  msgid "The WIE file widget content is missing."
427
  msgstr ""
428
 
454
  msgid "Official ThemeGrill Theme"
455
  msgstr ""
456
 
457
+ #: includes/functions-demo-importer.php:31
458
  msgid "No plugin specified."
459
  msgstr ""
460
 
461
+ #: includes/functions-demo-importer.php:44
462
  msgid "Sorry, you are not allowed to install plugins on this site."
463
  msgstr ""
464
 
465
+ #: includes/functions-demo-importer.php:351
466
  #. translators: %s: Number of plugins
467
  msgid "%s plugin successfully installed."
468
  msgstr ""
469
 
470
+ #: includes/functions-demo-importer.php:358
471
  #. translators: %s: Number of plugins
472
  msgid "%s plugins successfully installed."
473
  msgstr ""
474
 
475
+ #: includes/functions-demo-importer.php:368
476
  #. translators: %s: Number of failed installs
477
  msgid "%s install failed."
478
  msgstr ""
479
 
480
+ #: includes/functions-demo-importer.php:373
481
  #. translators: %s: Number of failed installs
482
  msgid "%s installs failed."
483
  msgstr ""
484
 
485
+ #: includes/functions-demo-importer.php:376
486
  msgid "Show more details"
487
  msgstr ""
488
 
526
  msgid "No Title"
527
  msgstr ""
528
 
529
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:124
530
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:133
531
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:184
532
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:188
533
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:197
534
  msgid "Sorry, there has been an error."
535
  msgstr ""
536
 
537
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:125
538
  msgid "The file does not exist, please try again."
539
  msgstr ""
540
 
541
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:168
542
  msgid "All done."
543
  msgstr ""
544
 
545
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:168
546
  msgid "Have fun!"
547
  msgstr ""
548
 
549
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:169
550
  msgid "Remember to update the passwords and roles of imported users."
551
  msgstr ""
552
 
553
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:189
554
  msgid ""
555
  "The export file could not be found at <code>%s</code>. It is likely that "
556
  "this was caused by a permissions problem."
557
  msgstr ""
558
 
559
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:205
560
  msgid ""
561
  "This WXR file (version %s) may not be supported by this version of the "
562
  "importer. Please consider updating."
563
  msgstr ""
564
 
565
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:230
566
  msgid ""
567
  "Failed to import author %s. Their posts will be attributed to the current "
568
  "user."
569
  msgstr ""
570
 
571
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:257
572
  msgid "Assign Authors"
573
  msgstr ""
574
 
575
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:258
576
  msgid ""
577
  "To make it easier for you to edit and save the imported content, you may "
578
  "want to reassign the author of the imported item to an existing user of "
580
  "<code>admin</code>s entries."
581
  msgstr ""
582
 
583
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:260
584
  msgid ""
585
  "If a new user is created by WordPress, a new password will be randomly "
586
  "generated and the new user&#8217;s role will be set as %s. Manually "
587
  "changing the new user&#8217;s details will be necessary."
588
  msgstr ""
589
 
590
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:270
591
  msgid "Import Attachments"
592
  msgstr ""
593
 
594
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:273
595
  msgid "Download and import file attachments"
596
  msgstr ""
597
 
598
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:277
599
  msgid "Submit"
600
  msgstr ""
601
 
602
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:290
603
  msgid "Import author:"
604
  msgstr ""
605
 
606
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:304
607
  msgid "or create new user with login name:"
608
  msgstr ""
609
 
610
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:307
611
  msgid "as a new user:"
612
  msgstr ""
613
 
614
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:315
615
  msgid "assign posts to an existing user:"
616
  msgstr ""
617
 
618
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:317
619
  msgid "or assign posts to an existing user:"
620
  msgstr ""
621
 
622
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:323
623
  msgid "- Select -"
624
  msgstr ""
625
 
626
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:382
627
  msgid ""
628
  "Failed to create new user for %s. Their posts will be attributed to the "
629
  "current user."
630
  msgstr ""
631
 
632
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:441
633
  msgid "Failed to import category %s"
634
  msgstr ""
635
 
636
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:493
637
  msgid "Failed to import post tag %s"
638
  msgstr ""
639
 
640
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:554
641
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:799
642
+ msgid "Failed to import %1$s %2$s"
643
  msgstr ""
644
 
645
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:645
646
+ msgid "Failed to import &#8220;%1$s&#8221;: Invalid post type %2$s"
647
  msgstr ""
648
 
649
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:686
650
+ msgid "%1$s &#8220;%2$s&#8221; already exists."
651
  msgstr ""
652
 
653
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:760
654
+ msgid "Failed to import %1$s &#8220;%2$s&#8221;"
655
  msgstr ""
656
 
657
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:940
658
  msgid "Menu item skipped due to missing menu slug"
659
  msgstr ""
660
 
661
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:947
662
  msgid "Menu item skipped due to invalid menu slug: %s"
663
  msgstr ""
664
 
665
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1018
666
  msgid "Fetching attachments is not enabled"
667
  msgstr ""
668
 
669
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1035
670
  msgid "Invalid file type"
671
  msgstr ""
672
 
673
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1090
674
  msgid "Remote server did not respond"
675
  msgstr ""
676
 
677
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1098
678
  msgid "Remote server returned error response %1$d %2$s"
679
  msgstr ""
680
 
681
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1105
682
  msgid "Remote file is incorrect size"
683
  msgstr ""
684
 
685
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1110
686
  msgid "Zero size file downloaded"
687
  msgstr ""
688
 
689
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1116
690
  msgid "Remote file is too large, limit is %s"
691
  msgstr ""
692
 
693
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1224
694
  msgid "Import WordPress"
695
  msgstr ""
696
 
697
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1231
698
  msgid ""
699
  "A new version of this importer is available. Please update to version %s to "
700
  "ensure compatibility with newer export files."
701
  msgstr ""
702
 
703
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1246
704
  msgid ""
705
  "Howdy! Upload your WordPress eXtended RSS (WXR) file and we&#8217;ll import "
706
  "the posts, pages, comments, custom fields, categories, and tags into this "
707
  "site."
708
  msgstr ""
709
 
710
+ #: includes/importers/wordpress-importer/class-wxr-importer.php:1247
711
  msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
712
  msgstr ""
713
 
744
  msgid "https://themegrill.com"
745
  msgstr ""
746
 
747
+ #: includes/admin/views/html-admin-page-importer.php:105
 
 
 
 
 
748
  #. translators: %s: Demo name
749
  msgctxt "demo"
750
  msgid "Import %s"
751
  msgstr ""
752
 
753
+ #: includes/admin/views/html-admin-page-importer.php:115
754
  msgctxt "demo"
755
  msgid "Imported"
756
  msgstr ""
757
 
758
+ #: includes/class-demo-importer.php:175
759
  msgctxt "demo"
760
  msgid "Importing %s..."
761
  msgstr ""
762
 
763
+ #: includes/class-demo-importer.php:180
764
  msgctxt "demo"
765
  msgid "%s imported!"
766
  msgstr ""
767
 
768
+ #: includes/class-demo-importer.php:181
769
  msgctxt "demo"
770
  msgid "%s import failed"
771
  msgstr ""
772
 
773
+ #: includes/class-demo-importer.php:183
774
  msgctxt "demo"
775
  msgid "Live Preview %s"
776
  msgstr ""
777
 
778
+ #: includes/admin/views/html-admin-page-importer.php:123
779
  msgctxt "Button label for a demo"
780
  msgid "Previous"
781
  msgstr ""
782
 
783
+ #: includes/admin/views/html-admin-page-importer.php:124
784
  msgctxt "Button label for a demo"
785
  msgid "Next"
786
  msgstr ""
license.txt CHANGED
@@ -1,6 +1,6 @@
1
  ThemeGrill Demo Importer - Importer for WordPress
2
 
3
- Copyright 2016 by the contributors
4
 
5
  This program is free software: you can redistribute it and/or modify
6
  it under the terms of the GNU General Public License as published by
1
  ThemeGrill Demo Importer - Importer for WordPress
2
 
3
+ Copyright 2019 by the contributors
4
 
5
  This program is free software: you can redistribute it and/or modify
6
  it under the terms of the GNU General Public License as published by
package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "name": "themegrill-demo-importer",
3
- "version": "1.5.5",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
@@ -10,40 +10,31 @@
10
  "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
11
  "dev": true,
12
  "requires": {
13
- "@babel/highlight": "7.0.0"
14
  }
15
  },
16
  "@babel/core": {
17
- "version": "7.1.2",
18
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz",
19
- "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==",
20
- "dev": true,
21
- "requires": {
22
- "@babel/code-frame": "7.0.0",
23
- "@babel/generator": "7.1.3",
24
- "@babel/helpers": "7.1.2",
25
- "@babel/parser": "7.1.3",
26
- "@babel/template": "7.1.2",
27
- "@babel/traverse": "7.1.4",
28
- "@babel/types": "7.1.3",
29
- "convert-source-map": "1.6.0",
30
- "debug": "3.1.0",
31
- "json5": "0.5.1",
32
- "lodash": "4.17.10",
33
- "resolve": "1.8.1",
34
- "semver": "5.5.0",
35
- "source-map": "0.5.7"
36
  },
37
  "dependencies": {
38
- "resolve": {
39
- "version": "1.8.1",
40
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
41
- "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
42
- "dev": true,
43
- "requires": {
44
- "path-parse": "1.0.6"
45
- }
46
- },
47
  "source-map": {
48
  "version": "0.5.7",
49
  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -53,16 +44,16 @@
53
  }
54
  },
55
  "@babel/generator": {
56
- "version": "7.1.3",
57
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz",
58
- "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==",
59
  "dev": true,
60
  "requires": {
61
- "@babel/types": "7.1.3",
62
- "jsesc": "2.5.1",
63
- "lodash": "4.17.10",
64
- "source-map": "0.5.7",
65
- "trim-right": "1.0.1"
66
  },
67
  "dependencies": {
68
  "source-map": {
@@ -79,9 +70,9 @@
79
  "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
80
  "dev": true,
81
  "requires": {
82
- "@babel/helper-get-function-arity": "7.0.0",
83
- "@babel/template": "7.1.2",
84
- "@babel/types": "7.1.3"
85
  }
86
  },
87
  "@babel/helper-get-function-arity": {
@@ -90,7 +81,7 @@
90
  "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
91
  "dev": true,
92
  "requires": {
93
- "@babel/types": "7.1.3"
94
  }
95
  },
96
  "@babel/helper-split-export-declaration": {
@@ -99,18 +90,18 @@
99
  "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
100
  "dev": true,
101
  "requires": {
102
- "@babel/types": "7.1.3"
103
  }
104
  },
105
  "@babel/helpers": {
106
- "version": "7.1.2",
107
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz",
108
- "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==",
109
  "dev": true,
110
  "requires": {
111
- "@babel/template": "7.1.2",
112
- "@babel/traverse": "7.1.4",
113
- "@babel/types": "7.1.3"
114
  }
115
  },
116
  "@babel/highlight": {
@@ -119,54 +110,146 @@
119
  "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
120
  "dev": true,
121
  "requires": {
122
- "chalk": "2.4.1",
123
- "esutils": "2.0.2",
124
- "js-tokens": "4.0.0"
125
  }
126
  },
127
  "@babel/parser": {
128
- "version": "7.1.3",
129
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz",
130
- "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==",
131
  "dev": true
132
  },
 
 
 
 
 
 
 
 
 
133
  "@babel/template": {
134
- "version": "7.1.2",
135
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz",
136
- "integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==",
137
  "dev": true,
138
  "requires": {
139
- "@babel/code-frame": "7.0.0",
140
- "@babel/parser": "7.1.3",
141
- "@babel/types": "7.1.3"
142
  }
143
  },
144
  "@babel/traverse": {
145
- "version": "7.1.4",
146
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.4.tgz",
147
- "integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==",
148
  "dev": true,
149
  "requires": {
150
- "@babel/code-frame": "7.0.0",
151
- "@babel/generator": "7.1.3",
152
- "@babel/helper-function-name": "7.1.0",
153
- "@babel/helper-split-export-declaration": "7.0.0",
154
- "@babel/parser": "7.1.3",
155
- "@babel/types": "7.1.3",
156
- "debug": "3.1.0",
157
- "globals": "11.8.0",
158
- "lodash": "4.17.10"
159
  }
160
  },
161
  "@babel/types": {
162
- "version": "7.1.3",
163
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz",
164
- "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==",
165
  "dev": true,
166
  "requires": {
167
- "esutils": "2.0.2",
168
- "lodash": "4.17.10",
169
- "to-fast-properties": "2.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  }
171
  },
172
  "@mrmlnc/readdir-enhanced": {
@@ -175,8 +258,8 @@
175
  "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
176
  "dev": true,
177
  "requires": {
178
- "call-me-maybe": "1.0.1",
179
- "glob-to-regexp": "0.3.0"
180
  }
181
  },
182
  "@nodelib/fs.stat": {
@@ -185,22 +268,76 @@
185
  "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
186
  "dev": true
187
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188
  "abbrev": {
189
  "version": "1.1.1",
190
  "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
191
  "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
192
  "dev": true
193
  },
 
 
 
 
 
 
 
 
 
 
 
 
194
  "ajv": {
195
- "version": "5.5.2",
196
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
197
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
198
  "dev": true,
199
  "requires": {
200
- "co": "4.6.0",
201
- "fast-deep-equal": "1.1.0",
202
- "fast-json-stable-stringify": "2.0.0",
203
- "json-schema-traverse": "0.3.1"
204
  }
205
  },
206
  "amdefine": {
@@ -209,10 +346,16 @@
209
  "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
210
  "dev": true
211
  },
 
 
 
 
 
 
212
  "ansi-regex": {
213
- "version": "2.1.1",
214
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
215
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
216
  "dev": true
217
  },
218
  "ansi-styles": {
@@ -221,23 +364,133 @@
221
  "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
222
  "dev": true,
223
  "requires": {
224
- "color-convert": "1.9.2"
225
  }
226
  },
 
 
 
 
 
 
227
  "aproba": {
228
  "version": "1.2.0",
229
  "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
230
  "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
231
  "dev": true
232
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  "are-we-there-yet": {
234
  "version": "1.1.5",
235
  "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
236
  "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
237
  "dev": true,
238
  "requires": {
239
- "delegates": "1.0.0",
240
- "readable-stream": "2.3.6"
241
  },
242
  "dependencies": {
243
  "isarray": {
@@ -248,17 +501,17 @@
248
  },
249
  "readable-stream": {
250
  "version": "2.3.6",
251
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
252
  "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
253
  "dev": true,
254
  "requires": {
255
- "core-util-is": "1.0.2",
256
- "inherits": "2.0.3",
257
- "isarray": "1.0.0",
258
- "process-nextick-args": "2.0.0",
259
- "safe-buffer": "5.1.2",
260
- "string_decoder": "1.1.1",
261
- "util-deprecate": "1.0.2"
262
  }
263
  },
264
  "string_decoder": {
@@ -267,7 +520,7 @@
267
  "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
268
  "dev": true,
269
  "requires": {
270
- "safe-buffer": "5.1.2"
271
  }
272
  }
273
  }
@@ -278,15 +531,7 @@
278
  "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
279
  "dev": true,
280
  "requires": {
281
- "sprintf-js": "1.0.3"
282
- },
283
- "dependencies": {
284
- "sprintf-js": {
285
- "version": "1.0.3",
286
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
287
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
288
- "dev": true
289
- }
290
  }
291
  },
292
  "arr-diff": {
@@ -319,7 +564,7 @@
319
  "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
320
  "dev": true,
321
  "requires": {
322
- "array-uniq": "1.0.3"
323
  }
324
  },
325
  "array-uniq": {
@@ -346,7 +591,7 @@
346
  "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
347
  "dev": true,
348
  "requires": {
349
- "safer-buffer": "2.1.2"
350
  }
351
  },
352
  "assert-plus": {
@@ -361,6 +606,12 @@
361
  "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
362
  "dev": true
363
  },
 
 
 
 
 
 
364
  "async": {
365
  "version": "1.5.2",
366
  "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
@@ -386,39 +637,17 @@
386
  "dev": true
387
  },
388
  "autoprefixer": {
389
- "version": "9.3.1",
390
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.3.1.tgz",
391
- "integrity": "sha512-DY9gOh8z3tnCbJ13JIWaeQsoYncTGdsrgCceBaQSIL4nvdrLxgbRSBPevg2XbX7u4QCSfLheSJEEIUUSlkbx6Q==",
392
  "dev": true,
393
  "requires": {
394
- "browserslist": "4.3.4",
395
- "caniuse-lite": "1.0.30000905",
396
- "normalize-range": "0.1.2",
397
- "num2fraction": "1.2.2",
398
- "postcss": "7.0.5",
399
- "postcss-value-parser": "3.3.1"
400
- },
401
- "dependencies": {
402
- "postcss": {
403
- "version": "7.0.5",
404
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
405
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
406
- "dev": true,
407
- "requires": {
408
- "chalk": "2.4.1",
409
- "source-map": "0.6.1",
410
- "supports-color": "5.5.0"
411
- }
412
- },
413
- "supports-color": {
414
- "version": "5.5.0",
415
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
416
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
417
- "dev": true,
418
- "requires": {
419
- "has-flag": "3.0.0"
420
- }
421
- }
422
  }
423
  },
424
  "aws-sign2": {
@@ -451,13 +680,13 @@
451
  "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
452
  "dev": true,
453
  "requires": {
454
- "cache-base": "1.0.1",
455
- "class-utils": "0.3.6",
456
- "component-emitter": "1.2.1",
457
- "define-property": "1.0.0",
458
- "isobject": "3.0.1",
459
- "mixin-deep": "1.3.1",
460
- "pascalcase": "0.1.1"
461
  },
462
  "dependencies": {
463
  "define-property": {
@@ -466,7 +695,7 @@
466
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
467
  "dev": true,
468
  "requires": {
469
- "is-descriptor": "1.0.2"
470
  }
471
  },
472
  "is-accessor-descriptor": {
@@ -475,7 +704,7 @@
475
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
476
  "dev": true,
477
  "requires": {
478
- "kind-of": "6.0.2"
479
  }
480
  },
481
  "is-data-descriptor": {
@@ -484,7 +713,7 @@
484
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
485
  "dev": true,
486
  "requires": {
487
- "kind-of": "6.0.2"
488
  }
489
  },
490
  "is-descriptor": {
@@ -493,20 +722,68 @@
493
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
494
  "dev": true,
495
  "requires": {
496
- "is-accessor-descriptor": "1.0.0",
497
- "is-data-descriptor": "1.0.0",
498
- "kind-of": "6.0.2"
499
  }
500
  }
501
  }
502
  },
 
 
 
 
 
 
503
  "bcrypt-pbkdf": {
504
  "version": "1.0.2",
505
  "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
506
  "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
507
  "dev": true,
508
  "requires": {
509
- "tweetnacl": "0.14.5"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
510
  }
511
  },
512
  "block-stream": {
@@ -515,13 +792,13 @@
515
  "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
516
  "dev": true,
517
  "requires": {
518
- "inherits": "2.0.3"
519
  }
520
  },
521
  "bluebird": {
522
- "version": "3.5.1",
523
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
524
- "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
525
  "dev": true
526
  },
527
  "body": {
@@ -530,10 +807,10 @@
530
  "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
531
  "dev": true,
532
  "requires": {
533
- "continuable-cache": "0.3.1",
534
- "error": "7.0.2",
535
- "raw-body": "1.1.7",
536
- "safe-json-parse": "1.0.1"
537
  }
538
  },
539
  "brace-expansion": {
@@ -542,7 +819,7 @@
542
  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
543
  "dev": true,
544
  "requires": {
545
- "balanced-match": "1.0.0",
546
  "concat-map": "0.0.1"
547
  }
548
  },
@@ -552,16 +829,16 @@
552
  "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
553
  "dev": true,
554
  "requires": {
555
- "arr-flatten": "1.1.0",
556
- "array-unique": "0.3.2",
557
- "extend-shallow": "2.0.1",
558
- "fill-range": "4.0.0",
559
- "isobject": "3.0.1",
560
- "repeat-element": "1.1.3",
561
- "snapdragon": "0.8.2",
562
- "snapdragon-node": "2.1.1",
563
- "split-string": "3.1.0",
564
- "to-regex": "3.0.2"
565
  },
566
  "dependencies": {
567
  "extend-shallow": {
@@ -570,33 +847,58 @@
570
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
571
  "dev": true,
572
  "requires": {
573
- "is-extendable": "0.1.1"
574
  }
575
  }
576
  }
577
  },
578
  "browserslist": {
579
- "version": "4.3.4",
580
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz",
581
- "integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==",
582
  "dev": true,
583
  "requires": {
584
- "caniuse-lite": "1.0.30000905",
585
- "electron-to-chromium": "1.3.83",
586
- "node-releases": "1.0.3"
587
  }
588
  },
589
- "buffer-from": {
590
- "version": "1.1.1",
591
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
592
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
593
  "dev": true,
594
- "optional": true
 
 
 
595
  },
596
- "builtin-modules": {
597
- "version": "1.1.1",
598
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
599
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
600
  "dev": true
601
  },
602
  "bytes": {
@@ -611,15 +913,15 @@
611
  "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
612
  "dev": true,
613
  "requires": {
614
- "collection-visit": "1.0.0",
615
- "component-emitter": "1.2.1",
616
- "get-value": "2.0.6",
617
- "has-value": "1.0.0",
618
- "isobject": "3.0.1",
619
- "set-value": "2.0.0",
620
- "to-object-path": "0.3.0",
621
- "union-value": "1.0.0",
622
- "unset-value": "1.0.0"
623
  }
624
  },
625
  "call-me-maybe": {
@@ -628,6 +930,38 @@
628
  "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
629
  "dev": true
630
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
631
  "camelcase": {
632
  "version": "2.1.1",
633
  "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
@@ -640,14 +974,14 @@
640
  "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
641
  "dev": true,
642
  "requires": {
643
- "camelcase": "2.1.1",
644
- "map-obj": "1.0.1"
645
  }
646
  },
647
  "caniuse-lite": {
648
- "version": "1.0.30000905",
649
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000905.tgz",
650
- "integrity": "sha512-cR6ICguvhRrkAjFfBoe54vJQMVOEz7vFmqrV6oor1a7GRg6DdswI40lkiV/QQvAMb4txzTkjSaLaJaiAtSuQzA==",
651
  "dev": true
652
  },
653
  "caseless": {
@@ -663,14 +997,25 @@
663
  "dev": true
664
  },
665
  "chalk": {
666
- "version": "2.4.1",
667
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
668
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
669
  "dev": true,
670
  "requires": {
671
- "ansi-styles": "3.2.1",
672
- "escape-string-regexp": "1.0.5",
673
- "supports-color": "5.4.0"
 
 
 
 
 
 
 
 
 
 
 
674
  }
675
  },
676
  "character-entities": {
@@ -697,10 +1042,29 @@
697
  "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==",
698
  "dev": true
699
  },
700
- "circular-json": {
701
- "version": "0.3.3",
702
- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
703
- "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
704
  "dev": true
705
  },
706
  "class-utils": {
@@ -709,10 +1073,10 @@
709
  "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
710
  "dev": true,
711
  "requires": {
712
- "arr-union": "3.1.0",
713
- "define-property": "0.2.5",
714
- "isobject": "3.0.1",
715
- "static-extend": "0.1.2"
716
  },
717
  "dependencies": {
718
  "define-property": {
@@ -721,7 +1085,7 @@
721
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
722
  "dev": true,
723
  "requires": {
724
- "is-descriptor": "0.1.6"
725
  }
726
  }
727
  }
@@ -732,7 +1096,7 @@
732
  "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
733
  "dev": true,
734
  "requires": {
735
- "source-map": "0.6.1"
736
  }
737
  },
738
  "cli": {
@@ -742,34 +1106,133 @@
742
  "dev": true,
743
  "requires": {
744
  "exit": "0.1.2",
745
- "glob": "7.1.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
746
  },
747
  "dependencies": {
748
- "glob": {
749
- "version": "7.1.3",
750
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
751
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
752
  "dev": true,
753
  "requires": {
754
- "fs.realpath": "1.0.0",
755
- "inflight": "1.0.6",
756
- "inherits": "2.0.3",
757
- "minimatch": "3.0.4",
758
- "once": "1.4.0",
759
- "path-is-absolute": "1.0.1"
760
  }
761
  }
762
  }
763
  },
 
 
 
 
 
 
764
  "cliui": {
765
  "version": "3.2.0",
766
  "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
767
  "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
768
  "dev": true,
769
  "requires": {
770
- "string-width": "1.0.2",
771
- "strip-ansi": "3.0.1",
772
- "wrap-ansi": "2.1.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
773
  }
774
  },
775
  "clone-regexp": {
@@ -778,16 +1241,10 @@
778
  "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
779
  "dev": true,
780
  "requires": {
781
- "is-regexp": "1.0.0",
782
- "is-supported-regexp-flag": "1.0.1"
783
  }
784
  },
785
- "co": {
786
- "version": "4.6.0",
787
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
788
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
789
- "dev": true
790
- },
791
  "code-point-at": {
792
  "version": "1.1.0",
793
  "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
@@ -812,23 +1269,23 @@
812
  "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
813
  "dev": true,
814
  "requires": {
815
- "map-visit": "1.0.0",
816
- "object-visit": "1.0.1"
817
  }
818
  },
819
  "color-convert": {
820
- "version": "1.9.2",
821
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz",
822
- "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==",
823
  "dev": true,
824
  "requires": {
825
- "color-name": "1.1.1"
826
  }
827
  },
828
  "color-name": {
829
- "version": "1.1.1",
830
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz",
831
- "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=",
832
  "dev": true
833
  },
834
  "colors": {
@@ -843,7 +1300,7 @@
843
  "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
844
  "dev": true,
845
  "requires": {
846
- "delayed-stream": "1.0.0"
847
  }
848
  },
849
  "commander": {
@@ -858,46 +1315,37 @@
858
  "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
859
  "dev": true
860
  },
861
- "concat-map": {
862
- "version": "0.0.1",
863
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
864
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
865
- "dev": true
866
- },
867
- "concat-stream": {
868
- "version": "1.6.2",
869
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
870
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
871
  "dev": true,
872
- "optional": true,
873
  "requires": {
874
- "buffer-from": "1.1.1",
875
- "inherits": "2.0.3",
876
- "readable-stream": "2.3.6",
877
- "typedarray": "0.0.6"
878
  },
879
  "dependencies": {
880
  "isarray": {
881
  "version": "1.0.0",
882
  "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
883
  "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
884
- "dev": true,
885
- "optional": true
886
  },
887
  "readable-stream": {
888
  "version": "2.3.6",
889
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
890
  "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
891
  "dev": true,
892
- "optional": true,
893
  "requires": {
894
- "core-util-is": "1.0.2",
895
- "inherits": "2.0.3",
896
- "isarray": "1.0.0",
897
- "process-nextick-args": "2.0.0",
898
- "safe-buffer": "5.1.2",
899
- "string_decoder": "1.1.1",
900
- "util-deprecate": "1.0.2"
901
  }
902
  },
903
  "string_decoder": {
@@ -905,20 +1353,25 @@
905
  "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
906
  "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
907
  "dev": true,
908
- "optional": true,
909
  "requires": {
910
- "safe-buffer": "5.1.2"
911
  }
912
  }
913
  }
914
  },
 
 
 
 
 
 
915
  "console-browserify": {
916
  "version": "1.1.0",
917
  "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
918
  "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
919
  "dev": true,
920
  "requires": {
921
- "date-now": "0.1.4"
922
  }
923
  },
924
  "console-control-strings": {
@@ -939,7 +1392,7 @@
939
  "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
940
  "dev": true,
941
  "requires": {
942
- "safe-buffer": "5.1.2"
943
  }
944
  },
945
  "copy-descriptor": {
@@ -955,30 +1408,25 @@
955
  "dev": true
956
  },
957
  "cosmiconfig": {
958
- "version": "5.0.6",
959
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz",
960
- "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==",
961
  "dev": true,
962
  "requires": {
963
- "is-directory": "0.3.1",
964
- "js-yaml": "3.12.0",
965
- "parse-json": "4.0.0"
 
966
  },
967
  "dependencies": {
968
- "esprima": {
969
- "version": "4.0.1",
970
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
971
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
972
- "dev": true
973
- },
974
- "js-yaml": {
975
- "version": "3.12.0",
976
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
977
- "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
978
  "dev": true,
979
  "requires": {
980
- "argparse": "1.0.10",
981
- "esprima": "4.0.1"
982
  }
983
  },
984
  "parse-json": {
@@ -987,47 +1435,112 @@
987
  "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
988
  "dev": true,
989
  "requires": {
990
- "error-ex": "1.3.2",
991
- "json-parse-better-errors": "1.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
992
  }
993
  }
994
  }
995
  },
996
  "cross-spawn": {
997
- "version": "3.0.1",
998
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
999
- "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
1000
  "dev": true,
1001
  "requires": {
1002
- "lru-cache": "4.1.3",
1003
- "which": "1.3.1"
 
 
 
1004
  }
1005
  },
 
 
 
 
 
 
1006
  "currently-unhandled": {
1007
  "version": "0.4.1",
1008
  "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
1009
  "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
1010
  "dev": true,
1011
  "requires": {
1012
- "array-find-index": "1.0.2"
1013
  }
1014
  },
1015
- "cycle": {
1016
- "version": "1.0.3",
1017
- "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
1018
- "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
1019
- "dev": true,
1020
- "optional": true
1021
- },
1022
  "dashdash": {
1023
  "version": "1.14.1",
1024
  "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
1025
  "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1026
  "dev": true,
1027
  "requires": {
1028
- "assert-plus": "1.0.0"
1029
  }
1030
  },
 
 
 
 
 
 
1031
  "date-now": {
1032
  "version": "0.1.4",
1033
  "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
@@ -1040,17 +1553,17 @@
1040
  "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
1041
  "dev": true,
1042
  "requires": {
1043
- "get-stdin": "4.0.1",
1044
- "meow": "3.7.0"
1045
  }
1046
  },
1047
  "debug": {
1048
- "version": "3.1.0",
1049
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
1050
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
1051
  "dev": true,
1052
  "requires": {
1053
- "ms": "2.0.0"
1054
  }
1055
  },
1056
  "decamelize": {
@@ -1065,8 +1578,8 @@
1065
  "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
1066
  "dev": true,
1067
  "requires": {
1068
- "decamelize": "1.2.0",
1069
- "map-obj": "1.0.1"
1070
  }
1071
  },
1072
  "decode-uri-component": {
@@ -1075,14 +1588,43 @@
1075
  "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1076
  "dev": true
1077
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1078
  "define-property": {
1079
  "version": "2.0.2",
1080
  "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1081
  "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1082
  "dev": true,
1083
  "requires": {
1084
- "is-descriptor": "1.0.2",
1085
- "isobject": "3.0.1"
1086
  },
1087
  "dependencies": {
1088
  "is-accessor-descriptor": {
@@ -1091,7 +1633,7 @@
1091
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1092
  "dev": true,
1093
  "requires": {
1094
- "kind-of": "6.0.2"
1095
  }
1096
  },
1097
  "is-data-descriptor": {
@@ -1100,7 +1642,7 @@
1100
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1101
  "dev": true,
1102
  "requires": {
1103
- "kind-of": "6.0.2"
1104
  }
1105
  },
1106
  "is-descriptor": {
@@ -1109,41 +1651,32 @@
1109
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1110
  "dev": true,
1111
  "requires": {
1112
- "is-accessor-descriptor": "1.0.0",
1113
- "is-data-descriptor": "1.0.0",
1114
- "kind-of": "6.0.2"
1115
  }
1116
  }
1117
  }
1118
  },
1119
  "del": {
1120
- "version": "2.2.2",
1121
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
1122
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
1123
  "dev": true,
1124
  "requires": {
1125
- "globby": "5.0.0",
1126
- "is-path-cwd": "1.0.0",
1127
- "is-path-in-cwd": "1.0.1",
1128
- "object-assign": "4.1.1",
1129
- "pify": "2.3.0",
1130
- "pinkie-promise": "2.0.1",
1131
- "rimraf": "2.6.2"
1132
  },
1133
  "dependencies": {
1134
- "globby": {
1135
- "version": "5.0.0",
1136
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
1137
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
1138
- "dev": true,
1139
- "requires": {
1140
- "array-union": "1.0.2",
1141
- "arrify": "1.0.1",
1142
- "glob": "7.0.6",
1143
- "object-assign": "4.1.1",
1144
- "pify": "2.3.0",
1145
- "pinkie-promise": "2.0.1"
1146
- }
1147
  }
1148
  }
1149
  },
@@ -1159,6 +1692,13 @@
1159
  "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
1160
  "dev": true
1161
  },
 
 
 
 
 
 
 
1162
  "diff": {
1163
  "version": "3.5.0",
1164
  "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
@@ -1166,13 +1706,12 @@
1166
  "dev": true
1167
  },
1168
  "dir-glob": {
1169
- "version": "2.0.0",
1170
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
1171
- "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
1172
  "dev": true,
1173
  "requires": {
1174
- "arrify": "1.0.1",
1175
- "path-type": "3.0.0"
1176
  },
1177
  "dependencies": {
1178
  "path-type": {
@@ -1181,7 +1720,7 @@
1181
  "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
1182
  "dev": true,
1183
  "requires": {
1184
- "pify": "3.0.0"
1185
  }
1186
  },
1187
  "pify": {
@@ -1192,19 +1731,28 @@
1192
  }
1193
  }
1194
  },
 
 
 
 
 
 
 
 
 
1195
  "dom-serializer": {
1196
  "version": "0.1.0",
1197
  "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
1198
  "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
1199
  "dev": true,
1200
  "requires": {
1201
- "domelementtype": "1.1.3",
1202
- "entities": "1.1.2"
1203
  },
1204
  "dependencies": {
1205
  "domelementtype": {
1206
  "version": "1.1.3",
1207
- "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
1208
  "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
1209
  "dev": true
1210
  },
@@ -1217,9 +1765,9 @@
1217
  }
1218
  },
1219
  "domelementtype": {
1220
- "version": "1.2.1",
1221
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz",
1222
- "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA==",
1223
  "dev": true
1224
  },
1225
  "domhandler": {
@@ -1228,7 +1776,7 @@
1228
  "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
1229
  "dev": true,
1230
  "requires": {
1231
- "domelementtype": "1.2.1"
1232
  }
1233
  },
1234
  "domutils": {
@@ -1237,8 +1785,8 @@
1237
  "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
1238
  "dev": true,
1239
  "requires": {
1240
- "dom-serializer": "0.1.0",
1241
- "domelementtype": "1.2.1"
1242
  }
1243
  },
1244
  "dot-prop": {
@@ -1247,12 +1795,12 @@
1247
  "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
1248
  "dev": true,
1249
  "requires": {
1250
- "is-obj": "1.0.1"
1251
  }
1252
  },
1253
  "duplexer": {
1254
  "version": "0.1.1",
1255
- "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
1256
  "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
1257
  "dev": true
1258
  },
@@ -1262,14 +1810,26 @@
1262
  "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
1263
  "dev": true,
1264
  "requires": {
1265
- "jsbn": "0.1.1",
1266
- "safer-buffer": "2.1.2"
1267
  }
1268
  },
1269
  "electron-to-chromium": {
1270
- "version": "1.3.83",
1271
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.83.tgz",
1272
- "integrity": "sha512-DqJoDarxq50dcHsOOlMLNoy+qQitlMNbYb6wwbE0oUw2veHdRkpNrhmngiUYKMErdJ8SJ48rpJsZTQgy5SoEAA==",
 
 
 
 
 
 
 
 
 
 
 
 
1273
  "dev": true
1274
  },
1275
  "encoding": {
@@ -1278,12 +1838,21 @@
1278
  "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
1279
  "dev": true,
1280
  "requires": {
1281
- "iconv-lite": "0.4.23"
 
 
 
 
 
 
 
 
 
1282
  }
1283
  },
1284
  "entities": {
1285
  "version": "1.0.0",
1286
- "resolved": "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
1287
  "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
1288
  "dev": true
1289
  },
@@ -1293,8 +1862,8 @@
1293
  "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
1294
  "dev": true,
1295
  "requires": {
1296
- "string-template": "0.2.1",
1297
- "xtend": "4.0.1"
1298
  }
1299
  },
1300
  "error-ex": {
@@ -1303,26 +1872,121 @@
1303
  "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1304
  "dev": true,
1305
  "requires": {
1306
- "is-arrayish": "0.2.1"
1307
  }
1308
  },
1309
- "es6-promise": {
1310
- "version": "4.2.5",
1311
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
1312
- "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
1313
- "dev": true,
1314
- "optional": true
1315
- },
1316
  "escape-string-regexp": {
1317
  "version": "1.0.5",
1318
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1319
  "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1320
  "dev": true
1321
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1322
  "esprima": {
1323
- "version": "2.7.3",
1324
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
1325
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1326
  "dev": true
1327
  },
1328
  "esutils": {
@@ -1337,13 +2001,28 @@
1337
  "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
1338
  "dev": true
1339
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1340
  "execall": {
1341
  "version": "1.0.0",
1342
  "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
1343
  "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
1344
  "dev": true,
1345
  "requires": {
1346
- "clone-regexp": "1.0.1"
1347
  }
1348
  },
1349
  "exit": {
@@ -1358,13 +2037,13 @@
1358
  "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1359
  "dev": true,
1360
  "requires": {
1361
- "debug": "2.6.9",
1362
- "define-property": "0.2.5",
1363
- "extend-shallow": "2.0.1",
1364
- "posix-character-classes": "0.1.1",
1365
- "regex-not": "1.0.2",
1366
- "snapdragon": "0.8.2",
1367
- "to-regex": "3.0.2"
1368
  },
1369
  "dependencies": {
1370
  "debug": {
@@ -1382,7 +2061,7 @@
1382
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1383
  "dev": true,
1384
  "requires": {
1385
- "is-descriptor": "0.1.6"
1386
  }
1387
  },
1388
  "extend-shallow": {
@@ -1391,76 +2070,23 @@
1391
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1392
  "dev": true,
1393
  "requires": {
1394
- "is-extendable": "0.1.1"
1395
  }
 
 
 
 
 
 
1396
  }
1397
  }
1398
  },
1399
- "expand-range": {
1400
- "version": "1.8.2",
1401
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
1402
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
1403
  "dev": true,
1404
- "requires": {
1405
- "fill-range": "2.2.4"
1406
- },
1407
- "dependencies": {
1408
- "fill-range": {
1409
- "version": "2.2.4",
1410
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
1411
- "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
1412
- "dev": true,
1413
- "requires": {
1414
- "is-number": "2.1.0",
1415
- "isobject": "2.1.0",
1416
- "randomatic": "3.1.1",
1417
- "repeat-element": "1.1.3",
1418
- "repeat-string": "1.6.1"
1419
- }
1420
- },
1421
- "is-number": {
1422
- "version": "2.1.0",
1423
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
1424
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
1425
- "dev": true,
1426
- "requires": {
1427
- "kind-of": "3.2.2"
1428
- }
1429
- },
1430
- "isarray": {
1431
- "version": "1.0.0",
1432
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1433
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1434
- "dev": true
1435
- },
1436
- "isobject": {
1437
- "version": "2.1.0",
1438
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
1439
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
1440
- "dev": true,
1441
- "requires": {
1442
- "isarray": "1.0.0"
1443
- }
1444
- },
1445
- "kind-of": {
1446
- "version": "3.2.2",
1447
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1448
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1449
- "dev": true,
1450
- "requires": {
1451
- "is-buffer": "1.1.6"
1452
- }
1453
- }
1454
- }
1455
- },
1456
- "expand-tilde": {
1457
- "version": "2.0.2",
1458
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
1459
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
1460
- "dev": true,
1461
- "requires": {
1462
- "homedir-polyfill": "1.0.1"
1463
- }
1464
  },
1465
  "extend": {
1466
  "version": "3.0.2",
@@ -1474,8 +2100,8 @@
1474
  "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1475
  "dev": true,
1476
  "requires": {
1477
- "assign-symbols": "1.0.0",
1478
- "is-extendable": "1.0.1"
1479
  },
1480
  "dependencies": {
1481
  "is-extendable": {
@@ -1484,25 +2110,36 @@
1484
  "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1485
  "dev": true,
1486
  "requires": {
1487
- "is-plain-object": "2.0.4"
1488
  }
1489
  }
1490
  }
1491
  },
 
 
 
 
 
 
 
 
 
 
 
1492
  "extglob": {
1493
  "version": "2.0.4",
1494
  "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1495
  "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1496
  "dev": true,
1497
  "requires": {
1498
- "array-unique": "0.3.2",
1499
- "define-property": "1.0.0",
1500
- "expand-brackets": "2.1.4",
1501
- "extend-shallow": "2.0.1",
1502
- "fragment-cache": "0.2.1",
1503
- "regex-not": "1.0.2",
1504
- "snapdragon": "0.8.2",
1505
- "to-regex": "3.0.2"
1506
  },
1507
  "dependencies": {
1508
  "define-property": {
@@ -1511,7 +2148,7 @@
1511
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1512
  "dev": true,
1513
  "requires": {
1514
- "is-descriptor": "1.0.2"
1515
  }
1516
  },
1517
  "extend-shallow": {
@@ -1520,7 +2157,7 @@
1520
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1521
  "dev": true,
1522
  "requires": {
1523
- "is-extendable": "0.1.1"
1524
  }
1525
  },
1526
  "is-accessor-descriptor": {
@@ -1529,7 +2166,7 @@
1529
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1530
  "dev": true,
1531
  "requires": {
1532
- "kind-of": "6.0.2"
1533
  }
1534
  },
1535
  "is-data-descriptor": {
@@ -1538,7 +2175,7 @@
1538
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1539
  "dev": true,
1540
  "requires": {
1541
- "kind-of": "6.0.2"
1542
  }
1543
  },
1544
  "is-descriptor": {
@@ -1547,34 +2184,9 @@
1547
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1548
  "dev": true,
1549
  "requires": {
1550
- "is-accessor-descriptor": "1.0.0",
1551
- "is-data-descriptor": "1.0.0",
1552
- "kind-of": "6.0.2"
1553
- }
1554
- }
1555
- }
1556
- },
1557
- "extract-zip": {
1558
- "version": "1.6.7",
1559
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
1560
- "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
1561
- "dev": true,
1562
- "optional": true,
1563
- "requires": {
1564
- "concat-stream": "1.6.2",
1565
- "debug": "2.6.9",
1566
- "mkdirp": "0.5.1",
1567
- "yauzl": "2.4.1"
1568
- },
1569
- "dependencies": {
1570
- "debug": {
1571
- "version": "2.6.9",
1572
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1573
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1574
- "dev": true,
1575
- "optional": true,
1576
- "requires": {
1577
- "ms": "2.0.0"
1578
  }
1579
  }
1580
  }
@@ -1585,54 +2197,24 @@
1585
  "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
1586
  "dev": true
1587
  },
1588
- "eyes": {
1589
- "version": "0.1.8",
1590
- "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
1591
- "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
1592
- "dev": true,
1593
- "optional": true
1594
- },
1595
  "fast-deep-equal": {
1596
- "version": "1.1.0",
1597
- "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
1598
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
1599
  "dev": true
1600
  },
1601
  "fast-glob": {
1602
- "version": "2.2.3",
1603
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.3.tgz",
1604
- "integrity": "sha512-NiX+JXjnx43RzvVFwRWfPKo4U+1BrK5pJPsHQdKMlLoFHrrGktXglQhHliSihWAq+m1z6fHk3uwGHrtRbS9vLA==",
1605
  "dev": true,
1606
  "requires": {
1607
- "@mrmlnc/readdir-enhanced": "2.2.1",
1608
- "@nodelib/fs.stat": "1.1.3",
1609
- "glob-parent": "3.1.0",
1610
- "is-glob": "4.0.0",
1611
- "merge2": "1.2.3",
1612
- "micromatch": "3.1.10"
1613
- },
1614
- "dependencies": {
1615
- "micromatch": {
1616
- "version": "3.1.10",
1617
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
1618
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
1619
- "dev": true,
1620
- "requires": {
1621
- "arr-diff": "4.0.0",
1622
- "array-unique": "0.3.2",
1623
- "braces": "2.3.2",
1624
- "define-property": "2.0.2",
1625
- "extend-shallow": "3.0.2",
1626
- "extglob": "2.0.4",
1627
- "fragment-cache": "0.2.1",
1628
- "kind-of": "6.0.2",
1629
- "nanomatch": "1.2.13",
1630
- "object.pick": "1.3.0",
1631
- "regex-not": "1.0.2",
1632
- "snapdragon": "0.8.2",
1633
- "to-regex": "3.0.2"
1634
- }
1635
- }
1636
  }
1637
  },
1638
  "fast-json-stable-stringify": {
@@ -1641,33 +2223,28 @@
1641
  "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
1642
  "dev": true
1643
  },
 
 
 
 
 
 
1644
  "faye-websocket": {
1645
  "version": "0.10.0",
1646
  "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
1647
  "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
1648
  "dev": true,
1649
  "requires": {
1650
- "websocket-driver": "0.7.0"
1651
- }
1652
- },
1653
- "fd-slicer": {
1654
- "version": "1.0.1",
1655
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
1656
- "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
1657
- "dev": true,
1658
- "optional": true,
1659
- "requires": {
1660
- "pend": "1.2.0"
1661
  }
1662
  },
1663
  "figures": {
1664
- "version": "1.7.0",
1665
- "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
1666
- "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
1667
  "dev": true,
1668
  "requires": {
1669
- "escape-string-regexp": "1.0.5",
1670
- "object-assign": "4.1.1"
1671
  }
1672
  },
1673
  "file-entry-cache": {
@@ -1676,26 +2253,20 @@
1676
  "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
1677
  "dev": true,
1678
  "requires": {
1679
- "flat-cache": "1.3.0",
1680
- "object-assign": "4.1.1"
1681
  }
1682
  },
1683
- "filename-regex": {
1684
- "version": "2.0.1",
1685
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
1686
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
1687
- "dev": true
1688
- },
1689
  "fill-range": {
1690
  "version": "4.0.0",
1691
  "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
1692
  "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
1693
  "dev": true,
1694
  "requires": {
1695
- "extend-shallow": "2.0.1",
1696
- "is-number": "3.0.0",
1697
- "repeat-string": "1.6.1",
1698
- "to-regex-range": "2.1.1"
1699
  },
1700
  "dependencies": {
1701
  "extend-shallow": {
@@ -1704,19 +2275,25 @@
1704
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1705
  "dev": true,
1706
  "requires": {
1707
- "is-extendable": "0.1.1"
1708
  }
1709
  }
1710
  }
1711
  },
 
 
 
 
 
 
1712
  "find-up": {
1713
  "version": "1.1.2",
1714
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
1715
  "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
1716
  "dev": true,
1717
  "requires": {
1718
- "path-exists": "2.1.0",
1719
- "pinkie-promise": "2.0.1"
1720
  }
1721
  },
1722
  "findup": {
@@ -1725,8 +2302,8 @@
1725
  "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=",
1726
  "dev": true,
1727
  "requires": {
1728
- "colors": "0.6.2",
1729
- "commander": "2.1.0"
1730
  },
1731
  "dependencies": {
1732
  "colors": {
@@ -1749,7 +2326,7 @@
1749
  "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
1750
  "dev": true,
1751
  "requires": {
1752
- "glob": "5.0.15"
1753
  },
1754
  "dependencies": {
1755
  "glob": {
@@ -1758,42 +2335,45 @@
1758
  "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
1759
  "dev": true,
1760
  "requires": {
1761
- "inflight": "1.0.6",
1762
- "inherits": "2.0.3",
1763
- "minimatch": "3.0.4",
1764
- "once": "1.4.0",
1765
- "path-is-absolute": "1.0.1"
1766
  }
1767
  }
1768
  }
1769
  },
1770
  "flat-cache": {
1771
- "version": "1.3.0",
1772
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
1773
- "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
1774
  "dev": true,
1775
  "requires": {
1776
- "circular-json": "0.3.3",
1777
- "del": "2.2.2",
1778
- "graceful-fs": "4.1.11",
1779
- "write": "0.2.1"
1780
  }
1781
  },
 
 
 
 
 
 
 
 
 
 
 
 
1782
  "for-in": {
1783
  "version": "1.0.2",
1784
  "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1785
  "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
1786
  "dev": true
1787
  },
1788
- "for-own": {
1789
- "version": "0.1.5",
1790
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
1791
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
1792
- "dev": true,
1793
- "requires": {
1794
- "for-in": "1.0.2"
1795
- }
1796
- },
1797
  "forever-agent": {
1798
  "version": "0.6.1",
1799
  "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
@@ -1806,9 +2386,9 @@
1806
  "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1807
  "dev": true,
1808
  "requires": {
1809
- "asynckit": "0.4.0",
1810
- "combined-stream": "1.0.7",
1811
- "mime-types": "2.1.21"
1812
  }
1813
  },
1814
  "fragment-cache": {
@@ -1817,20 +2397,14 @@
1817
  "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1818
  "dev": true,
1819
  "requires": {
1820
- "map-cache": "0.2.2"
1821
  }
1822
  },
1823
- "fs-extra": {
1824
  "version": "1.0.0",
1825
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
1826
- "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
1827
- "dev": true,
1828
- "optional": true,
1829
- "requires": {
1830
- "graceful-fs": "4.1.11",
1831
- "jsonfile": "2.4.0",
1832
- "klaw": "1.3.1"
1833
- }
1834
  },
1835
  "fs.realpath": {
1836
  "version": "1.0.0",
@@ -1844,10 +2418,27 @@
1844
  "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
1845
  "dev": true,
1846
  "requires": {
1847
- "graceful-fs": "4.1.11",
1848
- "inherits": "2.0.3",
1849
- "mkdirp": "0.5.1",
1850
- "rimraf": "2.6.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1851
  }
1852
  },
1853
  "gauge": {
@@ -1856,14 +2447,51 @@
1856
  "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
1857
  "dev": true,
1858
  "requires": {
1859
- "aproba": "1.2.0",
1860
- "console-control-strings": "1.1.0",
1861
- "has-unicode": "2.0.1",
1862
- "object-assign": "4.1.1",
1863
- "signal-exit": "3.0.2",
1864
- "string-width": "1.0.2",
1865
- "strip-ansi": "3.0.1",
1866
- "wide-align": "1.1.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1867
  }
1868
  },
1869
  "gaze": {
@@ -1872,7 +2500,7 @@
1872
  "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
1873
  "dev": true,
1874
  "requires": {
1875
- "globule": "1.2.1"
1876
  }
1877
  },
1878
  "get-caller-file": {
@@ -1881,12 +2509,27 @@
1881
  "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
1882
  "dev": true
1883
  },
 
 
 
 
 
 
1884
  "get-stdin": {
1885
  "version": "4.0.1",
1886
  "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
1887
  "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
1888
  "dev": true
1889
  },
 
 
 
 
 
 
 
 
 
1890
  "get-value": {
1891
  "version": "2.0.6",
1892
  "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@@ -1905,77 +2548,71 @@
1905
  "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1906
  "dev": true,
1907
  "requires": {
1908
- "assert-plus": "1.0.0"
1909
  }
1910
  },
1911
  "gettext-parser": {
1912
- "version": "1.4.0",
1913
- "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz",
1914
- "integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==",
1915
- "dev": true,
1916
- "requires": {
1917
- "encoding": "0.1.12",
1918
- "safe-buffer": "5.1.2"
1919
- }
1920
- },
1921
- "glob": {
1922
- "version": "7.0.6",
1923
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
1924
- "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
1925
- "dev": true,
1926
- "requires": {
1927
- "fs.realpath": "1.0.0",
1928
- "inflight": "1.0.6",
1929
- "inherits": "2.0.3",
1930
- "minimatch": "3.0.4",
1931
- "once": "1.4.0",
1932
- "path-is-absolute": "1.0.1"
1933
- }
1934
- },
1935
- "glob-base": {
1936
- "version": "0.3.0",
1937
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
1938
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
1939
  "dev": true,
1940
  "requires": {
1941
- "glob-parent": "2.0.0",
1942
- "is-glob": "2.0.1"
 
1943
  },
1944
  "dependencies": {
1945
- "glob-parent": {
1946
- "version": "2.0.0",
1947
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
1948
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
1949
  "dev": true,
1950
  "requires": {
1951
- "is-glob": "2.0.1"
 
 
1952
  }
1953
  },
1954
- "is-extglob": {
1955
- "version": "1.0.0",
1956
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
1957
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
1958
- "dev": true
1959
- },
1960
- "is-glob": {
1961
- "version": "2.0.1",
1962
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
1963
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
1964
  "dev": true,
1965
  "requires": {
1966
- "is-extglob": "1.0.0"
1967
  }
1968
  }
1969
  }
1970
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1971
  "glob-parent": {
1972
  "version": "3.1.0",
1973
  "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
1974
  "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
1975
  "dev": true,
1976
  "requires": {
1977
- "is-glob": "3.1.0",
1978
- "path-dirname": "1.0.2"
1979
  },
1980
  "dependencies": {
1981
  "is-glob": {
@@ -1984,7 +2621,7 @@
1984
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
1985
  "dev": true,
1986
  "requires": {
1987
- "is-extglob": "2.1.1"
1988
  }
1989
  }
1990
  }
@@ -1996,76 +2633,42 @@
1996
  "dev": true
1997
  },
1998
  "global-modules": {
1999
- "version": "1.0.0",
2000
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
2001
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
2002
  "dev": true,
2003
  "requires": {
2004
- "global-prefix": "1.0.2",
2005
- "is-windows": "1.0.2",
2006
- "resolve-dir": "1.0.1"
2007
  }
2008
  },
2009
  "global-prefix": {
2010
- "version": "1.0.2",
2011
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
2012
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
2013
  "dev": true,
2014
  "requires": {
2015
- "expand-tilde": "2.0.2",
2016
- "homedir-polyfill": "1.0.1",
2017
- "ini": "1.3.5",
2018
- "is-windows": "1.0.2",
2019
- "which": "1.3.1"
2020
  }
2021
  },
2022
  "globals": {
2023
- "version": "11.8.0",
2024
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz",
2025
- "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==",
2026
  "dev": true
2027
  },
2028
  "globby": {
2029
- "version": "8.0.1",
2030
- "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
2031
- "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
2032
- "dev": true,
2033
- "requires": {
2034
- "array-union": "1.0.2",
2035
- "dir-glob": "2.0.0",
2036
- "fast-glob": "2.2.3",
2037
- "glob": "7.1.3",
2038
- "ignore": "3.3.10",
2039
- "pify": "3.0.0",
2040
- "slash": "1.0.0"
2041
- },
2042
- "dependencies": {
2043
- "glob": {
2044
- "version": "7.1.3",
2045
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
2046
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
2047
- "dev": true,
2048
- "requires": {
2049
- "fs.realpath": "1.0.0",
2050
- "inflight": "1.0.6",
2051
- "inherits": "2.0.3",
2052
- "minimatch": "3.0.4",
2053
- "once": "1.4.0",
2054
- "path-is-absolute": "1.0.1"
2055
- }
2056
- },
2057
- "ignore": {
2058
- "version": "3.3.10",
2059
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
2060
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
2061
- "dev": true
2062
- },
2063
- "pify": {
2064
- "version": "3.0.0",
2065
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
2066
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
2067
- "dev": true
2068
- }
2069
  }
2070
  },
2071
  "globjoin": {
@@ -2080,25 +2683,9 @@
2080
  "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
2081
  "dev": true,
2082
  "requires": {
2083
- "glob": "7.1.2",
2084
- "lodash": "4.17.10",
2085
- "minimatch": "3.0.4"
2086
- },
2087
- "dependencies": {
2088
- "glob": {
2089
- "version": "7.1.2",
2090
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
2091
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
2092
- "dev": true,
2093
- "requires": {
2094
- "fs.realpath": "1.0.0",
2095
- "inflight": "1.0.6",
2096
- "inherits": "2.0.3",
2097
- "minimatch": "3.0.4",
2098
- "once": "1.4.0",
2099
- "path-is-absolute": "1.0.1"
2100
- }
2101
- }
2102
  }
2103
  },
2104
  "gonzales-pe": {
@@ -2107,21 +2694,21 @@
2107
  "integrity": "sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw==",
2108
  "dev": true,
2109
  "requires": {
2110
- "minimist": "1.1.3"
2111
  },
2112
  "dependencies": {
2113
  "minimist": {
2114
  "version": "1.1.3",
2115
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
2116
  "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
2117
  "dev": true
2118
  }
2119
  }
2120
  },
2121
  "graceful-fs": {
2122
- "version": "4.1.11",
2123
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
2124
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
2125
  "dev": true
2126
  },
2127
  "grunt": {
@@ -2130,36 +2717,72 @@
2130
  "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
2131
  "dev": true,
2132
  "requires": {
2133
- "coffeescript": "1.10.0",
2134
- "dateformat": "1.0.12",
2135
- "eventemitter2": "0.4.14",
2136
- "exit": "0.1.2",
2137
- "findup-sync": "0.3.0",
2138
- "glob": "7.0.6",
2139
- "grunt-cli": "1.2.0",
2140
- "grunt-known-options": "1.1.0",
2141
- "grunt-legacy-log": "2.0.0",
2142
- "grunt-legacy-util": "1.1.1",
2143
- "iconv-lite": "0.4.23",
2144
- "js-yaml": "3.5.5",
2145
- "minimatch": "3.0.4",
2146
- "mkdirp": "0.5.1",
2147
- "nopt": "3.0.6",
2148
- "path-is-absolute": "1.0.1",
2149
- "rimraf": "2.6.2"
2150
  },
2151
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2152
  "grunt-cli": {
2153
  "version": "1.2.0",
2154
  "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
2155
  "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
2156
  "dev": true,
2157
  "requires": {
2158
- "findup-sync": "0.3.0",
2159
- "grunt-known-options": "1.1.0",
2160
- "nopt": "3.0.6",
2161
- "resolve": "1.1.7"
 
 
 
 
 
 
 
 
 
 
2162
  }
 
 
 
 
 
 
2163
  }
2164
  }
2165
  },
@@ -2169,8 +2792,8 @@
2169
  "integrity": "sha1-slTQHh3pEwBdTbHFMD2QI7mD4Zs=",
2170
  "dev": true,
2171
  "requires": {
2172
- "chalk": "0.2.1",
2173
- "text-table": "0.2.0"
2174
  },
2175
  "dependencies": {
2176
  "ansi-styles": {
@@ -2185,9 +2808,71 @@
2185
  "integrity": "sha1-dhPhV1FFshOGSD9/SFql/6jL0Qw=",
2186
  "dev": true,
2187
  "requires": {
2188
- "ansi-styles": "0.2.0",
2189
- "has-color": "0.1.7"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2190
  }
 
 
 
 
 
 
2191
  }
2192
  }
2193
  },
@@ -2197,9 +2882,9 @@
2197
  "integrity": "sha512-eXpooYmVGKMs/xV7DzTLgJFPVOfMuawPD3x0JwhlH0mumq2NtH3xsxaHxp1Y3NKxp0j0tRhFS6kSBRsz6TuTGg==",
2198
  "dev": true,
2199
  "requires": {
2200
- "chalk": "2.4.1",
2201
- "clean-css": "4.2.1",
2202
- "maxmin": "2.1.0"
2203
  }
2204
  },
2205
  "grunt-contrib-jshint": {
@@ -2208,9 +2893,9 @@
2208
  "integrity": "sha512-4qR411I1bhvVrPkKBzCUcrWkTEtBuWioXi9ABWRXHoplRScg03jiMqLDpzS4pDhVsLOTx5F9l+0cnMc+Gd2MWg==",
2209
  "dev": true,
2210
  "requires": {
2211
- "chalk": "2.4.1",
2212
- "hooker": "0.2.3",
2213
- "jshint": "2.9.6"
2214
  }
2215
  },
2216
  "grunt-contrib-uglify": {
@@ -2219,10 +2904,10 @@
2219
  "integrity": "sha512-vy3Vop2KDqdiwcGOGAjyKvjHFrRD/YK4KPQWR3Yt6OdYlgFw1z7HCuk66+IJ9s7oJmp9uRQXuuSHyawKRAgiMw==",
2220
  "dev": true,
2221
  "requires": {
2222
- "chalk": "2.4.1",
2223
- "maxmin": "2.1.0",
2224
- "uglify-js": "3.4.9",
2225
- "uri-path": "1.0.0"
2226
  }
2227
  },
2228
  "grunt-contrib-watch": {
@@ -2231,10 +2916,10 @@
2231
  "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
2232
  "dev": true,
2233
  "requires": {
2234
- "async": "2.6.1",
2235
- "gaze": "1.1.3",
2236
- "lodash": "4.17.10",
2237
- "tiny-lr": "1.1.1"
2238
  },
2239
  "dependencies": {
2240
  "async": {
@@ -2243,15 +2928,15 @@
2243
  "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
2244
  "dev": true,
2245
  "requires": {
2246
- "lodash": "4.17.10"
2247
  }
2248
  }
2249
  }
2250
  },
2251
  "grunt-known-options": {
2252
- "version": "1.1.0",
2253
- "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
2254
- "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=",
2255
  "dev": true
2256
  },
2257
  "grunt-legacy-log": {
@@ -2260,10 +2945,10 @@
2260
  "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
2261
  "dev": true,
2262
  "requires": {
2263
- "colors": "1.1.2",
2264
- "grunt-legacy-log-utils": "2.0.1",
2265
- "hooker": "0.2.3",
2266
- "lodash": "4.17.10"
2267
  }
2268
  },
2269
  "grunt-legacy-log-utils": {
@@ -2272,8 +2957,8 @@
2272
  "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
2273
  "dev": true,
2274
  "requires": {
2275
- "chalk": "2.4.1",
2276
- "lodash": "4.17.10"
2277
  }
2278
  },
2279
  "grunt-legacy-util": {
@@ -2282,13 +2967,13 @@
2282
  "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
2283
  "dev": true,
2284
  "requires": {
2285
- "async": "1.5.2",
2286
- "exit": "0.1.2",
2287
- "getobject": "0.1.0",
2288
- "hooker": "0.2.3",
2289
- "lodash": "4.17.10",
2290
- "underscore.string": "3.3.4",
2291
- "which": "1.3.1"
2292
  }
2293
  },
2294
  "grunt-phpcs": {
@@ -2303,23 +2988,51 @@
2303
  "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
2304
  "dev": true,
2305
  "requires": {
2306
- "chalk": "2.4.1",
2307
- "diff": "3.5.0",
2308
- "postcss": "6.0.23"
2309
- }
2310
- },
2311
- "grunt-rtlcss": {
2312
- "version": "2.0.1",
2313
- "resolved": "https://registry.npmjs.org/grunt-rtlcss/-/grunt-rtlcss-2.0.1.tgz",
2314
- "integrity": "sha1-6eYc5DdAY5f546Sxv2aeR+cf/MM=",
2315
- "dev": true,
2316
- "requires": {
2317
- "chalk": "1.1.3",
2318
- "rtlcss": "2.4.0"
2319
  },
2320
  "dependencies": {
2321
- "ansi-styles": {
2322
- "version": "2.2.1",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2323
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
2324
  "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
2325
  "dev": true
@@ -2330,11 +3043,20 @@
2330
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
2331
  "dev": true,
2332
  "requires": {
2333
- "ansi-styles": "2.2.1",
2334
- "escape-string-regexp": "1.0.5",
2335
- "has-ansi": "2.0.0",
2336
- "strip-ansi": "3.0.1",
2337
- "supports-color": "2.0.0"
 
 
 
 
 
 
 
 
 
2338
  }
2339
  },
2340
  "supports-color": {
@@ -2360,6 +3082,12 @@
2360
  "chalk": "1.1.3"
2361
  },
2362
  "dependencies": {
 
 
 
 
 
 
2363
  "ansi-styles": {
2364
  "version": "2.2.1",
2365
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
@@ -2368,15 +3096,24 @@
2368
  },
2369
  "chalk": {
2370
  "version": "1.1.3",
2371
- "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
2372
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
2373
  "dev": true,
2374
  "requires": {
2375
- "ansi-styles": "2.2.1",
2376
- "escape-string-regexp": "1.0.5",
2377
- "has-ansi": "2.0.0",
2378
- "strip-ansi": "3.0.1",
2379
- "supports-color": "2.0.0"
 
 
 
 
 
 
 
 
 
2380
  }
2381
  },
2382
  "supports-color": {
@@ -2388,13 +3125,13 @@
2388
  }
2389
  },
2390
  "grunt-wp-i18n": {
2391
- "version": "1.0.2",
2392
- "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.2.tgz",
2393
- "integrity": "sha512-s7DdR1wRYWvgeQOELL/s8AmWz0scVUq+h0yYVWvLx23kTXOBslvaD35NTvubyM+MO+k29bgND0gDDvS6sHixfg==",
2394
  "dev": true,
2395
  "requires": {
2396
- "grunt": "1.0.3",
2397
- "node-wp-i18n": "1.2.0"
2398
  }
2399
  },
2400
  "gzip-size": {
@@ -2403,7 +3140,7 @@
2403
  "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
2404
  "dev": true,
2405
  "requires": {
2406
- "duplexer": "0.1.1"
2407
  }
2408
  },
2409
  "har-schema": {
@@ -2413,13 +3150,13 @@
2413
  "dev": true
2414
  },
2415
  "har-validator": {
2416
- "version": "5.1.0",
2417
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
2418
- "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
2419
  "dev": true,
2420
  "requires": {
2421
- "ajv": "5.5.2",
2422
- "har-schema": "2.0.0"
2423
  }
2424
  },
2425
  "has-ansi": {
@@ -2428,7 +3165,15 @@
2428
  "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
2429
  "dev": true,
2430
  "requires": {
2431
- "ansi-regex": "2.1.1"
 
 
 
 
 
 
 
 
2432
  }
2433
  },
2434
  "has-color": {
@@ -2455,9 +3200,9 @@
2455
  "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
2456
  "dev": true,
2457
  "requires": {
2458
- "get-value": "2.0.6",
2459
- "has-values": "1.0.0",
2460
- "isobject": "3.0.1"
2461
  }
2462
  },
2463
  "has-values": {
@@ -2466,8 +3211,8 @@
2466
  "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
2467
  "dev": true,
2468
  "requires": {
2469
- "is-number": "3.0.0",
2470
- "kind-of": "4.0.0"
2471
  },
2472
  "dependencies": {
2473
  "kind-of": {
@@ -2476,31 +3221,11 @@
2476
  "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
2477
  "dev": true,
2478
  "requires": {
2479
- "is-buffer": "1.1.6"
2480
  }
2481
  }
2482
  }
2483
  },
2484
- "hasha": {
2485
- "version": "2.2.0",
2486
- "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
2487
- "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
2488
- "dev": true,
2489
- "optional": true,
2490
- "requires": {
2491
- "is-stream": "1.1.0",
2492
- "pinkie-promise": "2.0.1"
2493
- }
2494
- },
2495
- "homedir-polyfill": {
2496
- "version": "1.0.1",
2497
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
2498
- "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
2499
- "dev": true,
2500
- "requires": {
2501
- "parse-passwd": "1.0.0"
2502
- }
2503
- },
2504
  "hooker": {
2505
  "version": "0.2.3",
2506
  "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
@@ -2521,21 +3246,21 @@
2521
  },
2522
  "htmlparser2": {
2523
  "version": "3.8.3",
2524
- "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
2525
  "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
2526
  "dev": true,
2527
  "requires": {
2528
- "domelementtype": "1.2.1",
2529
- "domhandler": "2.3.0",
2530
- "domutils": "1.5.1",
2531
- "entities": "1.0.0",
2532
- "readable-stream": "1.1.14"
2533
  }
2534
  },
2535
  "http-parser-js": {
2536
- "version": "0.4.13",
2537
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",
2538
- "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=",
2539
  "dev": true
2540
  },
2541
  "http-signature": {
@@ -2544,26 +3269,117 @@
2544
  "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
2545
  "dev": true,
2546
  "requires": {
2547
- "assert-plus": "1.0.0",
2548
- "jsprim": "1.4.1",
2549
- "sshpk": "1.15.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2550
  }
2551
  },
2552
  "iconv-lite": {
2553
- "version": "0.4.23",
2554
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
2555
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
2556
  "dev": true,
2557
  "requires": {
2558
- "safer-buffer": "2.1.2"
2559
  }
2560
  },
 
 
 
 
 
 
2561
  "ignore": {
2562
  "version": "4.0.6",
2563
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
2564
  "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
2565
  "dev": true
2566
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2567
  "import-lazy": {
2568
  "version": "3.1.0",
2569
  "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
@@ -2588,7 +3404,7 @@
2588
  "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
2589
  "dev": true,
2590
  "requires": {
2591
- "repeating": "2.0.1"
2592
  }
2593
  },
2594
  "indexes-of": {
@@ -2603,8 +3419,8 @@
2603
  "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2604
  "dev": true,
2605
  "requires": {
2606
- "once": "1.4.0",
2607
- "wrappy": "1.0.2"
2608
  }
2609
  },
2610
  "inherits": {
@@ -2619,6 +3435,44 @@
2619
  "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
2620
  "dev": true
2621
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2622
  "invert-kv": {
2623
  "version": "1.0.0",
2624
  "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
@@ -2631,7 +3485,7 @@
2631
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2632
  "dev": true,
2633
  "requires": {
2634
- "kind-of": "3.2.2"
2635
  },
2636
  "dependencies": {
2637
  "kind-of": {
@@ -2640,7 +3494,7 @@
2640
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2641
  "dev": true,
2642
  "requires": {
2643
- "is-buffer": "1.1.6"
2644
  }
2645
  }
2646
  }
@@ -2663,8 +3517,8 @@
2663
  "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
2664
  "dev": true,
2665
  "requires": {
2666
- "is-alphabetical": "1.0.2",
2667
- "is-decimal": "1.0.2"
2668
  }
2669
  },
2670
  "is-arrayish": {
@@ -2679,13 +3533,13 @@
2679
  "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
2680
  "dev": true
2681
  },
2682
- "is-builtin-module": {
2683
- "version": "1.0.0",
2684
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
2685
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
2686
  "dev": true,
2687
  "requires": {
2688
- "builtin-modules": "1.1.1"
2689
  }
2690
  },
2691
  "is-data-descriptor": {
@@ -2694,7 +3548,7 @@
2694
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2695
  "dev": true,
2696
  "requires": {
2697
- "kind-of": "3.2.2"
2698
  },
2699
  "dependencies": {
2700
  "kind-of": {
@@ -2703,7 +3557,7 @@
2703
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2704
  "dev": true,
2705
  "requires": {
2706
- "is-buffer": "1.1.6"
2707
  }
2708
  }
2709
  }
@@ -2720,9 +3574,9 @@
2720
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2721
  "dev": true,
2722
  "requires": {
2723
- "is-accessor-descriptor": "0.1.6",
2724
- "is-data-descriptor": "0.1.4",
2725
- "kind-of": "5.1.0"
2726
  },
2727
  "dependencies": {
2728
  "kind-of": {
@@ -2739,21 +3593,6 @@
2739
  "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
2740
  "dev": true
2741
  },
2742
- "is-dotfile": {
2743
- "version": "1.0.3",
2744
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
2745
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
2746
- "dev": true
2747
- },
2748
- "is-equal-shallow": {
2749
- "version": "0.1.3",
2750
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
2751
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
2752
- "dev": true,
2753
- "requires": {
2754
- "is-primitive": "2.0.0"
2755
- }
2756
- },
2757
  "is-extendable": {
2758
  "version": "0.1.1",
2759
  "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
@@ -2772,17 +3611,14 @@
2772
  "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
2773
  "dev": true,
2774
  "requires": {
2775
- "number-is-nan": "1.0.1"
2776
  }
2777
  },
2778
  "is-fullwidth-code-point": {
2779
- "version": "1.0.0",
2780
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
2781
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
2782
- "dev": true,
2783
- "requires": {
2784
- "number-is-nan": "1.0.1"
2785
- }
2786
  },
2787
  "is-glob": {
2788
  "version": "4.0.0",
@@ -2790,7 +3626,7 @@
2790
  "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
2791
  "dev": true,
2792
  "requires": {
2793
- "is-extglob": "2.1.1"
2794
  }
2795
  },
2796
  "is-hexadecimal": {
@@ -2805,7 +3641,7 @@
2805
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2806
  "dev": true,
2807
  "requires": {
2808
- "kind-of": "3.2.2"
2809
  },
2810
  "dependencies": {
2811
  "kind-of": {
@@ -2814,17 +3650,26 @@
2814
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2815
  "dev": true,
2816
  "requires": {
2817
- "is-buffer": "1.1.6"
2818
  }
2819
  }
2820
  }
2821
  },
2822
  "is-obj": {
2823
  "version": "1.0.1",
2824
- "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
2825
  "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
2826
  "dev": true
2827
  },
 
 
 
 
 
 
 
 
 
2828
  "is-path-cwd": {
2829
  "version": "1.0.0",
2830
  "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
@@ -2837,7 +3682,7 @@
2837
  "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
2838
  "dev": true,
2839
  "requires": {
2840
- "is-path-inside": "1.0.1"
2841
  }
2842
  },
2843
  "is-path-inside": {
@@ -2846,7 +3691,7 @@
2846
  "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
2847
  "dev": true,
2848
  "requires": {
2849
- "path-is-inside": "1.0.2"
2850
  }
2851
  },
2852
  "is-plain-obj": {
@@ -2861,19 +3706,13 @@
2861
  "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
2862
  "dev": true,
2863
  "requires": {
2864
- "isobject": "3.0.1"
2865
  }
2866
  },
2867
- "is-posix-bracket": {
2868
- "version": "0.1.1",
2869
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
2870
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
2871
- "dev": true
2872
- },
2873
- "is-primitive": {
2874
- "version": "2.0.0",
2875
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
2876
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
2877
  "dev": true
2878
  },
2879
  "is-regexp": {
@@ -2886,8 +3725,7 @@
2886
  "version": "1.1.0",
2887
  "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
2888
  "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
2889
- "dev": true,
2890
- "optional": true
2891
  },
2892
  "is-supported-regexp-flag": {
2893
  "version": "1.0.1",
@@ -2950,9 +3788,9 @@
2950
  "dev": true
2951
  },
2952
  "js-base64": {
2953
- "version": "2.4.9",
2954
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz",
2955
- "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==",
2956
  "dev": true
2957
  },
2958
  "js-tokens": {
@@ -2962,13 +3800,13 @@
2962
  "dev": true
2963
  },
2964
  "js-yaml": {
2965
- "version": "3.5.5",
2966
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
2967
- "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
2968
  "dev": true,
2969
  "requires": {
2970
- "argparse": "1.0.10",
2971
- "esprima": "2.7.3"
2972
  }
2973
  },
2974
  "jsbn": {
@@ -2978,28 +3816,33 @@
2978
  "dev": true
2979
  },
2980
  "jsesc": {
2981
- "version": "2.5.1",
2982
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
2983
- "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=",
2984
  "dev": true
2985
  },
2986
  "jshint": {
2987
- "version": "2.9.6",
2988
- "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.6.tgz",
2989
- "integrity": "sha512-KO9SIAKTlJQOM4lE64GQUtGBRpTOuvbrRrSZw3AhUxMNG266nX9hK2cKA4SBhXOj0irJGyNyGSLT62HGOVDEOA==",
2990
- "dev": true,
2991
- "requires": {
2992
- "cli": "1.0.1",
2993
- "console-browserify": "1.1.0",
2994
- "exit": "0.1.2",
2995
- "htmlparser2": "3.8.3",
2996
- "lodash": "4.17.10",
2997
- "minimatch": "3.0.4",
2998
- "phantom": "4.0.12",
2999
- "phantomjs-prebuilt": "2.1.16",
3000
- "shelljs": "0.3.0",
3001
- "strip-json-comments": "1.0.4",
3002
- "unicode-5.2.0": "0.7.5"
 
 
 
 
 
3003
  }
3004
  },
3005
  "json-parse-better-errors": {
@@ -3015,9 +3858,15 @@
3015
  "dev": true
3016
  },
3017
  "json-schema-traverse": {
3018
- "version": "0.3.1",
3019
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
3020
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
 
 
 
 
 
 
3021
  "dev": true
3022
  },
3023
  "json-stringify-safe": {
@@ -3027,19 +3876,20 @@
3027
  "dev": true
3028
  },
3029
  "json5": {
3030
- "version": "0.5.1",
3031
- "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
3032
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
3033
- "dev": true
3034
- },
3035
- "jsonfile": {
3036
- "version": "2.4.0",
3037
- "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
3038
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
3039
  "dev": true,
3040
- "optional": true,
3041
  "requires": {
3042
- "graceful-fs": "4.1.11"
 
 
 
 
 
 
 
 
3043
  }
3044
  },
3045
  "jsprim": {
@@ -3054,42 +3904,66 @@
3054
  "verror": "1.10.0"
3055
  }
3056
  },
3057
- "kew": {
3058
- "version": "0.7.0",
3059
- "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
3060
- "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
3061
- "dev": true,
3062
- "optional": true
3063
- },
3064
  "kind-of": {
3065
  "version": "6.0.2",
3066
  "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3067
  "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
3068
  "dev": true
3069
  },
3070
- "klaw": {
3071
- "version": "1.3.1",
3072
- "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
3073
- "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
 
 
 
 
 
 
3074
  "dev": true,
3075
- "optional": true,
3076
  "requires": {
3077
- "graceful-fs": "4.1.11"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3078
  }
3079
  },
3080
- "known-css-properties": {
3081
- "version": "0.9.0",
3082
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.9.0.tgz",
3083
- "integrity": "sha512-2G/A/8XPhH6MmuVgl079wYsgdqfXE3cfm62txk/ajS4wvRWo6tEHcgQCJCHOOy12Fse1Sxlbf7/IJBpR9hnVew==",
3084
- "dev": true
3085
- },
3086
  "lcid": {
3087
  "version": "1.0.0",
3088
  "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
3089
  "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
3090
  "dev": true,
3091
  "requires": {
3092
- "invert-kv": "1.0.0"
3093
  }
3094
  },
3095
  "leven": {
@@ -3098,51 +3972,237 @@
3098
  "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
3099
  "dev": true
3100
  },
3101
- "livereload-js": {
3102
- "version": "2.3.0",
3103
- "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
3104
- "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==",
3105
- "dev": true
3106
- },
3107
- "load-json-file": {
3108
- "version": "1.1.0",
3109
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
3110
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
3111
- "dev": true,
3112
- "requires": {
3113
- "graceful-fs": "4.1.11",
3114
- "parse-json": "2.2.0",
3115
- "pify": "2.3.0",
3116
- "pinkie-promise": "2.0.1",
3117
- "strip-bom": "2.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3118
  }
3119
  },
3120
- "locate-path": {
3121
- "version": "2.0.0",
3122
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
3123
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
3124
  "dev": true,
3125
  "requires": {
3126
- "p-locate": "2.0.0",
3127
- "path-exists": "3.0.0"
 
 
 
 
 
 
 
3128
  },
3129
  "dependencies": {
3130
- "path-exists": {
3131
- "version": "3.0.0",
3132
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
3133
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
3134
  "dev": true
3135
  }
3136
  }
3137
  },
3138
- "lodash": {
3139
- "version": "4.17.10",
3140
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
3141
- "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
3142
  "dev": true
3143
  },
3144
- "lodash.assign": {
3145
- "version": "4.2.0",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3146
  "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
3147
  "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
3148
  "dev": true
@@ -3165,7 +4225,18 @@
3165
  "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
3166
  "dev": true,
3167
  "requires": {
3168
- "chalk": "2.4.1"
 
 
 
 
 
 
 
 
 
 
 
3169
  }
3170
  },
3171
  "longest-streak": {
@@ -3180,18 +4251,18 @@
3180
  "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
3181
  "dev": true,
3182
  "requires": {
3183
- "currently-unhandled": "0.4.1",
3184
- "signal-exit": "3.0.2"
3185
  }
3186
  },
3187
  "lru-cache": {
3188
- "version": "4.1.3",
3189
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
3190
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
3191
  "dev": true,
3192
  "requires": {
3193
- "pseudomap": "1.0.2",
3194
- "yallist": "2.1.2"
3195
  }
3196
  },
3197
  "map-cache": {
@@ -3212,7 +4283,7 @@
3212
  "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
3213
  "dev": true,
3214
  "requires": {
3215
- "object-visit": "1.0.1"
3216
  }
3217
  },
3218
  "markdown-escapes": {
@@ -3227,11 +4298,14 @@
3227
  "integrity": "sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw==",
3228
  "dev": true
3229
  },
3230
- "math-random": {
3231
- "version": "1.0.1",
3232
- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
3233
- "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
3234
- "dev": true
 
 
 
3235
  },
3236
  "mathml-tag-names": {
3237
  "version": "2.1.0",
@@ -3245,12 +4319,18 @@
3245
  "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
3246
  "dev": true,
3247
  "requires": {
3248
- "chalk": "1.1.3",
3249
- "figures": "1.7.0",
3250
- "gzip-size": "3.0.0",
3251
- "pretty-bytes": "3.0.1"
3252
  },
3253
  "dependencies": {
 
 
 
 
 
 
3254
  "ansi-styles": {
3255
  "version": "2.2.1",
3256
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
@@ -3259,15 +4339,34 @@
3259
  },
3260
  "chalk": {
3261
  "version": "1.1.3",
3262
- "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
3263
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3264
  "dev": true,
3265
  "requires": {
3266
- "ansi-styles": "2.2.1",
3267
- "escape-string-regexp": "1.0.5",
3268
- "has-ansi": "2.0.0",
3269
- "strip-ansi": "3.0.1",
3270
- "supports-color": "2.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3271
  }
3272
  },
3273
  "supports-color": {
@@ -3284,7 +4383,7 @@
3284
  "integrity": "sha512-d2WS98JSDVbpSsBfVvD9TaDMlqPRz7ohM/11G0rp5jOBb5q96RJ6YLszQ/09AAixyzh23FeIpCGqfaamEADtWg==",
3285
  "dev": true,
3286
  "requires": {
3287
- "unist-util-visit": "1.4.0"
3288
  }
3289
  },
3290
  "meow": {
@@ -3293,16 +4392,24 @@
3293
  "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
3294
  "dev": true,
3295
  "requires": {
3296
- "camelcase-keys": "2.1.0",
3297
- "decamelize": "1.2.0",
3298
- "loud-rejection": "1.6.0",
3299
- "map-obj": "1.0.1",
3300
- "minimist": "1.2.0",
3301
- "normalize-package-data": "2.4.0",
3302
- "object-assign": "4.1.1",
3303
- "read-pkg-up": "1.0.1",
3304
- "redent": "1.0.0",
3305
- "trim-newlines": "1.0.0"
 
 
 
 
 
 
 
 
3306
  }
3307
  },
3308
  "merge2": {
@@ -3312,94 +4419,24 @@
3312
  "dev": true
3313
  },
3314
  "micromatch": {
3315
- "version": "2.3.11",
3316
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
3317
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
3318
- "dev": true,
3319
- "requires": {
3320
- "arr-diff": "2.0.0",
3321
- "array-unique": "0.2.1",
3322
- "braces": "1.8.5",
3323
- "expand-brackets": "0.1.5",
3324
- "extglob": "0.3.2",
3325
- "filename-regex": "2.0.1",
3326
- "is-extglob": "1.0.0",
3327
- "is-glob": "2.0.1",
3328
- "kind-of": "3.2.2",
3329
- "normalize-path": "2.1.1",
3330
- "object.omit": "2.0.1",
3331
- "parse-glob": "3.0.4",
3332
- "regex-cache": "0.4.4"
3333
- },
3334
- "dependencies": {
3335
- "arr-diff": {
3336
- "version": "2.0.0",
3337
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
3338
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
3339
- "dev": true,
3340
- "requires": {
3341
- "arr-flatten": "1.1.0"
3342
- }
3343
- },
3344
- "array-unique": {
3345
- "version": "0.2.1",
3346
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
3347
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
3348
- "dev": true
3349
- },
3350
- "braces": {
3351
- "version": "1.8.5",
3352
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
3353
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
3354
- "dev": true,
3355
- "requires": {
3356
- "expand-range": "1.8.2",
3357
- "preserve": "0.2.0",
3358
- "repeat-element": "1.1.3"
3359
- }
3360
- },
3361
- "expand-brackets": {
3362
- "version": "0.1.5",
3363
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
3364
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
3365
- "dev": true,
3366
- "requires": {
3367
- "is-posix-bracket": "0.1.1"
3368
- }
3369
- },
3370
- "extglob": {
3371
- "version": "0.3.2",
3372
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
3373
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
3374
- "dev": true,
3375
- "requires": {
3376
- "is-extglob": "1.0.0"
3377
- }
3378
- },
3379
- "is-extglob": {
3380
- "version": "1.0.0",
3381
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
3382
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
3383
- "dev": true
3384
- },
3385
- "is-glob": {
3386
- "version": "2.0.1",
3387
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
3388
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
3389
- "dev": true,
3390
- "requires": {
3391
- "is-extglob": "1.0.0"
3392
- }
3393
- },
3394
- "kind-of": {
3395
- "version": "3.2.2",
3396
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3397
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3398
- "dev": true,
3399
- "requires": {
3400
- "is-buffer": "1.1.6"
3401
- }
3402
- }
3403
  }
3404
  },
3405
  "mime-db": {
@@ -3414,22 +4451,35 @@
3414
  "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
3415
  "dev": true,
3416
  "requires": {
3417
- "mime-db": "1.37.0"
3418
  }
3419
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
3420
  "minimatch": {
3421
  "version": "3.0.4",
3422
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
3423
  "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
3424
  "dev": true,
3425
  "requires": {
3426
- "brace-expansion": "1.1.11"
3427
  }
3428
  },
3429
  "minimist": {
3430
- "version": "1.2.0",
3431
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
3432
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
3433
  "dev": true
3434
  },
3435
  "minimist-options": {
@@ -3438,8 +4488,8 @@
3438
  "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
3439
  "dev": true,
3440
  "requires": {
3441
- "arrify": "1.0.1",
3442
- "is-plain-obj": "1.1.0"
3443
  }
3444
  },
3445
  "mixin-deep": {
@@ -3448,8 +4498,8 @@
3448
  "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
3449
  "dev": true,
3450
  "requires": {
3451
- "for-in": "1.0.2",
3452
- "is-extendable": "1.0.1"
3453
  },
3454
  "dependencies": {
3455
  "is-extendable": {
@@ -3458,7 +4508,7 @@
3458
  "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
3459
  "dev": true,
3460
  "requires": {
3461
- "is-plain-object": "2.0.4"
3462
  }
3463
  }
3464
  }
@@ -3470,26 +4520,24 @@
3470
  "dev": true,
3471
  "requires": {
3472
  "minimist": "0.0.8"
3473
- },
3474
- "dependencies": {
3475
- "minimist": {
3476
- "version": "0.0.8",
3477
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
3478
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
3479
- "dev": true
3480
- }
3481
  }
3482
  },
3483
  "ms": {
3484
- "version": "2.0.0",
3485
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3486
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
 
 
 
 
 
 
3487
  "dev": true
3488
  },
3489
  "nan": {
3490
- "version": "2.11.1",
3491
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
3492
- "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
3493
  "dev": true
3494
  },
3495
  "nanomatch": {
@@ -3498,17 +4546,39 @@
3498
  "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
3499
  "dev": true,
3500
  "requires": {
3501
- "arr-diff": "4.0.0",
3502
- "array-unique": "0.3.2",
3503
- "define-property": "2.0.2",
3504
- "extend-shallow": "3.0.2",
3505
- "fragment-cache": "0.2.1",
3506
- "is-windows": "1.0.2",
3507
- "kind-of": "6.0.2",
3508
- "object.pick": "1.3.0",
3509
- "regex-not": "1.0.2",
3510
- "snapdragon": "0.8.2",
3511
- "to-regex": "3.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3512
  }
3513
  },
3514
  "node-gyp": {
@@ -3517,64 +4587,70 @@
3517
  "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
3518
  "dev": true,
3519
  "requires": {
3520
- "fstream": "1.0.11",
3521
- "glob": "7.0.6",
3522
- "graceful-fs": "4.1.11",
3523
- "mkdirp": "0.5.1",
3524
- "nopt": "3.0.6",
3525
- "npmlog": "4.1.2",
3526
- "osenv": "0.1.5",
3527
- "request": "2.88.0",
3528
- "rimraf": "2.6.2",
3529
- "semver": "5.3.0",
3530
- "tar": "2.2.1",
3531
- "which": "1.3.1"
3532
  },
3533
  "dependencies": {
3534
  "semver": {
3535
  "version": "5.3.0",
3536
- "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
3537
  "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
3538
  "dev": true
3539
  }
3540
  }
3541
  },
3542
  "node-releases": {
3543
- "version": "1.0.3",
3544
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.3.tgz",
3545
- "integrity": "sha512-ZaZWMsbuDcetpHmYeKWPO6e63pSXLb50M7lJgCbcM2nC/nQC3daNifmtp5a2kp7EWwYfhuvH6zLPWkrF8IiDdw==",
3546
  "dev": true,
3547
  "requires": {
3548
- "semver": "5.5.0"
3549
  }
3550
  },
3551
  "node-sass": {
3552
- "version": "4.10.0",
3553
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.10.0.tgz",
3554
- "integrity": "sha512-fDQJfXszw6vek63Fe/ldkYXmRYK/QS6NbvM3i5oEo9ntPDy4XX7BcKZyTKv+/kSSxRtXXc7l+MSwEmYc0CSy6Q==",
3555
- "dev": true,
3556
- "requires": {
3557
- "async-foreach": "0.1.3",
3558
- "chalk": "1.1.3",
3559
- "cross-spawn": "3.0.1",
3560
- "gaze": "1.1.3",
3561
- "get-stdin": "4.0.1",
3562
- "glob": "7.0.6",
3563
- "in-publish": "2.0.0",
3564
- "lodash.assign": "4.2.0",
3565
- "lodash.clonedeep": "4.5.0",
3566
- "lodash.mergewith": "4.6.1",
3567
- "meow": "3.7.0",
3568
- "mkdirp": "0.5.1",
3569
- "nan": "2.11.1",
3570
- "node-gyp": "3.8.0",
3571
- "npmlog": "4.1.2",
3572
- "request": "2.88.0",
3573
- "sass-graph": "2.2.4",
3574
- "stdout-stream": "1.4.1",
3575
- "true-case-path": "1.0.3"
3576
  },
3577
  "dependencies": {
 
 
 
 
 
 
3578
  "ansi-styles": {
3579
  "version": "2.2.1",
3580
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
@@ -3583,15 +4659,34 @@
3583
  },
3584
  "chalk": {
3585
  "version": "1.1.3",
3586
- "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
3587
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3588
  "dev": true,
3589
  "requires": {
3590
- "ansi-styles": "2.2.1",
3591
- "escape-string-regexp": "1.0.5",
3592
- "has-ansi": "2.0.0",
3593
- "strip-ansi": "3.0.1",
3594
- "supports-color": "2.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3595
  }
3596
  },
3597
  "supports-color": {
@@ -3603,39 +4698,54 @@
3603
  }
3604
  },
3605
  "node-wp-i18n": {
3606
- "version": "1.2.0",
3607
- "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.0.tgz",
3608
- "integrity": "sha512-HsvI4yYt+bZ1G92Sb4YmAz2xoC7t/YWct/OPa33ZczjLrRpp7R9Wj7vp1gq2bcrCI2U7MX8Kuw0Iy7AwEPohdA==",
3609
  "dev": true,
3610
  "requires": {
3611
- "bluebird": "3.5.1",
3612
- "gettext-parser": "1.4.0",
3613
- "glob": "7.0.6",
3614
- "lodash": "4.17.10",
3615
- "minimist": "1.2.0",
3616
- "mkdirp": "0.5.1",
3617
- "tmp": "0.0.33"
 
 
 
 
 
 
 
 
3618
  }
3619
  },
 
 
 
 
 
 
 
3620
  "nopt": {
3621
  "version": "3.0.6",
3622
  "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
3623
  "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
3624
  "dev": true,
3625
  "requires": {
3626
- "abbrev": "1.1.1"
3627
  }
3628
  },
3629
  "normalize-package-data": {
3630
- "version": "2.4.0",
3631
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
3632
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
3633
  "dev": true,
3634
  "requires": {
3635
- "hosted-git-info": "2.7.1",
3636
- "is-builtin-module": "1.0.0",
3637
- "semver": "5.5.0",
3638
- "validate-npm-package-license": "3.0.3"
3639
  }
3640
  },
3641
  "normalize-path": {
@@ -3644,7 +4754,7 @@
3644
  "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
3645
  "dev": true,
3646
  "requires": {
3647
- "remove-trailing-separator": "1.1.0"
3648
  }
3649
  },
3650
  "normalize-range": {
@@ -3659,16 +4769,45 @@
3659
  "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
3660
  "dev": true
3661
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3662
  "npmlog": {
3663
  "version": "4.1.2",
3664
  "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
3665
  "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
3666
  "dev": true,
3667
  "requires": {
3668
- "are-we-there-yet": "1.1.5",
3669
- "console-control-strings": "1.1.0",
3670
- "gauge": "2.7.4",
3671
- "set-blocking": "2.0.0"
3672
  }
3673
  },
3674
  "num2fraction": {
@@ -3701,9 +4840,9 @@
3701
  "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
3702
  "dev": true,
3703
  "requires": {
3704
- "copy-descriptor": "0.1.1",
3705
- "define-property": "0.2.5",
3706
- "kind-of": "3.2.2"
3707
  },
3708
  "dependencies": {
3709
  "define-property": {
@@ -3712,7 +4851,7 @@
3712
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3713
  "dev": true,
3714
  "requires": {
3715
- "is-descriptor": "0.1.6"
3716
  }
3717
  },
3718
  "kind-of": {
@@ -3721,7 +4860,7 @@
3721
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3722
  "dev": true,
3723
  "requires": {
3724
- "is-buffer": "1.1.6"
3725
  }
3726
  }
3727
  }
@@ -3732,17 +4871,7 @@
3732
  "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
3733
  "dev": true,
3734
  "requires": {
3735
- "isobject": "3.0.1"
3736
- }
3737
- },
3738
- "object.omit": {
3739
- "version": "2.0.1",
3740
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
3741
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
3742
- "dev": true,
3743
- "requires": {
3744
- "for-own": "0.1.5",
3745
- "is-extendable": "0.1.1"
3746
  }
3747
  },
3748
  "object.pick": {
@@ -3751,7 +4880,7 @@
3751
  "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
3752
  "dev": true,
3753
  "requires": {
3754
- "isobject": "3.0.1"
3755
  }
3756
  },
3757
  "once": {
@@ -3760,7 +4889,30 @@
3760
  "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
3761
  "dev": true,
3762
  "requires": {
3763
- "wrappy": "1.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3764
  }
3765
  },
3766
  "os-homedir": {
@@ -3771,11 +4923,11 @@
3771
  },
3772
  "os-locale": {
3773
  "version": "1.4.0",
3774
- "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
3775
  "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
3776
  "dev": true,
3777
  "requires": {
3778
- "lcid": "1.0.0"
3779
  }
3780
  },
3781
  "os-tmpdir": {
@@ -3790,75 +4942,67 @@
3790
  "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
3791
  "dev": true,
3792
  "requires": {
3793
- "os-homedir": "1.0.2",
3794
- "os-tmpdir": "1.0.2"
3795
  }
3796
  },
 
 
 
 
 
 
3797
  "p-limit": {
3798
- "version": "1.3.0",
3799
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
3800
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
3801
  "dev": true,
3802
  "requires": {
3803
- "p-try": "1.0.0"
3804
  }
3805
  },
3806
  "p-locate": {
3807
- "version": "2.0.0",
3808
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
3809
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
3810
  "dev": true,
3811
  "requires": {
3812
- "p-limit": "1.3.0"
3813
  }
3814
  },
 
 
 
 
 
 
3815
  "p-try": {
3816
- "version": "1.0.0",
3817
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
3818
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
3819
  "dev": true
3820
  },
3821
- "parse-entities": {
3822
- "version": "1.2.0",
3823
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.0.tgz",
3824
- "integrity": "sha512-XXtDdOPLSB0sHecbEapQi6/58U/ODj/KWfIXmmMCJF/eRn8laX6LZbOyioMoETOOJoWRW8/qTSl5VQkUIfKM5g==",
3825
  "dev": true,
3826
  "requires": {
3827
- "character-entities": "1.2.2",
3828
- "character-entities-legacy": "1.1.2",
3829
- "character-reference-invalid": "1.1.2",
3830
- "is-alphanumerical": "1.0.2",
3831
- "is-decimal": "1.0.2",
3832
- "is-hexadecimal": "1.0.2"
3833
  }
3834
  },
3835
- "parse-glob": {
3836
- "version": "3.0.4",
3837
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
3838
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
3839
  "dev": true,
3840
  "requires": {
3841
- "glob-base": "0.3.0",
3842
- "is-dotfile": "1.0.3",
3843
- "is-extglob": "1.0.0",
3844
- "is-glob": "2.0.1"
3845
- },
3846
- "dependencies": {
3847
- "is-extglob": {
3848
- "version": "1.0.0",
3849
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
3850
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
3851
- "dev": true
3852
- },
3853
- "is-glob": {
3854
- "version": "2.0.1",
3855
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
3856
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
3857
- "dev": true,
3858
- "requires": {
3859
- "is-extglob": "1.0.0"
3860
- }
3861
- }
3862
  }
3863
  },
3864
  "parse-json": {
@@ -3867,15 +5011,9 @@
3867
  "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
3868
  "dev": true,
3869
  "requires": {
3870
- "error-ex": "1.3.2"
3871
  }
3872
  },
3873
- "parse-passwd": {
3874
- "version": "1.0.0",
3875
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
3876
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
3877
- "dev": true
3878
- },
3879
  "pascalcase": {
3880
  "version": "0.1.1",
3881
  "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
@@ -3894,7 +5032,7 @@
3894
  "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
3895
  "dev": true,
3896
  "requires": {
3897
- "pinkie-promise": "2.0.1"
3898
  }
3899
  },
3900
  "path-is-absolute": {
@@ -3909,6 +5047,12 @@
3909
  "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
3910
  "dev": true
3911
  },
 
 
 
 
 
 
3912
  "path-parse": {
3913
  "version": "1.0.6",
3914
  "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
@@ -3921,54 +5065,17 @@
3921
  "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
3922
  "dev": true,
3923
  "requires": {
3924
- "graceful-fs": "4.1.11",
3925
- "pify": "2.3.0",
3926
- "pinkie-promise": "2.0.1"
3927
  }
3928
  },
3929
- "pend": {
3930
- "version": "1.2.0",
3931
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
3932
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
3933
- "dev": true,
3934
- "optional": true
3935
- },
3936
  "performance-now": {
3937
  "version": "2.1.0",
3938
  "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
3939
  "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
3940
  "dev": true
3941
  },
3942
- "phantom": {
3943
- "version": "4.0.12",
3944
- "resolved": "https://registry.npmjs.org/phantom/-/phantom-4.0.12.tgz",
3945
- "integrity": "sha512-Tz82XhtPmwCk1FFPmecy7yRGZG2btpzY2KI9fcoPT7zT9det0CcMyfBFPp1S8DqzsnQnm8ZYEfdy528mwVtksA==",
3946
- "dev": true,
3947
- "optional": true,
3948
- "requires": {
3949
- "phantomjs-prebuilt": "2.1.16",
3950
- "split": "1.0.1",
3951
- "winston": "2.4.4"
3952
- }
3953
- },
3954
- "phantomjs-prebuilt": {
3955
- "version": "2.1.16",
3956
- "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
3957
- "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
3958
- "dev": true,
3959
- "optional": true,
3960
- "requires": {
3961
- "es6-promise": "4.2.5",
3962
- "extract-zip": "1.6.7",
3963
- "fs-extra": "1.0.0",
3964
- "hasha": "2.2.0",
3965
- "kew": "0.7.0",
3966
- "progress": "1.1.8",
3967
- "request": "2.88.0",
3968
- "request-progress": "2.0.1",
3969
- "which": "1.3.1"
3970
- }
3971
- },
3972
  "pify": {
3973
  "version": "2.3.0",
3974
  "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@@ -3987,9 +5094,44 @@
3987
  "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
3988
  "dev": true,
3989
  "requires": {
3990
- "pinkie": "2.0.4"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3991
  }
3992
  },
 
 
 
 
 
 
3993
  "posix-character-classes": {
3994
  "version": "0.1.1",
3995
  "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -3997,31 +5139,25 @@
3997
  "dev": true
3998
  },
3999
  "postcss": {
4000
- "version": "6.0.23",
4001
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
4002
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
4003
  "dev": true,
4004
  "requires": {
4005
- "chalk": "2.4.1",
4006
- "source-map": "0.6.1",
4007
- "supports-color": "5.4.0"
4008
  }
4009
  },
4010
  "postcss-html": {
4011
- "version": "0.34.0",
4012
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.34.0.tgz",
4013
- "integrity": "sha512-BIW982Kbf9/RikInNhNS3/GA6x/qY/+jhVS9KumqXZtU9ss8Yq15HhPJ6mnaXcU5bFq2ULxpOv96mHPAErpGMQ==",
4014
  "dev": true,
4015
  "requires": {
4016
- "htmlparser2": "3.10.0"
4017
  },
4018
  "dependencies": {
4019
- "domelementtype": {
4020
- "version": "1.3.0",
4021
- "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
4022
- "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
4023
- "dev": true
4024
- },
4025
  "entities": {
4026
  "version": "1.1.2",
4027
  "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
@@ -4034,85 +5170,62 @@
4034
  "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==",
4035
  "dev": true,
4036
  "requires": {
4037
- "domelementtype": "1.3.0",
4038
- "domhandler": "2.3.0",
4039
- "domutils": "1.5.1",
4040
- "entities": "1.1.2",
4041
- "inherits": "2.0.3",
4042
- "readable-stream": "3.0.6"
4043
  }
4044
  },
4045
  "readable-stream": {
4046
- "version": "3.0.6",
4047
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz",
4048
- "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==",
4049
  "dev": true,
4050
  "requires": {
4051
- "inherits": "2.0.3",
4052
- "string_decoder": "1.1.1",
4053
- "util-deprecate": "1.0.2"
4054
  }
4055
  },
4056
  "string_decoder": {
4057
- "version": "1.1.1",
4058
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
4059
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
4060
  "dev": true,
4061
  "requires": {
4062
- "safe-buffer": "5.1.2"
4063
  }
4064
  }
4065
  }
4066
  },
4067
  "postcss-jsx": {
4068
- "version": "0.35.0",
4069
- "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.35.0.tgz",
4070
- "integrity": "sha512-AU2/9QDmHYJRxTiniMt2bJ9fwCzVF6n00VnR4gdnFGHeXRW2mGwoptpuPgYjfivkdI8LlNIuo+w8TyS6a4JhJw==",
4071
  "dev": true,
4072
  "requires": {
4073
- "@babel/core": "7.1.2",
4074
- "postcss-styled": "0.34.0"
4075
  }
4076
  },
4077
  "postcss-less": {
4078
- "version": "3.0.2",
4079
- "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.0.2.tgz",
4080
- "integrity": "sha512-+JBOampmDnuaf4w8OIEqkCiF+sOm/nWukDsC+1FTrYcIstptOISzGpYZk24Qh+Ewlmzmi53sRyiTbiGvMCDRwA==",
4081
  "dev": true,
4082
  "requires": {
4083
- "postcss": "7.0.5"
4084
- },
4085
- "dependencies": {
4086
- "postcss": {
4087
- "version": "7.0.5",
4088
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
4089
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
4090
- "dev": true,
4091
- "requires": {
4092
- "chalk": "2.4.1",
4093
- "source-map": "0.6.1",
4094
- "supports-color": "5.5.0"
4095
- }
4096
- },
4097
- "supports-color": {
4098
- "version": "5.5.0",
4099
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
4100
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
4101
- "dev": true,
4102
- "requires": {
4103
- "has-flag": "3.0.0"
4104
- }
4105
- }
4106
  }
4107
  },
4108
  "postcss-markdown": {
4109
- "version": "0.34.0",
4110
- "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.34.0.tgz",
4111
- "integrity": "sha512-cKPggF9OMOKPoqDm5YpYszCqMsImFh78FK6P8p6IsEKZB6IkUJYKz0/QgadYy4jLb60jcFIHJ6v6jsMH7/ZQrA==",
4112
  "dev": true,
4113
  "requires": {
4114
- "remark": "9.0.0",
4115
- "unist-util-find-all-after": "1.0.2"
4116
  }
4117
  },
4118
  "postcss-media-query-parser": {
@@ -4122,37 +5235,15 @@
4122
  "dev": true
4123
  },
4124
  "postcss-reporter": {
4125
- "version": "6.0.0",
4126
- "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.0.tgz",
4127
- "integrity": "sha512-5xQXm1UPWuFObjbtyQzWvQaupru8yFcFi4HUlm6OPo1o2bUszYASuqRJ7bVArb3svGCdbYtqdMBKrqR1Aoy+tw==",
4128
  "dev": true,
4129
  "requires": {
4130
- "chalk": "2.4.1",
4131
- "lodash": "4.17.10",
4132
- "log-symbols": "2.2.0",
4133
- "postcss": "7.0.5"
4134
- },
4135
- "dependencies": {
4136
- "postcss": {
4137
- "version": "7.0.5",
4138
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
4139
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
4140
- "dev": true,
4141
- "requires": {
4142
- "chalk": "2.4.1",
4143
- "source-map": "0.6.1",
4144
- "supports-color": "5.5.0"
4145
- }
4146
- },
4147
- "supports-color": {
4148
- "version": "5.5.0",
4149
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
4150
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
4151
- "dev": true,
4152
- "requires": {
4153
- "has-flag": "3.0.0"
4154
- }
4155
- }
4156
  }
4157
  },
4158
  "postcss-resolve-nested-selector": {
@@ -4167,29 +5258,7 @@
4167
  "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
4168
  "dev": true,
4169
  "requires": {
4170
- "postcss": "7.0.5"
4171
- },
4172
- "dependencies": {
4173
- "postcss": {
4174
- "version": "7.0.5",
4175
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
4176
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
4177
- "dev": true,
4178
- "requires": {
4179
- "chalk": "2.4.1",
4180
- "source-map": "0.6.1",
4181
- "supports-color": "5.5.0"
4182
- }
4183
- },
4184
- "supports-color": {
4185
- "version": "5.5.0",
4186
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
4187
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
4188
- "dev": true,
4189
- "requires": {
4190
- "has-flag": "3.0.0"
4191
- }
4192
- }
4193
  }
4194
  },
4195
  "postcss-sass": {
@@ -4198,61 +5267,17 @@
4198
  "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==",
4199
  "dev": true,
4200
  "requires": {
4201
- "gonzales-pe": "4.2.3",
4202
- "postcss": "7.0.5"
4203
- },
4204
- "dependencies": {
4205
- "postcss": {
4206
- "version": "7.0.5",
4207
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
4208
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
4209
- "dev": true,
4210
- "requires": {
4211
- "chalk": "2.4.1",
4212
- "source-map": "0.6.1",
4213
- "supports-color": "5.5.0"
4214
- }
4215
- },
4216
- "supports-color": {
4217
- "version": "5.5.0",
4218
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
4219
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
4220
- "dev": true,
4221
- "requires": {
4222
- "has-flag": "3.0.0"
4223
- }
4224
- }
4225
  }
4226
- },
4227
- "postcss-scss": {
4228
- "version": "2.0.0",
4229
- "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz",
4230
- "integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==",
4231
- "dev": true,
4232
- "requires": {
4233
- "postcss": "7.0.5"
4234
- },
4235
- "dependencies": {
4236
- "postcss": {
4237
- "version": "7.0.5",
4238
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
4239
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
4240
- "dev": true,
4241
- "requires": {
4242
- "chalk": "2.4.1",
4243
- "source-map": "0.6.1",
4244
- "supports-color": "5.5.0"
4245
- }
4246
- },
4247
- "supports-color": {
4248
- "version": "5.5.0",
4249
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
4250
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
4251
- "dev": true,
4252
- "requires": {
4253
- "has-flag": "3.0.0"
4254
- }
4255
- }
4256
  }
4257
  },
4258
  "postcss-selector-parser": {
@@ -4261,21 +5286,15 @@
4261
  "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
4262
  "dev": true,
4263
  "requires": {
4264
- "dot-prop": "4.2.0",
4265
- "indexes-of": "1.0.1",
4266
- "uniq": "1.0.1"
4267
  }
4268
  },
4269
- "postcss-styled": {
4270
- "version": "0.34.0",
4271
- "resolved": "https://registry.npmjs.org/postcss-styled/-/postcss-styled-0.34.0.tgz",
4272
- "integrity": "sha512-Uaeetr/xOiQWGJgzPFOr32/Bwykpfh9TVE26OpmwDb8eEN205TS/gqkt9ri+C6otQzQKXqbMfeZNbKYi7QpeNA==",
4273
- "dev": true
4274
- },
4275
  "postcss-syntax": {
4276
- "version": "0.34.0",
4277
- "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.34.0.tgz",
4278
- "integrity": "sha512-L36NZwq2UK743US+vl1CRMdBRZCBmFYfThP9n9jCFhX1Wfk6BqnRSgt0Fy8q44IwxPee/GCzlo7T1c1JIeUDlQ==",
4279
  "dev": true
4280
  },
4281
  "postcss-value-parser": {
@@ -4284,10 +5303,61 @@
4284
  "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
4285
  "dev": true
4286
  },
4287
- "preserve": {
4288
- "version": "0.2.0",
4289
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
4290
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4291
  "dev": true
4292
  },
4293
  "pretty-bytes": {
@@ -4296,7 +5366,7 @@
4296
  "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
4297
  "dev": true,
4298
  "requires": {
4299
- "number-is-nan": "1.0.1"
4300
  }
4301
  },
4302
  "process-nextick-args": {
@@ -4306,11 +5376,16 @@
4306
  "dev": true
4307
  },
4308
  "progress": {
4309
- "version": "1.1.8",
4310
- "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
4311
- "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
4312
- "dev": true,
4313
- "optional": true
 
 
 
 
 
4314
  },
4315
  "pseudomap": {
4316
  "version": "1.0.2",
@@ -4319,21 +5394,31 @@
4319
  "dev": true
4320
  },
4321
  "psl": {
4322
- "version": "1.1.29",
4323
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
4324
- "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
4325
  "dev": true
4326
  },
 
 
 
 
 
 
 
 
 
 
4327
  "punycode": {
4328
- "version": "1.4.1",
4329
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
4330
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
4331
  "dev": true
4332
  },
4333
  "qs": {
4334
- "version": "6.5.2",
4335
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
4336
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
4337
  "dev": true
4338
  },
4339
  "quick-lru": {
@@ -4342,33 +5427,36 @@
4342
  "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
4343
  "dev": true
4344
  },
4345
- "randomatic": {
4346
- "version": "3.1.1",
4347
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
4348
- "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
4349
- "dev": true,
4350
- "requires": {
4351
- "is-number": "4.0.0",
4352
- "kind-of": "6.0.2",
4353
- "math-random": "1.0.1"
4354
- },
4355
- "dependencies": {
4356
- "is-number": {
4357
- "version": "4.0.0",
4358
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
4359
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
4360
- "dev": true
4361
- }
4362
- }
4363
- },
4364
  "raw-body": {
4365
  "version": "1.1.7",
4366
  "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
4367
  "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
4368
  "dev": true,
4369
  "requires": {
4370
- "bytes": "1.0.0",
4371
- "string_decoder": "0.10.31"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4372
  }
4373
  },
4374
  "read-pkg": {
@@ -4377,9 +5465,9 @@
4377
  "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
4378
  "dev": true,
4379
  "requires": {
4380
- "load-json-file": "1.1.0",
4381
- "normalize-package-data": "2.4.0",
4382
- "path-type": "1.1.0"
4383
  }
4384
  },
4385
  "read-pkg-up": {
@@ -4388,20 +5476,20 @@
4388
  "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
4389
  "dev": true,
4390
  "requires": {
4391
- "find-up": "1.1.2",
4392
- "read-pkg": "1.1.0"
4393
  }
4394
  },
4395
  "readable-stream": {
4396
  "version": "1.1.14",
4397
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
4398
  "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
4399
  "dev": true,
4400
  "requires": {
4401
- "core-util-is": "1.0.2",
4402
- "inherits": "2.0.3",
4403
  "isarray": "0.0.1",
4404
- "string_decoder": "0.10.31"
4405
  }
4406
  },
4407
  "redent": {
@@ -4410,18 +5498,15 @@
4410
  "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
4411
  "dev": true,
4412
  "requires": {
4413
- "indent-string": "2.1.0",
4414
- "strip-indent": "1.0.1"
4415
  }
4416
  },
4417
- "regex-cache": {
4418
- "version": "0.4.4",
4419
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
4420
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
4421
- "dev": true,
4422
- "requires": {
4423
- "is-equal-shallow": "0.1.3"
4424
- }
4425
  },
4426
  "regex-not": {
4427
  "version": "1.0.2",
@@ -4429,64 +5514,70 @@
4429
  "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
4430
  "dev": true,
4431
  "requires": {
4432
- "extend-shallow": "3.0.2",
4433
- "safe-regex": "1.1.0"
4434
  }
4435
  },
 
 
 
 
 
 
4436
  "remark": {
4437
- "version": "9.0.0",
4438
- "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
4439
- "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
4440
  "dev": true,
4441
  "requires": {
4442
- "remark-parse": "5.0.0",
4443
- "remark-stringify": "5.0.0",
4444
- "unified": "6.2.0"
4445
  }
4446
  },
4447
  "remark-parse": {
4448
- "version": "5.0.0",
4449
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
4450
- "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
4451
- "dev": true,
4452
- "requires": {
4453
- "collapse-white-space": "1.0.4",
4454
- "is-alphabetical": "1.0.2",
4455
- "is-decimal": "1.0.2",
4456
- "is-whitespace-character": "1.0.2",
4457
- "is-word-character": "1.0.2",
4458
- "markdown-escapes": "1.0.2",
4459
- "parse-entities": "1.2.0",
4460
- "repeat-string": "1.6.1",
4461
- "state-toggle": "1.0.1",
4462
  "trim": "0.0.1",
4463
- "trim-trailing-lines": "1.1.1",
4464
- "unherit": "1.1.1",
4465
- "unist-util-remove-position": "1.1.2",
4466
- "vfile-location": "2.0.3",
4467
- "xtend": "4.0.1"
4468
  }
4469
  },
4470
  "remark-stringify": {
4471
- "version": "5.0.0",
4472
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
4473
- "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
4474
- "dev": true,
4475
- "requires": {
4476
- "ccount": "1.0.3",
4477
- "is-alphanumeric": "1.0.0",
4478
- "is-decimal": "1.0.2",
4479
- "is-whitespace-character": "1.0.2",
4480
- "longest-streak": "2.0.2",
4481
- "markdown-escapes": "1.0.2",
4482
- "markdown-table": "1.1.2",
4483
- "mdast-util-compact": "1.0.2",
4484
- "parse-entities": "1.2.0",
4485
- "repeat-string": "1.6.1",
4486
- "state-toggle": "1.0.1",
4487
- "stringify-entities": "1.3.2",
4488
- "unherit": "1.1.1",
4489
- "xtend": "4.0.1"
4490
  }
4491
  },
4492
  "remove-trailing-separator": {
@@ -4513,7 +5604,7 @@
4513
  "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
4514
  "dev": true,
4515
  "requires": {
4516
- "is-finite": "1.0.2"
4517
  }
4518
  },
4519
  "replace-ext": {
@@ -4528,36 +5619,34 @@
4528
  "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
4529
  "dev": true,
4530
  "requires": {
4531
- "aws-sign2": "0.7.0",
4532
- "aws4": "1.8.0",
4533
- "caseless": "0.12.0",
4534
- "combined-stream": "1.0.7",
4535
- "extend": "3.0.2",
4536
- "forever-agent": "0.6.1",
4537
- "form-data": "2.3.3",
4538
- "har-validator": "5.1.0",
4539
- "http-signature": "1.2.0",
4540
- "is-typedarray": "1.0.0",
4541
- "isstream": "0.1.2",
4542
- "json-stringify-safe": "5.0.1",
4543
- "mime-types": "2.1.21",
4544
- "oauth-sign": "0.9.0",
4545
- "performance-now": "2.1.0",
4546
- "qs": "6.5.2",
4547
- "safe-buffer": "5.1.2",
4548
- "tough-cookie": "2.4.3",
4549
- "tunnel-agent": "0.6.0",
4550
- "uuid": "3.3.2"
4551
- }
4552
- },
4553
- "request-progress": {
4554
- "version": "2.0.1",
4555
- "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
4556
- "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
4557
- "dev": true,
4558
- "optional": true,
4559
- "requires": {
4560
- "throttleit": "1.0.0"
4561
  }
4562
  },
4563
  "require-directory": {
@@ -4573,19 +5662,12 @@
4573
  "dev": true
4574
  },
4575
  "resolve": {
4576
- "version": "1.1.7",
4577
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
4578
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
4579
- "dev": true
4580
- },
4581
- "resolve-dir": {
4582
- "version": "1.0.1",
4583
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
4584
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
4585
  "dev": true,
4586
  "requires": {
4587
- "expand-tilde": "2.0.2",
4588
- "global-modules": "1.0.0"
4589
  }
4590
  },
4591
  "resolve-from": {
@@ -4600,6 +5682,16 @@
4600
  "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
4601
  "dev": true
4602
  },
 
 
 
 
 
 
 
 
 
 
4603
  "ret": {
4604
  "version": "0.1.15",
4605
  "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
@@ -4607,12 +5699,12 @@
4607
  "dev": true
4608
  },
4609
  "rimraf": {
4610
- "version": "2.6.2",
4611
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
4612
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
4613
  "dev": true,
4614
  "requires": {
4615
- "glob": "7.0.6"
4616
  }
4617
  },
4618
  "rtlcss": {
@@ -4621,21 +5713,59 @@
4621
  "integrity": "sha512-hdjFhZ5FCI0ABOfyXOMOhBtwPWtANLCG7rOiOcRf+yi5eDdxmDjqBruWouEnwVdzfh/TWF6NNncIEsigOCFZOA==",
4622
  "dev": true,
4623
  "requires": {
4624
- "chalk": "2.4.1",
4625
- "findup": "0.1.5",
4626
- "mkdirp": "0.5.1",
4627
- "postcss": "6.0.23",
4628
- "strip-json-comments": "2.0.1"
4629
  },
4630
  "dependencies": {
4631
- "strip-json-comments": {
4632
- "version": "2.0.1",
4633
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
4634
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
4635
- "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4636
  }
4637
  }
4638
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4639
  "safe-buffer": {
4640
  "version": "5.1.2",
4641
  "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -4650,11 +5780,11 @@
4650
  },
4651
  "safe-regex": {
4652
  "version": "1.1.0",
4653
- "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
4654
  "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
4655
  "dev": true,
4656
  "requires": {
4657
- "ret": "0.1.15"
4658
  }
4659
  },
4660
  "safer-buffer": {
@@ -4669,10 +5799,10 @@
4669
  "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
4670
  "dev": true,
4671
  "requires": {
4672
- "glob": "7.0.6",
4673
- "lodash": "4.17.10",
4674
- "scss-tokenizer": "0.2.3",
4675
- "yargs": "7.1.0"
4676
  }
4677
  },
4678
  "scss-tokenizer": {
@@ -4681,8 +5811,8 @@
4681
  "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
4682
  "dev": true,
4683
  "requires": {
4684
- "js-base64": "2.4.9",
4685
- "source-map": "0.4.4"
4686
  },
4687
  "dependencies": {
4688
  "source-map": {
@@ -4691,15 +5821,21 @@
4691
  "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
4692
  "dev": true,
4693
  "requires": {
4694
- "amdefine": "1.0.1"
4695
  }
4696
  }
4697
  }
4698
  },
4699
  "semver": {
4700
- "version": "5.5.0",
4701
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
4702
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==",
 
 
 
 
 
 
4703
  "dev": true
4704
  },
4705
  "set-blocking": {
@@ -4714,10 +5850,10 @@
4714
  "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
4715
  "dev": true,
4716
  "requires": {
4717
- "extend-shallow": "2.0.1",
4718
- "is-extendable": "0.1.1",
4719
- "is-plain-object": "2.0.4",
4720
- "split-string": "3.1.0"
4721
  },
4722
  "dependencies": {
4723
  "extend-shallow": {
@@ -4726,11 +5862,26 @@
4726
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4727
  "dev": true,
4728
  "requires": {
4729
- "is-extendable": "0.1.1"
4730
  }
4731
  }
4732
  }
4733
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4734
  "shelljs": {
4735
  "version": "0.3.0",
4736
  "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
@@ -4743,27 +5894,49 @@
4743
  "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
4744
  "dev": true
4745
  },
4746
- "slash": {
4747
  "version": "1.0.0",
4748
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
4749
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4750
  "dev": true
4751
  },
4752
  "slice-ansi": {
4753
- "version": "1.0.0",
4754
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
4755
- "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
4756
  "dev": true,
4757
  "requires": {
4758
- "is-fullwidth-code-point": "2.0.0"
4759
- },
4760
- "dependencies": {
4761
- "is-fullwidth-code-point": {
4762
- "version": "2.0.0",
4763
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
4764
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
4765
- "dev": true
4766
- }
4767
  }
4768
  },
4769
  "snapdragon": {
@@ -4772,14 +5945,14 @@
4772
  "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
4773
  "dev": true,
4774
  "requires": {
4775
- "base": "0.11.2",
4776
- "debug": "2.6.9",
4777
- "define-property": "0.2.5",
4778
- "extend-shallow": "2.0.1",
4779
- "map-cache": "0.2.2",
4780
- "source-map": "0.5.7",
4781
- "source-map-resolve": "0.5.2",
4782
- "use": "3.1.1"
4783
  },
4784
  "dependencies": {
4785
  "debug": {
@@ -4797,7 +5970,7 @@
4797
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4798
  "dev": true,
4799
  "requires": {
4800
- "is-descriptor": "0.1.6"
4801
  }
4802
  },
4803
  "extend-shallow": {
@@ -4806,9 +5979,15 @@
4806
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
4807
  "dev": true,
4808
  "requires": {
4809
- "is-extendable": "0.1.1"
4810
  }
4811
  },
 
 
 
 
 
 
4812
  "source-map": {
4813
  "version": "0.5.7",
4814
  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -4823,9 +6002,9 @@
4823
  "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
4824
  "dev": true,
4825
  "requires": {
4826
- "define-property": "1.0.0",
4827
- "isobject": "3.0.1",
4828
- "snapdragon-util": "3.0.1"
4829
  },
4830
  "dependencies": {
4831
  "define-property": {
@@ -4834,7 +6013,7 @@
4834
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
4835
  "dev": true,
4836
  "requires": {
4837
- "is-descriptor": "1.0.2"
4838
  }
4839
  },
4840
  "is-accessor-descriptor": {
@@ -4843,7 +6022,7 @@
4843
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
4844
  "dev": true,
4845
  "requires": {
4846
- "kind-of": "6.0.2"
4847
  }
4848
  },
4849
  "is-data-descriptor": {
@@ -4852,7 +6031,7 @@
4852
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
4853
  "dev": true,
4854
  "requires": {
4855
- "kind-of": "6.0.2"
4856
  }
4857
  },
4858
  "is-descriptor": {
@@ -4861,9 +6040,9 @@
4861
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
4862
  "dev": true,
4863
  "requires": {
4864
- "is-accessor-descriptor": "1.0.0",
4865
- "is-data-descriptor": "1.0.0",
4866
- "kind-of": "6.0.2"
4867
  }
4868
  }
4869
  }
@@ -4874,7 +6053,7 @@
4874
  "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
4875
  "dev": true,
4876
  "requires": {
4877
- "kind-of": "3.2.2"
4878
  },
4879
  "dependencies": {
4880
  "kind-of": {
@@ -4883,7 +6062,7 @@
4883
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4884
  "dev": true,
4885
  "requires": {
4886
- "is-buffer": "1.1.6"
4887
  }
4888
  }
4889
  }
@@ -4900,11 +6079,11 @@
4900
  "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
4901
  "dev": true,
4902
  "requires": {
4903
- "atob": "2.1.2",
4904
- "decode-uri-component": "0.2.0",
4905
- "resolve-url": "0.2.1",
4906
- "source-map-url": "0.4.0",
4907
- "urix": "0.1.0"
4908
  }
4909
  },
4910
  "source-map-url": {
@@ -4914,19 +6093,19 @@
4914
  "dev": true
4915
  },
4916
  "spdx-correct": {
4917
- "version": "3.0.0",
4918
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
4919
- "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
4920
  "dev": true,
4921
  "requires": {
4922
- "spdx-expression-parse": "3.0.0",
4923
- "spdx-license-ids": "3.0.0"
4924
  }
4925
  },
4926
  "spdx-exceptions": {
4927
- "version": "2.1.0",
4928
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
4929
- "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
4930
  "dev": true
4931
  },
4932
  "spdx-expression-parse": {
@@ -4935,14 +6114,14 @@
4935
  "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
4936
  "dev": true,
4937
  "requires": {
4938
- "spdx-exceptions": "2.1.0",
4939
- "spdx-license-ids": "3.0.0"
4940
  }
4941
  },
4942
  "spdx-license-ids": {
4943
- "version": "3.0.0",
4944
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
4945
- "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
4946
  "dev": true
4947
  },
4948
  "specificity": {
@@ -4951,54 +6130,43 @@
4951
  "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
4952
  "dev": true
4953
  },
4954
- "split": {
4955
- "version": "1.0.1",
4956
- "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
4957
- "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
4958
- "dev": true,
4959
- "optional": true,
4960
- "requires": {
4961
- "through": "2.3.8"
4962
- }
4963
- },
4964
  "split-string": {
4965
  "version": "3.1.0",
4966
  "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
4967
  "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
4968
  "dev": true,
4969
  "requires": {
4970
- "extend-shallow": "3.0.2"
4971
  }
4972
  },
4973
  "sprintf-js": {
4974
- "version": "1.1.1",
4975
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz",
4976
- "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=",
4977
  "dev": true
4978
  },
4979
  "sshpk": {
4980
- "version": "1.15.2",
4981
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
4982
- "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
4983
  "dev": true,
4984
  "requires": {
4985
- "asn1": "0.2.4",
4986
- "assert-plus": "1.0.0",
4987
- "bcrypt-pbkdf": "1.0.2",
4988
- "dashdash": "1.14.1",
4989
- "ecc-jsbn": "0.1.2",
4990
- "getpass": "0.1.7",
4991
- "jsbn": "0.1.1",
4992
- "safer-buffer": "2.1.2",
4993
- "tweetnacl": "0.14.5"
4994
  }
4995
  },
4996
- "stack-trace": {
4997
- "version": "0.0.10",
4998
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
4999
- "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
5000
- "dev": true,
5001
- "optional": true
5002
  },
5003
  "state-toggle": {
5004
  "version": "1.0.1",
@@ -5012,8 +6180,8 @@
5012
  "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
5013
  "dev": true,
5014
  "requires": {
5015
- "define-property": "0.2.5",
5016
- "object-copy": "0.1.0"
5017
  },
5018
  "dependencies": {
5019
  "define-property": {
@@ -5022,7 +6190,7 @@
5022
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
5023
  "dev": true,
5024
  "requires": {
5025
- "is-descriptor": "0.1.6"
5026
  }
5027
  }
5028
  }
@@ -5033,7 +6201,7 @@
5033
  "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
5034
  "dev": true,
5035
  "requires": {
5036
- "readable-stream": "2.3.6"
5037
  },
5038
  "dependencies": {
5039
  "isarray": {
@@ -5044,17 +6212,17 @@
5044
  },
5045
  "readable-stream": {
5046
  "version": "2.3.6",
5047
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
5048
  "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
5049
  "dev": true,
5050
  "requires": {
5051
- "core-util-is": "1.0.2",
5052
- "inherits": "2.0.3",
5053
- "isarray": "1.0.0",
5054
- "process-nextick-args": "2.0.0",
5055
- "safe-buffer": "5.1.2",
5056
- "string_decoder": "1.1.1",
5057
- "util-deprecate": "1.0.2"
5058
  }
5059
  },
5060
  "string_decoder": {
@@ -5063,11 +6231,23 @@
5063
  "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
5064
  "dev": true,
5065
  "requires": {
5066
- "safe-buffer": "5.1.2"
5067
  }
5068
  }
5069
  }
5070
  },
 
 
 
 
 
 
 
 
 
 
 
 
5071
  "string-template": {
5072
  "version": "0.2.1",
5073
  "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
@@ -5075,14 +6255,13 @@
5075
  "dev": true
5076
  },
5077
  "string-width": {
5078
- "version": "1.0.2",
5079
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
5080
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5081
  "dev": true,
5082
  "requires": {
5083
- "code-point-at": "1.1.0",
5084
- "is-fullwidth-code-point": "1.0.0",
5085
- "strip-ansi": "3.0.1"
5086
  }
5087
  },
5088
  "string_decoder": {
@@ -5097,19 +6276,30 @@
5097
  "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
5098
  "dev": true,
5099
  "requires": {
5100
- "character-entities-html4": "1.1.2",
5101
- "character-entities-legacy": "1.1.2",
5102
- "is-alphanumerical": "1.0.2",
5103
- "is-hexadecimal": "1.0.2"
 
 
 
 
 
 
 
 
 
 
 
5104
  }
5105
  },
5106
  "strip-ansi": {
5107
- "version": "3.0.1",
5108
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
5109
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5110
  "dev": true,
5111
  "requires": {
5112
- "ansi-regex": "2.1.1"
5113
  }
5114
  },
5115
  "strip-bom": {
@@ -5118,22 +6308,28 @@
5118
  "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
5119
  "dev": true,
5120
  "requires": {
5121
- "is-utf8": "0.2.1"
5122
  }
5123
  },
 
 
 
 
 
 
5124
  "strip-indent": {
5125
  "version": "1.0.1",
5126
  "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
5127
  "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
5128
  "dev": true,
5129
  "requires": {
5130
- "get-stdin": "4.0.1"
5131
  }
5132
  },
5133
  "strip-json-comments": {
5134
- "version": "1.0.4",
5135
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
5136
- "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
5137
  "dev": true
5138
  },
5139
  "style-search": {
@@ -5143,64 +6339,64 @@
5143
  "dev": true
5144
  },
5145
  "stylelint": {
5146
- "version": "9.7.1",
5147
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.7.1.tgz",
5148
- "integrity": "sha512-w3Xxnm2YElBmNAhmTjkTEyklAU2P+R8QMqDVM3S98zRLNPNLcCRXWzqtYsItbZYHQzSNOa6K20KxPVPfD8SFAw==",
5149
- "dev": true,
5150
- "requires": {
5151
- "autoprefixer": "9.3.1",
5152
- "balanced-match": "1.0.0",
5153
- "chalk": "2.4.1",
5154
- "cosmiconfig": "5.0.6",
5155
- "debug": "4.1.0",
5156
- "execall": "1.0.0",
5157
- "file-entry-cache": "2.0.0",
5158
- "get-stdin": "6.0.0",
5159
- "global-modules": "1.0.0",
5160
- "globby": "8.0.1",
5161
- "globjoin": "0.1.4",
5162
- "html-tags": "2.0.0",
5163
- "ignore": "4.0.6",
5164
- "import-lazy": "3.1.0",
5165
- "imurmurhash": "0.1.4",
5166
- "known-css-properties": "0.9.0",
5167
- "leven": "2.1.0",
5168
- "lodash": "4.17.10",
5169
- "log-symbols": "2.2.0",
5170
- "mathml-tag-names": "2.1.0",
5171
- "meow": "5.0.0",
5172
- "micromatch": "2.3.11",
5173
- "normalize-selector": "0.2.0",
5174
- "pify": "4.0.1",
5175
- "postcss": "7.0.5",
5176
- "postcss-html": "0.34.0",
5177
- "postcss-jsx": "0.35.0",
5178
- "postcss-less": "3.0.2",
5179
- "postcss-markdown": "0.34.0",
5180
- "postcss-media-query-parser": "0.2.3",
5181
- "postcss-reporter": "6.0.0",
5182
- "postcss-resolve-nested-selector": "0.1.1",
5183
- "postcss-safe-parser": "4.0.1",
5184
- "postcss-sass": "0.3.5",
5185
- "postcss-scss": "2.0.0",
5186
- "postcss-selector-parser": "3.1.1",
5187
- "postcss-styled": "0.34.0",
5188
- "postcss-syntax": "0.34.0",
5189
- "postcss-value-parser": "3.3.1",
5190
- "resolve-from": "4.0.0",
5191
- "signal-exit": "3.0.2",
5192
- "specificity": "0.4.1",
5193
- "string-width": "2.1.1",
5194
- "style-search": "0.1.0",
5195
- "sugarss": "2.0.0",
5196
- "svg-tags": "1.0.0",
5197
- "table": "5.1.0"
5198
  },
5199
  "dependencies": {
5200
  "ansi-regex": {
5201
- "version": "3.0.0",
5202
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
5203
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
5204
  "dev": true
5205
  },
5206
  "camelcase": {
@@ -5215,18 +6411,18 @@
5215
  "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
5216
  "dev": true,
5217
  "requires": {
5218
- "camelcase": "4.1.0",
5219
- "map-obj": "2.0.0",
5220
- "quick-lru": "1.1.0"
5221
  }
5222
  },
5223
- "debug": {
5224
- "version": "4.1.0",
5225
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
5226
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
5227
  "dev": true,
5228
  "requires": {
5229
- "ms": "2.1.1"
5230
  }
5231
  },
5232
  "find-up": {
@@ -5235,7 +6431,18 @@
5235
  "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
5236
  "dev": true,
5237
  "requires": {
5238
- "locate-path": "2.0.0"
 
 
 
 
 
 
 
 
 
 
 
5239
  }
5240
  },
5241
  "get-stdin": {
@@ -5244,28 +6451,51 @@
5244
  "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
5245
  "dev": true
5246
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5247
  "indent-string": {
5248
  "version": "3.2.0",
5249
  "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
5250
  "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
5251
  "dev": true
5252
  },
5253
- "is-fullwidth-code-point": {
5254
- "version": "2.0.0",
5255
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
5256
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
5257
- "dev": true
5258
- },
5259
  "load-json-file": {
5260
  "version": "4.0.0",
5261
  "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
5262
  "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
5263
  "dev": true,
5264
  "requires": {
5265
- "graceful-fs": "4.1.11",
5266
- "parse-json": "4.0.0",
5267
- "pify": "3.0.0",
5268
- "strip-bom": "3.0.0"
5269
  },
5270
  "dependencies": {
5271
  "pify": {
@@ -5276,6 +6506,16 @@
5276
  }
5277
  }
5278
  },
 
 
 
 
 
 
 
 
 
 
5279
  "map-obj": {
5280
  "version": "2.0.0",
5281
  "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
@@ -5288,21 +6528,39 @@
5288
  "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
5289
  "dev": true,
5290
  "requires": {
5291
- "camelcase-keys": "4.2.0",
5292
- "decamelize-keys": "1.1.0",
5293
- "loud-rejection": "1.6.0",
5294
- "minimist-options": "3.0.2",
5295
- "normalize-package-data": "2.4.0",
5296
- "read-pkg-up": "3.0.0",
5297
- "redent": "2.0.0",
5298
- "trim-newlines": "2.0.0",
5299
- "yargs-parser": "10.1.0"
5300
  }
5301
  },
5302
- "ms": {
5303
- "version": "2.1.1",
5304
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
5305
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5306
  "dev": true
5307
  },
5308
  "parse-json": {
@@ -5311,17 +6569,23 @@
5311
  "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
5312
  "dev": true,
5313
  "requires": {
5314
- "error-ex": "1.3.2",
5315
- "json-parse-better-errors": "1.0.2"
5316
  }
5317
  },
 
 
 
 
 
 
5318
  "path-type": {
5319
  "version": "3.0.0",
5320
  "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
5321
  "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
5322
  "dev": true,
5323
  "requires": {
5324
- "pify": "3.0.0"
5325
  },
5326
  "dependencies": {
5327
  "pify": {
@@ -5335,19 +6599,8 @@
5335
  "pify": {
5336
  "version": "4.0.1",
5337
  "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
5338
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
5339
- "dev": true
5340
- },
5341
- "postcss": {
5342
- "version": "7.0.5",
5343
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
5344
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
5345
- "dev": true,
5346
- "requires": {
5347
- "chalk": "2.4.1",
5348
- "source-map": "0.6.1",
5349
- "supports-color": "5.5.0"
5350
- }
5351
  },
5352
  "read-pkg": {
5353
  "version": "3.0.0",
@@ -5355,9 +6608,9 @@
5355
  "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
5356
  "dev": true,
5357
  "requires": {
5358
- "load-json-file": "4.0.0",
5359
- "normalize-package-data": "2.4.0",
5360
- "path-type": "3.0.0"
5361
  }
5362
  },
5363
  "read-pkg-up": {
@@ -5366,8 +6619,8 @@
5366
  "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
5367
  "dev": true,
5368
  "requires": {
5369
- "find-up": "2.1.0",
5370
- "read-pkg": "3.0.0"
5371
  }
5372
  },
5373
  "redent": {
@@ -5376,27 +6629,28 @@
5376
  "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
5377
  "dev": true,
5378
  "requires": {
5379
- "indent-string": "3.2.0",
5380
- "strip-indent": "2.0.0"
5381
  }
5382
  },
5383
  "string-width": {
5384
- "version": "2.1.1",
5385
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
5386
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
5387
  "dev": true,
5388
  "requires": {
5389
- "is-fullwidth-code-point": "2.0.0",
5390
- "strip-ansi": "4.0.0"
 
5391
  }
5392
  },
5393
  "strip-ansi": {
5394
- "version": "4.0.0",
5395
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
5396
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
5397
  "dev": true,
5398
  "requires": {
5399
- "ansi-regex": "3.0.0"
5400
  }
5401
  },
5402
  "strip-bom": {
@@ -5411,70 +6665,100 @@
5411
  "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
5412
  "dev": true
5413
  },
5414
- "supports-color": {
5415
- "version": "5.5.0",
5416
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
5417
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
5418
- "dev": true,
5419
- "requires": {
5420
- "has-flag": "3.0.0"
5421
- }
5422
- },
5423
  "trim-newlines": {
5424
  "version": "2.0.0",
5425
  "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
5426
  "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
5427
  "dev": true
5428
  },
 
 
 
 
 
 
 
 
 
5429
  "yargs-parser": {
5430
  "version": "10.1.0",
5431
  "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
5432
  "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
5433
  "dev": true,
5434
  "requires": {
5435
- "camelcase": "4.1.0"
5436
  }
5437
  }
5438
  }
5439
  },
5440
- "sugarss": {
5441
- "version": "2.0.0",
5442
- "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
5443
- "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5444
  "dev": true,
5445
  "requires": {
5446
- "postcss": "7.0.5"
 
 
 
 
5447
  },
5448
  "dependencies": {
5449
- "postcss": {
5450
- "version": "7.0.5",
5451
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
5452
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
5453
- "dev": true,
5454
- "requires": {
5455
- "chalk": "2.4.1",
5456
- "source-map": "0.6.1",
5457
- "supports-color": "5.5.0"
5458
- }
5459
- },
5460
- "supports-color": {
5461
- "version": "5.5.0",
5462
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
5463
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
5464
  "dev": true,
5465
  "requires": {
5466
- "has-flag": "3.0.0"
 
 
5467
  }
5468
  }
5469
  }
5470
  },
 
 
 
 
 
 
 
 
 
5471
  "supports-color": {
5472
- "version": "5.4.0",
5473
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
5474
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
5475
  "dev": true,
5476
  "requires": {
5477
- "has-flag": "3.0.0"
5478
  }
5479
  },
5480
  "svg-tags": {
@@ -5483,71 +6767,54 @@
5483
  "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
5484
  "dev": true
5485
  },
 
 
 
 
 
 
 
 
 
 
 
 
5486
  "table": {
5487
- "version": "5.1.0",
5488
- "resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz",
5489
- "integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==",
5490
  "dev": true,
5491
  "requires": {
5492
- "ajv": "6.5.5",
5493
- "lodash": "4.17.10",
5494
- "slice-ansi": "1.0.0",
5495
- "string-width": "2.1.1"
5496
  },
5497
  "dependencies": {
5498
- "ajv": {
5499
- "version": "6.5.5",
5500
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
5501
- "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
5502
- "dev": true,
5503
- "requires": {
5504
- "fast-deep-equal": "2.0.1",
5505
- "fast-json-stable-stringify": "2.0.0",
5506
- "json-schema-traverse": "0.4.1",
5507
- "uri-js": "4.2.2"
5508
- }
5509
- },
5510
  "ansi-regex": {
5511
- "version": "3.0.0",
5512
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
5513
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
5514
- "dev": true
5515
- },
5516
- "fast-deep-equal": {
5517
- "version": "2.0.1",
5518
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
5519
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
5520
- "dev": true
5521
- },
5522
- "is-fullwidth-code-point": {
5523
- "version": "2.0.0",
5524
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
5525
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
5526
- "dev": true
5527
- },
5528
- "json-schema-traverse": {
5529
- "version": "0.4.1",
5530
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
5531
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
5532
  "dev": true
5533
  },
5534
  "string-width": {
5535
- "version": "2.1.1",
5536
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
5537
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
5538
  "dev": true,
5539
  "requires": {
5540
- "is-fullwidth-code-point": "2.0.0",
5541
- "strip-ansi": "4.0.0"
 
5542
  }
5543
  },
5544
  "strip-ansi": {
5545
- "version": "4.0.0",
5546
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
5547
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
5548
  "dev": true,
5549
  "requires": {
5550
- "ansi-regex": "3.0.0"
5551
  }
5552
  }
5553
  }
@@ -5558,9 +6825,82 @@
5558
  "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
5559
  "dev": true,
5560
  "requires": {
5561
- "block-stream": "0.0.9",
5562
- "fstream": "1.0.11",
5563
- "inherits": "2.0.3"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5564
  }
5565
  },
5566
  "text-table": {
@@ -5569,19 +6909,11 @@
5569
  "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
5570
  "dev": true
5571
  },
5572
- "throttleit": {
5573
- "version": "1.0.0",
5574
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
5575
- "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
5576
- "dev": true,
5577
- "optional": true
5578
- },
5579
  "through": {
5580
  "version": "2.3.8",
5581
- "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
5582
  "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
5583
- "dev": true,
5584
- "optional": true
5585
  },
5586
  "tiny-lr": {
5587
  "version": "1.1.1",
@@ -5589,12 +6921,23 @@
5589
  "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
5590
  "dev": true,
5591
  "requires": {
5592
- "body": "5.1.0",
5593
- "debug": "3.1.0",
5594
- "faye-websocket": "0.10.0",
5595
- "livereload-js": "2.3.0",
5596
- "object-assign": "4.1.1",
5597
- "qs": "6.5.2"
 
 
 
 
 
 
 
 
 
 
 
5598
  }
5599
  },
5600
  "tmp": {
@@ -5603,9 +6946,15 @@
5603
  "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
5604
  "dev": true,
5605
  "requires": {
5606
- "os-tmpdir": "1.0.2"
5607
  }
5608
  },
 
 
 
 
 
 
5609
  "to-fast-properties": {
5610
  "version": "2.0.0",
5611
  "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -5618,7 +6967,7 @@
5618
  "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
5619
  "dev": true,
5620
  "requires": {
5621
- "kind-of": "3.2.2"
5622
  },
5623
  "dependencies": {
5624
  "kind-of": {
@@ -5627,7 +6976,7 @@
5627
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
5628
  "dev": true,
5629
  "requires": {
5630
- "is-buffer": "1.1.6"
5631
  }
5632
  }
5633
  }
@@ -5638,10 +6987,10 @@
5638
  "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
5639
  "dev": true,
5640
  "requires": {
5641
- "define-property": "2.0.2",
5642
- "extend-shallow": "3.0.2",
5643
- "regex-not": "1.0.2",
5644
- "safe-regex": "1.1.0"
5645
  }
5646
  },
5647
  "to-regex-range": {
@@ -5650,18 +6999,32 @@
5650
  "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
5651
  "dev": true,
5652
  "requires": {
5653
- "is-number": "3.0.0",
5654
- "repeat-string": "1.6.1"
5655
  }
5656
  },
 
 
 
 
 
 
5657
  "tough-cookie": {
5658
  "version": "2.4.3",
5659
  "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
5660
  "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
5661
  "dev": true,
5662
  "requires": {
5663
- "psl": "1.1.29",
5664
- "punycode": "1.4.1"
 
 
 
 
 
 
 
 
5665
  }
5666
  },
5667
  "trim": {
@@ -5700,32 +7063,22 @@
5700
  "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
5701
  "dev": true,
5702
  "requires": {
5703
- "glob": "7.1.3"
5704
- },
5705
- "dependencies": {
5706
- "glob": {
5707
- "version": "7.1.3",
5708
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
5709
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
5710
- "dev": true,
5711
- "requires": {
5712
- "fs.realpath": "1.0.0",
5713
- "inflight": "1.0.6",
5714
- "inherits": "2.0.3",
5715
- "minimatch": "3.0.4",
5716
- "once": "1.4.0",
5717
- "path-is-absolute": "1.0.1"
5718
- }
5719
- }
5720
  }
5721
  },
 
 
 
 
 
 
5722
  "tunnel-agent": {
5723
  "version": "0.6.0",
5724
  "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
5725
  "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
5726
  "dev": true,
5727
  "requires": {
5728
- "safe-buffer": "5.1.2"
5729
  }
5730
  },
5731
  "tweetnacl": {
@@ -5734,12 +7087,14 @@
5734
  "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
5735
  "dev": true
5736
  },
5737
- "typedarray": {
5738
- "version": "0.0.6",
5739
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
5740
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
5741
  "dev": true,
5742
- "optional": true
 
 
5743
  },
5744
  "uglify-js": {
5745
  "version": "3.4.9",
@@ -5747,18 +7102,18 @@
5747
  "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
5748
  "dev": true,
5749
  "requires": {
5750
- "commander": "2.17.1",
5751
- "source-map": "0.6.1"
5752
  }
5753
  },
5754
  "underscore.string": {
5755
- "version": "3.3.4",
5756
- "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
5757
- "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
5758
  "dev": true,
5759
  "requires": {
5760
- "sprintf-js": "1.1.1",
5761
- "util-deprecate": "1.0.2"
5762
  }
5763
  },
5764
  "unherit": {
@@ -5767,28 +7122,24 @@
5767
  "integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==",
5768
  "dev": true,
5769
  "requires": {
5770
- "inherits": "2.0.3",
5771
- "xtend": "4.0.1"
5772
  }
5773
  },
5774
- "unicode-5.2.0": {
5775
- "version": "0.7.5",
5776
- "resolved": "https://registry.npmjs.org/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz",
5777
- "integrity": "sha512-KVGLW1Bri30x00yv4HNM8kBxoqFXr0Sbo55735nvrlsx4PYBZol3UtoWgO492fSwmsetzPEZzy73rbU8OGXJcA==",
5778
- "dev": true
5779
- },
5780
  "unified": {
5781
- "version": "6.2.0",
5782
- "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz",
5783
- "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==",
5784
  "dev": true,
5785
  "requires": {
5786
- "bail": "1.0.3",
5787
- "extend": "3.0.2",
5788
- "is-plain-obj": "1.1.0",
5789
- "trough": "1.0.3",
5790
- "vfile": "2.3.0",
5791
- "x-is-string": "0.1.0"
 
 
5792
  }
5793
  },
5794
  "union-value": {
@@ -5797,10 +7148,10 @@
5797
  "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
5798
  "dev": true,
5799
  "requires": {
5800
- "arr-union": "3.1.0",
5801
- "get-value": "2.0.6",
5802
- "is-extendable": "0.1.1",
5803
- "set-value": "0.4.3"
5804
  },
5805
  "dependencies": {
5806
  "extend-shallow": {
@@ -5809,7 +7160,7 @@
5809
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5810
  "dev": true,
5811
  "requires": {
5812
- "is-extendable": "0.1.1"
5813
  }
5814
  },
5815
  "set-value": {
@@ -5818,10 +7169,10 @@
5818
  "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
5819
  "dev": true,
5820
  "requires": {
5821
- "extend-shallow": "2.0.1",
5822
- "is-extendable": "0.1.1",
5823
- "is-plain-object": "2.0.4",
5824
- "to-object-path": "0.3.0"
5825
  }
5826
  }
5827
  }
@@ -5838,7 +7189,7 @@
5838
  "integrity": "sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w==",
5839
  "dev": true,
5840
  "requires": {
5841
- "unist-util-is": "2.1.2"
5842
  }
5843
  },
5844
  "unist-util-is": {
@@ -5853,7 +7204,7 @@
5853
  "integrity": "sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==",
5854
  "dev": true,
5855
  "requires": {
5856
- "unist-util-visit": "1.4.0"
5857
  }
5858
  },
5859
  "unist-util-stringify-position": {
@@ -5868,7 +7219,7 @@
5868
  "integrity": "sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==",
5869
  "dev": true,
5870
  "requires": {
5871
- "unist-util-visit-parents": "2.0.1"
5872
  }
5873
  },
5874
  "unist-util-visit-parents": {
@@ -5877,7 +7228,7 @@
5877
  "integrity": "sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==",
5878
  "dev": true,
5879
  "requires": {
5880
- "unist-util-is": "2.1.2"
5881
  }
5882
  },
5883
  "unset-value": {
@@ -5886,8 +7237,8 @@
5886
  "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
5887
  "dev": true,
5888
  "requires": {
5889
- "has-value": "0.3.1",
5890
- "isobject": "3.0.1"
5891
  },
5892
  "dependencies": {
5893
  "has-value": {
@@ -5896,9 +7247,9 @@
5896
  "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
5897
  "dev": true,
5898
  "requires": {
5899
- "get-value": "2.0.6",
5900
- "has-values": "0.1.4",
5901
- "isobject": "2.1.0"
5902
  },
5903
  "dependencies": {
5904
  "isobject": {
@@ -5932,15 +7283,7 @@
5932
  "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
5933
  "dev": true,
5934
  "requires": {
5935
- "punycode": "2.1.1"
5936
- },
5937
- "dependencies": {
5938
- "punycode": {
5939
- "version": "2.1.1",
5940
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
5941
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
5942
- "dev": true
5943
- }
5944
  }
5945
  },
5946
  "uri-path": {
@@ -5974,13 +7317,13 @@
5974
  "dev": true
5975
  },
5976
  "validate-npm-package-license": {
5977
- "version": "3.0.3",
5978
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
5979
- "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
5980
  "dev": true,
5981
  "requires": {
5982
- "spdx-correct": "3.0.0",
5983
- "spdx-expression-parse": "3.0.0"
5984
  }
5985
  },
5986
  "verror": {
@@ -5989,46 +7332,60 @@
5989
  "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
5990
  "dev": true,
5991
  "requires": {
5992
- "assert-plus": "1.0.0",
5993
  "core-util-is": "1.0.2",
5994
- "extsprintf": "1.3.0"
5995
  }
5996
  },
5997
  "vfile": {
5998
- "version": "2.3.0",
5999
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
6000
- "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
6001
  "dev": true,
6002
  "requires": {
6003
- "is-buffer": "1.1.6",
6004
  "replace-ext": "1.0.0",
6005
- "unist-util-stringify-position": "1.1.2",
6006
- "vfile-message": "1.0.1"
 
 
 
 
 
 
 
 
6007
  }
6008
  },
6009
  "vfile-location": {
6010
- "version": "2.0.3",
6011
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.3.tgz",
6012
- "integrity": "sha512-zM5/l4lfw1CBoPx3Jimxoc5RNDAHHpk6AM6LM0pTIkm5SUSsx8ZekZ0PVdf0WEZ7kjlhSt7ZlqbRL6Cd6dBs6A==",
6013
  "dev": true
6014
  },
6015
  "vfile-message": {
6016
- "version": "1.0.1",
6017
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.0.1.tgz",
6018
- "integrity": "sha512-vSGCkhNvJzO6VcWC6AlJW4NtYOVtS+RgCaqFIYUjoGIlHnFL+i0LbtYvonDWOMcB97uTPT4PRsyYY7REWC9vug==",
6019
  "dev": true,
6020
  "requires": {
6021
- "unist-util-stringify-position": "1.1.2"
6022
  }
6023
  },
 
 
 
 
 
 
6024
  "websocket-driver": {
6025
  "version": "0.7.0",
6026
  "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
6027
  "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
6028
  "dev": true,
6029
  "requires": {
6030
- "http-parser-js": "0.4.13",
6031
- "websocket-extensions": "0.1.3"
6032
  }
6033
  },
6034
  "websocket-extensions": {
@@ -6043,7 +7400,7 @@
6043
  "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
6044
  "dev": true,
6045
  "requires": {
6046
- "isexe": "2.0.0"
6047
  }
6048
  },
6049
  "which-module": {
@@ -6052,54 +7409,36 @@
6052
  "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
6053
  "dev": true
6054
  },
 
 
 
 
 
 
 
6055
  "wide-align": {
6056
  "version": "1.1.3",
6057
  "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
6058
  "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
6059
  "dev": true,
6060
  "requires": {
6061
- "string-width": "1.0.2"
6062
  }
6063
  },
6064
- "winston": {
6065
- "version": "2.4.4",
6066
- "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz",
6067
- "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==",
6068
- "dev": true,
6069
- "optional": true,
6070
- "requires": {
6071
- "async": "1.0.0",
6072
- "colors": "1.0.3",
6073
- "cycle": "1.0.3",
6074
- "eyes": "0.1.8",
6075
- "isstream": "0.1.2",
6076
- "stack-trace": "0.0.10"
6077
- },
6078
- "dependencies": {
6079
- "async": {
6080
- "version": "1.0.0",
6081
- "resolved": "http://registry.npmjs.org/async/-/async-1.0.0.tgz",
6082
- "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
6083
- "dev": true,
6084
- "optional": true
6085
- },
6086
- "colors": {
6087
- "version": "1.0.3",
6088
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
6089
- "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
6090
- "dev": true,
6091
- "optional": true
6092
- }
6093
- }
6094
  },
6095
  "wrap-ansi": {
6096
- "version": "2.1.0",
6097
- "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
6098
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
6099
  "dev": true,
6100
  "requires": {
6101
- "string-width": "1.0.2",
6102
- "strip-ansi": "3.0.1"
6103
  }
6104
  },
6105
  "wrappy": {
@@ -6114,7 +7453,7 @@
6114
  "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
6115
  "dev": true,
6116
  "requires": {
6117
- "mkdirp": "0.5.1"
6118
  }
6119
  },
6120
  "x-is-string": {
@@ -6147,26 +7486,61 @@
6147
  "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
6148
  "dev": true,
6149
  "requires": {
6150
- "camelcase": "3.0.0",
6151
- "cliui": "3.2.0",
6152
- "decamelize": "1.2.0",
6153
- "get-caller-file": "1.0.3",
6154
- "os-locale": "1.4.0",
6155
- "read-pkg-up": "1.0.1",
6156
- "require-directory": "2.1.1",
6157
- "require-main-filename": "1.0.1",
6158
- "set-blocking": "2.0.0",
6159
- "string-width": "1.0.2",
6160
- "which-module": "1.0.0",
6161
- "y18n": "3.2.1",
6162
- "yargs-parser": "5.0.0"
6163
  },
6164
  "dependencies": {
 
 
 
 
 
 
6165
  "camelcase": {
6166
  "version": "3.0.0",
6167
  "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
6168
  "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
6169
  "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6170
  }
6171
  }
6172
  },
@@ -6176,7 +7550,7 @@
6176
  "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
6177
  "dev": true,
6178
  "requires": {
6179
- "camelcase": "3.0.0"
6180
  },
6181
  "dependencies": {
6182
  "camelcase": {
@@ -6187,14 +7561,62 @@
6187
  }
6188
  }
6189
  },
6190
- "yauzl": {
6191
- "version": "2.4.1",
6192
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
6193
- "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6194
  "dev": true,
6195
- "optional": true,
6196
  "requires": {
6197
- "fd-slicer": "1.0.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6198
  }
6199
  }
6200
  }
1
  {
2
  "name": "themegrill-demo-importer",
3
+ "version": "1.5.6",
4
  "lockfileVersion": 1,
5
  "requires": true,
6
  "dependencies": {
10
  "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
11
  "dev": true,
12
  "requires": {
13
+ "@babel/highlight": "^7.0.0"
14
  }
15
  },
16
  "@babel/core": {
17
+ "version": "7.2.2",
18
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz",
19
+ "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==",
20
+ "dev": true,
21
+ "requires": {
22
+ "@babel/code-frame": "^7.0.0",
23
+ "@babel/generator": "^7.2.2",
24
+ "@babel/helpers": "^7.2.0",
25
+ "@babel/parser": "^7.2.2",
26
+ "@babel/template": "^7.2.2",
27
+ "@babel/traverse": "^7.2.2",
28
+ "@babel/types": "^7.2.2",
29
+ "convert-source-map": "^1.1.0",
30
+ "debug": "^4.1.0",
31
+ "json5": "^2.1.0",
32
+ "lodash": "^4.17.10",
33
+ "resolve": "^1.3.2",
34
+ "semver": "^5.4.1",
35
+ "source-map": "^0.5.0"
36
  },
37
  "dependencies": {
 
 
 
 
 
 
 
 
 
38
  "source-map": {
39
  "version": "0.5.7",
40
  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
44
  }
45
  },
46
  "@babel/generator": {
47
+ "version": "7.3.2",
48
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.2.tgz",
49
+ "integrity": "sha512-f3QCuPppXxtZOEm5GWPra/uYUjmNQlu9pbAD8D/9jze4pTY83rTtB1igTBSwvkeNlC5gR24zFFkz+2WHLFQhqQ==",
50
  "dev": true,
51
  "requires": {
52
+ "@babel/types": "^7.3.2",
53
+ "jsesc": "^2.5.1",
54
+ "lodash": "^4.17.10",
55
+ "source-map": "^0.5.0",
56
+ "trim-right": "^1.0.1"
57
  },
58
  "dependencies": {
59
  "source-map": {
70
  "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
71
  "dev": true,
72
  "requires": {
73
+ "@babel/helper-get-function-arity": "^7.0.0",
74
+ "@babel/template": "^7.1.0",
75
+ "@babel/types": "^7.0.0"
76
  }
77
  },
78
  "@babel/helper-get-function-arity": {
81
  "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
82
  "dev": true,
83
  "requires": {
84
+ "@babel/types": "^7.0.0"
85
  }
86
  },
87
  "@babel/helper-split-export-declaration": {
90
  "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
91
  "dev": true,
92
  "requires": {
93
+ "@babel/types": "^7.0.0"
94
  }
95
  },
96
  "@babel/helpers": {
97
+ "version": "7.3.1",
98
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz",
99
+ "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==",
100
  "dev": true,
101
  "requires": {
102
+ "@babel/template": "^7.1.2",
103
+ "@babel/traverse": "^7.1.5",
104
+ "@babel/types": "^7.3.0"
105
  }
106
  },
107
  "@babel/highlight": {
110
  "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
111
  "dev": true,
112
  "requires": {
113
+ "chalk": "^2.0.0",
114
+ "esutils": "^2.0.2",
115
+ "js-tokens": "^4.0.0"
116
  }
117
  },
118
  "@babel/parser": {
119
+ "version": "7.3.2",
120
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.2.tgz",
121
+ "integrity": "sha512-QzNUC2RO1gadg+fs21fi0Uu0OuGNzRKEmgCxoLNzbCdoprLwjfmZwzUrpUNfJPaVRwBpDY47A17yYEGWyRelnQ==",
122
  "dev": true
123
  },
124
+ "@babel/runtime": {
125
+ "version": "7.0.0",
126
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz",
127
+ "integrity": "sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==",
128
+ "dev": true,
129
+ "requires": {
130
+ "regenerator-runtime": "^0.12.0"
131
+ }
132
+ },
133
  "@babel/template": {
134
+ "version": "7.2.2",
135
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz",
136
+ "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==",
137
  "dev": true,
138
  "requires": {
139
+ "@babel/code-frame": "^7.0.0",
140
+ "@babel/parser": "^7.2.2",
141
+ "@babel/types": "^7.2.2"
142
  }
143
  },
144
  "@babel/traverse": {
145
+ "version": "7.2.3",
146
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.3.tgz",
147
+ "integrity": "sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw==",
148
  "dev": true,
149
  "requires": {
150
+ "@babel/code-frame": "^7.0.0",
151
+ "@babel/generator": "^7.2.2",
152
+ "@babel/helper-function-name": "^7.1.0",
153
+ "@babel/helper-split-export-declaration": "^7.0.0",
154
+ "@babel/parser": "^7.2.3",
155
+ "@babel/types": "^7.2.2",
156
+ "debug": "^4.1.0",
157
+ "globals": "^11.1.0",
158
+ "lodash": "^4.17.10"
159
  }
160
  },
161
  "@babel/types": {
162
+ "version": "7.3.2",
163
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.2.tgz",
164
+ "integrity": "sha512-3Y6H8xlUlpbGR+XvawiH0UXehqydTmNmEpozWcXymqwcrwYAl5KMvKtQ+TF6f6E08V6Jur7v/ykdDSF+WDEIXQ==",
165
  "dev": true,
166
  "requires": {
167
+ "esutils": "^2.0.2",
168
+ "lodash": "^4.17.10",
169
+ "to-fast-properties": "^2.0.0"
170
+ }
171
+ },
172
+ "@iamstarkov/listr-update-renderer": {
173
+ "version": "0.4.1",
174
+ "resolved": "https://registry.npmjs.org/@iamstarkov/listr-update-renderer/-/listr-update-renderer-0.4.1.tgz",
175
+ "integrity": "sha512-IJyxQWsYDEkf8C8QthBn5N8tIUR9V9je6j3sMIpAkonaadjbvxmRC6RAhpa3RKxndhNnU2M6iNbtJwd7usQYIA==",
176
+ "dev": true,
177
+ "requires": {
178
+ "chalk": "^1.1.3",
179
+ "cli-truncate": "^0.2.1",
180
+ "elegant-spinner": "^1.0.1",
181
+ "figures": "^1.7.0",
182
+ "indent-string": "^3.0.0",
183
+ "log-symbols": "^1.0.2",
184
+ "log-update": "^2.3.0",
185
+ "strip-ansi": "^3.0.1"
186
+ },
187
+ "dependencies": {
188
+ "ansi-regex": {
189
+ "version": "2.1.1",
190
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
191
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
192
+ "dev": true
193
+ },
194
+ "ansi-styles": {
195
+ "version": "2.2.1",
196
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
197
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
198
+ "dev": true
199
+ },
200
+ "chalk": {
201
+ "version": "1.1.3",
202
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
203
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
204
+ "dev": true,
205
+ "requires": {
206
+ "ansi-styles": "^2.2.1",
207
+ "escape-string-regexp": "^1.0.2",
208
+ "has-ansi": "^2.0.0",
209
+ "strip-ansi": "^3.0.0",
210
+ "supports-color": "^2.0.0"
211
+ }
212
+ },
213
+ "figures": {
214
+ "version": "1.7.0",
215
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
216
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
217
+ "dev": true,
218
+ "requires": {
219
+ "escape-string-regexp": "^1.0.5",
220
+ "object-assign": "^4.1.0"
221
+ }
222
+ },
223
+ "indent-string": {
224
+ "version": "3.2.0",
225
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
226
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
227
+ "dev": true
228
+ },
229
+ "log-symbols": {
230
+ "version": "1.0.2",
231
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
232
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
233
+ "dev": true,
234
+ "requires": {
235
+ "chalk": "^1.0.0"
236
+ }
237
+ },
238
+ "strip-ansi": {
239
+ "version": "3.0.1",
240
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
241
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
242
+ "dev": true,
243
+ "requires": {
244
+ "ansi-regex": "^2.0.0"
245
+ }
246
+ },
247
+ "supports-color": {
248
+ "version": "2.0.0",
249
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
250
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
251
+ "dev": true
252
+ }
253
  }
254
  },
255
  "@mrmlnc/readdir-enhanced": {
258
  "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
259
  "dev": true,
260
  "requires": {
261
+ "call-me-maybe": "^1.0.1",
262
+ "glob-to-regexp": "^0.3.0"
263
  }
264
  },
265
  "@nodelib/fs.stat": {
268
  "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
269
  "dev": true
270
  },
271
+ "@samverschueren/stream-to-observable": {
272
+ "version": "0.3.0",
273
+ "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz",
274
+ "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==",
275
+ "dev": true,
276
+ "requires": {
277
+ "any-observable": "^0.3.0"
278
+ }
279
+ },
280
+ "@types/node": {
281
+ "version": "11.9.0",
282
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-11.9.0.tgz",
283
+ "integrity": "sha512-ry4DOrC+xenhQbzk1iIPzCZGhhPGEFv7ia7Iu6XXSLVluiJIe9FfG7Iu3mObH9mpxEXCWLCMU4JWbCCR9Oy1Zg==",
284
+ "dev": true
285
+ },
286
+ "@types/unist": {
287
+ "version": "2.0.2",
288
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.2.tgz",
289
+ "integrity": "sha512-iHI60IbyfQilNubmxsq4zqSjdynlmc2Q/QvH9kjzg9+CCYVVzq1O6tc7VBzSygIwnmOt07w80IG6HDQvjv3Liw==",
290
+ "dev": true
291
+ },
292
+ "@types/vfile": {
293
+ "version": "3.0.2",
294
+ "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz",
295
+ "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==",
296
+ "dev": true,
297
+ "requires": {
298
+ "@types/node": "*",
299
+ "@types/unist": "*",
300
+ "@types/vfile-message": "*"
301
+ }
302
+ },
303
+ "@types/vfile-message": {
304
+ "version": "1.0.1",
305
+ "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz",
306
+ "integrity": "sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==",
307
+ "dev": true,
308
+ "requires": {
309
+ "@types/node": "*",
310
+ "@types/unist": "*"
311
+ }
312
+ },
313
  "abbrev": {
314
  "version": "1.1.1",
315
  "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
316
  "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
317
  "dev": true
318
  },
319
+ "acorn": {
320
+ "version": "6.1.0",
321
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.0.tgz",
322
+ "integrity": "sha512-MW/FjM+IvU9CgBzjO3UIPCE2pyEwUsoFl+VGdczOPEdxfGFjuKny/gN54mOuX7Qxmb9Rg9MCn2oKiSUeW+pjrw==",
323
+ "dev": true
324
+ },
325
+ "acorn-jsx": {
326
+ "version": "5.0.1",
327
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
328
+ "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
329
+ "dev": true
330
+ },
331
  "ajv": {
332
+ "version": "6.9.1",
333
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz",
334
+ "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==",
335
  "dev": true,
336
  "requires": {
337
+ "fast-deep-equal": "^2.0.1",
338
+ "fast-json-stable-stringify": "^2.0.0",
339
+ "json-schema-traverse": "^0.4.1",
340
+ "uri-js": "^4.2.2"
341
  }
342
  },
343
  "amdefine": {
346
  "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
347
  "dev": true
348
  },
349
+ "ansi-escapes": {
350
+ "version": "3.2.0",
351
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
352
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
353
+ "dev": true
354
+ },
355
  "ansi-regex": {
356
+ "version": "3.0.0",
357
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
358
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
359
  "dev": true
360
  },
361
  "ansi-styles": {
364
  "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
365
  "dev": true,
366
  "requires": {
367
+ "color-convert": "^1.9.0"
368
  }
369
  },
370
+ "any-observable": {
371
+ "version": "0.3.0",
372
+ "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz",
373
+ "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==",
374
+ "dev": true
375
+ },
376
  "aproba": {
377
  "version": "1.2.0",
378
  "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
379
  "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
380
  "dev": true
381
  },
382
+ "archiver": {
383
+ "version": "1.3.0",
384
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz",
385
+ "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=",
386
+ "dev": true,
387
+ "requires": {
388
+ "archiver-utils": "^1.3.0",
389
+ "async": "^2.0.0",
390
+ "buffer-crc32": "^0.2.1",
391
+ "glob": "^7.0.0",
392
+ "lodash": "^4.8.0",
393
+ "readable-stream": "^2.0.0",
394
+ "tar-stream": "^1.5.0",
395
+ "walkdir": "^0.0.11",
396
+ "zip-stream": "^1.1.0"
397
+ },
398
+ "dependencies": {
399
+ "async": {
400
+ "version": "2.6.2",
401
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
402
+ "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
403
+ "dev": true,
404
+ "requires": {
405
+ "lodash": "^4.17.11"
406
+ }
407
+ },
408
+ "isarray": {
409
+ "version": "1.0.0",
410
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
411
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
412
+ "dev": true
413
+ },
414
+ "readable-stream": {
415
+ "version": "2.3.6",
416
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
417
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
418
+ "dev": true,
419
+ "requires": {
420
+ "core-util-is": "~1.0.0",
421
+ "inherits": "~2.0.3",
422
+ "isarray": "~1.0.0",
423
+ "process-nextick-args": "~2.0.0",
424
+ "safe-buffer": "~5.1.1",
425
+ "string_decoder": "~1.1.1",
426
+ "util-deprecate": "~1.0.1"
427
+ }
428
+ },
429
+ "string_decoder": {
430
+ "version": "1.1.1",
431
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
432
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
433
+ "dev": true,
434
+ "requires": {
435
+ "safe-buffer": "~5.1.0"
436
+ }
437
+ }
438
+ }
439
+ },
440
+ "archiver-utils": {
441
+ "version": "1.3.0",
442
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
443
+ "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
444
+ "dev": true,
445
+ "requires": {
446
+ "glob": "^7.0.0",
447
+ "graceful-fs": "^4.1.0",
448
+ "lazystream": "^1.0.0",
449
+ "lodash": "^4.8.0",
450
+ "normalize-path": "^2.0.0",
451
+ "readable-stream": "^2.0.0"
452
+ },
453
+ "dependencies": {
454
+ "isarray": {
455
+ "version": "1.0.0",
456
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
457
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
458
+ "dev": true
459
+ },
460
+ "readable-stream": {
461
+ "version": "2.3.6",
462
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
463
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
464
+ "dev": true,
465
+ "requires": {
466
+ "core-util-is": "~1.0.0",
467
+ "inherits": "~2.0.3",
468
+ "isarray": "~1.0.0",
469
+ "process-nextick-args": "~2.0.0",
470
+ "safe-buffer": "~5.1.1",
471
+ "string_decoder": "~1.1.1",
472
+ "util-deprecate": "~1.0.1"
473
+ }
474
+ },
475
+ "string_decoder": {
476
+ "version": "1.1.1",
477
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
478
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
479
+ "dev": true,
480
+ "requires": {
481
+ "safe-buffer": "~5.1.0"
482
+ }
483
+ }
484
+ }
485
+ },
486
  "are-we-there-yet": {
487
  "version": "1.1.5",
488
  "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
489
  "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
490
  "dev": true,
491
  "requires": {
492
+ "delegates": "^1.0.0",
493
+ "readable-stream": "^2.0.6"
494
  },
495
  "dependencies": {
496
  "isarray": {
501
  },
502
  "readable-stream": {
503
  "version": "2.3.6",
504
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
505
  "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
506
  "dev": true,
507
  "requires": {
508
+ "core-util-is": "~1.0.0",
509
+ "inherits": "~2.0.3",
510
+ "isarray": "~1.0.0",
511
+ "process-nextick-args": "~2.0.0",
512
+ "safe-buffer": "~5.1.1",
513
+ "string_decoder": "~1.1.1",
514
+ "util-deprecate": "~1.0.1"
515
  }
516
  },
517
  "string_decoder": {
520
  "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
521
  "dev": true,
522
  "requires": {
523
+ "safe-buffer": "~5.1.0"
524
  }
525
  }
526
  }
531
  "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
532
  "dev": true,
533
  "requires": {
534
+ "sprintf-js": "~1.0.2"
 
 
 
 
 
 
 
 
535
  }
536
  },
537
  "arr-diff": {
564
  "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
565
  "dev": true,
566
  "requires": {
567
+ "array-uniq": "^1.0.1"
568
  }
569
  },
570
  "array-uniq": {
591
  "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
592
  "dev": true,
593
  "requires": {
594
+ "safer-buffer": "~2.1.0"
595
  }
596
  },
597
  "assert-plus": {
606
  "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
607
  "dev": true
608
  },
609
+ "astral-regex": {
610
+ "version": "1.0.0",
611
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
612
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
613
+ "dev": true
614
+ },
615
  "async": {
616
  "version": "1.5.2",
617
  "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
637
  "dev": true
638
  },
639
  "autoprefixer": {
640
+ "version": "9.4.7",
641
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.7.tgz",
642
+ "integrity": "sha512-qS5wW6aXHkm53Y4z73tFGsUhmZu4aMPV9iHXYlF0c/wxjknXNHuj/1cIQb+6YH692DbJGGWcckAXX+VxKvahMA==",
643
  "dev": true,
644
  "requires": {
645
+ "browserslist": "^4.4.1",
646
+ "caniuse-lite": "^1.0.30000932",
647
+ "normalize-range": "^0.1.2",
648
+ "num2fraction": "^1.2.2",
649
+ "postcss": "^7.0.14",
650
+ "postcss-value-parser": "^3.3.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
651
  }
652
  },
653
  "aws-sign2": {
680
  "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
681
  "dev": true,
682
  "requires": {
683
+ "cache-base": "^1.0.1",
684
+ "class-utils": "^0.3.5",
685
+ "component-emitter": "^1.2.1",
686
+ "define-property": "^1.0.0",
687
+ "isobject": "^3.0.1",
688
+ "mixin-deep": "^1.2.0",
689
+ "pascalcase": "^0.1.1"
690
  },
691
  "dependencies": {
692
  "define-property": {
695
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
696
  "dev": true,
697
  "requires": {
698
+ "is-descriptor": "^1.0.0"
699
  }
700
  },
701
  "is-accessor-descriptor": {
704
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
705
  "dev": true,
706
  "requires": {
707
+ "kind-of": "^6.0.0"
708
  }
709
  },
710
  "is-data-descriptor": {
713
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
714
  "dev": true,
715
  "requires": {
716
+ "kind-of": "^6.0.0"
717
  }
718
  },
719
  "is-descriptor": {
722
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
723
  "dev": true,
724
  "requires": {
725
+ "is-accessor-descriptor": "^1.0.0",
726
+ "is-data-descriptor": "^1.0.0",
727
+ "kind-of": "^6.0.2"
728
  }
729
  }
730
  }
731
  },
732
+ "base64-js": {
733
+ "version": "1.3.0",
734
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
735
+ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
736
+ "dev": true
737
+ },
738
  "bcrypt-pbkdf": {
739
  "version": "1.0.2",
740
  "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
741
  "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
742
  "dev": true,
743
  "requires": {
744
+ "tweetnacl": "^0.14.3"
745
+ }
746
+ },
747
+ "bl": {
748
+ "version": "1.2.2",
749
+ "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
750
+ "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
751
+ "dev": true,
752
+ "requires": {
753
+ "readable-stream": "^2.3.5",
754
+ "safe-buffer": "^5.1.1"
755
+ },
756
+ "dependencies": {
757
+ "isarray": {
758
+ "version": "1.0.0",
759
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
760
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
761
+ "dev": true
762
+ },
763
+ "readable-stream": {
764
+ "version": "2.3.6",
765
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
766
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
767
+ "dev": true,
768
+ "requires": {
769
+ "core-util-is": "~1.0.0",
770
+ "inherits": "~2.0.3",
771
+ "isarray": "~1.0.0",
772
+ "process-nextick-args": "~2.0.0",
773
+ "safe-buffer": "~5.1.1",
774
+ "string_decoder": "~1.1.1",
775
+ "util-deprecate": "~1.0.1"
776
+ }
777
+ },
778
+ "string_decoder": {
779
+ "version": "1.1.1",
780
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
781
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
782
+ "dev": true,
783
+ "requires": {
784
+ "safe-buffer": "~5.1.0"
785
+ }
786
+ }
787
  }
788
  },
789
  "block-stream": {
792
  "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
793
  "dev": true,
794
  "requires": {
795
+ "inherits": "~2.0.0"
796
  }
797
  },
798
  "bluebird": {
799
+ "version": "3.5.3",
800
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
801
+ "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==",
802
  "dev": true
803
  },
804
  "body": {
807
  "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
808
  "dev": true,
809
  "requires": {
810
+ "continuable-cache": "^0.3.1",
811
+ "error": "^7.0.0",
812
+ "raw-body": "~1.1.0",
813
+ "safe-json-parse": "~1.0.1"
814
  }
815
  },
816
  "brace-expansion": {
819
  "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
820
  "dev": true,
821
  "requires": {
822
+ "balanced-match": "^1.0.0",
823
  "concat-map": "0.0.1"
824
  }
825
  },
829
  "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
830
  "dev": true,
831
  "requires": {
832
+ "arr-flatten": "^1.1.0",
833
+ "array-unique": "^0.3.2",
834
+ "extend-shallow": "^2.0.1",
835
+ "fill-range": "^4.0.0",
836
+ "isobject": "^3.0.1",
837
+ "repeat-element": "^1.1.2",
838
+ "snapdragon": "^0.8.1",
839
+ "snapdragon-node": "^2.0.1",
840
+ "split-string": "^3.0.2",
841
+ "to-regex": "^3.0.1"
842
  },
843
  "dependencies": {
844
  "extend-shallow": {
847
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
848
  "dev": true,
849
  "requires": {
850
+ "is-extendable": "^0.1.0"
851
  }
852
  }
853
  }
854
  },
855
  "browserslist": {
856
+ "version": "4.4.1",
857
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz",
858
+ "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==",
859
  "dev": true,
860
  "requires": {
861
+ "caniuse-lite": "^1.0.30000929",
862
+ "electron-to-chromium": "^1.3.103",
863
+ "node-releases": "^1.1.3"
864
  }
865
  },
866
+ "buffer": {
867
+ "version": "5.2.1",
868
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
869
+ "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
870
  "dev": true,
871
+ "requires": {
872
+ "base64-js": "^1.0.2",
873
+ "ieee754": "^1.1.4"
874
+ }
875
  },
876
+ "buffer-alloc": {
877
+ "version": "1.2.0",
878
+ "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
879
+ "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
880
+ "dev": true,
881
+ "requires": {
882
+ "buffer-alloc-unsafe": "^1.1.0",
883
+ "buffer-fill": "^1.0.0"
884
+ }
885
+ },
886
+ "buffer-alloc-unsafe": {
887
+ "version": "1.1.0",
888
+ "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
889
+ "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
890
+ "dev": true
891
+ },
892
+ "buffer-crc32": {
893
+ "version": "0.2.13",
894
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
895
+ "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
896
+ "dev": true
897
+ },
898
+ "buffer-fill": {
899
+ "version": "1.0.0",
900
+ "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
901
+ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
902
  "dev": true
903
  },
904
  "bytes": {
913
  "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
914
  "dev": true,
915
  "requires": {
916
+ "collection-visit": "^1.0.0",
917
+ "component-emitter": "^1.2.1",
918
+ "get-value": "^2.0.6",
919
+ "has-value": "^1.0.0",
920
+ "isobject": "^3.0.1",
921
+ "set-value": "^2.0.0",
922
+ "to-object-path": "^0.3.0",
923
+ "union-value": "^1.0.0",
924
+ "unset-value": "^1.0.0"
925
  }
926
  },
927
  "call-me-maybe": {
930
  "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
931
  "dev": true
932
  },
933
+ "caller-callsite": {
934
+ "version": "2.0.0",
935
+ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
936
+ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
937
+ "dev": true,
938
+ "requires": {
939
+ "callsites": "^2.0.0"
940
+ },
941
+ "dependencies": {
942
+ "callsites": {
943
+ "version": "2.0.0",
944
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
945
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
946
+ "dev": true
947
+ }
948
+ }
949
+ },
950
+ "caller-path": {
951
+ "version": "2.0.0",
952
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
953
+ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
954
+ "dev": true,
955
+ "requires": {
956
+ "caller-callsite": "^2.0.0"
957
+ }
958
+ },
959
+ "callsites": {
960
+ "version": "3.0.0",
961
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz",
962
+ "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==",
963
+ "dev": true
964
+ },
965
  "camelcase": {
966
  "version": "2.1.1",
967
  "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
974
  "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
975
  "dev": true,
976
  "requires": {
977
+ "camelcase": "^2.0.0",
978
+ "map-obj": "^1.0.0"
979
  }
980
  },
981
  "caniuse-lite": {
982
+ "version": "1.0.30000936",
983
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000936.tgz",
984
+ "integrity": "sha512-orX4IdpbFhdNO7bTBhSbahp1EBpqzBc+qrvTRVUFfZgA4zta7TdM6PN5ZxkEUgDnz36m+PfWGcdX7AVfFWItJw==",
985
  "dev": true
986
  },
987
  "caseless": {
997
  "dev": true
998
  },
999
  "chalk": {
1000
+ "version": "2.4.2",
1001
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1002
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1003
  "dev": true,
1004
  "requires": {
1005
+ "ansi-styles": "^3.2.1",
1006
+ "escape-string-regexp": "^1.0.5",
1007
+ "supports-color": "^5.3.0"
1008
+ },
1009
+ "dependencies": {
1010
+ "supports-color": {
1011
+ "version": "5.5.0",
1012
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1013
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1014
+ "dev": true,
1015
+ "requires": {
1016
+ "has-flag": "^3.0.0"
1017
+ }
1018
+ }
1019
  }
1020
  },
1021
  "character-entities": {
1042
  "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==",
1043
  "dev": true
1044
  },
1045
+ "chardet": {
1046
+ "version": "0.7.0",
1047
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
1048
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
1049
+ "dev": true
1050
+ },
1051
+ "chownr": {
1052
+ "version": "1.1.1",
1053
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
1054
+ "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
1055
+ "dev": true,
1056
+ "optional": true
1057
+ },
1058
+ "ci-info": {
1059
+ "version": "2.0.0",
1060
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
1061
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
1062
+ "dev": true
1063
+ },
1064
+ "circular-json": {
1065
+ "version": "0.3.3",
1066
+ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
1067
+ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
1068
  "dev": true
1069
  },
1070
  "class-utils": {
1073
  "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
1074
  "dev": true,
1075
  "requires": {
1076
+ "arr-union": "^3.1.0",
1077
+ "define-property": "^0.2.5",
1078
+ "isobject": "^3.0.0",
1079
+ "static-extend": "^0.1.1"
1080
  },
1081
  "dependencies": {
1082
  "define-property": {
1085
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1086
  "dev": true,
1087
  "requires": {
1088
+ "is-descriptor": "^0.1.0"
1089
  }
1090
  }
1091
  }
1096
  "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
1097
  "dev": true,
1098
  "requires": {
1099
+ "source-map": "~0.6.0"
1100
  }
1101
  },
1102
  "cli": {
1106
  "dev": true,
1107
  "requires": {
1108
  "exit": "0.1.2",
1109
+ "glob": "^7.1.1"
1110
+ }
1111
+ },
1112
+ "cli-cursor": {
1113
+ "version": "2.1.0",
1114
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
1115
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
1116
+ "dev": true,
1117
+ "requires": {
1118
+ "restore-cursor": "^2.0.0"
1119
+ }
1120
+ },
1121
+ "cli-truncate": {
1122
+ "version": "0.2.1",
1123
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz",
1124
+ "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=",
1125
+ "dev": true,
1126
+ "requires": {
1127
+ "slice-ansi": "0.0.4",
1128
+ "string-width": "^1.0.1"
1129
  },
1130
  "dependencies": {
1131
+ "ansi-regex": {
1132
+ "version": "2.1.1",
1133
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1134
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1135
+ "dev": true
1136
+ },
1137
+ "is-fullwidth-code-point": {
1138
+ "version": "1.0.0",
1139
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1140
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1141
+ "dev": true,
1142
+ "requires": {
1143
+ "number-is-nan": "^1.0.0"
1144
+ }
1145
+ },
1146
+ "slice-ansi": {
1147
+ "version": "0.0.4",
1148
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz",
1149
+ "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
1150
+ "dev": true
1151
+ },
1152
+ "string-width": {
1153
+ "version": "1.0.2",
1154
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
1155
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
1156
+ "dev": true,
1157
+ "requires": {
1158
+ "code-point-at": "^1.0.0",
1159
+ "is-fullwidth-code-point": "^1.0.0",
1160
+ "strip-ansi": "^3.0.0"
1161
+ }
1162
+ },
1163
+ "strip-ansi": {
1164
+ "version": "3.0.1",
1165
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1166
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1167
  "dev": true,
1168
  "requires": {
1169
+ "ansi-regex": "^2.0.0"
 
 
 
 
 
1170
  }
1171
  }
1172
  }
1173
  },
1174
+ "cli-width": {
1175
+ "version": "2.2.0",
1176
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
1177
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
1178
+ "dev": true
1179
+ },
1180
  "cliui": {
1181
  "version": "3.2.0",
1182
  "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
1183
  "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
1184
  "dev": true,
1185
  "requires": {
1186
+ "string-width": "^1.0.1",
1187
+ "strip-ansi": "^3.0.1",
1188
+ "wrap-ansi": "^2.0.0"
1189
+ },
1190
+ "dependencies": {
1191
+ "ansi-regex": {
1192
+ "version": "2.1.1",
1193
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1194
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1195
+ "dev": true
1196
+ },
1197
+ "is-fullwidth-code-point": {
1198
+ "version": "1.0.0",
1199
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1200
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1201
+ "dev": true,
1202
+ "requires": {
1203
+ "number-is-nan": "^1.0.0"
1204
+ }
1205
+ },
1206
+ "string-width": {
1207
+ "version": "1.0.2",
1208
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
1209
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
1210
+ "dev": true,
1211
+ "requires": {
1212
+ "code-point-at": "^1.0.0",
1213
+ "is-fullwidth-code-point": "^1.0.0",
1214
+ "strip-ansi": "^3.0.0"
1215
+ }
1216
+ },
1217
+ "strip-ansi": {
1218
+ "version": "3.0.1",
1219
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1220
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1221
+ "dev": true,
1222
+ "requires": {
1223
+ "ansi-regex": "^2.0.0"
1224
+ }
1225
+ },
1226
+ "wrap-ansi": {
1227
+ "version": "2.1.0",
1228
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
1229
+ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
1230
+ "dev": true,
1231
+ "requires": {
1232
+ "string-width": "^1.0.1",
1233
+ "strip-ansi": "^3.0.1"
1234
+ }
1235
+ }
1236
  }
1237
  },
1238
  "clone-regexp": {
1241
  "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
1242
  "dev": true,
1243
  "requires": {
1244
+ "is-regexp": "^1.0.0",
1245
+ "is-supported-regexp-flag": "^1.0.0"
1246
  }
1247
  },
 
 
 
 
 
 
1248
  "code-point-at": {
1249
  "version": "1.1.0",
1250
  "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
1269
  "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
1270
  "dev": true,
1271
  "requires": {
1272
+ "map-visit": "^1.0.0",
1273
+ "object-visit": "^1.0.0"
1274
  }
1275
  },
1276
  "color-convert": {
1277
+ "version": "1.9.3",
1278
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1279
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1280
  "dev": true,
1281
  "requires": {
1282
+ "color-name": "1.1.3"
1283
  }
1284
  },
1285
  "color-name": {
1286
+ "version": "1.1.3",
1287
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1288
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1289
  "dev": true
1290
  },
1291
  "colors": {
1300
  "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
1301
  "dev": true,
1302
  "requires": {
1303
+ "delayed-stream": "~1.0.0"
1304
  }
1305
  },
1306
  "commander": {
1315
  "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
1316
  "dev": true
1317
  },
1318
+ "compress-commons": {
1319
+ "version": "1.2.2",
1320
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
1321
+ "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
 
 
 
 
 
 
1322
  "dev": true,
 
1323
  "requires": {
1324
+ "buffer-crc32": "^0.2.1",
1325
+ "crc32-stream": "^2.0.0",
1326
+ "normalize-path": "^2.0.0",
1327
+ "readable-stream": "^2.0.0"
1328
  },
1329
  "dependencies": {
1330
  "isarray": {
1331
  "version": "1.0.0",
1332
  "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1333
  "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1334
+ "dev": true
 
1335
  },
1336
  "readable-stream": {
1337
  "version": "2.3.6",
1338
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
1339
  "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
1340
  "dev": true,
 
1341
  "requires": {
1342
+ "core-util-is": "~1.0.0",
1343
+ "inherits": "~2.0.3",
1344
+ "isarray": "~1.0.0",
1345
+ "process-nextick-args": "~2.0.0",
1346
+ "safe-buffer": "~5.1.1",
1347
+ "string_decoder": "~1.1.1",
1348
+ "util-deprecate": "~1.0.1"
1349
  }
1350
  },
1351
  "string_decoder": {
1353
  "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1354
  "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1355
  "dev": true,
 
1356
  "requires": {
1357
+ "safe-buffer": "~5.1.0"
1358
  }
1359
  }
1360
  }
1361
  },
1362
+ "concat-map": {
1363
+ "version": "0.0.1",
1364
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1365
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1366
+ "dev": true
1367
+ },
1368
  "console-browserify": {
1369
  "version": "1.1.0",
1370
  "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
1371
  "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
1372
  "dev": true,
1373
  "requires": {
1374
+ "date-now": "^0.1.4"
1375
  }
1376
  },
1377
  "console-control-strings": {
1392
  "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
1393
  "dev": true,
1394
  "requires": {
1395
+ "safe-buffer": "~5.1.1"
1396
  }
1397
  },
1398
  "copy-descriptor": {
1408
  "dev": true
1409
  },
1410
  "cosmiconfig": {
1411
+ "version": "5.0.7",
1412
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz",
1413
+ "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==",
1414
  "dev": true,
1415
  "requires": {
1416
+ "import-fresh": "^2.0.0",
1417
+ "is-directory": "^0.3.1",
1418
+ "js-yaml": "^3.9.0",
1419
+ "parse-json": "^4.0.0"
1420
  },
1421
  "dependencies": {
1422
+ "import-fresh": {
1423
+ "version": "2.0.0",
1424
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
1425
+ "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
 
 
 
 
 
 
1426
  "dev": true,
1427
  "requires": {
1428
+ "caller-path": "^2.0.0",
1429
+ "resolve-from": "^3.0.0"
1430
  }
1431
  },
1432
  "parse-json": {
1435
  "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
1436
  "dev": true,
1437
  "requires": {
1438
+ "error-ex": "^1.3.1",
1439
+ "json-parse-better-errors": "^1.0.1"
1440
+ }
1441
+ },
1442
+ "resolve-from": {
1443
+ "version": "3.0.0",
1444
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
1445
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
1446
+ "dev": true
1447
+ }
1448
+ }
1449
+ },
1450
+ "crc": {
1451
+ "version": "3.8.0",
1452
+ "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz",
1453
+ "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==",
1454
+ "dev": true,
1455
+ "requires": {
1456
+ "buffer": "^5.1.0"
1457
+ }
1458
+ },
1459
+ "crc32-stream": {
1460
+ "version": "2.0.0",
1461
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
1462
+ "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
1463
+ "dev": true,
1464
+ "requires": {
1465
+ "crc": "^3.4.4",
1466
+ "readable-stream": "^2.0.0"
1467
+ },
1468
+ "dependencies": {
1469
+ "isarray": {
1470
+ "version": "1.0.0",
1471
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1472
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1473
+ "dev": true
1474
+ },
1475
+ "readable-stream": {
1476
+ "version": "2.3.6",
1477
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
1478
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
1479
+ "dev": true,
1480
+ "requires": {
1481
+ "core-util-is": "~1.0.0",
1482
+ "inherits": "~2.0.3",
1483
+ "isarray": "~1.0.0",
1484
+ "process-nextick-args": "~2.0.0",
1485
+ "safe-buffer": "~5.1.1",
1486
+ "string_decoder": "~1.1.1",
1487
+ "util-deprecate": "~1.0.1"
1488
+ }
1489
+ },
1490
+ "string_decoder": {
1491
+ "version": "1.1.1",
1492
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1493
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1494
+ "dev": true,
1495
+ "requires": {
1496
+ "safe-buffer": "~5.1.0"
1497
  }
1498
  }
1499
  }
1500
  },
1501
  "cross-spawn": {
1502
+ "version": "6.0.5",
1503
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
1504
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
1505
  "dev": true,
1506
  "requires": {
1507
+ "nice-try": "^1.0.4",
1508
+ "path-key": "^2.0.1",
1509
+ "semver": "^5.5.0",
1510
+ "shebang-command": "^1.2.0",
1511
+ "which": "^1.2.9"
1512
  }
1513
  },
1514
+ "cssesc": {
1515
+ "version": "2.0.0",
1516
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
1517
+ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
1518
+ "dev": true
1519
+ },
1520
  "currently-unhandled": {
1521
  "version": "0.4.1",
1522
  "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
1523
  "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
1524
  "dev": true,
1525
  "requires": {
1526
+ "array-find-index": "^1.0.1"
1527
  }
1528
  },
 
 
 
 
 
 
 
1529
  "dashdash": {
1530
  "version": "1.14.1",
1531
  "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
1532
  "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1533
  "dev": true,
1534
  "requires": {
1535
+ "assert-plus": "^1.0.0"
1536
  }
1537
  },
1538
+ "date-fns": {
1539
+ "version": "1.30.1",
1540
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
1541
+ "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==",
1542
+ "dev": true
1543
+ },
1544
  "date-now": {
1545
  "version": "0.1.4",
1546
  "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
1553
  "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
1554
  "dev": true,
1555
  "requires": {
1556
+ "get-stdin": "^4.0.1",
1557
+ "meow": "^3.3.0"
1558
  }
1559
  },
1560
  "debug": {
1561
+ "version": "4.1.1",
1562
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
1563
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
1564
  "dev": true,
1565
  "requires": {
1566
+ "ms": "^2.1.1"
1567
  }
1568
  },
1569
  "decamelize": {
1578
  "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
1579
  "dev": true,
1580
  "requires": {
1581
+ "decamelize": "^1.1.0",
1582
+ "map-obj": "^1.0.0"
1583
  }
1584
  },
1585
  "decode-uri-component": {
1588
  "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
1589
  "dev": true
1590
  },
1591
+ "decompress-response": {
1592
+ "version": "3.3.0",
1593
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
1594
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
1595
+ "dev": true,
1596
+ "optional": true,
1597
+ "requires": {
1598
+ "mimic-response": "^1.0.0"
1599
+ }
1600
+ },
1601
+ "dedent": {
1602
+ "version": "0.7.0",
1603
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
1604
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
1605
+ "dev": true
1606
+ },
1607
+ "deep-extend": {
1608
+ "version": "0.6.0",
1609
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
1610
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
1611
+ "dev": true,
1612
+ "optional": true
1613
+ },
1614
+ "deep-is": {
1615
+ "version": "0.1.3",
1616
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
1617
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
1618
+ "dev": true
1619
+ },
1620
  "define-property": {
1621
  "version": "2.0.2",
1622
  "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
1623
  "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
1624
  "dev": true,
1625
  "requires": {
1626
+ "is-descriptor": "^1.0.2",
1627
+ "isobject": "^3.0.1"
1628
  },
1629
  "dependencies": {
1630
  "is-accessor-descriptor": {
1633
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1634
  "dev": true,
1635
  "requires": {
1636
+ "kind-of": "^6.0.0"
1637
  }
1638
  },
1639
  "is-data-descriptor": {
1642
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1643
  "dev": true,
1644
  "requires": {
1645
+ "kind-of": "^6.0.0"
1646
  }
1647
  },
1648
  "is-descriptor": {
1651
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1652
  "dev": true,
1653
  "requires": {
1654
+ "is-accessor-descriptor": "^1.0.0",
1655
+ "is-data-descriptor": "^1.0.0",
1656
+ "kind-of": "^6.0.2"
1657
  }
1658
  }
1659
  }
1660
  },
1661
  "del": {
1662
+ "version": "3.0.0",
1663
+ "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
1664
+ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
1665
  "dev": true,
1666
  "requires": {
1667
+ "globby": "^6.1.0",
1668
+ "is-path-cwd": "^1.0.0",
1669
+ "is-path-in-cwd": "^1.0.0",
1670
+ "p-map": "^1.1.1",
1671
+ "pify": "^3.0.0",
1672
+ "rimraf": "^2.2.8"
 
1673
  },
1674
  "dependencies": {
1675
+ "pify": {
1676
+ "version": "3.0.0",
1677
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1678
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
1679
+ "dev": true
 
 
 
 
 
 
 
 
1680
  }
1681
  }
1682
  },
1692
  "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
1693
  "dev": true
1694
  },
1695
+ "detect-libc": {
1696
+ "version": "0.2.0",
1697
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-0.2.0.tgz",
1698
+ "integrity": "sha1-R/31ZzSKF+wl/L8LnkRjSKdvn7U=",
1699
+ "dev": true,
1700
+ "optional": true
1701
+ },
1702
  "diff": {
1703
  "version": "3.5.0",
1704
  "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
1706
  "dev": true
1707
  },
1708
  "dir-glob": {
1709
+ "version": "2.2.2",
1710
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
1711
+ "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
1712
  "dev": true,
1713
  "requires": {
1714
+ "path-type": "^3.0.0"
 
1715
  },
1716
  "dependencies": {
1717
  "path-type": {
1720
  "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
1721
  "dev": true,
1722
  "requires": {
1723
+ "pify": "^3.0.0"
1724
  }
1725
  },
1726
  "pify": {
1731
  }
1732
  }
1733
  },
1734
+ "doctrine": {
1735
+ "version": "2.1.0",
1736
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
1737
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
1738
+ "dev": true,
1739
+ "requires": {
1740
+ "esutils": "^2.0.2"
1741
+ }
1742
+ },
1743
  "dom-serializer": {
1744
  "version": "0.1.0",
1745
  "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
1746
  "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
1747
  "dev": true,
1748
  "requires": {
1749
+ "domelementtype": "~1.1.1",
1750
+ "entities": "~1.1.1"
1751
  },
1752
  "dependencies": {
1753
  "domelementtype": {
1754
  "version": "1.1.3",
1755
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
1756
  "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
1757
  "dev": true
1758
  },
1765
  }
1766
  },
1767
  "domelementtype": {
1768
+ "version": "1.3.1",
1769
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
1770
+ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
1771
  "dev": true
1772
  },
1773
  "domhandler": {
1776
  "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
1777
  "dev": true,
1778
  "requires": {
1779
+ "domelementtype": "1"
1780
  }
1781
  },
1782
  "domutils": {
1785
  "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
1786
  "dev": true,
1787
  "requires": {
1788
+ "dom-serializer": "0",
1789
+ "domelementtype": "1"
1790
  }
1791
  },
1792
  "dot-prop": {
1795
  "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
1796
  "dev": true,
1797
  "requires": {
1798
+ "is-obj": "^1.0.0"
1799
  }
1800
  },
1801
  "duplexer": {
1802
  "version": "0.1.1",
1803
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
1804
  "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
1805
  "dev": true
1806
  },
1810
  "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
1811
  "dev": true,
1812
  "requires": {
1813
+ "jsbn": "~0.1.0",
1814
+ "safer-buffer": "^2.1.0"
1815
  }
1816
  },
1817
  "electron-to-chromium": {
1818
+ "version": "1.3.113",
1819
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz",
1820
+ "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==",
1821
+ "dev": true
1822
+ },
1823
+ "elegant-spinner": {
1824
+ "version": "1.0.1",
1825
+ "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz",
1826
+ "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=",
1827
+ "dev": true
1828
+ },
1829
+ "emoji-regex": {
1830
+ "version": "7.0.3",
1831
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
1832
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
1833
  "dev": true
1834
  },
1835
  "encoding": {
1838
  "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
1839
  "dev": true,
1840
  "requires": {
1841
+ "iconv-lite": "~0.4.13"
1842
+ }
1843
+ },
1844
+ "end-of-stream": {
1845
+ "version": "1.4.1",
1846
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
1847
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
1848
+ "dev": true,
1849
+ "requires": {
1850
+ "once": "^1.4.0"
1851
  }
1852
  },
1853
  "entities": {
1854
  "version": "1.0.0",
1855
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
1856
  "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
1857
  "dev": true
1858
  },
1862
  "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
1863
  "dev": true,
1864
  "requires": {
1865
+ "string-template": "~0.2.1",
1866
+ "xtend": "~4.0.0"
1867
  }
1868
  },
1869
  "error-ex": {
1872
  "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1873
  "dev": true,
1874
  "requires": {
1875
+ "is-arrayish": "^0.2.1"
1876
  }
1877
  },
 
 
 
 
 
 
 
1878
  "escape-string-regexp": {
1879
  "version": "1.0.5",
1880
  "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1881
  "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1882
  "dev": true
1883
  },
1884
+ "eslint": {
1885
+ "version": "5.12.1",
1886
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.12.1.tgz",
1887
+ "integrity": "sha512-54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg==",
1888
+ "dev": true,
1889
+ "requires": {
1890
+ "@babel/code-frame": "^7.0.0",
1891
+ "ajv": "^6.5.3",
1892
+ "chalk": "^2.1.0",
1893
+ "cross-spawn": "^6.0.5",
1894
+ "debug": "^4.0.1",
1895
+ "doctrine": "^2.1.0",
1896
+ "eslint-scope": "^4.0.0",
1897
+ "eslint-utils": "^1.3.1",
1898
+ "eslint-visitor-keys": "^1.0.0",
1899
+ "espree": "^5.0.0",
1900
+ "esquery": "^1.0.1",
1901
+ "esutils": "^2.0.2",
1902
+ "file-entry-cache": "^2.0.0",
1903
+ "functional-red-black-tree": "^1.0.1",
1904
+ "glob": "^7.1.2",
1905
+ "globals": "^11.7.0",
1906
+ "ignore": "^4.0.6",
1907
+ "import-fresh": "^3.0.0",
1908
+ "imurmurhash": "^0.1.4",
1909
+ "inquirer": "^6.1.0",
1910
+ "js-yaml": "^3.12.0",
1911
+ "json-stable-stringify-without-jsonify": "^1.0.1",
1912
+ "levn": "^0.3.0",
1913
+ "lodash": "^4.17.5",
1914
+ "minimatch": "^3.0.4",
1915
+ "mkdirp": "^0.5.1",
1916
+ "natural-compare": "^1.4.0",
1917
+ "optionator": "^0.8.2",
1918
+ "path-is-inside": "^1.0.2",
1919
+ "pluralize": "^7.0.0",
1920
+ "progress": "^2.0.0",
1921
+ "regexpp": "^2.0.1",
1922
+ "semver": "^5.5.1",
1923
+ "strip-ansi": "^4.0.0",
1924
+ "strip-json-comments": "^2.0.1",
1925
+ "table": "^5.0.2",
1926
+ "text-table": "^0.2.0"
1927
+ }
1928
+ },
1929
+ "eslint-scope": {
1930
+ "version": "4.0.0",
1931
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
1932
+ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
1933
+ "dev": true,
1934
+ "requires": {
1935
+ "esrecurse": "^4.1.0",
1936
+ "estraverse": "^4.1.1"
1937
+ }
1938
+ },
1939
+ "eslint-utils": {
1940
+ "version": "1.3.1",
1941
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz",
1942
+ "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==",
1943
+ "dev": true
1944
+ },
1945
+ "eslint-visitor-keys": {
1946
+ "version": "1.0.0",
1947
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
1948
+ "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
1949
+ "dev": true
1950
+ },
1951
+ "espree": {
1952
+ "version": "5.0.0",
1953
+ "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz",
1954
+ "integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==",
1955
+ "dev": true,
1956
+ "requires": {
1957
+ "acorn": "^6.0.2",
1958
+ "acorn-jsx": "^5.0.0",
1959
+ "eslint-visitor-keys": "^1.0.0"
1960
+ }
1961
+ },
1962
  "esprima": {
1963
+ "version": "4.0.1",
1964
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1965
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1966
+ "dev": true
1967
+ },
1968
+ "esquery": {
1969
+ "version": "1.0.1",
1970
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
1971
+ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
1972
+ "dev": true,
1973
+ "requires": {
1974
+ "estraverse": "^4.0.0"
1975
+ }
1976
+ },
1977
+ "esrecurse": {
1978
+ "version": "4.2.1",
1979
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
1980
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
1981
+ "dev": true,
1982
+ "requires": {
1983
+ "estraverse": "^4.1.0"
1984
+ }
1985
+ },
1986
+ "estraverse": {
1987
+ "version": "4.2.0",
1988
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
1989
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
1990
  "dev": true
1991
  },
1992
  "esutils": {
2001
  "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
2002
  "dev": true
2003
  },
2004
+ "execa": {
2005
+ "version": "1.0.0",
2006
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
2007
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
2008
+ "dev": true,
2009
+ "requires": {
2010
+ "cross-spawn": "^6.0.0",
2011
+ "get-stream": "^4.0.0",
2012
+ "is-stream": "^1.1.0",
2013
+ "npm-run-path": "^2.0.0",
2014
+ "p-finally": "^1.0.0",
2015
+ "signal-exit": "^3.0.0",
2016
+ "strip-eof": "^1.0.0"
2017
+ }
2018
+ },
2019
  "execall": {
2020
  "version": "1.0.0",
2021
  "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
2022
  "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
2023
  "dev": true,
2024
  "requires": {
2025
+ "clone-regexp": "^1.0.0"
2026
  }
2027
  },
2028
  "exit": {
2037
  "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
2038
  "dev": true,
2039
  "requires": {
2040
+ "debug": "^2.3.3",
2041
+ "define-property": "^0.2.5",
2042
+ "extend-shallow": "^2.0.1",
2043
+ "posix-character-classes": "^0.1.0",
2044
+ "regex-not": "^1.0.0",
2045
+ "snapdragon": "^0.8.1",
2046
+ "to-regex": "^3.0.1"
2047
  },
2048
  "dependencies": {
2049
  "debug": {
2061
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2062
  "dev": true,
2063
  "requires": {
2064
+ "is-descriptor": "^0.1.0"
2065
  }
2066
  },
2067
  "extend-shallow": {
2070
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2071
  "dev": true,
2072
  "requires": {
2073
+ "is-extendable": "^0.1.0"
2074
  }
2075
+ },
2076
+ "ms": {
2077
+ "version": "2.0.0",
2078
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2079
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
2080
+ "dev": true
2081
  }
2082
  }
2083
  },
2084
+ "expand-template": {
2085
+ "version": "1.1.1",
2086
+ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz",
2087
+ "integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg==",
2088
  "dev": true,
2089
+ "optional": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2090
  },
2091
  "extend": {
2092
  "version": "3.0.2",
2100
  "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
2101
  "dev": true,
2102
  "requires": {
2103
+ "assign-symbols": "^1.0.0",
2104
+ "is-extendable": "^1.0.1"
2105
  },
2106
  "dependencies": {
2107
  "is-extendable": {
2110
  "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2111
  "dev": true,
2112
  "requires": {
2113
+ "is-plain-object": "^2.0.4"
2114
  }
2115
  }
2116
  }
2117
  },
2118
+ "external-editor": {
2119
+ "version": "3.0.3",
2120
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
2121
+ "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
2122
+ "dev": true,
2123
+ "requires": {
2124
+ "chardet": "^0.7.0",
2125
+ "iconv-lite": "^0.4.24",
2126
+ "tmp": "^0.0.33"
2127
+ }
2128
+ },
2129
  "extglob": {
2130
  "version": "2.0.4",
2131
  "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
2132
  "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
2133
  "dev": true,
2134
  "requires": {
2135
+ "array-unique": "^0.3.2",
2136
+ "define-property": "^1.0.0",
2137
+ "expand-brackets": "^2.1.4",
2138
+ "extend-shallow": "^2.0.1",
2139
+ "fragment-cache": "^0.2.1",
2140
+ "regex-not": "^1.0.0",
2141
+ "snapdragon": "^0.8.1",
2142
+ "to-regex": "^3.0.1"
2143
  },
2144
  "dependencies": {
2145
  "define-property": {
2148
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2149
  "dev": true,
2150
  "requires": {
2151
+ "is-descriptor": "^1.0.0"
2152
  }
2153
  },
2154
  "extend-shallow": {
2157
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2158
  "dev": true,
2159
  "requires": {
2160
+ "is-extendable": "^0.1.0"
2161
  }
2162
  },
2163
  "is-accessor-descriptor": {
2166
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2167
  "dev": true,
2168
  "requires": {
2169
+ "kind-of": "^6.0.0"
2170
  }
2171
  },
2172
  "is-data-descriptor": {
2175
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2176
  "dev": true,
2177
  "requires": {
2178
+ "kind-of": "^6.0.0"
2179
  }
2180
  },
2181
  "is-descriptor": {
2184
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2185
  "dev": true,
2186
  "requires": {
2187
+ "is-accessor-descriptor": "^1.0.0",
2188
+ "is-data-descriptor": "^1.0.0",
2189
+ "kind-of": "^6.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2190
  }
2191
  }
2192
  }
2197
  "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
2198
  "dev": true
2199
  },
 
 
 
 
 
 
 
2200
  "fast-deep-equal": {
2201
+ "version": "2.0.1",
2202
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
2203
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
2204
  "dev": true
2205
  },
2206
  "fast-glob": {
2207
+ "version": "2.2.6",
2208
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz",
2209
+ "integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==",
2210
  "dev": true,
2211
  "requires": {
2212
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
2213
+ "@nodelib/fs.stat": "^1.1.2",
2214
+ "glob-parent": "^3.1.0",
2215
+ "is-glob": "^4.0.0",
2216
+ "merge2": "^1.2.3",
2217
+ "micromatch": "^3.1.10"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2218
  }
2219
  },
2220
  "fast-json-stable-stringify": {
2223
  "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
2224
  "dev": true
2225
  },
2226
+ "fast-levenshtein": {
2227
+ "version": "2.0.6",
2228
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
2229
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
2230
+ "dev": true
2231
+ },
2232
  "faye-websocket": {
2233
  "version": "0.10.0",
2234
  "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
2235
  "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
2236
  "dev": true,
2237
  "requires": {
2238
+ "websocket-driver": ">=0.5.1"
 
 
 
 
 
 
 
 
 
 
2239
  }
2240
  },
2241
  "figures": {
2242
+ "version": "2.0.0",
2243
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
2244
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
2245
  "dev": true,
2246
  "requires": {
2247
+ "escape-string-regexp": "^1.0.5"
 
2248
  }
2249
  },
2250
  "file-entry-cache": {
2253
  "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
2254
  "dev": true,
2255
  "requires": {
2256
+ "flat-cache": "^1.2.1",
2257
+ "object-assign": "^4.0.1"
2258
  }
2259
  },
 
 
 
 
 
 
2260
  "fill-range": {
2261
  "version": "4.0.0",
2262
  "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
2263
  "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
2264
  "dev": true,
2265
  "requires": {
2266
+ "extend-shallow": "^2.0.1",
2267
+ "is-number": "^3.0.0",
2268
+ "repeat-string": "^1.6.1",
2269
+ "to-regex-range": "^2.1.0"
2270
  },
2271
  "dependencies": {
2272
  "extend-shallow": {
2275
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
2276
  "dev": true,
2277
  "requires": {
2278
+ "is-extendable": "^0.1.0"
2279
  }
2280
  }
2281
  }
2282
  },
2283
+ "find-parent-dir": {
2284
+ "version": "0.3.0",
2285
+ "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz",
2286
+ "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=",
2287
+ "dev": true
2288
+ },
2289
  "find-up": {
2290
  "version": "1.1.2",
2291
  "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
2292
  "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
2293
  "dev": true,
2294
  "requires": {
2295
+ "path-exists": "^2.0.0",
2296
+ "pinkie-promise": "^2.0.0"
2297
  }
2298
  },
2299
  "findup": {
2302
  "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=",
2303
  "dev": true,
2304
  "requires": {
2305
+ "colors": "~0.6.0-1",
2306
+ "commander": "~2.1.0"
2307
  },
2308
  "dependencies": {
2309
  "colors": {
2326
  "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
2327
  "dev": true,
2328
  "requires": {
2329
+ "glob": "~5.0.0"
2330
  },
2331
  "dependencies": {
2332
  "glob": {
2335
  "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
2336
  "dev": true,
2337
  "requires": {
2338
+ "inflight": "^1.0.4",
2339
+ "inherits": "2",
2340
+ "minimatch": "2 || 3",
2341
+ "once": "^1.3.0",
2342
+ "path-is-absolute": "^1.0.0"
2343
  }
2344
  }
2345
  }
2346
  },
2347
  "flat-cache": {
2348
+ "version": "1.3.4",
2349
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
2350
+ "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
2351
  "dev": true,
2352
  "requires": {
2353
+ "circular-json": "^0.3.1",
2354
+ "graceful-fs": "^4.1.2",
2355
+ "rimraf": "~2.6.2",
2356
+ "write": "^0.2.1"
2357
  }
2358
  },
2359
+ "flatted": {
2360
+ "version": "2.0.0",
2361
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz",
2362
+ "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==",
2363
+ "dev": true
2364
+ },
2365
+ "fn-name": {
2366
+ "version": "2.0.1",
2367
+ "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz",
2368
+ "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=",
2369
+ "dev": true
2370
+ },
2371
  "for-in": {
2372
  "version": "1.0.2",
2373
  "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
2374
  "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
2375
  "dev": true
2376
  },
 
 
 
 
 
 
 
 
 
2377
  "forever-agent": {
2378
  "version": "0.6.1",
2379
  "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
2386
  "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
2387
  "dev": true,
2388
  "requires": {
2389
+ "asynckit": "^0.4.0",
2390
+ "combined-stream": "^1.0.6",
2391
+ "mime-types": "^2.1.12"
2392
  }
2393
  },
2394
  "fragment-cache": {
2397
  "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
2398
  "dev": true,
2399
  "requires": {
2400
+ "map-cache": "^0.2.2"
2401
  }
2402
  },
2403
+ "fs-constants": {
2404
  "version": "1.0.0",
2405
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
2406
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
2407
+ "dev": true
 
 
 
 
 
 
2408
  },
2409
  "fs.realpath": {
2410
  "version": "1.0.0",
2418
  "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
2419
  "dev": true,
2420
  "requires": {
2421
+ "graceful-fs": "^4.1.2",
2422
+ "inherits": "~2.0.0",
2423
+ "mkdirp": ">=0.5 0",
2424
+ "rimraf": "2"
2425
+ }
2426
+ },
2427
+ "functional-red-black-tree": {
2428
+ "version": "1.0.1",
2429
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
2430
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
2431
+ "dev": true
2432
+ },
2433
+ "g-status": {
2434
+ "version": "2.0.2",
2435
+ "resolved": "https://registry.npmjs.org/g-status/-/g-status-2.0.2.tgz",
2436
+ "integrity": "sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA==",
2437
+ "dev": true,
2438
+ "requires": {
2439
+ "arrify": "^1.0.1",
2440
+ "matcher": "^1.0.0",
2441
+ "simple-git": "^1.85.0"
2442
  }
2443
  },
2444
  "gauge": {
2447
  "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
2448
  "dev": true,
2449
  "requires": {
2450
+ "aproba": "^1.0.3",
2451
+ "console-control-strings": "^1.0.0",
2452
+ "has-unicode": "^2.0.0",
2453
+ "object-assign": "^4.1.0",
2454
+ "signal-exit": "^3.0.0",
2455
+ "string-width": "^1.0.1",
2456
+ "strip-ansi": "^3.0.1",
2457
+ "wide-align": "^1.1.0"
2458
+ },
2459
+ "dependencies": {
2460
+ "ansi-regex": {
2461
+ "version": "2.1.1",
2462
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
2463
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
2464
+ "dev": true
2465
+ },
2466
+ "is-fullwidth-code-point": {
2467
+ "version": "1.0.0",
2468
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
2469
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
2470
+ "dev": true,
2471
+ "requires": {
2472
+ "number-is-nan": "^1.0.0"
2473
+ }
2474
+ },
2475
+ "string-width": {
2476
+ "version": "1.0.2",
2477
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
2478
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
2479
+ "dev": true,
2480
+ "requires": {
2481
+ "code-point-at": "^1.0.0",
2482
+ "is-fullwidth-code-point": "^1.0.0",
2483
+ "strip-ansi": "^3.0.0"
2484
+ }
2485
+ },
2486
+ "strip-ansi": {
2487
+ "version": "3.0.1",
2488
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
2489
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
2490
+ "dev": true,
2491
+ "requires": {
2492
+ "ansi-regex": "^2.0.0"
2493
+ }
2494
+ }
2495
  }
2496
  },
2497
  "gaze": {
2500
  "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
2501
  "dev": true,
2502
  "requires": {
2503
+ "globule": "^1.0.0"
2504
  }
2505
  },
2506
  "get-caller-file": {
2509
  "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
2510
  "dev": true
2511
  },
2512
+ "get-own-enumerable-property-symbols": {
2513
+ "version": "3.0.0",
2514
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz",
2515
+ "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==",
2516
+ "dev": true
2517
+ },
2518
  "get-stdin": {
2519
  "version": "4.0.1",
2520
  "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
2521
  "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
2522
  "dev": true
2523
  },
2524
+ "get-stream": {
2525
+ "version": "4.1.0",
2526
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
2527
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
2528
+ "dev": true,
2529
+ "requires": {
2530
+ "pump": "^3.0.0"
2531
+ }
2532
+ },
2533
  "get-value": {
2534
  "version": "2.0.6",
2535
  "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
2548
  "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
2549
  "dev": true,
2550
  "requires": {
2551
+ "assert-plus": "^1.0.0"
2552
  }
2553
  },
2554
  "gettext-parser": {
2555
+ "version": "3.1.0",
2556
+ "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-3.1.0.tgz",
2557
+ "integrity": "sha512-eVD8RxFMeHg8pjl5zsk7xlEDaKdcYlotLztiMaYGLvI13LMXwWlybLg7rg6eagct79vyGkPGZrMPBsdjsQOnWg==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2558
  "dev": true,
2559
  "requires": {
2560
+ "encoding": "^0.1.12",
2561
+ "readable-stream": "^3.0.6",
2562
+ "safe-buffer": "^5.1.2"
2563
  },
2564
  "dependencies": {
2565
+ "readable-stream": {
2566
+ "version": "3.1.1",
2567
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
2568
+ "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
2569
  "dev": true,
2570
  "requires": {
2571
+ "inherits": "^2.0.3",
2572
+ "string_decoder": "^1.1.1",
2573
+ "util-deprecate": "^1.0.1"
2574
  }
2575
  },
2576
+ "string_decoder": {
2577
+ "version": "1.2.0",
2578
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
2579
+ "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
 
 
 
 
 
 
2580
  "dev": true,
2581
  "requires": {
2582
+ "safe-buffer": "~5.1.0"
2583
  }
2584
  }
2585
  }
2586
  },
2587
+ "github-from-package": {
2588
+ "version": "0.0.0",
2589
+ "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
2590
+ "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=",
2591
+ "dev": true,
2592
+ "optional": true
2593
+ },
2594
+ "glob": {
2595
+ "version": "7.1.3",
2596
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
2597
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
2598
+ "dev": true,
2599
+ "requires": {
2600
+ "fs.realpath": "^1.0.0",
2601
+ "inflight": "^1.0.4",
2602
+ "inherits": "2",
2603
+ "minimatch": "^3.0.4",
2604
+ "once": "^1.3.0",
2605
+ "path-is-absolute": "^1.0.0"
2606
+ }
2607
+ },
2608
  "glob-parent": {
2609
  "version": "3.1.0",
2610
  "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
2611
  "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
2612
  "dev": true,
2613
  "requires": {
2614
+ "is-glob": "^3.1.0",
2615
+ "path-dirname": "^1.0.0"
2616
  },
2617
  "dependencies": {
2618
  "is-glob": {
2621
  "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
2622
  "dev": true,
2623
  "requires": {
2624
+ "is-extglob": "^2.1.0"
2625
  }
2626
  }
2627
  }
2633
  "dev": true
2634
  },
2635
  "global-modules": {
2636
+ "version": "2.0.0",
2637
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
2638
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
2639
  "dev": true,
2640
  "requires": {
2641
+ "global-prefix": "^3.0.0"
 
 
2642
  }
2643
  },
2644
  "global-prefix": {
2645
+ "version": "3.0.0",
2646
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
2647
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
2648
  "dev": true,
2649
  "requires": {
2650
+ "ini": "^1.3.5",
2651
+ "kind-of": "^6.0.2",
2652
+ "which": "^1.3.1"
 
 
2653
  }
2654
  },
2655
  "globals": {
2656
+ "version": "11.11.0",
2657
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz",
2658
+ "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==",
2659
  "dev": true
2660
  },
2661
  "globby": {
2662
+ "version": "6.1.0",
2663
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
2664
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
2665
+ "dev": true,
2666
+ "requires": {
2667
+ "array-union": "^1.0.1",
2668
+ "glob": "^7.0.3",
2669
+ "object-assign": "^4.0.1",
2670
+ "pify": "^2.0.0",
2671
+ "pinkie-promise": "^2.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2672
  }
2673
  },
2674
  "globjoin": {
2683
  "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
2684
  "dev": true,
2685
  "requires": {
2686
+ "glob": "~7.1.1",
2687
+ "lodash": "~4.17.10",
2688
+ "minimatch": "~3.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2689
  }
2690
  },
2691
  "gonzales-pe": {
2694
  "integrity": "sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw==",
2695
  "dev": true,
2696
  "requires": {
2697
+ "minimist": "1.1.x"
2698
  },
2699
  "dependencies": {
2700
  "minimist": {
2701
  "version": "1.1.3",
2702
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
2703
  "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
2704
  "dev": true
2705
  }
2706
  }
2707
  },
2708
  "graceful-fs": {
2709
+ "version": "4.1.15",
2710
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
2711
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
2712
  "dev": true
2713
  },
2714
  "grunt": {
2717
  "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
2718
  "dev": true,
2719
  "requires": {
2720
+ "coffeescript": "~1.10.0",
2721
+ "dateformat": "~1.0.12",
2722
+ "eventemitter2": "~0.4.13",
2723
+ "exit": "~0.1.1",
2724
+ "findup-sync": "~0.3.0",
2725
+ "glob": "~7.0.0",
2726
+ "grunt-cli": "~1.2.0",
2727
+ "grunt-known-options": "~1.1.0",
2728
+ "grunt-legacy-log": "~2.0.0",
2729
+ "grunt-legacy-util": "~1.1.1",
2730
+ "iconv-lite": "~0.4.13",
2731
+ "js-yaml": "~3.5.2",
2732
+ "minimatch": "~3.0.2",
2733
+ "mkdirp": "~0.5.1",
2734
+ "nopt": "~3.0.6",
2735
+ "path-is-absolute": "~1.0.0",
2736
+ "rimraf": "~2.6.2"
2737
  },
2738
  "dependencies": {
2739
+ "esprima": {
2740
+ "version": "2.7.3",
2741
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
2742
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
2743
+ "dev": true
2744
+ },
2745
+ "glob": {
2746
+ "version": "7.0.6",
2747
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
2748
+ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
2749
+ "dev": true,
2750
+ "requires": {
2751
+ "fs.realpath": "^1.0.0",
2752
+ "inflight": "^1.0.4",
2753
+ "inherits": "2",
2754
+ "minimatch": "^3.0.2",
2755
+ "once": "^1.3.0",
2756
+ "path-is-absolute": "^1.0.0"
2757
+ }
2758
+ },
2759
  "grunt-cli": {
2760
  "version": "1.2.0",
2761
  "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
2762
  "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
2763
  "dev": true,
2764
  "requires": {
2765
+ "findup-sync": "~0.3.0",
2766
+ "grunt-known-options": "~1.1.0",
2767
+ "nopt": "~3.0.6",
2768
+ "resolve": "~1.1.0"
2769
+ }
2770
+ },
2771
+ "js-yaml": {
2772
+ "version": "3.5.5",
2773
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
2774
+ "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=",
2775
+ "dev": true,
2776
+ "requires": {
2777
+ "argparse": "^1.0.2",
2778
+ "esprima": "^2.6.0"
2779
  }
2780
+ },
2781
+ "resolve": {
2782
+ "version": "1.1.7",
2783
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
2784
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
2785
+ "dev": true
2786
  }
2787
  }
2788
  },
2792
  "integrity": "sha1-slTQHh3pEwBdTbHFMD2QI7mD4Zs=",
2793
  "dev": true,
2794
  "requires": {
2795
+ "chalk": "~0.2.1",
2796
+ "text-table": "~0.2.0"
2797
  },
2798
  "dependencies": {
2799
  "ansi-styles": {
2808
  "integrity": "sha1-dhPhV1FFshOGSD9/SFql/6jL0Qw=",
2809
  "dev": true,
2810
  "requires": {
2811
+ "ansi-styles": "~0.2.0",
2812
+ "has-color": "~0.1.0"
2813
+ }
2814
+ }
2815
+ }
2816
+ },
2817
+ "grunt-contrib-compress": {
2818
+ "version": "1.4.3",
2819
+ "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-1.4.3.tgz",
2820
+ "integrity": "sha1-Ac7/ucY39S5wgfRjdQmD0KOw+nM=",
2821
+ "dev": true,
2822
+ "requires": {
2823
+ "archiver": "^1.3.0",
2824
+ "chalk": "^1.1.1",
2825
+ "iltorb": "^1.0.13",
2826
+ "lodash": "^4.7.0",
2827
+ "pretty-bytes": "^4.0.2",
2828
+ "stream-buffers": "^2.1.0"
2829
+ },
2830
+ "dependencies": {
2831
+ "ansi-regex": {
2832
+ "version": "2.1.1",
2833
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
2834
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
2835
+ "dev": true
2836
+ },
2837
+ "ansi-styles": {
2838
+ "version": "2.2.1",
2839
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
2840
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
2841
+ "dev": true
2842
+ },
2843
+ "chalk": {
2844
+ "version": "1.1.3",
2845
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
2846
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
2847
+ "dev": true,
2848
+ "requires": {
2849
+ "ansi-styles": "^2.2.1",
2850
+ "escape-string-regexp": "^1.0.2",
2851
+ "has-ansi": "^2.0.0",
2852
+ "strip-ansi": "^3.0.0",
2853
+ "supports-color": "^2.0.0"
2854
+ }
2855
+ },
2856
+ "pretty-bytes": {
2857
+ "version": "4.0.2",
2858
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz",
2859
+ "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=",
2860
+ "dev": true
2861
+ },
2862
+ "strip-ansi": {
2863
+ "version": "3.0.1",
2864
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
2865
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
2866
+ "dev": true,
2867
+ "requires": {
2868
+ "ansi-regex": "^2.0.0"
2869
  }
2870
+ },
2871
+ "supports-color": {
2872
+ "version": "2.0.0",
2873
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
2874
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
2875
+ "dev": true
2876
  }
2877
  }
2878
  },
2882
  "integrity": "sha512-eXpooYmVGKMs/xV7DzTLgJFPVOfMuawPD3x0JwhlH0mumq2NtH3xsxaHxp1Y3NKxp0j0tRhFS6kSBRsz6TuTGg==",
2883
  "dev": true,
2884
  "requires": {
2885
+ "chalk": "^2.4.1",
2886
+ "clean-css": "~4.2.1",
2887
+ "maxmin": "^2.1.0"
2888
  }
2889
  },
2890
  "grunt-contrib-jshint": {
2893
  "integrity": "sha512-4qR411I1bhvVrPkKBzCUcrWkTEtBuWioXi9ABWRXHoplRScg03jiMqLDpzS4pDhVsLOTx5F9l+0cnMc+Gd2MWg==",
2894
  "dev": true,
2895
  "requires": {
2896
+ "chalk": "^2.4.1",
2897
+ "hooker": "^0.2.3",
2898
+ "jshint": "~2.9.6"
2899
  }
2900
  },
2901
  "grunt-contrib-uglify": {
2904
  "integrity": "sha512-vy3Vop2KDqdiwcGOGAjyKvjHFrRD/YK4KPQWR3Yt6OdYlgFw1z7HCuk66+IJ9s7oJmp9uRQXuuSHyawKRAgiMw==",
2905
  "dev": true,
2906
  "requires": {
2907
+ "chalk": "^2.4.1",
2908
+ "maxmin": "^2.1.0",
2909
+ "uglify-js": "~3.4.8",
2910
+ "uri-path": "^1.0.0"
2911
  }
2912
  },
2913
  "grunt-contrib-watch": {
2916
  "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
2917
  "dev": true,
2918
  "requires": {
2919
+ "async": "^2.6.0",
2920
+ "gaze": "^1.1.0",
2921
+ "lodash": "^4.17.10",
2922
+ "tiny-lr": "^1.1.1"
2923
  },
2924
  "dependencies": {
2925
  "async": {
2928
  "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
2929
  "dev": true,
2930
  "requires": {
2931
+ "lodash": "^4.17.10"
2932
  }
2933
  }
2934
  }
2935
  },
2936
  "grunt-known-options": {
2937
+ "version": "1.1.1",
2938
+ "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
2939
+ "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
2940
  "dev": true
2941
  },
2942
  "grunt-legacy-log": {
2945
  "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
2946
  "dev": true,
2947
  "requires": {
2948
+ "colors": "~1.1.2",
2949
+ "grunt-legacy-log-utils": "~2.0.0",
2950
+ "hooker": "~0.2.3",
2951
+ "lodash": "~4.17.5"
2952
  }
2953
  },
2954
  "grunt-legacy-log-utils": {
2957
  "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
2958
  "dev": true,
2959
  "requires": {
2960
+ "chalk": "~2.4.1",
2961
+ "lodash": "~4.17.10"
2962
  }
2963
  },
2964
  "grunt-legacy-util": {
2967
  "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
2968
  "dev": true,
2969
  "requires": {
2970
+ "async": "~1.5.2",
2971
+ "exit": "~0.1.1",
2972
+ "getobject": "~0.1.0",
2973
+ "hooker": "~0.2.3",
2974
+ "lodash": "~4.17.10",
2975
+ "underscore.string": "~3.3.4",
2976
+ "which": "~1.3.0"
2977
  }
2978
  },
2979
  "grunt-phpcs": {
2988
  "integrity": "sha512-lglLcVaoOIqH0sFv7RqwUKkEFGQwnlqyAKbatxZderwZGV1nDyKHN7gZS9LUiTx1t5GOvRBx0BEalHMyVwFAIA==",
2989
  "dev": true,
2990
  "requires": {
2991
+ "chalk": "^2.1.0",
2992
+ "diff": "^3.0.0",
2993
+ "postcss": "^6.0.11"
 
 
 
 
 
 
 
 
 
 
2994
  },
2995
  "dependencies": {
2996
+ "postcss": {
2997
+ "version": "6.0.23",
2998
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
2999
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
3000
+ "dev": true,
3001
+ "requires": {
3002
+ "chalk": "^2.4.1",
3003
+ "source-map": "^0.6.1",
3004
+ "supports-color": "^5.4.0"
3005
+ }
3006
+ },
3007
+ "supports-color": {
3008
+ "version": "5.5.0",
3009
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
3010
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
3011
+ "dev": true,
3012
+ "requires": {
3013
+ "has-flag": "^3.0.0"
3014
+ }
3015
+ }
3016
+ }
3017
+ },
3018
+ "grunt-rtlcss": {
3019
+ "version": "2.0.1",
3020
+ "resolved": "https://registry.npmjs.org/grunt-rtlcss/-/grunt-rtlcss-2.0.1.tgz",
3021
+ "integrity": "sha1-6eYc5DdAY5f546Sxv2aeR+cf/MM=",
3022
+ "dev": true,
3023
+ "requires": {
3024
+ "chalk": "^1.0.0",
3025
+ "rtlcss": "^2.0.0"
3026
+ },
3027
+ "dependencies": {
3028
+ "ansi-regex": {
3029
+ "version": "2.1.1",
3030
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
3031
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
3032
+ "dev": true
3033
+ },
3034
+ "ansi-styles": {
3035
+ "version": "2.2.1",
3036
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
3037
  "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
3038
  "dev": true
3043
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3044
  "dev": true,
3045
  "requires": {
3046
+ "ansi-styles": "^2.2.1",
3047
+ "escape-string-regexp": "^1.0.2",
3048
+ "has-ansi": "^2.0.0",
3049
+ "strip-ansi": "^3.0.0",
3050
+ "supports-color": "^2.0.0"
3051
+ }
3052
+ },
3053
+ "strip-ansi": {
3054
+ "version": "3.0.1",
3055
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
3056
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
3057
+ "dev": true,
3058
+ "requires": {
3059
+ "ansi-regex": "^2.0.0"
3060
  }
3061
  },
3062
  "supports-color": {
3082
  "chalk": "1.1.3"
3083
  },
3084
  "dependencies": {
3085
+ "ansi-regex": {
3086
+ "version": "2.1.1",
3087
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
3088
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
3089
+ "dev": true
3090
+ },
3091
  "ansi-styles": {
3092
  "version": "2.2.1",
3093
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
3096
  },
3097
  "chalk": {
3098
  "version": "1.1.3",
3099
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
3100
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
3101
  "dev": true,
3102
  "requires": {
3103
+ "ansi-styles": "^2.2.1",
3104
+ "escape-string-regexp": "^1.0.2",
3105
+ "has-ansi": "^2.0.0",
3106
+ "strip-ansi": "^3.0.0",
3107
+ "supports-color": "^2.0.0"
3108
+ }
3109
+ },
3110
+ "strip-ansi": {
3111
+ "version": "3.0.1",
3112
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
3113
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
3114
+ "dev": true,
3115
+ "requires": {
3116
+ "ansi-regex": "^2.0.0"
3117
  }
3118
  },
3119
  "supports-color": {
3125
  }
3126
  },
3127
  "grunt-wp-i18n": {
3128
+ "version": "1.0.3",
3129
+ "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.3.tgz",
3130
+ "integrity": "sha512-CJNbEKeBeOSAPeaJ9B8iCgSwtaG63UR9/uT46a4OsIqnFhOJpeAi138JTlvjfIbnDVoBrzvdrKJe1svveLjUtA==",
3131
  "dev": true,
3132
  "requires": {
3133
+ "grunt": "^1.0.3",
3134
+ "node-wp-i18n": "^1.2.2"
3135
  }
3136
  },
3137
  "gzip-size": {
3140
  "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
3141
  "dev": true,
3142
  "requires": {
3143
+ "duplexer": "^0.1.1"
3144
  }
3145
  },
3146
  "har-schema": {
3150
  "dev": true
3151
  },
3152
  "har-validator": {
3153
+ "version": "5.1.3",
3154
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
3155
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
3156
  "dev": true,
3157
  "requires": {
3158
+ "ajv": "^6.5.5",
3159
+ "har-schema": "^2.0.0"
3160
  }
3161
  },
3162
  "has-ansi": {
3165
  "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
3166
  "dev": true,
3167
  "requires": {
3168
+ "ansi-regex": "^2.0.0"
3169
+ },
3170
+ "dependencies": {
3171
+ "ansi-regex": {
3172
+ "version": "2.1.1",
3173
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
3174
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
3175
+ "dev": true
3176
+ }
3177
  }
3178
  },
3179
  "has-color": {
3200
  "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
3201
  "dev": true,
3202
  "requires": {
3203
+ "get-value": "^2.0.6",
3204
+ "has-values": "^1.0.0",
3205
+ "isobject": "^3.0.0"
3206
  }
3207
  },
3208
  "has-values": {
3211
  "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
3212
  "dev": true,
3213
  "requires": {
3214
+ "is-number": "^3.0.0",
3215
+ "kind-of": "^4.0.0"
3216
  },
3217
  "dependencies": {
3218
  "kind-of": {
3221
  "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
3222
  "dev": true,
3223
  "requires": {
3224
+ "is-buffer": "^1.1.5"
3225
  }
3226
  }
3227
  }
3228
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3229
  "hooker": {
3230
  "version": "0.2.3",
3231
  "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
3246
  },
3247
  "htmlparser2": {
3248
  "version": "3.8.3",
3249
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
3250
  "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
3251
  "dev": true,
3252
  "requires": {
3253
+ "domelementtype": "1",
3254
+ "domhandler": "2.3",
3255
+ "domutils": "1.5",
3256
+ "entities": "1.0",
3257
+ "readable-stream": "1.1"
3258
  }
3259
  },
3260
  "http-parser-js": {
3261
+ "version": "0.5.0",
3262
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
3263
+ "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
3264
  "dev": true
3265
  },
3266
  "http-signature": {
3269
  "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
3270
  "dev": true,
3271
  "requires": {
3272
+ "assert-plus": "^1.0.0",
3273
+ "jsprim": "^1.2.2",
3274
+ "sshpk": "^1.7.0"
3275
+ }
3276
+ },
3277
+ "husky": {
3278
+ "version": "1.3.1",
3279
+ "resolved": "https://registry.npmjs.org/husky/-/husky-1.3.1.tgz",
3280
+ "integrity": "sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg==",
3281
+ "dev": true,
3282
+ "requires": {
3283
+ "cosmiconfig": "^5.0.7",
3284
+ "execa": "^1.0.0",
3285
+ "find-up": "^3.0.0",
3286
+ "get-stdin": "^6.0.0",
3287
+ "is-ci": "^2.0.0",
3288
+ "pkg-dir": "^3.0.0",
3289
+ "please-upgrade-node": "^3.1.1",
3290
+ "read-pkg": "^4.0.1",
3291
+ "run-node": "^1.0.0",
3292
+ "slash": "^2.0.0"
3293
+ },
3294
+ "dependencies": {
3295
+ "find-up": {
3296
+ "version": "3.0.0",
3297
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
3298
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
3299
+ "dev": true,
3300
+ "requires": {
3301
+ "locate-path": "^3.0.0"
3302
+ }
3303
+ },
3304
+ "get-stdin": {
3305
+ "version": "6.0.0",
3306
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
3307
+ "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
3308
+ "dev": true
3309
+ },
3310
+ "parse-json": {
3311
+ "version": "4.0.0",
3312
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
3313
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
3314
+ "dev": true,
3315
+ "requires": {
3316
+ "error-ex": "^1.3.1",
3317
+ "json-parse-better-errors": "^1.0.1"
3318
+ }
3319
+ },
3320
+ "pify": {
3321
+ "version": "3.0.0",
3322
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
3323
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
3324
+ "dev": true
3325
+ },
3326
+ "read-pkg": {
3327
+ "version": "4.0.1",
3328
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz",
3329
+ "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=",
3330
+ "dev": true,
3331
+ "requires": {
3332
+ "normalize-package-data": "^2.3.2",
3333
+ "parse-json": "^4.0.0",
3334
+ "pify": "^3.0.0"
3335
+ }
3336
+ }
3337
  }
3338
  },
3339
  "iconv-lite": {
3340
+ "version": "0.4.24",
3341
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
3342
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
3343
  "dev": true,
3344
  "requires": {
3345
+ "safer-buffer": ">= 2.1.2 < 3"
3346
  }
3347
  },
3348
+ "ieee754": {
3349
+ "version": "1.1.12",
3350
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
3351
+ "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
3352
+ "dev": true
3353
+ },
3354
  "ignore": {
3355
  "version": "4.0.6",
3356
  "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
3357
  "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
3358
  "dev": true
3359
  },
3360
+ "iltorb": {
3361
+ "version": "1.3.10",
3362
+ "resolved": "https://registry.npmjs.org/iltorb/-/iltorb-1.3.10.tgz",
3363
+ "integrity": "sha512-nyB4+ru1u8CQqQ6w7YjasboKN3NQTN8GH/V/eEssNRKhW6UbdxdWhB9fJ5EEdjJfezKY0qPrcwLyIcgjL8hHxA==",
3364
+ "dev": true,
3365
+ "optional": true,
3366
+ "requires": {
3367
+ "detect-libc": "^0.2.0",
3368
+ "nan": "^2.6.2",
3369
+ "node-gyp": "^3.6.2",
3370
+ "prebuild-install": "^2.3.0"
3371
+ }
3372
+ },
3373
+ "import-fresh": {
3374
+ "version": "3.0.0",
3375
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz",
3376
+ "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==",
3377
+ "dev": true,
3378
+ "requires": {
3379
+ "parent-module": "^1.0.0",
3380
+ "resolve-from": "^4.0.0"
3381
+ }
3382
+ },
3383
  "import-lazy": {
3384
  "version": "3.1.0",
3385
  "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
3404
  "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
3405
  "dev": true,
3406
  "requires": {
3407
+ "repeating": "^2.0.0"
3408
  }
3409
  },
3410
  "indexes-of": {
3419
  "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
3420
  "dev": true,
3421
  "requires": {
3422
+ "once": "^1.3.0",
3423
+ "wrappy": "1"
3424
  }
3425
  },
3426
  "inherits": {
3435
  "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
3436
  "dev": true
3437
  },
3438
+ "inquirer": {
3439
+ "version": "6.2.2",
3440
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz",
3441
+ "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==",
3442
+ "dev": true,
3443
+ "requires": {
3444
+ "ansi-escapes": "^3.2.0",
3445
+ "chalk": "^2.4.2",
3446
+ "cli-cursor": "^2.1.0",
3447
+ "cli-width": "^2.0.0",
3448
+ "external-editor": "^3.0.3",
3449
+ "figures": "^2.0.0",
3450
+ "lodash": "^4.17.11",
3451
+ "mute-stream": "0.0.7",
3452
+ "run-async": "^2.2.0",
3453
+ "rxjs": "^6.4.0",
3454
+ "string-width": "^2.1.0",
3455
+ "strip-ansi": "^5.0.0",
3456
+ "through": "^2.3.6"
3457
+ },
3458
+ "dependencies": {
3459
+ "ansi-regex": {
3460
+ "version": "4.0.0",
3461
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz",
3462
+ "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==",
3463
+ "dev": true
3464
+ },
3465
+ "strip-ansi": {
3466
+ "version": "5.0.0",
3467
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz",
3468
+ "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==",
3469
+ "dev": true,
3470
+ "requires": {
3471
+ "ansi-regex": "^4.0.0"
3472
+ }
3473
+ }
3474
+ }
3475
+ },
3476
  "invert-kv": {
3477
  "version": "1.0.0",
3478
  "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
3485
  "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
3486
  "dev": true,
3487
  "requires": {
3488
+ "kind-of": "^3.0.2"
3489
  },
3490
  "dependencies": {
3491
  "kind-of": {
3494
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3495
  "dev": true,
3496
  "requires": {
3497
+ "is-buffer": "^1.1.5"
3498
  }
3499
  }
3500
  }
3517
  "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
3518
  "dev": true,
3519
  "requires": {
3520
+ "is-alphabetical": "^1.0.0",
3521
+ "is-decimal": "^1.0.0"
3522
  }
3523
  },
3524
  "is-arrayish": {
3533
  "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
3534
  "dev": true
3535
  },
3536
+ "is-ci": {
3537
+ "version": "2.0.0",
3538
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
3539
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
3540
  "dev": true,
3541
  "requires": {
3542
+ "ci-info": "^2.0.0"
3543
  }
3544
  },
3545
  "is-data-descriptor": {
3548
  "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
3549
  "dev": true,
3550
  "requires": {
3551
+ "kind-of": "^3.0.2"
3552
  },
3553
  "dependencies": {
3554
  "kind-of": {
3557
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3558
  "dev": true,
3559
  "requires": {
3560
+ "is-buffer": "^1.1.5"
3561
  }
3562
  }
3563
  }
3574
  "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
3575
  "dev": true,
3576
  "requires": {
3577
+ "is-accessor-descriptor": "^0.1.6",
3578
+ "is-data-descriptor": "^0.1.4",
3579
+ "kind-of": "^5.0.0"
3580
  },
3581
  "dependencies": {
3582
  "kind-of": {
3593
  "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
3594
  "dev": true
3595
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3596
  "is-extendable": {
3597
  "version": "0.1.1",
3598
  "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
3611
  "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
3612
  "dev": true,
3613
  "requires": {
3614
+ "number-is-nan": "^1.0.0"
3615
  }
3616
  },
3617
  "is-fullwidth-code-point": {
3618
+ "version": "2.0.0",
3619
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
3620
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
3621
+ "dev": true
 
 
 
3622
  },
3623
  "is-glob": {
3624
  "version": "4.0.0",
3626
  "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
3627
  "dev": true,
3628
  "requires": {
3629
+ "is-extglob": "^2.1.1"
3630
  }
3631
  },
3632
  "is-hexadecimal": {
3641
  "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
3642
  "dev": true,
3643
  "requires": {
3644
+ "kind-of": "^3.0.2"
3645
  },
3646
  "dependencies": {
3647
  "kind-of": {
3650
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3651
  "dev": true,
3652
  "requires": {
3653
+ "is-buffer": "^1.1.5"
3654
  }
3655
  }
3656
  }
3657
  },
3658
  "is-obj": {
3659
  "version": "1.0.1",
3660
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
3661
  "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
3662
  "dev": true
3663
  },
3664
+ "is-observable": {
3665
+ "version": "1.1.0",
3666
+ "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz",
3667
+ "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==",
3668
+ "dev": true,
3669
+ "requires": {
3670
+ "symbol-observable": "^1.1.0"
3671
+ }
3672
+ },
3673
  "is-path-cwd": {
3674
  "version": "1.0.0",
3675
  "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
3682
  "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
3683
  "dev": true,
3684
  "requires": {
3685
+ "is-path-inside": "^1.0.0"
3686
  }
3687
  },
3688
  "is-path-inside": {
3691
  "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
3692
  "dev": true,
3693
  "requires": {
3694
+ "path-is-inside": "^1.0.1"
3695
  }
3696
  },
3697
  "is-plain-obj": {
3706
  "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
3707
  "dev": true,
3708
  "requires": {
3709
+ "isobject": "^3.0.1"
3710
  }
3711
  },
3712
+ "is-promise": {
3713
+ "version": "2.1.0",
3714
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
3715
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
 
 
 
 
 
 
3716
  "dev": true
3717
  },
3718
  "is-regexp": {
3725
  "version": "1.1.0",
3726
  "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
3727
  "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
3728
+ "dev": true
 
3729
  },
3730
  "is-supported-regexp-flag": {
3731
  "version": "1.0.1",
3788
  "dev": true
3789
  },
3790
  "js-base64": {
3791
+ "version": "2.5.1",
3792
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
3793
+ "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
3794
  "dev": true
3795
  },
3796
  "js-tokens": {
3800
  "dev": true
3801
  },
3802
  "js-yaml": {
3803
+ "version": "3.12.1",
3804
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz",
3805
+ "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==",
3806
  "dev": true,
3807
  "requires": {
3808
+ "argparse": "^1.0.7",
3809
+ "esprima": "^4.0.0"
3810
  }
3811
  },
3812
  "jsbn": {
3816
  "dev": true
3817
  },
3818
  "jsesc": {
3819
+ "version": "2.5.2",
3820
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
3821
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
3822
  "dev": true
3823
  },
3824
  "jshint": {
3825
+ "version": "2.9.7",
3826
+ "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz",
3827
+ "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==",
3828
+ "dev": true,
3829
+ "requires": {
3830
+ "cli": "~1.0.0",
3831
+ "console-browserify": "1.1.x",
3832
+ "exit": "0.1.x",
3833
+ "htmlparser2": "3.8.x",
3834
+ "lodash": "~4.17.10",
3835
+ "minimatch": "~3.0.2",
3836
+ "shelljs": "0.3.x",
3837
+ "strip-json-comments": "1.0.x"
3838
+ },
3839
+ "dependencies": {
3840
+ "strip-json-comments": {
3841
+ "version": "1.0.4",
3842
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
3843
+ "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
3844
+ "dev": true
3845
+ }
3846
  }
3847
  },
3848
  "json-parse-better-errors": {
3858
  "dev": true
3859
  },
3860
  "json-schema-traverse": {
3861
+ "version": "0.4.1",
3862
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
3863
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
3864
+ "dev": true
3865
+ },
3866
+ "json-stable-stringify-without-jsonify": {
3867
+ "version": "1.0.1",
3868
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
3869
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
3870
  "dev": true
3871
  },
3872
  "json-stringify-safe": {
3876
  "dev": true
3877
  },
3878
  "json5": {
3879
+ "version": "2.1.0",
3880
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
3881
+ "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
 
 
 
 
 
 
3882
  "dev": true,
 
3883
  "requires": {
3884
+ "minimist": "^1.2.0"
3885
+ },
3886
+ "dependencies": {
3887
+ "minimist": {
3888
+ "version": "1.2.0",
3889
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
3890
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
3891
+ "dev": true
3892
+ }
3893
  }
3894
  },
3895
  "jsprim": {
3904
  "verror": "1.10.0"
3905
  }
3906
  },
 
 
 
 
 
 
 
3907
  "kind-of": {
3908
  "version": "6.0.2",
3909
  "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
3910
  "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
3911
  "dev": true
3912
  },
3913
+ "known-css-properties": {
3914
+ "version": "0.11.0",
3915
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz",
3916
+ "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==",
3917
+ "dev": true
3918
+ },
3919
+ "lazystream": {
3920
+ "version": "1.0.0",
3921
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
3922
+ "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
3923
  "dev": true,
 
3924
  "requires": {
3925
+ "readable-stream": "^2.0.5"
3926
+ },
3927
+ "dependencies": {
3928
+ "isarray": {
3929
+ "version": "1.0.0",
3930
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
3931
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
3932
+ "dev": true
3933
+ },
3934
+ "readable-stream": {
3935
+ "version": "2.3.6",
3936
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3937
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
3938
+ "dev": true,
3939
+ "requires": {
3940
+ "core-util-is": "~1.0.0",
3941
+ "inherits": "~2.0.3",
3942
+ "isarray": "~1.0.0",
3943
+ "process-nextick-args": "~2.0.0",
3944
+ "safe-buffer": "~5.1.1",
3945
+ "string_decoder": "~1.1.1",
3946
+ "util-deprecate": "~1.0.1"
3947
+ }
3948
+ },
3949
+ "string_decoder": {
3950
+ "version": "1.1.1",
3951
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3952
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3953
+ "dev": true,
3954
+ "requires": {
3955
+ "safe-buffer": "~5.1.0"
3956
+ }
3957
+ }
3958
  }
3959
  },
 
 
 
 
 
 
3960
  "lcid": {
3961
  "version": "1.0.0",
3962
  "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
3963
  "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
3964
  "dev": true,
3965
  "requires": {
3966
+ "invert-kv": "^1.0.0"
3967
  }
3968
  },
3969
  "leven": {
3972
  "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
3973
  "dev": true
3974
  },
3975
+ "levn": {
3976
+ "version": "0.3.0",
3977
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
3978
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
3979
+ "dev": true,
3980
+ "requires": {
3981
+ "prelude-ls": "~1.1.2",
3982
+ "type-check": "~0.3.2"
3983
+ }
3984
+ },
3985
+ "lint-staged": {
3986
+ "version": "8.1.3",
3987
+ "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-8.1.3.tgz",
3988
+ "integrity": "sha512-6TGkikL1B+6mIOuSNq2TV6oP21IhPMnV8q0cf9oYZ296ArTVNcbFh1l1pfVOHHbBIYLlziWNsQ2q45/ffmJ4AA==",
3989
+ "dev": true,
3990
+ "requires": {
3991
+ "@iamstarkov/listr-update-renderer": "0.4.1",
3992
+ "chalk": "^2.3.1",
3993
+ "commander": "^2.14.1",
3994
+ "cosmiconfig": "^5.0.2",
3995
+ "debug": "^3.1.0",
3996
+ "dedent": "^0.7.0",
3997
+ "del": "^3.0.0",
3998
+ "execa": "^1.0.0",
3999
+ "find-parent-dir": "^0.3.0",
4000
+ "g-status": "^2.0.2",
4001
+ "is-glob": "^4.0.0",
4002
+ "is-windows": "^1.0.2",
4003
+ "listr": "^0.14.2",
4004
+ "lodash": "^4.17.5",
4005
+ "log-symbols": "^2.2.0",
4006
+ "micromatch": "^3.1.8",
4007
+ "npm-which": "^3.0.1",
4008
+ "p-map": "^1.1.1",
4009
+ "path-is-inside": "^1.0.2",
4010
+ "pify": "^3.0.0",
4011
+ "please-upgrade-node": "^3.0.2",
4012
+ "staged-git-files": "1.1.2",
4013
+ "string-argv": "^0.0.2",
4014
+ "stringify-object": "^3.2.2",
4015
+ "yup": "^0.26.10"
4016
+ },
4017
+ "dependencies": {
4018
+ "debug": {
4019
+ "version": "3.2.6",
4020
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
4021
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
4022
+ "dev": true,
4023
+ "requires": {
4024
+ "ms": "^2.1.1"
4025
+ }
4026
+ },
4027
+ "pify": {
4028
+ "version": "3.0.0",
4029
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
4030
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
4031
+ "dev": true
4032
+ }
4033
  }
4034
  },
4035
+ "listr": {
4036
+ "version": "0.14.3",
4037
+ "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz",
4038
+ "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==",
4039
  "dev": true,
4040
  "requires": {
4041
+ "@samverschueren/stream-to-observable": "^0.3.0",
4042
+ "is-observable": "^1.1.0",
4043
+ "is-promise": "^2.1.0",
4044
+ "is-stream": "^1.1.0",
4045
+ "listr-silent-renderer": "^1.1.1",
4046
+ "listr-update-renderer": "^0.5.0",
4047
+ "listr-verbose-renderer": "^0.5.0",
4048
+ "p-map": "^2.0.0",
4049
+ "rxjs": "^6.3.3"
4050
  },
4051
  "dependencies": {
4052
+ "p-map": {
4053
+ "version": "2.0.0",
4054
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz",
4055
+ "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==",
4056
  "dev": true
4057
  }
4058
  }
4059
  },
4060
+ "listr-silent-renderer": {
4061
+ "version": "1.1.1",
4062
+ "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz",
4063
+ "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=",
4064
  "dev": true
4065
  },
4066
+ "listr-update-renderer": {
4067
+ "version": "0.5.0",
4068
+ "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz",
4069
+ "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==",
4070
+ "dev": true,
4071
+ "requires": {
4072
+ "chalk": "^1.1.3",
4073
+ "cli-truncate": "^0.2.1",
4074
+ "elegant-spinner": "^1.0.1",
4075
+ "figures": "^1.7.0",
4076
+ "indent-string": "^3.0.0",
4077
+ "log-symbols": "^1.0.2",
4078
+ "log-update": "^2.3.0",
4079
+ "strip-ansi": "^3.0.1"
4080
+ },
4081
+ "dependencies": {
4082
+ "ansi-regex": {
4083
+ "version": "2.1.1",
4084
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
4085
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
4086
+ "dev": true
4087
+ },
4088
+ "ansi-styles": {
4089
+ "version": "2.2.1",
4090
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
4091
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
4092
+ "dev": true
4093
+ },
4094
+ "chalk": {
4095
+ "version": "1.1.3",
4096
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
4097
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4098
+ "dev": true,
4099
+ "requires": {
4100
+ "ansi-styles": "^2.2.1",
4101
+ "escape-string-regexp": "^1.0.2",
4102
+ "has-ansi": "^2.0.0",
4103
+ "strip-ansi": "^3.0.0",
4104
+ "supports-color": "^2.0.0"
4105
+ }
4106
+ },
4107
+ "figures": {
4108
+ "version": "1.7.0",
4109
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
4110
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
4111
+ "dev": true,
4112
+ "requires": {
4113
+ "escape-string-regexp": "^1.0.5",
4114
+ "object-assign": "^4.1.0"
4115
+ }
4116
+ },
4117
+ "indent-string": {
4118
+ "version": "3.2.0",
4119
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
4120
+ "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
4121
+ "dev": true
4122
+ },
4123
+ "log-symbols": {
4124
+ "version": "1.0.2",
4125
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
4126
+ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
4127
+ "dev": true,
4128
+ "requires": {
4129
+ "chalk": "^1.0.0"
4130
+ }
4131
+ },
4132
+ "strip-ansi": {
4133
+ "version": "3.0.1",
4134
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
4135
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
4136
+ "dev": true,
4137
+ "requires": {
4138
+ "ansi-regex": "^2.0.0"
4139
+ }
4140
+ },
4141
+ "supports-color": {
4142
+ "version": "2.0.0",
4143
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
4144
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
4145
+ "dev": true
4146
+ }
4147
+ }
4148
+ },
4149
+ "listr-verbose-renderer": {
4150
+ "version": "0.5.0",
4151
+ "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz",
4152
+ "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==",
4153
+ "dev": true,
4154
+ "requires": {
4155
+ "chalk": "^2.4.1",
4156
+ "cli-cursor": "^2.1.0",
4157
+ "date-fns": "^1.27.2",
4158
+ "figures": "^2.0.0"
4159
+ }
4160
+ },
4161
+ "livereload-js": {
4162
+ "version": "2.4.0",
4163
+ "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
4164
+ "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==",
4165
+ "dev": true
4166
+ },
4167
+ "load-json-file": {
4168
+ "version": "1.1.0",
4169
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
4170
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
4171
+ "dev": true,
4172
+ "requires": {
4173
+ "graceful-fs": "^4.1.2",
4174
+ "parse-json": "^2.2.0",
4175
+ "pify": "^2.0.0",
4176
+ "pinkie-promise": "^2.0.0",
4177
+ "strip-bom": "^2.0.0"
4178
+ }
4179
+ },
4180
+ "locate-path": {
4181
+ "version": "3.0.0",
4182
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
4183
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
4184
+ "dev": true,
4185
+ "requires": {
4186
+ "p-locate": "^3.0.0",
4187
+ "path-exists": "^3.0.0"
4188
+ },
4189
+ "dependencies": {
4190
+ "path-exists": {
4191
+ "version": "3.0.0",
4192
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
4193
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
4194
+ "dev": true
4195
+ }
4196
+ }
4197
+ },
4198
+ "lodash": {
4199
+ "version": "4.17.11",
4200
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
4201
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
4202
+ "dev": true
4203
+ },
4204
+ "lodash.assign": {
4205
+ "version": "4.2.0",
4206
  "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
4207
  "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
4208
  "dev": true
4225
  "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
4226
  "dev": true,
4227
  "requires": {
4228
+ "chalk": "^2.0.1"
4229
+ }
4230
+ },
4231
+ "log-update": {
4232
+ "version": "2.3.0",
4233
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz",
4234
+ "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=",
4235
+ "dev": true,
4236
+ "requires": {
4237
+ "ansi-escapes": "^3.0.0",
4238
+ "cli-cursor": "^2.0.0",
4239
+ "wrap-ansi": "^3.0.1"
4240
  }
4241
  },
4242
  "longest-streak": {
4251
  "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
4252
  "dev": true,
4253
  "requires": {
4254
+ "currently-unhandled": "^0.4.1",
4255
+ "signal-exit": "^3.0.0"
4256
  }
4257
  },
4258
  "lru-cache": {
4259
+ "version": "4.1.5",
4260
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
4261
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
4262
  "dev": true,
4263
  "requires": {
4264
+ "pseudomap": "^1.0.2",
4265
+ "yallist": "^2.1.2"
4266
  }
4267
  },
4268
  "map-cache": {
4283
  "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
4284
  "dev": true,
4285
  "requires": {
4286
+ "object-visit": "^1.0.0"
4287
  }
4288
  },
4289
  "markdown-escapes": {
4298
  "integrity": "sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw==",
4299
  "dev": true
4300
  },
4301
+ "matcher": {
4302
+ "version": "1.1.1",
4303
+ "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz",
4304
+ "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==",
4305
+ "dev": true,
4306
+ "requires": {
4307
+ "escape-string-regexp": "^1.0.4"
4308
+ }
4309
  },
4310
  "mathml-tag-names": {
4311
  "version": "2.1.0",
4319
  "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
4320
  "dev": true,
4321
  "requires": {
4322
+ "chalk": "^1.0.0",
4323
+ "figures": "^1.0.1",
4324
+ "gzip-size": "^3.0.0",
4325
+ "pretty-bytes": "^3.0.0"
4326
  },
4327
  "dependencies": {
4328
+ "ansi-regex": {
4329
+ "version": "2.1.1",
4330
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
4331
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
4332
+ "dev": true
4333
+ },
4334
  "ansi-styles": {
4335
  "version": "2.2.1",
4336
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
4339
  },
4340
  "chalk": {
4341
  "version": "1.1.3",
4342
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
4343
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4344
  "dev": true,
4345
  "requires": {
4346
+ "ansi-styles": "^2.2.1",
4347
+ "escape-string-regexp": "^1.0.2",
4348
+ "has-ansi": "^2.0.0",
4349
+ "strip-ansi": "^3.0.0",
4350
+ "supports-color": "^2.0.0"
4351
+ }
4352
+ },
4353
+ "figures": {
4354
+ "version": "1.7.0",
4355
+ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
4356
+ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
4357
+ "dev": true,
4358
+ "requires": {
4359
+ "escape-string-regexp": "^1.0.5",
4360
+ "object-assign": "^4.1.0"
4361
+ }
4362
+ },
4363
+ "strip-ansi": {
4364
+ "version": "3.0.1",
4365
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
4366
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
4367
+ "dev": true,
4368
+ "requires": {
4369
+ "ansi-regex": "^2.0.0"
4370
  }
4371
  },
4372
  "supports-color": {
4383
  "integrity": "sha512-d2WS98JSDVbpSsBfVvD9TaDMlqPRz7ohM/11G0rp5jOBb5q96RJ6YLszQ/09AAixyzh23FeIpCGqfaamEADtWg==",
4384
  "dev": true,
4385
  "requires": {
4386
+ "unist-util-visit": "^1.1.0"
4387
  }
4388
  },
4389
  "meow": {
4392
  "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
4393
  "dev": true,
4394
  "requires": {
4395
+ "camelcase-keys": "^2.0.0",
4396
+ "decamelize": "^1.1.2",
4397
+ "loud-rejection": "^1.0.0",
4398
+ "map-obj": "^1.0.1",
4399
+ "minimist": "^1.1.3",
4400
+ "normalize-package-data": "^2.3.4",
4401
+ "object-assign": "^4.0.1",
4402
+ "read-pkg-up": "^1.0.1",
4403
+ "redent": "^1.0.0",
4404
+ "trim-newlines": "^1.0.0"
4405
+ },
4406
+ "dependencies": {
4407
+ "minimist": {
4408
+ "version": "1.2.0",
4409
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
4410
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
4411
+ "dev": true
4412
+ }
4413
  }
4414
  },
4415
  "merge2": {
4419
  "dev": true
4420
  },
4421
  "micromatch": {
4422
+ "version": "3.1.10",
4423
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
4424
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
4425
+ "dev": true,
4426
+ "requires": {
4427
+ "arr-diff": "^4.0.0",
4428
+ "array-unique": "^0.3.2",
4429
+ "braces": "^2.3.1",
4430
+ "define-property": "^2.0.2",
4431
+ "extend-shallow": "^3.0.2",
4432
+ "extglob": "^2.0.4",
4433
+ "fragment-cache": "^0.2.1",
4434
+ "kind-of": "^6.0.2",
4435
+ "nanomatch": "^1.2.9",
4436
+ "object.pick": "^1.3.0",
4437
+ "regex-not": "^1.0.0",
4438
+ "snapdragon": "^0.8.1",
4439
+ "to-regex": "^3.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4440
  }
4441
  },
4442
  "mime-db": {
4451
  "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
4452
  "dev": true,
4453
  "requires": {
4454
+ "mime-db": "~1.37.0"
4455
  }
4456
  },
4457
+ "mimic-fn": {
4458
+ "version": "1.2.0",
4459
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
4460
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
4461
+ "dev": true
4462
+ },
4463
+ "mimic-response": {
4464
+ "version": "1.0.1",
4465
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
4466
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
4467
+ "dev": true,
4468
+ "optional": true
4469
+ },
4470
  "minimatch": {
4471
  "version": "3.0.4",
4472
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
4473
  "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4474
  "dev": true,
4475
  "requires": {
4476
+ "brace-expansion": "^1.1.7"
4477
  }
4478
  },
4479
  "minimist": {
4480
+ "version": "0.0.8",
4481
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
4482
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
4483
  "dev": true
4484
  },
4485
  "minimist-options": {
4488
  "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
4489
  "dev": true,
4490
  "requires": {
4491
+ "arrify": "^1.0.1",
4492
+ "is-plain-obj": "^1.1.0"
4493
  }
4494
  },
4495
  "mixin-deep": {
4498
  "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
4499
  "dev": true,
4500
  "requires": {
4501
+ "for-in": "^1.0.2",
4502
+ "is-extendable": "^1.0.1"
4503
  },
4504
  "dependencies": {
4505
  "is-extendable": {
4508
  "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
4509
  "dev": true,
4510
  "requires": {
4511
+ "is-plain-object": "^2.0.4"
4512
  }
4513
  }
4514
  }
4520
  "dev": true,
4521
  "requires": {
4522
  "minimist": "0.0.8"
 
 
 
 
 
 
 
 
4523
  }
4524
  },
4525
  "ms": {
4526
+ "version": "2.1.1",
4527
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
4528
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
4529
+ "dev": true
4530
+ },
4531
+ "mute-stream": {
4532
+ "version": "0.0.7",
4533
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
4534
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
4535
  "dev": true
4536
  },
4537
  "nan": {
4538
+ "version": "2.12.1",
4539
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
4540
+ "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
4541
  "dev": true
4542
  },
4543
  "nanomatch": {
4546
  "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
4547
  "dev": true,
4548
  "requires": {
4549
+ "arr-diff": "^4.0.0",
4550
+ "array-unique": "^0.3.2",
4551
+ "define-property": "^2.0.2",
4552
+ "extend-shallow": "^3.0.2",
4553
+ "fragment-cache": "^0.2.1",
4554
+ "is-windows": "^1.0.2",
4555
+ "kind-of": "^6.0.2",
4556
+ "object.pick": "^1.3.0",
4557
+ "regex-not": "^1.0.0",
4558
+ "snapdragon": "^0.8.1",
4559
+ "to-regex": "^3.0.1"
4560
+ }
4561
+ },
4562
+ "natural-compare": {
4563
+ "version": "1.4.0",
4564
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
4565
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
4566
+ "dev": true
4567
+ },
4568
+ "nice-try": {
4569
+ "version": "1.0.5",
4570
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
4571
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
4572
+ "dev": true
4573
+ },
4574
+ "node-abi": {
4575
+ "version": "2.7.1",
4576
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.7.1.tgz",
4577
+ "integrity": "sha512-OV8Bq1OrPh6z+Y4dqwo05HqrRL9YNF7QVMRfq1/pguwKLG+q9UB/Lk0x5qXjO23JjJg+/jqCHSTaG1P3tfKfuw==",
4578
+ "dev": true,
4579
+ "optional": true,
4580
+ "requires": {
4581
+ "semver": "^5.4.1"
4582
  }
4583
  },
4584
  "node-gyp": {
4587
  "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
4588
  "dev": true,
4589
  "requires": {
4590
+ "fstream": "^1.0.0",
4591
+ "glob": "^7.0.3",
4592
+ "graceful-fs": "^4.1.2",
4593
+ "mkdirp": "^0.5.0",
4594
+ "nopt": "2 || 3",
4595
+ "npmlog": "0 || 1 || 2 || 3 || 4",
4596
+ "osenv": "0",
4597
+ "request": "^2.87.0",
4598
+ "rimraf": "2",
4599
+ "semver": "~5.3.0",
4600
+ "tar": "^2.0.0",
4601
+ "which": "1"
4602
  },
4603
  "dependencies": {
4604
  "semver": {
4605
  "version": "5.3.0",
4606
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
4607
  "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
4608
  "dev": true
4609
  }
4610
  }
4611
  },
4612
  "node-releases": {
4613
+ "version": "1.1.7",
4614
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.7.tgz",
4615
+ "integrity": "sha512-bKdrwaqJUPHqlCzDD7so/R+Nk0jGv9a11ZhLrD9f6i947qGLrGAhU3OxRENa19QQmwzGy/g6zCDEuLGDO8HPvA==",
4616
  "dev": true,
4617
  "requires": {
4618
+ "semver": "^5.3.0"
4619
  }
4620
  },
4621
  "node-sass": {
4622
+ "version": "4.11.0",
4623
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz",
4624
+ "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==",
4625
+ "dev": true,
4626
+ "requires": {
4627
+ "async-foreach": "^0.1.3",
4628
+ "chalk": "^1.1.1",
4629
+ "cross-spawn": "^3.0.0",
4630
+ "gaze": "^1.0.0",
4631
+ "get-stdin": "^4.0.1",
4632
+ "glob": "^7.0.3",
4633
+ "in-publish": "^2.0.0",
4634
+ "lodash.assign": "^4.2.0",
4635
+ "lodash.clonedeep": "^4.3.2",
4636
+ "lodash.mergewith": "^4.6.0",
4637
+ "meow": "^3.7.0",
4638
+ "mkdirp": "^0.5.1",
4639
+ "nan": "^2.10.0",
4640
+ "node-gyp": "^3.8.0",
4641
+ "npmlog": "^4.0.0",
4642
+ "request": "^2.88.0",
4643
+ "sass-graph": "^2.2.4",
4644
+ "stdout-stream": "^1.4.0",
4645
+ "true-case-path": "^1.0.2"
4646
  },
4647
  "dependencies": {
4648
+ "ansi-regex": {
4649
+ "version": "2.1.1",
4650
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
4651
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
4652
+ "dev": true
4653
+ },
4654
  "ansi-styles": {
4655
  "version": "2.2.1",
4656
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
4659
  },
4660
  "chalk": {
4661
  "version": "1.1.3",
4662
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
4663
  "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
4664
  "dev": true,
4665
  "requires": {
4666
+ "ansi-styles": "^2.2.1",
4667
+ "escape-string-regexp": "^1.0.2",
4668
+ "has-ansi": "^2.0.0",
4669
+ "strip-ansi": "^3.0.0",
4670
+ "supports-color": "^2.0.0"
4671
+ }
4672
+ },
4673
+ "cross-spawn": {
4674
+ "version": "3.0.1",
4675
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
4676
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
4677
+ "dev": true,
4678
+ "requires": {
4679
+ "lru-cache": "^4.0.1",
4680
+ "which": "^1.2.9"
4681
+ }
4682
+ },
4683
+ "strip-ansi": {
4684
+ "version": "3.0.1",
4685
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
4686
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
4687
+ "dev": true,
4688
+ "requires": {
4689
+ "ansi-regex": "^2.0.0"
4690
  }
4691
  },
4692
  "supports-color": {
4698
  }
4699
  },
4700
  "node-wp-i18n": {
4701
+ "version": "1.2.3",
4702
+ "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.3.tgz",
4703
+ "integrity": "sha512-YMzMcsjXbGYDB9vHyb289CYXAGmXhcNLbeTlOnWgPNkZd9xrovcbRd7cQyKd9BQHOjS7Nw8WCbJ7nvtR7rc0rg==",
4704
  "dev": true,
4705
  "requires": {
4706
+ "bluebird": "^3.4.1",
4707
+ "gettext-parser": "^3.1.0",
4708
+ "glob": "^7.0.5",
4709
+ "lodash": "^4.14.2",
4710
+ "minimist": "^1.2.0",
4711
+ "mkdirp": "^0.5.1",
4712
+ "tmp": "^0.0.33"
4713
+ },
4714
+ "dependencies": {
4715
+ "minimist": {
4716
+ "version": "1.2.0",
4717
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
4718
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
4719
+ "dev": true
4720
+ }
4721
  }
4722
  },
4723
+ "noop-logger": {
4724
+ "version": "0.1.1",
4725
+ "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
4726
+ "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=",
4727
+ "dev": true,
4728
+ "optional": true
4729
+ },
4730
  "nopt": {
4731
  "version": "3.0.6",
4732
  "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
4733
  "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
4734
  "dev": true,
4735
  "requires": {
4736
+ "abbrev": "1"
4737
  }
4738
  },
4739
  "normalize-package-data": {
4740
+ "version": "2.5.0",
4741
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
4742
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
4743
  "dev": true,
4744
  "requires": {
4745
+ "hosted-git-info": "^2.1.4",
4746
+ "resolve": "^1.10.0",
4747
+ "semver": "2 || 3 || 4 || 5",
4748
+ "validate-npm-package-license": "^3.0.1"
4749
  }
4750
  },
4751
  "normalize-path": {
4754
  "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
4755
  "dev": true,
4756
  "requires": {
4757
+ "remove-trailing-separator": "^1.0.1"
4758
  }
4759
  },
4760
  "normalize-range": {
4769
  "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
4770
  "dev": true
4771
  },
4772
+ "npm-path": {
4773
+ "version": "2.0.4",
4774
+ "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz",
4775
+ "integrity": "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==",
4776
+ "dev": true,
4777
+ "requires": {
4778
+ "which": "^1.2.10"
4779
+ }
4780
+ },
4781
+ "npm-run-path": {
4782
+ "version": "2.0.2",
4783
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
4784
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
4785
+ "dev": true,
4786
+ "requires": {
4787
+ "path-key": "^2.0.0"
4788
+ }
4789
+ },
4790
+ "npm-which": {
4791
+ "version": "3.0.1",
4792
+ "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz",
4793
+ "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=",
4794
+ "dev": true,
4795
+ "requires": {
4796
+ "commander": "^2.9.0",
4797
+ "npm-path": "^2.0.2",
4798
+ "which": "^1.2.10"
4799
+ }
4800
+ },
4801
  "npmlog": {
4802
  "version": "4.1.2",
4803
  "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
4804
  "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
4805
  "dev": true,
4806
  "requires": {
4807
+ "are-we-there-yet": "~1.1.2",
4808
+ "console-control-strings": "~1.1.0",
4809
+ "gauge": "~2.7.3",
4810
+ "set-blocking": "~2.0.0"
4811
  }
4812
  },
4813
  "num2fraction": {
4840
  "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
4841
  "dev": true,
4842
  "requires": {
4843
+ "copy-descriptor": "^0.1.0",
4844
+ "define-property": "^0.2.5",
4845
+ "kind-of": "^3.0.3"
4846
  },
4847
  "dependencies": {
4848
  "define-property": {
4851
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4852
  "dev": true,
4853
  "requires": {
4854
+ "is-descriptor": "^0.1.0"
4855
  }
4856
  },
4857
  "kind-of": {
4860
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
4861
  "dev": true,
4862
  "requires": {
4863
+ "is-buffer": "^1.1.5"
4864
  }
4865
  }
4866
  }
4871
  "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
4872
  "dev": true,
4873
  "requires": {
4874
+ "isobject": "^3.0.0"
 
 
 
 
 
 
 
 
 
 
4875
  }
4876
  },
4877
  "object.pick": {
4880
  "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
4881
  "dev": true,
4882
  "requires": {
4883
+ "isobject": "^3.0.1"
4884
  }
4885
  },
4886
  "once": {
4889
  "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
4890
  "dev": true,
4891
  "requires": {
4892
+ "wrappy": "1"
4893
+ }
4894
+ },
4895
+ "onetime": {
4896
+ "version": "2.0.1",
4897
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
4898
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
4899
+ "dev": true,
4900
+ "requires": {
4901
+ "mimic-fn": "^1.0.0"
4902
+ }
4903
+ },
4904
+ "optionator": {
4905
+ "version": "0.8.2",
4906
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
4907
+ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
4908
+ "dev": true,
4909
+ "requires": {
4910
+ "deep-is": "~0.1.3",
4911
+ "fast-levenshtein": "~2.0.4",
4912
+ "levn": "~0.3.0",
4913
+ "prelude-ls": "~1.1.2",
4914
+ "type-check": "~0.3.2",
4915
+ "wordwrap": "~1.0.0"
4916
  }
4917
  },
4918
  "os-homedir": {
4923
  },
4924
  "os-locale": {
4925
  "version": "1.4.0",
4926
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
4927
  "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
4928
  "dev": true,
4929
  "requires": {
4930
+ "lcid": "^1.0.0"
4931
  }
4932
  },
4933
  "os-tmpdir": {
4942
  "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
4943
  "dev": true,
4944
  "requires": {
4945
+ "os-homedir": "^1.0.0",
4946
+ "os-tmpdir": "^1.0.0"
4947
  }
4948
  },
4949
+ "p-finally": {
4950
+ "version": "1.0.0",
4951
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
4952
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
4953
+ "dev": true
4954
+ },
4955
  "p-limit": {
4956
+ "version": "2.1.0",
4957
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
4958
+ "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
4959
  "dev": true,
4960
  "requires": {
4961
+ "p-try": "^2.0.0"
4962
  }
4963
  },
4964
  "p-locate": {
4965
+ "version": "3.0.0",
4966
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
4967
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
4968
  "dev": true,
4969
  "requires": {
4970
+ "p-limit": "^2.0.0"
4971
  }
4972
  },
4973
+ "p-map": {
4974
+ "version": "1.2.0",
4975
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
4976
+ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
4977
+ "dev": true
4978
+ },
4979
  "p-try": {
4980
+ "version": "2.0.0",
4981
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
4982
+ "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
4983
  "dev": true
4984
  },
4985
+ "parent-module": {
4986
+ "version": "1.0.0",
4987
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz",
4988
+ "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==",
4989
  "dev": true,
4990
  "requires": {
4991
+ "callsites": "^3.0.0"
 
 
 
 
 
4992
  }
4993
  },
4994
+ "parse-entities": {
4995
+ "version": "1.2.0",
4996
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.0.tgz",
4997
+ "integrity": "sha512-XXtDdOPLSB0sHecbEapQi6/58U/ODj/KWfIXmmMCJF/eRn8laX6LZbOyioMoETOOJoWRW8/qTSl5VQkUIfKM5g==",
4998
  "dev": true,
4999
  "requires": {
5000
+ "character-entities": "^1.0.0",
5001
+ "character-entities-legacy": "^1.0.0",
5002
+ "character-reference-invalid": "^1.0.0",
5003
+ "is-alphanumerical": "^1.0.0",
5004
+ "is-decimal": "^1.0.0",
5005
+ "is-hexadecimal": "^1.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5006
  }
5007
  },
5008
  "parse-json": {
5011
  "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
5012
  "dev": true,
5013
  "requires": {
5014
+ "error-ex": "^1.2.0"
5015
  }
5016
  },
 
 
 
 
 
 
5017
  "pascalcase": {
5018
  "version": "0.1.1",
5019
  "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
5032
  "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
5033
  "dev": true,
5034
  "requires": {
5035
+ "pinkie-promise": "^2.0.0"
5036
  }
5037
  },
5038
  "path-is-absolute": {
5047
  "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
5048
  "dev": true
5049
  },
5050
+ "path-key": {
5051
+ "version": "2.0.1",
5052
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
5053
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
5054
+ "dev": true
5055
+ },
5056
  "path-parse": {
5057
  "version": "1.0.6",
5058
  "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
5065
  "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
5066
  "dev": true,
5067
  "requires": {
5068
+ "graceful-fs": "^4.1.2",
5069
+ "pify": "^2.0.0",
5070
+ "pinkie-promise": "^2.0.0"
5071
  }
5072
  },
 
 
 
 
 
 
 
5073
  "performance-now": {
5074
  "version": "2.1.0",
5075
  "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
5076
  "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
5077
  "dev": true
5078
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5079
  "pify": {
5080
  "version": "2.3.0",
5081
  "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
5094
  "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
5095
  "dev": true,
5096
  "requires": {
5097
+ "pinkie": "^2.0.0"
5098
+ }
5099
+ },
5100
+ "pkg-dir": {
5101
+ "version": "3.0.0",
5102
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
5103
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
5104
+ "dev": true,
5105
+ "requires": {
5106
+ "find-up": "^3.0.0"
5107
+ },
5108
+ "dependencies": {
5109
+ "find-up": {
5110
+ "version": "3.0.0",
5111
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
5112
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
5113
+ "dev": true,
5114
+ "requires": {
5115
+ "locate-path": "^3.0.0"
5116
+ }
5117
+ }
5118
+ }
5119
+ },
5120
+ "please-upgrade-node": {
5121
+ "version": "3.1.1",
5122
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz",
5123
+ "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==",
5124
+ "dev": true,
5125
+ "requires": {
5126
+ "semver-compare": "^1.0.0"
5127
  }
5128
  },
5129
+ "pluralize": {
5130
+ "version": "7.0.0",
5131
+ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
5132
+ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
5133
+ "dev": true
5134
+ },
5135
  "posix-character-classes": {
5136
  "version": "0.1.1",
5137
  "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
5139
  "dev": true
5140
  },
5141
  "postcss": {
5142
+ "version": "7.0.14",
5143
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
5144
+ "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
5145
  "dev": true,
5146
  "requires": {
5147
+ "chalk": "^2.4.2",
5148
+ "source-map": "^0.6.1",
5149
+ "supports-color": "^6.1.0"
5150
  }
5151
  },
5152
  "postcss-html": {
5153
+ "version": "0.36.0",
5154
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
5155
+ "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
5156
  "dev": true,
5157
  "requires": {
5158
+ "htmlparser2": "^3.10.0"
5159
  },
5160
  "dependencies": {
 
 
 
 
 
 
5161
  "entities": {
5162
  "version": "1.1.2",
5163
  "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
5170
  "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==",
5171
  "dev": true,
5172
  "requires": {
5173
+ "domelementtype": "^1.3.0",
5174
+ "domhandler": "^2.3.0",
5175
+ "domutils": "^1.5.1",
5176
+ "entities": "^1.1.1",
5177
+ "inherits": "^2.0.1",
5178
+ "readable-stream": "^3.0.6"
5179
  }
5180
  },
5181
  "readable-stream": {
5182
+ "version": "3.1.1",
5183
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
5184
+ "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
5185
  "dev": true,
5186
  "requires": {
5187
+ "inherits": "^2.0.3",
5188
+ "string_decoder": "^1.1.1",
5189
+ "util-deprecate": "^1.0.1"
5190
  }
5191
  },
5192
  "string_decoder": {
5193
+ "version": "1.2.0",
5194
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
5195
+ "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
5196
  "dev": true,
5197
  "requires": {
5198
+ "safe-buffer": "~5.1.0"
5199
  }
5200
  }
5201
  }
5202
  },
5203
  "postcss-jsx": {
5204
+ "version": "0.36.0",
5205
+ "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.0.tgz",
5206
+ "integrity": "sha512-/lWOSXSX5jlITCKFkuYU2WLFdrncZmjSVyNpHAunEgirZXLwI8RjU556e3Uz4mv0WVHnJA9d3JWb36lK9Yx99g==",
5207
  "dev": true,
5208
  "requires": {
5209
+ "@babel/core": ">=7.1.0"
 
5210
  }
5211
  },
5212
  "postcss-less": {
5213
+ "version": "3.1.2",
5214
+ "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.2.tgz",
5215
+ "integrity": "sha512-66ZBVo1JGkQ7r13M97xcHcyarWpgg21RaqIZWZXHE3XOtb5+ywK1uZWeY1DYkYRkIX/l8Hvxnx9iSKB68nFr+w==",
5216
  "dev": true,
5217
  "requires": {
5218
+ "postcss": "^7.0.14"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5219
  }
5220
  },
5221
  "postcss-markdown": {
5222
+ "version": "0.36.0",
5223
+ "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz",
5224
+ "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==",
5225
  "dev": true,
5226
  "requires": {
5227
+ "remark": "^10.0.1",
5228
+ "unist-util-find-all-after": "^1.0.2"
5229
  }
5230
  },
5231
  "postcss-media-query-parser": {
5235
  "dev": true
5236
  },
5237
  "postcss-reporter": {
5238
+ "version": "6.0.1",
5239
+ "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz",
5240
+ "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==",
5241
  "dev": true,
5242
  "requires": {
5243
+ "chalk": "^2.4.1",
5244
+ "lodash": "^4.17.11",
5245
+ "log-symbols": "^2.2.0",
5246
+ "postcss": "^7.0.7"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5247
  }
5248
  },
5249
  "postcss-resolve-nested-selector": {
5258
  "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
5259
  "dev": true,
5260
  "requires": {
5261
+ "postcss": "^7.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5262
  }
5263
  },
5264
  "postcss-sass": {
5267
  "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==",
5268
  "dev": true,
5269
  "requires": {
5270
+ "gonzales-pe": "^4.2.3",
5271
+ "postcss": "^7.0.1"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5272
  }
5273
+ },
5274
+ "postcss-scss": {
5275
+ "version": "2.0.0",
5276
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz",
5277
+ "integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==",
5278
+ "dev": true,
5279
+ "requires": {
5280
+ "postcss": "^7.0.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5281
  }
5282
  },
5283
  "postcss-selector-parser": {
5286
  "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
5287
  "dev": true,
5288
  "requires": {
5289
+ "dot-prop": "^4.1.1",
5290
+ "indexes-of": "^1.0.1",
5291
+ "uniq": "^1.0.1"
5292
  }
5293
  },
 
 
 
 
 
 
5294
  "postcss-syntax": {
5295
+ "version": "0.36.2",
5296
+ "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
5297
+ "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
5298
  "dev": true
5299
  },
5300
  "postcss-value-parser": {
5303
  "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
5304
  "dev": true
5305
  },
5306
+ "prebuild-install": {
5307
+ "version": "2.5.3",
5308
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.5.3.tgz",
5309
+ "integrity": "sha512-/rI36cN2g7vDQnKWN8Uzupi++KjyqS9iS+/fpwG4Ea8d0Pip0PQ5bshUNzVwt+/D2MRfhVAplYMMvWLqWrCF/g==",
5310
+ "dev": true,
5311
+ "optional": true,
5312
+ "requires": {
5313
+ "detect-libc": "^1.0.3",
5314
+ "expand-template": "^1.0.2",
5315
+ "github-from-package": "0.0.0",
5316
+ "minimist": "^1.2.0",
5317
+ "mkdirp": "^0.5.1",
5318
+ "node-abi": "^2.2.0",
5319
+ "noop-logger": "^0.1.1",
5320
+ "npmlog": "^4.0.1",
5321
+ "os-homedir": "^1.0.1",
5322
+ "pump": "^2.0.1",
5323
+ "rc": "^1.1.6",
5324
+ "simple-get": "^2.7.0",
5325
+ "tar-fs": "^1.13.0",
5326
+ "tunnel-agent": "^0.6.0",
5327
+ "which-pm-runs": "^1.0.0"
5328
+ },
5329
+ "dependencies": {
5330
+ "detect-libc": {
5331
+ "version": "1.0.3",
5332
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
5333
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
5334
+ "dev": true,
5335
+ "optional": true
5336
+ },
5337
+ "minimist": {
5338
+ "version": "1.2.0",
5339
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
5340
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
5341
+ "dev": true,
5342
+ "optional": true
5343
+ },
5344
+ "pump": {
5345
+ "version": "2.0.1",
5346
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
5347
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
5348
+ "dev": true,
5349
+ "optional": true,
5350
+ "requires": {
5351
+ "end-of-stream": "^1.1.0",
5352
+ "once": "^1.3.1"
5353
+ }
5354
+ }
5355
+ }
5356
+ },
5357
+ "prelude-ls": {
5358
+ "version": "1.1.2",
5359
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
5360
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
5361
  "dev": true
5362
  },
5363
  "pretty-bytes": {
5366
  "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
5367
  "dev": true,
5368
  "requires": {
5369
+ "number-is-nan": "^1.0.0"
5370
  }
5371
  },
5372
  "process-nextick-args": {
5376
  "dev": true
5377
  },
5378
  "progress": {
5379
+ "version": "2.0.3",
5380
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
5381
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
5382
+ "dev": true
5383
+ },
5384
+ "property-expr": {
5385
+ "version": "1.5.1",
5386
+ "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-1.5.1.tgz",
5387
+ "integrity": "sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==",
5388
+ "dev": true
5389
  },
5390
  "pseudomap": {
5391
  "version": "1.0.2",
5394
  "dev": true
5395
  },
5396
  "psl": {
5397
+ "version": "1.1.31",
5398
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
5399
+ "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
5400
  "dev": true
5401
  },
5402
+ "pump": {
5403
+ "version": "3.0.0",
5404
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
5405
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
5406
+ "dev": true,
5407
+ "requires": {
5408
+ "end-of-stream": "^1.1.0",
5409
+ "once": "^1.3.1"
5410
+ }
5411
+ },
5412
  "punycode": {
5413
+ "version": "2.1.1",
5414
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
5415
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
5416
  "dev": true
5417
  },
5418
  "qs": {
5419
+ "version": "6.6.0",
5420
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz",
5421
+ "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==",
5422
  "dev": true
5423
  },
5424
  "quick-lru": {
5427
  "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
5428
  "dev": true
5429
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5430
  "raw-body": {
5431
  "version": "1.1.7",
5432
  "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
5433
  "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
5434
  "dev": true,
5435
  "requires": {
5436
+ "bytes": "1",
5437
+ "string_decoder": "0.10"
5438
+ }
5439
+ },
5440
+ "rc": {
5441
+ "version": "1.2.8",
5442
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
5443
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
5444
+ "dev": true,
5445
+ "optional": true,
5446
+ "requires": {
5447
+ "deep-extend": "^0.6.0",
5448
+ "ini": "~1.3.0",
5449
+ "minimist": "^1.2.0",
5450
+ "strip-json-comments": "~2.0.1"
5451
+ },
5452
+ "dependencies": {
5453
+ "minimist": {
5454
+ "version": "1.2.0",
5455
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
5456
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
5457
+ "dev": true,
5458
+ "optional": true
5459
+ }
5460
  }
5461
  },
5462
  "read-pkg": {
5465
  "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
5466
  "dev": true,
5467
  "requires": {
5468
+ "load-json-file": "^1.0.0",
5469
+ "normalize-package-data": "^2.3.2",
5470
+ "path-type": "^1.0.0"
5471
  }
5472
  },
5473
  "read-pkg-up": {
5476
  "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
5477
  "dev": true,
5478
  "requires": {
5479
+ "find-up": "^1.0.0",
5480
+ "read-pkg": "^1.0.0"
5481
  }
5482
  },
5483
  "readable-stream": {
5484
  "version": "1.1.14",
5485
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
5486
  "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
5487
  "dev": true,
5488
  "requires": {
5489
+ "core-util-is": "~1.0.0",
5490
+ "inherits": "~2.0.1",
5491
  "isarray": "0.0.1",
5492
+ "string_decoder": "~0.10.x"
5493
  }
5494
  },
5495
  "redent": {
5498
  "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
5499
  "dev": true,
5500
  "requires": {
5501
+ "indent-string": "^2.1.0",
5502
+ "strip-indent": "^1.0.1"
5503
  }
5504
  },
5505
+ "regenerator-runtime": {
5506
+ "version": "0.12.1",
5507
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
5508
+ "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==",
5509
+ "dev": true
 
 
 
5510
  },
5511
  "regex-not": {
5512
  "version": "1.0.2",
5514
  "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
5515
  "dev": true,
5516
  "requires": {
5517
+ "extend-shallow": "^3.0.2",
5518
+ "safe-regex": "^1.1.0"
5519
  }
5520
  },
5521
+ "regexpp": {
5522
+ "version": "2.0.1",
5523
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
5524
+ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
5525
+ "dev": true
5526
+ },
5527
  "remark": {
5528
+ "version": "10.0.1",
5529
+ "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
5530
+ "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
5531
  "dev": true,
5532
  "requires": {
5533
+ "remark-parse": "^6.0.0",
5534
+ "remark-stringify": "^6.0.0",
5535
+ "unified": "^7.0.0"
5536
  }
5537
  },
5538
  "remark-parse": {
5539
+ "version": "6.0.3",
5540
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
5541
+ "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
5542
+ "dev": true,
5543
+ "requires": {
5544
+ "collapse-white-space": "^1.0.2",
5545
+ "is-alphabetical": "^1.0.0",
5546
+ "is-decimal": "^1.0.0",
5547
+ "is-whitespace-character": "^1.0.0",
5548
+ "is-word-character": "^1.0.0",
5549
+ "markdown-escapes": "^1.0.0",
5550
+ "parse-entities": "^1.1.0",
5551
+ "repeat-string": "^1.5.4",
5552
+ "state-toggle": "^1.0.0",
5553
  "trim": "0.0.1",
5554
+ "trim-trailing-lines": "^1.0.0",
5555
+ "unherit": "^1.0.4",
5556
+ "unist-util-remove-position": "^1.0.0",
5557
+ "vfile-location": "^2.0.0",
5558
+ "xtend": "^4.0.1"
5559
  }
5560
  },
5561
  "remark-stringify": {
5562
+ "version": "6.0.4",
5563
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
5564
+ "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==",
5565
+ "dev": true,
5566
+ "requires": {
5567
+ "ccount": "^1.0.0",
5568
+ "is-alphanumeric": "^1.0.0",
5569
+ "is-decimal": "^1.0.0",
5570
+ "is-whitespace-character": "^1.0.0",
5571
+ "longest-streak": "^2.0.1",
5572
+ "markdown-escapes": "^1.0.0",
5573
+ "markdown-table": "^1.1.0",
5574
+ "mdast-util-compact": "^1.0.0",
5575
+ "parse-entities": "^1.0.2",
5576
+ "repeat-string": "^1.5.4",
5577
+ "state-toggle": "^1.0.0",
5578
+ "stringify-entities": "^1.0.1",
5579
+ "unherit": "^1.0.4",
5580
+ "xtend": "^4.0.1"
5581
  }
5582
  },
5583
  "remove-trailing-separator": {
5604
  "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
5605
  "dev": true,
5606
  "requires": {
5607
+ "is-finite": "^1.0.0"
5608
  }
5609
  },
5610
  "replace-ext": {
5619
  "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
5620
  "dev": true,
5621
  "requires": {
5622
+ "aws-sign2": "~0.7.0",
5623
+ "aws4": "^1.8.0",
5624
+ "caseless": "~0.12.0",
5625
+ "combined-stream": "~1.0.6",
5626
+ "extend": "~3.0.2",
5627
+ "forever-agent": "~0.6.1",
5628
+ "form-data": "~2.3.2",
5629
+ "har-validator": "~5.1.0",
5630
+ "http-signature": "~1.2.0",
5631
+ "is-typedarray": "~1.0.0",
5632
+ "isstream": "~0.1.2",
5633
+ "json-stringify-safe": "~5.0.1",
5634
+ "mime-types": "~2.1.19",
5635
+ "oauth-sign": "~0.9.0",
5636
+ "performance-now": "^2.1.0",
5637
+ "qs": "~6.5.2",
5638
+ "safe-buffer": "^5.1.2",
5639
+ "tough-cookie": "~2.4.3",
5640
+ "tunnel-agent": "^0.6.0",
5641
+ "uuid": "^3.3.2"
5642
+ },
5643
+ "dependencies": {
5644
+ "qs": {
5645
+ "version": "6.5.2",
5646
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
5647
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
5648
+ "dev": true
5649
+ }
 
 
5650
  }
5651
  },
5652
  "require-directory": {
5662
  "dev": true
5663
  },
5664
  "resolve": {
5665
+ "version": "1.10.0",
5666
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz",
5667
+ "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==",
 
 
 
 
 
 
5668
  "dev": true,
5669
  "requires": {
5670
+ "path-parse": "^1.0.6"
 
5671
  }
5672
  },
5673
  "resolve-from": {
5682
  "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
5683
  "dev": true
5684
  },
5685
+ "restore-cursor": {
5686
+ "version": "2.0.0",
5687
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
5688
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
5689
+ "dev": true,
5690
+ "requires": {
5691
+ "onetime": "^2.0.0",
5692
+ "signal-exit": "^3.0.2"
5693
+ }
5694
+ },
5695
  "ret": {
5696
  "version": "0.1.15",
5697
  "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
5699
  "dev": true
5700
  },
5701
  "rimraf": {
5702
+ "version": "2.6.3",
5703
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
5704
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
5705
  "dev": true,
5706
  "requires": {
5707
+ "glob": "^7.1.3"
5708
  }
5709
  },
5710
  "rtlcss": {
5713
  "integrity": "sha512-hdjFhZ5FCI0ABOfyXOMOhBtwPWtANLCG7rOiOcRf+yi5eDdxmDjqBruWouEnwVdzfh/TWF6NNncIEsigOCFZOA==",
5714
  "dev": true,
5715
  "requires": {
5716
+ "chalk": "^2.3.0",
5717
+ "findup": "^0.1.5",
5718
+ "mkdirp": "^0.5.1",
5719
+ "postcss": "^6.0.14",
5720
+ "strip-json-comments": "^2.0.0"
5721
  },
5722
  "dependencies": {
5723
+ "postcss": {
5724
+ "version": "6.0.23",
5725
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
5726
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
5727
+ "dev": true,
5728
+ "requires": {
5729
+ "chalk": "^2.4.1",
5730
+ "source-map": "^0.6.1",
5731
+ "supports-color": "^5.4.0"
5732
+ }
5733
+ },
5734
+ "supports-color": {
5735
+ "version": "5.5.0",
5736
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
5737
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
5738
+ "dev": true,
5739
+ "requires": {
5740
+ "has-flag": "^3.0.0"
5741
+ }
5742
  }
5743
  }
5744
  },
5745
+ "run-async": {
5746
+ "version": "2.3.0",
5747
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
5748
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
5749
+ "dev": true,
5750
+ "requires": {
5751
+ "is-promise": "^2.1.0"
5752
+ }
5753
+ },
5754
+ "run-node": {
5755
+ "version": "1.0.0",
5756
+ "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz",
5757
+ "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==",
5758
+ "dev": true
5759
+ },
5760
+ "rxjs": {
5761
+ "version": "6.4.0",
5762
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
5763
+ "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
5764
+ "dev": true,
5765
+ "requires": {
5766
+ "tslib": "^1.9.0"
5767
+ }
5768
+ },
5769
  "safe-buffer": {
5770
  "version": "5.1.2",
5771
  "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
5780
  },
5781
  "safe-regex": {
5782
  "version": "1.1.0",
5783
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
5784
  "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
5785
  "dev": true,
5786
  "requires": {
5787
+ "ret": "~0.1.10"
5788
  }
5789
  },
5790
  "safer-buffer": {
5799
  "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
5800
  "dev": true,
5801
  "requires": {
5802
+ "glob": "^7.0.0",
5803
+ "lodash": "^4.0.0",
5804
+ "scss-tokenizer": "^0.2.3",
5805
+ "yargs": "^7.0.0"
5806
  }
5807
  },
5808
  "scss-tokenizer": {
5811
  "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
5812
  "dev": true,
5813
  "requires": {
5814
+ "js-base64": "^2.1.8",
5815
+ "source-map": "^0.4.2"
5816
  },
5817
  "dependencies": {
5818
  "source-map": {
5821
  "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
5822
  "dev": true,
5823
  "requires": {
5824
+ "amdefine": ">=0.0.4"
5825
  }
5826
  }
5827
  }
5828
  },
5829
  "semver": {
5830
+ "version": "5.6.0",
5831
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
5832
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
5833
+ "dev": true
5834
+ },
5835
+ "semver-compare": {
5836
+ "version": "1.0.0",
5837
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
5838
+ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
5839
  "dev": true
5840
  },
5841
  "set-blocking": {
5850
  "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
5851
  "dev": true,
5852
  "requires": {
5853
+ "extend-shallow": "^2.0.1",
5854
+ "is-extendable": "^0.1.1",
5855
+ "is-plain-object": "^2.0.3",
5856
+ "split-string": "^3.0.1"
5857
  },
5858
  "dependencies": {
5859
  "extend-shallow": {
5862
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5863
  "dev": true,
5864
  "requires": {
5865
+ "is-extendable": "^0.1.0"
5866
  }
5867
  }
5868
  }
5869
  },
5870
+ "shebang-command": {
5871
+ "version": "1.2.0",
5872
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
5873
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
5874
+ "dev": true,
5875
+ "requires": {
5876
+ "shebang-regex": "^1.0.0"
5877
+ }
5878
+ },
5879
+ "shebang-regex": {
5880
+ "version": "1.0.0",
5881
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
5882
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
5883
+ "dev": true
5884
+ },
5885
  "shelljs": {
5886
  "version": "0.3.0",
5887
  "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
5894
  "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
5895
  "dev": true
5896
  },
5897
+ "simple-concat": {
5898
  "version": "1.0.0",
5899
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
5900
+ "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=",
5901
+ "dev": true,
5902
+ "optional": true
5903
+ },
5904
+ "simple-get": {
5905
+ "version": "2.8.1",
5906
+ "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
5907
+ "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
5908
+ "dev": true,
5909
+ "optional": true,
5910
+ "requires": {
5911
+ "decompress-response": "^3.3.0",
5912
+ "once": "^1.3.1",
5913
+ "simple-concat": "^1.0.0"
5914
+ }
5915
+ },
5916
+ "simple-git": {
5917
+ "version": "1.107.0",
5918
+ "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.107.0.tgz",
5919
+ "integrity": "sha512-t4OK1JRlp4ayKRfcW6owrWcRVLyHRUlhGd0uN6ZZTqfDq8a5XpcUdOKiGRNobHEuMtNqzp0vcJNvhYWwh5PsQA==",
5920
+ "dev": true,
5921
+ "requires": {
5922
+ "debug": "^4.0.1"
5923
+ }
5924
+ },
5925
+ "slash": {
5926
+ "version": "2.0.0",
5927
+ "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
5928
+ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
5929
  "dev": true
5930
  },
5931
  "slice-ansi": {
5932
+ "version": "2.1.0",
5933
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
5934
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
5935
  "dev": true,
5936
  "requires": {
5937
+ "ansi-styles": "^3.2.0",
5938
+ "astral-regex": "^1.0.0",
5939
+ "is-fullwidth-code-point": "^2.0.0"
 
 
 
 
 
 
5940
  }
5941
  },
5942
  "snapdragon": {
5945
  "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
5946
  "dev": true,
5947
  "requires": {
5948
+ "base": "^0.11.1",
5949
+ "debug": "^2.2.0",
5950
+ "define-property": "^0.2.5",
5951
+ "extend-shallow": "^2.0.1",
5952
+ "map-cache": "^0.2.2",
5953
+ "source-map": "^0.5.6",
5954
+ "source-map-resolve": "^0.5.0",
5955
+ "use": "^3.1.0"
5956
  },
5957
  "dependencies": {
5958
  "debug": {
5970
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
5971
  "dev": true,
5972
  "requires": {
5973
+ "is-descriptor": "^0.1.0"
5974
  }
5975
  },
5976
  "extend-shallow": {
5979
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
5980
  "dev": true,
5981
  "requires": {
5982
+ "is-extendable": "^0.1.0"
5983
  }
5984
  },
5985
+ "ms": {
5986
+ "version": "2.0.0",
5987
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
5988
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
5989
+ "dev": true
5990
+ },
5991
  "source-map": {
5992
  "version": "0.5.7",
5993
  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
6002
  "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
6003
  "dev": true,
6004
  "requires": {
6005
+ "define-property": "^1.0.0",
6006
+ "isobject": "^3.0.0",
6007
+ "snapdragon-util": "^3.0.1"
6008
  },
6009
  "dependencies": {
6010
  "define-property": {
6013
  "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
6014
  "dev": true,
6015
  "requires": {
6016
+ "is-descriptor": "^1.0.0"
6017
  }
6018
  },
6019
  "is-accessor-descriptor": {
6022
  "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
6023
  "dev": true,
6024
  "requires": {
6025
+ "kind-of": "^6.0.0"
6026
  }
6027
  },
6028
  "is-data-descriptor": {
6031
  "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
6032
  "dev": true,
6033
  "requires": {
6034
+ "kind-of": "^6.0.0"
6035
  }
6036
  },
6037
  "is-descriptor": {
6040
  "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
6041
  "dev": true,
6042
  "requires": {
6043
+ "is-accessor-descriptor": "^1.0.0",
6044
+ "is-data-descriptor": "^1.0.0",
6045
+ "kind-of": "^6.0.2"
6046
  }
6047
  }
6048
  }
6053
  "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
6054
  "dev": true,
6055
  "requires": {
6056
+ "kind-of": "^3.2.0"
6057
  },
6058
  "dependencies": {
6059
  "kind-of": {
6062
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
6063
  "dev": true,
6064
  "requires": {
6065
+ "is-buffer": "^1.1.5"
6066
  }
6067
  }
6068
  }
6079
  "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
6080
  "dev": true,
6081
  "requires": {
6082
+ "atob": "^2.1.1",
6083
+ "decode-uri-component": "^0.2.0",
6084
+ "resolve-url": "^0.2.1",
6085
+ "source-map-url": "^0.4.0",
6086
+ "urix": "^0.1.0"
6087
  }
6088
  },
6089
  "source-map-url": {
6093
  "dev": true
6094
  },
6095
  "spdx-correct": {
6096
+ "version": "3.1.0",
6097
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
6098
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
6099
  "dev": true,
6100
  "requires": {
6101
+ "spdx-expression-parse": "^3.0.0",
6102
+ "spdx-license-ids": "^3.0.0"
6103
  }
6104
  },
6105
  "spdx-exceptions": {
6106
+ "version": "2.2.0",
6107
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
6108
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
6109
  "dev": true
6110
  },
6111
  "spdx-expression-parse": {
6114
  "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
6115
  "dev": true,
6116
  "requires": {
6117
+ "spdx-exceptions": "^2.1.0",
6118
+ "spdx-license-ids": "^3.0.0"
6119
  }
6120
  },
6121
  "spdx-license-ids": {
6122
+ "version": "3.0.3",
6123
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz",
6124
+ "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==",
6125
  "dev": true
6126
  },
6127
  "specificity": {
6130
  "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
6131
  "dev": true
6132
  },
 
 
 
 
 
 
 
 
 
 
6133
  "split-string": {
6134
  "version": "3.1.0",
6135
  "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
6136
  "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
6137
  "dev": true,
6138
  "requires": {
6139
+ "extend-shallow": "^3.0.0"
6140
  }
6141
  },
6142
  "sprintf-js": {
6143
+ "version": "1.0.3",
6144
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
6145
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
6146
  "dev": true
6147
  },
6148
  "sshpk": {
6149
+ "version": "1.16.1",
6150
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
6151
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
6152
  "dev": true,
6153
  "requires": {
6154
+ "asn1": "~0.2.3",
6155
+ "assert-plus": "^1.0.0",
6156
+ "bcrypt-pbkdf": "^1.0.0",
6157
+ "dashdash": "^1.12.0",
6158
+ "ecc-jsbn": "~0.1.1",
6159
+ "getpass": "^0.1.1",
6160
+ "jsbn": "~0.1.0",
6161
+ "safer-buffer": "^2.0.2",
6162
+ "tweetnacl": "~0.14.0"
6163
  }
6164
  },
6165
+ "staged-git-files": {
6166
+ "version": "1.1.2",
6167
+ "resolved": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-1.1.2.tgz",
6168
+ "integrity": "sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA==",
6169
+ "dev": true
 
6170
  },
6171
  "state-toggle": {
6172
  "version": "1.0.1",
6180
  "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
6181
  "dev": true,
6182
  "requires": {
6183
+ "define-property": "^0.2.5",
6184
+ "object-copy": "^0.1.0"
6185
  },
6186
  "dependencies": {
6187
  "define-property": {
6190
  "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
6191
  "dev": true,
6192
  "requires": {
6193
+ "is-descriptor": "^0.1.0"
6194
  }
6195
  }
6196
  }
6201
  "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
6202
  "dev": true,
6203
  "requires": {
6204
+ "readable-stream": "^2.0.1"
6205
  },
6206
  "dependencies": {
6207
  "isarray": {
6212
  },
6213
  "readable-stream": {
6214
  "version": "2.3.6",
6215
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
6216
  "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
6217
  "dev": true,
6218
  "requires": {
6219
+ "core-util-is": "~1.0.0",
6220
+ "inherits": "~2.0.3",
6221
+ "isarray": "~1.0.0",
6222
+ "process-nextick-args": "~2.0.0",
6223
+ "safe-buffer": "~5.1.1",
6224
+ "string_decoder": "~1.1.1",
6225
+ "util-deprecate": "~1.0.1"
6226
  }
6227
  },
6228
  "string_decoder": {
6231
  "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
6232
  "dev": true,
6233
  "requires": {
6234
+ "safe-buffer": "~5.1.0"
6235
  }
6236
  }
6237
  }
6238
  },
6239
+ "stream-buffers": {
6240
+ "version": "2.2.0",
6241
+ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
6242
+ "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=",
6243
+ "dev": true
6244
+ },
6245
+ "string-argv": {
6246
+ "version": "0.0.2",
6247
+ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz",
6248
+ "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=",
6249
+ "dev": true
6250
+ },
6251
  "string-template": {
6252
  "version": "0.2.1",
6253
  "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
6255
  "dev": true
6256
  },
6257
  "string-width": {
6258
+ "version": "2.1.1",
6259
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
6260
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
6261
  "dev": true,
6262
  "requires": {
6263
+ "is-fullwidth-code-point": "^2.0.0",
6264
+ "strip-ansi": "^4.0.0"
 
6265
  }
6266
  },
6267
  "string_decoder": {
6276
  "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
6277
  "dev": true,
6278
  "requires": {
6279
+ "character-entities-html4": "^1.0.0",
6280
+ "character-entities-legacy": "^1.0.0",
6281
+ "is-alphanumerical": "^1.0.0",
6282
+ "is-hexadecimal": "^1.0.0"
6283
+ }
6284
+ },
6285
+ "stringify-object": {
6286
+ "version": "3.3.0",
6287
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
6288
+ "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
6289
+ "dev": true,
6290
+ "requires": {
6291
+ "get-own-enumerable-property-symbols": "^3.0.0",
6292
+ "is-obj": "^1.0.1",
6293
+ "is-regexp": "^1.0.0"
6294
  }
6295
  },
6296
  "strip-ansi": {
6297
+ "version": "4.0.0",
6298
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
6299
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
6300
  "dev": true,
6301
  "requires": {
6302
+ "ansi-regex": "^3.0.0"
6303
  }
6304
  },
6305
  "strip-bom": {
6308
  "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
6309
  "dev": true,
6310
  "requires": {
6311
+ "is-utf8": "^0.2.0"
6312
  }
6313
  },
6314
+ "strip-eof": {
6315
+ "version": "1.0.0",
6316
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
6317
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
6318
+ "dev": true
6319
+ },
6320
  "strip-indent": {
6321
  "version": "1.0.1",
6322
  "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
6323
  "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
6324
  "dev": true,
6325
  "requires": {
6326
+ "get-stdin": "^4.0.1"
6327
  }
6328
  },
6329
  "strip-json-comments": {
6330
+ "version": "2.0.1",
6331
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
6332
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
6333
  "dev": true
6334
  },
6335
  "style-search": {
6339
  "dev": true
6340
  },
6341
  "stylelint": {
6342
+ "version": "9.10.1",
6343
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz",
6344
+ "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==",
6345
+ "dev": true,
6346
+ "requires": {
6347
+ "autoprefixer": "^9.0.0",
6348
+ "balanced-match": "^1.0.0",
6349
+ "chalk": "^2.4.1",
6350
+ "cosmiconfig": "^5.0.0",
6351
+ "debug": "^4.0.0",
6352
+ "execall": "^1.0.0",
6353
+ "file-entry-cache": "^4.0.0",
6354
+ "get-stdin": "^6.0.0",
6355
+ "global-modules": "^2.0.0",
6356
+ "globby": "^9.0.0",
6357
+ "globjoin": "^0.1.4",
6358
+ "html-tags": "^2.0.0",
6359
+ "ignore": "^5.0.4",
6360
+ "import-lazy": "^3.1.0",
6361
+ "imurmurhash": "^0.1.4",
6362
+ "known-css-properties": "^0.11.0",
6363
+ "leven": "^2.1.0",
6364
+ "lodash": "^4.17.4",
6365
+ "log-symbols": "^2.0.0",
6366
+ "mathml-tag-names": "^2.0.1",
6367
+ "meow": "^5.0.0",
6368
+ "micromatch": "^3.1.10",
6369
+ "normalize-selector": "^0.2.0",
6370
+ "pify": "^4.0.0",
6371
+ "postcss": "^7.0.13",
6372
+ "postcss-html": "^0.36.0",
6373
+ "postcss-jsx": "^0.36.0",
6374
+ "postcss-less": "^3.1.0",
6375
+ "postcss-markdown": "^0.36.0",
6376
+ "postcss-media-query-parser": "^0.2.3",
6377
+ "postcss-reporter": "^6.0.0",
6378
+ "postcss-resolve-nested-selector": "^0.1.1",
6379
+ "postcss-safe-parser": "^4.0.0",
6380
+ "postcss-sass": "^0.3.5",
6381
+ "postcss-scss": "^2.0.0",
6382
+ "postcss-selector-parser": "^3.1.0",
6383
+ "postcss-syntax": "^0.36.2",
6384
+ "postcss-value-parser": "^3.3.0",
6385
+ "resolve-from": "^4.0.0",
6386
+ "signal-exit": "^3.0.2",
6387
+ "slash": "^2.0.0",
6388
+ "specificity": "^0.4.1",
6389
+ "string-width": "^3.0.0",
6390
+ "style-search": "^0.1.0",
6391
+ "sugarss": "^2.0.0",
6392
+ "svg-tags": "^1.0.0",
6393
+ "table": "^5.0.0"
6394
  },
6395
  "dependencies": {
6396
  "ansi-regex": {
6397
+ "version": "4.0.0",
6398
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz",
6399
+ "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==",
6400
  "dev": true
6401
  },
6402
  "camelcase": {
6411
  "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
6412
  "dev": true,
6413
  "requires": {
6414
+ "camelcase": "^4.1.0",
6415
+ "map-obj": "^2.0.0",
6416
+ "quick-lru": "^1.0.0"
6417
  }
6418
  },
6419
+ "file-entry-cache": {
6420
+ "version": "4.0.0",
6421
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz",
6422
+ "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==",
6423
  "dev": true,
6424
  "requires": {
6425
+ "flat-cache": "^2.0.1"
6426
  }
6427
  },
6428
  "find-up": {
6431
  "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
6432
  "dev": true,
6433
  "requires": {
6434
+ "locate-path": "^2.0.0"
6435
+ }
6436
+ },
6437
+ "flat-cache": {
6438
+ "version": "2.0.1",
6439
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
6440
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
6441
+ "dev": true,
6442
+ "requires": {
6443
+ "flatted": "^2.0.0",
6444
+ "rimraf": "2.6.3",
6445
+ "write": "1.0.3"
6446
  }
6447
  },
6448
  "get-stdin": {
6451
  "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
6452
  "dev": true
6453
  },
6454
+ "globby": {
6455
+ "version": "9.0.0",
6456
+ "resolved": "https://registry.npmjs.org/globby/-/globby-9.0.0.tgz",
6457
+ "integrity": "sha512-q0qiO/p1w/yJ0hk8V9x1UXlgsXUxlGd0AHUOXZVXBO6aznDtpx7M8D1kBrCAItoPm+4l8r6ATXV1JpjY2SBQOw==",
6458
+ "dev": true,
6459
+ "requires": {
6460
+ "array-union": "^1.0.2",
6461
+ "dir-glob": "^2.2.1",
6462
+ "fast-glob": "^2.2.6",
6463
+ "glob": "^7.1.3",
6464
+ "ignore": "^4.0.3",
6465
+ "pify": "^4.0.1",
6466
+ "slash": "^2.0.0"
6467
+ },
6468
+ "dependencies": {
6469
+ "ignore": {
6470
+ "version": "4.0.6",
6471
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
6472
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
6473
+ "dev": true
6474
+ }
6475
+ }
6476
+ },
6477
+ "ignore": {
6478
+ "version": "5.0.5",
6479
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.5.tgz",
6480
+ "integrity": "sha512-kOC8IUb8HSDMVcYrDVezCxpJkzSQWTAzf3olpKM6o9rM5zpojx23O0Fl8Wr4+qJ6ZbPEHqf1fdwev/DS7v7pmA==",
6481
+ "dev": true
6482
+ },
6483
  "indent-string": {
6484
  "version": "3.2.0",
6485
  "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
6486
  "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
6487
  "dev": true
6488
  },
 
 
 
 
 
 
6489
  "load-json-file": {
6490
  "version": "4.0.0",
6491
  "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
6492
  "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
6493
  "dev": true,
6494
  "requires": {
6495
+ "graceful-fs": "^4.1.2",
6496
+ "parse-json": "^4.0.0",
6497
+ "pify": "^3.0.0",
6498
+ "strip-bom": "^3.0.0"
6499
  },
6500
  "dependencies": {
6501
  "pify": {
6506
  }
6507
  }
6508
  },
6509
+ "locate-path": {
6510
+ "version": "2.0.0",
6511
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
6512
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
6513
+ "dev": true,
6514
+ "requires": {
6515
+ "p-locate": "^2.0.0",
6516
+ "path-exists": "^3.0.0"
6517
+ }
6518
+ },
6519
  "map-obj": {
6520
  "version": "2.0.0",
6521
  "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
6528
  "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
6529
  "dev": true,
6530
  "requires": {
6531
+ "camelcase-keys": "^4.0.0",
6532
+ "decamelize-keys": "^1.0.0",
6533
+ "loud-rejection": "^1.0.0",
6534
+ "minimist-options": "^3.0.1",
6535
+ "normalize-package-data": "^2.3.4",
6536
+ "read-pkg-up": "^3.0.0",
6537
+ "redent": "^2.0.0",
6538
+ "trim-newlines": "^2.0.0",
6539
+ "yargs-parser": "^10.0.0"
6540
  }
6541
  },
6542
+ "p-limit": {
6543
+ "version": "1.3.0",
6544
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
6545
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
6546
+ "dev": true,
6547
+ "requires": {
6548
+ "p-try": "^1.0.0"
6549
+ }
6550
+ },
6551
+ "p-locate": {
6552
+ "version": "2.0.0",
6553
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
6554
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
6555
+ "dev": true,
6556
+ "requires": {
6557
+ "p-limit": "^1.1.0"
6558
+ }
6559
+ },
6560
+ "p-try": {
6561
+ "version": "1.0.0",
6562
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
6563
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
6564
  "dev": true
6565
  },
6566
  "parse-json": {
6569
  "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
6570
  "dev": true,
6571
  "requires": {
6572
+ "error-ex": "^1.3.1",
6573
+ "json-parse-better-errors": "^1.0.1"
6574
  }
6575
  },
6576
+ "path-exists": {
6577
+ "version": "3.0.0",
6578
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
6579
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
6580
+ "dev": true
6581
+ },
6582
  "path-type": {
6583
  "version": "3.0.0",
6584
  "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
6585
  "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
6586
  "dev": true,
6587
  "requires": {
6588
+ "pify": "^3.0.0"
6589
  },
6590
  "dependencies": {
6591
  "pify": {
6599
  "pify": {
6600
  "version": "4.0.1",
6601
  "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
6602
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
6603
+ "dev": true
 
 
 
 
 
 
 
 
 
 
 
6604
  },
6605
  "read-pkg": {
6606
  "version": "3.0.0",
6608
  "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
6609
  "dev": true,
6610
  "requires": {
6611
+ "load-json-file": "^4.0.0",
6612
+ "normalize-package-data": "^2.3.2",
6613
+ "path-type": "^3.0.0"
6614
  }
6615
  },
6616
  "read-pkg-up": {
6619
  "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
6620
  "dev": true,
6621
  "requires": {
6622
+ "find-up": "^2.0.0",
6623
+ "read-pkg": "^3.0.0"
6624
  }
6625
  },
6626
  "redent": {
6629
  "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
6630
  "dev": true,
6631
  "requires": {
6632
+ "indent-string": "^3.0.0",
6633
+ "strip-indent": "^2.0.0"
6634
  }
6635
  },
6636
  "string-width": {
6637
+ "version": "3.0.0",
6638
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.0.0.tgz",
6639
+ "integrity": "sha512-rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew==",
6640
  "dev": true,
6641
  "requires": {
6642
+ "emoji-regex": "^7.0.1",
6643
+ "is-fullwidth-code-point": "^2.0.0",
6644
+ "strip-ansi": "^5.0.0"
6645
  }
6646
  },
6647
  "strip-ansi": {
6648
+ "version": "5.0.0",
6649
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz",
6650
+ "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==",
6651
  "dev": true,
6652
  "requires": {
6653
+ "ansi-regex": "^4.0.0"
6654
  }
6655
  },
6656
  "strip-bom": {
6665
  "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
6666
  "dev": true
6667
  },
 
 
 
 
 
 
 
 
 
6668
  "trim-newlines": {
6669
  "version": "2.0.0",
6670
  "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
6671
  "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
6672
  "dev": true
6673
  },
6674
+ "write": {
6675
+ "version": "1.0.3",
6676
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
6677
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
6678
+ "dev": true,
6679
+ "requires": {
6680
+ "mkdirp": "^0.5.1"
6681
+ }
6682
+ },
6683
  "yargs-parser": {
6684
  "version": "10.1.0",
6685
  "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
6686
  "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
6687
  "dev": true,
6688
  "requires": {
6689
+ "camelcase": "^4.1.0"
6690
  }
6691
  }
6692
  }
6693
  },
6694
+ "stylelint-config-recommended": {
6695
+ "version": "2.1.0",
6696
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.1.0.tgz",
6697
+ "integrity": "sha512-ajMbivOD7JxdsnlS5945KYhvt7L/HwN6YeYF2BH6kE4UCLJR0YvXMf+2j7nQpJyYLZx9uZzU5G1ZOSBiWAc6yA==",
6698
+ "dev": true
6699
+ },
6700
+ "stylelint-config-recommended-scss": {
6701
+ "version": "3.2.0",
6702
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-3.2.0.tgz",
6703
+ "integrity": "sha512-M8BFHMRf8KNz5EQPKJd8nMCGmBd2o5coDEObfHVbEkyLDgjIf1V+U5dHjaGgvhm0zToUxshxN+Gc5wpbOOew4g==",
6704
+ "dev": true,
6705
+ "requires": {
6706
+ "stylelint-config-recommended": "^2.0.0"
6707
+ }
6708
+ },
6709
+ "stylelint-config-wordpress": {
6710
+ "version": "13.1.0",
6711
+ "resolved": "https://registry.npmjs.org/stylelint-config-wordpress/-/stylelint-config-wordpress-13.1.0.tgz",
6712
+ "integrity": "sha512-dpKj2/d3/XjDVoOvQzd54GoM8Rj5zldluOZKkVhBCc4JYMc6r1VYL5hpcgIjqy/i2Hyqg4Rh7zTafE/2AWq//w==",
6713
+ "dev": true,
6714
+ "requires": {
6715
+ "stylelint-config-recommended": "^2.1.0",
6716
+ "stylelint-config-recommended-scss": "^3.2.0",
6717
+ "stylelint-scss": "^3.3.0"
6718
+ }
6719
+ },
6720
+ "stylelint-scss": {
6721
+ "version": "3.5.3",
6722
+ "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.5.3.tgz",
6723
+ "integrity": "sha512-QESQUOY1ldU5tlJTTM3Megz/QtJ39S58ByjZ7dZobGDq9qMjy5jbC7PDUasrv/T7pB1UbpPojpxX9K1OR7IPEg==",
6724
  "dev": true,
6725
  "requires": {
6726
+ "lodash": "^4.17.11",
6727
+ "postcss-media-query-parser": "^0.2.3",
6728
+ "postcss-resolve-nested-selector": "^0.1.1",
6729
+ "postcss-selector-parser": "^5.0.0",
6730
+ "postcss-value-parser": "^3.3.1"
6731
  },
6732
  "dependencies": {
6733
+ "postcss-selector-parser": {
6734
+ "version": "5.0.0",
6735
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
6736
+ "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
 
 
 
 
 
 
 
 
 
 
 
6737
  "dev": true,
6738
  "requires": {
6739
+ "cssesc": "^2.0.0",
6740
+ "indexes-of": "^1.0.1",
6741
+ "uniq": "^1.0.1"
6742
  }
6743
  }
6744
  }
6745
  },
6746
+ "sugarss": {
6747
+ "version": "2.0.0",
6748
+ "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
6749
+ "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
6750
+ "dev": true,
6751
+ "requires": {
6752
+ "postcss": "^7.0.2"
6753
+ }
6754
+ },
6755
  "supports-color": {
6756
+ "version": "6.1.0",
6757
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
6758
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
6759
  "dev": true,
6760
  "requires": {
6761
+ "has-flag": "^3.0.0"
6762
  }
6763
  },
6764
  "svg-tags": {
6767
  "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
6768
  "dev": true
6769
  },
6770
+ "symbol-observable": {
6771
+ "version": "1.2.0",
6772
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
6773
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
6774
+ "dev": true
6775
+ },
6776
+ "synchronous-promise": {
6777
+ "version": "2.0.6",
6778
+ "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.6.tgz",
6779
+ "integrity": "sha512-TyOuWLwkmtPL49LHCX1caIwHjRzcVd62+GF6h8W/jHOeZUFHpnd2XJDVuUlaTaLPH1nuu2M69mfHr5XbQJnf/g==",
6780
+ "dev": true
6781
+ },
6782
  "table": {
6783
+ "version": "5.2.3",
6784
+ "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz",
6785
+ "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==",
6786
  "dev": true,
6787
  "requires": {
6788
+ "ajv": "^6.9.1",
6789
+ "lodash": "^4.17.11",
6790
+ "slice-ansi": "^2.1.0",
6791
+ "string-width": "^3.0.0"
6792
  },
6793
  "dependencies": {
 
 
 
 
 
 
 
 
 
 
 
 
6794
  "ansi-regex": {
6795
+ "version": "4.0.0",
6796
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz",
6797
+ "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6798
  "dev": true
6799
  },
6800
  "string-width": {
6801
+ "version": "3.0.0",
6802
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.0.0.tgz",
6803
+ "integrity": "sha512-rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew==",
6804
  "dev": true,
6805
  "requires": {
6806
+ "emoji-regex": "^7.0.1",
6807
+ "is-fullwidth-code-point": "^2.0.0",
6808
+ "strip-ansi": "^5.0.0"
6809
  }
6810
  },
6811
  "strip-ansi": {
6812
+ "version": "5.0.0",
6813
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz",
6814
+ "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==",
6815
  "dev": true,
6816
  "requires": {
6817
+ "ansi-regex": "^4.0.0"
6818
  }
6819
  }
6820
  }
6825
  "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
6826
  "dev": true,
6827
  "requires": {
6828
+ "block-stream": "*",
6829
+ "fstream": "^1.0.2",
6830
+ "inherits": "2"
6831
+ }
6832
+ },
6833
+ "tar-fs": {
6834
+ "version": "1.16.3",
6835
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz",
6836
+ "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==",
6837
+ "dev": true,
6838
+ "optional": true,
6839
+ "requires": {
6840
+ "chownr": "^1.0.1",
6841
+ "mkdirp": "^0.5.1",
6842
+ "pump": "^1.0.0",
6843
+ "tar-stream": "^1.1.2"
6844
+ },
6845
+ "dependencies": {
6846
+ "pump": {
6847
+ "version": "1.0.3",
6848
+ "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
6849
+ "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
6850
+ "dev": true,
6851
+ "optional": true,
6852
+ "requires": {
6853
+ "end-of-stream": "^1.1.0",
6854
+ "once": "^1.3.1"
6855
+ }
6856
+ }
6857
+ }
6858
+ },
6859
+ "tar-stream": {
6860
+ "version": "1.6.2",
6861
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
6862
+ "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
6863
+ "dev": true,
6864
+ "requires": {
6865
+ "bl": "^1.0.0",
6866
+ "buffer-alloc": "^1.2.0",
6867
+ "end-of-stream": "^1.0.0",
6868
+ "fs-constants": "^1.0.0",
6869
+ "readable-stream": "^2.3.0",
6870
+ "to-buffer": "^1.1.1",
6871
+ "xtend": "^4.0.0"
6872
+ },
6873
+ "dependencies": {
6874
+ "isarray": {
6875
+ "version": "1.0.0",
6876
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
6877
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
6878
+ "dev": true
6879
+ },
6880
+ "readable-stream": {
6881
+ "version": "2.3.6",
6882
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
6883
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
6884
+ "dev": true,
6885
+ "requires": {
6886
+ "core-util-is": "~1.0.0",
6887
+ "inherits": "~2.0.3",
6888
+ "isarray": "~1.0.0",
6889
+ "process-nextick-args": "~2.0.0",
6890
+ "safe-buffer": "~5.1.1",
6891
+ "string_decoder": "~1.1.1",
6892
+ "util-deprecate": "~1.0.1"
6893
+ }
6894
+ },
6895
+ "string_decoder": {
6896
+ "version": "1.1.1",
6897
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
6898
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
6899
+ "dev": true,
6900
+ "requires": {
6901
+ "safe-buffer": "~5.1.0"
6902
+ }
6903
+ }
6904
  }
6905
  },
6906
  "text-table": {
6909
  "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
6910
  "dev": true
6911
  },
 
 
 
 
 
 
 
6912
  "through": {
6913
  "version": "2.3.8",
6914
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
6915
  "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
6916
+ "dev": true
 
6917
  },
6918
  "tiny-lr": {
6919
  "version": "1.1.1",
6921
  "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
6922
  "dev": true,
6923
  "requires": {
6924
+ "body": "^5.1.0",
6925
+ "debug": "^3.1.0",
6926
+ "faye-websocket": "~0.10.0",
6927
+ "livereload-js": "^2.3.0",
6928
+ "object-assign": "^4.1.0",
6929
+ "qs": "^6.4.0"
6930
+ },
6931
+ "dependencies": {
6932
+ "debug": {
6933
+ "version": "3.2.6",
6934
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
6935
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
6936
+ "dev": true,
6937
+ "requires": {
6938
+ "ms": "^2.1.1"
6939
+ }
6940
+ }
6941
  }
6942
  },
6943
  "tmp": {
6946
  "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
6947
  "dev": true,
6948
  "requires": {
6949
+ "os-tmpdir": "~1.0.2"
6950
  }
6951
  },
6952
+ "to-buffer": {
6953
+ "version": "1.1.1",
6954
+ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
6955
+ "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
6956
+ "dev": true
6957
+ },
6958
  "to-fast-properties": {
6959
  "version": "2.0.0",
6960
  "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
6967
  "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
6968
  "dev": true,
6969
  "requires": {
6970
+ "kind-of": "^3.0.2"
6971
  },
6972
  "dependencies": {
6973
  "kind-of": {
6976
  "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
6977
  "dev": true,
6978
  "requires": {
6979
+ "is-buffer": "^1.1.5"
6980
  }
6981
  }
6982
  }
6987
  "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
6988
  "dev": true,
6989
  "requires": {
6990
+ "define-property": "^2.0.2",
6991
+ "extend-shallow": "^3.0.2",
6992
+ "regex-not": "^1.0.2",
6993
+ "safe-regex": "^1.1.0"
6994
  }
6995
  },
6996
  "to-regex-range": {
6999
  "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
7000
  "dev": true,
7001
  "requires": {
7002
+ "is-number": "^3.0.0",
7003
+ "repeat-string": "^1.6.1"
7004
  }
7005
  },
7006
+ "toposort": {
7007
+ "version": "2.0.2",
7008
+ "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
7009
+ "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=",
7010
+ "dev": true
7011
+ },
7012
  "tough-cookie": {
7013
  "version": "2.4.3",
7014
  "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
7015
  "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
7016
  "dev": true,
7017
  "requires": {
7018
+ "psl": "^1.1.24",
7019
+ "punycode": "^1.4.1"
7020
+ },
7021
+ "dependencies": {
7022
+ "punycode": {
7023
+ "version": "1.4.1",
7024
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
7025
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
7026
+ "dev": true
7027
+ }
7028
  }
7029
  },
7030
  "trim": {
7063
  "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
7064
  "dev": true,
7065
  "requires": {
7066
+ "glob": "^7.1.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7067
  }
7068
  },
7069
+ "tslib": {
7070
+ "version": "1.9.3",
7071
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
7072
+ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
7073
+ "dev": true
7074
+ },
7075
  "tunnel-agent": {
7076
  "version": "0.6.0",
7077
  "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
7078
  "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
7079
  "dev": true,
7080
  "requires": {
7081
+ "safe-buffer": "^5.0.1"
7082
  }
7083
  },
7084
  "tweetnacl": {
7087
  "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
7088
  "dev": true
7089
  },
7090
+ "type-check": {
7091
+ "version": "0.3.2",
7092
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
7093
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
7094
  "dev": true,
7095
+ "requires": {
7096
+ "prelude-ls": "~1.1.2"
7097
+ }
7098
  },
7099
  "uglify-js": {
7100
  "version": "3.4.9",
7102
  "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
7103
  "dev": true,
7104
  "requires": {
7105
+ "commander": "~2.17.1",
7106
+ "source-map": "~0.6.1"
7107
  }
7108
  },
7109
  "underscore.string": {
7110
+ "version": "3.3.5",
7111
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
7112
+ "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
7113
  "dev": true,
7114
  "requires": {
7115
+ "sprintf-js": "^1.0.3",
7116
+ "util-deprecate": "^1.0.2"
7117
  }
7118
  },
7119
  "unherit": {
7122
  "integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==",
7123
  "dev": true,
7124
  "requires": {
7125
+ "inherits": "^2.0.1",
7126
+ "xtend": "^4.0.1"
7127
  }
7128
  },
 
 
 
 
 
 
7129
  "unified": {
7130
+ "version": "7.1.0",
7131
+ "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
7132
+ "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==",
7133
  "dev": true,
7134
  "requires": {
7135
+ "@types/unist": "^2.0.0",
7136
+ "@types/vfile": "^3.0.0",
7137
+ "bail": "^1.0.0",
7138
+ "extend": "^3.0.0",
7139
+ "is-plain-obj": "^1.1.0",
7140
+ "trough": "^1.0.0",
7141
+ "vfile": "^3.0.0",
7142
+ "x-is-string": "^0.1.0"
7143
  }
7144
  },
7145
  "union-value": {
7148
  "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
7149
  "dev": true,
7150
  "requires": {
7151
+ "arr-union": "^3.1.0",
7152
+ "get-value": "^2.0.6",
7153
+ "is-extendable": "^0.1.1",
7154
+ "set-value": "^0.4.3"
7155
  },
7156
  "dependencies": {
7157
  "extend-shallow": {
7160
  "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
7161
  "dev": true,
7162
  "requires": {
7163
+ "is-extendable": "^0.1.0"
7164
  }
7165
  },
7166
  "set-value": {
7169
  "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
7170
  "dev": true,
7171
  "requires": {
7172
+ "extend-shallow": "^2.0.1",
7173
+ "is-extendable": "^0.1.1",
7174
+ "is-plain-object": "^2.0.1",
7175
+ "to-object-path": "^0.3.0"
7176
  }
7177
  }
7178
  }
7189
  "integrity": "sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w==",
7190
  "dev": true,
7191
  "requires": {
7192
+ "unist-util-is": "^2.0.0"
7193
  }
7194
  },
7195
  "unist-util-is": {
7204
  "integrity": "sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==",
7205
  "dev": true,
7206
  "requires": {
7207
+ "unist-util-visit": "^1.1.0"
7208
  }
7209
  },
7210
  "unist-util-stringify-position": {
7219
  "integrity": "sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==",
7220
  "dev": true,
7221
  "requires": {
7222
+ "unist-util-visit-parents": "^2.0.0"
7223
  }
7224
  },
7225
  "unist-util-visit-parents": {
7228
  "integrity": "sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==",
7229
  "dev": true,
7230
  "requires": {
7231
+ "unist-util-is": "^2.1.2"
7232
  }
7233
  },
7234
  "unset-value": {
7237
  "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
7238
  "dev": true,
7239
  "requires": {
7240
+ "has-value": "^0.3.1",
7241
+ "isobject": "^3.0.0"
7242
  },
7243
  "dependencies": {
7244
  "has-value": {
7247
  "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
7248
  "dev": true,
7249
  "requires": {
7250
+ "get-value": "^2.0.3",
7251
+ "has-values": "^0.1.4",
7252
+ "isobject": "^2.0.0"
7253
  },
7254
  "dependencies": {
7255
  "isobject": {
7283
  "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
7284
  "dev": true,
7285
  "requires": {
7286
+ "punycode": "^2.1.0"
 
 
 
 
 
 
 
 
7287
  }
7288
  },
7289
  "uri-path": {
7317
  "dev": true
7318
  },
7319
  "validate-npm-package-license": {
7320
+ "version": "3.0.4",
7321
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
7322
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
7323
  "dev": true,
7324
  "requires": {
7325
+ "spdx-correct": "^3.0.0",
7326
+ "spdx-expression-parse": "^3.0.0"
7327
  }
7328
  },
7329
  "verror": {
7332
  "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
7333
  "dev": true,
7334
  "requires": {
7335
+ "assert-plus": "^1.0.0",
7336
  "core-util-is": "1.0.2",
7337
+ "extsprintf": "^1.2.0"
7338
  }
7339
  },
7340
  "vfile": {
7341
+ "version": "3.0.1",
7342
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz",
7343
+ "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==",
7344
  "dev": true,
7345
  "requires": {
7346
+ "is-buffer": "^2.0.0",
7347
  "replace-ext": "1.0.0",
7348
+ "unist-util-stringify-position": "^1.0.0",
7349
+ "vfile-message": "^1.0.0"
7350
+ },
7351
+ "dependencies": {
7352
+ "is-buffer": {
7353
+ "version": "2.0.3",
7354
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
7355
+ "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
7356
+ "dev": true
7357
+ }
7358
  }
7359
  },
7360
  "vfile-location": {
7361
+ "version": "2.0.4",
7362
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.4.tgz",
7363
+ "integrity": "sha512-KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w==",
7364
  "dev": true
7365
  },
7366
  "vfile-message": {
7367
+ "version": "1.1.1",
7368
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
7369
+ "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
7370
  "dev": true,
7371
  "requires": {
7372
+ "unist-util-stringify-position": "^1.1.1"
7373
  }
7374
  },
7375
+ "walkdir": {
7376
+ "version": "0.0.11",
7377
+ "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz",
7378
+ "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=",
7379
+ "dev": true
7380
+ },
7381
  "websocket-driver": {
7382
  "version": "0.7.0",
7383
  "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
7384
  "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
7385
  "dev": true,
7386
  "requires": {
7387
+ "http-parser-js": ">=0.4.0",
7388
+ "websocket-extensions": ">=0.1.1"
7389
  }
7390
  },
7391
  "websocket-extensions": {
7400
  "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
7401
  "dev": true,
7402
  "requires": {
7403
+ "isexe": "^2.0.0"
7404
  }
7405
  },
7406
  "which-module": {
7409
  "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
7410
  "dev": true
7411
  },
7412
+ "which-pm-runs": {
7413
+ "version": "1.0.0",
7414
+ "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz",
7415
+ "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=",
7416
+ "dev": true,
7417
+ "optional": true
7418
+ },
7419
  "wide-align": {
7420
  "version": "1.1.3",
7421
  "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
7422
  "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
7423
  "dev": true,
7424
  "requires": {
7425
+ "string-width": "^1.0.2 || 2"
7426
  }
7427
  },
7428
+ "wordwrap": {
7429
+ "version": "1.0.0",
7430
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
7431
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
7432
+ "dev": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7433
  },
7434
  "wrap-ansi": {
7435
+ "version": "3.0.1",
7436
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz",
7437
+ "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=",
7438
  "dev": true,
7439
  "requires": {
7440
+ "string-width": "^2.1.1",
7441
+ "strip-ansi": "^4.0.0"
7442
  }
7443
  },
7444
  "wrappy": {
7453
  "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
7454
  "dev": true,
7455
  "requires": {
7456
+ "mkdirp": "^0.5.1"
7457
  }
7458
  },
7459
  "x-is-string": {
7486
  "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
7487
  "dev": true,
7488
  "requires": {
7489
+ "camelcase": "^3.0.0",
7490
+ "cliui": "^3.2.0",
7491
+ "decamelize": "^1.1.1",
7492
+ "get-caller-file": "^1.0.1",
7493
+ "os-locale": "^1.4.0",
7494
+ "read-pkg-up": "^1.0.1",
7495
+ "require-directory": "^2.1.1",
7496
+ "require-main-filename": "^1.0.1",
7497
+ "set-blocking": "^2.0.0",
7498
+ "string-width": "^1.0.2",
7499
+ "which-module": "^1.0.0",
7500
+ "y18n": "^3.2.1",
7501
+ "yargs-parser": "^5.0.0"
7502
  },
7503
  "dependencies": {
7504
+ "ansi-regex": {
7505
+ "version": "2.1.1",
7506
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
7507
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
7508
+ "dev": true
7509
+ },
7510
  "camelcase": {
7511
  "version": "3.0.0",
7512
  "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
7513
  "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
7514
  "dev": true
7515
+ },
7516
+ "is-fullwidth-code-point": {
7517
+ "version": "1.0.0",
7518
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
7519
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
7520
+ "dev": true,
7521
+ "requires": {
7522
+ "number-is-nan": "^1.0.0"
7523
+ }
7524
+ },
7525
+ "string-width": {
7526
+ "version": "1.0.2",
7527
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
7528
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
7529
+ "dev": true,
7530
+ "requires": {
7531
+ "code-point-at": "^1.0.0",
7532
+ "is-fullwidth-code-point": "^1.0.0",
7533
+ "strip-ansi": "^3.0.0"
7534
+ }
7535
+ },
7536
+ "strip-ansi": {
7537
+ "version": "3.0.1",
7538
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
7539
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
7540
+ "dev": true,
7541
+ "requires": {
7542
+ "ansi-regex": "^2.0.0"
7543
+ }
7544
  }
7545
  }
7546
  },
7550
  "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
7551
  "dev": true,
7552
  "requires": {
7553
+ "camelcase": "^3.0.0"
7554
  },
7555
  "dependencies": {
7556
  "camelcase": {
7561
  }
7562
  }
7563
  },
7564
+ "yup": {
7565
+ "version": "0.26.10",
7566
+ "resolved": "https://registry.npmjs.org/yup/-/yup-0.26.10.tgz",
7567
+ "integrity": "sha512-keuNEbNSnsOTOuGCt3UJW69jDE3O4P+UHAakO7vSeFMnjaitcmlbij/a3oNb9g1Y1KvSKH/7O1R2PQ4m4TRylw==",
7568
+ "dev": true,
7569
+ "requires": {
7570
+ "@babel/runtime": "7.0.0",
7571
+ "fn-name": "~2.0.1",
7572
+ "lodash": "^4.17.10",
7573
+ "property-expr": "^1.5.0",
7574
+ "synchronous-promise": "^2.0.5",
7575
+ "toposort": "^2.0.2"
7576
+ }
7577
+ },
7578
+ "zip-stream": {
7579
+ "version": "1.2.0",
7580
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz",
7581
+ "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
7582
  "dev": true,
 
7583
  "requires": {
7584
+ "archiver-utils": "^1.3.0",
7585
+ "compress-commons": "^1.2.0",
7586
+ "lodash": "^4.8.0",
7587
+ "readable-stream": "^2.0.0"
7588
+ },
7589
+ "dependencies": {
7590
+ "isarray": {
7591
+ "version": "1.0.0",
7592
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
7593
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
7594
+ "dev": true
7595
+ },
7596
+ "readable-stream": {
7597
+ "version": "2.3.6",
7598
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
7599
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
7600
+ "dev": true,
7601
+ "requires": {
7602
+ "core-util-is": "~1.0.0",
7603
+ "inherits": "~2.0.3",
7604
+ "isarray": "~1.0.0",
7605
+ "process-nextick-args": "~2.0.0",
7606
+ "safe-buffer": "~5.1.1",
7607
+ "string_decoder": "~1.1.1",
7608
+ "util-deprecate": "~1.0.1"
7609
+ }
7610
+ },
7611
+ "string_decoder": {
7612
+ "version": "1.1.1",
7613
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
7614
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
7615
+ "dev": true,
7616
+ "requires": {
7617
+ "safe-buffer": "~5.1.0"
7618
+ }
7619
+ }
7620
  }
7621
  }
7622
  }
phpcs.xml CHANGED
@@ -1,8 +1,5 @@
1
  <?xml version="1.0"?>
2
  <ruleset name="WordPress Coding Standards">
3
- <!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
4
- <!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/develop/WordPress-Core/ruleset.xml -->
5
-
6
  <description>ThemeGrill Demo Importer dev PHP_CodeSniffer ruleset.</description>
7
 
8
  <!-- Exclude paths -->
@@ -12,34 +9,14 @@
12
 
13
  <!-- Configs -->
14
  <config name="minimum_supported_wp_version" value="4.7" />
15
- <config name="testVersion" value="5.2-"/>
16
 
17
  <!-- Rules -->
18
  <rule ref="WPEverest-Core" />
19
- <rule ref="PHPCompatibility">
20
- <exclude name="PHPCompatibility.PHP.NewKeywords.t_namespaceFound" />
21
- </rule>
22
 
23
- <rule ref="WordPress">
24
- <exclude name="WordPress.VIP.DirectDatabaseQuery.NoCaching" />
25
- <exclude name="WordPress.VIP.DirectDatabaseQuery.DirectQuery" />
26
- <exclude name="WordPress.VIP.DirectDatabaseQuery.SchemaChange" />
27
- <exclude name="WordPress.VIP.FileSystemWritesDisallow.file_ops_fwrite" />
28
- <exclude name="WordPress.VIP.RestrictedFunctions" />
29
- <exclude name="WordPress.VIP.SlowDBQuery.slow_db_query_meta_query" />
30
- <exclude name="WordPress.VIP.RestrictedVariables.user_meta__wpdb__usermeta" />
31
- <exclude name="WordPress.VIP.RestrictedVariables.cache_constraints___COOKIE" />
32
- </rule>
33
- <rule ref="PEAR.NamingConventions.ValidClassName">
34
- <exclude-pattern>includes/</exclude-pattern>
35
- </rule>
36
  <rule ref="WordPress.WP.I18n">
37
  <properties>
38
  <property name="text_domain" type="array" value="themegrill-demo-importer" />
39
  </properties>
40
  </rule>
41
- <rule ref="Squiz.Commenting">
42
- <exclude name="Squiz.Commenting.LongConditionClosingComment" />
43
- <exclude name="Squiz.Commenting.PostStatementComment" />
44
- </rule>
45
  </ruleset>
1
  <?xml version="1.0"?>
2
  <ruleset name="WordPress Coding Standards">
 
 
 
3
  <description>ThemeGrill Demo Importer dev PHP_CodeSniffer ruleset.</description>
4
 
5
  <!-- Exclude paths -->
9
 
10
  <!-- Configs -->
11
  <config name="minimum_supported_wp_version" value="4.7" />
12
+ <config name="testVersion" value="5.2-" />
13
 
14
  <!-- Rules -->
15
  <rule ref="WPEverest-Core" />
 
 
 
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  <rule ref="WordPress.WP.I18n">
18
  <properties>
19
  <property name="text_domain" type="array" value="themegrill-demo-importer" />
20
  </properties>
21
  </rule>
 
 
 
 
22
  </ruleset>
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: ThemeGrill, shivapoudel
3
  Tags: themegrill, theme demos, demo, importer, one click import
4
  Requires at least: 4.7
5
- Tested up to: 4.9
6
- Stable tag: 1.5.5
7
  License: GPLv3 or later
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -73,6 +73,11 @@ Yes you can! Join in on our [GitHub repository](https://github.com/themegrill/th
73
 
74
  == Changelog ==
75
 
 
 
 
 
 
76
  = 1.5.5 - 05-11-2018 =
77
  * Feature - Add support for elementor schemes.
78
 
2
  Contributors: ThemeGrill, shivapoudel
3
  Tags: themegrill, theme demos, demo, importer, one click import
4
  Requires at least: 4.7
5
+ Tested up to: 5.0
6
+ Stable tag: 1.5.6
7
  License: GPLv3 or later
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
 
73
 
74
  == Changelog ==
75
 
76
+ = 1.5.6 - 15-02-2019 =
77
+ * Fetaure - Install plugins and import demo on a single click.
78
+ * Tweak - Remove the more details on demo preview hover.
79
+ * Dev - Improve Coding standard with husky compatibility.
80
+
81
  = 1.5.5 - 05-11-2018 =
82
  * Feature - Add support for elementor schemes.
83
 
themegrill-demo-importer.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: ThemeGrill Demo Importer
4
  * Plugin URI: https://themegrill.com/demo-importer/
5
  * Description: Import ThemeGrill official themes demo content, widgets and theme settings with just one click.
6
- * Version: 1.5.5
7
  * Author: ThemeGrill
8
  * Author URI: https://themegrill.com
9
  * License: GPLv3 or later
3
  * Plugin Name: ThemeGrill Demo Importer
4
  * Plugin URI: https://themegrill.com/demo-importer/
5
  * Description: Import ThemeGrill official themes demo content, widgets and theme settings with just one click.
6
+ * Version: 1.5.6
7
  * Author: ThemeGrill
8
  * Author URI: https://themegrill.com
9
  * License: GPLv3 or later
uninstall.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * Uninstalls the plugin and associated data.
6
  *
7
- * @package Importer/Unistaller
8
  * @version 1.3.4
9
  */
10
 
4
  *
5
  * Uninstalls the plugin and associated data.
6
  *
7
+ * @package Importer\Unistaller
8
  * @version 1.3.4
9
  */
10