SEOPress - Version 5.4.2

Version Description

  • PHP 7.2 is now the minimum requirement to use SEOPress. Contact your host to update.
  • NEW WordPress 5.9 compatibility
  • NEW Choose which search engine to use for instant indexing (Google and/or Bing)
  • INFO End of the complete removal of the compatibility center for more performance
  • FIX Google / Bing instant indexing
  • FIX Prevent Guzzle conflict
  • FIX Search / sorting / filtering in Redirections manager
  • FIX Homepage metadata editing with SEO metabox
Download this release

Release Info

Developer rainbowgeek
Plugin Icon 128x128 SEOPress
Version 5.4.2
Comparing to
See all releases

Code changes from version 5.4.1 to 5.4.2

Files changed (60) hide show
  1. assets/js/seopress-quick-edit.js +4 -0
  2. assets/js/seopress-quick-edit.min.js +1 -1
  3. inc/admin/callbacks/InstantIndexing.php +46 -3
  4. inc/admin/callbacks/Tools.php +0 -103
  5. inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.css.map +0 -1
  6. inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js.map +0 -1
  7. inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/style-index.css.map +0 -1
  8. inc/admin/page-builders/gutenberg/inc/blocks/faq-block/package-lock.json +0 -17345
  9. inc/admin/page-builders/gutenberg/inc/blocks/faq-block/package.json +0 -19
  10. inc/admin/sections/Tools.php +0 -33
  11. inc/admin/settings/InstantIndexing.php +8 -0
  12. inc/admin/settings/Tools.php +0 -52
  13. inc/functions/options-instant-indexing.php +39 -24
  14. inc/functions/options-tools.php +0 -173
  15. inc/functions/options.php +0 -4
  16. readme.txt +12 -3
  17. seopress.php +2 -2
  18. vendor/composer/autoload_classmap.php +0 -8
  19. vendor/composer/autoload_files.php +1 -5
  20. vendor/composer/autoload_psr4.php +2 -5
  21. vendor/composer/autoload_static.php +8 -34
  22. vendor/composer/installed.json +251 -337
  23. vendor/composer/installed.php +54 -51
  24. vendor/composer/platform_check.php +2 -2
  25. vendor/google/apiclient-services/synth.metadata +2 -2
  26. vendor/guzzlehttp/guzzle/.php_cs +0 -23
  27. vendor/guzzlehttp/guzzle/CHANGELOG.md +168 -16
  28. vendor/guzzlehttp/guzzle/Dockerfile +0 -18
  29. vendor/guzzlehttp/guzzle/LICENSE +9 -1
  30. vendor/guzzlehttp/guzzle/README.md +35 -31
  31. vendor/guzzlehttp/guzzle/UPGRADING.md +53 -3
  32. vendor/guzzlehttp/guzzle/composer.json +49 -10
  33. vendor/guzzlehttp/guzzle/src/BodySummarizer.php +28 -0
  34. vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php +13 -0
  35. vendor/guzzlehttp/guzzle/src/Client.php +106 -130
  36. vendor/guzzlehttp/guzzle/src/ClientInterface.php +10 -13
  37. vendor/guzzlehttp/guzzle/src/ClientTrait.php +241 -0
  38. vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php +63 -66
  39. vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php +9 -14
  40. vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php +28 -18
  41. vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php +20 -15
  42. vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php +139 -98
  43. vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php +21 -9
  44. vendor/guzzlehttp/guzzle/src/Exception/ClientException.php +1 -0
  45. vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php +29 -10
  46. vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php +4 -18
  47. vendor/guzzlehttp/guzzle/src/Exception/RequestException.php +41 -67
  48. vendor/guzzlehttp/guzzle/src/Exception/SeekException.php +0 -27
  49. vendor/guzzlehttp/guzzle/src/Exception/ServerException.php +1 -0
  50. vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php +1 -0
  51. vendor/guzzlehttp/guzzle/src/Exception/TransferException.php +1 -0
  52. vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php +211 -201
  53. vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php +3 -5
  54. vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php +15 -11
  55. vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php +90 -48
  56. vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php +50 -30
  57. vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php +42 -0
  58. vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php +78 -62
  59. vendor/guzzlehttp/guzzle/src/Handler/Proxy.php +18 -22
  60. vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php +201 -165
assets/js/seopress-quick-edit.js CHANGED
@@ -29,6 +29,7 @@
29
  var $seopress_noindex = $('.column-seopress_noindex', $post_row).html();
30
  var $seopress_nofollow = $('.column-seopress_nofollow', $post_row).html();
31
  var $seopress_redirections_enable = $('.column-seopress_404_redirect_enable', $post_row).html();
 
32
  var $seopress_redirections_type = $('.column-seopress_404_redirect_type', $post_row).text();
33
  var $seopress_redirections_value = $('.column-seopress_404_redirect_value', $post_row).text();
34
 
@@ -49,6 +50,9 @@
49
  if ($seopress_redirections_enable && $seopress_redirections_enable == '<span class="dashicons dashicons-yes"></span>') {
50
  $(':input[name="seopress_redirections_enabled"]', $edit_row).attr('checked', 'checked');
51
  }
 
 
 
52
  if ($seopress_redirections_type && $seopress_redirections_type != '404') {
53
  $('select[name="seopress_redirections_type"] option[value="' + $seopress_redirections_type + '"]', $edit_row).attr('selected', 'selected');
54
  }
29
  var $seopress_noindex = $('.column-seopress_noindex', $post_row).html();
30
  var $seopress_nofollow = $('.column-seopress_nofollow', $post_row).html();
31
  var $seopress_redirections_enable = $('.column-seopress_404_redirect_enable', $post_row).html();
32
+ var $seopress_redirections_regex_enable = $('.column-seopress_404_redirect_regex_enable', $post_row).html();
33
  var $seopress_redirections_type = $('.column-seopress_404_redirect_type', $post_row).text();
34
  var $seopress_redirections_value = $('.column-seopress_404_redirect_value', $post_row).text();
35
 
50
  if ($seopress_redirections_enable && $seopress_redirections_enable == '<span class="dashicons dashicons-yes"></span>') {
51
  $(':input[name="seopress_redirections_enabled"]', $edit_row).attr('checked', 'checked');
52
  }
53
+ if ($seopress_redirections_regex_enable && $seopress_redirections_regex_enable == '<span class="dashicons dashicons-yes"></span>') {
54
+ $(':input[name="seopress_redirections_enabled_regex"]', $edit_row).attr('checked', 'checked');
55
+ }
56
  if ($seopress_redirections_type && $seopress_redirections_type != '404') {
57
  $('select[name="seopress_redirections_type"] option[value="' + $seopress_redirections_type + '"]', $edit_row).attr('selected', 'selected');
58
  }
assets/js/seopress-quick-edit.min.js CHANGED
@@ -1 +1 @@
1
- (function(e){var s=inlineEditPost.edit;inlineEditPost.edit=function(n){s.apply(this,arguments);var t=0;if("object"==typeof n&&(t=parseInt(this.getId(n))),t>0){var o=e("#edit-"+t),c=e("#post-"+t),a=e(".column-seopress_title",c).text(),i=e(".column-seopress_desc",c).text(),l=e(".column-seopress_tkw",c).text(),p=e(".column-seopress_canonical",c).text(),r=e(".column-seopress_noindex",c).html(),d=e(".column-seopress_nofollow",c).html(),_=e(".column-seopress_404_redirect_enable",c).html(),u=e(".column-seopress_404_redirect_type",c).text(),m=e(".column-seopress_404_redirect_value",c).text();e(':input[name="seopress_title"]',o).val(a),e(':input[name="seopress_desc"]',o).val(i),e(':input[name="seopress_tkw"]',o).val(l),e(':input[name="seopress_canonical"]',o).val(p),r&&r.includes('<span class="dashicons dashicons-hidden"></span>')&&e(':input[name="seopress_noindex"]',o).attr("checked","checked"),d&&d.includes('<span class="dashicons dashicons-yes"></span>')&&e(':input[name="seopress_nofollow"]',o).attr("checked","checked"),_&&'<span class="dashicons dashicons-yes"></span>'==_&&e(':input[name="seopress_redirections_enabled"]',o).attr("checked","checked"),u&&"404"!=u&&e('select[name="seopress_redirections_type"] option[value="'+u+'"]',o).attr("selected","selected"),e(':input[name="seopress_redirections_value"]',o).val(m)}}})(jQuery);
1
+ !function($){var $wp_inline_edit=inlineEditPost.edit;inlineEditPost.edit=function(id){$wp_inline_edit.apply(this,arguments);var $post_id=0;if("object"==typeof id&&($post_id=parseInt(this.getId(id))),$post_id>0){var $edit_row=$("#edit-"+$post_id),$post_row=$("#post-"+$post_id),$seopress_title=$(".column-seopress_title",$post_row).text(),$seopress_desc=$(".column-seopress_desc",$post_row).text(),$seopress_tkw=$(".column-seopress_tkw",$post_row).text(),$seopress_canonical=$(".column-seopress_canonical",$post_row).text(),$seopress_noindex=$(".column-seopress_noindex",$post_row).html(),$seopress_nofollow=$(".column-seopress_nofollow",$post_row).html(),$seopress_redirections_enable=$(".column-seopress_404_redirect_enable",$post_row).html(),$seopress_redirections_regex_enable=$(".column-seopress_404_redirect_regex_enable",$post_row).html(),$seopress_redirections_type=$(".column-seopress_404_redirect_type",$post_row).text(),$seopress_redirections_value=$(".column-seopress_404_redirect_value",$post_row).text();$(':input[name="seopress_title"]',$edit_row).val($seopress_title),$(':input[name="seopress_desc"]',$edit_row).val($seopress_desc),$(':input[name="seopress_tkw"]',$edit_row).val($seopress_tkw),$(':input[name="seopress_canonical"]',$edit_row).val($seopress_canonical),$seopress_noindex&&$seopress_noindex.includes('<span class="dashicons dashicons-hidden"></span>')&&$(':input[name="seopress_noindex"]',$edit_row).attr("checked","checked"),$seopress_nofollow&&$seopress_nofollow.includes('<span class="dashicons dashicons-yes"></span>')&&$(':input[name="seopress_nofollow"]',$edit_row).attr("checked","checked"),$seopress_redirections_enable&&'<span class="dashicons dashicons-yes"></span>'==$seopress_redirections_enable&&$(':input[name="seopress_redirections_enabled"]',$edit_row).attr("checked","checked"),$seopress_redirections_regex_enable&&'<span class="dashicons dashicons-yes"></span>'==$seopress_redirections_regex_enable&&$(':input[name="seopress_redirections_enabled_regex"]',$edit_row).attr("checked","checked"),$seopress_redirections_type&&"404"!=$seopress_redirections_type&&$('select[name="seopress_redirections_type"] option[value="'+$seopress_redirections_type+'"]',$edit_row).attr("selected","selected"),$(':input[name="seopress_redirections_value"]',$edit_row).val($seopress_redirections_value)}}}(jQuery);
inc/admin/callbacks/InstantIndexing.php CHANGED
@@ -2,6 +2,40 @@
2
 
3
  defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  function seopress_instant_indexing_google_action_callback() {
6
  $options = get_option('seopress_instant_indexing_option_name');
7
 
@@ -44,8 +78,11 @@ function seopress_instant_indexing_manual_batch_callback() {
44
  $check = isset($options['seopress_instant_indexing_manual_batch']) ? esc_attr($options['seopress_instant_indexing_manual_batch']) : null;
45
 
46
  //URLs
47
- $urls = isset($log['log']['urls']) ? $log['log']['urls'] : null;
48
- $date = isset($log['log']['date']) ? $log['log']['date'] : null;
 
 
 
49
 
50
  //Bing
51
  $bing_response = isset($log['bing']['response']) ? $log['bing']['response'] : null;
@@ -82,7 +119,10 @@ esc_html($check));
82
  <p><em><?php echo $date; ?></em></p>
83
 
84
  <?php
85
- if ($bing_response !== null) {
 
 
 
86
  switch ($bing_response['response']['code']) {
87
  case 200:
88
  $msg = __('URLs submitted successfully', 'wp-seopress');
@@ -113,6 +153,7 @@ if ($bing_response !== null) {
113
  <code><?php echo esc_html($msg); ?></code>
114
  </div>
115
  <?php }
 
116
  if (!empty($google_response)) { ?>
117
  <div class="wrap-google-response">
118
  <h4><?php _e('Google Response','wp-seopress'); ?></h4>
@@ -121,6 +162,8 @@ if ($bing_response !== null) {
121
  if ( is_a( $google_response, 'Google\Service\Exception' ) ) {
122
  $error = json_decode($result->getMessage(), true);
123
  echo '<span class="indexing-log indexing-failed"></span><code>' . $error['error']['code'] . ' - ' . $error['error']['message'] . '</code>';
 
 
124
  } else { ?>
125
  <p><span class="indexing-log indexing-done"></span><code><?php _e('URLs submitted successfully', 'wp-seopress'); ?></code></p>
126
  <ul>
2
 
3
  defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
5
+ function seopress_instant_indexing_google_engine_callback()
6
+ {
7
+ $options = get_option('seopress_instant_indexing_option_name');
8
+
9
+ $search_engines = [
10
+ 'google' => 'Google',
11
+ 'bing'=> 'Bing'
12
+ ];
13
+
14
+ if (!empty($search_engines)) {
15
+ foreach ($search_engines as $key => $value) {
16
+ $check = isset($options['engines'][$key]);
17
+ ?>
18
+ <div class="seopress_wrap_single_cpt">
19
+ <label
20
+ for="seopress_instant_indexing_engines[<?php echo $key; ?>]">
21
+ <input
22
+ id="seopress_instant_indexing_engines[<?php echo $key; ?>]"
23
+ name="seopress_instant_indexing_option_name[engines][<?php echo $key; ?>]"
24
+ type="checkbox" <?php if ('1' == $check) { ?>
25
+ checked="yes"
26
+ <?php } ?>
27
+ value="1"/>
28
+ <?php echo $value; ?>
29
+ </label>
30
+ </div>
31
+ <?php
32
+ if (isset($options['engines'][$key])) {
33
+ esc_attr($options['engines'][$key]);
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
  function seopress_instant_indexing_google_action_callback() {
40
  $options = get_option('seopress_instant_indexing_option_name');
41
 
78
  $check = isset($options['seopress_instant_indexing_manual_batch']) ? esc_attr($options['seopress_instant_indexing_manual_batch']) : null;
79
 
80
  //URLs
81
+ $urls = isset($log['log']['urls']) ? $log['log']['urls'] : null;
82
+ $date = isset($log['log']['date']) ? $log['log']['date'] : null;
83
+
84
+ //General errors
85
+ $error = isset($log['error']) ? $log['error'] : null;
86
 
87
  //Bing
88
  $bing_response = isset($log['bing']['response']) ? $log['bing']['response'] : null;
119
  <p><em><?php echo $date; ?></em></p>
120
 
121
  <?php
122
+ if (!empty($error)) { ?>
123
+ <span class="indexing-log indexing-failed"></span><?php echo $error; ?>
124
+ <?php }
125
+ if (!empty($bing_response['response'])) {
126
  switch ($bing_response['response']['code']) {
127
  case 200:
128
  $msg = __('URLs submitted successfully', 'wp-seopress');
153
  <code><?php echo esc_html($msg); ?></code>
154
  </div>
155
  <?php }
156
+
157
  if (!empty($google_response)) { ?>
158
  <div class="wrap-google-response">
159
  <h4><?php _e('Google Response','wp-seopress'); ?></h4>
162
  if ( is_a( $google_response, 'Google\Service\Exception' ) ) {
163
  $error = json_decode($result->getMessage(), true);
164
  echo '<span class="indexing-log indexing-failed"></span><code>' . $error['error']['code'] . ' - ' . $error['error']['message'] . '</code>';
165
+ } elseif (!empty($google_response['error'])) {
166
+ echo '<span class="indexing-log indexing-failed"></span><code>' . $google_response['error']['code'] . ' - ' . $google_response['error']['message'] . '</code>';
167
  } else { ?>
168
  <p><span class="indexing-log indexing-done"></span><code><?php _e('URLs submitted successfully', 'wp-seopress'); ?></code></p>
169
  <ul>
inc/admin/callbacks/Tools.php DELETED
@@ -1,103 +0,0 @@
1
- <?php
2
-
3
- defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
-
5
- function seopress_setting_section_tools_compatibility_oxygen_callback() {
6
- $options = get_option('seopress_tools_option_name');
7
-
8
- $check = isset($options['seopress_setting_section_tools_compatibility_oxygen']);
9
-
10
- echo '<input id="seopress_setting_section_tools_compatibility_oxygen" name="seopress_tools_option_name[seopress_setting_section_tools_compatibility_oxygen]" type="checkbox"';
11
- if ('1' == $check) {
12
- echo 'checked="yes"';
13
- }
14
- echo ' value="1"/>';
15
-
16
- echo '<label for="seopress_setting_section_tools_compatibility_oxygen">' . __('Enable Oxygen Builder compatibility', 'wp-seopress') . '</label>';
17
-
18
- echo '<p class="description">' . __('Enable automatic meta description with <strong>%%oxygen%%</strong> dynamic variable.', 'wp-seopress') . '</p>';
19
-
20
- if (isset($options['seopress_setting_section_tools_compatibility_oxygen'])) {
21
- esc_attr($options['seopress_setting_section_tools_compatibility_oxygen']);
22
- }
23
- }
24
-
25
- function seopress_setting_section_tools_compatibility_divi_callback() {
26
- $options = get_option('seopress_tools_option_name');
27
-
28
- $check = isset($options['seopress_setting_section_tools_compatibility_divi']);
29
-
30
- echo '<input id="seopress_setting_section_tools_compatibility_divi" name="seopress_tools_option_name[seopress_setting_section_tools_compatibility_divi]" type="checkbox"';
31
- if ('1' == $check) {
32
- echo 'checked="yes"';
33
- }
34
- echo ' value="1"/>';
35
-
36
- echo '<label for="seopress_setting_section_tools_compatibility_divi">' . __('Enable Divi Builder compatibility', 'wp-seopress') . '</label>';
37
-
38
- echo '<p class="description">' . __('Enable automatic meta description with <strong>%%divi%%</strong> dynamic variable.', 'wp-seopress') . '</p>';
39
-
40
- if (isset($options['seopress_setting_section_tools_compatibility_divi'])) {
41
- esc_attr($options['seopress_setting_section_tools_compatibility_divi']);
42
- }
43
- }
44
-
45
- function seopress_setting_section_tools_compatibility_bakery_callback() {
46
- $options = get_option('seopress_tools_option_name');
47
-
48
- $check = isset($options['seopress_setting_section_tools_compatibility_bakery']);
49
-
50
- echo '<input id="seopress_setting_section_tools_compatibility_bakery" name="seopress_tools_option_name[seopress_setting_section_tools_compatibility_bakery]" type="checkbox"';
51
- if ('1' == $check) {
52
- echo 'checked="yes"';
53
- }
54
- echo ' value="1"/>';
55
-
56
- echo '<label for="seopress_setting_section_tools_compatibility_bakery">' . __('Enable WP Bakery Builder compatibility', 'wp-seopress') . '</label>';
57
-
58
- echo '<p class="description">' . __('Enable automatic meta description with <strong>%%wpbakery%%</strong> dynamic variable.', 'wp-seopress') . '</p>';
59
-
60
- if (isset($options['seopress_setting_section_tools_compatibility_bakery'])) {
61
- esc_attr($options['seopress_setting_section_tools_compatibility_bakery']);
62
- }
63
- }
64
-
65
- function seopress_setting_section_tools_compatibility_avia_callback() {
66
- $options = get_option('seopress_tools_option_name');
67
-
68
- $check = isset($options['seopress_setting_section_tools_compatibility_avia']);
69
-
70
- echo '<input id="seopress_setting_section_tools_compatibility_avia" name="seopress_tools_option_name[seopress_setting_section_tools_compatibility_avia]" type="checkbox"';
71
- if ('1' == $check) {
72
- echo 'checked="yes"';
73
- }
74
- echo ' value="1"/>';
75
-
76
- echo '<label for="seopress_setting_section_tools_compatibility_avia">' . __('Enable Avia Layout Builder compatibility', 'wp-seopress') . '</label>';
77
-
78
- echo '<p class="description">' . __('Enable automatic meta description with <strong>%%aviabuilder%%</strong> dynamic variable.', 'wp-seopress') . '</p>';
79
-
80
- if (isset($options['seopress_setting_section_tools_compatibility_avia'])) {
81
- esc_attr($options['seopress_setting_section_tools_compatibility_avia']);
82
- }
83
- }
84
-
85
- function seopress_setting_section_tools_compatibility_fusion_callback() {
86
- $options = get_option('seopress_tools_option_name');
87
-
88
- $check = isset($options['seopress_setting_section_tools_compatibility_fusion']);
89
-
90
- echo '<input id="seopress_setting_section_tools_compatibility_fusion" name="seopress_tools_option_name[seopress_setting_section_tools_compatibility_fusion]" type="checkbox"';
91
- if ('1' == $check) {
92
- echo 'checked="yes"';
93
- }
94
- echo ' value="1"/>';
95
-
96
- echo '<label for="seopress_setting_section_tools_compatibility_fusion">' . __('Enable Fusion Builder compatibility', 'wp-seopress') . '</label>';
97
-
98
- echo '<p class="description">' . __('Enable automatic meta description with <strong>%%fusionbuilder%%</strong> dynamic variable.', 'wp-seopress') . '</p>';
99
-
100
- if (isset($options['seopress_setting_section_tools_compatibility_fusion'])) {
101
- esc_attr($options['seopress_setting_section_tools_compatibility_fusion']);
102
- }
103
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.css.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///editor.scss"],"names":[],"mappings":"AAAA;EACE,gBAAgB,EAAE;;AAEpB;EACE,aAAa;EACb,yBAAyB,EAAE;EAC3B;IACE,sBAAsB,EAAE;;AAE5B;;;EAGE,yBAAyB;EACzB,cAAc;EACd,qBAAqB;EACrB,mCAAmC,EAAE;EACrC;;;IAGE,cAAc,EAAE;;AAEpB;EACE,kBAAkB,EAAE","file":"index.css","sourcesContent":[".wpseopress-answer-meta .wp-block-wp-seopress-image .components-button.editor-post-featured-image__preview {\n text-align: left; }\n\n.wpseopress-faq-cta {\n display: flex;\n justify-content: flex-end; }\n .wpseopress-faq-cta .button-link-delete, .wpseopress-faq-cta .button-link-delete:hover {\n border: 1px solid #a00; }\n\n.wpseopress-faqs-list-style button.components-button.is-primary,\n.wpseopress-faqs-title-wrapper button.components-button.is-primary,\n.wpseopress-faqs-image-size button.components-button.is-primary {\n background-color: #007cba;\n color: #ffffff;\n border-color: #007cba;\n box-shadow: inset 0 0 0 1px #007cba; }\n .wpseopress-faqs-list-style button.components-button.is-primary:hover:not(:disabled),\n .wpseopress-faqs-title-wrapper button.components-button.is-primary:hover:not(:disabled),\n .wpseopress-faqs-image-size button.components-button.is-primary:hover:not(:disabled) {\n color: #ffffff; }\n\n.components-panel__body > p {\n margin: 15px 0 0 0; }\n"],"sourceRoot":""}
 
inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./src/edit.js","webpack:///./src/editor.scss","webpack:///./src/image-control.js","webpack:///./src/index.js","webpack:///external {\"this\":[\"wp\",\"blockEditor\"]}","webpack:///external {\"this\":[\"wp\",\"blocks\"]}","webpack:///external {\"this\":[\"wp\",\"components\"]}","webpack:///external {\"this\":[\"wp\",\"element\"]}","webpack:///external {\"this\":[\"wp\",\"i18n\"]}"],"names":["wp","element","Component","Fragment","i18n","__","_x","compose","withSelect","data","WPSeopress_FAQ","props","attributes","listStyle","titleWrapper","imageSize","showFAQScheme","showFAQs","faqs","map","faq","i","question","value","handleQuestionChange","image","handleImageChange","onRemoveImage","answer","handleAnswerChange","removeFAQ","addFAQ","setAttributes","filter","item","key","inspectorControls","e","preventDefault","select","getMedia","selectedImageId","selectedImage","window","components","Spinner","Button","ResponsiveWrapper","ALLOWED_MEDIA_TYPES","ImageControl","onUpdateImage","onSelect","id","index","getImageSize","imgSize","undefined","source_url","guid","raw","media_details","sizes","thumbnail","medium","large","medium_large","full","error","instructions","open","ownProps","registerBlockType","title","icon","category","example","edit","save"],"mappings":";;;;;;;;;;;;;;;;QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;ACvJA;AACA;;AAEA,wCAAwC,SAAS;AACjD;AACA;;AAEA;AACA;;AAEA,mC;;;;;;;;;;;ACVA,uBAAuB,mBAAO,CAAC,qFAAoB;;AAEnD;AACA;AACA;;AAEA,oC;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA,iC;;;;;;;;;;;ACfA;AACA;AACA;;AAEA,kC;;;;;;;;;;;ACJA;AACA;AACA;;AAEA,oC;;;;;;;;;;;ACJA,wBAAwB,mBAAO,CAAC,uFAAqB;;AAErD,sBAAsB,mBAAO,CAAC,mFAAmB;;AAEjD,iCAAiC,mBAAO,CAAC,yGAA8B;;AAEvE,wBAAwB,mBAAO,CAAC,uFAAqB;;AAErD;AACA;AACA;;AAEA,oC;;;;;;;;;;;ACZA,uBAAuB,mBAAO,CAAC,qFAAoB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBCXgCA,EAAE,CAACC,O;IAA3BC,S,eAAAA,S;IAAWC,Q,eAAAA,Q;AAEnB;eAQmBH,EAAE,CAACI,I;IAAdC,E,YAAAA,E;IAAIC,E,YAAAA,E;AAEZ;AACA;IAEQC,O,GAAYP,EAAE,CAACO,O,CAAfA,O;IACAC,U,GAAeR,EAAE,CAACS,I,CAAlBD,U;;AAER,SAASE,cAAT,CAAwBC,KAAxB,EAA+B;AAAA,MACnBC,UADmB,GACJD,KADI,CACnBC,UADmB;AAAA,MAEnBC,SAFmB,GAEmCD,UAFnC,CAEnBC,SAFmB;AAAA,MAERC,YAFQ,GAEmCF,UAFnC,CAERE,YAFQ;AAAA,MAEMC,SAFN,GAEmCH,UAFnC,CAEMG,SAFN;AAAA,MAEiBC,aAFjB,GAEmCJ,UAFnC,CAEiBI,aAFjB;;AAI3B,MAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACnB,WACKL,UAAU,CAACC,SAAX,KAAyB,MAAzB,IACGD,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMC,CAAN;AAAA,aAChB;AAAK,WAAG,EAAEA,CAAV;AAAa,iBAAS,EAAC;AAAvB,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,yEAAC,gEAAD;AACI,eAAO,EAAET,UAAU,CAACE,YADxB;AAEI,iBAAS,EAAC,yBAFd;AAGI,mBAAW,EAAET,EAAE,CAAC,aAAD,EAAgB,aAAhB,CAHnB;AAII,aAAK,EAAE,CAAC,CAACe,GAAF,GAAQA,GAAG,CAACE,QAAZ,GAAuB,EAJlC;AAKI,gBAAQ,EAAE,kBAACC,KAAD;AAAA,iBACNC,oBAAoB,CAACD,KAAD,EAAQF,CAAR,CADd;AAAA;AALd,QADJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI,yEAAC,sDAAD;AACI,aAAK,EAAE,CAAC,CAACD,GAAF,GAAQA,GAAG,CAACK,KAAZ,GAAoB,EAD/B;AAEI,gBAAQ,EAAEC,iBAFd;AAGI,qBAAa,EAAEC,aAHnB;AAII,iBAAS,EAAEf,UAAU,CAACG,SAJ1B;AAKI,aAAK,EAAEM;AALX,QADJ,EAQI,yEAAC,gEAAD;AACI,eAAO,EAAC,GADZ;AAEI,iBAAS,EAAC,uBAFd;AAGI,mBAAW,EAAEhB,EAAE,CAAC,WAAD,EAAc,aAAd,CAHnB;AAII,aAAK,EAAE,CAAC,CAACe,GAAF,GAAQA,GAAG,CAACQ,MAAZ,GAAqB,EAJhC;AAKI,gBAAQ,EAAE,kBAACL,KAAD;AAAA,iBACNM,kBAAkB,CAACN,KAAD,EAAQF,CAAR,CADZ;AAAA;AALd,QARJ,CAVJ,CADJ,EA8BI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,2BADd;AAEI,aAAK,EAAEhB,EAAE,CAAC,QAAD,EAAW,aAAX,CAFb;AAGI,eAAO,EAAE;AAAA,iBAAMyB,SAAS,CAACT,CAAD,CAAf;AAAA;AAHb,SAKKhB,EAAE,CAAC,QAAD,EAAW,aAAX,CALP,CADJ,CA9BJ,CADgB;AAAA,KAApB,CADJ,IA2CC,CAACO,UAAU,CAACC,SAAX,KAAyB,IAAzB,IAAiCD,UAAU,CAACC,SAAX,KAAyB,IAA3D,KACGD,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMC,CAAN;AAAA,aAChB;AAAI,WAAG,EAAEA,CAAT;AAAY,iBAAS,EAAC;AAAtB,SACI;AAAK,iBAAS,EAAC;AAAf,SACI,yEAAC,gEAAD;AACI,eAAO,EAAET,UAAU,CAACE,YADxB;AAEI,iBAAS,EAAC,yBAFd;AAGI,mBAAW,EAAET,EAAE,CAAC,aAAD,EAAgB,aAAhB,CAHnB;AAII,aAAK,EAAE,CAAC,CAACe,GAAF,GAAQA,GAAG,CAACE,QAAZ,GAAuB,EAJlC;AAKI,gBAAQ,EAAE,kBAACC,KAAD;AAAA,iBACNC,oBAAoB,CAACD,KAAD,EAAQF,CAAR,CADd;AAAA;AALd,QADJ,EAUI;AAAK,iBAAS,EAAC;AAAf,SACI,yEAAC,sDAAD;AACI,aAAK,EAAE,CAAC,CAACD,GAAF,GAAQA,GAAG,CAACK,KAAZ,GAAoB,EAD/B;AAEI,gBAAQ,EAAEC,iBAFd;AAGI,qBAAa,EAAEC,aAHnB;AAII,iBAAS,EAAEf,UAAU,CAACG,SAJ1B;AAKI,aAAK,EAAEM;AALX,QADJ,EAQI,yEAAC,gEAAD;AACI,eAAO,EAAC,KADZ;AAEI,iBAAS,EAAC,uBAFd;AAGI,mBAAW,EAAEhB,EAAE,CAAC,WAAD,EAAc,aAAd,CAHnB;AAII,aAAK,EAAE,CAAC,CAACe,GAAF,GAAQA,GAAG,CAACQ,MAAZ,GAAqB,EAJhC;AAKI,gBAAQ,EAAE,kBAACL,KAAD;AAAA,iBACNM,kBAAkB,CAACN,KAAD,EAAQF,CAAR,CADZ;AAAA;AALd,QARJ,CAVJ,CADJ,EA8BI;AAAK,iBAAS,EAAC;AAAf,SACI;AACI,iBAAS,EAAC,2BADd;AAEI,aAAK,EAAEhB,EAAE,CAAC,QAAD,EAAW,aAAX,CAFb;AAGI,eAAO,EAAE;AAAA,iBAAMyB,SAAS,CAACT,CAAD,CAAf;AAAA;AAHb,SAKKhB,EAAE,CAAC,QAAD,EAAW,aAAX,CALP,CADJ,CA9BJ,CADgB;AAAA,KAApB,CA7CR,CADmB,CAwFjB;AACL,GAzFD;;AA2FA,MAAM0B,MAAM,GAAG,SAATA,MAAS,GAAM;AACjBpB,SAAK,CAACqB,aAAN,CAAoB;AAChBd,UAAI,4FAAMN,UAAU,CAACM,IAAjB,IAAuB;AAAEI,gBAAQ,EAAE,EAAZ;AAAgBM,cAAM,EAAE,EAAxB;AAA4BH,aAAK,EAAE;AAAnC,OAAvB;AADY,KAApB;AAGH,GAJD;;AAMA,MAAMK,SAAS,GAAG,SAAZA,SAAY,CAACT,CAAD,EAAO;AACrB,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBe,MAAhB,CAAuB,UAACC,IAAD,EAAOC,GAAP;AAAA,aAAeA,GAAG,KAAKd,CAAvB;AAAA,KAAvB,CAAb;AACAV,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAHD;;AAKA,MAAMM,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACD,KAAD,EAAQF,CAAR,EAAc;AACvC,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMe,GAAN,EAAc;AAC3C,UAAIA,GAAG,KAAKd,CAAZ,EAAe;AACX,eAAOD,GAAP;AACH;;AAED,6CACOA,GADP;AAEIE,gBAAQ,EAAEC;AAFd;AAIH,KATY,CAAb;AAUAZ,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAZD;;AAcA,MAAMW,kBAAkB,GAAG,SAArBA,kBAAqB,CAACN,KAAD,EAAQF,CAAR,EAAc;AACrC,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMe,GAAN,EAAc;AAC3C,UAAIA,GAAG,KAAKd,CAAZ,EAAe;AACX,eAAOD,GAAP;AACH;;AAED,6CACOA,GADP;AAEIQ,cAAM,EAAEL;AAFZ;AAIH,KATY,CAAb;AAWAZ,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAbD;;AAeA,MAAMQ,iBAAiB,GAAG,SAApBA,iBAAoB,CAACH,KAAD,EAAQF,CAAR,EAAc;AACpC,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMe,GAAN,EAAc;AAC3C,UAAIA,GAAG,KAAKd,CAAZ,EAAe;AACX,eAAOD,GAAP;AACH;;AAED,6CACOA,GADP;AAEIK,aAAK,EAAEF;AAFX;AAIH,KATY,CAAb;AAWAZ,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAbD;;AAeA,MAAMS,aAAa,GAAG,SAAhBA,aAAgB,CAACN,CAAD,EAAO;AACzB,QAAMH,IAAI,GAAGN,UAAU,CAACM,IAAX,CAAgBC,GAAhB,CAAoB,UAACC,GAAD,EAAMe,GAAN,EAAc;AAC3C,UAAIA,GAAG,KAAKd,CAAZ,EAAe;AACX,eAAOD,GAAP;AACH;;AAED,6CACOA,GADP;AAEIK,aAAK,EAAE;AAFX;AAIH,KATY,CAAb;AAUAd,SAAK,CAACqB,aAAN,CAAoB;AAAEd,UAAI,EAAEA;AAAR,KAApB;AACH,GAZD;;AAcA,MAAMkB,iBAAiB,GACnB,yEAAC,yEAAD,QACI,yEAAC,+DAAD;AAAW,SAAK,EAAE/B,EAAE,CAAC,cAAD,EAAiB,aAAjB;AAApB,KACI,oFAAIA,EAAE,CAAC,YAAD,EAAe,aAAf,CAAN,CADJ,EAEI,yEAAC,8DAAD;AAAU,aAAS,EAAC;AAApB,KACI,yEAAC,iEAAD,QACI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,UAAUQ,SAAV,GAAsB,IAAtB,GAA6B,KAF5C;AAGI,WAAO,EAAE,iBAACwB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBnB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKP,EAAE,CAAC,MAAD,EAAS,cAAT,EAAyB,aAAzB,CATP,CADJ,EAYI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQO,SAAR,GAAoB,IAApB,GAA2B,KAF1C;AAGI,WAAO,EAAE,iBAACwB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBnB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKP,EAAE,CAAC,IAAD,EAAO,eAAP,EAAwB,aAAxB,CATP,CAZJ,EAuBI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQO,SAAR,GAAoB,IAApB,GAA2B,KAF1C;AAGI,WAAO,EAAE,iBAACwB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBnB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKP,EAAE,CAAC,IAAD,EAAO,gBAAP,EAAyB,aAAzB,CATP,CAvBJ,CADJ,CAFJ,EAuCI,oFAAID,EAAE,CAAC,eAAD,EAAkB,aAAlB,CAAN,CAvCJ,EAwCI,yEAAC,8DAAD;AAAU,aAAS,EAAC;AAApB,KACI,yEAAC,iEAAD,QACI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQS,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CADJ,EAYI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQQ,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CAZJ,EAuBI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQQ,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CAvBJ,EAkCI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQQ,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CAlCJ,EA6CI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,QAAQQ,YAAR,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,IAAD,EAAO,cAAP,EAAuB,aAAvB,CATP,CA7CJ,EAwDI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,OAAOQ,YAAP,GAAsB,IAAtB,GAA6B,KAF5C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,GAAD,EAAM,aAAN,EAAqB,aAArB,CATP,CAxDJ,EAmEI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,SAASQ,YAAT,GAAwB,IAAxB,GAA+B,KAF9C;AAGI,WAAO,EAAE,iBAACuB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBlB,oBAAY,EAAE;AADE,OAApB;AAGH;AAPL,KASKR,EAAE,CAAC,KAAD,EAAQ,eAAR,EAAyB,aAAzB,CATP,CAnEJ,CADJ,CAxCJ,EAyHI,oFAAID,EAAE,CAAC,YAAD,EAAe,aAAf,CAAN,CAzHJ,EA0HI,yEAAC,8DAAD;AAAU,aAAS,EAAC;AAApB,KACI,yEAAC,iEAAD,QACI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,eAAeU,SAAf,GAA2B,IAA3B,GAAkC,KAFjD;AAGI,WAAO,EAAE,iBAACsB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBjB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKT,EAAE,CAAC,GAAD,EAAM,gBAAN,EAAwB,aAAxB,CATP,CADJ,EAYI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,YAAYS,SAAZ,GAAwB,IAAxB,GAA+B,KAF9C;AAGI,WAAO,EAAE,iBAACsB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBjB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKT,EAAE,CAAC,GAAD,EAAM,aAAN,EAAqB,aAArB,CATP,CAZJ,EAuBI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,WAAWS,SAAX,GAAuB,IAAvB,GAA8B,KAF7C;AAGI,WAAO,EAAE,iBAACsB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBjB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKT,EAAE,CAAC,GAAD,EAAM,YAAN,EAAoB,aAApB,CATP,CAvBJ,EAkCI,yEAAC,4DAAD;AACI,eAAW,MADf;AAEI,aAAS,EAAE,UAAUS,SAAV,GAAsB,IAAtB,GAA6B,KAF5C;AAGI,WAAO,EAAE,iBAACsB,CAAD,EAAO;AACZ1B,WAAK,CAACqB,aAAN,CAAoB;AAChBjB,iBAAS,EAAE;AADK,OAApB;AAGH;AAPL,KASKT,EAAE,CAAC,IAAD,EAAO,eAAP,EAAwB,aAAxB,CATP,CAlCJ,CADJ,CA1HJ,EA0KI,oFAAID,EAAE,CAAC,cAAD,EAAiB,aAAjB,CAAN,CA1KJ,EA2KI,yEAAC,8DAAD,QACI,yEAAC,mEAAD;AACI,SAAK,EAAEA,EAAE,CAAC,mBAAD,EAAsB,aAAtB,CADb;AAEI,WAAO,EAAE,CAAC,CAACW,aAFf;AAGI,YAAQ,EAAE,kBAACqB,CAAD,EAAO;AACb1B,WAAK,CAACqB,aAAN,CAAoB;AAChBhB,qBAAa,EAAE,CAACA;AADA,OAApB;AAGH;AAPL,IADJ,CA3KJ,CADJ,CADJ;AA4LA,SACI,yEAAC,QAAD,QACKoB,iBADL,EAEI;AAAK,aAAS,EAAC;AAAf,KACKvB,SAAS,KAAK,IAAd,IAAsB,qFAAKI,QAAQ,EAAb,CAD3B,EAEKJ,SAAS,KAAK,IAAd,IAAsB,qFAAKI,QAAQ,EAAb,CAF3B,EAGKJ,SAAS,KAAK,MAAd,IAAwBI,QAAQ,EAHrC,EAII;AAAK,aAAS,EAAC;AAAf,KACI;AACI,QAAI,EAAC,QADT;AAEI,SAAK,EAAEZ,EAAE,CAAC,SAAD,EAAY,aAAZ,CAFb;AAGI,aAAS,EAAC,gCAHd;AAII,WAAO,EAAE,iBAACgC,CAAD,EAAO;AACZA,OAAC,CAACC,cAAF;AACAP,YAAM;AACT;AAPL,KASK1B,EAAE,CAAC,SAAD,EAAY,aAAZ,CATP,CADJ,CAJJ,CAFJ,CADJ;AAuBH;;AAEcE,sEAAO,CAClBC,UAAU,CAAC,UAAC+B,MAAD,QAA4B;AAAA,MAAjB3B,UAAiB,QAAjBA,UAAiB;;AAAA,gBACd2B,MAAM,CAAC,MAAD,CADQ;AAAA,MAC3BC,QAD2B,WAC3BA,QAD2B;;AAAA,MAE3BC,eAF2B,GAEP7B,UAFO,CAE3B6B,eAF2B;AAInC,SAAO;AACHC,iBAAa,EAAED,eAAe,GAAGD,QAAQ,CAACC,eAAD,CAAX,GAA+B;AAD1D,GAAP;AAGH,CAPS,CADQ,CAAP,CASb/B,cATa,CAAf,E;;;;;;;;;;;AC3YA,uC;;;;;;;;;;;;;;;;;;ACAA,IAAMV,EAAE,GAAG2C,MAAM,CAAC3C,EAAlB;IACQQ,U,GAAeR,EAAE,CAACS,I,CAAlBD,U;IACAN,S,GAAcF,EAAE,CAACC,O,CAAjBC,S;AACR;qBAC+CF,EAAE,CAAC4C,U;IAA1CC,O,kBAAAA,O;IAASC,M,kBAAAA,M;IAAQC,iB,kBAAAA,iB;IACjBxC,O,GAAYP,EAAE,CAACO,O,CAAfA,O;IACAF,E,GAAOL,EAAE,CAACI,I,CAAVC,E;AAER,IAAM2C,mBAAmB,GAAG,CAAC,OAAD,CAA5B;;AAEA,SAASC,YAAT,CAAsBtC,KAAtB,EAA6B;AAAA,MACjBY,KADiB,GACAZ,KADA,CACjBY,KADiB;AAAA,MACVE,KADU,GACAd,KADA,CACVc,KADU;;AAGzB,MAAMyB,aAAa,GAAG,SAAhBA,aAAgB,CAACzB,KAAD,EAAW;AAC7Bd,SAAK,CAACwC,QAAN,CAAe1B,KAAK,CAAC2B,EAArB,EAAyBzC,KAAK,CAAC0C,KAA/B;AACH,GAFD;;AAIA,MAAM1B,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AACxBhB,SAAK,CAACgB,aAAN,CAAoBhB,KAAK,CAAC0C,KAA1B;AACH,GAFD;;AAIA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAAC7B,KAAD,EAAW;AAC5B,QAAI8B,OAAO,GAAG,IAAd;;AAEA,QAAI;AACA,UAAIC,SAAS,IAAI/B,KAAjB,EAAwB;AACpB8B,eAAO,GAAG,EAAV;AACAA,eAAO,CAACE,UAAR,GAAqBhC,KAAK,CAACiC,IAAN,CAAWC,GAAhC;;AAEA,YAAIH,SAAS,IAAI/B,KAAK,CAACmC,aAAN,CAAoBC,KAArC,EAA4C;AACxCN,iBAAO,GAAG,IAAV;;AACA,kBAAQ5C,KAAK,CAACI,SAAd;AACI,iBAAK,WAAL;AACIwC,qBAAO,GACHC,SAAS,IAAI/B,KAAb,GACMA,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BC,SADhC,GAEM,IAHV;AAIA;;AACJ,iBAAK,QAAL;AACIP,qBAAO,GACHC,SAAS,IAAI/B,KAAb,GACMA,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BE,MADhC,GAEM,IAHV;AAIA;;AACJ,iBAAK,OAAL;AACIR,qBAAO,GACHC,SAAS,IAAI/B,KAAb,GACM+B,SAAS,IACT/B,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BG,KAD1B,GAEIvC,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BG,KAF9B,GAGIvC,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BI,YAJpC,GAKM,IANV;AAOA;;AACJ;AACIV,qBAAO,GACHC,SAAS,IAAI/B,KAAb,GACMA,KAAK,CAACmC,aAAN,CAAoBC,KAApB,CAA0BK,IADhC,GAEM,IAHV;AAvBR;AA4BH;AACJ;;AACD,aAAOX,OAAP;AACH,KAtCD,CAsCE,OAAOY,KAAP,EAAc;AACZ,aAAOZ,OAAP;AACH;AACJ,GA5CD;;AA8CA,MAAMa,YAAY,GACd,oFACK/D,EAAE,CACC,oEADD,EAEC,aAFD,CADP,CADJ;AASA,SACI;AAAK,aAAS,EAAC;AAAf,KACI,yEAAC,wEAAD;AAAkB,YAAQ,EAAE+D;AAA5B,KACI,yEAAC,mEAAD;AACI,SAAK,EAAE/D,EAAE,CAAC,WAAD,EAAc,aAAd,CADb;AAEI,YAAQ,EAAE6C,aAFd;AAGI,gBAAY,EAAEF,mBAHlB;AAII,SAAK,EAAEzB,KAJX;AAKI,UAAM,EAAE,sBAAc;AAAA,UAAX8C,IAAW,QAAXA,IAAW;AAClB,UAAMtD,SAAS,GAAGuC,YAAY,CAAC7B,KAAD,CAA9B;AACA,aACI,yEAAC,MAAD;AACI,iBAAS,EACL,CAACF,KAAD,GACM,oCADN,GAEM,qCAJd;AAMI,eAAO,EAAE8C;AANb,SAQK,CAAC9C,KAAD,IAAUlB,EAAE,CAAC,WAAD,EAAc,aAAd,CARjB,EASK,CAAC,CAACkB,KAAF,IAAW,CAACE,KAAZ,IAAqB,yEAAC,OAAD,OAT1B,EAUK,CAAC,CAACF,KAAF,IACGE,KADH,IAEGV,SAFH,IAGGA,SAAS,CAAC0C,UAHb,IAIO;AACI,WAAG,EAAE1C,SAAS,CAAC0C,UADnB;AAEI,WAAG,EAAEpD,EAAE,CAAC,WAAD,EAAc,aAAd;AAFX,QAdZ,CADJ;AAsBH;AA7BL,IADJ,CADJ,EAkCK,CAAC,CAACkB,KAAF,IACG,yEAAC,wEAAD,QACI,yEAAC,MAAD;AAAQ,WAAO,EAAEI,aAAjB;AAAgC,UAAM,MAAtC;AAAuC,iBAAa;AAApD,KACKtB,EAAE,CAAC,cAAD,EAAiB,aAAjB,CADP,CADJ,CAnCR,CADJ;AA4CH;;AAEcE,sEAAO,CAClBC,UAAU,CAAC,UAAC+B,MAAD,EAAS+B,QAAT,EAAsB;AAC7B,SAAO;AACH7C,SAAK,EAAE6C,QAAQ,CAAC/C,KAAT,GACDgB,MAAM,CAAC,MAAD,CAAN,CAAeC,QAAf,CAAwB8B,QAAQ,CAAC/C,KAAjC,CADC,GAED;AAHH,GAAP;AAKH,CANS,CADQ,CAAP,CAQb0B,YARa,CAAf,E;;;;;;;;;;;;AC1HA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEAsB,2EAAiB,CAAC,sBAAD,EAAyB;AACtCC,OAAK,EAAEnE,0DAAE,CAAC,KAAD,EAAQ,aAAR,CAD6B;AAEtCoE,MAAI,EAAE,YAFgC;AAGtCC,UAAQ,EAAE,YAH4B;AAItCC,SAAO,EAAE,EAJ6B;AAKtCC,MAAI,EAAEA,6CALgC;AAMtCC,MANsC,kBAM/B;AACH,WAAO,IAAP;AACH;AARqC,CAAzB,CAAjB,C;;;;;;;;;;;ACNA,aAAa,4CAA4C,EAAE,I;;;;;;;;;;;ACA3D,aAAa,uCAAuC,EAAE,I;;;;;;;;;;;ACAtD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,qCAAqC,EAAE,I","file":"index.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./src/index.js\",\"style-index\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","const { Component, Fragment } = wp.element\n\nimport {\n PanelBody,\n Button,\n ButtonGroup,\n PanelRow,\n ToggleControl,\n} from '@wordpress/components'\n\nconst { __, _x } = wp.i18n\n\nimport { RichText, InspectorControls } from '@wordpress/block-editor'\nimport ImageControl from './image-control'\n\nconst { compose } = wp.compose\nconst { withSelect } = wp.data\n\nfunction WPSeopress_FAQ(props) {\n const { attributes } = props\n const { listStyle, titleWrapper, imageSize, showFAQScheme } = attributes\n\n const showFAQs = () => {\n return (\n (attributes.listStyle === 'none' &&\n attributes.faqs.map((faq, i) => (\n <div key={i} className=\"wpseopress-faqs-area\">\n <div className=\"wpseopress-faq\">\n <RichText\n tagName={attributes.titleWrapper}\n className=\"wpseopress-faq-question\"\n placeholder={__('Question...', 'wp-seopress')}\n value={!!faq ? faq.question : ''}\n onChange={(value) =>\n handleQuestionChange(value, i)\n }\n />\n <div className=\"wpseopress-answer-meta\">\n <ImageControl\n value={!!faq ? faq.image : ''}\n onSelect={handleImageChange}\n onRemoveImage={onRemoveImage}\n imageSize={attributes.imageSize}\n index={i}\n />\n <RichText\n tagName=\"p\"\n className=\"wpseopress-faq-answer\"\n placeholder={__('Answer...', 'wp-seopress')}\n value={!!faq ? faq.answer : ''}\n onChange={(value) =>\n handleAnswerChange(value, i)\n }\n />\n </div>\n </div>\n <div className=\"wpseopress-faq-cta\">\n <button\n className=\"button button-link-delete\"\n value={__('Remove', 'wp-seopress')}\n onClick={() => removeFAQ(i)}\n >\n {__('Remove', 'wp-seopress')}\n </button>\n </div>\n </div>\n ))) ||\n ((attributes.listStyle === 'ul' || attributes.listStyle === 'ol') &&\n attributes.faqs.map((faq, i) => (\n <li key={i} className=\"wpseopress-faqs-area\">\n <div className=\"wpseopress-faq\">\n <RichText\n tagName={attributes.titleWrapper}\n className=\"wpseopress-faq-question\"\n placeholder={__('Question...', 'wp-seopress')}\n value={!!faq ? faq.question : ''}\n onChange={(value) =>\n handleQuestionChange(value, i)\n }\n />\n <div className=\"wpseopress-answer-meta\">\n <ImageControl\n value={!!faq ? faq.image : ''}\n onSelect={handleImageChange}\n onRemoveImage={onRemoveImage}\n imageSize={attributes.imageSize}\n index={i}\n />\n <RichText\n tagName=\"div\"\n className=\"wpseopress-faq-answer\"\n placeholder={__('Answer...', 'wp-seopress')}\n value={!!faq ? faq.answer : ''}\n onChange={(value) =>\n handleAnswerChange(value, i)\n }\n />\n </div>\n </div>\n <div className=\"wpseopress-faq-cta\">\n <button\n className=\"button button-link-delete\"\n value={__('Remove', 'wp-seopress')}\n onClick={() => removeFAQ(i)}\n >\n {__('Remove', 'wp-seopress')}\n </button>\n </div>\n </li>\n )))\n ) // End return\n }\n\n const addFAQ = () => {\n props.setAttributes({\n faqs: [...attributes.faqs, { question: '', answer: '', image: '' }],\n })\n }\n\n const removeFAQ = (i) => {\n const faqs = attributes.faqs.filter((item, key) => key !== i)\n props.setAttributes({ faqs: faqs })\n }\n\n const handleQuestionChange = (value, i) => {\n const faqs = attributes.faqs.map((faq, key) => {\n if (key !== i) {\n return faq\n }\n\n return {\n ...faq,\n question: value,\n }\n })\n props.setAttributes({ faqs: faqs })\n }\n\n const handleAnswerChange = (value, i) => {\n const faqs = attributes.faqs.map((faq, key) => {\n if (key !== i) {\n return faq\n }\n\n return {\n ...faq,\n answer: value,\n }\n })\n\n props.setAttributes({ faqs: faqs })\n }\n\n const handleImageChange = (value, i) => {\n const faqs = attributes.faqs.map((faq, key) => {\n if (key !== i) {\n return faq\n }\n\n return {\n ...faq,\n image: value,\n }\n })\n\n props.setAttributes({ faqs: faqs })\n }\n\n const onRemoveImage = (i) => {\n const faqs = attributes.faqs.map((faq, key) => {\n if (key !== i) {\n return faq\n }\n\n return {\n ...faq,\n image: null,\n }\n })\n props.setAttributes({ faqs: faqs })\n }\n\n const inspectorControls = (\n <InspectorControls>\n <PanelBody title={__('FAQ Settings', 'wp-seopress')}>\n <p>{__('List Style', 'wp-seopress')}</p>\n <PanelRow className=\"wpseopress-faqs-list-style\">\n <ButtonGroup>\n <Button\n isSecondary\n isPrimary={'none' == listStyle ? true : false}\n onClick={(e) => {\n props.setAttributes({\n listStyle: 'none',\n })\n }}\n >\n {_x('NONE', 'Div tag List', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'ol' == listStyle ? true : false}\n onClick={(e) => {\n props.setAttributes({\n listStyle: 'ol',\n })\n }}\n >\n {_x('OL', 'Numbered List', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'ul' == listStyle ? true : false}\n onClick={(e) => {\n props.setAttributes({\n listStyle: 'ul',\n })\n }}\n >\n {_x('UL', 'Unordered List', 'wp-seopress')}\n </Button>\n </ButtonGroup>\n </PanelRow>\n <p>{__('Title Wrapper', 'wp-seopress')}</p>\n <PanelRow className=\"wpseopress-faqs-title-wrapper\">\n <ButtonGroup>\n <Button\n isSecondary\n isPrimary={'h2' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h2',\n })\n }}\n >\n {_x('H2', 'H2 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'h3' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h3',\n })\n }}\n >\n {_x('H3', 'H3 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'h4' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h4',\n })\n }}\n >\n {_x('H4', 'H4 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'h5' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h5',\n })\n }}\n >\n {_x('H5', 'H5 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'h6' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'h6',\n })\n }}\n >\n {_x('H6', 'H6 title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'p' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'p',\n })\n }}\n >\n {_x('P', 'P title tag', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'div' == titleWrapper ? true : false}\n onClick={(e) => {\n props.setAttributes({\n titleWrapper: 'div',\n })\n }}\n >\n {_x('DIV', 'DIV title tag', 'wp-seopress')}\n </Button>\n </ButtonGroup>\n </PanelRow>\n <p>{__('Image Size', 'wp-seopress')}</p>\n <PanelRow className=\"wpseopress-faqs-image-size\">\n <ButtonGroup>\n <Button\n isSecondary\n isPrimary={'thumbnail' == imageSize ? true : false}\n onClick={(e) => {\n props.setAttributes({\n imageSize: 'thumbnail',\n })\n }}\n >\n {_x('S', 'Thubmnail Size', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'medium' == imageSize ? true : false}\n onClick={(e) => {\n props.setAttributes({\n imageSize: 'medium',\n })\n }}\n >\n {_x('M', 'Medium Size', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'large' == imageSize ? true : false}\n onClick={(e) => {\n props.setAttributes({\n imageSize: 'large',\n })\n }}\n >\n {_x('L', 'Large Size', 'wp-seopress')}\n </Button>\n <Button\n isSecondary\n isPrimary={'full' == imageSize ? true : false}\n onClick={(e) => {\n props.setAttributes({\n imageSize: 'full',\n })\n }}\n >\n {_x('XL', 'Original Size', 'wp-seopress')}\n </Button>\n </ButtonGroup>\n </PanelRow>\n <p>{__('SEO Settings', 'wp-seopress')}</p>\n <PanelRow>\n <ToggleControl\n label={__('Enable FAQ Schema', 'wp-seopress')}\n checked={!!showFAQScheme}\n onChange={(e) => {\n props.setAttributes({\n showFAQScheme: !showFAQScheme,\n })\n }}\n />\n </PanelRow>\n </PanelBody>\n </InspectorControls>\n )\n\n return (\n <Fragment>\n {inspectorControls}\n <div className=\"wpseopress-faqs\">\n {listStyle === 'ul' && <ul>{showFAQs()}</ul>}\n {listStyle === 'ol' && <ol>{showFAQs()}</ol>}\n {listStyle === 'none' && showFAQs()}\n <div className=\"wpseopress-faqs-actions\">\n <button\n type=\"button\"\n title={__('Add FAQ', 'wp-seopress')}\n className=\"add-faq button button-link-add\"\n onClick={(e) => {\n e.preventDefault()\n addFAQ()\n }}\n >\n {__('Add FAQ', 'wp-seopress')}\n </button>\n </div>\n </div>\n </Fragment>\n )\n}\n\nexport default compose(\n withSelect((select, { attributes }) => {\n const { getMedia } = select('core')\n const { selectedImageId } = attributes\n\n return {\n selectedImage: selectedImageId ? getMedia(selectedImageId) : 0,\n }\n })\n)(WPSeopress_FAQ)\n","// extracted by mini-css-extract-plugin","const wp = window.wp\nconst { withSelect } = wp.data\nconst { Component } = wp.element\nimport { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor'\nconst { Spinner, Button, ResponsiveWrapper } = wp.components\nconst { compose } = wp.compose\nconst { __ } = wp.i18n\n\nconst ALLOWED_MEDIA_TYPES = ['image']\n\nfunction ImageControl(props) {\n const { value, image } = props\n\n const onUpdateImage = (image) => {\n props.onSelect(image.id, props.index)\n }\n\n const onRemoveImage = () => {\n props.onRemoveImage(props.index)\n }\n\n const getImageSize = (image) => {\n let imgSize = null\n\n try {\n if (undefined != image) {\n imgSize = {}\n imgSize.source_url = image.guid.raw\n\n if (undefined != image.media_details.sizes) {\n imgSize = null\n switch (props.imageSize) {\n case 'thumbnail':\n imgSize =\n undefined != image\n ? image.media_details.sizes.thumbnail\n : null\n break\n case 'medium':\n imgSize =\n undefined != image\n ? image.media_details.sizes.medium\n : null\n break\n case 'large':\n imgSize =\n undefined != image\n ? undefined !=\n image.media_details.sizes.large\n ? image.media_details.sizes.large\n : image.media_details.sizes.medium_large\n : null\n break\n default:\n imgSize =\n undefined != image\n ? image.media_details.sizes.full\n : null\n }\n }\n }\n return imgSize\n } catch (error) {\n return imgSize\n }\n }\n\n const instructions = (\n <p>\n {__(\n 'To edit the background image, you need permission to upload media.',\n 'wp-seopress'\n )}\n </p>\n )\n\n return (\n <div className=\"wp-block-wp-seopress-image\">\n <MediaUploadCheck fallback={instructions}>\n <MediaUpload\n title={__('Set Image', 'wp-seopress')}\n onSelect={onUpdateImage}\n allowedTypes={ALLOWED_MEDIA_TYPES}\n value={value}\n render={({ open }) => {\n const imageSize = getImageSize(image)\n return (\n <Button\n className={\n !value\n ? 'editor-post-featured-image__toggle'\n : 'editor-post-featured-image__preview'\n }\n onClick={open}\n >\n {!value && __('Set Image', 'wp-seopress')}\n {!!value && !image && <Spinner />}\n {!!value &&\n image &&\n imageSize &&\n imageSize.source_url && (\n <img\n src={imageSize.source_url}\n alt={__('Set Image', 'wp-seopress')}\n />\n )}\n </Button>\n )\n }}\n />\n </MediaUploadCheck>\n {!!value && (\n <MediaUploadCheck>\n <Button onClick={onRemoveImage} isLink isDestructive>\n {__('Remove Image', 'wp-seopress')}\n </Button>\n </MediaUploadCheck>\n )}\n </div>\n )\n}\n\nexport default compose(\n withSelect((select, ownProps) => {\n return {\n image: ownProps.value\n ? select('core').getMedia(ownProps.value)\n : null,\n }\n })\n)(ImageControl)\n","import './editor.scss'\nimport './style.scss'\nimport edit from './edit'\nimport { registerBlockType } from '@wordpress/blocks'\nimport { __ } from '@wordpress/i18n'\n\nregisterBlockType('wpseopress/faq-block', {\n title: __('FAQ', 'wp-seopress'),\n icon: 'index-card',\n category: 'wpseopress',\n example: {},\n edit: edit,\n save() {\n return null\n },\n})\n","(function() { module.exports = this[\"wp\"][\"blockEditor\"]; }());","(function() { module.exports = this[\"wp\"][\"blocks\"]; }());","(function() { module.exports = this[\"wp\"][\"components\"]; }());","(function() { module.exports = this[\"wp\"][\"element\"]; }());","(function() { module.exports = this[\"wp\"][\"i18n\"]; }());"],"sourceRoot":""}
 
inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/style-index.css.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"style-index.css","sourceRoot":""}
 
inc/admin/page-builders/gutenberg/inc/blocks/faq-block/package-lock.json DELETED
@@ -1,17345 +0,0 @@
1
- {
2
- "name": "seopress",
3
- "version": "1.0.0",
4
- "lockfileVersion": 1,
5
- "requires": true,
6
- "dependencies": {
7
- "@babel/code-frame": {
8
- "version": "7.10.4",
9
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
10
- "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
11
- "dev": true,
12
- "requires": {
13
- "@babel/highlight": "^7.10.4"
14
- }
15
- },
16
- "@babel/compat-data": {
17
- "version": "7.12.1",
18
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.1.tgz",
19
- "integrity": "sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ==",
20
- "dev": true
21
- },
22
- "@babel/core": {
23
- "version": "7.12.3",
24
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz",
25
- "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==",
26
- "dev": true,
27
- "requires": {
28
- "@babel/code-frame": "^7.10.4",
29
- "@babel/generator": "^7.12.1",
30
- "@babel/helper-module-transforms": "^7.12.1",
31
- "@babel/helpers": "^7.12.1",
32
- "@babel/parser": "^7.12.3",
33
- "@babel/template": "^7.10.4",
34
- "@babel/traverse": "^7.12.1",
35
- "@babel/types": "^7.12.1",
36
- "convert-source-map": "^1.7.0",
37
- "debug": "^4.1.0",
38
- "gensync": "^1.0.0-beta.1",
39
- "json5": "^2.1.2",
40
- "lodash": "^4.17.19",
41
- "resolve": "^1.3.2",
42
- "semver": "^5.4.1",
43
- "source-map": "^0.5.0"
44
- }
45
- },
46
- "@babel/generator": {
47
- "version": "7.12.1",
48
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz",
49
- "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==",
50
- "dev": true,
51
- "requires": {
52
- "@babel/types": "^7.12.1",
53
- "jsesc": "^2.5.1",
54
- "source-map": "^0.5.0"
55
- }
56
- },
57
- "@babel/helper-annotate-as-pure": {
58
- "version": "7.10.4",
59
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
60
- "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
61
- "dev": true,
62
- "requires": {
63
- "@babel/types": "^7.10.4"
64
- }
65
- },
66
- "@babel/helper-builder-binary-assignment-operator-visitor": {
67
- "version": "7.10.4",
68
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
69
- "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==",
70
- "dev": true,
71
- "requires": {
72
- "@babel/helper-explode-assignable-expression": "^7.10.4",
73
- "@babel/types": "^7.10.4"
74
- }
75
- },
76
- "@babel/helper-builder-react-jsx": {
77
- "version": "7.10.4",
78
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz",
79
- "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==",
80
- "dev": true,
81
- "requires": {
82
- "@babel/helper-annotate-as-pure": "^7.10.4",
83
- "@babel/types": "^7.10.4"
84
- }
85
- },
86
- "@babel/helper-builder-react-jsx-experimental": {
87
- "version": "7.12.4",
88
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz",
89
- "integrity": "sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og==",
90
- "dev": true,
91
- "requires": {
92
- "@babel/helper-annotate-as-pure": "^7.10.4",
93
- "@babel/helper-module-imports": "^7.12.1",
94
- "@babel/types": "^7.12.1"
95
- }
96
- },
97
- "@babel/helper-compilation-targets": {
98
- "version": "7.12.1",
99
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz",
100
- "integrity": "sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g==",
101
- "dev": true,
102
- "requires": {
103
- "@babel/compat-data": "^7.12.1",
104
- "@babel/helper-validator-option": "^7.12.1",
105
- "browserslist": "^4.12.0",
106
- "semver": "^5.5.0"
107
- }
108
- },
109
- "@babel/helper-create-class-features-plugin": {
110
- "version": "7.12.1",
111
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz",
112
- "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==",
113
- "dev": true,
114
- "requires": {
115
- "@babel/helper-function-name": "^7.10.4",
116
- "@babel/helper-member-expression-to-functions": "^7.12.1",
117
- "@babel/helper-optimise-call-expression": "^7.10.4",
118
- "@babel/helper-replace-supers": "^7.12.1",
119
- "@babel/helper-split-export-declaration": "^7.10.4"
120
- }
121
- },
122
- "@babel/helper-create-regexp-features-plugin": {
123
- "version": "7.12.1",
124
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz",
125
- "integrity": "sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==",
126
- "dev": true,
127
- "requires": {
128
- "@babel/helper-annotate-as-pure": "^7.10.4",
129
- "@babel/helper-regex": "^7.10.4",
130
- "regexpu-core": "^4.7.1"
131
- }
132
- },
133
- "@babel/helper-define-map": {
134
- "version": "7.10.5",
135
- "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz",
136
- "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==",
137
- "dev": true,
138
- "requires": {
139
- "@babel/helper-function-name": "^7.10.4",
140
- "@babel/types": "^7.10.5",
141
- "lodash": "^4.17.19"
142
- }
143
- },
144
- "@babel/helper-explode-assignable-expression": {
145
- "version": "7.12.1",
146
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz",
147
- "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==",
148
- "dev": true,
149
- "requires": {
150
- "@babel/types": "^7.12.1"
151
- }
152
- },
153
- "@babel/helper-function-name": {
154
- "version": "7.10.4",
155
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
156
- "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
157
- "dev": true,
158
- "requires": {
159
- "@babel/helper-get-function-arity": "^7.10.4",
160
- "@babel/template": "^7.10.4",
161
- "@babel/types": "^7.10.4"
162
- }
163
- },
164
- "@babel/helper-get-function-arity": {
165
- "version": "7.10.4",
166
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
167
- "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
168
- "dev": true,
169
- "requires": {
170
- "@babel/types": "^7.10.4"
171
- }
172
- },
173
- "@babel/helper-hoist-variables": {
174
- "version": "7.10.4",
175
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
176
- "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==",
177
- "dev": true,
178
- "requires": {
179
- "@babel/types": "^7.10.4"
180
- }
181
- },
182
- "@babel/helper-member-expression-to-functions": {
183
- "version": "7.12.1",
184
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz",
185
- "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==",
186
- "dev": true,
187
- "requires": {
188
- "@babel/types": "^7.12.1"
189
- }
190
- },
191
- "@babel/helper-module-imports": {
192
- "version": "7.12.1",
193
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz",
194
- "integrity": "sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA==",
195
- "dev": true,
196
- "requires": {
197
- "@babel/types": "^7.12.1"
198
- }
199
- },
200
- "@babel/helper-module-transforms": {
201
- "version": "7.12.1",
202
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz",
203
- "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==",
204
- "dev": true,
205
- "requires": {
206
- "@babel/helper-module-imports": "^7.12.1",
207
- "@babel/helper-replace-supers": "^7.12.1",
208
- "@babel/helper-simple-access": "^7.12.1",
209
- "@babel/helper-split-export-declaration": "^7.11.0",
210
- "@babel/helper-validator-identifier": "^7.10.4",
211
- "@babel/template": "^7.10.4",
212
- "@babel/traverse": "^7.12.1",
213
- "@babel/types": "^7.12.1",
214
- "lodash": "^4.17.19"
215
- }
216
- },
217
- "@babel/helper-optimise-call-expression": {
218
- "version": "7.10.4",
219
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
220
- "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
221
- "dev": true,
222
- "requires": {
223
- "@babel/types": "^7.10.4"
224
- }
225
- },
226
- "@babel/helper-plugin-utils": {
227
- "version": "7.10.4",
228
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
229
- "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
230
- "dev": true
231
- },
232
- "@babel/helper-regex": {
233
- "version": "7.10.5",
234
- "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz",
235
- "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==",
236
- "dev": true,
237
- "requires": {
238
- "lodash": "^4.17.19"
239
- }
240
- },
241
- "@babel/helper-remap-async-to-generator": {
242
- "version": "7.12.1",
243
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz",
244
- "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==",
245
- "dev": true,
246
- "requires": {
247
- "@babel/helper-annotate-as-pure": "^7.10.4",
248
- "@babel/helper-wrap-function": "^7.10.4",
249
- "@babel/types": "^7.12.1"
250
- }
251
- },
252
- "@babel/helper-replace-supers": {
253
- "version": "7.12.1",
254
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz",
255
- "integrity": "sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw==",
256
- "dev": true,
257
- "requires": {
258
- "@babel/helper-member-expression-to-functions": "^7.12.1",
259
- "@babel/helper-optimise-call-expression": "^7.10.4",
260
- "@babel/traverse": "^7.12.1",
261
- "@babel/types": "^7.12.1"
262
- }
263
- },
264
- "@babel/helper-simple-access": {
265
- "version": "7.12.1",
266
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz",
267
- "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==",
268
- "dev": true,
269
- "requires": {
270
- "@babel/types": "^7.12.1"
271
- }
272
- },
273
- "@babel/helper-skip-transparent-expression-wrappers": {
274
- "version": "7.12.1",
275
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz",
276
- "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==",
277
- "dev": true,
278
- "requires": {
279
- "@babel/types": "^7.12.1"
280
- }
281
- },
282
- "@babel/helper-split-export-declaration": {
283
- "version": "7.11.0",
284
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
285
- "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
286
- "dev": true,
287
- "requires": {
288
- "@babel/types": "^7.11.0"
289
- }
290
- },
291
- "@babel/helper-validator-identifier": {
292
- "version": "7.10.4",
293
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
294
- "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
295
- "dev": true
296
- },
297
- "@babel/helper-validator-option": {
298
- "version": "7.12.1",
299
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz",
300
- "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==",
301
- "dev": true
302
- },
303
- "@babel/helper-wrap-function": {
304
- "version": "7.12.3",
305
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz",
306
- "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==",
307
- "dev": true,
308
- "requires": {
309
- "@babel/helper-function-name": "^7.10.4",
310
- "@babel/template": "^7.10.4",
311
- "@babel/traverse": "^7.10.4",
312
- "@babel/types": "^7.10.4"
313
- }
314
- },
315
- "@babel/helpers": {
316
- "version": "7.12.1",
317
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.1.tgz",
318
- "integrity": "sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g==",
319
- "dev": true,
320
- "requires": {
321
- "@babel/template": "^7.10.4",
322
- "@babel/traverse": "^7.12.1",
323
- "@babel/types": "^7.12.1"
324
- }
325
- },
326
- "@babel/highlight": {
327
- "version": "7.10.4",
328
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
329
- "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
330
- "dev": true,
331
- "requires": {
332
- "@babel/helper-validator-identifier": "^7.10.4",
333
- "chalk": "^2.0.0",
334
- "js-tokens": "^4.0.0"
335
- },
336
- "dependencies": {
337
- "chalk": {
338
- "version": "2.4.2",
339
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
340
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
341
- "dev": true,
342
- "requires": {
343
- "ansi-styles": "^3.2.1",
344
- "escape-string-regexp": "^1.0.5",
345
- "supports-color": "^5.3.0"
346
- }
347
- }
348
- }
349
- },
350
- "@babel/parser": {
351
- "version": "7.12.3",
352
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz",
353
- "integrity": "sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw==",
354
- "dev": true
355
- },
356
- "@babel/plugin-proposal-async-generator-functions": {
357
- "version": "7.12.1",
358
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz",
359
- "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==",
360
- "dev": true,
361
- "requires": {
362
- "@babel/helper-plugin-utils": "^7.10.4",
363
- "@babel/helper-remap-async-to-generator": "^7.12.1",
364
- "@babel/plugin-syntax-async-generators": "^7.8.0"
365
- }
366
- },
367
- "@babel/plugin-proposal-class-properties": {
368
- "version": "7.12.1",
369
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz",
370
- "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==",
371
- "dev": true,
372
- "requires": {
373
- "@babel/helper-create-class-features-plugin": "^7.12.1",
374
- "@babel/helper-plugin-utils": "^7.10.4"
375
- }
376
- },
377
- "@babel/plugin-proposal-dynamic-import": {
378
- "version": "7.12.1",
379
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz",
380
- "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==",
381
- "dev": true,
382
- "requires": {
383
- "@babel/helper-plugin-utils": "^7.10.4",
384
- "@babel/plugin-syntax-dynamic-import": "^7.8.0"
385
- }
386
- },
387
- "@babel/plugin-proposal-export-namespace-from": {
388
- "version": "7.12.1",
389
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz",
390
- "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==",
391
- "dev": true,
392
- "requires": {
393
- "@babel/helper-plugin-utils": "^7.10.4",
394
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
395
- }
396
- },
397
- "@babel/plugin-proposal-json-strings": {
398
- "version": "7.12.1",
399
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz",
400
- "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==",
401
- "dev": true,
402
- "requires": {
403
- "@babel/helper-plugin-utils": "^7.10.4",
404
- "@babel/plugin-syntax-json-strings": "^7.8.0"
405
- }
406
- },
407
- "@babel/plugin-proposal-logical-assignment-operators": {
408
- "version": "7.12.1",
409
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz",
410
- "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==",
411
- "dev": true,
412
- "requires": {
413
- "@babel/helper-plugin-utils": "^7.10.4",
414
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
415
- }
416
- },
417
- "@babel/plugin-proposal-nullish-coalescing-operator": {
418
- "version": "7.12.1",
419
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz",
420
- "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==",
421
- "dev": true,
422
- "requires": {
423
- "@babel/helper-plugin-utils": "^7.10.4",
424
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
425
- }
426
- },
427
- "@babel/plugin-proposal-numeric-separator": {
428
- "version": "7.12.1",
429
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz",
430
- "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==",
431
- "dev": true,
432
- "requires": {
433
- "@babel/helper-plugin-utils": "^7.10.4",
434
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
435
- }
436
- },
437
- "@babel/plugin-proposal-object-rest-spread": {
438
- "version": "7.12.1",
439
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz",
440
- "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==",
441
- "dev": true,
442
- "requires": {
443
- "@babel/helper-plugin-utils": "^7.10.4",
444
- "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
445
- "@babel/plugin-transform-parameters": "^7.12.1"
446
- }
447
- },
448
- "@babel/plugin-proposal-optional-catch-binding": {
449
- "version": "7.12.1",
450
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz",
451
- "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==",
452
- "dev": true,
453
- "requires": {
454
- "@babel/helper-plugin-utils": "^7.10.4",
455
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
456
- }
457
- },
458
- "@babel/plugin-proposal-optional-chaining": {
459
- "version": "7.12.1",
460
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz",
461
- "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==",
462
- "dev": true,
463
- "requires": {
464
- "@babel/helper-plugin-utils": "^7.10.4",
465
- "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
466
- "@babel/plugin-syntax-optional-chaining": "^7.8.0"
467
- }
468
- },
469
- "@babel/plugin-proposal-private-methods": {
470
- "version": "7.12.1",
471
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz",
472
- "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==",
473
- "dev": true,
474
- "requires": {
475
- "@babel/helper-create-class-features-plugin": "^7.12.1",
476
- "@babel/helper-plugin-utils": "^7.10.4"
477
- }
478
- },
479
- "@babel/plugin-proposal-unicode-property-regex": {
480
- "version": "7.12.1",
481
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz",
482
- "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==",
483
- "dev": true,
484
- "requires": {
485
- "@babel/helper-create-regexp-features-plugin": "^7.12.1",
486
- "@babel/helper-plugin-utils": "^7.10.4"
487
- }
488
- },
489
- "@babel/plugin-syntax-async-generators": {
490
- "version": "7.8.4",
491
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
492
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
493
- "dev": true,
494
- "requires": {
495
- "@babel/helper-plugin-utils": "^7.8.0"
496
- }
497
- },
498
- "@babel/plugin-syntax-bigint": {
499
- "version": "7.8.3",
500
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
501
- "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
502
- "dev": true,
503
- "requires": {
504
- "@babel/helper-plugin-utils": "^7.8.0"
505
- }
506
- },
507
- "@babel/plugin-syntax-class-properties": {
508
- "version": "7.12.1",
509
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz",
510
- "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==",
511
- "dev": true,
512
- "requires": {
513
- "@babel/helper-plugin-utils": "^7.10.4"
514
- }
515
- },
516
- "@babel/plugin-syntax-dynamic-import": {
517
- "version": "7.8.3",
518
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
519
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
520
- "dev": true,
521
- "requires": {
522
- "@babel/helper-plugin-utils": "^7.8.0"
523
- }
524
- },
525
- "@babel/plugin-syntax-export-namespace-from": {
526
- "version": "7.8.3",
527
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
528
- "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
529
- "dev": true,
530
- "requires": {
531
- "@babel/helper-plugin-utils": "^7.8.3"
532
- }
533
- },
534
- "@babel/plugin-syntax-import-meta": {
535
- "version": "7.10.4",
536
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
537
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
538
- "dev": true,
539
- "requires": {
540
- "@babel/helper-plugin-utils": "^7.10.4"
541
- }
542
- },
543
- "@babel/plugin-syntax-json-strings": {
544
- "version": "7.8.3",
545
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
546
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
547
- "dev": true,
548
- "requires": {
549
- "@babel/helper-plugin-utils": "^7.8.0"
550
- }
551
- },
552
- "@babel/plugin-syntax-jsx": {
553
- "version": "7.12.1",
554
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz",
555
- "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==",
556
- "dev": true,
557
- "requires": {
558
- "@babel/helper-plugin-utils": "^7.10.4"
559
- }
560
- },
561
- "@babel/plugin-syntax-logical-assignment-operators": {
562
- "version": "7.10.4",
563
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
564
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
565
- "dev": true,
566
- "requires": {
567
- "@babel/helper-plugin-utils": "^7.10.4"
568
- }
569
- },
570
- "@babel/plugin-syntax-nullish-coalescing-operator": {
571
- "version": "7.8.3",
572
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
573
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
574
- "dev": true,
575
- "requires": {
576
- "@babel/helper-plugin-utils": "^7.8.0"
577
- }
578
- },
579
- "@babel/plugin-syntax-numeric-separator": {
580
- "version": "7.10.4",
581
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
582
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
583
- "dev": true,
584
- "requires": {
585
- "@babel/helper-plugin-utils": "^7.10.4"
586
- }
587
- },
588
- "@babel/plugin-syntax-object-rest-spread": {
589
- "version": "7.8.3",
590
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
591
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
592
- "dev": true,
593
- "requires": {
594
- "@babel/helper-plugin-utils": "^7.8.0"
595
- }
596
- },
597
- "@babel/plugin-syntax-optional-catch-binding": {
598
- "version": "7.8.3",
599
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
600
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
601
- "dev": true,
602
- "requires": {
603
- "@babel/helper-plugin-utils": "^7.8.0"
604
- }
605
- },
606
- "@babel/plugin-syntax-optional-chaining": {
607
- "version": "7.8.3",
608
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
609
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
610
- "dev": true,
611
- "requires": {
612
- "@babel/helper-plugin-utils": "^7.8.0"
613
- }
614
- },
615
- "@babel/plugin-syntax-top-level-await": {
616
- "version": "7.12.1",
617
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz",
618
- "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==",
619
- "dev": true,
620
- "requires": {
621
- "@babel/helper-plugin-utils": "^7.10.4"
622
- }
623
- },
624
- "@babel/plugin-transform-arrow-functions": {
625
- "version": "7.12.1",
626
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz",
627
- "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==",
628
- "dev": true,
629
- "requires": {
630
- "@babel/helper-plugin-utils": "^7.10.4"
631
- }
632
- },
633
- "@babel/plugin-transform-async-to-generator": {
634
- "version": "7.12.1",
635
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz",
636
- "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==",
637
- "dev": true,
638
- "requires": {
639
- "@babel/helper-module-imports": "^7.12.1",
640
- "@babel/helper-plugin-utils": "^7.10.4",
641
- "@babel/helper-remap-async-to-generator": "^7.12.1"
642
- }
643
- },
644
- "@babel/plugin-transform-block-scoped-functions": {
645
- "version": "7.12.1",
646
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz",
647
- "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==",
648
- "dev": true,
649
- "requires": {
650
- "@babel/helper-plugin-utils": "^7.10.4"
651
- }
652
- },
653
- "@babel/plugin-transform-block-scoping": {
654
- "version": "7.12.1",
655
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz",
656
- "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==",
657
- "dev": true,
658
- "requires": {
659
- "@babel/helper-plugin-utils": "^7.10.4"
660
- }
661
- },
662
- "@babel/plugin-transform-classes": {
663
- "version": "7.12.1",
664
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz",
665
- "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==",
666
- "dev": true,
667
- "requires": {
668
- "@babel/helper-annotate-as-pure": "^7.10.4",
669
- "@babel/helper-define-map": "^7.10.4",
670
- "@babel/helper-function-name": "^7.10.4",
671
- "@babel/helper-optimise-call-expression": "^7.10.4",
672
- "@babel/helper-plugin-utils": "^7.10.4",
673
- "@babel/helper-replace-supers": "^7.12.1",
674
- "@babel/helper-split-export-declaration": "^7.10.4",
675
- "globals": "^11.1.0"
676
- }
677
- },
678
- "@babel/plugin-transform-computed-properties": {
679
- "version": "7.12.1",
680
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz",
681
- "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==",
682
- "dev": true,
683
- "requires": {
684
- "@babel/helper-plugin-utils": "^7.10.4"
685
- }
686
- },
687
- "@babel/plugin-transform-destructuring": {
688
- "version": "7.12.1",
689
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz",
690
- "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==",
691
- "dev": true,
692
- "requires": {
693
- "@babel/helper-plugin-utils": "^7.10.4"
694
- }
695
- },
696
- "@babel/plugin-transform-dotall-regex": {
697
- "version": "7.12.1",
698
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz",
699
- "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==",
700
- "dev": true,
701
- "requires": {
702
- "@babel/helper-create-regexp-features-plugin": "^7.12.1",
703
- "@babel/helper-plugin-utils": "^7.10.4"
704
- }
705
- },
706
- "@babel/plugin-transform-duplicate-keys": {
707
- "version": "7.12.1",
708
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz",
709
- "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==",
710
- "dev": true,
711
- "requires": {
712
- "@babel/helper-plugin-utils": "^7.10.4"
713
- }
714
- },
715
- "@babel/plugin-transform-exponentiation-operator": {
716
- "version": "7.12.1",
717
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz",
718
- "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==",
719
- "dev": true,
720
- "requires": {
721
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
722
- "@babel/helper-plugin-utils": "^7.10.4"
723
- }
724
- },
725
- "@babel/plugin-transform-for-of": {
726
- "version": "7.12.1",
727
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz",
728
- "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==",
729
- "dev": true,
730
- "requires": {
731
- "@babel/helper-plugin-utils": "^7.10.4"
732
- }
733
- },
734
- "@babel/plugin-transform-function-name": {
735
- "version": "7.12.1",
736
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz",
737
- "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==",
738
- "dev": true,
739
- "requires": {
740
- "@babel/helper-function-name": "^7.10.4",
741
- "@babel/helper-plugin-utils": "^7.10.4"
742
- }
743
- },
744
- "@babel/plugin-transform-literals": {
745
- "version": "7.12.1",
746
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz",
747
- "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==",
748
- "dev": true,
749
- "requires": {
750
- "@babel/helper-plugin-utils": "^7.10.4"
751
- }
752
- },
753
- "@babel/plugin-transform-member-expression-literals": {
754
- "version": "7.12.1",
755
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz",
756
- "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==",
757
- "dev": true,
758
- "requires": {
759
- "@babel/helper-plugin-utils": "^7.10.4"
760
- }
761
- },
762
- "@babel/plugin-transform-modules-amd": {
763
- "version": "7.12.1",
764
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz",
765
- "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==",
766
- "dev": true,
767
- "requires": {
768
- "@babel/helper-module-transforms": "^7.12.1",
769
- "@babel/helper-plugin-utils": "^7.10.4",
770
- "babel-plugin-dynamic-import-node": "^2.3.3"
771
- }
772
- },
773
- "@babel/plugin-transform-modules-commonjs": {
774
- "version": "7.12.1",
775
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz",
776
- "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==",
777
- "dev": true,
778
- "requires": {
779
- "@babel/helper-module-transforms": "^7.12.1",
780
- "@babel/helper-plugin-utils": "^7.10.4",
781
- "@babel/helper-simple-access": "^7.12.1",
782
- "babel-plugin-dynamic-import-node": "^2.3.3"
783
- }
784
- },
785
- "@babel/plugin-transform-modules-systemjs": {
786
- "version": "7.12.1",
787
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz",
788
- "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==",
789
- "dev": true,
790
- "requires": {
791
- "@babel/helper-hoist-variables": "^7.10.4",
792
- "@babel/helper-module-transforms": "^7.12.1",
793
- "@babel/helper-plugin-utils": "^7.10.4",
794
- "@babel/helper-validator-identifier": "^7.10.4",
795
- "babel-plugin-dynamic-import-node": "^2.3.3"
796
- }
797
- },
798
- "@babel/plugin-transform-modules-umd": {
799
- "version": "7.12.1",
800
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz",
801
- "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==",
802
- "dev": true,
803
- "requires": {
804
- "@babel/helper-module-transforms": "^7.12.1",
805
- "@babel/helper-plugin-utils": "^7.10.4"
806
- }
807
- },
808
- "@babel/plugin-transform-named-capturing-groups-regex": {
809
- "version": "7.12.1",
810
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz",
811
- "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==",
812
- "dev": true,
813
- "requires": {
814
- "@babel/helper-create-regexp-features-plugin": "^7.12.1"
815
- }
816
- },
817
- "@babel/plugin-transform-new-target": {
818
- "version": "7.12.1",
819
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz",
820
- "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==",
821
- "dev": true,
822
- "requires": {
823
- "@babel/helper-plugin-utils": "^7.10.4"
824
- }
825
- },
826
- "@babel/plugin-transform-object-super": {
827
- "version": "7.12.1",
828
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz",
829
- "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==",
830
- "dev": true,
831
- "requires": {
832
- "@babel/helper-plugin-utils": "^7.10.4",
833
- "@babel/helper-replace-supers": "^7.12.1"
834
- }
835
- },
836
- "@babel/plugin-transform-parameters": {
837
- "version": "7.12.1",
838
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz",
839
- "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==",
840
- "dev": true,
841
- "requires": {
842
- "@babel/helper-plugin-utils": "^7.10.4"
843
- }
844
- },
845
- "@babel/plugin-transform-property-literals": {
846
- "version": "7.12.1",
847
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz",
848
- "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==",
849
- "dev": true,
850
- "requires": {
851
- "@babel/helper-plugin-utils": "^7.10.4"
852
- }
853
- },
854
- "@babel/plugin-transform-react-constant-elements": {
855
- "version": "7.12.1",
856
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.1.tgz",
857
- "integrity": "sha512-KOHd0tIRLoER+J+8f9DblZDa1fLGPwaaN1DI1TVHuQFOpjHV22C3CUB3obeC4fexHY9nx+fH0hQNvLFFfA1mxA==",
858
- "dev": true,
859
- "requires": {
860
- "@babel/helper-plugin-utils": "^7.10.4"
861
- }
862
- },
863
- "@babel/plugin-transform-react-display-name": {
864
- "version": "7.12.1",
865
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz",
866
- "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==",
867
- "dev": true,
868
- "requires": {
869
- "@babel/helper-plugin-utils": "^7.10.4"
870
- }
871
- },
872
- "@babel/plugin-transform-react-jsx": {
873
- "version": "7.12.1",
874
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.1.tgz",
875
- "integrity": "sha512-RmKejwnT0T0QzQUzcbP5p1VWlpnP8QHtdhEtLG55ZDQnJNalbF3eeDyu3dnGKvGzFIQiBzFhBYTwvv435p9Xpw==",
876
- "dev": true,
877
- "requires": {
878
- "@babel/helper-builder-react-jsx": "^7.10.4",
879
- "@babel/helper-builder-react-jsx-experimental": "^7.12.1",
880
- "@babel/helper-plugin-utils": "^7.10.4",
881
- "@babel/plugin-syntax-jsx": "^7.12.1"
882
- }
883
- },
884
- "@babel/plugin-transform-react-jsx-development": {
885
- "version": "7.12.1",
886
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.1.tgz",
887
- "integrity": "sha512-IilcGWdN1yNgEGOrB96jbTplRh+V2Pz1EoEwsKsHfX1a/L40cUYuD71Zepa7C+ujv7kJIxnDftWeZbKNEqZjCQ==",
888
- "dev": true,
889
- "requires": {
890
- "@babel/helper-builder-react-jsx-experimental": "^7.12.1",
891
- "@babel/helper-plugin-utils": "^7.10.4",
892
- "@babel/plugin-syntax-jsx": "^7.12.1"
893
- }
894
- },
895
- "@babel/plugin-transform-react-jsx-self": {
896
- "version": "7.12.1",
897
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.1.tgz",
898
- "integrity": "sha512-FbpL0ieNWiiBB5tCldX17EtXgmzeEZjFrix72rQYeq9X6nUK38HCaxexzVQrZWXanxKJPKVVIU37gFjEQYkPkA==",
899
- "dev": true,
900
- "requires": {
901
- "@babel/helper-plugin-utils": "^7.10.4"
902
- }
903
- },
904
- "@babel/plugin-transform-react-jsx-source": {
905
- "version": "7.12.1",
906
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.1.tgz",
907
- "integrity": "sha512-keQ5kBfjJNRc6zZN1/nVHCd6LLIHq4aUKcVnvE/2l+ZZROSbqoiGFRtT5t3Is89XJxBQaP7NLZX2jgGHdZvvFQ==",
908
- "dev": true,
909
- "requires": {
910
- "@babel/helper-plugin-utils": "^7.10.4"
911
- }
912
- },
913
- "@babel/plugin-transform-react-pure-annotations": {
914
- "version": "7.12.1",
915
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz",
916
- "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==",
917
- "dev": true,
918
- "requires": {
919
- "@babel/helper-annotate-as-pure": "^7.10.4",
920
- "@babel/helper-plugin-utils": "^7.10.4"
921
- }
922
- },
923
- "@babel/plugin-transform-regenerator": {
924
- "version": "7.12.1",
925
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz",
926
- "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==",
927
- "dev": true,
928
- "requires": {
929
- "regenerator-transform": "^0.14.2"
930
- }
931
- },
932
- "@babel/plugin-transform-reserved-words": {
933
- "version": "7.12.1",
934
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz",
935
- "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==",
936
- "dev": true,
937
- "requires": {
938
- "@babel/helper-plugin-utils": "^7.10.4"
939
- }
940
- },
941
- "@babel/plugin-transform-runtime": {
942
- "version": "7.12.1",
943
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz",
944
- "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==",
945
- "dev": true,
946
- "requires": {
947
- "@babel/helper-module-imports": "^7.12.1",
948
- "@babel/helper-plugin-utils": "^7.10.4",
949
- "resolve": "^1.8.1",
950
- "semver": "^5.5.1"
951
- }
952
- },
953
- "@babel/plugin-transform-shorthand-properties": {
954
- "version": "7.12.1",
955
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz",
956
- "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==",
957
- "dev": true,
958
- "requires": {
959
- "@babel/helper-plugin-utils": "^7.10.4"
960
- }
961
- },
962
- "@babel/plugin-transform-spread": {
963
- "version": "7.12.1",
964
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz",
965
- "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==",
966
- "dev": true,
967
- "requires": {
968
- "@babel/helper-plugin-utils": "^7.10.4",
969
- "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
970
- }
971
- },
972
- "@babel/plugin-transform-sticky-regex": {
973
- "version": "7.12.1",
974
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz",
975
- "integrity": "sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==",
976
- "dev": true,
977
- "requires": {
978
- "@babel/helper-plugin-utils": "^7.10.4",
979
- "@babel/helper-regex": "^7.10.4"
980
- }
981
- },
982
- "@babel/plugin-transform-template-literals": {
983
- "version": "7.12.1",
984
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz",
985
- "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==",
986
- "dev": true,
987
- "requires": {
988
- "@babel/helper-plugin-utils": "^7.10.4"
989
- }
990
- },
991
- "@babel/plugin-transform-typeof-symbol": {
992
- "version": "7.12.1",
993
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz",
994
- "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==",
995
- "dev": true,
996
- "requires": {
997
- "@babel/helper-plugin-utils": "^7.10.4"
998
- }
999
- },
1000
- "@babel/plugin-transform-unicode-escapes": {
1001
- "version": "7.12.1",
1002
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz",
1003
- "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==",
1004
- "dev": true,
1005
- "requires": {
1006
- "@babel/helper-plugin-utils": "^7.10.4"
1007
- }
1008
- },
1009
- "@babel/plugin-transform-unicode-regex": {
1010
- "version": "7.12.1",
1011
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz",
1012
- "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==",
1013
- "dev": true,
1014
- "requires": {
1015
- "@babel/helper-create-regexp-features-plugin": "^7.12.1",
1016
- "@babel/helper-plugin-utils": "^7.10.4"
1017
- }
1018
- },
1019
- "@babel/preset-env": {
1020
- "version": "7.12.1",
1021
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz",
1022
- "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==",
1023
- "dev": true,
1024
- "requires": {
1025
- "@babel/compat-data": "^7.12.1",
1026
- "@babel/helper-compilation-targets": "^7.12.1",
1027
- "@babel/helper-module-imports": "^7.12.1",
1028
- "@babel/helper-plugin-utils": "^7.10.4",
1029
- "@babel/helper-validator-option": "^7.12.1",
1030
- "@babel/plugin-proposal-async-generator-functions": "^7.12.1",
1031
- "@babel/plugin-proposal-class-properties": "^7.12.1",
1032
- "@babel/plugin-proposal-dynamic-import": "^7.12.1",
1033
- "@babel/plugin-proposal-export-namespace-from": "^7.12.1",
1034
- "@babel/plugin-proposal-json-strings": "^7.12.1",
1035
- "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1",
1036
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
1037
- "@babel/plugin-proposal-numeric-separator": "^7.12.1",
1038
- "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
1039
- "@babel/plugin-proposal-optional-catch-binding": "^7.12.1",
1040
- "@babel/plugin-proposal-optional-chaining": "^7.12.1",
1041
- "@babel/plugin-proposal-private-methods": "^7.12.1",
1042
- "@babel/plugin-proposal-unicode-property-regex": "^7.12.1",
1043
- "@babel/plugin-syntax-async-generators": "^7.8.0",
1044
- "@babel/plugin-syntax-class-properties": "^7.12.1",
1045
- "@babel/plugin-syntax-dynamic-import": "^7.8.0",
1046
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
1047
- "@babel/plugin-syntax-json-strings": "^7.8.0",
1048
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
1049
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
1050
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
1051
- "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
1052
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
1053
- "@babel/plugin-syntax-optional-chaining": "^7.8.0",
1054
- "@babel/plugin-syntax-top-level-await": "^7.12.1",
1055
- "@babel/plugin-transform-arrow-functions": "^7.12.1",
1056
- "@babel/plugin-transform-async-to-generator": "^7.12.1",
1057
- "@babel/plugin-transform-block-scoped-functions": "^7.12.1",
1058
- "@babel/plugin-transform-block-scoping": "^7.12.1",
1059
- "@babel/plugin-transform-classes": "^7.12.1",
1060
- "@babel/plugin-transform-computed-properties": "^7.12.1",
1061
- "@babel/plugin-transform-destructuring": "^7.12.1",
1062
- "@babel/plugin-transform-dotall-regex": "^7.12.1",
1063
- "@babel/plugin-transform-duplicate-keys": "^7.12.1",
1064
- "@babel/plugin-transform-exponentiation-operator": "^7.12.1",
1065
- "@babel/plugin-transform-for-of": "^7.12.1",
1066
- "@babel/plugin-transform-function-name": "^7.12.1",
1067
- "@babel/plugin-transform-literals": "^7.12.1",
1068
- "@babel/plugin-transform-member-expression-literals": "^7.12.1",
1069
- "@babel/plugin-transform-modules-amd": "^7.12.1",
1070
- "@babel/plugin-transform-modules-commonjs": "^7.12.1",
1071
- "@babel/plugin-transform-modules-systemjs": "^7.12.1",
1072
- "@babel/plugin-transform-modules-umd": "^7.12.1",
1073
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1",
1074
- "@babel/plugin-transform-new-target": "^7.12.1",
1075
- "@babel/plugin-transform-object-super": "^7.12.1",
1076
- "@babel/plugin-transform-parameters": "^7.12.1",
1077
- "@babel/plugin-transform-property-literals": "^7.12.1",
1078
- "@babel/plugin-transform-regenerator": "^7.12.1",
1079
- "@babel/plugin-transform-reserved-words": "^7.12.1",
1080
- "@babel/plugin-transform-shorthand-properties": "^7.12.1",
1081
- "@babel/plugin-transform-spread": "^7.12.1",
1082
- "@babel/plugin-transform-sticky-regex": "^7.12.1",
1083
- "@babel/plugin-transform-template-literals": "^7.12.1",
1084
- "@babel/plugin-transform-typeof-symbol": "^7.12.1",
1085
- "@babel/plugin-transform-unicode-escapes": "^7.12.1",
1086
- "@babel/plugin-transform-unicode-regex": "^7.12.1",
1087
- "@babel/preset-modules": "^0.1.3",
1088
- "@babel/types": "^7.12.1",
1089
- "core-js-compat": "^3.6.2",
1090
- "semver": "^5.5.0"
1091
- }
1092
- },
1093
- "@babel/preset-modules": {
1094
- "version": "0.1.4",
1095
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz",
1096
- "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==",
1097
- "dev": true,
1098
- "requires": {
1099
- "@babel/helper-plugin-utils": "^7.0.0",
1100
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
1101
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
1102
- "@babel/types": "^7.4.4",
1103
- "esutils": "^2.0.2"
1104
- }
1105
- },
1106
- "@babel/preset-react": {
1107
- "version": "7.12.1",
1108
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz",
1109
- "integrity": "sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==",
1110
- "dev": true,
1111
- "requires": {
1112
- "@babel/helper-plugin-utils": "^7.10.4",
1113
- "@babel/plugin-transform-react-display-name": "^7.12.1",
1114
- "@babel/plugin-transform-react-jsx": "^7.12.1",
1115
- "@babel/plugin-transform-react-jsx-development": "^7.12.1",
1116
- "@babel/plugin-transform-react-jsx-self": "^7.12.1",
1117
- "@babel/plugin-transform-react-jsx-source": "^7.12.1",
1118
- "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
1119
- }
1120
- },
1121
- "@babel/runtime": {
1122
- "version": "7.12.1",
1123
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz",
1124
- "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==",
1125
- "requires": {
1126
- "regenerator-runtime": "^0.13.4"
1127
- }
1128
- },
1129
- "@babel/runtime-corejs3": {
1130
- "version": "7.12.1",
1131
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.1.tgz",
1132
- "integrity": "sha512-umhPIcMrlBZ2aTWlWjUseW9LjQKxi1dpFlQS8DzsxB//5K+u6GLTC/JliPKHsd5kJVPIU6X/Hy0YvWOYPcMxBw==",
1133
- "dev": true,
1134
- "requires": {
1135
- "core-js-pure": "^3.0.0",
1136
- "regenerator-runtime": "^0.13.4"
1137
- }
1138
- },
1139
- "@babel/template": {
1140
- "version": "7.10.4",
1141
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
1142
- "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
1143
- "dev": true,
1144
- "requires": {
1145
- "@babel/code-frame": "^7.10.4",
1146
- "@babel/parser": "^7.10.4",
1147
- "@babel/types": "^7.10.4"
1148
- }
1149
- },
1150
- "@babel/traverse": {
1151
- "version": "7.12.1",
1152
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz",
1153
- "integrity": "sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw==",
1154
- "dev": true,
1155
- "requires": {
1156
- "@babel/code-frame": "^7.10.4",
1157
- "@babel/generator": "^7.12.1",
1158
- "@babel/helper-function-name": "^7.10.4",
1159
- "@babel/helper-split-export-declaration": "^7.11.0",
1160
- "@babel/parser": "^7.12.1",
1161
- "@babel/types": "^7.12.1",
1162
- "debug": "^4.1.0",
1163
- "globals": "^11.1.0",
1164
- "lodash": "^4.17.19"
1165
- }
1166
- },
1167
- "@babel/types": {
1168
- "version": "7.12.1",
1169
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz",
1170
- "integrity": "sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA==",
1171
- "dev": true,
1172
- "requires": {
1173
- "@babel/helper-validator-identifier": "^7.10.4",
1174
- "lodash": "^4.17.19",
1175
- "to-fast-properties": "^2.0.0"
1176
- }
1177
- },
1178
- "@bcoe/v8-coverage": {
1179
- "version": "0.2.3",
1180
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
1181
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
1182
- "dev": true
1183
- },
1184
- "@cnakazawa/watch": {
1185
- "version": "1.0.4",
1186
- "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
1187
- "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
1188
- "dev": true,
1189
- "requires": {
1190
- "exec-sh": "^0.3.2",
1191
- "minimist": "^1.2.0"
1192
- }
1193
- },
1194
- "@eslint/eslintrc": {
1195
- "version": "0.1.3",
1196
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.3.tgz",
1197
- "integrity": "sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA==",
1198
- "dev": true,
1199
- "requires": {
1200
- "ajv": "^6.12.4",
1201
- "debug": "^4.1.1",
1202
- "espree": "^7.3.0",
1203
- "globals": "^12.1.0",
1204
- "ignore": "^4.0.6",
1205
- "import-fresh": "^3.2.1",
1206
- "js-yaml": "^3.13.1",
1207
- "lodash": "^4.17.19",
1208
- "minimatch": "^3.0.4",
1209
- "strip-json-comments": "^3.1.1"
1210
- },
1211
- "dependencies": {
1212
- "globals": {
1213
- "version": "12.4.0",
1214
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
1215
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
1216
- "dev": true,
1217
- "requires": {
1218
- "type-fest": "^0.8.1"
1219
- }
1220
- }
1221
- }
1222
- },
1223
- "@hapi/address": {
1224
- "version": "2.1.4",
1225
- "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
1226
- "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==",
1227
- "dev": true
1228
- },
1229
- "@hapi/bourne": {
1230
- "version": "1.3.2",
1231
- "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
1232
- "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
1233
- "dev": true
1234
- },
1235
- "@hapi/hoek": {
1236
- "version": "8.5.1",
1237
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
1238
- "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==",
1239
- "dev": true
1240
- },
1241
- "@hapi/joi": {
1242
- "version": "15.1.1",
1243
- "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
1244
- "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
1245
- "dev": true,
1246
- "requires": {
1247
- "@hapi/address": "2.x.x",
1248
- "@hapi/bourne": "1.x.x",
1249
- "@hapi/hoek": "8.x.x",
1250
- "@hapi/topo": "3.x.x"
1251
- }
1252
- },
1253
- "@hapi/topo": {
1254
- "version": "3.1.6",
1255
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
1256
- "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
1257
- "dev": true,
1258
- "requires": {
1259
- "@hapi/hoek": "^8.3.0"
1260
- }
1261
- },
1262
- "@istanbuljs/load-nyc-config": {
1263
- "version": "1.1.0",
1264
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
1265
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
1266
- "dev": true,
1267
- "requires": {
1268
- "camelcase": "^5.3.1",
1269
- "find-up": "^4.1.0",
1270
- "get-package-type": "^0.1.0",
1271
- "js-yaml": "^3.13.1",
1272
- "resolve-from": "^5.0.0"
1273
- },
1274
- "dependencies": {
1275
- "camelcase": {
1276
- "version": "5.3.1",
1277
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
1278
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
1279
- "dev": true
1280
- },
1281
- "find-up": {
1282
- "version": "4.1.0",
1283
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
1284
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
1285
- "dev": true,
1286
- "requires": {
1287
- "locate-path": "^5.0.0",
1288
- "path-exists": "^4.0.0"
1289
- }
1290
- },
1291
- "locate-path": {
1292
- "version": "5.0.0",
1293
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
1294
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
1295
- "dev": true,
1296
- "requires": {
1297
- "p-locate": "^4.1.0"
1298
- }
1299
- },
1300
- "p-locate": {
1301
- "version": "4.1.0",
1302
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
1303
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
1304
- "dev": true,
1305
- "requires": {
1306
- "p-limit": "^2.2.0"
1307
- }
1308
- },
1309
- "path-exists": {
1310
- "version": "4.0.0",
1311
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1312
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1313
- "dev": true
1314
- },
1315
- "resolve-from": {
1316
- "version": "5.0.0",
1317
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
1318
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
1319
- "dev": true
1320
- }
1321
- }
1322
- },
1323
- "@istanbuljs/schema": {
1324
- "version": "0.1.2",
1325
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
1326
- "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
1327
- "dev": true
1328
- },
1329
- "@jest/console": {
1330
- "version": "25.5.0",
1331
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
1332
- "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
1333
- "dev": true,
1334
- "requires": {
1335
- "@jest/types": "^25.5.0",
1336
- "chalk": "^3.0.0",
1337
- "jest-message-util": "^25.5.0",
1338
- "jest-util": "^25.5.0",
1339
- "slash": "^3.0.0"
1340
- },
1341
- "dependencies": {
1342
- "ansi-styles": {
1343
- "version": "4.3.0",
1344
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1345
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1346
- "dev": true,
1347
- "requires": {
1348
- "color-convert": "^2.0.1"
1349
- }
1350
- },
1351
- "chalk": {
1352
- "version": "3.0.0",
1353
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
1354
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
1355
- "dev": true,
1356
- "requires": {
1357
- "ansi-styles": "^4.1.0",
1358
- "supports-color": "^7.1.0"
1359
- }
1360
- },
1361
- "color-convert": {
1362
- "version": "2.0.1",
1363
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1364
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1365
- "dev": true,
1366
- "requires": {
1367
- "color-name": "~1.1.4"
1368
- }
1369
- },
1370
- "color-name": {
1371
- "version": "1.1.4",
1372
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1373
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1374
- "dev": true
1375
- },
1376
- "has-flag": {
1377
- "version": "4.0.0",
1378
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1379
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1380
- "dev": true
1381
- },
1382
- "supports-color": {
1383
- "version": "7.2.0",
1384
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1385
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1386
- "dev": true,
1387
- "requires": {
1388
- "has-flag": "^4.0.0"
1389
- }
1390
- }
1391
- }
1392
- },
1393
- "@jest/core": {
1394
- "version": "25.5.4",
1395
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz",
1396
- "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==",
1397
- "dev": true,
1398
- "requires": {
1399
- "@jest/console": "^25.5.0",
1400
- "@jest/reporters": "^25.5.1",
1401
- "@jest/test-result": "^25.5.0",
1402
- "@jest/transform": "^25.5.1",
1403
- "@jest/types": "^25.5.0",
1404
- "ansi-escapes": "^4.2.1",
1405
- "chalk": "^3.0.0",
1406
- "exit": "^0.1.2",
1407
- "graceful-fs": "^4.2.4",
1408
- "jest-changed-files": "^25.5.0",
1409
- "jest-config": "^25.5.4",
1410
- "jest-haste-map": "^25.5.1",
1411
- "jest-message-util": "^25.5.0",
1412
- "jest-regex-util": "^25.2.6",
1413
- "jest-resolve": "^25.5.1",
1414
- "jest-resolve-dependencies": "^25.5.4",
1415
- "jest-runner": "^25.5.4",
1416
- "jest-runtime": "^25.5.4",
1417
- "jest-snapshot": "^25.5.1",
1418
- "jest-util": "^25.5.0",
1419
- "jest-validate": "^25.5.0",
1420
- "jest-watcher": "^25.5.0",
1421
- "micromatch": "^4.0.2",
1422
- "p-each-series": "^2.1.0",
1423
- "realpath-native": "^2.0.0",
1424
- "rimraf": "^3.0.0",
1425
- "slash": "^3.0.0",
1426
- "strip-ansi": "^6.0.0"
1427
- },
1428
- "dependencies": {
1429
- "ansi-regex": {
1430
- "version": "5.0.0",
1431
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
1432
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
1433
- "dev": true
1434
- },
1435
- "ansi-styles": {
1436
- "version": "4.3.0",
1437
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1438
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1439
- "dev": true,
1440
- "requires": {
1441
- "color-convert": "^2.0.1"
1442
- }
1443
- },
1444
- "braces": {
1445
- "version": "3.0.2",
1446
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1447
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1448
- "dev": true,
1449
- "requires": {
1450
- "fill-range": "^7.0.1"
1451
- }
1452
- },
1453
- "chalk": {
1454
- "version": "3.0.0",
1455
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
1456
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
1457
- "dev": true,
1458
- "requires": {
1459
- "ansi-styles": "^4.1.0",
1460
- "supports-color": "^7.1.0"
1461
- }
1462
- },
1463
- "color-convert": {
1464
- "version": "2.0.1",
1465
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1466
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1467
- "dev": true,
1468
- "requires": {
1469
- "color-name": "~1.1.4"
1470
- }
1471
- },
1472
- "color-name": {
1473
- "version": "1.1.4",
1474
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1475
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1476
- "dev": true
1477
- },
1478
- "fill-range": {
1479
- "version": "7.0.1",
1480
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1481
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1482
- "dev": true,
1483
- "requires": {
1484
- "to-regex-range": "^5.0.1"
1485
- }
1486
- },
1487
- "has-flag": {
1488
- "version": "4.0.0",
1489
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1490
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1491
- "dev": true
1492
- },
1493
- "is-number": {
1494
- "version": "7.0.0",
1495
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1496
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1497
- "dev": true
1498
- },
1499
- "micromatch": {
1500
- "version": "4.0.2",
1501
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
1502
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
1503
- "dev": true,
1504
- "requires": {
1505
- "braces": "^3.0.1",
1506
- "picomatch": "^2.0.5"
1507
- }
1508
- },
1509
- "rimraf": {
1510
- "version": "3.0.2",
1511
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1512
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1513
- "dev": true,
1514
- "requires": {
1515
- "glob": "^7.1.3"
1516
- }
1517
- },
1518
- "strip-ansi": {
1519
- "version": "6.0.0",
1520
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
1521
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
1522
- "dev": true,
1523
- "requires": {
1524
- "ansi-regex": "^5.0.0"
1525
- }
1526
- },
1527
- "supports-color": {
1528
- "version": "7.2.0",
1529
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1530
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1531
- "dev": true,
1532
- "requires": {
1533
- "has-flag": "^4.0.0"
1534
- }
1535
- },
1536
- "to-regex-range": {
1537
- "version": "5.0.1",
1538
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1539
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1540
- "dev": true,
1541
- "requires": {
1542
- "is-number": "^7.0.0"
1543
- }
1544
- }
1545
- }
1546
- },
1547
- "@jest/environment": {
1548
- "version": "25.5.0",
1549
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
1550
- "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
1551
- "dev": true,
1552
- "requires": {
1553
- "@jest/fake-timers": "^25.5.0",
1554
- "@jest/types": "^25.5.0",
1555
- "jest-mock": "^25.5.0"
1556
- }
1557
- },
1558
- "@jest/fake-timers": {
1559
- "version": "25.5.0",
1560
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
1561
- "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
1562
- "dev": true,
1563
- "requires": {
1564
- "@jest/types": "^25.5.0",
1565
- "jest-message-util": "^25.5.0",
1566
- "jest-mock": "^25.5.0",
1567
- "jest-util": "^25.5.0",
1568
- "lolex": "^5.0.0"
1569
- }
1570
- },
1571
- "@jest/globals": {
1572
- "version": "25.5.2",
1573
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz",
1574
- "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==",
1575
- "dev": true,
1576
- "requires": {
1577
- "@jest/environment": "^25.5.0",
1578
- "@jest/types": "^25.5.0",
1579
- "expect": "^25.5.0"
1580
- }
1581
- },
1582
- "@jest/reporters": {
1583
- "version": "25.5.1",
1584
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz",
1585
- "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==",
1586
- "dev": true,
1587
- "requires": {
1588
- "@bcoe/v8-coverage": "^0.2.3",
1589
- "@jest/console": "^25.5.0",
1590
- "@jest/test-result": "^25.5.0",
1591
- "@jest/transform": "^25.5.1",
1592
- "@jest/types": "^25.5.0",
1593
- "chalk": "^3.0.0",
1594
- "collect-v8-coverage": "^1.0.0",
1595
- "exit": "^0.1.2",
1596
- "glob": "^7.1.2",
1597
- "graceful-fs": "^4.2.4",
1598
- "istanbul-lib-coverage": "^3.0.0",
1599
- "istanbul-lib-instrument": "^4.0.0",
1600
- "istanbul-lib-report": "^3.0.0",
1601
- "istanbul-lib-source-maps": "^4.0.0",
1602
- "istanbul-reports": "^3.0.2",
1603
- "jest-haste-map": "^25.5.1",
1604
- "jest-resolve": "^25.5.1",
1605
- "jest-util": "^25.5.0",
1606
- "jest-worker": "^25.5.0",
1607
- "node-notifier": "^6.0.0",
1608
- "slash": "^3.0.0",
1609
- "source-map": "^0.6.0",
1610
- "string-length": "^3.1.0",
1611
- "terminal-link": "^2.0.0",
1612
- "v8-to-istanbul": "^4.1.3"
1613
- },
1614
- "dependencies": {
1615
- "ansi-styles": {
1616
- "version": "4.3.0",
1617
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1618
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1619
- "dev": true,
1620
- "requires": {
1621
- "color-convert": "^2.0.1"
1622
- }
1623
- },
1624
- "chalk": {
1625
- "version": "3.0.0",
1626
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
1627
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
1628
- "dev": true,
1629
- "requires": {
1630
- "ansi-styles": "^4.1.0",
1631
- "supports-color": "^7.1.0"
1632
- }
1633
- },
1634
- "color-convert": {
1635
- "version": "2.0.1",
1636
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1637
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1638
- "dev": true,
1639
- "requires": {
1640
- "color-name": "~1.1.4"
1641
- }
1642
- },
1643
- "color-name": {
1644
- "version": "1.1.4",
1645
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1646
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1647
- "dev": true
1648
- },
1649
- "has-flag": {
1650
- "version": "4.0.0",
1651
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1652
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1653
- "dev": true
1654
- },
1655
- "source-map": {
1656
- "version": "0.6.1",
1657
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1658
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1659
- "dev": true
1660
- },
1661
- "supports-color": {
1662
- "version": "7.2.0",
1663
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1664
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1665
- "dev": true,
1666
- "requires": {
1667
- "has-flag": "^4.0.0"
1668
- }
1669
- }
1670
- }
1671
- },
1672
- "@jest/source-map": {
1673
- "version": "25.5.0",
1674
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
1675
- "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
1676
- "dev": true,
1677
- "requires": {
1678
- "callsites": "^3.0.0",
1679
- "graceful-fs": "^4.2.4",
1680
- "source-map": "^0.6.0"
1681
- },
1682
- "dependencies": {
1683
- "source-map": {
1684
- "version": "0.6.1",
1685
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1686
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1687
- "dev": true
1688
- }
1689
- }
1690
- },
1691
- "@jest/test-result": {
1692
- "version": "25.5.0",
1693
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
1694
- "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
1695
- "dev": true,
1696
- "requires": {
1697
- "@jest/console": "^25.5.0",
1698
- "@jest/types": "^25.5.0",
1699
- "@types/istanbul-lib-coverage": "^2.0.0",
1700
- "collect-v8-coverage": "^1.0.0"
1701
- }
1702
- },
1703
- "@jest/test-sequencer": {
1704
- "version": "25.5.4",
1705
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz",
1706
- "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==",
1707
- "dev": true,
1708
- "requires": {
1709
- "@jest/test-result": "^25.5.0",
1710
- "graceful-fs": "^4.2.4",
1711
- "jest-haste-map": "^25.5.1",
1712
- "jest-runner": "^25.5.4",
1713
- "jest-runtime": "^25.5.4"
1714
- }
1715
- },
1716
- "@jest/transform": {
1717
- "version": "25.5.1",
1718
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
1719
- "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
1720
- "dev": true,
1721
- "requires": {
1722
- "@babel/core": "^7.1.0",
1723
- "@jest/types": "^25.5.0",
1724
- "babel-plugin-istanbul": "^6.0.0",
1725
- "chalk": "^3.0.0",
1726
- "convert-source-map": "^1.4.0",
1727
- "fast-json-stable-stringify": "^2.0.0",
1728
- "graceful-fs": "^4.2.4",
1729
- "jest-haste-map": "^25.5.1",
1730
- "jest-regex-util": "^25.2.6",
1731
- "jest-util": "^25.5.0",
1732
- "micromatch": "^4.0.2",
1733
- "pirates": "^4.0.1",
1734
- "realpath-native": "^2.0.0",
1735
- "slash": "^3.0.0",
1736
- "source-map": "^0.6.1",
1737
- "write-file-atomic": "^3.0.0"
1738
- },
1739
- "dependencies": {
1740
- "ansi-styles": {
1741
- "version": "4.3.0",
1742
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1743
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1744
- "dev": true,
1745
- "requires": {
1746
- "color-convert": "^2.0.1"
1747
- }
1748
- },
1749
- "braces": {
1750
- "version": "3.0.2",
1751
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1752
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1753
- "dev": true,
1754
- "requires": {
1755
- "fill-range": "^7.0.1"
1756
- }
1757
- },
1758
- "chalk": {
1759
- "version": "3.0.0",
1760
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
1761
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
1762
- "dev": true,
1763
- "requires": {
1764
- "ansi-styles": "^4.1.0",
1765
- "supports-color": "^7.1.0"
1766
- }
1767
- },
1768
- "color-convert": {
1769
- "version": "2.0.1",
1770
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1771
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1772
- "dev": true,
1773
- "requires": {
1774
- "color-name": "~1.1.4"
1775
- }
1776
- },
1777
- "color-name": {
1778
- "version": "1.1.4",
1779
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1780
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1781
- "dev": true
1782
- },
1783
- "fill-range": {
1784
- "version": "7.0.1",
1785
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1786
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1787
- "dev": true,
1788
- "requires": {
1789
- "to-regex-range": "^5.0.1"
1790
- }
1791
- },
1792
- "has-flag": {
1793
- "version": "4.0.0",
1794
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1795
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1796
- "dev": true
1797
- },
1798
- "is-number": {
1799
- "version": "7.0.0",
1800
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1801
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1802
- "dev": true
1803
- },
1804
- "micromatch": {
1805
- "version": "4.0.2",
1806
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
1807
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
1808
- "dev": true,
1809
- "requires": {
1810
- "braces": "^3.0.1",
1811
- "picomatch": "^2.0.5"
1812
- }
1813
- },
1814
- "source-map": {
1815
- "version": "0.6.1",
1816
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1817
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1818
- "dev": true
1819
- },
1820
- "supports-color": {
1821
- "version": "7.2.0",
1822
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1823
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1824
- "dev": true,
1825
- "requires": {
1826
- "has-flag": "^4.0.0"
1827
- }
1828
- },
1829
- "to-regex-range": {
1830
- "version": "5.0.1",
1831
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1832
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1833
- "dev": true,
1834
- "requires": {
1835
- "is-number": "^7.0.0"
1836
- }
1837
- }
1838
- }
1839
- },
1840
- "@jest/types": {
1841
- "version": "25.5.0",
1842
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
1843
- "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
1844
- "dev": true,
1845
- "requires": {
1846
- "@types/istanbul-lib-coverage": "^2.0.0",
1847
- "@types/istanbul-reports": "^1.1.1",
1848
- "@types/yargs": "^15.0.0",
1849
- "chalk": "^3.0.0"
1850
- },
1851
- "dependencies": {
1852
- "ansi-styles": {
1853
- "version": "4.3.0",
1854
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
1855
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
1856
- "dev": true,
1857
- "requires": {
1858
- "color-convert": "^2.0.1"
1859
- }
1860
- },
1861
- "chalk": {
1862
- "version": "3.0.0",
1863
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
1864
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
1865
- "dev": true,
1866
- "requires": {
1867
- "ansi-styles": "^4.1.0",
1868
- "supports-color": "^7.1.0"
1869
- }
1870
- },
1871
- "color-convert": {
1872
- "version": "2.0.1",
1873
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1874
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1875
- "dev": true,
1876
- "requires": {
1877
- "color-name": "~1.1.4"
1878
- }
1879
- },
1880
- "color-name": {
1881
- "version": "1.1.4",
1882
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1883
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1884
- "dev": true
1885
- },
1886
- "has-flag": {
1887
- "version": "4.0.0",
1888
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1889
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1890
- "dev": true
1891
- },
1892
- "supports-color": {
1893
- "version": "7.2.0",
1894
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1895
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1896
- "dev": true,
1897
- "requires": {
1898
- "has-flag": "^4.0.0"
1899
- }
1900
- }
1901
- }
1902
- },
1903
- "@nodelib/fs.scandir": {
1904
- "version": "2.1.3",
1905
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
1906
- "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
1907
- "dev": true,
1908
- "requires": {
1909
- "@nodelib/fs.stat": "2.0.3",
1910
- "run-parallel": "^1.1.9"
1911
- }
1912
- },
1913
- "@nodelib/fs.stat": {
1914
- "version": "2.0.3",
1915
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
1916
- "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
1917
- "dev": true
1918
- },
1919
- "@nodelib/fs.walk": {
1920
- "version": "1.2.4",
1921
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
1922
- "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
1923
- "dev": true,
1924
- "requires": {
1925
- "@nodelib/fs.scandir": "2.1.3",
1926
- "fastq": "^1.6.0"
1927
- }
1928
- },
1929
- "@npmcli/move-file": {
1930
- "version": "1.0.1",
1931
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz",
1932
- "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==",
1933
- "dev": true,
1934
- "requires": {
1935
- "mkdirp": "^1.0.4"
1936
- },
1937
- "dependencies": {
1938
- "mkdirp": {
1939
- "version": "1.0.4",
1940
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1941
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
1942
- "dev": true
1943
- }
1944
- }
1945
- },
1946
- "@sinonjs/commons": {
1947
- "version": "1.8.1",
1948
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz",
1949
- "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==",
1950
- "dev": true,
1951
- "requires": {
1952
- "type-detect": "4.0.8"
1953
- }
1954
- },
1955
- "@stylelint/postcss-css-in-js": {
1956
- "version": "0.37.2",
1957
- "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz",
1958
- "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==",
1959
- "dev": true,
1960
- "requires": {
1961
- "@babel/core": ">=7.9.0"
1962
- }
1963
- },
1964
- "@stylelint/postcss-markdown": {
1965
- "version": "0.36.1",
1966
- "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz",
1967
- "integrity": "sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw==",
1968
- "dev": true,
1969
- "requires": {
1970
- "remark": "^12.0.0",
1971
- "unist-util-find-all-after": "^3.0.1"
1972
- }
1973
- },
1974
- "@svgr/babel-plugin-add-jsx-attribute": {
1975
- "version": "5.4.0",
1976
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz",
1977
- "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==",
1978
- "dev": true
1979
- },
1980
- "@svgr/babel-plugin-remove-jsx-attribute": {
1981
- "version": "5.4.0",
1982
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz",
1983
- "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==",
1984
- "dev": true
1985
- },
1986
- "@svgr/babel-plugin-remove-jsx-empty-expression": {
1987
- "version": "5.0.1",
1988
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz",
1989
- "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==",
1990
- "dev": true
1991
- },
1992
- "@svgr/babel-plugin-replace-jsx-attribute-value": {
1993
- "version": "5.0.1",
1994
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz",
1995
- "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==",
1996
- "dev": true
1997
- },
1998
- "@svgr/babel-plugin-svg-dynamic-title": {
1999
- "version": "5.4.0",
2000
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz",
2001
- "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==",
2002
- "dev": true
2003
- },
2004
- "@svgr/babel-plugin-svg-em-dimensions": {
2005
- "version": "5.4.0",
2006
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz",
2007
- "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==",
2008
- "dev": true
2009
- },
2010
- "@svgr/babel-plugin-transform-react-native-svg": {
2011
- "version": "5.4.0",
2012
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz",
2013
- "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==",
2014
- "dev": true
2015
- },
2016
- "@svgr/babel-plugin-transform-svg-component": {
2017
- "version": "5.4.0",
2018
- "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.4.0.tgz",
2019
- "integrity": "sha512-zLl4Fl3NvKxxjWNkqEcpdSOpQ3LGVH2BNFQ6vjaK6sFo2IrSznrhURIPI0HAphKiiIwNYjAfE0TNoQDSZv0U9A==",
2020
- "dev": true
2021
- },
2022
- "@svgr/babel-preset": {
2023
- "version": "5.4.0",
2024
- "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.4.0.tgz",
2025
- "integrity": "sha512-Gyx7cCxua04DBtyILTYdQxeO/pwfTBev6+eXTbVbxe4HTGhOUW6yo7PSbG2p6eJMl44j6XSequ0ZDP7bl0nu9A==",
2026
- "dev": true,
2027
- "requires": {
2028
- "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0",
2029
- "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0",
2030
- "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1",
2031
- "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1",
2032
- "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0",
2033
- "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0",
2034
- "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0",
2035
- "@svgr/babel-plugin-transform-svg-component": "^5.4.0"
2036
- }
2037
- },
2038
- "@svgr/core": {
2039
- "version": "5.4.0",
2040
- "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.4.0.tgz",
2041
- "integrity": "sha512-hWGm1DCCvd4IEn7VgDUHYiC597lUYhFau2lwJBYpQWDirYLkX4OsXu9IslPgJ9UpP7wsw3n2Ffv9sW7SXJVfqQ==",
2042
- "dev": true,
2043
- "requires": {
2044
- "@svgr/plugin-jsx": "^5.4.0",
2045
- "camelcase": "^6.0.0",
2046
- "cosmiconfig": "^6.0.0"
2047
- }
2048
- },
2049
- "@svgr/hast-util-to-babel-ast": {
2050
- "version": "5.4.0",
2051
- "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.4.0.tgz",
2052
- "integrity": "sha512-+U0TZZpPsP2V1WvVhqAOSTk+N+CjYHdZx+x9UBa1eeeZDXwH8pt0CrQf2+SvRl/h2CAPRFkm+Ey96+jKP8Bsgg==",
2053
- "dev": true,
2054
- "requires": {
2055
- "@babel/types": "^7.9.5"
2056
- }
2057
- },
2058
- "@svgr/plugin-jsx": {
2059
- "version": "5.4.0",
2060
- "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.4.0.tgz",
2061
- "integrity": "sha512-SGzO4JZQ2HvGRKDzRga9YFSqOqaNrgLlQVaGvpZ2Iht2gwRp/tq+18Pvv9kS9ZqOMYgyix2LLxZMY1LOe9NPqw==",
2062
- "dev": true,
2063
- "requires": {
2064
- "@babel/core": "^7.7.5",
2065
- "@svgr/babel-preset": "^5.4.0",
2066
- "@svgr/hast-util-to-babel-ast": "^5.4.0",
2067
- "svg-parser": "^2.0.2"
2068
- }
2069
- },
2070
- "@svgr/plugin-svgo": {
2071
- "version": "5.4.0",
2072
- "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.4.0.tgz",
2073
- "integrity": "sha512-3Cgv3aYi1l6SHyzArV9C36yo4kgwVdF3zPQUC6/aCDUeXAofDYwE5kk3e3oT5ZO2a0N3lB+lLGvipBG6lnG8EA==",
2074
- "dev": true,
2075
- "requires": {
2076
- "cosmiconfig": "^6.0.0",
2077
- "merge-deep": "^3.0.2",
2078
- "svgo": "^1.2.2"
2079
- }
2080
- },
2081
- "@svgr/webpack": {
2082
- "version": "5.4.0",
2083
- "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.4.0.tgz",
2084
- "integrity": "sha512-LjepnS/BSAvelnOnnzr6Gg0GcpLmnZ9ThGFK5WJtm1xOqdBE/1IACZU7MMdVzjyUkfFqGz87eRE4hFaSLiUwYg==",
2085
- "dev": true,
2086
- "requires": {
2087
- "@babel/core": "^7.9.0",
2088
- "@babel/plugin-transform-react-constant-elements": "^7.9.0",
2089
- "@babel/preset-env": "^7.9.5",
2090
- "@babel/preset-react": "^7.9.4",
2091
- "@svgr/core": "^5.4.0",
2092
- "@svgr/plugin-jsx": "^5.4.0",
2093
- "@svgr/plugin-svgo": "^5.4.0",
2094
- "loader-utils": "^2.0.0"
2095
- }
2096
- },
2097
- "@tannin/compile": {
2098
- "version": "1.1.0",
2099
- "resolved": "https://registry.npmjs.org/@tannin/compile/-/compile-1.1.0.tgz",
2100
- "integrity": "sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg==",
2101
- "requires": {
2102
- "@tannin/evaluate": "^1.2.0",
2103
- "@tannin/postfix": "^1.1.0"
2104
- }
2105
- },
2106
- "@tannin/evaluate": {
2107
- "version": "1.2.0",
2108
- "resolved": "https://registry.npmjs.org/@tannin/evaluate/-/evaluate-1.2.0.tgz",
2109
- "integrity": "sha512-3ioXvNowbO/wSrxsDG5DKIMxC81P0QrQTYai8zFNY+umuoHWRPbQ/TuuDEOju9E+jQDXmj6yI5GyejNuh8I+eg=="
2110
- },
2111
- "@tannin/plural-forms": {
2112
- "version": "1.1.0",
2113
- "resolved": "https://registry.npmjs.org/@tannin/plural-forms/-/plural-forms-1.1.0.tgz",
2114
- "integrity": "sha512-xl9R2mDZO/qiHam1AgMnAES6IKIg7OBhcXqy6eDsRCdXuxAFPcjrej9HMjyCLE0DJ/8cHf0i5OQTstuBRhpbHw==",
2115
- "requires": {
2116
- "@tannin/compile": "^1.1.0"
2117
- }
2118
- },
2119
- "@tannin/postfix": {
2120
- "version": "1.1.0",
2121
- "resolved": "https://registry.npmjs.org/@tannin/postfix/-/postfix-1.1.0.tgz",
2122
- "integrity": "sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw=="
2123
- },
2124
- "@types/anymatch": {
2125
- "version": "1.3.1",
2126
- "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz",
2127
- "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==",
2128
- "dev": true
2129
- },
2130
- "@types/babel__core": {
2131
- "version": "7.1.10",
2132
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.10.tgz",
2133
- "integrity": "sha512-x8OM8XzITIMyiwl5Vmo2B1cR1S1Ipkyv4mdlbJjMa1lmuKvKY9FrBbEANIaMlnWn5Rf7uO+rC/VgYabNkE17Hw==",
2134
- "dev": true,
2135
- "requires": {
2136
- "@babel/parser": "^7.1.0",
2137
- "@babel/types": "^7.0.0",
2138
- "@types/babel__generator": "*",
2139
- "@types/babel__template": "*",
2140
- "@types/babel__traverse": "*"
2141
- }
2142
- },
2143
- "@types/babel__generator": {
2144
- "version": "7.6.2",
2145
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.2.tgz",
2146
- "integrity": "sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==",
2147
- "dev": true,
2148
- "requires": {
2149
- "@babel/types": "^7.0.0"
2150
- }
2151
- },
2152
- "@types/babel__template": {
2153
- "version": "7.0.3",
2154
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.3.tgz",
2155
- "integrity": "sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q==",
2156
- "dev": true,
2157
- "requires": {
2158
- "@babel/parser": "^7.1.0",
2159
- "@babel/types": "^7.0.0"
2160
- }
2161
- },
2162
- "@types/babel__traverse": {
2163
- "version": "7.0.15",
2164
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.15.tgz",
2165
- "integrity": "sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==",
2166
- "dev": true,
2167
- "requires": {
2168
- "@babel/types": "^7.3.0"
2169
- }
2170
- },
2171
- "@types/cheerio": {
2172
- "version": "0.22.22",
2173
- "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.22.tgz",
2174
- "integrity": "sha512-05DYX4zU96IBfZFY+t3Mh88nlwSMtmmzSYaQkKN48T495VV1dkHSah6qYyDTN5ngaS0i0VonH37m+RuzSM0YiA==",
2175
- "dev": true,
2176
- "requires": {
2177
- "@types/node": "*"
2178
- }
2179
- },
2180
- "@types/glob": {
2181
- "version": "7.1.3",
2182
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
2183
- "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
2184
- "dev": true,
2185
- "requires": {
2186
- "@types/minimatch": "*",
2187
- "@types/node": "*"
2188
- }
2189
- },
2190
- "@types/graceful-fs": {
2191
- "version": "4.1.3",
2192
- "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
2193
- "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==",
2194
- "dev": true,
2195
- "requires": {
2196
- "@types/node": "*"
2197
- }
2198
- },
2199
- "@types/istanbul-lib-coverage": {
2200
- "version": "2.0.3",
2201
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
2202
- "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==",
2203
- "dev": true
2204
- },
2205
- "@types/istanbul-lib-report": {
2206
- "version": "3.0.0",
2207
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
2208
- "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
2209
- "dev": true,
2210
- "requires": {
2211
- "@types/istanbul-lib-coverage": "*"
2212
- }
2213
- },
2214
- "@types/istanbul-reports": {
2215
- "version": "1.1.2",
2216
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
2217
- "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
2218
- "dev": true,
2219
- "requires": {
2220
- "@types/istanbul-lib-coverage": "*",
2221
- "@types/istanbul-lib-report": "*"
2222
- }
2223
- },
2224
- "@types/json-schema": {
2225
- "version": "7.0.6",
2226
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
2227
- "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
2228
- "dev": true
2229
- },
2230
- "@types/mime-types": {
2231
- "version": "2.1.0",
2232
- "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz",
2233
- "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=",
2234
- "dev": true
2235
- },
2236
- "@types/minimatch": {
2237
- "version": "3.0.3",
2238
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
2239
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
2240
- "dev": true
2241
- },
2242
- "@types/minimist": {
2243
- "version": "1.2.0",
2244
- "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz",
2245
- "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=",
2246
- "dev": true
2247
- },
2248
- "@types/node": {
2249
- "version": "14.14.0",
2250
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.0.tgz",
2251
- "integrity": "sha512-BfbIHP9IapdupGhq/hc+jT5dyiBVZ2DdeC5WwJWQWDb0GijQlzUFAeIQn/2GtvZcd2HVUU7An8felIICFTC2qg==",
2252
- "dev": true
2253
- },
2254
- "@types/normalize-package-data": {
2255
- "version": "2.4.0",
2256
- "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
2257
- "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
2258
- "dev": true
2259
- },
2260
- "@types/parse-json": {
2261
- "version": "4.0.0",
2262
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
2263
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
2264
- "dev": true
2265
- },
2266
- "@types/prettier": {
2267
- "version": "1.19.1",
2268
- "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
2269
- "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
2270
- "dev": true
2271
- },
2272
- "@types/prop-types": {
2273
- "version": "15.7.3",
2274
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz",
2275
- "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==",
2276
- "dev": true
2277
- },
2278
- "@types/q": {
2279
- "version": "1.5.4",
2280
- "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
2281
- "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
2282
- "dev": true
2283
- },
2284
- "@types/react": {
2285
- "version": "16.9.53",
2286
- "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.53.tgz",
2287
- "integrity": "sha512-4nW60Sd4L7+WMXH1D6jCdVftuW7j4Za6zdp6tJ33Rqv0nk1ZAmQKML9ZLD4H0dehA3FZxXR/GM8gXplf82oNGw==",
2288
- "dev": true,
2289
- "requires": {
2290
- "@types/prop-types": "*",
2291
- "csstype": "^3.0.2"
2292
- }
2293
- },
2294
- "@types/react-dom": {
2295
- "version": "16.9.8",
2296
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.8.tgz",
2297
- "integrity": "sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==",
2298
- "dev": true,
2299
- "requires": {
2300
- "@types/react": "*"
2301
- }
2302
- },
2303
- "@types/source-list-map": {
2304
- "version": "0.1.2",
2305
- "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
2306
- "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
2307
- "dev": true
2308
- },
2309
- "@types/stack-utils": {
2310
- "version": "1.0.1",
2311
- "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
2312
- "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==",
2313
- "dev": true
2314
- },
2315
- "@types/tapable": {
2316
- "version": "1.0.6",
2317
- "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz",
2318
- "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==",
2319
- "dev": true
2320
- },
2321
- "@types/uglify-js": {
2322
- "version": "3.11.0",
2323
- "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.0.tgz",
2324
- "integrity": "sha512-I0Yd8TUELTbgRHq2K65j8rnDPAzAP+DiaF/syLem7yXwYLsHZhPd+AM2iXsWmf9P2F2NlFCgl5erZPQx9IbM9Q==",
2325
- "dev": true,
2326
- "requires": {
2327
- "source-map": "^0.6.1"
2328
- },
2329
- "dependencies": {
2330
- "source-map": {
2331
- "version": "0.6.1",
2332
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2333
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2334
- "dev": true
2335
- }
2336
- }
2337
- },
2338
- "@types/unist": {
2339
- "version": "2.0.3",
2340
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
2341
- "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
2342
- "dev": true
2343
- },
2344
- "@types/webpack": {
2345
- "version": "4.41.22",
2346
- "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.22.tgz",
2347
- "integrity": "sha512-JQDJK6pj8OMV9gWOnN1dcLCyU9Hzs6lux0wBO4lr1+gyEhIBR9U3FMrz12t2GPkg110XAxEAw2WHF6g7nZIbRQ==",
2348
- "dev": true,
2349
- "requires": {
2350
- "@types/anymatch": "*",
2351
- "@types/node": "*",
2352
- "@types/tapable": "*",
2353
- "@types/uglify-js": "*",
2354
- "@types/webpack-sources": "*",
2355
- "source-map": "^0.6.0"
2356
- },
2357
- "dependencies": {
2358
- "source-map": {
2359
- "version": "0.6.1",
2360
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2361
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2362
- "dev": true
2363
- }
2364
- }
2365
- },
2366
- "@types/webpack-sources": {
2367
- "version": "2.0.0",
2368
- "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.0.0.tgz",
2369
- "integrity": "sha512-a5kPx98CNFRKQ+wqawroFunvFqv7GHm/3KOI52NY9xWADgc8smu4R6prt4EU/M4QfVjvgBkMqU4fBhw3QfMVkg==",
2370
- "dev": true,
2371
- "requires": {
2372
- "@types/node": "*",
2373
- "@types/source-list-map": "*",
2374
- "source-map": "^0.7.3"
2375
- },
2376
- "dependencies": {
2377
- "source-map": {
2378
- "version": "0.7.3",
2379
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
2380
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
2381
- "dev": true
2382
- }
2383
- }
2384
- },
2385
- "@types/yargs": {
2386
- "version": "15.0.9",
2387
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.9.tgz",
2388
- "integrity": "sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g==",
2389
- "dev": true,
2390
- "requires": {
2391
- "@types/yargs-parser": "*"
2392
- }
2393
- },
2394
- "@types/yargs-parser": {
2395
- "version": "15.0.0",
2396
- "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
2397
- "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==",
2398
- "dev": true
2399
- },
2400
- "@types/yauzl": {
2401
- "version": "2.9.1",
2402
- "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz",
2403
- "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==",
2404
- "dev": true,
2405
- "optional": true,
2406
- "requires": {
2407
- "@types/node": "*"
2408
- }
2409
- },
2410
- "@typescript-eslint/experimental-utils": {
2411
- "version": "2.34.0",
2412
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz",
2413
- "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==",
2414
- "dev": true,
2415
- "requires": {
2416
- "@types/json-schema": "^7.0.3",
2417
- "@typescript-eslint/typescript-estree": "2.34.0",
2418
- "eslint-scope": "^5.0.0",
2419
- "eslint-utils": "^2.0.0"
2420
- },
2421
- "dependencies": {
2422
- "eslint-scope": {
2423
- "version": "5.1.1",
2424
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
2425
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
2426
- "dev": true,
2427
- "requires": {
2428
- "esrecurse": "^4.3.0",
2429
- "estraverse": "^4.1.1"
2430
- }
2431
- }
2432
- }
2433
- },
2434
- "@typescript-eslint/typescript-estree": {
2435
- "version": "2.34.0",
2436
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz",
2437
- "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==",
2438
- "dev": true,
2439
- "requires": {
2440
- "debug": "^4.1.1",
2441
- "eslint-visitor-keys": "^1.1.0",
2442
- "glob": "^7.1.6",
2443
- "is-glob": "^4.0.1",
2444
- "lodash": "^4.17.15",
2445
- "semver": "^7.3.2",
2446
- "tsutils": "^3.17.1"
2447
- },
2448
- "dependencies": {
2449
- "semver": {
2450
- "version": "7.3.2",
2451
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
2452
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
2453
- "dev": true
2454
- }
2455
- }
2456
- },
2457
- "@webassemblyjs/ast": {
2458
- "version": "1.9.0",
2459
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
2460
- "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
2461
- "dev": true,
2462
- "requires": {
2463
- "@webassemblyjs/helper-module-context": "1.9.0",
2464
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
2465
- "@webassemblyjs/wast-parser": "1.9.0"
2466
- }
2467
- },
2468
- "@webassemblyjs/floating-point-hex-parser": {
2469
- "version": "1.9.0",
2470
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
2471
- "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
2472
- "dev": true
2473
- },
2474
- "@webassemblyjs/helper-api-error": {
2475
- "version": "1.9.0",
2476
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
2477
- "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
2478
- "dev": true
2479
- },
2480
- "@webassemblyjs/helper-buffer": {
2481
- "version": "1.9.0",
2482
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
2483
- "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
2484
- "dev": true
2485
- },
2486
- "@webassemblyjs/helper-code-frame": {
2487
- "version": "1.9.0",
2488
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
2489
- "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
2490
- "dev": true,
2491
- "requires": {
2492
- "@webassemblyjs/wast-printer": "1.9.0"
2493
- }
2494
- },
2495
- "@webassemblyjs/helper-fsm": {
2496
- "version": "1.9.0",
2497
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
2498
- "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
2499
- "dev": true
2500
- },
2501
- "@webassemblyjs/helper-module-context": {
2502
- "version": "1.9.0",
2503
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
2504
- "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
2505
- "dev": true,
2506
- "requires": {
2507
- "@webassemblyjs/ast": "1.9.0"
2508
- }
2509
- },
2510
- "@webassemblyjs/helper-wasm-bytecode": {
2511
- "version": "1.9.0",
2512
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
2513
- "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
2514
- "dev": true
2515
- },
2516
- "@webassemblyjs/helper-wasm-section": {
2517
- "version": "1.9.0",
2518
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
2519
- "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
2520
- "dev": true,
2521
- "requires": {
2522
- "@webassemblyjs/ast": "1.9.0",
2523
- "@webassemblyjs/helper-buffer": "1.9.0",
2524
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
2525
- "@webassemblyjs/wasm-gen": "1.9.0"
2526
- }
2527
- },
2528
- "@webassemblyjs/ieee754": {
2529
- "version": "1.9.0",
2530
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
2531
- "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
2532
- "dev": true,
2533
- "requires": {
2534
- "@xtuc/ieee754": "^1.2.0"
2535
- }
2536
- },
2537
- "@webassemblyjs/leb128": {
2538
- "version": "1.9.0",
2539
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
2540
- "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
2541
- "dev": true,
2542
- "requires": {
2543
- "@xtuc/long": "4.2.2"
2544
- }
2545
- },
2546
- "@webassemblyjs/utf8": {
2547
- "version": "1.9.0",
2548
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
2549
- "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
2550
- "dev": true
2551
- },
2552
- "@webassemblyjs/wasm-edit": {
2553
- "version": "1.9.0",
2554
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
2555
- "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
2556
- "dev": true,
2557
- "requires": {
2558
- "@webassemblyjs/ast": "1.9.0",
2559
- "@webassemblyjs/helper-buffer": "1.9.0",
2560
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
2561
- "@webassemblyjs/helper-wasm-section": "1.9.0",
2562
- "@webassemblyjs/wasm-gen": "1.9.0",
2563
- "@webassemblyjs/wasm-opt": "1.9.0",
2564
- "@webassemblyjs/wasm-parser": "1.9.0",
2565
- "@webassemblyjs/wast-printer": "1.9.0"
2566
- }
2567
- },
2568
- "@webassemblyjs/wasm-gen": {
2569
- "version": "1.9.0",
2570
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
2571
- "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
2572
- "dev": true,
2573
- "requires": {
2574
- "@webassemblyjs/ast": "1.9.0",
2575
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
2576
- "@webassemblyjs/ieee754": "1.9.0",
2577
- "@webassemblyjs/leb128": "1.9.0",
2578
- "@webassemblyjs/utf8": "1.9.0"
2579
- }
2580
- },
2581
- "@webassemblyjs/wasm-opt": {
2582
- "version": "1.9.0",
2583
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
2584
- "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
2585
- "dev": true,
2586
- "requires": {
2587
- "@webassemblyjs/ast": "1.9.0",
2588
- "@webassemblyjs/helper-buffer": "1.9.0",
2589
- "@webassemblyjs/wasm-gen": "1.9.0",
2590
- "@webassemblyjs/wasm-parser": "1.9.0"
2591
- }
2592
- },
2593
- "@webassemblyjs/wasm-parser": {
2594
- "version": "1.9.0",
2595
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
2596
- "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
2597
- "dev": true,
2598
- "requires": {
2599
- "@webassemblyjs/ast": "1.9.0",
2600
- "@webassemblyjs/helper-api-error": "1.9.0",
2601
- "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
2602
- "@webassemblyjs/ieee754": "1.9.0",
2603
- "@webassemblyjs/leb128": "1.9.0",
2604
- "@webassemblyjs/utf8": "1.9.0"
2605
- }
2606
- },
2607
- "@webassemblyjs/wast-parser": {
2608
- "version": "1.9.0",
2609
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
2610
- "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
2611
- "dev": true,
2612
- "requires": {
2613
- "@webassemblyjs/ast": "1.9.0",
2614
- "@webassemblyjs/floating-point-hex-parser": "1.9.0",
2615
- "@webassemblyjs/helper-api-error": "1.9.0",
2616
- "@webassemblyjs/helper-code-frame": "1.9.0",
2617
- "@webassemblyjs/helper-fsm": "1.9.0",
2618
- "@xtuc/long": "4.2.2"
2619
- }
2620
- },
2621
- "@webassemblyjs/wast-printer": {
2622
- "version": "1.9.0",
2623
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
2624
- "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
2625
- "dev": true,
2626
- "requires": {
2627
- "@webassemblyjs/ast": "1.9.0",
2628
- "@webassemblyjs/wast-parser": "1.9.0",
2629
- "@xtuc/long": "4.2.2"
2630
- }
2631
- },
2632
- "@wordpress/babel-plugin-import-jsx-pragma": {
2633
- "version": "2.7.0",
2634
- "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-2.7.0.tgz",
2635
- "integrity": "sha512-yR+rSyfHKfevW84vKBOERpjEslD/o00CaYMftywVYOjsOQ8GLS6xv/VgDcpQ8JomJ9eRRInLRpeGKTM3lOa4xQ==",
2636
- "dev": true
2637
- },
2638
- "@wordpress/babel-preset-default": {
2639
- "version": "4.19.0",
2640
- "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-4.19.0.tgz",
2641
- "integrity": "sha512-b/DQ17UGqWm5Z/c1j+wF8kW3Sqeg7e0CVFKeNd+uoI6wH+ruRsOcS7e0iutjQcwOLmvaZ3TYh48jjfkMBnLBqA==",
2642
- "dev": true,
2643
- "requires": {
2644
- "@babel/core": "^7.11.6",
2645
- "@babel/plugin-transform-react-jsx": "^7.10.4",
2646
- "@babel/plugin-transform-runtime": "^7.11.5",
2647
- "@babel/preset-env": "^7.11.5",
2648
- "@babel/runtime": "^7.11.2",
2649
- "@wordpress/babel-plugin-import-jsx-pragma": "^2.7.0",
2650
- "@wordpress/browserslist-config": "^2.7.0",
2651
- "@wordpress/element": "^2.18.0",
2652
- "@wordpress/warning": "^1.3.0",
2653
- "core-js": "^3.6.4"
2654
- }
2655
- },
2656
- "@wordpress/base-styles": {
2657
- "version": "3.2.0",
2658
- "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-3.2.0.tgz",
2659
- "integrity": "sha512-Ru6vp8CoBSUcge4ihScwMzf27q5BCl8WyQrVsxOcy8TeOz3cgGBaHMKspZaE0nH2MotYAhep+YDMzfbrJj81TA==",
2660
- "dev": true
2661
- },
2662
- "@wordpress/browserslist-config": {
2663
- "version": "2.7.0",
2664
- "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-2.7.0.tgz",
2665
- "integrity": "sha512-pB45JlfmHuEigNFZ1X+CTgIsOT3/TTb9iZxw1DHXge/7ytY8FNhtcNwTfF9IgnS6/xaFRZBqzw4DyH4sP1Lyxg==",
2666
- "dev": true
2667
- },
2668
- "@wordpress/dependency-extraction-webpack-plugin": {
2669
- "version": "2.8.0",
2670
- "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-2.8.0.tgz",
2671
- "integrity": "sha512-fEOsSl1kYY8gkiAe7OM9IopmSOtaAug37OQwKVeda5fK6xLsnpqprP5iwHHOApNWMEzgmVGS6/iW5IZoi7qv/A==",
2672
- "dev": true,
2673
- "requires": {
2674
- "json2php": "^0.0.4",
2675
- "webpack": "^4.8.3",
2676
- "webpack-sources": "^1.3.0"
2677
- }
2678
- },
2679
- "@wordpress/element": {
2680
- "version": "2.18.0",
2681
- "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.18.0.tgz",
2682
- "integrity": "sha512-aR1gOXFxIDcrLCSANe5PwOwYH40n29LzjqBascNkFo6f0LBekCZPbI3Bqq4EtoH/zjq2RKAO9PVPlQRDoQUlmA==",
2683
- "dev": true,
2684
- "requires": {
2685
- "@babel/runtime": "^7.11.2",
2686
- "@types/react": "^16.9.0",
2687
- "@types/react-dom": "^16.9.0",
2688
- "@wordpress/escape-html": "^1.10.0",
2689
- "lodash": "^4.17.19",
2690
- "react": "^16.13.1",
2691
- "react-dom": "^16.13.1"
2692
- }
2693
- },
2694
- "@wordpress/escape-html": {
2695
- "version": "1.10.0",
2696
- "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-1.10.0.tgz",
2697
- "integrity": "sha512-peG+Ypnw8L3YiUWSe/3Nmyzlaoqqbn5JaBaLpL0o6pBxFvGwKr00fFJoi+Yq2yZ3LEFDrHBHlVYAB6A2aYIbew==",
2698
- "dev": true,
2699
- "requires": {
2700
- "@babel/runtime": "^7.11.2"
2701
- }
2702
- },
2703
- "@wordpress/eslint-plugin": {
2704
- "version": "7.3.0",
2705
- "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-7.3.0.tgz",
2706
- "integrity": "sha512-7wIFzzc14E1XuuT9haBuhoA9FRUGWlbD4Oek+XkiZlzNVqZI3slgbtIFJ6/Mfij1V18rv6Ns9a1cPJLtCU8JHQ==",
2707
- "dev": true,
2708
- "requires": {
2709
- "@wordpress/prettier-config": "^0.4.0",
2710
- "babel-eslint": "^10.1.0",
2711
- "cosmiconfig": "^7.0.0",
2712
- "eslint-config-prettier": "^6.10.1",
2713
- "eslint-plugin-jest": "^23.8.2",
2714
- "eslint-plugin-jsdoc": "^30.2.2",
2715
- "eslint-plugin-jsx-a11y": "^6.2.3",
2716
- "eslint-plugin-prettier": "^3.1.2",
2717
- "eslint-plugin-react": "^7.20.0",
2718
- "eslint-plugin-react-hooks": "^4.0.4",
2719
- "globals": "^12.0.0",
2720
- "prettier": "npm:wp-prettier@2.0.5",
2721
- "requireindex": "^1.2.0"
2722
- },
2723
- "dependencies": {
2724
- "cosmiconfig": {
2725
- "version": "7.0.0",
2726
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
2727
- "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
2728
- "dev": true,
2729
- "requires": {
2730
- "@types/parse-json": "^4.0.0",
2731
- "import-fresh": "^3.2.1",
2732
- "parse-json": "^5.0.0",
2733
- "path-type": "^4.0.0",
2734
- "yaml": "^1.10.0"
2735
- }
2736
- },
2737
- "globals": {
2738
- "version": "12.4.0",
2739
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
2740
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
2741
- "dev": true,
2742
- "requires": {
2743
- "type-fest": "^0.8.1"
2744
- }
2745
- },
2746
- "prettier": {
2747
- "version": "npm:wp-prettier@2.0.5",
2748
- "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.0.5.tgz",
2749
- "integrity": "sha512-5GCgdeevIXwR3cW4Qj5XWC5MO1iSCz8+IPn0mMw6awAt/PBiey8yyO7MhePRsaMqghJAhg6Q3QLYWSnUHWkG6A==",
2750
- "dev": true
2751
- }
2752
- }
2753
- },
2754
- "@wordpress/i18n": {
2755
- "version": "3.16.0",
2756
- "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-3.16.0.tgz",
2757
- "integrity": "sha512-ZyRWplETgD90caVaBuGBFcnYVpcogji1g9Ctbb5AO2bGFeHpmPpjvWm0NE64iQTtLFEJoaCiq6oqUvAOPIQJpw==",
2758
- "requires": {
2759
- "@babel/runtime": "^7.11.2",
2760
- "gettext-parser": "^1.3.1",
2761
- "lodash": "^4.17.19",
2762
- "memize": "^1.1.0",
2763
- "sprintf-js": "^1.1.1",
2764
- "tannin": "^1.2.0"
2765
- },
2766
- "dependencies": {
2767
- "sprintf-js": {
2768
- "version": "1.1.2",
2769
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
2770
- "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
2771
- }
2772
- }
2773
- },
2774
- "@wordpress/jest-console": {
2775
- "version": "3.9.0",
2776
- "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-3.9.0.tgz",
2777
- "integrity": "sha512-SJU78Gku3BC5iXrcEAAkER/sBkguYAhaA+HVI4FARklsOfmdBbElrA5wjU0lY54CGTSqWHLy0YZJkaZ5V/YWXA==",
2778
- "dev": true,
2779
- "requires": {
2780
- "@babel/runtime": "^7.11.2",
2781
- "jest-matcher-utils": "^25.3.0",
2782
- "lodash": "^4.17.19"
2783
- }
2784
- },
2785
- "@wordpress/jest-preset-default": {
2786
- "version": "6.4.0",
2787
- "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-6.4.0.tgz",
2788
- "integrity": "sha512-xey6qdRFnK3apC9qOjP5zsw+CsaEIyp6DBmeEgz8QXVd3kI9lE31HarKI/eBY7RBe0hSYLxUJ8tEuTDVMkKX4g==",
2789
- "dev": true,
2790
- "requires": {
2791
- "@jest/reporters": "^25.3.0",
2792
- "@wordpress/jest-console": "^3.9.0",
2793
- "babel-jest": "^25.3.0",
2794
- "enzyme": "^3.11.0",
2795
- "enzyme-adapter-react-16": "^1.15.2",
2796
- "enzyme-to-json": "^3.4.4"
2797
- }
2798
- },
2799
- "@wordpress/npm-package-json-lint-config": {
2800
- "version": "3.1.0",
2801
- "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-3.1.0.tgz",
2802
- "integrity": "sha512-SYRWpzpQaSsBUiRO+ssqg6AHjgCF4j2npstGTGaKdVs/B720fLFzeyONuMmo1ZtMb9v6MyEWxVz5ON6dDgmVYg==",
2803
- "dev": true
2804
- },
2805
- "@wordpress/postcss-plugins-preset": {
2806
- "version": "1.5.1",
2807
- "resolved": "https://registry.npmjs.org/@wordpress/postcss-plugins-preset/-/postcss-plugins-preset-1.5.1.tgz",
2808
- "integrity": "sha512-E1TT0/79NXNbmcQJdtQpLn10ugkQNRw9P74piWgKvloUS+Yh7yvP6hfYF95HPFWDvB6Z9ycvGH5n/5TVjIDrrQ==",
2809
- "dev": true,
2810
- "requires": {
2811
- "@wordpress/base-styles": "^3.2.0",
2812
- "@wordpress/postcss-themes": "^2.6.0",
2813
- "autoprefixer": "^9.8.6",
2814
- "postcss-custom-properties": "^10.0.0"
2815
- }
2816
- },
2817
- "@wordpress/postcss-themes": {
2818
- "version": "2.6.0",
2819
- "resolved": "https://registry.npmjs.org/@wordpress/postcss-themes/-/postcss-themes-2.6.0.tgz",
2820
- "integrity": "sha512-Q22s1KSVdtoK0Z0ND06V2QwTx/U4KvJhWFmoI8IzYW/LGlk8BkQJhHH157Y9vFliwpMlQpqfXW6/zOg2XtvHzQ==",
2821
- "dev": true,
2822
- "requires": {
2823
- "postcss": "^7.0.32"
2824
- }
2825
- },
2826
- "@wordpress/prettier-config": {
2827
- "version": "0.4.0",
2828
- "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-0.4.0.tgz",
2829
- "integrity": "sha512-7c4VeugkCwDkaHSD7ffxoP0VC5c///gCTEAT032OhI5Rik2dPxE3EkNAB2NhotGE8M4dMAg4g5Wj2OWZIn8TFw==",
2830
- "dev": true
2831
- },
2832
- "@wordpress/scripts": {
2833
- "version": "12.4.0",
2834
- "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-12.4.0.tgz",
2835
- "integrity": "sha512-eVQYu9DyDm1Ld2IdrdPs2JFSUVItUONFwDBVOqfJtYRIoQo8T7mUf4L5HnDXcrsQBoYlZ9e6XwAsTLuZvtbvvg==",
2836
- "dev": true,
2837
- "requires": {
2838
- "@svgr/webpack": "^5.2.0",
2839
- "@wordpress/babel-preset-default": "^4.19.0",
2840
- "@wordpress/dependency-extraction-webpack-plugin": "^2.8.0",
2841
- "@wordpress/eslint-plugin": "^7.3.0",
2842
- "@wordpress/jest-preset-default": "^6.4.0",
2843
- "@wordpress/npm-package-json-lint-config": "^3.1.0",
2844
- "@wordpress/postcss-plugins-preset": "^1.5.1",
2845
- "@wordpress/prettier-config": "^0.4.0",
2846
- "babel-jest": "^25.3.0",
2847
- "babel-loader": "^8.1.0",
2848
- "chalk": "^4.0.0",
2849
- "check-node-version": "^3.1.1",
2850
- "clean-webpack-plugin": "^3.0.0",
2851
- "cross-spawn": "^5.1.0",
2852
- "css-loader": "^3.5.2",
2853
- "dir-glob": "^3.0.1",
2854
- "eslint": "^7.1.0",
2855
- "eslint-plugin-markdown": "^1.0.2",
2856
- "ignore-emit-webpack-plugin": "^2.0.2",
2857
- "jest": "^25.3.0",
2858
- "jest-puppeteer": "^4.4.0",
2859
- "markdownlint": "^0.18.0",
2860
- "markdownlint-cli": "^0.21.0",
2861
- "mini-css-extract-plugin": "^0.9.0",
2862
- "minimist": "^1.2.0",
2863
- "node-sass": "^4.13.1",
2864
- "npm-package-json-lint": "^5.0.0",
2865
- "postcss-loader": "^3.0.0",
2866
- "prettier": "npm:wp-prettier@2.0.5",
2867
- "puppeteer": "npm:puppeteer-core@3.0.0",
2868
- "read-pkg-up": "^1.0.1",
2869
- "resolve-bin": "^0.4.0",
2870
- "sass-loader": "^8.0.2",
2871
- "source-map-loader": "^0.2.4",
2872
- "stylelint": "^13.6.0",
2873
- "stylelint-config-wordpress": "^17.0.0",
2874
- "terser-webpack-plugin": "^3.0.3",
2875
- "thread-loader": "^2.1.3",
2876
- "url-loader": "^3.0.0",
2877
- "webpack": "^4.42.0",
2878
- "webpack-bundle-analyzer": "^3.6.1",
2879
- "webpack-cli": "^3.3.11",
2880
- "webpack-livereload-plugin": "^2.3.0"
2881
- },
2882
- "dependencies": {
2883
- "prettier": {
2884
- "version": "npm:wp-prettier@2.0.5",
2885
- "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.0.5.tgz",
2886
- "integrity": "sha512-5GCgdeevIXwR3cW4Qj5XWC5MO1iSCz8+IPn0mMw6awAt/PBiey8yyO7MhePRsaMqghJAhg6Q3QLYWSnUHWkG6A==",
2887
- "dev": true
2888
- },
2889
- "puppeteer": {
2890
- "version": "npm:puppeteer-core@3.0.0",
2891
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-3.0.0.tgz",
2892
- "integrity": "sha512-oWjZFGMc0q2ak+8OxdmMffS79LIT0UEtmpV4h1/AARvESIqqKljf8mrfP+dQ2kas7XttsAZIxRBuWu7Y5JH8KQ==",
2893
- "dev": true,
2894
- "requires": {
2895
- "@types/mime-types": "^2.1.0",
2896
- "debug": "^4.1.0",
2897
- "extract-zip": "^2.0.0",
2898
- "https-proxy-agent": "^4.0.0",
2899
- "mime": "^2.0.3",
2900
- "mime-types": "^2.1.25",
2901
- "progress": "^2.0.1",
2902
- "proxy-from-env": "^1.0.0",
2903
- "rimraf": "^3.0.2",
2904
- "tar-fs": "^2.0.0",
2905
- "unbzip2-stream": "^1.3.3",
2906
- "ws": "^7.2.3"
2907
- }
2908
- },
2909
- "rimraf": {
2910
- "version": "3.0.2",
2911
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2912
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2913
- "dev": true,
2914
- "requires": {
2915
- "glob": "^7.1.3"
2916
- }
2917
- }
2918
- }
2919
- },
2920
- "@wordpress/warning": {
2921
- "version": "1.3.0",
2922
- "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-1.3.0.tgz",
2923
- "integrity": "sha512-xwvgwqugc3zQawSPMMA09knAgap7IGgp0PxTXpFqizGFRIohoXFWERnPBZT0VsSCovqYS0ADcH+ZZgQ+BKAzLA==",
2924
- "dev": true
2925
- },
2926
- "@xtuc/ieee754": {
2927
- "version": "1.2.0",
2928
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
2929
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
2930
- "dev": true
2931
- },
2932
- "@xtuc/long": {
2933
- "version": "4.2.2",
2934
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
2935
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
2936
- "dev": true
2937
- },
2938
- "abab": {
2939
- "version": "2.0.5",
2940
- "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
2941
- "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
2942
- "dev": true
2943
- },
2944
- "abbrev": {
2945
- "version": "1.1.1",
2946
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
2947
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
2948
- "dev": true
2949
- },
2950
- "accepts": {
2951
- "version": "1.3.7",
2952
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
2953
- "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
2954
- "dev": true,
2955
- "requires": {
2956
- "mime-types": "~2.1.24",
2957
- "negotiator": "0.6.2"
2958
- }
2959
- },
2960
- "acorn": {
2961
- "version": "6.4.2",
2962
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
2963
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
2964
- "dev": true
2965
- },
2966
- "acorn-globals": {
2967
- "version": "4.3.4",
2968
- "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
2969
- "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
2970
- "dev": true,
2971
- "requires": {
2972
- "acorn": "^6.0.1",
2973
- "acorn-walk": "^6.0.1"
2974
- }
2975
- },
2976
- "acorn-jsx": {
2977
- "version": "5.3.1",
2978
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
2979
- "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
2980
- "dev": true
2981
- },
2982
- "acorn-walk": {
2983
- "version": "6.2.0",
2984
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
2985
- "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
2986
- "dev": true
2987
- },
2988
- "agent-base": {
2989
- "version": "5.1.1",
2990
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
2991
- "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
2992
- "dev": true
2993
- },
2994
- "aggregate-error": {
2995
- "version": "3.1.0",
2996
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
2997
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
2998
- "dev": true,
2999
- "requires": {
3000
- "clean-stack": "^2.0.0",
3001
- "indent-string": "^4.0.0"
3002
- },
3003
- "dependencies": {
3004
- "indent-string": {
3005
- "version": "4.0.0",
3006
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
3007
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
3008
- "dev": true
3009
- }
3010
- }
3011
- },
3012
- "airbnb-prop-types": {
3013
- "version": "2.16.0",
3014
- "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz",
3015
- "integrity": "sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==",
3016
- "dev": true,
3017
- "requires": {
3018
- "array.prototype.find": "^2.1.1",
3019
- "function.prototype.name": "^1.1.2",
3020
- "is-regex": "^1.1.0",
3021
- "object-is": "^1.1.2",
3022
- "object.assign": "^4.1.0",
3023
- "object.entries": "^1.1.2",
3024
- "prop-types": "^15.7.2",
3025
- "prop-types-exact": "^1.2.0",
3026
- "react-is": "^16.13.1"
3027
- }
3028
- },
3029
- "ajv": {
3030
- "version": "6.12.6",
3031
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
3032
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
3033
- "dev": true,
3034
- "requires": {
3035
- "fast-deep-equal": "^3.1.1",
3036
- "fast-json-stable-stringify": "^2.0.0",
3037
- "json-schema-traverse": "^0.4.1",
3038
- "uri-js": "^4.2.2"
3039
- }
3040
- },
3041
- "ajv-errors": {
3042
- "version": "1.0.1",
3043
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
3044
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
3045
- "dev": true
3046
- },
3047
- "ajv-keywords": {
3048
- "version": "3.5.2",
3049
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
3050
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
3051
- "dev": true
3052
- },
3053
- "amdefine": {
3054
- "version": "1.0.1",
3055
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
3056
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
3057
- "dev": true
3058
- },
3059
- "ansi-colors": {
3060
- "version": "4.1.1",
3061
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
3062
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
3063
- "dev": true
3064
- },
3065
- "ansi-escapes": {
3066
- "version": "4.3.1",
3067
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
3068
- "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
3069
- "dev": true,
3070
- "requires": {
3071
- "type-fest": "^0.11.0"
3072
- },
3073
- "dependencies": {
3074
- "type-fest": {
3075
- "version": "0.11.0",
3076
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
3077
- "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
3078
- "dev": true
3079
- }
3080
- }
3081
- },
3082
- "ansi-regex": {
3083
- "version": "4.1.0",
3084
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
3085
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
3086
- "dev": true
3087
- },
3088
- "ansi-styles": {
3089
- "version": "3.2.1",
3090
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
3091
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
3092
- "dev": true,
3093
- "requires": {
3094
- "color-convert": "^1.9.0"
3095
- }
3096
- },
3097
- "anymatch": {
3098
- "version": "3.1.1",
3099
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
3100
- "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
3101
- "dev": true,
3102
- "requires": {
3103
- "normalize-path": "^3.0.0",
3104
- "picomatch": "^2.0.4"
3105
- }
3106
- },
3107
- "aproba": {
3108
- "version": "1.2.0",
3109
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
3110
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
3111
- "dev": true
3112
- },
3113
- "are-we-there-yet": {
3114
- "version": "1.1.5",
3115
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
3116
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
3117
- "dev": true,
3118
- "requires": {
3119
- "delegates": "^1.0.0",
3120
- "readable-stream": "^2.0.6"
3121
- }
3122
- },
3123
- "argparse": {
3124
- "version": "1.0.10",
3125
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
3126
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
3127
- "dev": true,
3128
- "requires": {
3129
- "sprintf-js": "~1.0.2"
3130
- }
3131
- },
3132
- "aria-query": {
3133
- "version": "4.2.2",
3134
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
3135
- "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
3136
- "dev": true,
3137
- "requires": {
3138
- "@babel/runtime": "^7.10.2",
3139
- "@babel/runtime-corejs3": "^7.10.2"
3140
- }
3141
- },
3142
- "arr-diff": {
3143
- "version": "4.0.0",
3144
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
3145
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
3146
- "dev": true
3147
- },
3148
- "arr-flatten": {
3149
- "version": "1.1.0",
3150
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
3151
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
3152
- "dev": true
3153
- },
3154
- "arr-union": {
3155
- "version": "3.1.0",
3156
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
3157
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
3158
- "dev": true
3159
- },
3160
- "array-equal": {
3161
- "version": "1.0.0",
3162
- "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
3163
- "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
3164
- "dev": true
3165
- },
3166
- "array-filter": {
3167
- "version": "1.0.0",
3168
- "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
3169
- "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
3170
- "dev": true
3171
- },
3172
- "array-find-index": {
3173
- "version": "1.0.2",
3174
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
3175
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
3176
- "dev": true
3177
- },
3178
- "array-flatten": {
3179
- "version": "1.1.1",
3180
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
3181
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
3182
- "dev": true
3183
- },
3184
- "array-includes": {
3185
- "version": "3.1.1",
3186
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
3187
- "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
3188
- "dev": true,
3189
- "requires": {
3190
- "define-properties": "^1.1.3",
3191
- "es-abstract": "^1.17.0",
3192
- "is-string": "^1.0.5"
3193
- },
3194
- "dependencies": {
3195
- "es-abstract": {
3196
- "version": "1.17.7",
3197
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
3198
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
3199
- "dev": true,
3200
- "requires": {
3201
- "es-to-primitive": "^1.2.1",
3202
- "function-bind": "^1.1.1",
3203
- "has": "^1.0.3",
3204
- "has-symbols": "^1.0.1",
3205
- "is-callable": "^1.2.2",
3206
- "is-regex": "^1.1.1",
3207
- "object-inspect": "^1.8.0",
3208
- "object-keys": "^1.1.1",
3209
- "object.assign": "^4.1.1",
3210
- "string.prototype.trimend": "^1.0.1",
3211
- "string.prototype.trimstart": "^1.0.1"
3212
- }
3213
- }
3214
- }
3215
- },
3216
- "array-union": {
3217
- "version": "1.0.2",
3218
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
3219
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
3220
- "dev": true,
3221
- "requires": {
3222
- "array-uniq": "^1.0.1"
3223
- }
3224
- },
3225
- "array-uniq": {
3226
- "version": "1.0.3",
3227
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
3228
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
3229
- "dev": true
3230
- },
3231
- "array-unique": {
3232
- "version": "0.3.2",
3233
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
3234
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
3235
- "dev": true
3236
- },
3237
- "array.prototype.find": {
3238
- "version": "2.1.1",
3239
- "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.1.1.tgz",
3240
- "integrity": "sha512-mi+MYNJYLTx2eNYy+Yh6raoQacCsNeeMUaspFPh9Y141lFSsWxxB8V9mM2ye+eqiRs917J6/pJ4M9ZPzenWckA==",
3241
- "dev": true,
3242
- "requires": {
3243
- "define-properties": "^1.1.3",
3244
- "es-abstract": "^1.17.4"
3245
- },
3246
- "dependencies": {
3247
- "es-abstract": {
3248
- "version": "1.17.7",
3249
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
3250
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
3251
- "dev": true,
3252
- "requires": {
3253
- "es-to-primitive": "^1.2.1",
3254
- "function-bind": "^1.1.1",
3255
- "has": "^1.0.3",
3256
- "has-symbols": "^1.0.1",
3257
- "is-callable": "^1.2.2",
3258
- "is-regex": "^1.1.1",
3259
- "object-inspect": "^1.8.0",
3260
- "object-keys": "^1.1.1",
3261
- "object.assign": "^4.1.1",
3262
- "string.prototype.trimend": "^1.0.1",
3263
- "string.prototype.trimstart": "^1.0.1"
3264
- }
3265
- }
3266
- }
3267
- },
3268
- "array.prototype.flat": {
3269
- "version": "1.2.3",
3270
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
3271
- "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
3272
- "dev": true,
3273
- "requires": {
3274
- "define-properties": "^1.1.3",
3275
- "es-abstract": "^1.17.0-next.1"
3276
- },
3277
- "dependencies": {
3278
- "es-abstract": {
3279
- "version": "1.17.7",
3280
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
3281
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
3282
- "dev": true,
3283
- "requires": {
3284
- "es-to-primitive": "^1.2.1",
3285
- "function-bind": "^1.1.1",
3286
- "has": "^1.0.3",
3287
- "has-symbols": "^1.0.1",
3288
- "is-callable": "^1.2.2",
3289
- "is-regex": "^1.1.1",
3290
- "object-inspect": "^1.8.0",
3291
- "object-keys": "^1.1.1",
3292
- "object.assign": "^4.1.1",
3293
- "string.prototype.trimend": "^1.0.1",
3294
- "string.prototype.trimstart": "^1.0.1"
3295
- }
3296
- }
3297
- }
3298
- },
3299
- "array.prototype.flatmap": {
3300
- "version": "1.2.3",
3301
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz",
3302
- "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==",
3303
- "dev": true,
3304
- "requires": {
3305
- "define-properties": "^1.1.3",
3306
- "es-abstract": "^1.17.0-next.1",
3307
- "function-bind": "^1.1.1"
3308
- },
3309
- "dependencies": {
3310
- "es-abstract": {
3311
- "version": "1.17.7",
3312
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
3313
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
3314
- "dev": true,
3315
- "requires": {
3316
- "es-to-primitive": "^1.2.1",
3317
- "function-bind": "^1.1.1",
3318
- "has": "^1.0.3",
3319
- "has-symbols": "^1.0.1",
3320
- "is-callable": "^1.2.2",
3321
- "is-regex": "^1.1.1",
3322
- "object-inspect": "^1.8.0",
3323
- "object-keys": "^1.1.1",
3324
- "object.assign": "^4.1.1",
3325
- "string.prototype.trimend": "^1.0.1",
3326
- "string.prototype.trimstart": "^1.0.1"
3327
- }
3328
- }
3329
- }
3330
- },
3331
- "arrify": {
3332
- "version": "1.0.1",
3333
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
3334
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
3335
- "dev": true
3336
- },
3337
- "asn1": {
3338
- "version": "0.2.4",
3339
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
3340
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
3341
- "dev": true,
3342
- "requires": {
3343
- "safer-buffer": "~2.1.0"
3344
- }
3345
- },
3346
- "asn1.js": {
3347
- "version": "5.4.1",
3348
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
3349
- "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
3350
- "dev": true,
3351
- "requires": {
3352
- "bn.js": "^4.0.0",
3353
- "inherits": "^2.0.1",
3354
- "minimalistic-assert": "^1.0.0",
3355
- "safer-buffer": "^2.1.0"
3356
- },
3357
- "dependencies": {
3358
- "bn.js": {
3359
- "version": "4.11.9",
3360
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
3361
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
3362
- "dev": true
3363
- }
3364
- }
3365
- },
3366
- "assert": {
3367
- "version": "1.5.0",
3368
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
3369
- "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
3370
- "dev": true,
3371
- "requires": {
3372
- "object-assign": "^4.1.1",
3373
- "util": "0.10.3"
3374
- },
3375
- "dependencies": {
3376
- "inherits": {
3377
- "version": "2.0.1",
3378
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
3379
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
3380
- "dev": true
3381
- },
3382
- "util": {
3383
- "version": "0.10.3",
3384
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
3385
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
3386
- "dev": true,
3387
- "requires": {
3388
- "inherits": "2.0.1"
3389
- }
3390
- }
3391
- }
3392
- },
3393
- "assert-plus": {
3394
- "version": "1.0.0",
3395
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
3396
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
3397
- "dev": true
3398
- },
3399
- "assign-symbols": {
3400
- "version": "1.0.0",
3401
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
3402
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
3403
- "dev": true
3404
- },
3405
- "ast-types-flow": {
3406
- "version": "0.0.7",
3407
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
3408
- "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
3409
- "dev": true
3410
- },
3411
- "astral-regex": {
3412
- "version": "1.0.0",
3413
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
3414
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
3415
- "dev": true
3416
- },
3417
- "async": {
3418
- "version": "2.6.3",
3419
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
3420
- "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
3421
- "dev": true,
3422
- "requires": {
3423
- "lodash": "^4.17.14"
3424
- }
3425
- },
3426
- "async-each": {
3427
- "version": "1.0.3",
3428
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
3429
- "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
3430
- "dev": true,
3431
- "optional": true
3432
- },
3433
- "async-foreach": {
3434
- "version": "0.1.3",
3435
- "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
3436
- "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
3437
- "dev": true
3438
- },
3439
- "async-limiter": {
3440
- "version": "1.0.1",
3441
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
3442
- "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
3443
- "dev": true
3444
- },
3445
- "asynckit": {
3446
- "version": "0.4.0",
3447
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
3448
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
3449
- "dev": true
3450
- },
3451
- "atob": {
3452
- "version": "2.1.2",
3453
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
3454
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
3455
- "dev": true
3456
- },
3457
- "autoprefixer": {
3458
- "version": "9.8.6",
3459
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
3460
- "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
3461
- "dev": true,
3462
- "requires": {
3463
- "browserslist": "^4.12.0",
3464
- "caniuse-lite": "^1.0.30001109",
3465
- "colorette": "^1.2.1",
3466
- "normalize-range": "^0.1.2",
3467
- "num2fraction": "^1.2.2",
3468
- "postcss": "^7.0.32",
3469
- "postcss-value-parser": "^4.1.0"
3470
- }
3471
- },
3472
- "aws-sign2": {
3473
- "version": "0.7.0",
3474
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
3475
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
3476
- "dev": true
3477
- },
3478
- "aws4": {
3479
- "version": "1.10.1",
3480
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz",
3481
- "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==",
3482
- "dev": true
3483
- },
3484
- "axe-core": {
3485
- "version": "3.5.5",
3486
- "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz",
3487
- "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==",
3488
- "dev": true
3489
- },
3490
- "axobject-query": {
3491
- "version": "2.2.0",
3492
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
3493
- "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==",
3494
- "dev": true
3495
- },
3496
- "babel-eslint": {
3497
- "version": "10.1.0",
3498
- "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz",
3499
- "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==",
3500
- "dev": true,
3501
- "requires": {
3502
- "@babel/code-frame": "^7.0.0",
3503
- "@babel/parser": "^7.7.0",
3504
- "@babel/traverse": "^7.7.0",
3505
- "@babel/types": "^7.7.0",
3506
- "eslint-visitor-keys": "^1.0.0",
3507
- "resolve": "^1.12.0"
3508
- }
3509
- },
3510
- "babel-jest": {
3511
- "version": "25.5.1",
3512
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
3513
- "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
3514
- "dev": true,
3515
- "requires": {
3516
- "@jest/transform": "^25.5.1",
3517
- "@jest/types": "^25.5.0",
3518
- "@types/babel__core": "^7.1.7",
3519
- "babel-plugin-istanbul": "^6.0.0",
3520
- "babel-preset-jest": "^25.5.0",
3521
- "chalk": "^3.0.0",
3522
- "graceful-fs": "^4.2.4",
3523
- "slash": "^3.0.0"
3524
- },
3525
- "dependencies": {
3526
- "ansi-styles": {
3527
- "version": "4.3.0",
3528
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
3529
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
3530
- "dev": true,
3531
- "requires": {
3532
- "color-convert": "^2.0.1"
3533
- }
3534
- },
3535
- "chalk": {
3536
- "version": "3.0.0",
3537
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
3538
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
3539
- "dev": true,
3540
- "requires": {
3541
- "ansi-styles": "^4.1.0",
3542
- "supports-color": "^7.1.0"
3543
- }
3544
- },
3545
- "color-convert": {
3546
- "version": "2.0.1",
3547
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
3548
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
3549
- "dev": true,
3550
- "requires": {
3551
- "color-name": "~1.1.4"
3552
- }
3553
- },
3554
- "color-name": {
3555
- "version": "1.1.4",
3556
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
3557
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
3558
- "dev": true
3559
- },
3560
- "has-flag": {
3561
- "version": "4.0.0",
3562
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
3563
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
3564
- "dev": true
3565
- },
3566
- "supports-color": {
3567
- "version": "7.2.0",
3568
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
3569
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
3570
- "dev": true,
3571
- "requires": {
3572
- "has-flag": "^4.0.0"
3573
- }
3574
- }
3575
- }
3576
- },
3577
- "babel-loader": {
3578
- "version": "8.1.0",
3579
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
3580
- "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
3581
- "dev": true,
3582
- "requires": {
3583
- "find-cache-dir": "^2.1.0",
3584
- "loader-utils": "^1.4.0",
3585
- "mkdirp": "^0.5.3",
3586
- "pify": "^4.0.1",
3587
- "schema-utils": "^2.6.5"
3588
- },
3589
- "dependencies": {
3590
- "json5": {
3591
- "version": "1.0.1",
3592
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
3593
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
3594
- "dev": true,
3595
- "requires": {
3596
- "minimist": "^1.2.0"
3597
- }
3598
- },
3599
- "loader-utils": {
3600
- "version": "1.4.0",
3601
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
3602
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
3603
- "dev": true,
3604
- "requires": {
3605
- "big.js": "^5.2.2",
3606
- "emojis-list": "^3.0.0",
3607
- "json5": "^1.0.1"
3608
- }
3609
- },
3610
- "schema-utils": {
3611
- "version": "2.7.1",
3612
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
3613
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
3614
- "dev": true,
3615
- "requires": {
3616
- "@types/json-schema": "^7.0.5",
3617
- "ajv": "^6.12.4",
3618
- "ajv-keywords": "^3.5.2"
3619
- }
3620
- }
3621
- }
3622
- },
3623
- "babel-plugin-dynamic-import-node": {
3624
- "version": "2.3.3",
3625
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
3626
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
3627
- "dev": true,
3628
- "requires": {
3629
- "object.assign": "^4.1.0"
3630
- }
3631
- },
3632
- "babel-plugin-istanbul": {
3633
- "version": "6.0.0",
3634
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
3635
- "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
3636
- "dev": true,
3637
- "requires": {
3638
- "@babel/helper-plugin-utils": "^7.0.0",
3639
- "@istanbuljs/load-nyc-config": "^1.0.0",
3640
- "@istanbuljs/schema": "^0.1.2",
3641
- "istanbul-lib-instrument": "^4.0.0",
3642
- "test-exclude": "^6.0.0"
3643
- }
3644
- },
3645
- "babel-plugin-jest-hoist": {
3646
- "version": "25.5.0",
3647
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
3648
- "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
3649
- "dev": true,
3650
- "requires": {
3651
- "@babel/template": "^7.3.3",
3652
- "@babel/types": "^7.3.3",
3653
- "@types/babel__traverse": "^7.0.6"
3654
- }
3655
- },
3656
- "babel-preset-current-node-syntax": {
3657
- "version": "0.1.4",
3658
- "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz",
3659
- "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==",
3660
- "dev": true,
3661
- "requires": {
3662
- "@babel/plugin-syntax-async-generators": "^7.8.4",
3663
- "@babel/plugin-syntax-bigint": "^7.8.3",
3664
- "@babel/plugin-syntax-class-properties": "^7.8.3",
3665
- "@babel/plugin-syntax-import-meta": "^7.8.3",
3666
- "@babel/plugin-syntax-json-strings": "^7.8.3",
3667
- "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
3668
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
3669
- "@babel/plugin-syntax-numeric-separator": "^7.8.3",
3670
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
3671
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
3672
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
3673
- }
3674
- },
3675
- "babel-preset-jest": {
3676
- "version": "25.5.0",
3677
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
3678
- "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
3679
- "dev": true,
3680
- "requires": {
3681
- "babel-plugin-jest-hoist": "^25.5.0",
3682
- "babel-preset-current-node-syntax": "^0.1.2"
3683
- }
3684
- },
3685
- "bail": {
3686
- "version": "1.0.5",
3687
- "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
3688
- "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
3689
- "dev": true
3690
- },
3691
- "balanced-match": {
3692
- "version": "1.0.0",
3693
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
3694
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
3695
- "dev": true
3696
- },
3697
- "base": {
3698
- "version": "0.11.2",
3699
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
3700
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
3701
- "dev": true,
3702
- "requires": {
3703
- "cache-base": "^1.0.1",
3704
- "class-utils": "^0.3.5",
3705
- "component-emitter": "^1.2.1",
3706
- "define-property": "^1.0.0",
3707
- "isobject": "^3.0.1",
3708
- "mixin-deep": "^1.2.0",
3709
- "pascalcase": "^0.1.1"
3710
- },
3711
- "dependencies": {
3712
- "define-property": {
3713
- "version": "1.0.0",
3714
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
3715
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
3716
- "dev": true,
3717
- "requires": {
3718
- "is-descriptor": "^1.0.0"
3719
- }
3720
- },
3721
- "is-accessor-descriptor": {
3722
- "version": "1.0.0",
3723
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3724
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3725
- "dev": true,
3726
- "requires": {
3727
- "kind-of": "^6.0.0"
3728
- }
3729
- },
3730
- "is-data-descriptor": {
3731
- "version": "1.0.0",
3732
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3733
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3734
- "dev": true,
3735
- "requires": {
3736
- "kind-of": "^6.0.0"
3737
- }
3738
- },
3739
- "is-descriptor": {
3740
- "version": "1.0.2",
3741
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3742
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3743
- "dev": true,
3744
- "requires": {
3745
- "is-accessor-descriptor": "^1.0.0",
3746
- "is-data-descriptor": "^1.0.0",
3747
- "kind-of": "^6.0.2"
3748
- }
3749
- },
3750
- "kind-of": {
3751
- "version": "6.0.3",
3752
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
3753
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
3754
- "dev": true
3755
- }
3756
- }
3757
- },
3758
- "base64-js": {
3759
- "version": "1.3.1",
3760
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
3761
- "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
3762
- "dev": true
3763
- },
3764
- "bcrypt-pbkdf": {
3765
- "version": "1.0.2",
3766
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
3767
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
3768
- "dev": true,
3769
- "requires": {
3770
- "tweetnacl": "^0.14.3"
3771
- }
3772
- },
3773
- "bfj": {
3774
- "version": "6.1.2",
3775
- "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz",
3776
- "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==",
3777
- "dev": true,
3778
- "requires": {
3779
- "bluebird": "^3.5.5",
3780
- "check-types": "^8.0.3",
3781
- "hoopy": "^0.1.4",
3782
- "tryer": "^1.0.1"
3783
- }
3784
- },
3785
- "big.js": {
3786
- "version": "5.2.2",
3787
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
3788
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
3789
- "dev": true
3790
- },
3791
- "binary-extensions": {
3792
- "version": "2.1.0",
3793
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
3794
- "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
3795
- "dev": true,
3796
- "optional": true
3797
- },
3798
- "bl": {
3799
- "version": "4.0.3",
3800
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz",
3801
- "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==",
3802
- "dev": true,
3803
- "requires": {
3804
- "buffer": "^5.5.0",
3805
- "inherits": "^2.0.4",
3806
- "readable-stream": "^3.4.0"
3807
- },
3808
- "dependencies": {
3809
- "buffer": {
3810
- "version": "5.7.1",
3811
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
3812
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
3813
- "dev": true,
3814
- "requires": {
3815
- "base64-js": "^1.3.1",
3816
- "ieee754": "^1.1.13"
3817
- }
3818
- },
3819
- "readable-stream": {
3820
- "version": "3.6.0",
3821
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
3822
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
3823
- "dev": true,
3824
- "requires": {
3825
- "inherits": "^2.0.3",
3826
- "string_decoder": "^1.1.1",
3827
- "util-deprecate": "^1.0.1"
3828
- }
3829
- }
3830
- }
3831
- },
3832
- "block-stream": {
3833
- "version": "0.0.9",
3834
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
3835
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
3836
- "dev": true,
3837
- "requires": {
3838
- "inherits": "~2.0.0"
3839
- }
3840
- },
3841
- "bluebird": {
3842
- "version": "3.7.2",
3843
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
3844
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
3845
- "dev": true
3846
- },
3847
- "bn.js": {
3848
- "version": "5.1.3",
3849
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
3850
- "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==",
3851
- "dev": true
3852
- },
3853
- "body": {
3854
- "version": "5.1.0",
3855
- "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
3856
- "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
3857
- "dev": true,
3858
- "requires": {
3859
- "continuable-cache": "^0.3.1",
3860
- "error": "^7.0.0",
3861
- "raw-body": "~1.1.0",
3862
- "safe-json-parse": "~1.0.1"
3863
- },
3864
- "dependencies": {
3865
- "bytes": {
3866
- "version": "1.0.0",
3867
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
3868
- "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
3869
- "dev": true
3870
- },
3871
- "raw-body": {
3872
- "version": "1.1.7",
3873
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
3874
- "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
3875
- "dev": true,
3876
- "requires": {
3877
- "bytes": "1",
3878
- "string_decoder": "0.10"
3879
- }
3880
- },
3881
- "string_decoder": {
3882
- "version": "0.10.31",
3883
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
3884
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
3885
- "dev": true
3886
- }
3887
- }
3888
- },
3889
- "body-parser": {
3890
- "version": "1.19.0",
3891
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
3892
- "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
3893
- "dev": true,
3894
- "requires": {
3895
- "bytes": "3.1.0",
3896
- "content-type": "~1.0.4",
3897
- "debug": "2.6.9",
3898
- "depd": "~1.1.2",
3899
- "http-errors": "1.7.2",
3900
- "iconv-lite": "0.4.24",
3901
- "on-finished": "~2.3.0",
3902
- "qs": "6.7.0",
3903
- "raw-body": "2.4.0",
3904
- "type-is": "~1.6.17"
3905
- },
3906
- "dependencies": {
3907
- "debug": {
3908
- "version": "2.6.9",
3909
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
3910
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
3911
- "dev": true,
3912
- "requires": {
3913
- "ms": "2.0.0"
3914
- }
3915
- },
3916
- "ms": {
3917
- "version": "2.0.0",
3918
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
3919
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
3920
- "dev": true
3921
- },
3922
- "qs": {
3923
- "version": "6.7.0",
3924
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
3925
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
3926
- "dev": true
3927
- }
3928
- }
3929
- },
3930
- "boolbase": {
3931
- "version": "1.0.0",
3932
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
3933
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
3934
- "dev": true
3935
- },
3936
- "brace-expansion": {
3937
- "version": "1.1.11",
3938
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
3939
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
3940
- "dev": true,
3941
- "requires": {
3942
- "balanced-match": "^1.0.0",
3943
- "concat-map": "0.0.1"
3944
- }
3945
- },
3946
- "braces": {
3947
- "version": "2.3.2",
3948
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
3949
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
3950
- "dev": true,
3951
- "requires": {
3952
- "arr-flatten": "^1.1.0",
3953
- "array-unique": "^0.3.2",
3954
- "extend-shallow": "^2.0.1",
3955
- "fill-range": "^4.0.0",
3956
- "isobject": "^3.0.1",
3957
- "repeat-element": "^1.1.2",
3958
- "snapdragon": "^0.8.1",
3959
- "snapdragon-node": "^2.0.1",
3960
- "split-string": "^3.0.2",
3961
- "to-regex": "^3.0.1"
3962
- },
3963
- "dependencies": {
3964
- "extend-shallow": {
3965
- "version": "2.0.1",
3966
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3967
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3968
- "dev": true,
3969
- "requires": {
3970
- "is-extendable": "^0.1.0"
3971
- }
3972
- }
3973
- }
3974
- },
3975
- "brorand": {
3976
- "version": "1.1.0",
3977
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
3978
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
3979
- "dev": true
3980
- },
3981
- "browser-process-hrtime": {
3982
- "version": "1.0.0",
3983
- "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
3984
- "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
3985
- "dev": true
3986
- },
3987
- "browser-resolve": {
3988
- "version": "1.11.3",
3989
- "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
3990
- "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
3991
- "dev": true,
3992
- "requires": {
3993
- "resolve": "1.1.7"
3994
- },
3995
- "dependencies": {
3996
- "resolve": {
3997
- "version": "1.1.7",
3998
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
3999
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
4000
- "dev": true
4001
- }
4002
- }
4003
- },
4004
- "browserify-aes": {
4005
- "version": "1.2.0",
4006
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
4007
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
4008
- "dev": true,
4009
- "requires": {
4010
- "buffer-xor": "^1.0.3",
4011
- "cipher-base": "^1.0.0",
4012
- "create-hash": "^1.1.0",
4013
- "evp_bytestokey": "^1.0.3",
4014
- "inherits": "^2.0.1",
4015
- "safe-buffer": "^5.0.1"
4016
- }
4017
- },
4018
- "browserify-cipher": {
4019
- "version": "1.0.1",
4020
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
4021
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
4022
- "dev": true,
4023
- "requires": {
4024
- "browserify-aes": "^1.0.4",
4025
- "browserify-des": "^1.0.0",
4026
- "evp_bytestokey": "^1.0.0"
4027
- }
4028
- },
4029
- "browserify-des": {
4030
- "version": "1.0.2",
4031
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
4032
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
4033
- "dev": true,
4034
- "requires": {
4035
- "cipher-base": "^1.0.1",
4036
- "des.js": "^1.0.0",
4037
- "inherits": "^2.0.1",
4038
- "safe-buffer": "^5.1.2"
4039
- }
4040
- },
4041
- "browserify-rsa": {
4042
- "version": "4.0.1",
4043
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
4044
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
4045
- "dev": true,
4046
- "requires": {
4047
- "bn.js": "^4.1.0",
4048
- "randombytes": "^2.0.1"
4049
- },
4050
- "dependencies": {
4051
- "bn.js": {
4052
- "version": "4.11.9",
4053
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
4054
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
4055
- "dev": true
4056
- }
4057
- }
4058
- },
4059
- "browserify-sign": {
4060
- "version": "4.2.1",
4061
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
4062
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
4063
- "dev": true,
4064
- "requires": {
4065
- "bn.js": "^5.1.1",
4066
- "browserify-rsa": "^4.0.1",
4067
- "create-hash": "^1.2.0",
4068
- "create-hmac": "^1.1.7",
4069
- "elliptic": "^6.5.3",
4070
- "inherits": "^2.0.4",
4071
- "parse-asn1": "^5.1.5",
4072
- "readable-stream": "^3.6.0",
4073
- "safe-buffer": "^5.2.0"
4074
- },
4075
- "dependencies": {
4076
- "readable-stream": {
4077
- "version": "3.6.0",
4078
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
4079
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
4080
- "dev": true,
4081
- "requires": {
4082
- "inherits": "^2.0.3",
4083
- "string_decoder": "^1.1.1",
4084
- "util-deprecate": "^1.0.1"
4085
- }
4086
- },
4087
- "safe-buffer": {
4088
- "version": "5.2.1",
4089
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
4090
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
4091
- "dev": true
4092
- }
4093
- }
4094
- },
4095
- "browserify-zlib": {
4096
- "version": "0.2.0",
4097
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
4098
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
4099
- "dev": true,
4100
- "requires": {
4101
- "pako": "~1.0.5"
4102
- }
4103
- },
4104
- "browserslist": {
4105
- "version": "4.14.5",
4106
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz",
4107
- "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==",
4108
- "dev": true,
4109
- "requires": {
4110
- "caniuse-lite": "^1.0.30001135",
4111
- "electron-to-chromium": "^1.3.571",
4112
- "escalade": "^3.1.0",
4113
- "node-releases": "^1.1.61"
4114
- }
4115
- },
4116
- "bser": {
4117
- "version": "2.1.1",
4118
- "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
4119
- "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
4120
- "dev": true,
4121
- "requires": {
4122
- "node-int64": "^0.4.0"
4123
- }
4124
- },
4125
- "buffer": {
4126
- "version": "4.9.2",
4127
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
4128
- "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
4129
- "dev": true,
4130
- "requires": {
4131
- "base64-js": "^1.0.2",
4132
- "ieee754": "^1.1.4",
4133
- "isarray": "^1.0.0"
4134
- }
4135
- },
4136
- "buffer-crc32": {
4137
- "version": "0.2.13",
4138
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
4139
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
4140
- "dev": true
4141
- },
4142
- "buffer-from": {
4143
- "version": "1.1.1",
4144
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
4145
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
4146
- "dev": true
4147
- },
4148
- "buffer-xor": {
4149
- "version": "1.0.3",
4150
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
4151
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
4152
- "dev": true
4153
- },
4154
- "builtin-status-codes": {
4155
- "version": "3.0.0",
4156
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
4157
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
4158
- "dev": true
4159
- },
4160
- "bytes": {
4161
- "version": "3.1.0",
4162
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
4163
- "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
4164
- "dev": true
4165
- },
4166
- "cacache": {
4167
- "version": "12.0.4",
4168
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
4169
- "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
4170
- "dev": true,
4171
- "requires": {
4172
- "bluebird": "^3.5.5",
4173
- "chownr": "^1.1.1",
4174
- "figgy-pudding": "^3.5.1",
4175
- "glob": "^7.1.4",
4176
- "graceful-fs": "^4.1.15",
4177
- "infer-owner": "^1.0.3",
4178
- "lru-cache": "^5.1.1",
4179
- "mississippi": "^3.0.0",
4180
- "mkdirp": "^0.5.1",
4181
- "move-concurrently": "^1.0.1",
4182
- "promise-inflight": "^1.0.1",
4183
- "rimraf": "^2.6.3",
4184
- "ssri": "^6.0.1",
4185
- "unique-filename": "^1.1.1",
4186
- "y18n": "^4.0.0"
4187
- }
4188
- },
4189
- "cache-base": {
4190
- "version": "1.0.1",
4191
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
4192
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
4193
- "dev": true,
4194
- "requires": {
4195
- "collection-visit": "^1.0.0",
4196
- "component-emitter": "^1.2.1",
4197
- "get-value": "^2.0.6",
4198
- "has-value": "^1.0.0",
4199
- "isobject": "^3.0.1",
4200
- "set-value": "^2.0.0",
4201
- "to-object-path": "^0.3.0",
4202
- "union-value": "^1.0.0",
4203
- "unset-value": "^1.0.0"
4204
- }
4205
- },
4206
- "caller-callsite": {
4207
- "version": "2.0.0",
4208
- "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
4209
- "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
4210
- "dev": true,
4211
- "requires": {
4212
- "callsites": "^2.0.0"
4213
- },
4214
- "dependencies": {
4215
- "callsites": {
4216
- "version": "2.0.0",
4217
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
4218
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
4219
- "dev": true
4220
- }
4221
- }
4222
- },
4223
- "caller-path": {
4224
- "version": "2.0.0",
4225
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
4226
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
4227
- "dev": true,
4228
- "requires": {
4229
- "caller-callsite": "^2.0.0"
4230
- }
4231
- },
4232
- "callsites": {
4233
- "version": "3.1.0",
4234
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
4235
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
4236
- "dev": true
4237
- },
4238
- "camelcase": {
4239
- "version": "6.1.0",
4240
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.1.0.tgz",
4241
- "integrity": "sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ==",
4242
- "dev": true
4243
- },
4244
- "camelcase-keys": {
4245
- "version": "2.1.0",
4246
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
4247
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
4248
- "dev": true,
4249
- "requires": {
4250
- "camelcase": "^2.0.0",
4251
- "map-obj": "^1.0.0"
4252
- },
4253
- "dependencies": {
4254
- "camelcase": {
4255
- "version": "2.1.1",
4256
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
4257
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
4258
- "dev": true
4259
- }
4260
- }
4261
- },
4262
- "caniuse-lite": {
4263
- "version": "1.0.30001148",
4264
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz",
4265
- "integrity": "sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw==",
4266
- "dev": true
4267
- },
4268
- "capture-exit": {
4269
- "version": "2.0.0",
4270
- "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz",
4271
- "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==",
4272
- "dev": true,
4273
- "requires": {
4274
- "rsvp": "^4.8.4"
4275
- }
4276
- },
4277
- "caseless": {
4278
- "version": "0.12.0",
4279
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
4280
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
4281
- "dev": true
4282
- },
4283
- "ccount": {
4284
- "version": "1.0.5",
4285
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz",
4286
- "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==",
4287
- "dev": true
4288
- },
4289
- "chalk": {
4290
- "version": "4.1.0",
4291
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
4292
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
4293
- "dev": true,
4294
- "requires": {
4295
- "ansi-styles": "^4.1.0",
4296
- "supports-color": "^7.1.0"
4297
- },
4298
- "dependencies": {
4299
- "ansi-styles": {
4300
- "version": "4.3.0",
4301
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
4302
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
4303
- "dev": true,
4304
- "requires": {
4305
- "color-convert": "^2.0.1"
4306
- }
4307
- },
4308
- "color-convert": {
4309
- "version": "2.0.1",
4310
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
4311
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
4312
- "dev": true,
4313
- "requires": {
4314
- "color-name": "~1.1.4"
4315
- }
4316
- },
4317
- "color-name": {
4318
- "version": "1.1.4",
4319
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
4320
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
4321
- "dev": true
4322
- },
4323
- "has-flag": {
4324
- "version": "4.0.0",
4325
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
4326
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
4327
- "dev": true
4328
- },
4329
- "supports-color": {
4330
- "version": "7.2.0",
4331
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
4332
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
4333
- "dev": true,
4334
- "requires": {
4335
- "has-flag": "^4.0.0"
4336
- }
4337
- }
4338
- }
4339
- },
4340
- "character-entities": {
4341
- "version": "1.2.4",
4342
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
4343
- "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
4344
- "dev": true
4345
- },
4346
- "character-entities-html4": {
4347
- "version": "1.1.4",
4348
- "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz",
4349
- "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==",
4350
- "dev": true
4351
- },
4352
- "character-entities-legacy": {
4353
- "version": "1.1.4",
4354
- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
4355
- "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
4356
- "dev": true
4357
- },
4358
- "character-reference-invalid": {
4359
- "version": "1.1.4",
4360
- "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
4361
- "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
4362
- "dev": true
4363
- },
4364
- "check-node-version": {
4365
- "version": "3.3.0",
4366
- "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-3.3.0.tgz",
4367
- "integrity": "sha512-OAtp7prQf+8YYKn2UB/fK1Ppb9OT+apW56atoKYUvucYLPq69VozOY0B295okBwCKymk2cictrS3qsdcZwyfzw==",
4368
- "dev": true,
4369
- "requires": {
4370
- "chalk": "^2.3.0",
4371
- "map-values": "^1.0.1",
4372
- "minimist": "^1.2.0",
4373
- "object-filter": "^1.0.2",
4374
- "object.assign": "^4.0.4",
4375
- "run-parallel": "^1.1.4",
4376
- "semver": "^5.0.3"
4377
- },
4378
- "dependencies": {
4379
- "chalk": {
4380
- "version": "2.4.2",
4381
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
4382
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
4383
- "dev": true,
4384
- "requires": {
4385
- "ansi-styles": "^3.2.1",
4386
- "escape-string-regexp": "^1.0.5",
4387
- "supports-color": "^5.3.0"
4388
- }
4389
- }
4390
- }
4391
- },
4392
- "check-types": {
4393
- "version": "8.0.3",
4394
- "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz",
4395
- "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==",
4396
- "dev": true
4397
- },
4398
- "cheerio": {
4399
- "version": "1.0.0-rc.3",
4400
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz",
4401
- "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==",
4402
- "dev": true,
4403
- "requires": {
4404
- "css-select": "~1.2.0",
4405
- "dom-serializer": "~0.1.1",
4406
- "entities": "~1.1.1",
4407
- "htmlparser2": "^3.9.1",
4408
- "lodash": "^4.15.0",
4409
- "parse5": "^3.0.1"
4410
- },
4411
- "dependencies": {
4412
- "css-select": {
4413
- "version": "1.2.0",
4414
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
4415
- "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
4416
- "dev": true,
4417
- "requires": {
4418
- "boolbase": "~1.0.0",
4419
- "css-what": "2.1",
4420
- "domutils": "1.5.1",
4421
- "nth-check": "~1.0.1"
4422
- }
4423
- },
4424
- "css-what": {
4425
- "version": "2.1.3",
4426
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
4427
- "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
4428
- "dev": true
4429
- },
4430
- "dom-serializer": {
4431
- "version": "0.1.1",
4432
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
4433
- "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
4434
- "dev": true,
4435
- "requires": {
4436
- "domelementtype": "^1.3.0",
4437
- "entities": "^1.1.1"
4438
- }
4439
- },
4440
- "domutils": {
4441
- "version": "1.5.1",
4442
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
4443
- "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
4444
- "dev": true,
4445
- "requires": {
4446
- "dom-serializer": "0",
4447
- "domelementtype": "1"
4448
- }
4449
- },
4450
- "entities": {
4451
- "version": "1.1.2",
4452
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
4453
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
4454
- "dev": true
4455
- }
4456
- }
4457
- },
4458
- "chokidar": {
4459
- "version": "3.4.3",
4460
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
4461
- "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
4462
- "dev": true,
4463
- "optional": true,
4464
- "requires": {
4465
- "anymatch": "~3.1.1",
4466
- "braces": "~3.0.2",
4467
- "fsevents": "~2.1.2",
4468
- "glob-parent": "~5.1.0",
4469
- "is-binary-path": "~2.1.0",
4470
- "is-glob": "~4.0.1",
4471
- "normalize-path": "~3.0.0",
4472
- "readdirp": "~3.5.0"
4473
- },
4474
- "dependencies": {
4475
- "braces": {
4476
- "version": "3.0.2",
4477
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
4478
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
4479
- "dev": true,
4480
- "optional": true,
4481
- "requires": {
4482
- "fill-range": "^7.0.1"
4483
- }
4484
- },
4485
- "fill-range": {
4486
- "version": "7.0.1",
4487
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
4488
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
4489
- "dev": true,
4490
- "optional": true,
4491
- "requires": {
4492
- "to-regex-range": "^5.0.1"
4493
- }
4494
- },
4495
- "is-number": {
4496
- "version": "7.0.0",
4497
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
4498
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
4499
- "dev": true,
4500
- "optional": true
4501
- },
4502
- "to-regex-range": {
4503
- "version": "5.0.1",
4504
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
4505
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
4506
- "dev": true,
4507
- "optional": true,
4508
- "requires": {
4509
- "is-number": "^7.0.0"
4510
- }
4511
- }
4512
- }
4513
- },
4514
- "chownr": {
4515
- "version": "1.1.4",
4516
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
4517
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
4518
- "dev": true
4519
- },
4520
- "chrome-trace-event": {
4521
- "version": "1.0.2",
4522
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
4523
- "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
4524
- "dev": true,
4525
- "requires": {
4526
- "tslib": "^1.9.0"
4527
- }
4528
- },
4529
- "ci-info": {
4530
- "version": "2.0.0",
4531
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
4532
- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
4533
- "dev": true
4534
- },
4535
- "cipher-base": {
4536
- "version": "1.0.4",
4537
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
4538
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
4539
- "dev": true,
4540
- "requires": {
4541
- "inherits": "^2.0.1",
4542
- "safe-buffer": "^5.0.1"
4543
- }
4544
- },
4545
- "class-utils": {
4546
- "version": "0.3.6",
4547
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
4548
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
4549
- "dev": true,
4550
- "requires": {
4551
- "arr-union": "^3.1.0",
4552
- "define-property": "^0.2.5",
4553
- "isobject": "^3.0.0",
4554
- "static-extend": "^0.1.1"
4555
- },
4556
- "dependencies": {
4557
- "define-property": {
4558
- "version": "0.2.5",
4559
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
4560
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
4561
- "dev": true,
4562
- "requires": {
4563
- "is-descriptor": "^0.1.0"
4564
- }
4565
- }
4566
- }
4567
- },
4568
- "clean-stack": {
4569
- "version": "2.2.0",
4570
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
4571
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
4572
- "dev": true
4573
- },
4574
- "clean-webpack-plugin": {
4575
- "version": "3.0.0",
4576
- "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz",
4577
- "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==",
4578
- "dev": true,
4579
- "requires": {
4580
- "@types/webpack": "^4.4.31",
4581
- "del": "^4.1.1"
4582
- }
4583
- },
4584
- "cliui": {
4585
- "version": "6.0.0",
4586
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
4587
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
4588
- "dev": true,
4589
- "requires": {
4590
- "string-width": "^4.2.0",
4591
- "strip-ansi": "^6.0.0",
4592
- "wrap-ansi": "^6.2.0"
4593
- },
4594
- "dependencies": {
4595
- "ansi-regex": {
4596
- "version": "5.0.0",
4597
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
4598
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
4599
- "dev": true
4600
- },
4601
- "emoji-regex": {
4602
- "version": "8.0.0",
4603
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
4604
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
4605
- "dev": true
4606
- },
4607
- "is-fullwidth-code-point": {
4608
- "version": "3.0.0",
4609
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
4610
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
4611
- "dev": true
4612
- },
4613
- "string-width": {
4614
- "version": "4.2.0",
4615
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
4616
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
4617
- "dev": true,
4618
- "requires": {
4619
- "emoji-regex": "^8.0.0",
4620
- "is-fullwidth-code-point": "^3.0.0",
4621
- "strip-ansi": "^6.0.0"
4622
- }
4623
- },
4624
- "strip-ansi": {
4625
- "version": "6.0.0",
4626
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
4627
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
4628
- "dev": true,
4629
- "requires": {
4630
- "ansi-regex": "^5.0.0"
4631
- }
4632
- }
4633
- }
4634
- },
4635
- "clone-deep": {
4636
- "version": "0.2.4",
4637
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz",
4638
- "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=",
4639
- "dev": true,
4640
- "requires": {
4641
- "for-own": "^0.1.3",
4642
- "is-plain-object": "^2.0.1",
4643
- "kind-of": "^3.0.2",
4644
- "lazy-cache": "^1.0.3",
4645
- "shallow-clone": "^0.1.2"
4646
- }
4647
- },
4648
- "clone-regexp": {
4649
- "version": "2.2.0",
4650
- "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
4651
- "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
4652
- "dev": true,
4653
- "requires": {
4654
- "is-regexp": "^2.0.0"
4655
- }
4656
- },
4657
- "co": {
4658
- "version": "4.6.0",
4659
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
4660
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
4661
- "dev": true
4662
- },
4663
- "coa": {
4664
- "version": "2.0.2",
4665
- "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
4666
- "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
4667
- "dev": true,
4668
- "requires": {
4669
- "@types/q": "^1.5.1",
4670
- "chalk": "^2.4.1",
4671
- "q": "^1.1.2"
4672
- },
4673
- "dependencies": {
4674
- "chalk": {
4675
- "version": "2.4.2",
4676
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
4677
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
4678
- "dev": true,
4679
- "requires": {
4680
- "ansi-styles": "^3.2.1",
4681
- "escape-string-regexp": "^1.0.5",
4682
- "supports-color": "^5.3.0"
4683
- }
4684
- }
4685
- }
4686
- },
4687
- "code-point-at": {
4688
- "version": "1.1.0",
4689
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
4690
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
4691
- "dev": true
4692
- },
4693
- "collapse-white-space": {
4694
- "version": "1.0.6",
4695
- "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
4696
- "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==",
4697
- "dev": true
4698
- },
4699
- "collect-v8-coverage": {
4700
- "version": "1.0.1",
4701
- "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
4702
- "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==",
4703
- "dev": true
4704
- },
4705
- "collection-visit": {
4706
- "version": "1.0.0",
4707
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
4708
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
4709
- "dev": true,
4710
- "requires": {
4711
- "map-visit": "^1.0.0",
4712
- "object-visit": "^1.0.0"
4713
- }
4714
- },
4715
- "color-convert": {
4716
- "version": "1.9.3",
4717
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
4718
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
4719
- "dev": true,
4720
- "requires": {
4721
- "color-name": "1.1.3"
4722
- }
4723
- },
4724
- "color-name": {
4725
- "version": "1.1.3",
4726
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
4727
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
4728
- "dev": true
4729
- },
4730
- "colorette": {
4731
- "version": "1.2.1",
4732
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz",
4733
- "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==",
4734
- "dev": true
4735
- },
4736
- "combined-stream": {
4737
- "version": "1.0.8",
4738
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
4739
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
4740
- "dev": true,
4741
- "requires": {
4742
- "delayed-stream": "~1.0.0"
4743
- }
4744
- },
4745
- "commander": {
4746
- "version": "2.20.3",
4747
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
4748
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
4749
- "dev": true
4750
- },
4751
- "comment-parser": {
4752
- "version": "0.7.6",
4753
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz",
4754
- "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==",
4755
- "dev": true
4756
- },
4757
- "commondir": {
4758
- "version": "1.0.1",
4759
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
4760
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
4761
- "dev": true
4762
- },
4763
- "component-emitter": {
4764
- "version": "1.3.0",
4765
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
4766
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
4767
- "dev": true
4768
- },
4769
- "concat-map": {
4770
- "version": "0.0.1",
4771
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
4772
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
4773
- "dev": true
4774
- },
4775
- "concat-stream": {
4776
- "version": "1.6.2",
4777
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
4778
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
4779
- "dev": true,
4780
- "requires": {
4781
- "buffer-from": "^1.0.0",
4782
- "inherits": "^2.0.3",
4783
- "readable-stream": "^2.2.2",
4784
- "typedarray": "^0.0.6"
4785
- }
4786
- },
4787
- "console-browserify": {
4788
- "version": "1.2.0",
4789
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
4790
- "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
4791
- "dev": true
4792
- },
4793
- "console-control-strings": {
4794
- "version": "1.1.0",
4795
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
4796
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4797
- "dev": true
4798
- },
4799
- "constants-browserify": {
4800
- "version": "1.0.0",
4801
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
4802
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
4803
- "dev": true
4804
- },
4805
- "content-disposition": {
4806
- "version": "0.5.3",
4807
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
4808
- "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
4809
- "dev": true,
4810
- "requires": {
4811
- "safe-buffer": "5.1.2"
4812
- }
4813
- },
4814
- "content-type": {
4815
- "version": "1.0.4",
4816
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
4817
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
4818
- "dev": true
4819
- },
4820
- "continuable-cache": {
4821
- "version": "0.3.1",
4822
- "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
4823
- "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
4824
- "dev": true
4825
- },
4826
- "convert-source-map": {
4827
- "version": "1.7.0",
4828
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
4829
- "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
4830
- "dev": true,
4831
- "requires": {
4832
- "safe-buffer": "~5.1.1"
4833
- }
4834
- },
4835
- "cookie": {
4836
- "version": "0.4.0",
4837
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
4838
- "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
4839
- "dev": true
4840
- },
4841
- "cookie-signature": {
4842
- "version": "1.0.6",
4843
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
4844
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
4845
- "dev": true
4846
- },
4847
- "copy-concurrently": {
4848
- "version": "1.0.5",
4849
- "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
4850
- "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
4851
- "dev": true,
4852
- "requires": {
4853
- "aproba": "^1.1.1",
4854
- "fs-write-stream-atomic": "^1.0.8",
4855
- "iferr": "^0.1.5",
4856
- "mkdirp": "^0.5.1",
4857
- "rimraf": "^2.5.4",
4858
- "run-queue": "^1.0.0"
4859
- }
4860
- },
4861
- "copy-descriptor": {
4862
- "version": "0.1.1",
4863
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
4864
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
4865
- "dev": true
4866
- },
4867
- "core-js": {
4868
- "version": "3.6.5",
4869
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
4870
- "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
4871
- "dev": true
4872
- },
4873
- "core-js-compat": {
4874
- "version": "3.6.5",
4875
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
4876
- "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
4877
- "dev": true,
4878
- "requires": {
4879
- "browserslist": "^4.8.5",
4880
- "semver": "7.0.0"
4881
- },
4882
- "dependencies": {
4883
- "semver": {
4884
- "version": "7.0.0",
4885
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
4886
- "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
4887
- "dev": true
4888
- }
4889
- }
4890
- },
4891
- "core-js-pure": {
4892
- "version": "3.6.5",
4893
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz",
4894
- "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==",
4895
- "dev": true
4896
- },
4897
- "core-util-is": {
4898
- "version": "1.0.2",
4899
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
4900
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
4901
- "dev": true
4902
- },
4903
- "cosmiconfig": {
4904
- "version": "6.0.0",
4905
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
4906
- "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
4907
- "dev": true,
4908
- "requires": {
4909
- "@types/parse-json": "^4.0.0",
4910
- "import-fresh": "^3.1.0",
4911
- "parse-json": "^5.0.0",
4912
- "path-type": "^4.0.0",
4913
- "yaml": "^1.7.2"
4914
- }
4915
- },
4916
- "create-ecdh": {
4917
- "version": "4.0.4",
4918
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
4919
- "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
4920
- "dev": true,
4921
- "requires": {
4922
- "bn.js": "^4.1.0",
4923
- "elliptic": "^6.5.3"
4924
- },
4925
- "dependencies": {
4926
- "bn.js": {
4927
- "version": "4.11.9",
4928
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
4929
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
4930
- "dev": true
4931
- }
4932
- }
4933
- },
4934
- "create-hash": {
4935
- "version": "1.2.0",
4936
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
4937
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
4938
- "dev": true,
4939
- "requires": {
4940
- "cipher-base": "^1.0.1",
4941
- "inherits": "^2.0.1",
4942
- "md5.js": "^1.3.4",
4943
- "ripemd160": "^2.0.1",
4944
- "sha.js": "^2.4.0"
4945
- }
4946
- },
4947
- "create-hmac": {
4948
- "version": "1.1.7",
4949
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
4950
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
4951
- "dev": true,
4952
- "requires": {
4953
- "cipher-base": "^1.0.3",
4954
- "create-hash": "^1.1.0",
4955
- "inherits": "^2.0.1",
4956
- "ripemd160": "^2.0.0",
4957
- "safe-buffer": "^5.0.1",
4958
- "sha.js": "^2.4.8"
4959
- }
4960
- },
4961
- "cross-spawn": {
4962
- "version": "5.1.0",
4963
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
4964
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
4965
- "dev": true,
4966
- "requires": {
4967
- "lru-cache": "^4.0.1",
4968
- "shebang-command": "^1.2.0",
4969
- "which": "^1.2.9"
4970
- },
4971
- "dependencies": {
4972
- "lru-cache": {
4973
- "version": "4.1.5",
4974
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
4975
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
4976
- "dev": true,
4977
- "requires": {
4978
- "pseudomap": "^1.0.2",
4979
- "yallist": "^2.1.2"
4980
- }
4981
- },
4982
- "which": {
4983
- "version": "1.3.1",
4984
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
4985
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
4986
- "dev": true,
4987
- "requires": {
4988
- "isexe": "^2.0.0"
4989
- }
4990
- },
4991
- "yallist": {
4992
- "version": "2.1.2",
4993
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
4994
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
4995
- "dev": true
4996
- }
4997
- }
4998
- },
4999
- "crypto-browserify": {
5000
- "version": "3.12.0",
5001
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
5002
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
5003
- "dev": true,
5004
- "requires": {
5005
- "browserify-cipher": "^1.0.0",
5006
- "browserify-sign": "^4.0.0",
5007
- "create-ecdh": "^4.0.0",
5008
- "create-hash": "^1.1.0",
5009
- "create-hmac": "^1.1.0",
5010
- "diffie-hellman": "^5.0.0",
5011
- "inherits": "^2.0.1",
5012
- "pbkdf2": "^3.0.3",
5013
- "public-encrypt": "^4.0.0",
5014
- "randombytes": "^2.0.0",
5015
- "randomfill": "^1.0.3"
5016
- }
5017
- },
5018
- "css-loader": {
5019
- "version": "3.6.0",
5020
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
5021
- "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
5022
- "dev": true,
5023
- "requires": {
5024
- "camelcase": "^5.3.1",
5025
- "cssesc": "^3.0.0",
5026
- "icss-utils": "^4.1.1",
5027
- "loader-utils": "^1.2.3",
5028
- "normalize-path": "^3.0.0",
5029
- "postcss": "^7.0.32",
5030
- "postcss-modules-extract-imports": "^2.0.0",
5031
- "postcss-modules-local-by-default": "^3.0.2",
5032
- "postcss-modules-scope": "^2.2.0",
5033
- "postcss-modules-values": "^3.0.0",
5034
- "postcss-value-parser": "^4.1.0",
5035
- "schema-utils": "^2.7.0",
5036
- "semver": "^6.3.0"
5037
- },
5038
- "dependencies": {
5039
- "camelcase": {
5040
- "version": "5.3.1",
5041
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
5042
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
5043
- "dev": true
5044
- },
5045
- "json5": {
5046
- "version": "1.0.1",
5047
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
5048
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
5049
- "dev": true,
5050
- "requires": {
5051
- "minimist": "^1.2.0"
5052
- }
5053
- },
5054
- "loader-utils": {
5055
- "version": "1.4.0",
5056
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
5057
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
5058
- "dev": true,
5059
- "requires": {
5060
- "big.js": "^5.2.2",
5061
- "emojis-list": "^3.0.0",
5062
- "json5": "^1.0.1"
5063
- }
5064
- },
5065
- "schema-utils": {
5066
- "version": "2.7.1",
5067
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
5068
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
5069
- "dev": true,
5070
- "requires": {
5071
- "@types/json-schema": "^7.0.5",
5072
- "ajv": "^6.12.4",
5073
- "ajv-keywords": "^3.5.2"
5074
- }
5075
- },
5076
- "semver": {
5077
- "version": "6.3.0",
5078
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
5079
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
5080
- "dev": true
5081
- }
5082
- }
5083
- },
5084
- "css-select": {
5085
- "version": "2.1.0",
5086
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
5087
- "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
5088
- "dev": true,
5089
- "requires": {
5090
- "boolbase": "^1.0.0",
5091
- "css-what": "^3.2.1",
5092
- "domutils": "^1.7.0",
5093
- "nth-check": "^1.0.2"
5094
- }
5095
- },
5096
- "css-select-base-adapter": {
5097
- "version": "0.1.1",
5098
- "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
5099
- "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
5100
- "dev": true
5101
- },
5102
- "css-tree": {
5103
- "version": "1.0.0-alpha.37",
5104
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
5105
- "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
5106
- "dev": true,
5107
- "requires": {
5108
- "mdn-data": "2.0.4",
5109
- "source-map": "^0.6.1"
5110
- },
5111
- "dependencies": {
5112
- "source-map": {
5113
- "version": "0.6.1",
5114
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5115
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5116
- "dev": true
5117
- }
5118
- }
5119
- },
5120
- "css-what": {
5121
- "version": "3.4.2",
5122
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
5123
- "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==",
5124
- "dev": true
5125
- },
5126
- "cssesc": {
5127
- "version": "3.0.0",
5128
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
5129
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
5130
- "dev": true
5131
- },
5132
- "csso": {
5133
- "version": "4.0.3",
5134
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
5135
- "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
5136
- "dev": true,
5137
- "requires": {
5138
- "css-tree": "1.0.0-alpha.39"
5139
- },
5140
- "dependencies": {
5141
- "css-tree": {
5142
- "version": "1.0.0-alpha.39",
5143
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
5144
- "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
5145
- "dev": true,
5146
- "requires": {
5147
- "mdn-data": "2.0.6",
5148
- "source-map": "^0.6.1"
5149
- }
5150
- },
5151
- "mdn-data": {
5152
- "version": "2.0.6",
5153
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
5154
- "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
5155
- "dev": true
5156
- },
5157
- "source-map": {
5158
- "version": "0.6.1",
5159
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5160
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5161
- "dev": true
5162
- }
5163
- }
5164
- },
5165
- "cssom": {
5166
- "version": "0.4.4",
5167
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
5168
- "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
5169
- "dev": true
5170
- },
5171
- "cssstyle": {
5172
- "version": "2.3.0",
5173
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
5174
- "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
5175
- "dev": true,
5176
- "requires": {
5177
- "cssom": "~0.3.6"
5178
- },
5179
- "dependencies": {
5180
- "cssom": {
5181
- "version": "0.3.8",
5182
- "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
5183
- "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
5184
- "dev": true
5185
- }
5186
- }
5187
- },
5188
- "csstype": {
5189
- "version": "3.0.3",
5190
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz",
5191
- "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==",
5192
- "dev": true
5193
- },
5194
- "currently-unhandled": {
5195
- "version": "0.4.1",
5196
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
5197
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
5198
- "dev": true,
5199
- "requires": {
5200
- "array-find-index": "^1.0.1"
5201
- }
5202
- },
5203
- "cwd": {
5204
- "version": "0.10.0",
5205
- "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz",
5206
- "integrity": "sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc=",
5207
- "dev": true,
5208
- "requires": {
5209
- "find-pkg": "^0.1.2",
5210
- "fs-exists-sync": "^0.1.0"
5211
- }
5212
- },
5213
- "cyclist": {
5214
- "version": "1.0.1",
5215
- "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
5216
- "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
5217
- "dev": true
5218
- },
5219
- "damerau-levenshtein": {
5220
- "version": "1.0.6",
5221
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz",
5222
- "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==",
5223
- "dev": true
5224
- },
5225
- "dashdash": {
5226
- "version": "1.14.1",
5227
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
5228
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
5229
- "dev": true,
5230
- "requires": {
5231
- "assert-plus": "^1.0.0"
5232
- }
5233
- },
5234
- "data-urls": {
5235
- "version": "1.1.0",
5236
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
5237
- "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
5238
- "dev": true,
5239
- "requires": {
5240
- "abab": "^2.0.0",
5241
- "whatwg-mimetype": "^2.2.0",
5242
- "whatwg-url": "^7.0.0"
5243
- }
5244
- },
5245
- "debug": {
5246
- "version": "4.2.0",
5247
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
5248
- "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
5249
- "dev": true,
5250
- "requires": {
5251
- "ms": "2.1.2"
5252
- }
5253
- },
5254
- "decamelize": {
5255
- "version": "1.2.0",
5256
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
5257
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
5258
- "dev": true
5259
- },
5260
- "decamelize-keys": {
5261
- "version": "1.1.0",
5262
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
5263
- "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
5264
- "dev": true,
5265
- "requires": {
5266
- "decamelize": "^1.1.0",
5267
- "map-obj": "^1.0.0"
5268
- }
5269
- },
5270
- "decode-uri-component": {
5271
- "version": "0.2.0",
5272
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
5273
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
5274
- "dev": true
5275
- },
5276
- "deep-extend": {
5277
- "version": "0.5.1",
5278
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz",
5279
- "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==",
5280
- "dev": true
5281
- },
5282
- "deep-is": {
5283
- "version": "0.1.3",
5284
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
5285
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
5286
- "dev": true
5287
- },
5288
- "deepmerge": {
5289
- "version": "4.2.2",
5290
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
5291
- "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
5292
- "dev": true
5293
- },
5294
- "define-properties": {
5295
- "version": "1.1.3",
5296
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
5297
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
5298
- "dev": true,
5299
- "requires": {
5300
- "object-keys": "^1.0.12"
5301
- }
5302
- },
5303
- "define-property": {
5304
- "version": "2.0.2",
5305
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
5306
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
5307
- "dev": true,
5308
- "requires": {
5309
- "is-descriptor": "^1.0.2",
5310
- "isobject": "^3.0.1"
5311
- },
5312
- "dependencies": {
5313
- "is-accessor-descriptor": {
5314
- "version": "1.0.0",
5315
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
5316
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
5317
- "dev": true,
5318
- "requires": {
5319
- "kind-of": "^6.0.0"
5320
- }
5321
- },
5322
- "is-data-descriptor": {
5323
- "version": "1.0.0",
5324
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
5325
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
5326
- "dev": true,
5327
- "requires": {
5328
- "kind-of": "^6.0.0"
5329
- }
5330
- },
5331
- "is-descriptor": {
5332
- "version": "1.0.2",
5333
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
5334
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
5335
- "dev": true,
5336
- "requires": {
5337
- "is-accessor-descriptor": "^1.0.0",
5338
- "is-data-descriptor": "^1.0.0",
5339
- "kind-of": "^6.0.2"
5340
- }
5341
- },
5342
- "kind-of": {
5343
- "version": "6.0.3",
5344
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
5345
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
5346
- "dev": true
5347
- }
5348
- }
5349
- },
5350
- "del": {
5351
- "version": "4.1.1",
5352
- "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
5353
- "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
5354
- "dev": true,
5355
- "requires": {
5356
- "@types/glob": "^7.1.1",
5357
- "globby": "^6.1.0",
5358
- "is-path-cwd": "^2.0.0",
5359
- "is-path-in-cwd": "^2.0.0",
5360
- "p-map": "^2.0.0",
5361
- "pify": "^4.0.1",
5362
- "rimraf": "^2.6.3"
5363
- }
5364
- },
5365
- "delayed-stream": {
5366
- "version": "1.0.0",
5367
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
5368
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
5369
- "dev": true
5370
- },
5371
- "delegates": {
5372
- "version": "1.0.0",
5373
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
5374
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
5375
- "dev": true
5376
- },
5377
- "depd": {
5378
- "version": "1.1.2",
5379
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
5380
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
5381
- "dev": true
5382
- },
5383
- "des.js": {
5384
- "version": "1.0.1",
5385
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
5386
- "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
5387
- "dev": true,
5388
- "requires": {
5389
- "inherits": "^2.0.1",
5390
- "minimalistic-assert": "^1.0.0"
5391
- }
5392
- },
5393
- "destroy": {
5394
- "version": "1.0.4",
5395
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
5396
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
5397
- "dev": true
5398
- },
5399
- "detect-file": {
5400
- "version": "1.0.0",
5401
- "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
5402
- "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
5403
- "dev": true
5404
- },
5405
- "detect-newline": {
5406
- "version": "3.1.0",
5407
- "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
5408
- "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
5409
- "dev": true
5410
- },
5411
- "diff-sequences": {
5412
- "version": "25.2.6",
5413
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
5414
- "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
5415
- "dev": true
5416
- },
5417
- "diffie-hellman": {
5418
- "version": "5.0.3",
5419
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
5420
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
5421
- "dev": true,
5422
- "requires": {
5423
- "bn.js": "^4.1.0",
5424
- "miller-rabin": "^4.0.0",
5425
- "randombytes": "^2.0.0"
5426
- },
5427
- "dependencies": {
5428
- "bn.js": {
5429
- "version": "4.11.9",
5430
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
5431
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
5432
- "dev": true
5433
- }
5434
- }
5435
- },
5436
- "dir-glob": {
5437
- "version": "3.0.1",
5438
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
5439
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
5440
- "dev": true,
5441
- "requires": {
5442
- "path-type": "^4.0.0"
5443
- }
5444
- },
5445
- "discontinuous-range": {
5446
- "version": "1.0.0",
5447
- "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz",
5448
- "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=",
5449
- "dev": true
5450
- },
5451
- "doctrine": {
5452
- "version": "2.1.0",
5453
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
5454
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
5455
- "dev": true,
5456
- "requires": {
5457
- "esutils": "^2.0.2"
5458
- }
5459
- },
5460
- "dom-serializer": {
5461
- "version": "0.2.2",
5462
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
5463
- "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
5464
- "dev": true,
5465
- "requires": {
5466
- "domelementtype": "^2.0.1",
5467
- "entities": "^2.0.0"
5468
- },
5469
- "dependencies": {
5470
- "domelementtype": {
5471
- "version": "2.0.2",
5472
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz",
5473
- "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==",
5474
- "dev": true
5475
- }
5476
- }
5477
- },
5478
- "domain-browser": {
5479
- "version": "1.2.0",
5480
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
5481
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
5482
- "dev": true
5483
- },
5484
- "domelementtype": {
5485
- "version": "1.3.1",
5486
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
5487
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
5488
- "dev": true
5489
- },
5490
- "domexception": {
5491
- "version": "1.0.1",
5492
- "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
5493
- "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
5494
- "dev": true,
5495
- "requires": {
5496
- "webidl-conversions": "^4.0.2"
5497
- }
5498
- },
5499
- "domhandler": {
5500
- "version": "2.4.2",
5501
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
5502
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
5503
- "dev": true,
5504
- "requires": {
5505
- "domelementtype": "1"
5506
- }
5507
- },
5508
- "domutils": {
5509
- "version": "1.7.0",
5510
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
5511
- "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
5512
- "dev": true,
5513
- "requires": {
5514
- "dom-serializer": "0",
5515
- "domelementtype": "1"
5516
- }
5517
- },
5518
- "duplexer": {
5519
- "version": "0.1.2",
5520
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
5521
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
5522
- "dev": true
5523
- },
5524
- "duplexify": {
5525
- "version": "3.7.1",
5526
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
5527
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
5528
- "dev": true,
5529
- "requires": {
5530
- "end-of-stream": "^1.0.0",
5531
- "inherits": "^2.0.1",
5532
- "readable-stream": "^2.0.0",
5533
- "stream-shift": "^1.0.0"
5534
- }
5535
- },
5536
- "ecc-jsbn": {
5537
- "version": "0.1.2",
5538
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
5539
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
5540
- "dev": true,
5541
- "requires": {
5542
- "jsbn": "~0.1.0",
5543
- "safer-buffer": "^2.1.0"
5544
- }
5545
- },
5546
- "ee-first": {
5547
- "version": "1.1.1",
5548
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
5549
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
5550
- "dev": true
5551
- },
5552
- "ejs": {
5553
- "version": "2.7.4",
5554
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
5555
- "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
5556
- "dev": true
5557
- },
5558
- "electron-to-chromium": {
5559
- "version": "1.3.582",
5560
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz",
5561
- "integrity": "sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww==",
5562
- "dev": true
5563
- },
5564
- "elliptic": {
5565
- "version": "6.5.3",
5566
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
5567
- "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
5568
- "dev": true,
5569
- "requires": {
5570
- "bn.js": "^4.4.0",
5571
- "brorand": "^1.0.1",
5572
- "hash.js": "^1.0.0",
5573
- "hmac-drbg": "^1.0.0",
5574
- "inherits": "^2.0.1",
5575
- "minimalistic-assert": "^1.0.0",
5576
- "minimalistic-crypto-utils": "^1.0.0"
5577
- },
5578
- "dependencies": {
5579
- "bn.js": {
5580
- "version": "4.11.9",
5581
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
5582
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
5583
- "dev": true
5584
- }
5585
- }
5586
- },
5587
- "emoji-regex": {
5588
- "version": "9.1.1",
5589
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.1.1.tgz",
5590
- "integrity": "sha512-AaWyDiNO9rbtMIcGl7tdxMcNu8SOLaDLxmQEFT5JhgKufOJzPPkYmgN2QwqTgw4doWMZZQttC6sUWVQjb+1VdA==",
5591
- "dev": true
5592
- },
5593
- "emojis-list": {
5594
- "version": "3.0.0",
5595
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
5596
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
5597
- "dev": true
5598
- },
5599
- "encodeurl": {
5600
- "version": "1.0.2",
5601
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
5602
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
5603
- "dev": true
5604
- },
5605
- "encoding": {
5606
- "version": "0.1.13",
5607
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
5608
- "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
5609
- "requires": {
5610
- "iconv-lite": "^0.6.2"
5611
- },
5612
- "dependencies": {
5613
- "iconv-lite": {
5614
- "version": "0.6.2",
5615
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz",
5616
- "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==",
5617
- "requires": {
5618
- "safer-buffer": ">= 2.1.2 < 3.0.0"
5619
- }
5620
- }
5621
- }
5622
- },
5623
- "end-of-stream": {
5624
- "version": "1.4.4",
5625
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
5626
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
5627
- "dev": true,
5628
- "requires": {
5629
- "once": "^1.4.0"
5630
- }
5631
- },
5632
- "enhanced-resolve": {
5633
- "version": "4.3.0",
5634
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
5635
- "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==",
5636
- "dev": true,
5637
- "requires": {
5638
- "graceful-fs": "^4.1.2",
5639
- "memory-fs": "^0.5.0",
5640
- "tapable": "^1.0.0"
5641
- },
5642
- "dependencies": {
5643
- "memory-fs": {
5644
- "version": "0.5.0",
5645
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
5646
- "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
5647
- "dev": true,
5648
- "requires": {
5649
- "errno": "^0.1.3",
5650
- "readable-stream": "^2.0.1"
5651
- }
5652
- }
5653
- }
5654
- },
5655
- "enquirer": {
5656
- "version": "2.3.6",
5657
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
5658
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
5659
- "dev": true,
5660
- "requires": {
5661
- "ansi-colors": "^4.1.1"
5662
- }
5663
- },
5664
- "entities": {
5665
- "version": "2.1.0",
5666
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
5667
- "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
5668
- "dev": true
5669
- },
5670
- "enzyme": {
5671
- "version": "3.11.0",
5672
- "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz",
5673
- "integrity": "sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==",
5674
- "dev": true,
5675
- "requires": {
5676
- "array.prototype.flat": "^1.2.3",
5677
- "cheerio": "^1.0.0-rc.3",
5678
- "enzyme-shallow-equal": "^1.0.1",
5679
- "function.prototype.name": "^1.1.2",
5680
- "has": "^1.0.3",
5681
- "html-element-map": "^1.2.0",
5682
- "is-boolean-object": "^1.0.1",
5683
- "is-callable": "^1.1.5",
5684
- "is-number-object": "^1.0.4",
5685
- "is-regex": "^1.0.5",
5686
- "is-string": "^1.0.5",
5687
- "is-subset": "^0.1.1",
5688
- "lodash.escape": "^4.0.1",
5689
- "lodash.isequal": "^4.5.0",
5690
- "object-inspect": "^1.7.0",
5691
- "object-is": "^1.0.2",
5692
- "object.assign": "^4.1.0",
5693
- "object.entries": "^1.1.1",
5694
- "object.values": "^1.1.1",
5695
- "raf": "^3.4.1",
5696
- "rst-selector-parser": "^2.2.3",
5697
- "string.prototype.trim": "^1.2.1"
5698
- }
5699
- },
5700
- "enzyme-adapter-react-16": {
5701
- "version": "1.15.5",
5702
- "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.5.tgz",
5703
- "integrity": "sha512-33yUJGT1nHFQlbVI5qdo5Pfqvu/h4qPwi1o0a6ZZsjpiqq92a3HjynDhwd1IeED+Su60HDWV8mxJqkTnLYdGkw==",
5704
- "dev": true,
5705
- "requires": {
5706
- "enzyme-adapter-utils": "^1.13.1",
5707
- "enzyme-shallow-equal": "^1.0.4",
5708
- "has": "^1.0.3",
5709
- "object.assign": "^4.1.0",
5710
- "object.values": "^1.1.1",
5711
- "prop-types": "^15.7.2",
5712
- "react-is": "^16.13.1",
5713
- "react-test-renderer": "^16.0.0-0",
5714
- "semver": "^5.7.0"
5715
- }
5716
- },
5717
- "enzyme-adapter-utils": {
5718
- "version": "1.13.1",
5719
- "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.1.tgz",
5720
- "integrity": "sha512-5A9MXXgmh/Tkvee3bL/9RCAAgleHqFnsurTYCbymecO4ohvtNO5zqIhHxV370t7nJAwaCfkgtffarKpC0GPt0g==",
5721
- "dev": true,
5722
- "requires": {
5723
- "airbnb-prop-types": "^2.16.0",
5724
- "function.prototype.name": "^1.1.2",
5725
- "object.assign": "^4.1.0",
5726
- "object.fromentries": "^2.0.2",
5727
- "prop-types": "^15.7.2",
5728
- "semver": "^5.7.1"
5729
- }
5730
- },
5731
- "enzyme-shallow-equal": {
5732
- "version": "1.0.4",
5733
- "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.4.tgz",
5734
- "integrity": "sha512-MttIwB8kKxypwHvRynuC3ahyNc+cFbR8mjVIltnmzQ0uKGqmsfO4bfBuLxb0beLNPhjblUEYvEbsg+VSygvF1Q==",
5735
- "dev": true,
5736
- "requires": {
5737
- "has": "^1.0.3",
5738
- "object-is": "^1.1.2"
5739
- }
5740
- },
5741
- "enzyme-to-json": {
5742
- "version": "3.6.1",
5743
- "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.1.tgz",
5744
- "integrity": "sha512-15tXuONeq5ORoZjV/bUo2gbtZrN2IH+Z6DvL35QmZyKHgbY1ahn6wcnLd9Xv9OjiwbAXiiP8MRZwbZrCv1wYNg==",
5745
- "dev": true,
5746
- "requires": {
5747
- "@types/cheerio": "^0.22.22",
5748
- "lodash": "^4.17.15",
5749
- "react-is": "^16.12.0"
5750
- }
5751
- },
5752
- "errno": {
5753
- "version": "0.1.7",
5754
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
5755
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
5756
- "dev": true,
5757
- "requires": {
5758
- "prr": "~1.0.1"
5759
- }
5760
- },
5761
- "error": {
5762
- "version": "7.2.1",
5763
- "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz",
5764
- "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==",
5765
- "dev": true,
5766
- "requires": {
5767
- "string-template": "~0.2.1"
5768
- }
5769
- },
5770
- "error-ex": {
5771
- "version": "1.3.2",
5772
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
5773
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
5774
- "dev": true,
5775
- "requires": {
5776
- "is-arrayish": "^0.2.1"
5777
- }
5778
- },
5779
- "es-abstract": {
5780
- "version": "1.18.0-next.1",
5781
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
5782
- "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
5783
- "dev": true,
5784
- "requires": {
5785
- "es-to-primitive": "^1.2.1",
5786
- "function-bind": "^1.1.1",
5787
- "has": "^1.0.3",
5788
- "has-symbols": "^1.0.1",
5789
- "is-callable": "^1.2.2",
5790
- "is-negative-zero": "^2.0.0",
5791
- "is-regex": "^1.1.1",
5792
- "object-inspect": "^1.8.0",
5793
- "object-keys": "^1.1.1",
5794
- "object.assign": "^4.1.1",
5795
- "string.prototype.trimend": "^1.0.1",
5796
- "string.prototype.trimstart": "^1.0.1"
5797
- }
5798
- },
5799
- "es-to-primitive": {
5800
- "version": "1.2.1",
5801
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
5802
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
5803
- "dev": true,
5804
- "requires": {
5805
- "is-callable": "^1.1.4",
5806
- "is-date-object": "^1.0.1",
5807
- "is-symbol": "^1.0.2"
5808
- }
5809
- },
5810
- "escalade": {
5811
- "version": "3.1.1",
5812
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
5813
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
5814
- "dev": true
5815
- },
5816
- "escape-html": {
5817
- "version": "1.0.3",
5818
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
5819
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
5820
- "dev": true
5821
- },
5822
- "escape-string-regexp": {
5823
- "version": "1.0.5",
5824
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
5825
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
5826
- "dev": true
5827
- },
5828
- "escodegen": {
5829
- "version": "1.14.3",
5830
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
5831
- "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
5832
- "dev": true,
5833
- "requires": {
5834
- "esprima": "^4.0.1",
5835
- "estraverse": "^4.2.0",
5836
- "esutils": "^2.0.2",
5837
- "optionator": "^0.8.1",
5838
- "source-map": "~0.6.1"
5839
- },
5840
- "dependencies": {
5841
- "levn": {
5842
- "version": "0.3.0",
5843
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
5844
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
5845
- "dev": true,
5846
- "requires": {
5847
- "prelude-ls": "~1.1.2",
5848
- "type-check": "~0.3.2"
5849
- }
5850
- },
5851
- "optionator": {
5852
- "version": "0.8.3",
5853
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
5854
- "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
5855
- "dev": true,
5856
- "requires": {
5857
- "deep-is": "~0.1.3",
5858
- "fast-levenshtein": "~2.0.6",
5859
- "levn": "~0.3.0",
5860
- "prelude-ls": "~1.1.2",
5861
- "type-check": "~0.3.2",
5862
- "word-wrap": "~1.2.3"
5863
- }
5864
- },
5865
- "prelude-ls": {
5866
- "version": "1.1.2",
5867
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
5868
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
5869
- "dev": true
5870
- },
5871
- "source-map": {
5872
- "version": "0.6.1",
5873
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
5874
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
5875
- "dev": true,
5876
- "optional": true
5877
- },
5878
- "type-check": {
5879
- "version": "0.3.2",
5880
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
5881
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
5882
- "dev": true,
5883
- "requires": {
5884
- "prelude-ls": "~1.1.2"
5885
- }
5886
- }
5887
- }
5888
- },
5889
- "eslint": {
5890
- "version": "7.11.0",
5891
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.11.0.tgz",
5892
- "integrity": "sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw==",
5893
- "dev": true,
5894
- "requires": {
5895
- "@babel/code-frame": "^7.0.0",
5896
- "@eslint/eslintrc": "^0.1.3",
5897
- "ajv": "^6.10.0",
5898
- "chalk": "^4.0.0",
5899
- "cross-spawn": "^7.0.2",
5900
- "debug": "^4.0.1",
5901
- "doctrine": "^3.0.0",
5902
- "enquirer": "^2.3.5",
5903
- "eslint-scope": "^5.1.1",
5904
- "eslint-utils": "^2.1.0",
5905
- "eslint-visitor-keys": "^2.0.0",
5906
- "espree": "^7.3.0",
5907
- "esquery": "^1.2.0",
5908
- "esutils": "^2.0.2",
5909
- "file-entry-cache": "^5.0.1",
5910
- "functional-red-black-tree": "^1.0.1",
5911
- "glob-parent": "^5.0.0",
5912
- "globals": "^12.1.0",
5913
- "ignore": "^4.0.6",
5914
- "import-fresh": "^3.0.0",
5915
- "imurmurhash": "^0.1.4",
5916
- "is-glob": "^4.0.0",
5917
- "js-yaml": "^3.13.1",
5918
- "json-stable-stringify-without-jsonify": "^1.0.1",
5919
- "levn": "^0.4.1",
5920
- "lodash": "^4.17.19",
5921
- "minimatch": "^3.0.4",
5922
- "natural-compare": "^1.4.0",
5923
- "optionator": "^0.9.1",
5924
- "progress": "^2.0.0",
5925
- "regexpp": "^3.1.0",
5926
- "semver": "^7.2.1",
5927
- "strip-ansi": "^6.0.0",
5928
- "strip-json-comments": "^3.1.0",
5929
- "table": "^5.2.3",
5930
- "text-table": "^0.2.0",
5931
- "v8-compile-cache": "^2.0.3"
5932
- },
5933
- "dependencies": {
5934
- "ansi-regex": {
5935
- "version": "5.0.0",
5936
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
5937
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
5938
- "dev": true
5939
- },
5940
- "cross-spawn": {
5941
- "version": "7.0.3",
5942
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
5943
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
5944
- "dev": true,
5945
- "requires": {
5946
- "path-key": "^3.1.0",
5947
- "shebang-command": "^2.0.0",
5948
- "which": "^2.0.1"
5949
- }
5950
- },
5951
- "doctrine": {
5952
- "version": "3.0.0",
5953
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
5954
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
5955
- "dev": true,
5956
- "requires": {
5957
- "esutils": "^2.0.2"
5958
- }
5959
- },
5960
- "eslint-scope": {
5961
- "version": "5.1.1",
5962
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
5963
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
5964
- "dev": true,
5965
- "requires": {
5966
- "esrecurse": "^4.3.0",
5967
- "estraverse": "^4.1.1"
5968
- }
5969
- },
5970
- "eslint-visitor-keys": {
5971
- "version": "2.0.0",
5972
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
5973
- "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
5974
- "dev": true
5975
- },
5976
- "globals": {
5977
- "version": "12.4.0",
5978
- "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
5979
- "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
5980
- "dev": true,
5981
- "requires": {
5982
- "type-fest": "^0.8.1"
5983
- }
5984
- },
5985
- "path-key": {
5986
- "version": "3.1.1",
5987
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
5988
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
5989
- "dev": true
5990
- },
5991
- "semver": {
5992
- "version": "7.3.2",
5993
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
5994
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
5995
- "dev": true
5996
- },
5997
- "shebang-command": {
5998
- "version": "2.0.0",
5999
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
6000
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
6001
- "dev": true,
6002
- "requires": {
6003
- "shebang-regex": "^3.0.0"
6004
- }
6005
- },
6006
- "shebang-regex": {
6007
- "version": "3.0.0",
6008
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
6009
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
6010
- "dev": true
6011
- },
6012
- "strip-ansi": {
6013
- "version": "6.0.0",
6014
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
6015
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
6016
- "dev": true,
6017
- "requires": {
6018
- "ansi-regex": "^5.0.0"
6019
- }
6020
- }
6021
- }
6022
- },
6023
- "eslint-config-prettier": {
6024
- "version": "6.13.0",
6025
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.13.0.tgz",
6026
- "integrity": "sha512-LcT0i0LSmnzqK2t764pyIt7kKH2AuuqKRTtJTdddWxOiUja9HdG5GXBVF2gmCTvVYWVsTu8J2MhJLVGRh+pj8w==",
6027
- "dev": true,
6028
- "requires": {
6029
- "get-stdin": "^6.0.0"
6030
- }
6031
- },
6032
- "eslint-plugin-jest": {
6033
- "version": "23.20.0",
6034
- "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz",
6035
- "integrity": "sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw==",
6036
- "dev": true,
6037
- "requires": {
6038
- "@typescript-eslint/experimental-utils": "^2.5.0"
6039
- }
6040
- },
6041
- "eslint-plugin-jsdoc": {
6042
- "version": "30.7.3",
6043
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.3.tgz",
6044
- "integrity": "sha512-slzJeKrm3vXabRYcFBpbUgWgdnATN9rNOFAr7IhmkxmR9Vk/6qN1c/IdvTqVSEctDRQ08chR+Lvk8fRayXgYZg==",
6045
- "dev": true,
6046
- "requires": {
6047
- "comment-parser": "^0.7.6",
6048
- "debug": "^4.2.0",
6049
- "jsdoctypeparser": "^9.0.0",
6050
- "lodash": "^4.17.20",
6051
- "regextras": "^0.7.1",
6052
- "semver": "^7.3.2",
6053
- "spdx-expression-parse": "^3.0.1"
6054
- },
6055
- "dependencies": {
6056
- "semver": {
6057
- "version": "7.3.2",
6058
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
6059
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
6060
- "dev": true
6061
- }
6062
- }
6063
- },
6064
- "eslint-plugin-jsx-a11y": {
6065
- "version": "6.3.1",
6066
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz",
6067
- "integrity": "sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==",
6068
- "dev": true,
6069
- "requires": {
6070
- "@babel/runtime": "^7.10.2",
6071
- "aria-query": "^4.2.2",
6072
- "array-includes": "^3.1.1",
6073
- "ast-types-flow": "^0.0.7",
6074
- "axe-core": "^3.5.4",
6075
- "axobject-query": "^2.1.2",
6076
- "damerau-levenshtein": "^1.0.6",
6077
- "emoji-regex": "^9.0.0",
6078
- "has": "^1.0.3",
6079
- "jsx-ast-utils": "^2.4.1",
6080
- "language-tags": "^1.0.5"
6081
- }
6082
- },
6083
- "eslint-plugin-markdown": {
6084
- "version": "1.0.2",
6085
- "resolved": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-1.0.2.tgz",
6086
- "integrity": "sha512-BfvXKsO0K+zvdarNc801jsE/NTLmig4oKhZ1U3aSUgTf2dB/US5+CrfGxMsCK2Ki1vS1R3HPok+uYpufFndhzw==",
6087
- "dev": true,
6088
- "requires": {
6089
- "object-assign": "^4.0.1",
6090
- "remark-parse": "^5.0.0",
6091
- "unified": "^6.1.2"
6092
- }
6093
- },
6094
- "eslint-plugin-prettier": {
6095
- "version": "3.1.4",
6096
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz",
6097
- "integrity": "sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==",
6098
- "dev": true,
6099
- "requires": {
6100
- "prettier-linter-helpers": "^1.0.0"
6101
- }
6102
- },
6103
- "eslint-plugin-react": {
6104
- "version": "7.21.5",
6105
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz",
6106
- "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==",
6107
- "dev": true,
6108
- "requires": {
6109
- "array-includes": "^3.1.1",
6110
- "array.prototype.flatmap": "^1.2.3",
6111
- "doctrine": "^2.1.0",
6112
- "has": "^1.0.3",
6113
- "jsx-ast-utils": "^2.4.1 || ^3.0.0",
6114
- "object.entries": "^1.1.2",
6115
- "object.fromentries": "^2.0.2",
6116
- "object.values": "^1.1.1",
6117
- "prop-types": "^15.7.2",
6118
- "resolve": "^1.18.1",
6119
- "string.prototype.matchall": "^4.0.2"
6120
- }
6121
- },
6122
- "eslint-plugin-react-hooks": {
6123
- "version": "4.1.2",
6124
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.1.2.tgz",
6125
- "integrity": "sha512-ykUeqkGyUGgwTtk78C0o8UG2fzwmgJ0qxBGPp2WqRKsTwcLuVf01kTDRAtOsd4u6whX2XOC8749n2vPydP82fg==",
6126
- "dev": true
6127
- },
6128
- "eslint-scope": {
6129
- "version": "4.0.3",
6130
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
6131
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
6132
- "dev": true,
6133
- "requires": {
6134
- "esrecurse": "^4.1.0",
6135
- "estraverse": "^4.1.1"
6136
- }
6137
- },
6138
- "eslint-utils": {
6139
- "version": "2.1.0",
6140
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
6141
- "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
6142
- "dev": true,
6143
- "requires": {
6144
- "eslint-visitor-keys": "^1.1.0"
6145
- }
6146
- },
6147
- "eslint-visitor-keys": {
6148
- "version": "1.3.0",
6149
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
6150
- "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
6151
- "dev": true
6152
- },
6153
- "espree": {
6154
- "version": "7.3.0",
6155
- "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz",
6156
- "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==",
6157
- "dev": true,
6158
- "requires": {
6159
- "acorn": "^7.4.0",
6160
- "acorn-jsx": "^5.2.0",
6161
- "eslint-visitor-keys": "^1.3.0"
6162
- },
6163
- "dependencies": {
6164
- "acorn": {
6165
- "version": "7.4.1",
6166
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
6167
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
6168
- "dev": true
6169
- }
6170
- }
6171
- },
6172
- "esprima": {
6173
- "version": "4.0.1",
6174
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
6175
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
6176
- "dev": true
6177
- },
6178
- "esquery": {
6179
- "version": "1.3.1",
6180
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
6181
- "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
6182
- "dev": true,
6183
- "requires": {
6184
- "estraverse": "^5.1.0"
6185
- },
6186
- "dependencies": {
6187
- "estraverse": {
6188
- "version": "5.2.0",
6189
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
6190
- "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
6191
- "dev": true
6192
- }
6193
- }
6194
- },
6195
- "esrecurse": {
6196
- "version": "4.3.0",
6197
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
6198
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
6199
- "dev": true,
6200
- "requires": {
6201
- "estraverse": "^5.2.0"
6202
- },
6203
- "dependencies": {
6204
- "estraverse": {
6205
- "version": "5.2.0",
6206
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
6207
- "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
6208
- "dev": true
6209
- }
6210
- }
6211
- },
6212
- "estraverse": {
6213
- "version": "4.3.0",
6214
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
6215
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
6216
- "dev": true
6217
- },
6218
- "esutils": {
6219
- "version": "2.0.3",
6220
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
6221
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
6222
- "dev": true
6223
- },
6224
- "etag": {
6225
- "version": "1.8.1",
6226
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
6227
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
6228
- "dev": true
6229
- },
6230
- "events": {
6231
- "version": "3.2.0",
6232
- "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz",
6233
- "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==",
6234
- "dev": true
6235
- },
6236
- "evp_bytestokey": {
6237
- "version": "1.0.3",
6238
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
6239
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
6240
- "dev": true,
6241
- "requires": {
6242
- "md5.js": "^1.3.4",
6243
- "safe-buffer": "^5.1.1"
6244
- }
6245
- },
6246
- "exec-sh": {
6247
- "version": "0.3.4",
6248
- "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz",
6249
- "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==",
6250
- "dev": true
6251
- },
6252
- "execa": {
6253
- "version": "1.0.0",
6254
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
6255
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
6256
- "dev": true,
6257
- "requires": {
6258
- "cross-spawn": "^6.0.0",
6259
- "get-stream": "^4.0.0",
6260
- "is-stream": "^1.1.0",
6261
- "npm-run-path": "^2.0.0",
6262
- "p-finally": "^1.0.0",
6263
- "signal-exit": "^3.0.0",
6264
- "strip-eof": "^1.0.0"
6265
- },
6266
- "dependencies": {
6267
- "cross-spawn": {
6268
- "version": "6.0.5",
6269
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
6270
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
6271
- "dev": true,
6272
- "requires": {
6273
- "nice-try": "^1.0.4",
6274
- "path-key": "^2.0.1",
6275
- "semver": "^5.5.0",
6276
- "shebang-command": "^1.2.0",
6277
- "which": "^1.2.9"
6278
- }
6279
- },
6280
- "which": {
6281
- "version": "1.3.1",
6282
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
6283
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
6284
- "dev": true,
6285
- "requires": {
6286
- "isexe": "^2.0.0"
6287
- }
6288
- }
6289
- }
6290
- },
6291
- "execall": {
6292
- "version": "2.0.0",
6293
- "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
6294
- "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
6295
- "dev": true,
6296
- "requires": {
6297
- "clone-regexp": "^2.1.0"
6298
- }
6299
- },
6300
- "exit": {
6301
- "version": "0.1.2",
6302
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
6303
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
6304
- "dev": true
6305
- },
6306
- "expand-brackets": {
6307
- "version": "2.1.4",
6308
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
6309
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
6310
- "dev": true,
6311
- "requires": {
6312
- "debug": "^2.3.3",
6313
- "define-property": "^0.2.5",
6314
- "extend-shallow": "^2.0.1",
6315
- "posix-character-classes": "^0.1.0",
6316
- "regex-not": "^1.0.0",
6317
- "snapdragon": "^0.8.1",
6318
- "to-regex": "^3.0.1"
6319
- },
6320
- "dependencies": {
6321
- "debug": {
6322
- "version": "2.6.9",
6323
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
6324
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
6325
- "dev": true,
6326
- "requires": {
6327
- "ms": "2.0.0"
6328
- }
6329
- },
6330
- "define-property": {
6331
- "version": "0.2.5",
6332
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
6333
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
6334
- "dev": true,
6335
- "requires": {
6336
- "is-descriptor": "^0.1.0"
6337
- }
6338
- },
6339
- "extend-shallow": {
6340
- "version": "2.0.1",
6341
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
6342
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6343
- "dev": true,
6344
- "requires": {
6345
- "is-extendable": "^0.1.0"
6346
- }
6347
- },
6348
- "ms": {
6349
- "version": "2.0.0",
6350
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
6351
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
6352
- "dev": true
6353
- }
6354
- }
6355
- },
6356
- "expand-tilde": {
6357
- "version": "1.2.2",
6358
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
6359
- "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
6360
- "dev": true,
6361
- "requires": {
6362
- "os-homedir": "^1.0.1"
6363
- }
6364
- },
6365
- "expect": {
6366
- "version": "25.5.0",
6367
- "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
6368
- "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
6369
- "dev": true,
6370
- "requires": {
6371
- "@jest/types": "^25.5.0",
6372
- "ansi-styles": "^4.0.0",
6373
- "jest-get-type": "^25.2.6",
6374
- "jest-matcher-utils": "^25.5.0",
6375
- "jest-message-util": "^25.5.0",
6376
- "jest-regex-util": "^25.2.6"
6377
- },
6378
- "dependencies": {
6379
- "ansi-styles": {
6380
- "version": "4.3.0",
6381
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
6382
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
6383
- "dev": true,
6384
- "requires": {
6385
- "color-convert": "^2.0.1"
6386
- }
6387
- },
6388
- "color-convert": {
6389
- "version": "2.0.1",
6390
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
6391
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
6392
- "dev": true,
6393
- "requires": {
6394
- "color-name": "~1.1.4"
6395
- }
6396
- },
6397
- "color-name": {
6398
- "version": "1.1.4",
6399
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
6400
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
6401
- "dev": true
6402
- }
6403
- }
6404
- },
6405
- "expect-puppeteer": {
6406
- "version": "4.4.0",
6407
- "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-4.4.0.tgz",
6408
- "integrity": "sha512-6Ey4Xy2xvmuQu7z7YQtMsaMV0EHJRpVxIDOd5GRrm04/I3nkTKIutELfECsLp6le+b3SSa3cXhPiw6PgqzxYWA==",
6409
- "dev": true
6410
- },
6411
- "express": {
6412
- "version": "4.17.1",
6413
- "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
6414
- "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
6415
- "dev": true,
6416
- "requires": {
6417
- "accepts": "~1.3.7",
6418
- "array-flatten": "1.1.1",
6419
- "body-parser": "1.19.0",
6420
- "content-disposition": "0.5.3",
6421
- "content-type": "~1.0.4",
6422
- "cookie": "0.4.0",
6423
- "cookie-signature": "1.0.6",
6424
- "debug": "2.6.9",
6425
- "depd": "~1.1.2",
6426
- "encodeurl": "~1.0.2",
6427
- "escape-html": "~1.0.3",
6428
- "etag": "~1.8.1",
6429
- "finalhandler": "~1.1.2",
6430
- "fresh": "0.5.2",
6431
- "merge-descriptors": "1.0.1",
6432
- "methods": "~1.1.2",
6433
- "on-finished": "~2.3.0",
6434
- "parseurl": "~1.3.3",
6435
- "path-to-regexp": "0.1.7",
6436
- "proxy-addr": "~2.0.5",
6437
- "qs": "6.7.0",
6438
- "range-parser": "~1.2.1",
6439
- "safe-buffer": "5.1.2",
6440
- "send": "0.17.1",
6441
- "serve-static": "1.14.1",
6442
- "setprototypeof": "1.1.1",
6443
- "statuses": "~1.5.0",
6444
- "type-is": "~1.6.18",
6445
- "utils-merge": "1.0.1",
6446
- "vary": "~1.1.2"
6447
- },
6448
- "dependencies": {
6449
- "debug": {
6450
- "version": "2.6.9",
6451
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
6452
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
6453
- "dev": true,
6454
- "requires": {
6455
- "ms": "2.0.0"
6456
- }
6457
- },
6458
- "ms": {
6459
- "version": "2.0.0",
6460
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
6461
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
6462
- "dev": true
6463
- },
6464
- "qs": {
6465
- "version": "6.7.0",
6466
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
6467
- "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
6468
- "dev": true
6469
- }
6470
- }
6471
- },
6472
- "extend": {
6473
- "version": "3.0.2",
6474
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
6475
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
6476
- "dev": true
6477
- },
6478
- "extend-shallow": {
6479
- "version": "3.0.2",
6480
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
6481
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
6482
- "dev": true,
6483
- "requires": {
6484
- "assign-symbols": "^1.0.0",
6485
- "is-extendable": "^1.0.1"
6486
- },
6487
- "dependencies": {
6488
- "is-extendable": {
6489
- "version": "1.0.1",
6490
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
6491
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
6492
- "dev": true,
6493
- "requires": {
6494
- "is-plain-object": "^2.0.4"
6495
- }
6496
- }
6497
- }
6498
- },
6499
- "extglob": {
6500
- "version": "2.0.4",
6501
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
6502
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
6503
- "dev": true,
6504
- "requires": {
6505
- "array-unique": "^0.3.2",
6506
- "define-property": "^1.0.0",
6507
- "expand-brackets": "^2.1.4",
6508
- "extend-shallow": "^2.0.1",
6509
- "fragment-cache": "^0.2.1",
6510
- "regex-not": "^1.0.0",
6511
- "snapdragon": "^0.8.1",
6512
- "to-regex": "^3.0.1"
6513
- },
6514
- "dependencies": {
6515
- "define-property": {
6516
- "version": "1.0.0",
6517
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
6518
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
6519
- "dev": true,
6520
- "requires": {
6521
- "is-descriptor": "^1.0.0"
6522
- }
6523
- },
6524
- "extend-shallow": {
6525
- "version": "2.0.1",
6526
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
6527
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6528
- "dev": true,
6529
- "requires": {
6530
- "is-extendable": "^0.1.0"
6531
- }
6532
- },
6533
- "is-accessor-descriptor": {
6534
- "version": "1.0.0",
6535
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
6536
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
6537
- "dev": true,
6538
- "requires": {
6539
- "kind-of": "^6.0.0"
6540
- }
6541
- },
6542
- "is-data-descriptor": {
6543
- "version": "1.0.0",
6544
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
6545
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
6546
- "dev": true,
6547
- "requires": {
6548
- "kind-of": "^6.0.0"
6549
- }
6550
- },
6551
- "is-descriptor": {
6552
- "version": "1.0.2",
6553
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
6554
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
6555
- "dev": true,
6556
- "requires": {
6557
- "is-accessor-descriptor": "^1.0.0",
6558
- "is-data-descriptor": "^1.0.0",
6559
- "kind-of": "^6.0.2"
6560
- }
6561
- },
6562
- "kind-of": {
6563
- "version": "6.0.3",
6564
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
6565
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
6566
- "dev": true
6567
- }
6568
- }
6569
- },
6570
- "extract-zip": {
6571
- "version": "2.0.1",
6572
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
6573
- "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
6574
- "dev": true,
6575
- "requires": {
6576
- "@types/yauzl": "^2.9.1",
6577
- "debug": "^4.1.1",
6578
- "get-stream": "^5.1.0",
6579
- "yauzl": "^2.10.0"
6580
- },
6581
- "dependencies": {
6582
- "get-stream": {
6583
- "version": "5.2.0",
6584
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
6585
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
6586
- "dev": true,
6587
- "requires": {
6588
- "pump": "^3.0.0"
6589
- }
6590
- }
6591
- }
6592
- },
6593
- "extsprintf": {
6594
- "version": "1.3.0",
6595
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
6596
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
6597
- "dev": true
6598
- },
6599
- "fast-deep-equal": {
6600
- "version": "3.1.3",
6601
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
6602
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
6603
- "dev": true
6604
- },
6605
- "fast-diff": {
6606
- "version": "1.2.0",
6607
- "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
6608
- "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
6609
- "dev": true
6610
- },
6611
- "fast-glob": {
6612
- "version": "3.2.4",
6613
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
6614
- "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
6615
- "dev": true,
6616
- "requires": {
6617
- "@nodelib/fs.stat": "^2.0.2",
6618
- "@nodelib/fs.walk": "^1.2.3",
6619
- "glob-parent": "^5.1.0",
6620
- "merge2": "^1.3.0",
6621
- "micromatch": "^4.0.2",
6622
- "picomatch": "^2.2.1"
6623
- },
6624
- "dependencies": {
6625
- "braces": {
6626
- "version": "3.0.2",
6627
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
6628
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
6629
- "dev": true,
6630
- "requires": {
6631
- "fill-range": "^7.0.1"
6632
- }
6633
- },
6634
- "fill-range": {
6635
- "version": "7.0.1",
6636
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
6637
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
6638
- "dev": true,
6639
- "requires": {
6640
- "to-regex-range": "^5.0.1"
6641
- }
6642
- },
6643
- "is-number": {
6644
- "version": "7.0.0",
6645
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
6646
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
6647
- "dev": true
6648
- },
6649
- "micromatch": {
6650
- "version": "4.0.2",
6651
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
6652
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
6653
- "dev": true,
6654
- "requires": {
6655
- "braces": "^3.0.1",
6656
- "picomatch": "^2.0.5"
6657
- }
6658
- },
6659
- "to-regex-range": {
6660
- "version": "5.0.1",
6661
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
6662
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
6663
- "dev": true,
6664
- "requires": {
6665
- "is-number": "^7.0.0"
6666
- }
6667
- }
6668
- }
6669
- },
6670
- "fast-json-stable-stringify": {
6671
- "version": "2.1.0",
6672
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
6673
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
6674
- "dev": true
6675
- },
6676
- "fast-levenshtein": {
6677
- "version": "2.0.6",
6678
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
6679
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
6680
- "dev": true
6681
- },
6682
- "fastest-levenshtein": {
6683
- "version": "1.0.12",
6684
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
6685
- "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
6686
- "dev": true
6687
- },
6688
- "fastq": {
6689
- "version": "1.8.0",
6690
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
6691
- "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==",
6692
- "dev": true,
6693
- "requires": {
6694
- "reusify": "^1.0.4"
6695
- }
6696
- },
6697
- "faye-websocket": {
6698
- "version": "0.10.0",
6699
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
6700
- "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
6701
- "dev": true,
6702
- "requires": {
6703
- "websocket-driver": ">=0.5.1"
6704
- }
6705
- },
6706
- "fb-watchman": {
6707
- "version": "2.0.1",
6708
- "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
6709
- "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
6710
- "dev": true,
6711
- "requires": {
6712
- "bser": "2.1.1"
6713
- }
6714
- },
6715
- "fd-slicer": {
6716
- "version": "1.1.0",
6717
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
6718
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
6719
- "dev": true,
6720
- "requires": {
6721
- "pend": "~1.2.0"
6722
- }
6723
- },
6724
- "figgy-pudding": {
6725
- "version": "3.5.2",
6726
- "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
6727
- "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
6728
- "dev": true
6729
- },
6730
- "file-entry-cache": {
6731
- "version": "5.0.1",
6732
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
6733
- "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
6734
- "dev": true,
6735
- "requires": {
6736
- "flat-cache": "^2.0.1"
6737
- }
6738
- },
6739
- "filesize": {
6740
- "version": "3.6.1",
6741
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
6742
- "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
6743
- "dev": true
6744
- },
6745
- "fill-range": {
6746
- "version": "4.0.0",
6747
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
6748
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
6749
- "dev": true,
6750
- "requires": {
6751
- "extend-shallow": "^2.0.1",
6752
- "is-number": "^3.0.0",
6753
- "repeat-string": "^1.6.1",
6754
- "to-regex-range": "^2.1.0"
6755
- },
6756
- "dependencies": {
6757
- "extend-shallow": {
6758
- "version": "2.0.1",
6759
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
6760
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
6761
- "dev": true,
6762
- "requires": {
6763
- "is-extendable": "^0.1.0"
6764
- }
6765
- }
6766
- }
6767
- },
6768
- "finalhandler": {
6769
- "version": "1.1.2",
6770
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
6771
- "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
6772
- "dev": true,
6773
- "requires": {
6774
- "debug": "2.6.9",
6775
- "encodeurl": "~1.0.2",
6776
- "escape-html": "~1.0.3",
6777
- "on-finished": "~2.3.0",
6778
- "parseurl": "~1.3.3",
6779
- "statuses": "~1.5.0",
6780
- "unpipe": "~1.0.0"
6781
- },
6782
- "dependencies": {
6783
- "debug": {
6784
- "version": "2.6.9",
6785
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
6786
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
6787
- "dev": true,
6788
- "requires": {
6789
- "ms": "2.0.0"
6790
- }
6791
- },
6792
- "ms": {
6793
- "version": "2.0.0",
6794
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
6795
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
6796
- "dev": true
6797
- }
6798
- }
6799
- },
6800
- "find-cache-dir": {
6801
- "version": "2.1.0",
6802
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
6803
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
6804
- "dev": true,
6805
- "requires": {
6806
- "commondir": "^1.0.1",
6807
- "make-dir": "^2.0.0",
6808
- "pkg-dir": "^3.0.0"
6809
- }
6810
- },
6811
- "find-file-up": {
6812
- "version": "0.1.3",
6813
- "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz",
6814
- "integrity": "sha1-z2gJG8+fMApA2kEbN9pczlovvqA=",
6815
- "dev": true,
6816
- "requires": {
6817
- "fs-exists-sync": "^0.1.0",
6818
- "resolve-dir": "^0.1.0"
6819
- }
6820
- },
6821
- "find-parent-dir": {
6822
- "version": "0.3.0",
6823
- "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz",
6824
- "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=",
6825
- "dev": true
6826
- },
6827
- "find-pkg": {
6828
- "version": "0.1.2",
6829
- "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz",
6830
- "integrity": "sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc=",
6831
- "dev": true,
6832
- "requires": {
6833
- "find-file-up": "^0.1.2"
6834
- }
6835
- },
6836
- "find-process": {
6837
- "version": "1.4.3",
6838
- "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.3.tgz",
6839
- "integrity": "sha512-+IA+AUsQCf3uucawyTwMWcY+2M3FXq3BRvw3S+j5Jvydjk31f/+NPWpYZOJs+JUs2GvxH4Yfr6Wham0ZtRLlPA==",
6840
- "dev": true,
6841
- "requires": {
6842
- "chalk": "^2.0.1",
6843
- "commander": "^2.11.0",
6844
- "debug": "^2.6.8"
6845
- },
6846
- "dependencies": {
6847
- "chalk": {
6848
- "version": "2.4.2",
6849
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
6850
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
6851
- "dev": true,
6852
- "requires": {
6853
- "ansi-styles": "^3.2.1",
6854
- "escape-string-regexp": "^1.0.5",
6855
- "supports-color": "^5.3.0"
6856
- }
6857
- },
6858
- "debug": {
6859
- "version": "2.6.9",
6860
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
6861
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
6862
- "dev": true,
6863
- "requires": {
6864
- "ms": "2.0.0"
6865
- }
6866
- },
6867
- "ms": {
6868
- "version": "2.0.0",
6869
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
6870
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
6871
- "dev": true
6872
- }
6873
- }
6874
- },
6875
- "find-up": {
6876
- "version": "3.0.0",
6877
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
6878
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
6879
- "dev": true,
6880
- "requires": {
6881
- "locate-path": "^3.0.0"
6882
- }
6883
- },
6884
- "findup-sync": {
6885
- "version": "3.0.0",
6886
- "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
6887
- "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
6888
- "dev": true,
6889
- "requires": {
6890
- "detect-file": "^1.0.0",
6891
- "is-glob": "^4.0.0",
6892
- "micromatch": "^3.0.4",
6893
- "resolve-dir": "^1.0.1"
6894
- },
6895
- "dependencies": {
6896
- "expand-tilde": {
6897
- "version": "2.0.2",
6898
- "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
6899
- "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
6900
- "dev": true,
6901
- "requires": {
6902
- "homedir-polyfill": "^1.0.1"
6903
- }
6904
- },
6905
- "global-modules": {
6906
- "version": "1.0.0",
6907
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
6908
- "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
6909
- "dev": true,
6910
- "requires": {
6911
- "global-prefix": "^1.0.1",
6912
- "is-windows": "^1.0.1",
6913
- "resolve-dir": "^1.0.0"
6914
- }
6915
- },
6916
- "global-prefix": {
6917
- "version": "1.0.2",
6918
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
6919
- "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
6920
- "dev": true,
6921
- "requires": {
6922
- "expand-tilde": "^2.0.2",
6923
- "homedir-polyfill": "^1.0.1",
6924
- "ini": "^1.3.4",
6925
- "is-windows": "^1.0.1",
6926
- "which": "^1.2.14"
6927
- }
6928
- },
6929
- "resolve-dir": {
6930
- "version": "1.0.1",
6931
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
6932
- "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
6933
- "dev": true,
6934
- "requires": {
6935
- "expand-tilde": "^2.0.0",
6936
- "global-modules": "^1.0.0"
6937
- }
6938
- },
6939
- "which": {
6940
- "version": "1.3.1",
6941
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
6942
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
6943
- "dev": true,
6944
- "requires": {
6945
- "isexe": "^2.0.0"
6946
- }
6947
- }
6948
- }
6949
- },
6950
- "flat-cache": {
6951
- "version": "2.0.1",
6952
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
6953
- "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
6954
- "dev": true,
6955
- "requires": {
6956
- "flatted": "^2.0.0",
6957
- "rimraf": "2.6.3",
6958
- "write": "1.0.3"
6959
- },
6960
- "dependencies": {
6961
- "rimraf": {
6962
- "version": "2.6.3",
6963
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
6964
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
6965
- "dev": true,
6966
- "requires": {
6967
- "glob": "^7.1.3"
6968
- }
6969
- }
6970
- }
6971
- },
6972
- "flatted": {
6973
- "version": "2.0.2",
6974
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
6975
- "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
6976
- "dev": true
6977
- },
6978
- "flush-write-stream": {
6979
- "version": "1.1.1",
6980
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
6981
- "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
6982
- "dev": true,
6983
- "requires": {
6984
- "inherits": "^2.0.3",
6985
- "readable-stream": "^2.3.6"
6986
- }
6987
- },
6988
- "for-in": {
6989
- "version": "1.0.2",
6990
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
6991
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
6992
- "dev": true
6993
- },
6994
- "for-own": {
6995
- "version": "0.1.5",
6996
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
6997
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
6998
- "dev": true,
6999
- "requires": {
7000
- "for-in": "^1.0.1"
7001
- }
7002
- },
7003
- "forever-agent": {
7004
- "version": "0.6.1",
7005
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
7006
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
7007
- "dev": true
7008
- },
7009
- "form-data": {
7010
- "version": "2.3.3",
7011
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
7012
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
7013
- "dev": true,
7014
- "requires": {
7015
- "asynckit": "^0.4.0",
7016
- "combined-stream": "^1.0.6",
7017
- "mime-types": "^2.1.12"
7018
- }
7019
- },
7020
- "forwarded": {
7021
- "version": "0.1.2",
7022
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
7023
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
7024
- "dev": true
7025
- },
7026
- "fragment-cache": {
7027
- "version": "0.2.1",
7028
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
7029
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
7030
- "dev": true,
7031
- "requires": {
7032
- "map-cache": "^0.2.2"
7033
- }
7034
- },
7035
- "fresh": {
7036
- "version": "0.5.2",
7037
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
7038
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
7039
- "dev": true
7040
- },
7041
- "from2": {
7042
- "version": "2.3.0",
7043
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
7044
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
7045
- "dev": true,
7046
- "requires": {
7047
- "inherits": "^2.0.1",
7048
- "readable-stream": "^2.0.0"
7049
- }
7050
- },
7051
- "fs-constants": {
7052
- "version": "1.0.0",
7053
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
7054
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
7055
- "dev": true
7056
- },
7057
- "fs-exists-sync": {
7058
- "version": "0.1.0",
7059
- "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
7060
- "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
7061
- "dev": true
7062
- },
7063
- "fs-minipass": {
7064
- "version": "2.1.0",
7065
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
7066
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
7067
- "dev": true,
7068
- "requires": {
7069
- "minipass": "^3.0.0"
7070
- }
7071
- },
7072
- "fs-write-stream-atomic": {
7073
- "version": "1.0.10",
7074
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
7075
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
7076
- "dev": true,
7077
- "requires": {
7078
- "graceful-fs": "^4.1.2",
7079
- "iferr": "^0.1.5",
7080
- "imurmurhash": "^0.1.4",
7081
- "readable-stream": "1 || 2"
7082
- }
7083
- },
7084
- "fs.realpath": {
7085
- "version": "1.0.0",
7086
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
7087
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
7088
- "dev": true
7089
- },
7090
- "fsevents": {
7091
- "version": "2.1.3",
7092
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
7093
- "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
7094
- "dev": true,
7095
- "optional": true
7096
- },
7097
- "fstream": {
7098
- "version": "1.0.12",
7099
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
7100
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
7101
- "dev": true,
7102
- "requires": {
7103
- "graceful-fs": "^4.1.2",
7104
- "inherits": "~2.0.0",
7105
- "mkdirp": ">=0.5 0",
7106
- "rimraf": "2"
7107
- }
7108
- },
7109
- "function-bind": {
7110
- "version": "1.1.1",
7111
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
7112
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
7113
- "dev": true
7114
- },
7115
- "function.prototype.name": {
7116
- "version": "1.1.2",
7117
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.2.tgz",
7118
- "integrity": "sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg==",
7119
- "dev": true,
7120
- "requires": {
7121
- "define-properties": "^1.1.3",
7122
- "es-abstract": "^1.17.0-next.1",
7123
- "functions-have-names": "^1.2.0"
7124
- },
7125
- "dependencies": {
7126
- "es-abstract": {
7127
- "version": "1.17.7",
7128
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
7129
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
7130
- "dev": true,
7131
- "requires": {
7132
- "es-to-primitive": "^1.2.1",
7133
- "function-bind": "^1.1.1",
7134
- "has": "^1.0.3",
7135
- "has-symbols": "^1.0.1",
7136
- "is-callable": "^1.2.2",
7137
- "is-regex": "^1.1.1",
7138
- "object-inspect": "^1.8.0",
7139
- "object-keys": "^1.1.1",
7140
- "object.assign": "^4.1.1",
7141
- "string.prototype.trimend": "^1.0.1",
7142
- "string.prototype.trimstart": "^1.0.1"
7143
- }
7144
- }
7145
- }
7146
- },
7147
- "functional-red-black-tree": {
7148
- "version": "1.0.1",
7149
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
7150
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
7151
- "dev": true
7152
- },
7153
- "functions-have-names": {
7154
- "version": "1.2.1",
7155
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.1.tgz",
7156
- "integrity": "sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA==",
7157
- "dev": true
7158
- },
7159
- "gauge": {
7160
- "version": "2.7.4",
7161
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
7162
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
7163
- "dev": true,
7164
- "requires": {
7165
- "aproba": "^1.0.3",
7166
- "console-control-strings": "^1.0.0",
7167
- "has-unicode": "^2.0.0",
7168
- "object-assign": "^4.1.0",
7169
- "signal-exit": "^3.0.0",
7170
- "string-width": "^1.0.1",
7171
- "strip-ansi": "^3.0.1",
7172
- "wide-align": "^1.1.0"
7173
- },
7174
- "dependencies": {
7175
- "ansi-regex": {
7176
- "version": "2.1.1",
7177
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
7178
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
7179
- "dev": true
7180
- },
7181
- "is-fullwidth-code-point": {
7182
- "version": "1.0.0",
7183
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
7184
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
7185
- "dev": true,
7186
- "requires": {
7187
- "number-is-nan": "^1.0.0"
7188
- }
7189
- },
7190
- "string-width": {
7191
- "version": "1.0.2",
7192
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
7193
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
7194
- "dev": true,
7195
- "requires": {
7196
- "code-point-at": "^1.0.0",
7197
- "is-fullwidth-code-point": "^1.0.0",
7198
- "strip-ansi": "^3.0.0"
7199
- }
7200
- },
7201
- "strip-ansi": {
7202
- "version": "3.0.1",
7203
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
7204
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
7205
- "dev": true,
7206
- "requires": {
7207
- "ansi-regex": "^2.0.0"
7208
- }
7209
- }
7210
- }
7211
- },
7212
- "gaze": {
7213
- "version": "1.1.3",
7214
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
7215
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
7216
- "dev": true,
7217
- "requires": {
7218
- "globule": "^1.0.0"
7219
- }
7220
- },
7221
- "gensync": {
7222
- "version": "1.0.0-beta.1",
7223
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
7224
- "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
7225
- "dev": true
7226
- },
7227
- "get-caller-file": {
7228
- "version": "2.0.5",
7229
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
7230
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
7231
- "dev": true
7232
- },
7233
- "get-package-type": {
7234
- "version": "0.1.0",
7235
- "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
7236
- "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
7237
- "dev": true
7238
- },
7239
- "get-stdin": {
7240
- "version": "6.0.0",
7241
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
7242
- "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
7243
- "dev": true
7244
- },
7245
- "get-stream": {
7246
- "version": "4.1.0",
7247
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
7248
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
7249
- "dev": true,
7250
- "requires": {
7251
- "pump": "^3.0.0"
7252
- }
7253
- },
7254
- "get-value": {
7255
- "version": "2.0.6",
7256
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
7257
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
7258
- "dev": true
7259
- },
7260
- "getpass": {
7261
- "version": "0.1.7",
7262
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
7263
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
7264
- "dev": true,
7265
- "requires": {
7266
- "assert-plus": "^1.0.0"
7267
- }
7268
- },
7269
- "gettext-parser": {
7270
- "version": "1.4.0",
7271
- "resolved": "https://registry.npmjs.org/gettext-parser/-/gettext-parser-1.4.0.tgz",
7272
- "integrity": "sha512-sedZYLHlHeBop/gZ1jdg59hlUEcpcZJofLq2JFwJT1zTqAU3l2wFv6IsuwFHGqbiT9DWzMUW4/em2+hspnmMMA==",
7273
- "requires": {
7274
- "encoding": "^0.1.12",
7275
- "safe-buffer": "^5.1.1"
7276
- }
7277
- },
7278
- "glob": {
7279
- "version": "7.1.6",
7280
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
7281
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
7282
- "dev": true,
7283
- "requires": {
7284
- "fs.realpath": "^1.0.0",
7285
- "inflight": "^1.0.4",
7286
- "inherits": "2",
7287
- "minimatch": "^3.0.4",
7288
- "once": "^1.3.0",
7289
- "path-is-absolute": "^1.0.0"
7290
- }
7291
- },
7292
- "glob-parent": {
7293
- "version": "5.1.1",
7294
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
7295
- "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
7296
- "dev": true,
7297
- "requires": {
7298
- "is-glob": "^4.0.1"
7299
- }
7300
- },
7301
- "global-modules": {
7302
- "version": "0.2.3",
7303
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
7304
- "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
7305
- "dev": true,
7306
- "requires": {
7307
- "global-prefix": "^0.1.4",
7308
- "is-windows": "^0.2.0"
7309
- },
7310
- "dependencies": {
7311
- "is-windows": {
7312
- "version": "0.2.0",
7313
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
7314
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
7315
- "dev": true
7316
- }
7317
- }
7318
- },
7319
- "global-prefix": {
7320
- "version": "0.1.5",
7321
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
7322
- "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
7323
- "dev": true,
7324
- "requires": {
7325
- "homedir-polyfill": "^1.0.0",
7326
- "ini": "^1.3.4",
7327
- "is-windows": "^0.2.0",
7328
- "which": "^1.2.12"
7329
- },
7330
- "dependencies": {
7331
- "is-windows": {
7332
- "version": "0.2.0",
7333
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
7334
- "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
7335
- "dev": true
7336
- },
7337
- "which": {
7338
- "version": "1.3.1",
7339
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
7340
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
7341
- "dev": true,
7342
- "requires": {
7343
- "isexe": "^2.0.0"
7344
- }
7345
- }
7346
- }
7347
- },
7348
- "globals": {
7349
- "version": "11.12.0",
7350
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
7351
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
7352
- "dev": true
7353
- },
7354
- "globby": {
7355
- "version": "6.1.0",
7356
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
7357
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
7358
- "dev": true,
7359
- "requires": {
7360
- "array-union": "^1.0.1",
7361
- "glob": "^7.0.3",
7362
- "object-assign": "^4.0.1",
7363
- "pify": "^2.0.0",
7364
- "pinkie-promise": "^2.0.0"
7365
- },
7366
- "dependencies": {
7367
- "pify": {
7368
- "version": "2.3.0",
7369
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
7370
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
7371
- "dev": true
7372
- }
7373
- }
7374
- },
7375
- "globjoin": {
7376
- "version": "0.1.4",
7377
- "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
7378
- "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=",
7379
- "dev": true
7380
- },
7381
- "globule": {
7382
- "version": "1.3.2",
7383
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz",
7384
- "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==",
7385
- "dev": true,
7386
- "requires": {
7387
- "glob": "~7.1.1",
7388
- "lodash": "~4.17.10",
7389
- "minimatch": "~3.0.2"
7390
- }
7391
- },
7392
- "gonzales-pe": {
7393
- "version": "4.3.0",
7394
- "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
7395
- "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
7396
- "dev": true,
7397
- "requires": {
7398
- "minimist": "^1.2.5"
7399
- }
7400
- },
7401
- "graceful-fs": {
7402
- "version": "4.2.4",
7403
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
7404
- "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
7405
- "dev": true
7406
- },
7407
- "graceful-readlink": {
7408
- "version": "1.0.1",
7409
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
7410
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
7411
- "dev": true
7412
- },
7413
- "growly": {
7414
- "version": "1.3.0",
7415
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
7416
- "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
7417
- "dev": true,
7418
- "optional": true
7419
- },
7420
- "gzip-size": {
7421
- "version": "5.1.1",
7422
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz",
7423
- "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==",
7424
- "dev": true,
7425
- "requires": {
7426
- "duplexer": "^0.1.1",
7427
- "pify": "^4.0.1"
7428
- }
7429
- },
7430
- "har-schema": {
7431
- "version": "2.0.0",
7432
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
7433
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
7434
- "dev": true
7435
- },
7436
- "har-validator": {
7437
- "version": "5.1.5",
7438
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
7439
- "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
7440
- "dev": true,
7441
- "requires": {
7442
- "ajv": "^6.12.3",
7443
- "har-schema": "^2.0.0"
7444
- }
7445
- },
7446
- "hard-rejection": {
7447
- "version": "2.1.0",
7448
- "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
7449
- "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
7450
- "dev": true
7451
- },
7452
- "has": {
7453
- "version": "1.0.3",
7454
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
7455
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
7456
- "dev": true,
7457
- "requires": {
7458
- "function-bind": "^1.1.1"
7459
- }
7460
- },
7461
- "has-ansi": {
7462
- "version": "2.0.0",
7463
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
7464
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
7465
- "dev": true,
7466
- "requires": {
7467
- "ansi-regex": "^2.0.0"
7468
- },
7469
- "dependencies": {
7470
- "ansi-regex": {
7471
- "version": "2.1.1",
7472
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
7473
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
7474
- "dev": true
7475
- }
7476
- }
7477
- },
7478
- "has-flag": {
7479
- "version": "3.0.0",
7480
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
7481
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
7482
- "dev": true
7483
- },
7484
- "has-symbols": {
7485
- "version": "1.0.1",
7486
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
7487
- "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
7488
- "dev": true
7489
- },
7490
- "has-unicode": {
7491
- "version": "2.0.1",
7492
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
7493
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
7494
- "dev": true
7495
- },
7496
- "has-value": {
7497
- "version": "1.0.0",
7498
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
7499
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
7500
- "dev": true,
7501
- "requires": {
7502
- "get-value": "^2.0.6",
7503
- "has-values": "^1.0.0",
7504
- "isobject": "^3.0.0"
7505
- }
7506
- },
7507
- "has-values": {
7508
- "version": "1.0.0",
7509
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
7510
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
7511
- "dev": true,
7512
- "requires": {
7513
- "is-number": "^3.0.0",
7514
- "kind-of": "^4.0.0"
7515
- },
7516
- "dependencies": {
7517
- "kind-of": {
7518
- "version": "4.0.0",
7519
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
7520
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
7521
- "dev": true,
7522
- "requires": {
7523
- "is-buffer": "^1.1.5"
7524
- }
7525
- }
7526
- }
7527
- },
7528
- "hash-base": {
7529
- "version": "3.1.0",
7530
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
7531
- "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
7532
- "dev": true,
7533
- "requires": {
7534
- "inherits": "^2.0.4",
7535
- "readable-stream": "^3.6.0",
7536
- "safe-buffer": "^5.2.0"
7537
- },
7538
- "dependencies": {
7539
- "readable-stream": {
7540
- "version": "3.6.0",
7541
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
7542
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
7543
- "dev": true,
7544
- "requires": {
7545
- "inherits": "^2.0.3",
7546
- "string_decoder": "^1.1.1",
7547
- "util-deprecate": "^1.0.1"
7548
- }
7549
- },
7550
- "safe-buffer": {
7551
- "version": "5.2.1",
7552
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
7553
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
7554
- "dev": true
7555
- }
7556
- }
7557
- },
7558
- "hash.js": {
7559
- "version": "1.1.7",
7560
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
7561
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
7562
- "dev": true,
7563
- "requires": {
7564
- "inherits": "^2.0.3",
7565
- "minimalistic-assert": "^1.0.1"
7566
- }
7567
- },
7568
- "hmac-drbg": {
7569
- "version": "1.0.1",
7570
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
7571
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
7572
- "dev": true,
7573
- "requires": {
7574
- "hash.js": "^1.0.3",
7575
- "minimalistic-assert": "^1.0.0",
7576
- "minimalistic-crypto-utils": "^1.0.1"
7577
- }
7578
- },
7579
- "homedir-polyfill": {
7580
- "version": "1.0.3",
7581
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
7582
- "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
7583
- "dev": true,
7584
- "requires": {
7585
- "parse-passwd": "^1.0.0"
7586
- }
7587
- },
7588
- "hoopy": {
7589
- "version": "0.1.4",
7590
- "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
7591
- "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==",
7592
- "dev": true
7593
- },
7594
- "hosted-git-info": {
7595
- "version": "2.8.8",
7596
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
7597
- "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
7598
- "dev": true
7599
- },
7600
- "html-element-map": {
7601
- "version": "1.2.0",
7602
- "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.2.0.tgz",
7603
- "integrity": "sha512-0uXq8HsuG1v2TmQ8QkIhzbrqeskE4kn52Q18QJ9iAA/SnHoEKXWiUxHQtclRsCFWEUD2So34X+0+pZZu862nnw==",
7604
- "dev": true,
7605
- "requires": {
7606
- "array-filter": "^1.0.0"
7607
- }
7608
- },
7609
- "html-encoding-sniffer": {
7610
- "version": "1.0.2",
7611
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
7612
- "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
7613
- "dev": true,
7614
- "requires": {
7615
- "whatwg-encoding": "^1.0.1"
7616
- }
7617
- },
7618
- "html-escaper": {
7619
- "version": "2.0.2",
7620
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
7621
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
7622
- "dev": true
7623
- },
7624
- "html-tags": {
7625
- "version": "3.1.0",
7626
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
7627
- "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
7628
- "dev": true
7629
- },
7630
- "htmlparser2": {
7631
- "version": "3.10.1",
7632
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
7633
- "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
7634
- "dev": true,
7635
- "requires": {
7636
- "domelementtype": "^1.3.1",
7637
- "domhandler": "^2.3.0",
7638
- "domutils": "^1.5.1",
7639
- "entities": "^1.1.1",
7640
- "inherits": "^2.0.1",
7641
- "readable-stream": "^3.1.1"
7642
- },
7643
- "dependencies": {
7644
- "entities": {
7645
- "version": "1.1.2",
7646
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
7647
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
7648
- "dev": true
7649
- },
7650
- "readable-stream": {
7651
- "version": "3.6.0",
7652
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
7653
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
7654
- "dev": true,
7655
- "requires": {
7656
- "inherits": "^2.0.3",
7657
- "string_decoder": "^1.1.1",
7658
- "util-deprecate": "^1.0.1"
7659
- }
7660
- }
7661
- }
7662
- },
7663
- "http-errors": {
7664
- "version": "1.7.2",
7665
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
7666
- "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
7667
- "dev": true,
7668
- "requires": {
7669
- "depd": "~1.1.2",
7670
- "inherits": "2.0.3",
7671
- "setprototypeof": "1.1.1",
7672
- "statuses": ">= 1.5.0 < 2",
7673
- "toidentifier": "1.0.0"
7674
- },
7675
- "dependencies": {
7676
- "inherits": {
7677
- "version": "2.0.3",
7678
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
7679
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
7680
- "dev": true
7681
- }
7682
- }
7683
- },
7684
- "http-parser-js": {
7685
- "version": "0.5.2",
7686
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz",
7687
- "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==",
7688
- "dev": true
7689
- },
7690
- "http-signature": {
7691
- "version": "1.2.0",
7692
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
7693
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
7694
- "dev": true,
7695
- "requires": {
7696
- "assert-plus": "^1.0.0",
7697
- "jsprim": "^1.2.2",
7698
- "sshpk": "^1.7.0"
7699
- }
7700
- },
7701
- "https-browserify": {
7702
- "version": "1.0.0",
7703
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
7704
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
7705
- "dev": true
7706
- },
7707
- "https-proxy-agent": {
7708
- "version": "4.0.0",
7709
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
7710
- "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
7711
- "dev": true,
7712
- "requires": {
7713
- "agent-base": "5",
7714
- "debug": "4"
7715
- }
7716
- },
7717
- "human-signals": {
7718
- "version": "1.1.1",
7719
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
7720
- "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
7721
- "dev": true
7722
- },
7723
- "iconv-lite": {
7724
- "version": "0.4.24",
7725
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
7726
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
7727
- "dev": true,
7728
- "requires": {
7729
- "safer-buffer": ">= 2.1.2 < 3"
7730
- }
7731
- },
7732
- "icss-utils": {
7733
- "version": "4.1.1",
7734
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
7735
- "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
7736
- "dev": true,
7737
- "requires": {
7738
- "postcss": "^7.0.14"
7739
- }
7740
- },
7741
- "ieee754": {
7742
- "version": "1.1.13",
7743
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
7744
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
7745
- "dev": true
7746
- },
7747
- "iferr": {
7748
- "version": "0.1.5",
7749
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
7750
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
7751
- "dev": true
7752
- },
7753
- "ignore": {
7754
- "version": "4.0.6",
7755
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
7756
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
7757
- "dev": true
7758
- },
7759
- "ignore-emit-webpack-plugin": {
7760
- "version": "2.0.3",
7761
- "resolved": "https://registry.npmjs.org/ignore-emit-webpack-plugin/-/ignore-emit-webpack-plugin-2.0.3.tgz",
7762
- "integrity": "sha512-ahTYD5KZ3DiZG9goS8NCxBaPEfXsPLH5JeWKmFTThD8lsPen6R4tLnWcN/mrksK5cDqyxOzmRL12feJQZjffuA==",
7763
- "dev": true
7764
- },
7765
- "import-cwd": {
7766
- "version": "2.1.0",
7767
- "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
7768
- "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
7769
- "dev": true,
7770
- "requires": {
7771
- "import-from": "^2.1.0"
7772
- }
7773
- },
7774
- "import-fresh": {
7775
- "version": "3.2.1",
7776
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
7777
- "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
7778
- "dev": true,
7779
- "requires": {
7780
- "parent-module": "^1.0.0",
7781
- "resolve-from": "^4.0.0"
7782
- }
7783
- },
7784
- "import-from": {
7785
- "version": "2.1.0",
7786
- "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
7787
- "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
7788
- "dev": true,
7789
- "requires": {
7790
- "resolve-from": "^3.0.0"
7791
- },
7792
- "dependencies": {
7793
- "resolve-from": {
7794
- "version": "3.0.0",
7795
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
7796
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
7797
- "dev": true
7798
- }
7799
- }
7800
- },
7801
- "import-lazy": {
7802
- "version": "4.0.0",
7803
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
7804
- "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
7805
- "dev": true
7806
- },
7807
- "import-local": {
7808
- "version": "3.0.2",
7809
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
7810
- "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
7811
- "dev": true,
7812
- "requires": {
7813
- "pkg-dir": "^4.2.0",
7814
- "resolve-cwd": "^3.0.0"
7815
- },
7816
- "dependencies": {
7817
- "find-up": {
7818
- "version": "4.1.0",
7819
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
7820
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
7821
- "dev": true,
7822
- "requires": {
7823
- "locate-path": "^5.0.0",
7824
- "path-exists": "^4.0.0"
7825
- }
7826
- },
7827
- "locate-path": {
7828
- "version": "5.0.0",
7829
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
7830
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
7831
- "dev": true,
7832
- "requires": {
7833
- "p-locate": "^4.1.0"
7834
- }
7835
- },
7836
- "p-locate": {
7837
- "version": "4.1.0",
7838
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
7839
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
7840
- "dev": true,
7841
- "requires": {
7842
- "p-limit": "^2.2.0"
7843
- }
7844
- },
7845
- "path-exists": {
7846
- "version": "4.0.0",
7847
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
7848
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
7849
- "dev": true
7850
- },
7851
- "pkg-dir": {
7852
- "version": "4.2.0",
7853
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
7854
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
7855
- "dev": true,
7856
- "requires": {
7857
- "find-up": "^4.0.0"
7858
- }
7859
- }
7860
- }
7861
- },
7862
- "imurmurhash": {
7863
- "version": "0.1.4",
7864
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
7865
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
7866
- "dev": true
7867
- },
7868
- "in-publish": {
7869
- "version": "2.0.1",
7870
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz",
7871
- "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==",
7872
- "dev": true
7873
- },
7874
- "indent-string": {
7875
- "version": "2.1.0",
7876
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
7877
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
7878
- "dev": true,
7879
- "requires": {
7880
- "repeating": "^2.0.0"
7881
- }
7882
- },
7883
- "indexes-of": {
7884
- "version": "1.0.1",
7885
- "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
7886
- "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
7887
- "dev": true
7888
- },
7889
- "infer-owner": {
7890
- "version": "1.0.4",
7891
- "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
7892
- "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
7893
- "dev": true
7894
- },
7895
- "inflight": {
7896
- "version": "1.0.6",
7897
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
7898
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
7899
- "dev": true,
7900
- "requires": {
7901
- "once": "^1.3.0",
7902
- "wrappy": "1"
7903
- }
7904
- },
7905
- "inherits": {
7906
- "version": "2.0.4",
7907
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
7908
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
7909
- "dev": true
7910
- },
7911
- "ini": {
7912
- "version": "1.3.5",
7913
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
7914
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
7915
- "dev": true
7916
- },
7917
- "internal-slot": {
7918
- "version": "1.0.2",
7919
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz",
7920
- "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==",
7921
- "dev": true,
7922
- "requires": {
7923
- "es-abstract": "^1.17.0-next.1",
7924
- "has": "^1.0.3",
7925
- "side-channel": "^1.0.2"
7926
- },
7927
- "dependencies": {
7928
- "es-abstract": {
7929
- "version": "1.17.7",
7930
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
7931
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
7932
- "dev": true,
7933
- "requires": {
7934
- "es-to-primitive": "^1.2.1",
7935
- "function-bind": "^1.1.1",
7936
- "has": "^1.0.3",
7937
- "has-symbols": "^1.0.1",
7938
- "is-callable": "^1.2.2",
7939
- "is-regex": "^1.1.1",
7940
- "object-inspect": "^1.8.0",
7941
- "object-keys": "^1.1.1",
7942
- "object.assign": "^4.1.1",
7943
- "string.prototype.trimend": "^1.0.1",
7944
- "string.prototype.trimstart": "^1.0.1"
7945
- }
7946
- }
7947
- }
7948
- },
7949
- "interpret": {
7950
- "version": "1.4.0",
7951
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
7952
- "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
7953
- "dev": true
7954
- },
7955
- "ip-regex": {
7956
- "version": "2.1.0",
7957
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
7958
- "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
7959
- "dev": true
7960
- },
7961
- "ipaddr.js": {
7962
- "version": "1.9.1",
7963
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
7964
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
7965
- "dev": true
7966
- },
7967
- "irregular-plurals": {
7968
- "version": "3.2.0",
7969
- "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.2.0.tgz",
7970
- "integrity": "sha512-YqTdPLfwP7YFN0SsD3QUVCkm9ZG2VzOXv3DOrw5G5mkMbVwptTwVcFv7/C0vOpBmgTxAeTG19XpUs1E522LW9Q==",
7971
- "dev": true
7972
- },
7973
- "is-accessor-descriptor": {
7974
- "version": "0.1.6",
7975
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
7976
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
7977
- "dev": true,
7978
- "requires": {
7979
- "kind-of": "^3.0.2"
7980
- }
7981
- },
7982
- "is-alphabetical": {
7983
- "version": "1.0.4",
7984
- "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
7985
- "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
7986
- "dev": true
7987
- },
7988
- "is-alphanumeric": {
7989
- "version": "1.0.0",
7990
- "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
7991
- "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
7992
- "dev": true
7993
- },
7994
- "is-alphanumerical": {
7995
- "version": "1.0.4",
7996
- "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
7997
- "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
7998
- "dev": true,
7999
- "requires": {
8000
- "is-alphabetical": "^1.0.0",
8001
- "is-decimal": "^1.0.0"
8002
- }
8003
- },
8004
- "is-arrayish": {
8005
- "version": "0.2.1",
8006
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
8007
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
8008
- "dev": true
8009
- },
8010
- "is-binary-path": {
8011
- "version": "2.1.0",
8012
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
8013
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
8014
- "dev": true,
8015
- "optional": true,
8016
- "requires": {
8017
- "binary-extensions": "^2.0.0"
8018
- }
8019
- },
8020
- "is-boolean-object": {
8021
- "version": "1.0.1",
8022
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz",
8023
- "integrity": "sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==",
8024
- "dev": true
8025
- },
8026
- "is-buffer": {
8027
- "version": "1.1.6",
8028
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
8029
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
8030
- "dev": true
8031
- },
8032
- "is-callable": {
8033
- "version": "1.2.2",
8034
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
8035
- "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
8036
- "dev": true
8037
- },
8038
- "is-ci": {
8039
- "version": "2.0.0",
8040
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
8041
- "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
8042
- "dev": true,
8043
- "requires": {
8044
- "ci-info": "^2.0.0"
8045
- }
8046
- },
8047
- "is-core-module": {
8048
- "version": "2.0.0",
8049
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz",
8050
- "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==",
8051
- "dev": true,
8052
- "requires": {
8053
- "has": "^1.0.3"
8054
- }
8055
- },
8056
- "is-data-descriptor": {
8057
- "version": "0.1.4",
8058
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
8059
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
8060
- "dev": true,
8061
- "requires": {
8062
- "kind-of": "^3.0.2"
8063
- }
8064
- },
8065
- "is-date-object": {
8066
- "version": "1.0.2",
8067
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
8068
- "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
8069
- "dev": true
8070
- },
8071
- "is-decimal": {
8072
- "version": "1.0.4",
8073
- "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
8074
- "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
8075
- "dev": true
8076
- },
8077
- "is-descriptor": {
8078
- "version": "0.1.6",
8079
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
8080
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
8081
- "dev": true,
8082
- "requires": {
8083
- "is-accessor-descriptor": "^0.1.6",
8084
- "is-data-descriptor": "^0.1.4",
8085
- "kind-of": "^5.0.0"
8086
- },
8087
- "dependencies": {
8088
- "kind-of": {
8089
- "version": "5.1.0",
8090
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
8091
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
8092
- "dev": true
8093
- }
8094
- }
8095
- },
8096
- "is-directory": {
8097
- "version": "0.3.1",
8098
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
8099
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
8100
- "dev": true
8101
- },
8102
- "is-docker": {
8103
- "version": "2.1.1",
8104
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
8105
- "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
8106
- "dev": true,
8107
- "optional": true
8108
- },
8109
- "is-extendable": {
8110
- "version": "0.1.1",
8111
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
8112
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
8113
- "dev": true
8114
- },
8115
- "is-extglob": {
8116
- "version": "2.1.1",
8117
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
8118
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
8119
- "dev": true
8120
- },
8121
- "is-finite": {
8122
- "version": "1.1.0",
8123
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
8124
- "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
8125
- "dev": true
8126
- },
8127
- "is-fullwidth-code-point": {
8128
- "version": "2.0.0",
8129
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
8130
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
8131
- "dev": true
8132
- },
8133
- "is-generator-fn": {
8134
- "version": "2.1.0",
8135
- "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
8136
- "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
8137
- "dev": true
8138
- },
8139
- "is-glob": {
8140
- "version": "4.0.1",
8141
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
8142
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
8143
- "dev": true,
8144
- "requires": {
8145
- "is-extglob": "^2.1.1"
8146
- }
8147
- },
8148
- "is-hexadecimal": {
8149
- "version": "1.0.4",
8150
- "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
8151
- "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
8152
- "dev": true
8153
- },
8154
- "is-negative-zero": {
8155
- "version": "2.0.0",
8156
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
8157
- "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
8158
- "dev": true
8159
- },
8160
- "is-number": {
8161
- "version": "3.0.0",
8162
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
8163
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
8164
- "dev": true,
8165
- "requires": {
8166
- "kind-of": "^3.0.2"
8167
- }
8168
- },
8169
- "is-number-object": {
8170
- "version": "1.0.4",
8171
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz",
8172
- "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==",
8173
- "dev": true
8174
- },
8175
- "is-path-cwd": {
8176
- "version": "2.2.0",
8177
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
8178
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
8179
- "dev": true
8180
- },
8181
- "is-path-in-cwd": {
8182
- "version": "2.1.0",
8183
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
8184
- "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
8185
- "dev": true,
8186
- "requires": {
8187
- "is-path-inside": "^2.1.0"
8188
- }
8189
- },
8190
- "is-path-inside": {
8191
- "version": "2.1.0",
8192
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
8193
- "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
8194
- "dev": true,
8195
- "requires": {
8196
- "path-is-inside": "^1.0.2"
8197
- }
8198
- },
8199
- "is-plain-obj": {
8200
- "version": "1.1.0",
8201
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
8202
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
8203
- "dev": true
8204
- },
8205
- "is-plain-object": {
8206
- "version": "2.0.4",
8207
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
8208
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
8209
- "dev": true,
8210
- "requires": {
8211
- "isobject": "^3.0.1"
8212
- }
8213
- },
8214
- "is-regex": {
8215
- "version": "1.1.1",
8216
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
8217
- "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
8218
- "dev": true,
8219
- "requires": {
8220
- "has-symbols": "^1.0.1"
8221
- }
8222
- },
8223
- "is-regexp": {
8224
- "version": "2.1.0",
8225
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
8226
- "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
8227
- "dev": true
8228
- },
8229
- "is-stream": {
8230
- "version": "1.1.0",
8231
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
8232
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
8233
- "dev": true
8234
- },
8235
- "is-string": {
8236
- "version": "1.0.5",
8237
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
8238
- "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
8239
- "dev": true
8240
- },
8241
- "is-subset": {
8242
- "version": "0.1.1",
8243
- "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz",
8244
- "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=",
8245
- "dev": true
8246
- },
8247
- "is-symbol": {
8248
- "version": "1.0.3",
8249
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
8250
- "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
8251
- "dev": true,
8252
- "requires": {
8253
- "has-symbols": "^1.0.1"
8254
- }
8255
- },
8256
- "is-typedarray": {
8257
- "version": "1.0.0",
8258
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
8259
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
8260
- "dev": true
8261
- },
8262
- "is-url-superb": {
8263
- "version": "4.0.0",
8264
- "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz",
8265
- "integrity": "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==",
8266
- "dev": true
8267
- },
8268
- "is-utf8": {
8269
- "version": "0.2.1",
8270
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
8271
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
8272
- "dev": true
8273
- },
8274
- "is-whitespace-character": {
8275
- "version": "1.0.4",
8276
- "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
8277
- "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==",
8278
- "dev": true
8279
- },
8280
- "is-windows": {
8281
- "version": "1.0.2",
8282
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
8283
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
8284
- "dev": true
8285
- },
8286
- "is-word-character": {
8287
- "version": "1.0.4",
8288
- "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
8289
- "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==",
8290
- "dev": true
8291
- },
8292
- "is-wsl": {
8293
- "version": "1.1.0",
8294
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
8295
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
8296
- "dev": true
8297
- },
8298
- "isarray": {
8299
- "version": "1.0.0",
8300
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
8301
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
8302
- "dev": true
8303
- },
8304
- "isexe": {
8305
- "version": "2.0.0",
8306
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
8307
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
8308
- "dev": true
8309
- },
8310
- "isobject": {
8311
- "version": "3.0.1",
8312
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
8313
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
8314
- "dev": true
8315
- },
8316
- "isstream": {
8317
- "version": "0.1.2",
8318
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
8319
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
8320
- "dev": true
8321
- },
8322
- "istanbul-lib-coverage": {
8323
- "version": "3.0.0",
8324
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
8325
- "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
8326
- "dev": true
8327
- },
8328
- "istanbul-lib-instrument": {
8329
- "version": "4.0.3",
8330
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
8331
- "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
8332
- "dev": true,
8333
- "requires": {
8334
- "@babel/core": "^7.7.5",
8335
- "@istanbuljs/schema": "^0.1.2",
8336
- "istanbul-lib-coverage": "^3.0.0",
8337
- "semver": "^6.3.0"
8338
- },
8339
- "dependencies": {
8340
- "semver": {
8341
- "version": "6.3.0",
8342
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
8343
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
8344
- "dev": true
8345
- }
8346
- }
8347
- },
8348
- "istanbul-lib-report": {
8349
- "version": "3.0.0",
8350
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
8351
- "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
8352
- "dev": true,
8353
- "requires": {
8354
- "istanbul-lib-coverage": "^3.0.0",
8355
- "make-dir": "^3.0.0",
8356
- "supports-color": "^7.1.0"
8357
- },
8358
- "dependencies": {
8359
- "has-flag": {
8360
- "version": "4.0.0",
8361
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
8362
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
8363
- "dev": true
8364
- },
8365
- "make-dir": {
8366
- "version": "3.1.0",
8367
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
8368
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
8369
- "dev": true,
8370
- "requires": {
8371
- "semver": "^6.0.0"
8372
- }
8373
- },
8374
- "semver": {
8375
- "version": "6.3.0",
8376
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
8377
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
8378
- "dev": true
8379
- },
8380
- "supports-color": {
8381
- "version": "7.2.0",
8382
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
8383
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
8384
- "dev": true,
8385
- "requires": {
8386
- "has-flag": "^4.0.0"
8387
- }
8388
- }
8389
- }
8390
- },
8391
- "istanbul-lib-source-maps": {
8392
- "version": "4.0.0",
8393
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
8394
- "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
8395
- "dev": true,
8396
- "requires": {
8397
- "debug": "^4.1.1",
8398
- "istanbul-lib-coverage": "^3.0.0",
8399
- "source-map": "^0.6.1"
8400
- },
8401
- "dependencies": {
8402
- "source-map": {
8403
- "version": "0.6.1",
8404
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
8405
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
8406
- "dev": true
8407
- }
8408
- }
8409
- },
8410
- "istanbul-reports": {
8411
- "version": "3.0.2",
8412
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
8413
- "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
8414
- "dev": true,
8415
- "requires": {
8416
- "html-escaper": "^2.0.0",
8417
- "istanbul-lib-report": "^3.0.0"
8418
- }
8419
- },
8420
- "jest": {
8421
- "version": "25.5.4",
8422
- "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz",
8423
- "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==",
8424
- "dev": true,
8425
- "requires": {
8426
- "@jest/core": "^25.5.4",
8427
- "import-local": "^3.0.2",
8428
- "jest-cli": "^25.5.4"
8429
- },
8430
- "dependencies": {
8431
- "ansi-styles": {
8432
- "version": "4.3.0",
8433
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
8434
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
8435
- "dev": true,
8436
- "requires": {
8437
- "color-convert": "^2.0.1"
8438
- }
8439
- },
8440
- "chalk": {
8441
- "version": "3.0.0",
8442
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
8443
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
8444
- "dev": true,
8445
- "requires": {
8446
- "ansi-styles": "^4.1.0",
8447
- "supports-color": "^7.1.0"
8448
- }
8449
- },
8450
- "color-convert": {
8451
- "version": "2.0.1",
8452
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
8453
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
8454
- "dev": true,
8455
- "requires": {
8456
- "color-name": "~1.1.4"
8457
- }
8458
- },
8459
- "color-name": {
8460
- "version": "1.1.4",
8461
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
8462
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
8463
- "dev": true
8464
- },
8465
- "has-flag": {
8466
- "version": "4.0.0",
8467
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
8468
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
8469
- "dev": true
8470
- },
8471
- "jest-cli": {
8472
- "version": "25.5.4",
8473
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz",
8474
- "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==",
8475
- "dev": true,
8476
- "requires": {
8477
- "@jest/core": "^25.5.4",
8478
- "@jest/test-result": "^25.5.0",
8479
- "@jest/types": "^25.5.0",
8480
- "chalk": "^3.0.0",
8481
- "exit": "^0.1.2",
8482
- "graceful-fs": "^4.2.4",
8483
- "import-local": "^3.0.2",
8484
- "is-ci": "^2.0.0",
8485
- "jest-config": "^25.5.4",
8486
- "jest-util": "^25.5.0",
8487
- "jest-validate": "^25.5.0",
8488
- "prompts": "^2.0.1",
8489
- "realpath-native": "^2.0.0",
8490
- "yargs": "^15.3.1"
8491
- }
8492
- },
8493
- "supports-color": {
8494
- "version": "7.2.0",
8495
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
8496
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
8497
- "dev": true,
8498
- "requires": {
8499
- "has-flag": "^4.0.0"
8500
- }
8501
- }
8502
- }
8503
- },
8504
- "jest-changed-files": {
8505
- "version": "25.5.0",
8506
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz",
8507
- "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==",
8508
- "dev": true,
8509
- "requires": {
8510
- "@jest/types": "^25.5.0",
8511
- "execa": "^3.2.0",
8512
- "throat": "^5.0.0"
8513
- },
8514
- "dependencies": {
8515
- "cross-spawn": {
8516
- "version": "7.0.3",
8517
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
8518
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
8519
- "dev": true,
8520
- "requires": {
8521
- "path-key": "^3.1.0",
8522
- "shebang-command": "^2.0.0",
8523
- "which": "^2.0.1"
8524
- }
8525
- },
8526
- "execa": {
8527
- "version": "3.4.0",
8528
- "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
8529
- "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
8530
- "dev": true,
8531
- "requires": {
8532
- "cross-spawn": "^7.0.0",
8533
- "get-stream": "^5.0.0",
8534
- "human-signals": "^1.1.1",
8535
- "is-stream": "^2.0.0",
8536
- "merge-stream": "^2.0.0",
8537
- "npm-run-path": "^4.0.0",
8538
- "onetime": "^5.1.0",
8539
- "p-finally": "^2.0.0",
8540
- "signal-exit": "^3.0.2",
8541
- "strip-final-newline": "^2.0.0"
8542
- }
8543
- },
8544
- "get-stream": {
8545
- "version": "5.2.0",
8546
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
8547
- "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
8548
- "dev": true,
8549
- "requires": {
8550
- "pump": "^3.0.0"
8551
- }
8552
- },
8553
- "is-stream": {
8554
- "version": "2.0.0",
8555
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
8556
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
8557
- "dev": true
8558
- },
8559
- "npm-run-path": {
8560
- "version": "4.0.1",
8561
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
8562
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
8563
- "dev": true,
8564
- "requires": {
8565
- "path-key": "^3.0.0"
8566
- }
8567
- },
8568
- "p-finally": {
8569
- "version": "2.0.1",
8570
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
8571
- "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
8572
- "dev": true
8573
- },
8574
- "path-key": {
8575
- "version": "3.1.1",
8576
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
8577
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
8578
- "dev": true
8579
- },
8580
- "shebang-command": {
8581
- "version": "2.0.0",
8582
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
8583
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
8584
- "dev": true,
8585
- "requires": {
8586
- "shebang-regex": "^3.0.0"
8587
- }
8588
- },
8589
- "shebang-regex": {
8590
- "version": "3.0.0",
8591
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
8592
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
8593
- "dev": true
8594
- }
8595
- }
8596
- },
8597
- "jest-config": {
8598
- "version": "25.5.4",
8599
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
8600
- "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
8601
- "dev": true,
8602
- "requires": {
8603
- "@babel/core": "^7.1.0",
8604
- "@jest/test-sequencer": "^25.5.4",
8605
- "@jest/types": "^25.5.0",
8606
- "babel-jest": "^25.5.1",
8607
- "chalk": "^3.0.0",
8608
- "deepmerge": "^4.2.2",
8609
- "glob": "^7.1.1",
8610
- "graceful-fs": "^4.2.4",
8611
- "jest-environment-jsdom": "^25.5.0",
8612
- "jest-environment-node": "^25.5.0",
8613
- "jest-get-type": "^25.2.6",
8614
- "jest-jasmine2": "^25.5.4",
8615
- "jest-regex-util": "^25.2.6",
8616
- "jest-resolve": "^25.5.1",
8617
- "jest-util": "^25.5.0",
8618
- "jest-validate": "^25.5.0",
8619
- "micromatch": "^4.0.2",
8620
- "pretty-format": "^25.5.0",
8621
- "realpath-native": "^2.0.0"
8622
- },
8623
- "dependencies": {
8624
- "ansi-styles": {
8625
- "version": "4.3.0",
8626
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
8627
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
8628
- "dev": true,
8629
- "requires": {
8630
- "color-convert": "^2.0.1"
8631
- }
8632
- },
8633
- "braces": {
8634
- "version": "3.0.2",
8635
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
8636
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
8637
- "dev": true,
8638
- "requires": {
8639
- "fill-range": "^7.0.1"
8640
- }
8641
- },
8642
- "chalk": {
8643
- "version": "3.0.0",
8644
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
8645
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
8646
- "dev": true,
8647
- "requires": {
8648
- "ansi-styles": "^4.1.0",
8649
- "supports-color": "^7.1.0"
8650
- }
8651
- },
8652
- "color-convert": {
8653
- "version": "2.0.1",
8654
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
8655
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
8656
- "dev": true,
8657
- "requires": {
8658
- "color-name": "~1.1.4"
8659
- }
8660
- },
8661
- "color-name": {
8662
- "version": "1.1.4",
8663
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
8664
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
8665
- "dev": true
8666
- },
8667
- "fill-range": {
8668
- "version": "7.0.1",
8669
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
8670
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
8671
- "dev": true,
8672
- "requires": {
8673
- "to-regex-range": "^5.0.1"
8674
- }
8675
- },
8676
- "has-flag": {
8677
- "version": "4.0.0",
8678
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
8679
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
8680
- "dev": true
8681
- },
8682
- "is-number": {
8683
- "version": "7.0.0",
8684
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
8685
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
8686
- "dev": true
8687
- },
8688
- "micromatch": {
8689
- "version": "4.0.2",
8690
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
8691
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
8692
- "dev": true,
8693
- "requires": {
8694
- "braces": "^3.0.1",
8695
- "picomatch": "^2.0.5"
8696
- }
8697
- },
8698
- "supports-color": {
8699
- "version": "7.2.0",
8700
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
8701
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
8702
- "dev": true,
8703
- "requires": {
8704
- "has-flag": "^4.0.0"
8705
- }
8706
- },
8707
- "to-regex-range": {
8708
- "version": "5.0.1",
8709
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
8710
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
8711
- "dev": true,
8712
- "requires": {
8713
- "is-number": "^7.0.0"
8714
- }
8715
- }
8716
- }
8717
- },
8718
- "jest-dev-server": {
8719
- "version": "4.4.0",
8720
- "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-4.4.0.tgz",
8721
- "integrity": "sha512-STEHJ3iPSC8HbrQ3TME0ozGX2KT28lbT4XopPxUm2WimsX3fcB3YOptRh12YphQisMhfqNSNTZUmWyT3HEXS2A==",
8722
- "dev": true,
8723
- "requires": {
8724
- "chalk": "^3.0.0",
8725
- "cwd": "^0.10.0",
8726
- "find-process": "^1.4.3",
8727
- "prompts": "^2.3.0",
8728
- "spawnd": "^4.4.0",
8729
- "tree-kill": "^1.2.2",
8730
- "wait-on": "^3.3.0"
8731
- },
8732
- "dependencies": {
8733
- "ansi-styles": {
8734
- "version": "4.3.0",
8735
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
8736
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
8737
- "dev": true,
8738
- "requires": {
8739
- "color-convert": "^2.0.1"
8740
- }
8741
- },
8742
- "chalk": {
8743
- "version": "3.0.0",
8744
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
8745
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
8746
- "dev": true,
8747
- "requires": {
8748
- "ansi-styles": "^4.1.0",
8749
- "supports-color": "^7.1.0"
8750
- }
8751
- },
8752
- "color-convert": {
8753
- "version": "2.0.1",
8754
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
8755
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
8756
- "dev": true,
8757
- "requires": {
8758
- "color-name": "~1.1.4"
8759
- }
8760
- },
8761
- "color-name": {
8762
- "version": "1.1.4",
8763
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
8764
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
8765
- "dev": true
8766
- },
8767
- "has-flag": {
8768
- "version": "4.0.0",
8769
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
8770
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
8771
- "dev": true
8772
- },
8773
- "supports-color": {
8774
- "version": "7.2.0",
8775
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
8776
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
8777
- "dev": true,
8778
- "requires": {
8779
- "has-flag": "^4.0.0"
8780
- }
8781
- }
8782
- }
8783
- },
8784
- "jest-diff": {
8785
- "version": "25.5.0",
8786
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
8787
- "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
8788
- "dev": true,
8789
- "requires": {
8790
- "chalk": "^3.0.0",
8791
- "diff-sequences": "^25.2.6",
8792
- "jest-get-type": "^25.2.6",
8793
- "pretty-format": "^25.5.0"
8794
- },
8795
- "dependencies": {
8796
- "ansi-styles": {
8797
- "version": "4.3.0",
8798
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
8799
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
8800
- "dev": true,
8801
- "requires": {
8802
- "color-convert": "^2.0.1"
8803
- }
8804
- },
8805
- "chalk": {
8806
- "version": "3.0.0",
8807
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
8808
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
8809
- "dev": true,
8810
- "requires": {
8811
- "ansi-styles": "^4.1.0",
8812
- "supports-color": "^7.1.0"
8813
- }
8814
- },
8815
- "color-convert": {
8816
- "version": "2.0.1",
8817
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
8818
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
8819
- "dev": true,
8820
- "requires": {
8821
- "color-name": "~1.1.4"
8822
- }
8823
- },
8824
- "color-name": {
8825
- "version": "1.1.4",
8826
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
8827
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
8828
- "dev": true
8829
- },
8830
- "has-flag": {
8831
- "version": "4.0.0",
8832
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
8833
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
8834
- "dev": true
8835
- },
8836
- "supports-color": {
8837
- "version": "7.2.0",
8838
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
8839
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
8840
- "dev": true,
8841
- "requires": {
8842
- "has-flag": "^4.0.0"
8843
- }
8844
- }
8845
- }
8846
- },
8847
- "jest-docblock": {
8848
- "version": "25.3.0",
8849
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
8850
- "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
8851
- "dev": true,
8852
- "requires": {
8853
- "detect-newline": "^3.0.0"
8854
- }
8855
- },
8856
- "jest-each": {
8857
- "version": "25.5.0",
8858
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz",
8859
- "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==",
8860
- "dev": true,
8861
- "requires": {
8862
- "@jest/types": "^25.5.0",
8863
- "chalk": "^3.0.0",
8864
- "jest-get-type": "^25.2.6",
8865
- "jest-util": "^25.5.0",
8866
- "pretty-format": "^25.5.0"
8867
- },
8868
- "dependencies": {
8869
- "ansi-styles": {
8870
- "version": "4.3.0",
8871
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
8872
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
8873
- "dev": true,
8874
- "requires": {
8875
- "color-convert": "^2.0.1"
8876
- }
8877
- },
8878
- "chalk": {
8879
- "version": "3.0.0",
8880
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
8881
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
8882
- "dev": true,
8883
- "requires": {
8884
- "ansi-styles": "^4.1.0",
8885
- "supports-color": "^7.1.0"
8886
- }
8887
- },
8888
- "color-convert": {
8889
- "version": "2.0.1",
8890
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
8891
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
8892
- "dev": true,
8893
- "requires": {
8894
- "color-name": "~1.1.4"
8895
- }
8896
- },
8897
- "color-name": {
8898
- "version": "1.1.4",
8899
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
8900
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
8901
- "dev": true
8902
- },
8903
- "has-flag": {
8904
- "version": "4.0.0",
8905
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
8906
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
8907
- "dev": true
8908
- },
8909
- "supports-color": {
8910
- "version": "7.2.0",
8911
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
8912
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
8913
- "dev": true,
8914
- "requires": {
8915
- "has-flag": "^4.0.0"
8916
- }
8917
- }
8918
- }
8919
- },
8920
- "jest-environment-jsdom": {
8921
- "version": "25.5.0",
8922
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
8923
- "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
8924
- "dev": true,
8925
- "requires": {
8926
- "@jest/environment": "^25.5.0",
8927
- "@jest/fake-timers": "^25.5.0",
8928
- "@jest/types": "^25.5.0",
8929
- "jest-mock": "^25.5.0",
8930
- "jest-util": "^25.5.0",
8931
- "jsdom": "^15.2.1"
8932
- }
8933
- },
8934
- "jest-environment-node": {
8935
- "version": "25.5.0",
8936
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
8937
- "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
8938
- "dev": true,
8939
- "requires": {
8940
- "@jest/environment": "^25.5.0",
8941
- "@jest/fake-timers": "^25.5.0",
8942
- "@jest/types": "^25.5.0",
8943
- "jest-mock": "^25.5.0",
8944
- "jest-util": "^25.5.0",
8945
- "semver": "^6.3.0"
8946
- },
8947
- "dependencies": {
8948
- "semver": {
8949
- "version": "6.3.0",
8950
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
8951
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
8952
- "dev": true
8953
- }
8954
- }
8955
- },
8956
- "jest-environment-puppeteer": {
8957
- "version": "4.4.0",
8958
- "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-4.4.0.tgz",
8959
- "integrity": "sha512-iV8S8+6qkdTM6OBR/M9gKywEk8GDSOe05hspCs5D8qKSwtmlUfdtHfB4cakdc68lC6YfK3AUsLirpfgodCHjzQ==",
8960
- "dev": true,
8961
- "requires": {
8962
- "chalk": "^3.0.0",
8963
- "cwd": "^0.10.0",
8964
- "jest-dev-server": "^4.4.0",
8965
- "merge-deep": "^3.0.2"
8966
- },
8967
- "dependencies": {
8968
- "ansi-styles": {
8969
- "version": "4.3.0",
8970
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
8971
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
8972
- "dev": true,
8973
- "requires": {
8974
- "color-convert": "^2.0.1"
8975
- }
8976
- },
8977
- "chalk": {
8978
- "version": "3.0.0",
8979
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
8980
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
8981
- "dev": true,
8982
- "requires": {
8983
- "ansi-styles": "^4.1.0",
8984
- "supports-color": "^7.1.0"
8985
- }
8986
- },
8987
- "color-convert": {
8988
- "version": "2.0.1",
8989
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
8990
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
8991
- "dev": true,
8992
- "requires": {
8993
- "color-name": "~1.1.4"
8994
- }
8995
- },
8996
- "color-name": {
8997
- "version": "1.1.4",
8998
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
8999
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9000
- "dev": true
9001
- },
9002
- "has-flag": {
9003
- "version": "4.0.0",
9004
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9005
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9006
- "dev": true
9007
- },
9008
- "supports-color": {
9009
- "version": "7.2.0",
9010
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9011
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9012
- "dev": true,
9013
- "requires": {
9014
- "has-flag": "^4.0.0"
9015
- }
9016
- }
9017
- }
9018
- },
9019
- "jest-get-type": {
9020
- "version": "25.2.6",
9021
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
9022
- "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
9023
- "dev": true
9024
- },
9025
- "jest-haste-map": {
9026
- "version": "25.5.1",
9027
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
9028
- "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
9029
- "dev": true,
9030
- "requires": {
9031
- "@jest/types": "^25.5.0",
9032
- "@types/graceful-fs": "^4.1.2",
9033
- "anymatch": "^3.0.3",
9034
- "fb-watchman": "^2.0.0",
9035
- "fsevents": "^2.1.2",
9036
- "graceful-fs": "^4.2.4",
9037
- "jest-serializer": "^25.5.0",
9038
- "jest-util": "^25.5.0",
9039
- "jest-worker": "^25.5.0",
9040
- "micromatch": "^4.0.2",
9041
- "sane": "^4.0.3",
9042
- "walker": "^1.0.7",
9043
- "which": "^2.0.2"
9044
- },
9045
- "dependencies": {
9046
- "braces": {
9047
- "version": "3.0.2",
9048
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
9049
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
9050
- "dev": true,
9051
- "requires": {
9052
- "fill-range": "^7.0.1"
9053
- }
9054
- },
9055
- "fill-range": {
9056
- "version": "7.0.1",
9057
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
9058
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
9059
- "dev": true,
9060
- "requires": {
9061
- "to-regex-range": "^5.0.1"
9062
- }
9063
- },
9064
- "is-number": {
9065
- "version": "7.0.0",
9066
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
9067
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
9068
- "dev": true
9069
- },
9070
- "micromatch": {
9071
- "version": "4.0.2",
9072
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
9073
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
9074
- "dev": true,
9075
- "requires": {
9076
- "braces": "^3.0.1",
9077
- "picomatch": "^2.0.5"
9078
- }
9079
- },
9080
- "to-regex-range": {
9081
- "version": "5.0.1",
9082
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
9083
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
9084
- "dev": true,
9085
- "requires": {
9086
- "is-number": "^7.0.0"
9087
- }
9088
- }
9089
- }
9090
- },
9091
- "jest-jasmine2": {
9092
- "version": "25.5.4",
9093
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
9094
- "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
9095
- "dev": true,
9096
- "requires": {
9097
- "@babel/traverse": "^7.1.0",
9098
- "@jest/environment": "^25.5.0",
9099
- "@jest/source-map": "^25.5.0",
9100
- "@jest/test-result": "^25.5.0",
9101
- "@jest/types": "^25.5.0",
9102
- "chalk": "^3.0.0",
9103
- "co": "^4.6.0",
9104
- "expect": "^25.5.0",
9105
- "is-generator-fn": "^2.0.0",
9106
- "jest-each": "^25.5.0",
9107
- "jest-matcher-utils": "^25.5.0",
9108
- "jest-message-util": "^25.5.0",
9109
- "jest-runtime": "^25.5.4",
9110
- "jest-snapshot": "^25.5.1",
9111
- "jest-util": "^25.5.0",
9112
- "pretty-format": "^25.5.0",
9113
- "throat": "^5.0.0"
9114
- },
9115
- "dependencies": {
9116
- "ansi-styles": {
9117
- "version": "4.3.0",
9118
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9119
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9120
- "dev": true,
9121
- "requires": {
9122
- "color-convert": "^2.0.1"
9123
- }
9124
- },
9125
- "chalk": {
9126
- "version": "3.0.0",
9127
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9128
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9129
- "dev": true,
9130
- "requires": {
9131
- "ansi-styles": "^4.1.0",
9132
- "supports-color": "^7.1.0"
9133
- }
9134
- },
9135
- "color-convert": {
9136
- "version": "2.0.1",
9137
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9138
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9139
- "dev": true,
9140
- "requires": {
9141
- "color-name": "~1.1.4"
9142
- }
9143
- },
9144
- "color-name": {
9145
- "version": "1.1.4",
9146
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9147
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9148
- "dev": true
9149
- },
9150
- "has-flag": {
9151
- "version": "4.0.0",
9152
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9153
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9154
- "dev": true
9155
- },
9156
- "supports-color": {
9157
- "version": "7.2.0",
9158
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9159
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9160
- "dev": true,
9161
- "requires": {
9162
- "has-flag": "^4.0.0"
9163
- }
9164
- }
9165
- }
9166
- },
9167
- "jest-leak-detector": {
9168
- "version": "25.5.0",
9169
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
9170
- "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
9171
- "dev": true,
9172
- "requires": {
9173
- "jest-get-type": "^25.2.6",
9174
- "pretty-format": "^25.5.0"
9175
- }
9176
- },
9177
- "jest-matcher-utils": {
9178
- "version": "25.5.0",
9179
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
9180
- "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
9181
- "dev": true,
9182
- "requires": {
9183
- "chalk": "^3.0.0",
9184
- "jest-diff": "^25.5.0",
9185
- "jest-get-type": "^25.2.6",
9186
- "pretty-format": "^25.5.0"
9187
- },
9188
- "dependencies": {
9189
- "ansi-styles": {
9190
- "version": "4.3.0",
9191
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9192
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9193
- "dev": true,
9194
- "requires": {
9195
- "color-convert": "^2.0.1"
9196
- }
9197
- },
9198
- "chalk": {
9199
- "version": "3.0.0",
9200
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9201
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9202
- "dev": true,
9203
- "requires": {
9204
- "ansi-styles": "^4.1.0",
9205
- "supports-color": "^7.1.0"
9206
- }
9207
- },
9208
- "color-convert": {
9209
- "version": "2.0.1",
9210
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9211
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9212
- "dev": true,
9213
- "requires": {
9214
- "color-name": "~1.1.4"
9215
- }
9216
- },
9217
- "color-name": {
9218
- "version": "1.1.4",
9219
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9220
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9221
- "dev": true
9222
- },
9223
- "has-flag": {
9224
- "version": "4.0.0",
9225
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9226
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9227
- "dev": true
9228
- },
9229
- "supports-color": {
9230
- "version": "7.2.0",
9231
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9232
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9233
- "dev": true,
9234
- "requires": {
9235
- "has-flag": "^4.0.0"
9236
- }
9237
- }
9238
- }
9239
- },
9240
- "jest-message-util": {
9241
- "version": "25.5.0",
9242
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
9243
- "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
9244
- "dev": true,
9245
- "requires": {
9246
- "@babel/code-frame": "^7.0.0",
9247
- "@jest/types": "^25.5.0",
9248
- "@types/stack-utils": "^1.0.1",
9249
- "chalk": "^3.0.0",
9250
- "graceful-fs": "^4.2.4",
9251
- "micromatch": "^4.0.2",
9252
- "slash": "^3.0.0",
9253
- "stack-utils": "^1.0.1"
9254
- },
9255
- "dependencies": {
9256
- "ansi-styles": {
9257
- "version": "4.3.0",
9258
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9259
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9260
- "dev": true,
9261
- "requires": {
9262
- "color-convert": "^2.0.1"
9263
- }
9264
- },
9265
- "braces": {
9266
- "version": "3.0.2",
9267
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
9268
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
9269
- "dev": true,
9270
- "requires": {
9271
- "fill-range": "^7.0.1"
9272
- }
9273
- },
9274
- "chalk": {
9275
- "version": "3.0.0",
9276
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9277
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9278
- "dev": true,
9279
- "requires": {
9280
- "ansi-styles": "^4.1.0",
9281
- "supports-color": "^7.1.0"
9282
- }
9283
- },
9284
- "color-convert": {
9285
- "version": "2.0.1",
9286
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9287
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9288
- "dev": true,
9289
- "requires": {
9290
- "color-name": "~1.1.4"
9291
- }
9292
- },
9293
- "color-name": {
9294
- "version": "1.1.4",
9295
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9296
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9297
- "dev": true
9298
- },
9299
- "fill-range": {
9300
- "version": "7.0.1",
9301
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
9302
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
9303
- "dev": true,
9304
- "requires": {
9305
- "to-regex-range": "^5.0.1"
9306
- }
9307
- },
9308
- "has-flag": {
9309
- "version": "4.0.0",
9310
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9311
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9312
- "dev": true
9313
- },
9314
- "is-number": {
9315
- "version": "7.0.0",
9316
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
9317
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
9318
- "dev": true
9319
- },
9320
- "micromatch": {
9321
- "version": "4.0.2",
9322
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
9323
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
9324
- "dev": true,
9325
- "requires": {
9326
- "braces": "^3.0.1",
9327
- "picomatch": "^2.0.5"
9328
- }
9329
- },
9330
- "supports-color": {
9331
- "version": "7.2.0",
9332
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9333
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9334
- "dev": true,
9335
- "requires": {
9336
- "has-flag": "^4.0.0"
9337
- }
9338
- },
9339
- "to-regex-range": {
9340
- "version": "5.0.1",
9341
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
9342
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
9343
- "dev": true,
9344
- "requires": {
9345
- "is-number": "^7.0.0"
9346
- }
9347
- }
9348
- }
9349
- },
9350
- "jest-mock": {
9351
- "version": "25.5.0",
9352
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
9353
- "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
9354
- "dev": true,
9355
- "requires": {
9356
- "@jest/types": "^25.5.0"
9357
- }
9358
- },
9359
- "jest-pnp-resolver": {
9360
- "version": "1.2.2",
9361
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
9362
- "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
9363
- "dev": true
9364
- },
9365
- "jest-puppeteer": {
9366
- "version": "4.4.0",
9367
- "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-4.4.0.tgz",
9368
- "integrity": "sha512-ZaiCTlPZ07B9HW0erAWNX6cyzBqbXMM7d2ugai4epBDKpKvRDpItlRQC6XjERoJELKZsPziFGS0OhhUvTvQAXA==",
9369
- "dev": true,
9370
- "requires": {
9371
- "expect-puppeteer": "^4.4.0",
9372
- "jest-environment-puppeteer": "^4.4.0"
9373
- }
9374
- },
9375
- "jest-regex-util": {
9376
- "version": "25.2.6",
9377
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
9378
- "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
9379
- "dev": true
9380
- },
9381
- "jest-resolve": {
9382
- "version": "25.5.1",
9383
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
9384
- "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
9385
- "dev": true,
9386
- "requires": {
9387
- "@jest/types": "^25.5.0",
9388
- "browser-resolve": "^1.11.3",
9389
- "chalk": "^3.0.0",
9390
- "graceful-fs": "^4.2.4",
9391
- "jest-pnp-resolver": "^1.2.1",
9392
- "read-pkg-up": "^7.0.1",
9393
- "realpath-native": "^2.0.0",
9394
- "resolve": "^1.17.0",
9395
- "slash": "^3.0.0"
9396
- },
9397
- "dependencies": {
9398
- "ansi-styles": {
9399
- "version": "4.3.0",
9400
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9401
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9402
- "dev": true,
9403
- "requires": {
9404
- "color-convert": "^2.0.1"
9405
- }
9406
- },
9407
- "chalk": {
9408
- "version": "3.0.0",
9409
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9410
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9411
- "dev": true,
9412
- "requires": {
9413
- "ansi-styles": "^4.1.0",
9414
- "supports-color": "^7.1.0"
9415
- }
9416
- },
9417
- "color-convert": {
9418
- "version": "2.0.1",
9419
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9420
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9421
- "dev": true,
9422
- "requires": {
9423
- "color-name": "~1.1.4"
9424
- }
9425
- },
9426
- "color-name": {
9427
- "version": "1.1.4",
9428
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9429
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9430
- "dev": true
9431
- },
9432
- "find-up": {
9433
- "version": "4.1.0",
9434
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
9435
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
9436
- "dev": true,
9437
- "requires": {
9438
- "locate-path": "^5.0.0",
9439
- "path-exists": "^4.0.0"
9440
- }
9441
- },
9442
- "has-flag": {
9443
- "version": "4.0.0",
9444
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9445
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9446
- "dev": true
9447
- },
9448
- "locate-path": {
9449
- "version": "5.0.0",
9450
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
9451
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
9452
- "dev": true,
9453
- "requires": {
9454
- "p-locate": "^4.1.0"
9455
- }
9456
- },
9457
- "p-locate": {
9458
- "version": "4.1.0",
9459
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
9460
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
9461
- "dev": true,
9462
- "requires": {
9463
- "p-limit": "^2.2.0"
9464
- }
9465
- },
9466
- "path-exists": {
9467
- "version": "4.0.0",
9468
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
9469
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
9470
- "dev": true
9471
- },
9472
- "read-pkg-up": {
9473
- "version": "7.0.1",
9474
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
9475
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
9476
- "dev": true,
9477
- "requires": {
9478
- "find-up": "^4.1.0",
9479
- "read-pkg": "^5.2.0",
9480
- "type-fest": "^0.8.1"
9481
- }
9482
- },
9483
- "supports-color": {
9484
- "version": "7.2.0",
9485
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9486
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9487
- "dev": true,
9488
- "requires": {
9489
- "has-flag": "^4.0.0"
9490
- }
9491
- }
9492
- }
9493
- },
9494
- "jest-resolve-dependencies": {
9495
- "version": "25.5.4",
9496
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz",
9497
- "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==",
9498
- "dev": true,
9499
- "requires": {
9500
- "@jest/types": "^25.5.0",
9501
- "jest-regex-util": "^25.2.6",
9502
- "jest-snapshot": "^25.5.1"
9503
- }
9504
- },
9505
- "jest-runner": {
9506
- "version": "25.5.4",
9507
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
9508
- "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
9509
- "dev": true,
9510
- "requires": {
9511
- "@jest/console": "^25.5.0",
9512
- "@jest/environment": "^25.5.0",
9513
- "@jest/test-result": "^25.5.0",
9514
- "@jest/types": "^25.5.0",
9515
- "chalk": "^3.0.0",
9516
- "exit": "^0.1.2",
9517
- "graceful-fs": "^4.2.4",
9518
- "jest-config": "^25.5.4",
9519
- "jest-docblock": "^25.3.0",
9520
- "jest-haste-map": "^25.5.1",
9521
- "jest-jasmine2": "^25.5.4",
9522
- "jest-leak-detector": "^25.5.0",
9523
- "jest-message-util": "^25.5.0",
9524
- "jest-resolve": "^25.5.1",
9525
- "jest-runtime": "^25.5.4",
9526
- "jest-util": "^25.5.0",
9527
- "jest-worker": "^25.5.0",
9528
- "source-map-support": "^0.5.6",
9529
- "throat": "^5.0.0"
9530
- },
9531
- "dependencies": {
9532
- "ansi-styles": {
9533
- "version": "4.3.0",
9534
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9535
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9536
- "dev": true,
9537
- "requires": {
9538
- "color-convert": "^2.0.1"
9539
- }
9540
- },
9541
- "chalk": {
9542
- "version": "3.0.0",
9543
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9544
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9545
- "dev": true,
9546
- "requires": {
9547
- "ansi-styles": "^4.1.0",
9548
- "supports-color": "^7.1.0"
9549
- }
9550
- },
9551
- "color-convert": {
9552
- "version": "2.0.1",
9553
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9554
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9555
- "dev": true,
9556
- "requires": {
9557
- "color-name": "~1.1.4"
9558
- }
9559
- },
9560
- "color-name": {
9561
- "version": "1.1.4",
9562
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9563
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9564
- "dev": true
9565
- },
9566
- "has-flag": {
9567
- "version": "4.0.0",
9568
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9569
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9570
- "dev": true
9571
- },
9572
- "supports-color": {
9573
- "version": "7.2.0",
9574
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9575
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9576
- "dev": true,
9577
- "requires": {
9578
- "has-flag": "^4.0.0"
9579
- }
9580
- }
9581
- }
9582
- },
9583
- "jest-runtime": {
9584
- "version": "25.5.4",
9585
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
9586
- "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
9587
- "dev": true,
9588
- "requires": {
9589
- "@jest/console": "^25.5.0",
9590
- "@jest/environment": "^25.5.0",
9591
- "@jest/globals": "^25.5.2",
9592
- "@jest/source-map": "^25.5.0",
9593
- "@jest/test-result": "^25.5.0",
9594
- "@jest/transform": "^25.5.1",
9595
- "@jest/types": "^25.5.0",
9596
- "@types/yargs": "^15.0.0",
9597
- "chalk": "^3.0.0",
9598
- "collect-v8-coverage": "^1.0.0",
9599
- "exit": "^0.1.2",
9600
- "glob": "^7.1.3",
9601
- "graceful-fs": "^4.2.4",
9602
- "jest-config": "^25.5.4",
9603
- "jest-haste-map": "^25.5.1",
9604
- "jest-message-util": "^25.5.0",
9605
- "jest-mock": "^25.5.0",
9606
- "jest-regex-util": "^25.2.6",
9607
- "jest-resolve": "^25.5.1",
9608
- "jest-snapshot": "^25.5.1",
9609
- "jest-util": "^25.5.0",
9610
- "jest-validate": "^25.5.0",
9611
- "realpath-native": "^2.0.0",
9612
- "slash": "^3.0.0",
9613
- "strip-bom": "^4.0.0",
9614
- "yargs": "^15.3.1"
9615
- },
9616
- "dependencies": {
9617
- "ansi-styles": {
9618
- "version": "4.3.0",
9619
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9620
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9621
- "dev": true,
9622
- "requires": {
9623
- "color-convert": "^2.0.1"
9624
- }
9625
- },
9626
- "chalk": {
9627
- "version": "3.0.0",
9628
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9629
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9630
- "dev": true,
9631
- "requires": {
9632
- "ansi-styles": "^4.1.0",
9633
- "supports-color": "^7.1.0"
9634
- }
9635
- },
9636
- "color-convert": {
9637
- "version": "2.0.1",
9638
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9639
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9640
- "dev": true,
9641
- "requires": {
9642
- "color-name": "~1.1.4"
9643
- }
9644
- },
9645
- "color-name": {
9646
- "version": "1.1.4",
9647
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9648
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9649
- "dev": true
9650
- },
9651
- "has-flag": {
9652
- "version": "4.0.0",
9653
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9654
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9655
- "dev": true
9656
- },
9657
- "supports-color": {
9658
- "version": "7.2.0",
9659
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9660
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9661
- "dev": true,
9662
- "requires": {
9663
- "has-flag": "^4.0.0"
9664
- }
9665
- }
9666
- }
9667
- },
9668
- "jest-serializer": {
9669
- "version": "25.5.0",
9670
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
9671
- "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
9672
- "dev": true,
9673
- "requires": {
9674
- "graceful-fs": "^4.2.4"
9675
- }
9676
- },
9677
- "jest-snapshot": {
9678
- "version": "25.5.1",
9679
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
9680
- "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
9681
- "dev": true,
9682
- "requires": {
9683
- "@babel/types": "^7.0.0",
9684
- "@jest/types": "^25.5.0",
9685
- "@types/prettier": "^1.19.0",
9686
- "chalk": "^3.0.0",
9687
- "expect": "^25.5.0",
9688
- "graceful-fs": "^4.2.4",
9689
- "jest-diff": "^25.5.0",
9690
- "jest-get-type": "^25.2.6",
9691
- "jest-matcher-utils": "^25.5.0",
9692
- "jest-message-util": "^25.5.0",
9693
- "jest-resolve": "^25.5.1",
9694
- "make-dir": "^3.0.0",
9695
- "natural-compare": "^1.4.0",
9696
- "pretty-format": "^25.5.0",
9697
- "semver": "^6.3.0"
9698
- },
9699
- "dependencies": {
9700
- "ansi-styles": {
9701
- "version": "4.3.0",
9702
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9703
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9704
- "dev": true,
9705
- "requires": {
9706
- "color-convert": "^2.0.1"
9707
- }
9708
- },
9709
- "chalk": {
9710
- "version": "3.0.0",
9711
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9712
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9713
- "dev": true,
9714
- "requires": {
9715
- "ansi-styles": "^4.1.0",
9716
- "supports-color": "^7.1.0"
9717
- }
9718
- },
9719
- "color-convert": {
9720
- "version": "2.0.1",
9721
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9722
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9723
- "dev": true,
9724
- "requires": {
9725
- "color-name": "~1.1.4"
9726
- }
9727
- },
9728
- "color-name": {
9729
- "version": "1.1.4",
9730
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9731
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9732
- "dev": true
9733
- },
9734
- "has-flag": {
9735
- "version": "4.0.0",
9736
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9737
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9738
- "dev": true
9739
- },
9740
- "make-dir": {
9741
- "version": "3.1.0",
9742
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
9743
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
9744
- "dev": true,
9745
- "requires": {
9746
- "semver": "^6.0.0"
9747
- }
9748
- },
9749
- "semver": {
9750
- "version": "6.3.0",
9751
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
9752
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
9753
- "dev": true
9754
- },
9755
- "supports-color": {
9756
- "version": "7.2.0",
9757
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9758
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9759
- "dev": true,
9760
- "requires": {
9761
- "has-flag": "^4.0.0"
9762
- }
9763
- }
9764
- }
9765
- },
9766
- "jest-util": {
9767
- "version": "25.5.0",
9768
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
9769
- "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
9770
- "dev": true,
9771
- "requires": {
9772
- "@jest/types": "^25.5.0",
9773
- "chalk": "^3.0.0",
9774
- "graceful-fs": "^4.2.4",
9775
- "is-ci": "^2.0.0",
9776
- "make-dir": "^3.0.0"
9777
- },
9778
- "dependencies": {
9779
- "ansi-styles": {
9780
- "version": "4.3.0",
9781
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9782
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9783
- "dev": true,
9784
- "requires": {
9785
- "color-convert": "^2.0.1"
9786
- }
9787
- },
9788
- "chalk": {
9789
- "version": "3.0.0",
9790
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9791
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9792
- "dev": true,
9793
- "requires": {
9794
- "ansi-styles": "^4.1.0",
9795
- "supports-color": "^7.1.0"
9796
- }
9797
- },
9798
- "color-convert": {
9799
- "version": "2.0.1",
9800
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9801
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9802
- "dev": true,
9803
- "requires": {
9804
- "color-name": "~1.1.4"
9805
- }
9806
- },
9807
- "color-name": {
9808
- "version": "1.1.4",
9809
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9810
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9811
- "dev": true
9812
- },
9813
- "has-flag": {
9814
- "version": "4.0.0",
9815
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9816
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9817
- "dev": true
9818
- },
9819
- "make-dir": {
9820
- "version": "3.1.0",
9821
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
9822
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
9823
- "dev": true,
9824
- "requires": {
9825
- "semver": "^6.0.0"
9826
- }
9827
- },
9828
- "semver": {
9829
- "version": "6.3.0",
9830
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
9831
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
9832
- "dev": true
9833
- },
9834
- "supports-color": {
9835
- "version": "7.2.0",
9836
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9837
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9838
- "dev": true,
9839
- "requires": {
9840
- "has-flag": "^4.0.0"
9841
- }
9842
- }
9843
- }
9844
- },
9845
- "jest-validate": {
9846
- "version": "25.5.0",
9847
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
9848
- "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
9849
- "dev": true,
9850
- "requires": {
9851
- "@jest/types": "^25.5.0",
9852
- "camelcase": "^5.3.1",
9853
- "chalk": "^3.0.0",
9854
- "jest-get-type": "^25.2.6",
9855
- "leven": "^3.1.0",
9856
- "pretty-format": "^25.5.0"
9857
- },
9858
- "dependencies": {
9859
- "ansi-styles": {
9860
- "version": "4.3.0",
9861
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9862
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9863
- "dev": true,
9864
- "requires": {
9865
- "color-convert": "^2.0.1"
9866
- }
9867
- },
9868
- "camelcase": {
9869
- "version": "5.3.1",
9870
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
9871
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
9872
- "dev": true
9873
- },
9874
- "chalk": {
9875
- "version": "3.0.0",
9876
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9877
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9878
- "dev": true,
9879
- "requires": {
9880
- "ansi-styles": "^4.1.0",
9881
- "supports-color": "^7.1.0"
9882
- }
9883
- },
9884
- "color-convert": {
9885
- "version": "2.0.1",
9886
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9887
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9888
- "dev": true,
9889
- "requires": {
9890
- "color-name": "~1.1.4"
9891
- }
9892
- },
9893
- "color-name": {
9894
- "version": "1.1.4",
9895
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9896
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9897
- "dev": true
9898
- },
9899
- "has-flag": {
9900
- "version": "4.0.0",
9901
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9902
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9903
- "dev": true
9904
- },
9905
- "supports-color": {
9906
- "version": "7.2.0",
9907
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9908
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9909
- "dev": true,
9910
- "requires": {
9911
- "has-flag": "^4.0.0"
9912
- }
9913
- }
9914
- }
9915
- },
9916
- "jest-watcher": {
9917
- "version": "25.5.0",
9918
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz",
9919
- "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==",
9920
- "dev": true,
9921
- "requires": {
9922
- "@jest/test-result": "^25.5.0",
9923
- "@jest/types": "^25.5.0",
9924
- "ansi-escapes": "^4.2.1",
9925
- "chalk": "^3.0.0",
9926
- "jest-util": "^25.5.0",
9927
- "string-length": "^3.1.0"
9928
- },
9929
- "dependencies": {
9930
- "ansi-styles": {
9931
- "version": "4.3.0",
9932
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
9933
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
9934
- "dev": true,
9935
- "requires": {
9936
- "color-convert": "^2.0.1"
9937
- }
9938
- },
9939
- "chalk": {
9940
- "version": "3.0.0",
9941
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
9942
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
9943
- "dev": true,
9944
- "requires": {
9945
- "ansi-styles": "^4.1.0",
9946
- "supports-color": "^7.1.0"
9947
- }
9948
- },
9949
- "color-convert": {
9950
- "version": "2.0.1",
9951
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
9952
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
9953
- "dev": true,
9954
- "requires": {
9955
- "color-name": "~1.1.4"
9956
- }
9957
- },
9958
- "color-name": {
9959
- "version": "1.1.4",
9960
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
9961
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
9962
- "dev": true
9963
- },
9964
- "has-flag": {
9965
- "version": "4.0.0",
9966
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9967
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9968
- "dev": true
9969
- },
9970
- "supports-color": {
9971
- "version": "7.2.0",
9972
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
9973
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
9974
- "dev": true,
9975
- "requires": {
9976
- "has-flag": "^4.0.0"
9977
- }
9978
- }
9979
- }
9980
- },
9981
- "jest-worker": {
9982
- "version": "25.5.0",
9983
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
9984
- "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
9985
- "dev": true,
9986
- "requires": {
9987
- "merge-stream": "^2.0.0",
9988
- "supports-color": "^7.0.0"
9989
- },
9990
- "dependencies": {
9991
- "has-flag": {
9992
- "version": "4.0.0",
9993
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
9994
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
9995
- "dev": true
9996
- },
9997
- "supports-color": {
9998
- "version": "7.2.0",
9999
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
10000
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
10001
- "dev": true,
10002
- "requires": {
10003
- "has-flag": "^4.0.0"
10004
- }
10005
- }
10006
- }
10007
- },
10008
- "js-base64": {
10009
- "version": "2.6.4",
10010
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
10011
- "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==",
10012
- "dev": true
10013
- },
10014
- "js-tokens": {
10015
- "version": "4.0.0",
10016
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
10017
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
10018
- "dev": true
10019
- },
10020
- "js-yaml": {
10021
- "version": "3.14.0",
10022
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
10023
- "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
10024
- "dev": true,
10025
- "requires": {
10026
- "argparse": "^1.0.7",
10027
- "esprima": "^4.0.0"
10028
- }
10029
- },
10030
- "jsbn": {
10031
- "version": "0.1.1",
10032
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
10033
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
10034
- "dev": true
10035
- },
10036
- "jsdoctypeparser": {
10037
- "version": "9.0.0",
10038
- "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz",
10039
- "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==",
10040
- "dev": true
10041
- },
10042
- "jsdom": {
10043
- "version": "15.2.1",
10044
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz",
10045
- "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
10046
- "dev": true,
10047
- "requires": {
10048
- "abab": "^2.0.0",
10049
- "acorn": "^7.1.0",
10050
- "acorn-globals": "^4.3.2",
10051
- "array-equal": "^1.0.0",
10052
- "cssom": "^0.4.1",
10053
- "cssstyle": "^2.0.0",
10054
- "data-urls": "^1.1.0",
10055
- "domexception": "^1.0.1",
10056
- "escodegen": "^1.11.1",
10057
- "html-encoding-sniffer": "^1.0.2",
10058
- "nwsapi": "^2.2.0",
10059
- "parse5": "5.1.0",
10060
- "pn": "^1.1.0",
10061
- "request": "^2.88.0",
10062
- "request-promise-native": "^1.0.7",
10063
- "saxes": "^3.1.9",
10064
- "symbol-tree": "^3.2.2",
10065
- "tough-cookie": "^3.0.1",
10066
- "w3c-hr-time": "^1.0.1",
10067
- "w3c-xmlserializer": "^1.1.2",
10068
- "webidl-conversions": "^4.0.2",
10069
- "whatwg-encoding": "^1.0.5",
10070
- "whatwg-mimetype": "^2.3.0",
10071
- "whatwg-url": "^7.0.0",
10072
- "ws": "^7.0.0",
10073
- "xml-name-validator": "^3.0.0"
10074
- },
10075
- "dependencies": {
10076
- "acorn": {
10077
- "version": "7.4.1",
10078
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
10079
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
10080
- "dev": true
10081
- },
10082
- "parse5": {
10083
- "version": "5.1.0",
10084
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
10085
- "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
10086
- "dev": true
10087
- }
10088
- }
10089
- },
10090
- "jsesc": {
10091
- "version": "2.5.2",
10092
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
10093
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
10094
- "dev": true
10095
- },
10096
- "json-parse-better-errors": {
10097
- "version": "1.0.2",
10098
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
10099
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
10100
- "dev": true
10101
- },
10102
- "json-parse-even-better-errors": {
10103
- "version": "2.3.1",
10104
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
10105
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
10106
- "dev": true
10107
- },
10108
- "json-schema": {
10109
- "version": "0.2.3",
10110
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
10111
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
10112
- "dev": true
10113
- },
10114
- "json-schema-traverse": {
10115
- "version": "0.4.1",
10116
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
10117
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
10118
- "dev": true
10119
- },
10120
- "json-stable-stringify-without-jsonify": {
10121
- "version": "1.0.1",
10122
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
10123
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
10124
- "dev": true
10125
- },
10126
- "json-stringify-safe": {
10127
- "version": "5.0.1",
10128
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
10129
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
10130
- "dev": true
10131
- },
10132
- "json2php": {
10133
- "version": "0.0.4",
10134
- "resolved": "https://registry.npmjs.org/json2php/-/json2php-0.0.4.tgz",
10135
- "integrity": "sha1-a9haHdpqXdfpECK7JEA8wbfC7jQ=",
10136
- "dev": true
10137
- },
10138
- "json5": {
10139
- "version": "2.1.3",
10140
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
10141
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
10142
- "dev": true,
10143
- "requires": {
10144
- "minimist": "^1.2.5"
10145
- }
10146
- },
10147
- "jsonc-parser": {
10148
- "version": "2.2.1",
10149
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz",
10150
- "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==",
10151
- "dev": true
10152
- },
10153
- "jsprim": {
10154
- "version": "1.4.1",
10155
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
10156
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
10157
- "dev": true,
10158
- "requires": {
10159
- "assert-plus": "1.0.0",
10160
- "extsprintf": "1.3.0",
10161
- "json-schema": "0.2.3",
10162
- "verror": "1.10.0"
10163
- }
10164
- },
10165
- "jsx-ast-utils": {
10166
- "version": "2.4.1",
10167
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz",
10168
- "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==",
10169
- "dev": true,
10170
- "requires": {
10171
- "array-includes": "^3.1.1",
10172
- "object.assign": "^4.1.0"
10173
- }
10174
- },
10175
- "kind-of": {
10176
- "version": "3.2.2",
10177
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
10178
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
10179
- "dev": true,
10180
- "requires": {
10181
- "is-buffer": "^1.1.5"
10182
- }
10183
- },
10184
- "kleur": {
10185
- "version": "3.0.3",
10186
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
10187
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
10188
- "dev": true
10189
- },
10190
- "known-css-properties": {
10191
- "version": "0.19.0",
10192
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.19.0.tgz",
10193
- "integrity": "sha512-eYboRV94Vco725nKMlpkn3nV2+96p9c3gKXRsYqAJSswSENvBhN7n5L+uDhY58xQa0UukWsDMTGELzmD8Q+wTA==",
10194
- "dev": true
10195
- },
10196
- "language-subtag-registry": {
10197
- "version": "0.3.20",
10198
- "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz",
10199
- "integrity": "sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==",
10200
- "dev": true
10201
- },
10202
- "language-tags": {
10203
- "version": "1.0.5",
10204
- "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
10205
- "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=",
10206
- "dev": true,
10207
- "requires": {
10208
- "language-subtag-registry": "~0.3.2"
10209
- }
10210
- },
10211
- "lazy-cache": {
10212
- "version": "1.0.4",
10213
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
10214
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
10215
- "dev": true
10216
- },
10217
- "leven": {
10218
- "version": "3.1.0",
10219
- "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
10220
- "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
10221
- "dev": true
10222
- },
10223
- "levn": {
10224
- "version": "0.4.1",
10225
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
10226
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
10227
- "dev": true,
10228
- "requires": {
10229
- "prelude-ls": "^1.2.1",
10230
- "type-check": "~0.4.0"
10231
- }
10232
- },
10233
- "lines-and-columns": {
10234
- "version": "1.1.6",
10235
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
10236
- "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
10237
- "dev": true
10238
- },
10239
- "linkify-it": {
10240
- "version": "2.2.0",
10241
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
10242
- "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
10243
- "dev": true,
10244
- "requires": {
10245
- "uc.micro": "^1.0.1"
10246
- }
10247
- },
10248
- "livereload-js": {
10249
- "version": "2.4.0",
10250
- "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
10251
- "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==",
10252
- "dev": true
10253
- },
10254
- "load-json-file": {
10255
- "version": "1.1.0",
10256
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
10257
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
10258
- "dev": true,
10259
- "requires": {
10260
- "graceful-fs": "^4.1.2",
10261
- "parse-json": "^2.2.0",
10262
- "pify": "^2.0.0",
10263
- "pinkie-promise": "^2.0.0",
10264
- "strip-bom": "^2.0.0"
10265
- },
10266
- "dependencies": {
10267
- "parse-json": {
10268
- "version": "2.2.0",
10269
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
10270
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
10271
- "dev": true,
10272
- "requires": {
10273
- "error-ex": "^1.2.0"
10274
- }
10275
- },
10276
- "pify": {
10277
- "version": "2.3.0",
10278
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
10279
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
10280
- "dev": true
10281
- },
10282
- "strip-bom": {
10283
- "version": "2.0.0",
10284
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
10285
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
10286
- "dev": true,
10287
- "requires": {
10288
- "is-utf8": "^0.2.0"
10289
- }
10290
- }
10291
- }
10292
- },
10293
- "loader-runner": {
10294
- "version": "2.4.0",
10295
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
10296
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
10297
- "dev": true
10298
- },
10299
- "loader-utils": {
10300
- "version": "2.0.0",
10301
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
10302
- "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
10303
- "dev": true,
10304
- "requires": {
10305
- "big.js": "^5.2.2",
10306
- "emojis-list": "^3.0.0",
10307
- "json5": "^2.1.2"
10308
- }
10309
- },
10310
- "locate-path": {
10311
- "version": "3.0.0",
10312
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
10313
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
10314
- "dev": true,
10315
- "requires": {
10316
- "p-locate": "^3.0.0",
10317
- "path-exists": "^3.0.0"
10318
- }
10319
- },
10320
- "lodash": {
10321
- "version": "4.17.20",
10322
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
10323
- "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
10324
- },
10325
- "lodash.differencewith": {
10326
- "version": "4.5.0",
10327
- "resolved": "https://registry.npmjs.org/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz",
10328
- "integrity": "sha1-uvr7yRi1UVTheRdqALsK76rIVLc=",
10329
- "dev": true
10330
- },
10331
- "lodash.escape": {
10332
- "version": "4.0.1",
10333
- "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz",
10334
- "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=",
10335
- "dev": true
10336
- },
10337
- "lodash.flatten": {
10338
- "version": "4.4.0",
10339
- "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
10340
- "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=",
10341
- "dev": true
10342
- },
10343
- "lodash.flattendeep": {
10344
- "version": "4.4.0",
10345
- "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
10346
- "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
10347
- "dev": true
10348
- },
10349
- "lodash.isequal": {
10350
- "version": "4.5.0",
10351
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
10352
- "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
10353
- "dev": true
10354
- },
10355
- "lodash.sortby": {
10356
- "version": "4.7.0",
10357
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
10358
- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
10359
- "dev": true
10360
- },
10361
- "log-symbols": {
10362
- "version": "4.0.0",
10363
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
10364
- "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
10365
- "dev": true,
10366
- "requires": {
10367
- "chalk": "^4.0.0"
10368
- }
10369
- },
10370
- "lolex": {
10371
- "version": "5.1.2",
10372
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
10373
- "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
10374
- "dev": true,
10375
- "requires": {
10376
- "@sinonjs/commons": "^1.7.0"
10377
- }
10378
- },
10379
- "longest-streak": {
10380
- "version": "2.0.4",
10381
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
10382
- "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
10383
- "dev": true
10384
- },
10385
- "loose-envify": {
10386
- "version": "1.4.0",
10387
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
10388
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
10389
- "dev": true,
10390
- "requires": {
10391
- "js-tokens": "^3.0.0 || ^4.0.0"
10392
- }
10393
- },
10394
- "loud-rejection": {
10395
- "version": "1.6.0",
10396
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
10397
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
10398
- "dev": true,
10399
- "requires": {
10400
- "currently-unhandled": "^0.4.1",
10401
- "signal-exit": "^3.0.0"
10402
- }
10403
- },
10404
- "lru-cache": {
10405
- "version": "5.1.1",
10406
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
10407
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
10408
- "dev": true,
10409
- "requires": {
10410
- "yallist": "^3.0.2"
10411
- }
10412
- },
10413
- "make-dir": {
10414
- "version": "2.1.0",
10415
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
10416
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
10417
- "dev": true,
10418
- "requires": {
10419
- "pify": "^4.0.1",
10420
- "semver": "^5.6.0"
10421
- }
10422
- },
10423
- "makeerror": {
10424
- "version": "1.0.11",
10425
- "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
10426
- "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
10427
- "dev": true,
10428
- "requires": {
10429
- "tmpl": "1.0.x"
10430
- }
10431
- },
10432
- "map-cache": {
10433
- "version": "0.2.2",
10434
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
10435
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
10436
- "dev": true
10437
- },
10438
- "map-obj": {
10439
- "version": "1.0.1",
10440
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
10441
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
10442
- "dev": true
10443
- },
10444
- "map-values": {
10445
- "version": "1.0.1",
10446
- "resolved": "https://registry.npmjs.org/map-values/-/map-values-1.0.1.tgz",
10447
- "integrity": "sha1-douOecAJvytk/ugG4ip7HEGQyZA=",
10448
- "dev": true
10449
- },
10450
- "map-visit": {
10451
- "version": "1.0.0",
10452
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
10453
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
10454
- "dev": true,
10455
- "requires": {
10456
- "object-visit": "^1.0.0"
10457
- }
10458
- },
10459
- "markdown-escapes": {
10460
- "version": "1.0.4",
10461
- "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
10462
- "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==",
10463
- "dev": true
10464
- },
10465
- "markdown-it": {
10466
- "version": "10.0.0",
10467
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz",
10468
- "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==",
10469
- "dev": true,
10470
- "requires": {
10471
- "argparse": "^1.0.7",
10472
- "entities": "~2.0.0",
10473
- "linkify-it": "^2.0.0",
10474
- "mdurl": "^1.0.1",
10475
- "uc.micro": "^1.0.5"
10476
- },
10477
- "dependencies": {
10478
- "entities": {
10479
- "version": "2.0.3",
10480
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
10481
- "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
10482
- "dev": true
10483
- }
10484
- }
10485
- },
10486
- "markdown-table": {
10487
- "version": "2.0.0",
10488
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
10489
- "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
10490
- "dev": true,
10491
- "requires": {
10492
- "repeat-string": "^1.0.0"
10493
- }
10494
- },
10495
- "markdownlint": {
10496
- "version": "0.18.0",
10497
- "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.18.0.tgz",
10498
- "integrity": "sha512-nQAfK9Pbq0ZRoMC/abNGterEnV3kL8MZmi0WHhw8WJKoIbsm3cXGufGsxzCRvjW15cxe74KWcxRSKqwplS26Bw==",
10499
- "dev": true,
10500
- "requires": {
10501
- "markdown-it": "10.0.0"
10502
- }
10503
- },
10504
- "markdownlint-cli": {
10505
- "version": "0.21.0",
10506
- "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.21.0.tgz",
10507
- "integrity": "sha512-gvnczz3W3Wgex851/cIQ/2y8GNhY+EVK8Ael8kRd8hoSQ0ps9xjhtwPwMyJPoiYbAoPxG6vSBFISiysaAbCEZg==",
10508
- "dev": true,
10509
- "requires": {
10510
- "commander": "~2.9.0",
10511
- "deep-extend": "~0.5.1",
10512
- "get-stdin": "~5.0.1",
10513
- "glob": "~7.1.2",
10514
- "ignore": "~5.1.4",
10515
- "js-yaml": "~3.13.1",
10516
- "jsonc-parser": "~2.2.0",
10517
- "lodash.differencewith": "~4.5.0",
10518
- "lodash.flatten": "~4.4.0",
10519
- "markdownlint": "~0.18.0",
10520
- "markdownlint-rule-helpers": "~0.6.0",
10521
- "minimatch": "~3.0.4",
10522
- "rc": "~1.2.7"
10523
- },
10524
- "dependencies": {
10525
- "commander": {
10526
- "version": "2.9.0",
10527
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
10528
- "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
10529
- "dev": true,
10530
- "requires": {
10531
- "graceful-readlink": ">= 1.0.0"
10532
- }
10533
- },
10534
- "get-stdin": {
10535
- "version": "5.0.1",
10536
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz",
10537
- "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=",
10538
- "dev": true
10539
- },
10540
- "ignore": {
10541
- "version": "5.1.8",
10542
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
10543
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
10544
- "dev": true
10545
- },
10546
- "js-yaml": {
10547
- "version": "3.13.1",
10548
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
10549
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
10550
- "dev": true,
10551
- "requires": {
10552
- "argparse": "^1.0.7",
10553
- "esprima": "^4.0.0"
10554
- }
10555
- }
10556
- }
10557
- },
10558
- "markdownlint-rule-helpers": {
10559
- "version": "0.6.0",
10560
- "resolved": "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.6.0.tgz",
10561
- "integrity": "sha512-LiZVAbg9/cqkBHtLNNqHV3xuy4Y2L/KuGU6+ZXqCT9NnCdEkIoxeI5/96t+ExquBY0iHy2CVWxPH16nG1RKQVQ==",
10562
- "dev": true
10563
- },
10564
- "mathml-tag-names": {
10565
- "version": "2.1.3",
10566
- "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
10567
- "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
10568
- "dev": true
10569
- },
10570
- "md5.js": {
10571
- "version": "1.3.5",
10572
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
10573
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
10574
- "dev": true,
10575
- "requires": {
10576
- "hash-base": "^3.0.0",
10577
- "inherits": "^2.0.1",
10578
- "safe-buffer": "^5.1.2"
10579
- }
10580
- },
10581
- "mdast-util-compact": {
10582
- "version": "2.0.1",
10583
- "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz",
10584
- "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==",
10585
- "dev": true,
10586
- "requires": {
10587
- "unist-util-visit": "^2.0.0"
10588
- },
10589
- "dependencies": {
10590
- "unist-util-is": {
10591
- "version": "4.0.2",
10592
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
10593
- "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
10594
- "dev": true
10595
- },
10596
- "unist-util-visit": {
10597
- "version": "2.0.3",
10598
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
10599
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
10600
- "dev": true,
10601
- "requires": {
10602
- "@types/unist": "^2.0.0",
10603
- "unist-util-is": "^4.0.0",
10604
- "unist-util-visit-parents": "^3.0.0"
10605
- }
10606
- },
10607
- "unist-util-visit-parents": {
10608
- "version": "3.1.1",
10609
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
10610
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
10611
- "dev": true,
10612
- "requires": {
10613
- "@types/unist": "^2.0.0",
10614
- "unist-util-is": "^4.0.0"
10615
- }
10616
- }
10617
- }
10618
- },
10619
- "mdn-data": {
10620
- "version": "2.0.4",
10621
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
10622
- "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
10623
- "dev": true
10624
- },
10625
- "mdurl": {
10626
- "version": "1.0.1",
10627
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
10628
- "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
10629
- "dev": true
10630
- },
10631
- "media-typer": {
10632
- "version": "0.3.0",
10633
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
10634
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
10635
- "dev": true
10636
- },
10637
- "memize": {
10638
- "version": "1.1.0",
10639
- "resolved": "https://registry.npmjs.org/memize/-/memize-1.1.0.tgz",
10640
- "integrity": "sha512-K4FcPETOMTwe7KL2LK0orMhpOmWD2wRGwWWpbZy0fyArwsyIKR8YJVz8+efBAh3BO4zPqlSICu4vsLTRRqtFAg=="
10641
- },
10642
- "memory-fs": {
10643
- "version": "0.4.1",
10644
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
10645
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
10646
- "dev": true,
10647
- "requires": {
10648
- "errno": "^0.1.3",
10649
- "readable-stream": "^2.0.1"
10650
- }
10651
- },
10652
- "meow": {
10653
- "version": "3.7.0",
10654
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
10655
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
10656
- "dev": true,
10657
- "requires": {
10658
- "camelcase-keys": "^2.0.0",
10659
- "decamelize": "^1.1.2",
10660
- "loud-rejection": "^1.0.0",
10661
- "map-obj": "^1.0.1",
10662
- "minimist": "^1.1.3",
10663
- "normalize-package-data": "^2.3.4",
10664
- "object-assign": "^4.0.1",
10665
- "read-pkg-up": "^1.0.1",
10666
- "redent": "^1.0.0",
10667
- "trim-newlines": "^1.0.0"
10668
- }
10669
- },
10670
- "merge-deep": {
10671
- "version": "3.0.2",
10672
- "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz",
10673
- "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==",
10674
- "dev": true,
10675
- "requires": {
10676
- "arr-union": "^3.1.0",
10677
- "clone-deep": "^0.2.4",
10678
- "kind-of": "^3.0.2"
10679
- }
10680
- },
10681
- "merge-descriptors": {
10682
- "version": "1.0.1",
10683
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
10684
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
10685
- "dev": true
10686
- },
10687
- "merge-stream": {
10688
- "version": "2.0.0",
10689
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
10690
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
10691
- "dev": true
10692
- },
10693
- "merge2": {
10694
- "version": "1.4.1",
10695
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
10696
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
10697
- "dev": true
10698
- },
10699
- "methods": {
10700
- "version": "1.1.2",
10701
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
10702
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
10703
- "dev": true
10704
- },
10705
- "micromatch": {
10706
- "version": "3.1.10",
10707
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
10708
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
10709
- "dev": true,
10710
- "requires": {
10711
- "arr-diff": "^4.0.0",
10712
- "array-unique": "^0.3.2",
10713
- "braces": "^2.3.1",
10714
- "define-property": "^2.0.2",
10715
- "extend-shallow": "^3.0.2",
10716
- "extglob": "^2.0.4",
10717
- "fragment-cache": "^0.2.1",
10718
- "kind-of": "^6.0.2",
10719
- "nanomatch": "^1.2.9",
10720
- "object.pick": "^1.3.0",
10721
- "regex-not": "^1.0.0",
10722
- "snapdragon": "^0.8.1",
10723
- "to-regex": "^3.0.2"
10724
- },
10725
- "dependencies": {
10726
- "kind-of": {
10727
- "version": "6.0.3",
10728
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
10729
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
10730
- "dev": true
10731
- }
10732
- }
10733
- },
10734
- "miller-rabin": {
10735
- "version": "4.0.1",
10736
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
10737
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
10738
- "dev": true,
10739
- "requires": {
10740
- "bn.js": "^4.0.0",
10741
- "brorand": "^1.0.1"
10742
- },
10743
- "dependencies": {
10744
- "bn.js": {
10745
- "version": "4.11.9",
10746
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
10747
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
10748
- "dev": true
10749
- }
10750
- }
10751
- },
10752
- "mime": {
10753
- "version": "2.4.6",
10754
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
10755
- "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
10756
- "dev": true
10757
- },
10758
- "mime-db": {
10759
- "version": "1.44.0",
10760
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
10761
- "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
10762
- "dev": true
10763
- },
10764
- "mime-types": {
10765
- "version": "2.1.27",
10766
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
10767
- "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
10768
- "dev": true,
10769
- "requires": {
10770
- "mime-db": "1.44.0"
10771
- }
10772
- },
10773
- "mimic-fn": {
10774
- "version": "2.1.0",
10775
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
10776
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
10777
- "dev": true
10778
- },
10779
- "min-indent": {
10780
- "version": "1.0.1",
10781
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
10782
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
10783
- "dev": true
10784
- },
10785
- "mini-css-extract-plugin": {
10786
- "version": "0.9.0",
10787
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz",
10788
- "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==",
10789
- "dev": true,
10790
- "requires": {
10791
- "loader-utils": "^1.1.0",
10792
- "normalize-url": "1.9.1",
10793
- "schema-utils": "^1.0.0",
10794
- "webpack-sources": "^1.1.0"
10795
- },
10796
- "dependencies": {
10797
- "json5": {
10798
- "version": "1.0.1",
10799
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
10800
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
10801
- "dev": true,
10802
- "requires": {
10803
- "minimist": "^1.2.0"
10804
- }
10805
- },
10806
- "loader-utils": {
10807
- "version": "1.4.0",
10808
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
10809
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
10810
- "dev": true,
10811
- "requires": {
10812
- "big.js": "^5.2.2",
10813
- "emojis-list": "^3.0.0",
10814
- "json5": "^1.0.1"
10815
- }
10816
- }
10817
- }
10818
- },
10819
- "minimalistic-assert": {
10820
- "version": "1.0.1",
10821
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
10822
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
10823
- "dev": true
10824
- },
10825
- "minimalistic-crypto-utils": {
10826
- "version": "1.0.1",
10827
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
10828
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
10829
- "dev": true
10830
- },
10831
- "minimatch": {
10832
- "version": "3.0.4",
10833
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
10834
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
10835
- "dev": true,
10836
- "requires": {
10837
- "brace-expansion": "^1.1.7"
10838
- }
10839
- },
10840
- "minimist": {
10841
- "version": "1.2.5",
10842
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
10843
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
10844
- "dev": true
10845
- },
10846
- "minimist-options": {
10847
- "version": "4.1.0",
10848
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
10849
- "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
10850
- "dev": true,
10851
- "requires": {
10852
- "arrify": "^1.0.1",
10853
- "is-plain-obj": "^1.1.0",
10854
- "kind-of": "^6.0.3"
10855
- },
10856
- "dependencies": {
10857
- "kind-of": {
10858
- "version": "6.0.3",
10859
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
10860
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
10861
- "dev": true
10862
- }
10863
- }
10864
- },
10865
- "minipass": {
10866
- "version": "3.1.3",
10867
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
10868
- "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
10869
- "dev": true,
10870
- "requires": {
10871
- "yallist": "^4.0.0"
10872
- },
10873
- "dependencies": {
10874
- "yallist": {
10875
- "version": "4.0.0",
10876
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
10877
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
10878
- "dev": true
10879
- }
10880
- }
10881
- },
10882
- "minipass-collect": {
10883
- "version": "1.0.2",
10884
- "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
10885
- "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
10886
- "dev": true,
10887
- "requires": {
10888
- "minipass": "^3.0.0"
10889
- }
10890
- },
10891
- "minipass-flush": {
10892
- "version": "1.0.5",
10893
- "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
10894
- "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
10895
- "dev": true,
10896
- "requires": {
10897
- "minipass": "^3.0.0"
10898
- }
10899
- },
10900
- "minipass-pipeline": {
10901
- "version": "1.2.4",
10902
- "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
10903
- "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
10904
- "dev": true,
10905
- "requires": {
10906
- "minipass": "^3.0.0"
10907
- }
10908
- },
10909
- "minizlib": {
10910
- "version": "2.1.2",
10911
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
10912
- "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
10913
- "dev": true,
10914
- "requires": {
10915
- "minipass": "^3.0.0",
10916
- "yallist": "^4.0.0"
10917
- },
10918
- "dependencies": {
10919
- "yallist": {
10920
- "version": "4.0.0",
10921
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
10922
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
10923
- "dev": true
10924
- }
10925
- }
10926
- },
10927
- "mississippi": {
10928
- "version": "3.0.0",
10929
- "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
10930
- "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
10931
- "dev": true,
10932
- "requires": {
10933
- "concat-stream": "^1.5.0",
10934
- "duplexify": "^3.4.2",
10935
- "end-of-stream": "^1.1.0",
10936
- "flush-write-stream": "^1.0.0",
10937
- "from2": "^2.1.0",
10938
- "parallel-transform": "^1.1.0",
10939
- "pump": "^3.0.0",
10940
- "pumpify": "^1.3.3",
10941
- "stream-each": "^1.1.0",
10942
- "through2": "^2.0.0"
10943
- }
10944
- },
10945
- "mixin-deep": {
10946
- "version": "1.3.2",
10947
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
10948
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
10949
- "dev": true,
10950
- "requires": {
10951
- "for-in": "^1.0.2",
10952
- "is-extendable": "^1.0.1"
10953
- },
10954
- "dependencies": {
10955
- "is-extendable": {
10956
- "version": "1.0.1",
10957
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
10958
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
10959
- "dev": true,
10960
- "requires": {
10961
- "is-plain-object": "^2.0.4"
10962
- }
10963
- }
10964
- }
10965
- },
10966
- "mixin-object": {
10967
- "version": "2.0.1",
10968
- "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
10969
- "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
10970
- "dev": true,
10971
- "requires": {
10972
- "for-in": "^0.1.3",
10973
- "is-extendable": "^0.1.1"
10974
- },
10975
- "dependencies": {
10976
- "for-in": {
10977
- "version": "0.1.8",
10978
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
10979
- "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
10980
- "dev": true
10981
- }
10982
- }
10983
- },
10984
- "mkdirp": {
10985
- "version": "0.5.5",
10986
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
10987
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
10988
- "dev": true,
10989
- "requires": {
10990
- "minimist": "^1.2.5"
10991
- }
10992
- },
10993
- "mkdirp-classic": {
10994
- "version": "0.5.3",
10995
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
10996
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
10997
- "dev": true
10998
- },
10999
- "moo": {
11000
- "version": "0.5.1",
11001
- "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz",
11002
- "integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==",
11003
- "dev": true
11004
- },
11005
- "move-concurrently": {
11006
- "version": "1.0.1",
11007
- "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
11008
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
11009
- "dev": true,
11010
- "requires": {
11011
- "aproba": "^1.1.1",
11012
- "copy-concurrently": "^1.0.0",
11013
- "fs-write-stream-atomic": "^1.0.8",
11014
- "mkdirp": "^0.5.1",
11015
- "rimraf": "^2.5.4",
11016
- "run-queue": "^1.0.3"
11017
- }
11018
- },
11019
- "ms": {
11020
- "version": "2.1.2",
11021
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
11022
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
11023
- "dev": true
11024
- },
11025
- "nan": {
11026
- "version": "2.14.2",
11027
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
11028
- "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
11029
- "dev": true
11030
- },
11031
- "nanomatch": {
11032
- "version": "1.2.13",
11033
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
11034
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
11035
- "dev": true,
11036
- "requires": {
11037
- "arr-diff": "^4.0.0",
11038
- "array-unique": "^0.3.2",
11039
- "define-property": "^2.0.2",
11040
- "extend-shallow": "^3.0.2",
11041
- "fragment-cache": "^0.2.1",
11042
- "is-windows": "^1.0.2",
11043
- "kind-of": "^6.0.2",
11044
- "object.pick": "^1.3.0",
11045
- "regex-not": "^1.0.0",
11046
- "snapdragon": "^0.8.1",
11047
- "to-regex": "^3.0.1"
11048
- },
11049
- "dependencies": {
11050
- "kind-of": {
11051
- "version": "6.0.3",
11052
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
11053
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
11054
- "dev": true
11055
- }
11056
- }
11057
- },
11058
- "natural-compare": {
11059
- "version": "1.4.0",
11060
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
11061
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
11062
- "dev": true
11063
- },
11064
- "nearley": {
11065
- "version": "2.19.7",
11066
- "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.19.7.tgz",
11067
- "integrity": "sha512-Y+KNwhBPcSJKeyQCFjn8B/MIe+DDlhaaDgjVldhy5xtFewIbiQgcbZV8k2gCVwkI1ZsKCnjIYZbR+0Fim5QYgg==",
11068
- "dev": true,
11069
- "requires": {
11070
- "commander": "^2.19.0",
11071
- "moo": "^0.5.0",
11072
- "railroad-diagrams": "^1.0.0",
11073
- "randexp": "0.4.6",
11074
- "semver": "^5.4.1"
11075
- }
11076
- },
11077
- "negotiator": {
11078
- "version": "0.6.2",
11079
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
11080
- "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
11081
- "dev": true
11082
- },
11083
- "neo-async": {
11084
- "version": "2.6.2",
11085
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
11086
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
11087
- "dev": true
11088
- },
11089
- "nice-try": {
11090
- "version": "1.0.5",
11091
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
11092
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
11093
- "dev": true
11094
- },
11095
- "node-gyp": {
11096
- "version": "3.8.0",
11097
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
11098
- "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
11099
- "dev": true,
11100
- "requires": {
11101
- "fstream": "^1.0.0",
11102
- "glob": "^7.0.3",
11103
- "graceful-fs": "^4.1.2",
11104
- "mkdirp": "^0.5.0",
11105
- "nopt": "2 || 3",
11106
- "npmlog": "0 || 1 || 2 || 3 || 4",
11107
- "osenv": "0",
11108
- "request": "^2.87.0",
11109
- "rimraf": "2",
11110
- "semver": "~5.3.0",
11111
- "tar": "^2.0.0",
11112
- "which": "1"
11113
- },
11114
- "dependencies": {
11115
- "semver": {
11116
- "version": "5.3.0",
11117
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
11118
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
11119
- "dev": true
11120
- },
11121
- "which": {
11122
- "version": "1.3.1",
11123
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
11124
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
11125
- "dev": true,
11126
- "requires": {
11127
- "isexe": "^2.0.0"
11128
- }
11129
- }
11130
- }
11131
- },
11132
- "node-int64": {
11133
- "version": "0.4.0",
11134
- "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
11135
- "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
11136
- "dev": true
11137
- },
11138
- "node-libs-browser": {
11139
- "version": "2.2.1",
11140
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
11141
- "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
11142
- "dev": true,
11143
- "requires": {
11144
- "assert": "^1.1.1",
11145
- "browserify-zlib": "^0.2.0",
11146
- "buffer": "^4.3.0",
11147
- "console-browserify": "^1.1.0",
11148
- "constants-browserify": "^1.0.0",
11149
- "crypto-browserify": "^3.11.0",
11150
- "domain-browser": "^1.1.1",
11151
- "events": "^3.0.0",
11152
- "https-browserify": "^1.0.0",
11153
- "os-browserify": "^0.3.0",
11154
- "path-browserify": "0.0.1",
11155
- "process": "^0.11.10",
11156
- "punycode": "^1.2.4",
11157
- "querystring-es3": "^0.2.0",
11158
- "readable-stream": "^2.3.3",
11159
- "stream-browserify": "^2.0.1",
11160
- "stream-http": "^2.7.2",
11161
- "string_decoder": "^1.0.0",
11162
- "timers-browserify": "^2.0.4",
11163
- "tty-browserify": "0.0.0",
11164
- "url": "^0.11.0",
11165
- "util": "^0.11.0",
11166
- "vm-browserify": "^1.0.1"
11167
- },
11168
- "dependencies": {
11169
- "punycode": {
11170
- "version": "1.4.1",
11171
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
11172
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
11173
- "dev": true
11174
- }
11175
- }
11176
- },
11177
- "node-modules-regexp": {
11178
- "version": "1.0.0",
11179
- "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
11180
- "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
11181
- "dev": true
11182
- },
11183
- "node-notifier": {
11184
- "version": "6.0.0",
11185
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz",
11186
- "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==",
11187
- "dev": true,
11188
- "optional": true,
11189
- "requires": {
11190
- "growly": "^1.3.0",
11191
- "is-wsl": "^2.1.1",
11192
- "semver": "^6.3.0",
11193
- "shellwords": "^0.1.1",
11194
- "which": "^1.3.1"
11195
- },
11196
- "dependencies": {
11197
- "is-wsl": {
11198
- "version": "2.2.0",
11199
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
11200
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
11201
- "dev": true,
11202
- "optional": true,
11203
- "requires": {
11204
- "is-docker": "^2.0.0"
11205
- }
11206
- },
11207
- "semver": {
11208
- "version": "6.3.0",
11209
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
11210
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
11211
- "dev": true,
11212
- "optional": true
11213
- },
11214
- "which": {
11215
- "version": "1.3.1",
11216
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
11217
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
11218
- "dev": true,
11219
- "optional": true,
11220
- "requires": {
11221
- "isexe": "^2.0.0"
11222
- }
11223
- }
11224
- }
11225
- },
11226
- "node-releases": {
11227
- "version": "1.1.64",
11228
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.64.tgz",
11229
- "integrity": "sha512-Iec8O9166/x2HRMJyLLLWkd0sFFLrFNy+Xf+JQfSQsdBJzPcHpNl3JQ9gD4j+aJxmCa25jNsIbM4bmACtSbkSg==",
11230
- "dev": true
11231
- },
11232
- "node-sass": {
11233
- "version": "4.14.1",
11234
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
11235
- "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
11236
- "dev": true,
11237
- "requires": {
11238
- "async-foreach": "^0.1.3",
11239
- "chalk": "^1.1.1",
11240
- "cross-spawn": "^3.0.0",
11241
- "gaze": "^1.0.0",
11242
- "get-stdin": "^4.0.1",
11243
- "glob": "^7.0.3",
11244
- "in-publish": "^2.0.0",
11245
- "lodash": "^4.17.15",
11246
- "meow": "^3.7.0",
11247
- "mkdirp": "^0.5.1",
11248
- "nan": "^2.13.2",
11249
- "node-gyp": "^3.8.0",
11250
- "npmlog": "^4.0.0",
11251
- "request": "^2.88.0",
11252
- "sass-graph": "2.2.5",
11253
- "stdout-stream": "^1.4.0",
11254
- "true-case-path": "^1.0.2"
11255
- },
11256
- "dependencies": {
11257
- "ansi-regex": {
11258
- "version": "2.1.1",
11259
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
11260
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
11261
- "dev": true
11262
- },
11263
- "ansi-styles": {
11264
- "version": "2.2.1",
11265
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
11266
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
11267
- "dev": true
11268
- },
11269
- "chalk": {
11270
- "version": "1.1.3",
11271
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
11272
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
11273
- "dev": true,
11274
- "requires": {
11275
- "ansi-styles": "^2.2.1",
11276
- "escape-string-regexp": "^1.0.2",
11277
- "has-ansi": "^2.0.0",
11278
- "strip-ansi": "^3.0.0",
11279
- "supports-color": "^2.0.0"
11280
- }
11281
- },
11282
- "cross-spawn": {
11283
- "version": "3.0.1",
11284
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
11285
- "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
11286
- "dev": true,
11287
- "requires": {
11288
- "lru-cache": "^4.0.1",
11289
- "which": "^1.2.9"
11290
- }
11291
- },
11292
- "get-stdin": {
11293
- "version": "4.0.1",
11294
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
11295
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
11296
- "dev": true
11297
- },
11298
- "lru-cache": {
11299
- "version": "4.1.5",
11300
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
11301
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
11302
- "dev": true,
11303
- "requires": {
11304
- "pseudomap": "^1.0.2",
11305
- "yallist": "^2.1.2"
11306
- }
11307
- },
11308
- "strip-ansi": {
11309
- "version": "3.0.1",
11310
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
11311
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
11312
- "dev": true,
11313
- "requires": {
11314
- "ansi-regex": "^2.0.0"
11315
- }
11316
- },
11317
- "supports-color": {
11318
- "version": "2.0.0",
11319
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
11320
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
11321
- "dev": true
11322
- },
11323
- "which": {
11324
- "version": "1.3.1",
11325
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
11326
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
11327
- "dev": true,
11328
- "requires": {
11329
- "isexe": "^2.0.0"
11330
- }
11331
- },
11332
- "yallist": {
11333
- "version": "2.1.2",
11334
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
11335
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
11336
- "dev": true
11337
- }
11338
- }
11339
- },
11340
- "nopt": {
11341
- "version": "3.0.6",
11342
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
11343
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
11344
- "dev": true,
11345
- "requires": {
11346
- "abbrev": "1"
11347
- }
11348
- },
11349
- "normalize-package-data": {
11350
- "version": "2.5.0",
11351
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
11352
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
11353
- "dev": true,
11354
- "requires": {
11355
- "hosted-git-info": "^2.1.4",
11356
- "resolve": "^1.10.0",
11357
- "semver": "2 || 3 || 4 || 5",
11358
- "validate-npm-package-license": "^3.0.1"
11359
- }
11360
- },
11361
- "normalize-path": {
11362
- "version": "3.0.0",
11363
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
11364
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
11365
- "dev": true
11366
- },
11367
- "normalize-range": {
11368
- "version": "0.1.2",
11369
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
11370
- "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
11371
- "dev": true
11372
- },
11373
- "normalize-selector": {
11374
- "version": "0.2.0",
11375
- "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
11376
- "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
11377
- "dev": true
11378
- },
11379
- "normalize-url": {
11380
- "version": "1.9.1",
11381
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
11382
- "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
11383
- "dev": true,
11384
- "requires": {
11385
- "object-assign": "^4.0.1",
11386
- "prepend-http": "^1.0.0",
11387
- "query-string": "^4.1.0",
11388
- "sort-keys": "^1.0.0"
11389
- }
11390
- },
11391
- "npm-package-json-lint": {
11392
- "version": "5.1.0",
11393
- "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-5.1.0.tgz",
11394
- "integrity": "sha512-gPGpoFTbt0H4uPlubAKqHORg4+GObXqeYJh5ovkkSv76ua+t29vzRP4Qhm+9N/Q59Z3LT0tCmpoDlbTcNB7Jcg==",
11395
- "dev": true,
11396
- "requires": {
11397
- "ajv": "^6.12.2",
11398
- "ajv-errors": "^1.0.1",
11399
- "chalk": "^4.0.0",
11400
- "cosmiconfig": "^6.0.0",
11401
- "debug": "^4.1.1",
11402
- "globby": "^11.0.0",
11403
- "ignore": "^5.1.4",
11404
- "is-plain-obj": "^2.1.0",
11405
- "jsonc-parser": "^2.2.1",
11406
- "log-symbols": "^4.0.0",
11407
- "meow": "^6.1.0",
11408
- "plur": "^4.0.0",
11409
- "semver": "^7.3.2",
11410
- "slash": "^3.0.0",
11411
- "strip-json-comments": "^3.1.0"
11412
- },
11413
- "dependencies": {
11414
- "array-union": {
11415
- "version": "2.1.0",
11416
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
11417
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
11418
- "dev": true
11419
- },
11420
- "camelcase": {
11421
- "version": "5.3.1",
11422
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
11423
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
11424
- "dev": true
11425
- },
11426
- "camelcase-keys": {
11427
- "version": "6.2.2",
11428
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
11429
- "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
11430
- "dev": true,
11431
- "requires": {
11432
- "camelcase": "^5.3.1",
11433
- "map-obj": "^4.0.0",
11434
- "quick-lru": "^4.0.1"
11435
- }
11436
- },
11437
- "find-up": {
11438
- "version": "4.1.0",
11439
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
11440
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
11441
- "dev": true,
11442
- "requires": {
11443
- "locate-path": "^5.0.0",
11444
- "path-exists": "^4.0.0"
11445
- }
11446
- },
11447
- "globby": {
11448
- "version": "11.0.1",
11449
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
11450
- "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
11451
- "dev": true,
11452
- "requires": {
11453
- "array-union": "^2.1.0",
11454
- "dir-glob": "^3.0.1",
11455
- "fast-glob": "^3.1.1",
11456
- "ignore": "^5.1.4",
11457
- "merge2": "^1.3.0",
11458
- "slash": "^3.0.0"
11459
- }
11460
- },
11461
- "ignore": {
11462
- "version": "5.1.8",
11463
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
11464
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
11465
- "dev": true
11466
- },
11467
- "indent-string": {
11468
- "version": "4.0.0",
11469
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
11470
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
11471
- "dev": true
11472
- },
11473
- "is-plain-obj": {
11474
- "version": "2.1.0",
11475
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
11476
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
11477
- "dev": true
11478
- },
11479
- "locate-path": {
11480
- "version": "5.0.0",
11481
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
11482
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
11483
- "dev": true,
11484
- "requires": {
11485
- "p-locate": "^4.1.0"
11486
- }
11487
- },
11488
- "map-obj": {
11489
- "version": "4.1.0",
11490
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
11491
- "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
11492
- "dev": true
11493
- },
11494
- "meow": {
11495
- "version": "6.1.1",
11496
- "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz",
11497
- "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==",
11498
- "dev": true,
11499
- "requires": {
11500
- "@types/minimist": "^1.2.0",
11501
- "camelcase-keys": "^6.2.2",
11502
- "decamelize-keys": "^1.1.0",
11503
- "hard-rejection": "^2.1.0",
11504
- "minimist-options": "^4.0.2",
11505
- "normalize-package-data": "^2.5.0",
11506
- "read-pkg-up": "^7.0.1",
11507
- "redent": "^3.0.0",
11508
- "trim-newlines": "^3.0.0",
11509
- "type-fest": "^0.13.1",
11510
- "yargs-parser": "^18.1.3"
11511
- }
11512
- },
11513
- "p-locate": {
11514
- "version": "4.1.0",
11515
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
11516
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
11517
- "dev": true,
11518
- "requires": {
11519
- "p-limit": "^2.2.0"
11520
- }
11521
- },
11522
- "path-exists": {
11523
- "version": "4.0.0",
11524
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
11525
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
11526
- "dev": true
11527
- },
11528
- "read-pkg-up": {
11529
- "version": "7.0.1",
11530
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
11531
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
11532
- "dev": true,
11533
- "requires": {
11534
- "find-up": "^4.1.0",
11535
- "read-pkg": "^5.2.0",
11536
- "type-fest": "^0.8.1"
11537
- },
11538
- "dependencies": {
11539
- "type-fest": {
11540
- "version": "0.8.1",
11541
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
11542
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
11543
- "dev": true
11544
- }
11545
- }
11546
- },
11547
- "redent": {
11548
- "version": "3.0.0",
11549
- "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
11550
- "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
11551
- "dev": true,
11552
- "requires": {
11553
- "indent-string": "^4.0.0",
11554
- "strip-indent": "^3.0.0"
11555
- }
11556
- },
11557
- "semver": {
11558
- "version": "7.3.2",
11559
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
11560
- "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
11561
- "dev": true
11562
- },
11563
- "strip-indent": {
11564
- "version": "3.0.0",
11565
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
11566
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
11567
- "dev": true,
11568
- "requires": {
11569
- "min-indent": "^1.0.0"
11570
- }
11571
- },
11572
- "trim-newlines": {
11573
- "version": "3.0.0",
11574
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
11575
- "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
11576
- "dev": true
11577
- },
11578
- "type-fest": {
11579
- "version": "0.13.1",
11580
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
11581
- "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
11582
- "dev": true
11583
- }
11584
- }
11585
- },
11586
- "npm-run-path": {
11587
- "version": "2.0.2",
11588
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
11589
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
11590
- "dev": true,
11591
- "requires": {
11592
- "path-key": "^2.0.0"
11593
- }
11594
- },
11595
- "npmlog": {
11596
- "version": "4.1.2",
11597
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
11598
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
11599
- "dev": true,
11600
- "requires": {
11601
- "are-we-there-yet": "~1.1.2",
11602
- "console-control-strings": "~1.1.0",
11603
- "gauge": "~2.7.3",
11604
- "set-blocking": "~2.0.0"
11605
- }
11606
- },
11607
- "nth-check": {
11608
- "version": "1.0.2",
11609
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
11610
- "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
11611
- "dev": true,
11612
- "requires": {
11613
- "boolbase": "~1.0.0"
11614
- }
11615
- },
11616
- "num2fraction": {
11617
- "version": "1.2.2",
11618
- "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
11619
- "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
11620
- "dev": true
11621
- },
11622
- "number-is-nan": {
11623
- "version": "1.0.1",
11624
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
11625
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
11626
- "dev": true
11627
- },
11628
- "nwsapi": {
11629
- "version": "2.2.0",
11630
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
11631
- "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
11632
- "dev": true
11633
- },
11634
- "oauth-sign": {
11635
- "version": "0.9.0",
11636
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
11637
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
11638
- "dev": true
11639
- },
11640
- "object-assign": {
11641
- "version": "4.1.1",
11642
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
11643
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
11644
- "dev": true
11645
- },
11646
- "object-copy": {
11647
- "version": "0.1.0",
11648
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
11649
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
11650
- "dev": true,
11651
- "requires": {
11652
- "copy-descriptor": "^0.1.0",
11653
- "define-property": "^0.2.5",
11654
- "kind-of": "^3.0.3"
11655
- },
11656
- "dependencies": {
11657
- "define-property": {
11658
- "version": "0.2.5",
11659
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
11660
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
11661
- "dev": true,
11662
- "requires": {
11663
- "is-descriptor": "^0.1.0"
11664
- }
11665
- }
11666
- }
11667
- },
11668
- "object-filter": {
11669
- "version": "1.0.2",
11670
- "resolved": "https://registry.npmjs.org/object-filter/-/object-filter-1.0.2.tgz",
11671
- "integrity": "sha1-rwt5f/6+r4pSxmN87b6IFs/sG8g=",
11672
- "dev": true
11673
- },
11674
- "object-inspect": {
11675
- "version": "1.8.0",
11676
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
11677
- "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
11678
- "dev": true
11679
- },
11680
- "object-is": {
11681
- "version": "1.1.3",
11682
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz",
11683
- "integrity": "sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==",
11684
- "dev": true,
11685
- "requires": {
11686
- "define-properties": "^1.1.3",
11687
- "es-abstract": "^1.18.0-next.1"
11688
- }
11689
- },
11690
- "object-keys": {
11691
- "version": "1.1.1",
11692
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
11693
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
11694
- "dev": true
11695
- },
11696
- "object-visit": {
11697
- "version": "1.0.1",
11698
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
11699
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
11700
- "dev": true,
11701
- "requires": {
11702
- "isobject": "^3.0.0"
11703
- }
11704
- },
11705
- "object.assign": {
11706
- "version": "4.1.1",
11707
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz",
11708
- "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==",
11709
- "dev": true,
11710
- "requires": {
11711
- "define-properties": "^1.1.3",
11712
- "es-abstract": "^1.18.0-next.0",
11713
- "has-symbols": "^1.0.1",
11714
- "object-keys": "^1.1.1"
11715
- }
11716
- },
11717
- "object.entries": {
11718
- "version": "1.1.2",
11719
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz",
11720
- "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==",
11721
- "dev": true,
11722
- "requires": {
11723
- "define-properties": "^1.1.3",
11724
- "es-abstract": "^1.17.5",
11725
- "has": "^1.0.3"
11726
- },
11727
- "dependencies": {
11728
- "es-abstract": {
11729
- "version": "1.17.7",
11730
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
11731
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
11732
- "dev": true,
11733
- "requires": {
11734
- "es-to-primitive": "^1.2.1",
11735
- "function-bind": "^1.1.1",
11736
- "has": "^1.0.3",
11737
- "has-symbols": "^1.0.1",
11738
- "is-callable": "^1.2.2",
11739
- "is-regex": "^1.1.1",
11740
- "object-inspect": "^1.8.0",
11741
- "object-keys": "^1.1.1",
11742
- "object.assign": "^4.1.1",
11743
- "string.prototype.trimend": "^1.0.1",
11744
- "string.prototype.trimstart": "^1.0.1"
11745
- }
11746
- }
11747
- }
11748
- },
11749
- "object.fromentries": {
11750
- "version": "2.0.2",
11751
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz",
11752
- "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==",
11753
- "dev": true,
11754
- "requires": {
11755
- "define-properties": "^1.1.3",
11756
- "es-abstract": "^1.17.0-next.1",
11757
- "function-bind": "^1.1.1",
11758
- "has": "^1.0.3"
11759
- },
11760
- "dependencies": {
11761
- "es-abstract": {
11762
- "version": "1.17.7",
11763
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
11764
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
11765
- "dev": true,
11766
- "requires": {
11767
- "es-to-primitive": "^1.2.1",
11768
- "function-bind": "^1.1.1",
11769
- "has": "^1.0.3",
11770
- "has-symbols": "^1.0.1",
11771
- "is-callable": "^1.2.2",
11772
- "is-regex": "^1.1.1",
11773
- "object-inspect": "^1.8.0",
11774
- "object-keys": "^1.1.1",
11775
- "object.assign": "^4.1.1",
11776
- "string.prototype.trimend": "^1.0.1",
11777
- "string.prototype.trimstart": "^1.0.1"
11778
- }
11779
- }
11780
- }
11781
- },
11782
- "object.getownpropertydescriptors": {
11783
- "version": "2.1.0",
11784
- "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
11785
- "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
11786
- "dev": true,
11787
- "requires": {
11788
- "define-properties": "^1.1.3",
11789
- "es-abstract": "^1.17.0-next.1"
11790
- },
11791
- "dependencies": {
11792
- "es-abstract": {
11793
- "version": "1.17.7",
11794
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
11795
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
11796
- "dev": true,
11797
- "requires": {
11798
- "es-to-primitive": "^1.2.1",
11799
- "function-bind": "^1.1.1",
11800
- "has": "^1.0.3",
11801
- "has-symbols": "^1.0.1",
11802
- "is-callable": "^1.2.2",
11803
- "is-regex": "^1.1.1",
11804
- "object-inspect": "^1.8.0",
11805
- "object-keys": "^1.1.1",
11806
- "object.assign": "^4.1.1",
11807
- "string.prototype.trimend": "^1.0.1",
11808
- "string.prototype.trimstart": "^1.0.1"
11809
- }
11810
- }
11811
- }
11812
- },
11813
- "object.pick": {
11814
- "version": "1.3.0",
11815
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
11816
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
11817
- "dev": true,
11818
- "requires": {
11819
- "isobject": "^3.0.1"
11820
- }
11821
- },
11822
- "object.values": {
11823
- "version": "1.1.1",
11824
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
11825
- "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
11826
- "dev": true,
11827
- "requires": {
11828
- "define-properties": "^1.1.3",
11829
- "es-abstract": "^1.17.0-next.1",
11830
- "function-bind": "^1.1.1",
11831
- "has": "^1.0.3"
11832
- },
11833
- "dependencies": {
11834
- "es-abstract": {
11835
- "version": "1.17.7",
11836
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
11837
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
11838
- "dev": true,
11839
- "requires": {
11840
- "es-to-primitive": "^1.2.1",
11841
- "function-bind": "^1.1.1",
11842
- "has": "^1.0.3",
11843
- "has-symbols": "^1.0.1",
11844
- "is-callable": "^1.2.2",
11845
- "is-regex": "^1.1.1",
11846
- "object-inspect": "^1.8.0",
11847
- "object-keys": "^1.1.1",
11848
- "object.assign": "^4.1.1",
11849
- "string.prototype.trimend": "^1.0.1",
11850
- "string.prototype.trimstart": "^1.0.1"
11851
- }
11852
- }
11853
- }
11854
- },
11855
- "on-finished": {
11856
- "version": "2.3.0",
11857
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
11858
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
11859
- "dev": true,
11860
- "requires": {
11861
- "ee-first": "1.1.1"
11862
- }
11863
- },
11864
- "once": {
11865
- "version": "1.4.0",
11866
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
11867
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
11868
- "dev": true,
11869
- "requires": {
11870
- "wrappy": "1"
11871
- }
11872
- },
11873
- "onetime": {
11874
- "version": "5.1.2",
11875
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
11876
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
11877
- "dev": true,
11878
- "requires": {
11879
- "mimic-fn": "^2.1.0"
11880
- }
11881
- },
11882
- "opener": {
11883
- "version": "1.5.2",
11884
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
11885
- "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
11886
- "dev": true
11887
- },
11888
- "optionator": {
11889
- "version": "0.9.1",
11890
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
11891
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
11892
- "dev": true,
11893
- "requires": {
11894
- "deep-is": "^0.1.3",
11895
- "fast-levenshtein": "^2.0.6",
11896
- "levn": "^0.4.1",
11897
- "prelude-ls": "^1.2.1",
11898
- "type-check": "^0.4.0",
11899
- "word-wrap": "^1.2.3"
11900
- }
11901
- },
11902
- "os-browserify": {
11903
- "version": "0.3.0",
11904
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
11905
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
11906
- "dev": true
11907
- },
11908
- "os-homedir": {
11909
- "version": "1.0.2",
11910
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
11911
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
11912
- "dev": true
11913
- },
11914
- "os-tmpdir": {
11915
- "version": "1.0.2",
11916
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
11917
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
11918
- "dev": true
11919
- },
11920
- "osenv": {
11921
- "version": "0.1.5",
11922
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
11923
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
11924
- "dev": true,
11925
- "requires": {
11926
- "os-homedir": "^1.0.0",
11927
- "os-tmpdir": "^1.0.0"
11928
- }
11929
- },
11930
- "p-each-series": {
11931
- "version": "2.1.0",
11932
- "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz",
11933
- "integrity": "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==",
11934
- "dev": true
11935
- },
11936
- "p-finally": {
11937
- "version": "1.0.0",
11938
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
11939
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
11940
- "dev": true
11941
- },
11942
- "p-limit": {
11943
- "version": "2.3.0",
11944
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
11945
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
11946
- "dev": true,
11947
- "requires": {
11948
- "p-try": "^2.0.0"
11949
- }
11950
- },
11951
- "p-locate": {
11952
- "version": "3.0.0",
11953
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
11954
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
11955
- "dev": true,
11956
- "requires": {
11957
- "p-limit": "^2.0.0"
11958
- }
11959
- },
11960
- "p-map": {
11961
- "version": "2.1.0",
11962
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
11963
- "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
11964
- "dev": true
11965
- },
11966
- "p-try": {
11967
- "version": "2.2.0",
11968
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
11969
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
11970
- "dev": true
11971
- },
11972
- "pako": {
11973
- "version": "1.0.11",
11974
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
11975
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
11976
- "dev": true
11977
- },
11978
- "parallel-transform": {
11979
- "version": "1.2.0",
11980
- "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
11981
- "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
11982
- "dev": true,
11983
- "requires": {
11984
- "cyclist": "^1.0.1",
11985
- "inherits": "^2.0.3",
11986
- "readable-stream": "^2.1.5"
11987
- }
11988
- },
11989
- "parent-module": {
11990
- "version": "1.0.1",
11991
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
11992
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
11993
- "dev": true,
11994
- "requires": {
11995
- "callsites": "^3.0.0"
11996
- }
11997
- },
11998
- "parse-asn1": {
11999
- "version": "5.1.6",
12000
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
12001
- "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
12002
- "dev": true,
12003
- "requires": {
12004
- "asn1.js": "^5.2.0",
12005
- "browserify-aes": "^1.0.0",
12006
- "evp_bytestokey": "^1.0.0",
12007
- "pbkdf2": "^3.0.3",
12008
- "safe-buffer": "^5.1.1"
12009
- }
12010
- },
12011
- "parse-entities": {
12012
- "version": "1.2.2",
12013
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz",
12014
- "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==",
12015
- "dev": true,
12016
- "requires": {
12017
- "character-entities": "^1.0.0",
12018
- "character-entities-legacy": "^1.0.0",
12019
- "character-reference-invalid": "^1.0.0",
12020
- "is-alphanumerical": "^1.0.0",
12021
- "is-decimal": "^1.0.0",
12022
- "is-hexadecimal": "^1.0.0"
12023
- }
12024
- },
12025
- "parse-json": {
12026
- "version": "5.1.0",
12027
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
12028
- "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
12029
- "dev": true,
12030
- "requires": {
12031
- "@babel/code-frame": "^7.0.0",
12032
- "error-ex": "^1.3.1",
12033
- "json-parse-even-better-errors": "^2.3.0",
12034
- "lines-and-columns": "^1.1.6"
12035
- }
12036
- },
12037
- "parse-passwd": {
12038
- "version": "1.0.0",
12039
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
12040
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
12041
- "dev": true
12042
- },
12043
- "parse5": {
12044
- "version": "3.0.3",
12045
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz",
12046
- "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==",
12047
- "dev": true,
12048
- "requires": {
12049
- "@types/node": "*"
12050
- }
12051
- },
12052
- "parseurl": {
12053
- "version": "1.3.3",
12054
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
12055
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
12056
- "dev": true
12057
- },
12058
- "pascalcase": {
12059
- "version": "0.1.1",
12060
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
12061
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
12062
- "dev": true
12063
- },
12064
- "path-browserify": {
12065
- "version": "0.0.1",
12066
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
12067
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
12068
- "dev": true
12069
- },
12070
- "path-dirname": {
12071
- "version": "1.0.2",
12072
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
12073
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
12074
- "dev": true,
12075
- "optional": true
12076
- },
12077
- "path-exists": {
12078
- "version": "3.0.0",
12079
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
12080
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
12081
- "dev": true
12082
- },
12083
- "path-is-absolute": {
12084
- "version": "1.0.1",
12085
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
12086
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
12087
- "dev": true
12088
- },
12089
- "path-is-inside": {
12090
- "version": "1.0.2",
12091
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
12092
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
12093
- "dev": true
12094
- },
12095
- "path-key": {
12096
- "version": "2.0.1",
12097
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
12098
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
12099
- "dev": true
12100
- },
12101
- "path-parse": {
12102
- "version": "1.0.6",
12103
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
12104
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
12105
- "dev": true
12106
- },
12107
- "path-to-regexp": {
12108
- "version": "0.1.7",
12109
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
12110
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
12111
- "dev": true
12112
- },
12113
- "path-type": {
12114
- "version": "4.0.0",
12115
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
12116
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
12117
- "dev": true
12118
- },
12119
- "pbkdf2": {
12120
- "version": "3.1.1",
12121
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
12122
- "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
12123
- "dev": true,
12124
- "requires": {
12125
- "create-hash": "^1.1.2",
12126
- "create-hmac": "^1.1.4",
12127
- "ripemd160": "^2.0.1",
12128
- "safe-buffer": "^5.0.1",
12129
- "sha.js": "^2.4.8"
12130
- }
12131
- },
12132
- "pend": {
12133
- "version": "1.2.0",
12134
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
12135
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
12136
- "dev": true
12137
- },
12138
- "performance-now": {
12139
- "version": "2.1.0",
12140
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
12141
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
12142
- "dev": true
12143
- },
12144
- "picomatch": {
12145
- "version": "2.2.2",
12146
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
12147
- "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
12148
- "dev": true
12149
- },
12150
- "pify": {
12151
- "version": "4.0.1",
12152
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
12153
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
12154
- "dev": true
12155
- },
12156
- "pinkie": {
12157
- "version": "2.0.4",
12158
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
12159
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
12160
- "dev": true
12161
- },
12162
- "pinkie-promise": {
12163
- "version": "2.0.1",
12164
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
12165
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
12166
- "dev": true,
12167
- "requires": {
12168
- "pinkie": "^2.0.0"
12169
- }
12170
- },
12171
- "pirates": {
12172
- "version": "4.0.1",
12173
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
12174
- "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
12175
- "dev": true,
12176
- "requires": {
12177
- "node-modules-regexp": "^1.0.0"
12178
- }
12179
- },
12180
- "pkg-dir": {
12181
- "version": "3.0.0",
12182
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
12183
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
12184
- "dev": true,
12185
- "requires": {
12186
- "find-up": "^3.0.0"
12187
- }
12188
- },
12189
- "plur": {
12190
- "version": "4.0.0",
12191
- "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz",
12192
- "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==",
12193
- "dev": true,
12194
- "requires": {
12195
- "irregular-plurals": "^3.2.0"
12196
- }
12197
- },
12198
- "pn": {
12199
- "version": "1.1.0",
12200
- "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
12201
- "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
12202
- "dev": true
12203
- },
12204
- "portfinder": {
12205
- "version": "1.0.28",
12206
- "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
12207
- "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
12208
- "dev": true,
12209
- "requires": {
12210
- "async": "^2.6.2",
12211
- "debug": "^3.1.1",
12212
- "mkdirp": "^0.5.5"
12213
- },
12214
- "dependencies": {
12215
- "debug": {
12216
- "version": "3.2.6",
12217
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
12218
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
12219
- "dev": true,
12220
- "requires": {
12221
- "ms": "^2.1.1"
12222
- }
12223
- }
12224
- }
12225
- },
12226
- "posix-character-classes": {
12227
- "version": "0.1.1",
12228
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
12229
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
12230
- "dev": true
12231
- },
12232
- "postcss": {
12233
- "version": "7.0.35",
12234
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
12235
- "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
12236
- "dev": true,
12237
- "requires": {
12238
- "chalk": "^2.4.2",
12239
- "source-map": "^0.6.1",
12240
- "supports-color": "^6.1.0"
12241
- },
12242
- "dependencies": {
12243
- "chalk": {
12244
- "version": "2.4.2",
12245
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
12246
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
12247
- "dev": true,
12248
- "requires": {
12249
- "ansi-styles": "^3.2.1",
12250
- "escape-string-regexp": "^1.0.5",
12251
- "supports-color": "^5.3.0"
12252
- },
12253
- "dependencies": {
12254
- "supports-color": {
12255
- "version": "5.5.0",
12256
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
12257
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
12258
- "dev": true,
12259
- "requires": {
12260
- "has-flag": "^3.0.0"
12261
- }
12262
- }
12263
- }
12264
- },
12265
- "source-map": {
12266
- "version": "0.6.1",
12267
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
12268
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
12269
- "dev": true
12270
- },
12271
- "supports-color": {
12272
- "version": "6.1.0",
12273
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
12274
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
12275
- "dev": true,
12276
- "requires": {
12277
- "has-flag": "^3.0.0"
12278
- }
12279
- }
12280
- }
12281
- },
12282
- "postcss-custom-properties": {
12283
- "version": "10.0.0",
12284
- "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-10.0.0.tgz",
12285
- "integrity": "sha512-55BPj5FudpCiPZzBaO+MOeqmwMDa+nV9/0QBJBfhZjYg6D9hE+rW9lpMBLTJoF4OTXnS5Po4yM1nMlgkPbCxFg==",
12286
- "dev": true,
12287
- "requires": {
12288
- "postcss": "^7.0.17",
12289
- "postcss-values-parser": "^4.0.0"
12290
- }
12291
- },
12292
- "postcss-html": {
12293
- "version": "0.36.0",
12294
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
12295
- "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
12296
- "dev": true,
12297
- "requires": {
12298
- "htmlparser2": "^3.10.0"
12299
- }
12300
- },
12301
- "postcss-less": {
12302
- "version": "3.1.4",
12303
- "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
12304
- "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==",
12305
- "dev": true,
12306
- "requires": {
12307
- "postcss": "^7.0.14"
12308
- }
12309
- },
12310
- "postcss-load-config": {
12311
- "version": "2.1.2",
12312
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz",
12313
- "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==",
12314
- "dev": true,
12315
- "requires": {
12316
- "cosmiconfig": "^5.0.0",
12317
- "import-cwd": "^2.0.0"
12318
- },
12319
- "dependencies": {
12320
- "cosmiconfig": {
12321
- "version": "5.2.1",
12322
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
12323
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
12324
- "dev": true,
12325
- "requires": {
12326
- "import-fresh": "^2.0.0",
12327
- "is-directory": "^0.3.1",
12328
- "js-yaml": "^3.13.1",
12329
- "parse-json": "^4.0.0"
12330
- }
12331
- },
12332
- "import-fresh": {
12333
- "version": "2.0.0",
12334
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
12335
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
12336
- "dev": true,
12337
- "requires": {
12338
- "caller-path": "^2.0.0",
12339
- "resolve-from": "^3.0.0"
12340
- }
12341
- },
12342
- "parse-json": {
12343
- "version": "4.0.0",
12344
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
12345
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
12346
- "dev": true,
12347
- "requires": {
12348
- "error-ex": "^1.3.1",
12349
- "json-parse-better-errors": "^1.0.1"
12350
- }
12351
- },
12352
- "resolve-from": {
12353
- "version": "3.0.0",
12354
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
12355
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
12356
- "dev": true
12357
- }
12358
- }
12359
- },
12360
- "postcss-loader": {
12361
- "version": "3.0.0",
12362
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
12363
- "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
12364
- "dev": true,
12365
- "requires": {
12366
- "loader-utils": "^1.1.0",
12367
- "postcss": "^7.0.0",
12368
- "postcss-load-config": "^2.0.0",
12369
- "schema-utils": "^1.0.0"
12370
- },
12371
- "dependencies": {
12372
- "json5": {
12373
- "version": "1.0.1",
12374
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
12375
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
12376
- "dev": true,
12377
- "requires": {
12378
- "minimist": "^1.2.0"
12379
- }
12380
- },
12381
- "loader-utils": {
12382
- "version": "1.4.0",
12383
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
12384
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
12385
- "dev": true,
12386
- "requires": {
12387
- "big.js": "^5.2.2",
12388
- "emojis-list": "^3.0.0",
12389
- "json5": "^1.0.1"
12390
- }
12391
- }
12392
- }
12393
- },
12394
- "postcss-media-query-parser": {
12395
- "version": "0.2.3",
12396
- "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
12397
- "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
12398
- "dev": true
12399
- },
12400
- "postcss-modules-extract-imports": {
12401
- "version": "2.0.0",
12402
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
12403
- "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
12404
- "dev": true,
12405
- "requires": {
12406
- "postcss": "^7.0.5"
12407
- }
12408
- },
12409
- "postcss-modules-local-by-default": {
12410
- "version": "3.0.3",
12411
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz",
12412
- "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==",
12413
- "dev": true,
12414
- "requires": {
12415
- "icss-utils": "^4.1.1",
12416
- "postcss": "^7.0.32",
12417
- "postcss-selector-parser": "^6.0.2",
12418
- "postcss-value-parser": "^4.1.0"
12419
- }
12420
- },
12421
- "postcss-modules-scope": {
12422
- "version": "2.2.0",
12423
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
12424
- "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
12425
- "dev": true,
12426
- "requires": {
12427
- "postcss": "^7.0.6",
12428
- "postcss-selector-parser": "^6.0.0"
12429
- }
12430
- },
12431
- "postcss-modules-values": {
12432
- "version": "3.0.0",
12433
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
12434
- "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
12435
- "dev": true,
12436
- "requires": {
12437
- "icss-utils": "^4.0.0",
12438
- "postcss": "^7.0.6"
12439
- }
12440
- },
12441
- "postcss-resolve-nested-selector": {
12442
- "version": "0.1.1",
12443
- "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
12444
- "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
12445
- "dev": true
12446
- },
12447
- "postcss-safe-parser": {
12448
- "version": "4.0.2",
12449
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
12450
- "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==",
12451
- "dev": true,
12452
- "requires": {
12453
- "postcss": "^7.0.26"
12454
- }
12455
- },
12456
- "postcss-sass": {
12457
- "version": "0.4.4",
12458
- "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz",
12459
- "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==",
12460
- "dev": true,
12461
- "requires": {
12462
- "gonzales-pe": "^4.3.0",
12463
- "postcss": "^7.0.21"
12464
- }
12465
- },
12466
- "postcss-scss": {
12467
- "version": "2.1.1",
12468
- "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz",
12469
- "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==",
12470
- "dev": true,
12471
- "requires": {
12472
- "postcss": "^7.0.6"
12473
- }
12474
- },
12475
- "postcss-selector-parser": {
12476
- "version": "6.0.4",
12477
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz",
12478
- "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==",
12479
- "dev": true,
12480
- "requires": {
12481
- "cssesc": "^3.0.0",
12482
- "indexes-of": "^1.0.1",
12483
- "uniq": "^1.0.1",
12484
- "util-deprecate": "^1.0.2"
12485
- }
12486
- },
12487
- "postcss-syntax": {
12488
- "version": "0.36.2",
12489
- "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
12490
- "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
12491
- "dev": true
12492
- },
12493
- "postcss-value-parser": {
12494
- "version": "4.1.0",
12495
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
12496
- "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
12497
- "dev": true
12498
- },
12499
- "postcss-values-parser": {
12500
- "version": "4.0.0",
12501
- "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-4.0.0.tgz",
12502
- "integrity": "sha512-R9x2D87FcbhwXUmoCXJR85M1BLII5suXRuXibGYyBJ7lVDEpRIdKZh4+8q5S+/+A4m0IoG1U5tFw39asyhX/Hw==",
12503
- "dev": true,
12504
- "requires": {
12505
- "color-name": "^1.1.4",
12506
- "is-url-superb": "^4.0.0",
12507
- "postcss": "^7.0.5"
12508
- },
12509
- "dependencies": {
12510
- "color-name": {
12511
- "version": "1.1.4",
12512
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
12513
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
12514
- "dev": true
12515
- }
12516
- }
12517
- },
12518
- "prelude-ls": {
12519
- "version": "1.2.1",
12520
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
12521
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
12522
- "dev": true
12523
- },
12524
- "prepend-http": {
12525
- "version": "1.0.4",
12526
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
12527
- "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
12528
- "dev": true
12529
- },
12530
- "prettier-linter-helpers": {
12531
- "version": "1.0.0",
12532
- "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
12533
- "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
12534
- "dev": true,
12535
- "requires": {
12536
- "fast-diff": "^1.1.2"
12537
- }
12538
- },
12539
- "pretty-format": {
12540
- "version": "25.5.0",
12541
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
12542
- "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
12543
- "dev": true,
12544
- "requires": {
12545
- "@jest/types": "^25.5.0",
12546
- "ansi-regex": "^5.0.0",
12547
- "ansi-styles": "^4.0.0",
12548
- "react-is": "^16.12.0"
12549
- },
12550
- "dependencies": {
12551
- "ansi-regex": {
12552
- "version": "5.0.0",
12553
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
12554
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
12555
- "dev": true
12556
- },
12557
- "ansi-styles": {
12558
- "version": "4.3.0",
12559
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
12560
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
12561
- "dev": true,
12562
- "requires": {
12563
- "color-convert": "^2.0.1"
12564
- }
12565
- },
12566
- "color-convert": {
12567
- "version": "2.0.1",
12568
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
12569
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
12570
- "dev": true,
12571
- "requires": {
12572
- "color-name": "~1.1.4"
12573
- }
12574
- },
12575
- "color-name": {
12576
- "version": "1.1.4",
12577
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
12578
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
12579
- "dev": true
12580
- }
12581
- }
12582
- },
12583
- "process": {
12584
- "version": "0.11.10",
12585
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
12586
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
12587
- "dev": true
12588
- },
12589
- "process-nextick-args": {
12590
- "version": "2.0.1",
12591
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
12592
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
12593
- "dev": true
12594
- },
12595
- "progress": {
12596
- "version": "2.0.3",
12597
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
12598
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
12599
- "dev": true
12600
- },
12601
- "promise-inflight": {
12602
- "version": "1.0.1",
12603
- "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
12604
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
12605
- "dev": true
12606
- },
12607
- "prompts": {
12608
- "version": "2.3.2",
12609
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
12610
- "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
12611
- "dev": true,
12612
- "requires": {
12613
- "kleur": "^3.0.3",
12614
- "sisteransi": "^1.0.4"
12615
- }
12616
- },
12617
- "prop-types": {
12618
- "version": "15.7.2",
12619
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
12620
- "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
12621
- "dev": true,
12622
- "requires": {
12623
- "loose-envify": "^1.4.0",
12624
- "object-assign": "^4.1.1",
12625
- "react-is": "^16.8.1"
12626
- }
12627
- },
12628
- "prop-types-exact": {
12629
- "version": "1.2.0",
12630
- "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.2.0.tgz",
12631
- "integrity": "sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==",
12632
- "dev": true,
12633
- "requires": {
12634
- "has": "^1.0.3",
12635
- "object.assign": "^4.1.0",
12636
- "reflect.ownkeys": "^0.2.0"
12637
- }
12638
- },
12639
- "proxy-addr": {
12640
- "version": "2.0.6",
12641
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
12642
- "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
12643
- "dev": true,
12644
- "requires": {
12645
- "forwarded": "~0.1.2",
12646
- "ipaddr.js": "1.9.1"
12647
- }
12648
- },
12649
- "proxy-from-env": {
12650
- "version": "1.1.0",
12651
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
12652
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
12653
- "dev": true
12654
- },
12655
- "prr": {
12656
- "version": "1.0.1",
12657
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
12658
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
12659
- "dev": true
12660
- },
12661
- "pseudomap": {
12662
- "version": "1.0.2",
12663
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
12664
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
12665
- "dev": true
12666
- },
12667
- "psl": {
12668
- "version": "1.8.0",
12669
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
12670
- "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
12671
- "dev": true
12672
- },
12673
- "public-encrypt": {
12674
- "version": "4.0.3",
12675
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
12676
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
12677
- "dev": true,
12678
- "requires": {
12679
- "bn.js": "^4.1.0",
12680
- "browserify-rsa": "^4.0.0",
12681
- "create-hash": "^1.1.0",
12682
- "parse-asn1": "^5.0.0",
12683
- "randombytes": "^2.0.1",
12684
- "safe-buffer": "^5.1.2"
12685
- },
12686
- "dependencies": {
12687
- "bn.js": {
12688
- "version": "4.11.9",
12689
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
12690
- "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
12691
- "dev": true
12692
- }
12693
- }
12694
- },
12695
- "pump": {
12696
- "version": "3.0.0",
12697
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
12698
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
12699
- "dev": true,
12700
- "requires": {
12701
- "end-of-stream": "^1.1.0",
12702
- "once": "^1.3.1"
12703
- }
12704
- },
12705
- "pumpify": {
12706
- "version": "1.5.1",
12707
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
12708
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
12709
- "dev": true,
12710
- "requires": {
12711
- "duplexify": "^3.6.0",
12712
- "inherits": "^2.0.3",
12713
- "pump": "^2.0.0"
12714
- },
12715
- "dependencies": {
12716
- "pump": {
12717
- "version": "2.0.1",
12718
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
12719
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
12720
- "dev": true,
12721
- "requires": {
12722
- "end-of-stream": "^1.1.0",
12723
- "once": "^1.3.1"
12724
- }
12725
- }
12726
- }
12727
- },
12728
- "punycode": {
12729
- "version": "2.1.1",
12730
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
12731
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
12732
- "dev": true
12733
- },
12734
- "q": {
12735
- "version": "1.5.1",
12736
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
12737
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
12738
- "dev": true
12739
- },
12740
- "qs": {
12741
- "version": "6.5.2",
12742
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
12743
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
12744
- "dev": true
12745
- },
12746
- "query-string": {
12747
- "version": "4.3.4",
12748
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
12749
- "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
12750
- "dev": true,
12751
- "requires": {
12752
- "object-assign": "^4.1.0",
12753
- "strict-uri-encode": "^1.0.0"
12754
- }
12755
- },
12756
- "querystring": {
12757
- "version": "0.2.0",
12758
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
12759
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
12760
- "dev": true
12761
- },
12762
- "querystring-es3": {
12763
- "version": "0.2.1",
12764
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
12765
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
12766
- "dev": true
12767
- },
12768
- "quick-lru": {
12769
- "version": "4.0.1",
12770
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
12771
- "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
12772
- "dev": true
12773
- },
12774
- "raf": {
12775
- "version": "3.4.1",
12776
- "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
12777
- "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
12778
- "dev": true,
12779
- "requires": {
12780
- "performance-now": "^2.1.0"
12781
- }
12782
- },
12783
- "railroad-diagrams": {
12784
- "version": "1.0.0",
12785
- "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz",
12786
- "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=",
12787
- "dev": true
12788
- },
12789
- "randexp": {
12790
- "version": "0.4.6",
12791
- "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz",
12792
- "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==",
12793
- "dev": true,
12794
- "requires": {
12795
- "discontinuous-range": "1.0.0",
12796
- "ret": "~0.1.10"
12797
- }
12798
- },
12799
- "randombytes": {
12800
- "version": "2.1.0",
12801
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
12802
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
12803
- "dev": true,
12804
- "requires": {
12805
- "safe-buffer": "^5.1.0"
12806
- }
12807
- },
12808
- "randomfill": {
12809
- "version": "1.0.4",
12810
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
12811
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
12812
- "dev": true,
12813
- "requires": {
12814
- "randombytes": "^2.0.5",
12815
- "safe-buffer": "^5.1.0"
12816
- }
12817
- },
12818
- "range-parser": {
12819
- "version": "1.2.1",
12820
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
12821
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
12822
- "dev": true
12823
- },
12824
- "raw-body": {
12825
- "version": "2.4.0",
12826
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
12827
- "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
12828
- "dev": true,
12829
- "requires": {
12830
- "bytes": "3.1.0",
12831
- "http-errors": "1.7.2",
12832
- "iconv-lite": "0.4.24",
12833
- "unpipe": "1.0.0"
12834
- }
12835
- },
12836
- "rc": {
12837
- "version": "1.2.8",
12838
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
12839
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
12840
- "dev": true,
12841
- "requires": {
12842
- "deep-extend": "^0.6.0",
12843
- "ini": "~1.3.0",
12844
- "minimist": "^1.2.0",
12845
- "strip-json-comments": "~2.0.1"
12846
- },
12847
- "dependencies": {
12848
- "deep-extend": {
12849
- "version": "0.6.0",
12850
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
12851
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
12852
- "dev": true
12853
- },
12854
- "strip-json-comments": {
12855
- "version": "2.0.1",
12856
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
12857
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
12858
- "dev": true
12859
- }
12860
- }
12861
- },
12862
- "react": {
12863
- "version": "16.14.0",
12864
- "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
12865
- "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
12866
- "dev": true,
12867
- "requires": {
12868
- "loose-envify": "^1.1.0",
12869
- "object-assign": "^4.1.1",
12870
- "prop-types": "^15.6.2"
12871
- }
12872
- },
12873
- "react-dom": {
12874
- "version": "16.14.0",
12875
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
12876
- "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
12877
- "dev": true,
12878
- "requires": {
12879
- "loose-envify": "^1.1.0",
12880
- "object-assign": "^4.1.1",
12881
- "prop-types": "^15.6.2",
12882
- "scheduler": "^0.19.1"
12883
- }
12884
- },
12885
- "react-is": {
12886
- "version": "16.13.1",
12887
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
12888
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
12889
- "dev": true
12890
- },
12891
- "react-test-renderer": {
12892
- "version": "16.14.0",
12893
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz",
12894
- "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==",
12895
- "dev": true,
12896
- "requires": {
12897
- "object-assign": "^4.1.1",
12898
- "prop-types": "^15.6.2",
12899
- "react-is": "^16.8.6",
12900
- "scheduler": "^0.19.1"
12901
- }
12902
- },
12903
- "read-pkg": {
12904
- "version": "5.2.0",
12905
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
12906
- "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
12907
- "dev": true,
12908
- "requires": {
12909
- "@types/normalize-package-data": "^2.4.0",
12910
- "normalize-package-data": "^2.5.0",
12911
- "parse-json": "^5.0.0",
12912
- "type-fest": "^0.6.0"
12913
- },
12914
- "dependencies": {
12915
- "type-fest": {
12916
- "version": "0.6.0",
12917
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
12918
- "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
12919
- "dev": true
12920
- }
12921
- }
12922
- },
12923
- "read-pkg-up": {
12924
- "version": "1.0.1",
12925
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
12926
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
12927
- "dev": true,
12928
- "requires": {
12929
- "find-up": "^1.0.0",
12930
- "read-pkg": "^1.0.0"
12931
- },
12932
- "dependencies": {
12933
- "find-up": {
12934
- "version": "1.1.2",
12935
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
12936
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
12937
- "dev": true,
12938
- "requires": {
12939
- "path-exists": "^2.0.0",
12940
- "pinkie-promise": "^2.0.0"
12941
- }
12942
- },
12943
- "path-exists": {
12944
- "version": "2.1.0",
12945
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
12946
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
12947
- "dev": true,
12948
- "requires": {
12949
- "pinkie-promise": "^2.0.0"
12950
- }
12951
- },
12952
- "path-type": {
12953
- "version": "1.1.0",
12954
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
12955
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
12956
- "dev": true,
12957
- "requires": {
12958
- "graceful-fs": "^4.1.2",
12959
- "pify": "^2.0.0",
12960
- "pinkie-promise": "^2.0.0"
12961
- }
12962
- },
12963
- "pify": {
12964
- "version": "2.3.0",
12965
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
12966
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
12967
- "dev": true
12968
- },
12969
- "read-pkg": {
12970
- "version": "1.1.0",
12971
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
12972
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
12973
- "dev": true,
12974
- "requires": {
12975
- "load-json-file": "^1.0.0",
12976
- "normalize-package-data": "^2.3.2",
12977
- "path-type": "^1.0.0"
12978
- }
12979
- }
12980
- }
12981
- },
12982
- "readable-stream": {
12983
- "version": "2.3.7",
12984
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
12985
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
12986
- "dev": true,
12987
- "requires": {
12988
- "core-util-is": "~1.0.0",
12989
- "inherits": "~2.0.3",
12990
- "isarray": "~1.0.0",
12991
- "process-nextick-args": "~2.0.0",
12992
- "safe-buffer": "~5.1.1",
12993
- "string_decoder": "~1.1.1",
12994
- "util-deprecate": "~1.0.1"
12995
- }
12996
- },
12997
- "readdirp": {
12998
- "version": "3.5.0",
12999
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
13000
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
13001
- "dev": true,
13002
- "optional": true,
13003
- "requires": {
13004
- "picomatch": "^2.2.1"
13005
- }
13006
- },
13007
- "realpath-native": {
13008
- "version": "2.0.0",
13009
- "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
13010
- "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
13011
- "dev": true
13012
- },
13013
- "redent": {
13014
- "version": "1.0.0",
13015
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
13016
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
13017
- "dev": true,
13018
- "requires": {
13019
- "indent-string": "^2.1.0",
13020
- "strip-indent": "^1.0.1"
13021
- }
13022
- },
13023
- "reflect.ownkeys": {
13024
- "version": "0.2.0",
13025
- "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz",
13026
- "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=",
13027
- "dev": true
13028
- },
13029
- "regenerate": {
13030
- "version": "1.4.1",
13031
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz",
13032
- "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==",
13033
- "dev": true
13034
- },
13035
- "regenerate-unicode-properties": {
13036
- "version": "8.2.0",
13037
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
13038
- "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
13039
- "dev": true,
13040
- "requires": {
13041
- "regenerate": "^1.4.0"
13042
- }
13043
- },
13044
- "regenerator-runtime": {
13045
- "version": "0.13.7",
13046
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
13047
- "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew=="
13048
- },
13049
- "regenerator-transform": {
13050
- "version": "0.14.5",
13051
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
13052
- "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
13053
- "dev": true,
13054
- "requires": {
13055
- "@babel/runtime": "^7.8.4"
13056
- }
13057
- },
13058
- "regex-not": {
13059
- "version": "1.0.2",
13060
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
13061
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
13062
- "dev": true,
13063
- "requires": {
13064
- "extend-shallow": "^3.0.2",
13065
- "safe-regex": "^1.1.0"
13066
- }
13067
- },
13068
- "regexp.prototype.flags": {
13069
- "version": "1.3.0",
13070
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
13071
- "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
13072
- "dev": true,
13073
- "requires": {
13074
- "define-properties": "^1.1.3",
13075
- "es-abstract": "^1.17.0-next.1"
13076
- },
13077
- "dependencies": {
13078
- "es-abstract": {
13079
- "version": "1.17.7",
13080
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
13081
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
13082
- "dev": true,
13083
- "requires": {
13084
- "es-to-primitive": "^1.2.1",
13085
- "function-bind": "^1.1.1",
13086
- "has": "^1.0.3",
13087
- "has-symbols": "^1.0.1",
13088
- "is-callable": "^1.2.2",
13089
- "is-regex": "^1.1.1",
13090
- "object-inspect": "^1.8.0",
13091
- "object-keys": "^1.1.1",
13092
- "object.assign": "^4.1.1",
13093
- "string.prototype.trimend": "^1.0.1",
13094
- "string.prototype.trimstart": "^1.0.1"
13095
- }
13096
- }
13097
- }
13098
- },
13099
- "regexpp": {
13100
- "version": "3.1.0",
13101
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
13102
- "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
13103
- "dev": true
13104
- },
13105
- "regexpu-core": {
13106
- "version": "4.7.1",
13107
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz",
13108
- "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==",
13109
- "dev": true,
13110
- "requires": {
13111
- "regenerate": "^1.4.0",
13112
- "regenerate-unicode-properties": "^8.2.0",
13113
- "regjsgen": "^0.5.1",
13114
- "regjsparser": "^0.6.4",
13115
- "unicode-match-property-ecmascript": "^1.0.4",
13116
- "unicode-match-property-value-ecmascript": "^1.2.0"
13117
- }
13118
- },
13119
- "regextras": {
13120
- "version": "0.7.1",
13121
- "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz",
13122
- "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==",
13123
- "dev": true
13124
- },
13125
- "regjsgen": {
13126
- "version": "0.5.2",
13127
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
13128
- "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==",
13129
- "dev": true
13130
- },
13131
- "regjsparser": {
13132
- "version": "0.6.4",
13133
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
13134
- "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
13135
- "dev": true,
13136
- "requires": {
13137
- "jsesc": "~0.5.0"
13138
- },
13139
- "dependencies": {
13140
- "jsesc": {
13141
- "version": "0.5.0",
13142
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
13143
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
13144
- "dev": true
13145
- }
13146
- }
13147
- },
13148
- "remark": {
13149
- "version": "12.0.1",
13150
- "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz",
13151
- "integrity": "sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==",
13152
- "dev": true,
13153
- "requires": {
13154
- "remark-parse": "^8.0.0",
13155
- "remark-stringify": "^8.0.0",
13156
- "unified": "^9.0.0"
13157
- },
13158
- "dependencies": {
13159
- "is-buffer": {
13160
- "version": "2.0.4",
13161
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
13162
- "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
13163
- "dev": true
13164
- },
13165
- "is-plain-obj": {
13166
- "version": "2.1.0",
13167
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
13168
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
13169
- "dev": true
13170
- },
13171
- "parse-entities": {
13172
- "version": "2.0.0",
13173
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
13174
- "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
13175
- "dev": true,
13176
- "requires": {
13177
- "character-entities": "^1.0.0",
13178
- "character-entities-legacy": "^1.0.0",
13179
- "character-reference-invalid": "^1.0.0",
13180
- "is-alphanumerical": "^1.0.0",
13181
- "is-decimal": "^1.0.0",
13182
- "is-hexadecimal": "^1.0.0"
13183
- }
13184
- },
13185
- "remark-parse": {
13186
- "version": "8.0.3",
13187
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz",
13188
- "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==",
13189
- "dev": true,
13190
- "requires": {
13191
- "ccount": "^1.0.0",
13192
- "collapse-white-space": "^1.0.2",
13193
- "is-alphabetical": "^1.0.0",
13194
- "is-decimal": "^1.0.0",
13195
- "is-whitespace-character": "^1.0.0",
13196
- "is-word-character": "^1.0.0",
13197
- "markdown-escapes": "^1.0.0",
13198
- "parse-entities": "^2.0.0",
13199
- "repeat-string": "^1.5.4",
13200
- "state-toggle": "^1.0.0",
13201
- "trim": "0.0.1",
13202
- "trim-trailing-lines": "^1.0.0",
13203
- "unherit": "^1.0.4",
13204
- "unist-util-remove-position": "^2.0.0",
13205
- "vfile-location": "^3.0.0",
13206
- "xtend": "^4.0.1"
13207
- }
13208
- },
13209
- "unified": {
13210
- "version": "9.2.0",
13211
- "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz",
13212
- "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==",
13213
- "dev": true,
13214
- "requires": {
13215
- "bail": "^1.0.0",
13216
- "extend": "^3.0.0",
13217
- "is-buffer": "^2.0.0",
13218
- "is-plain-obj": "^2.0.0",
13219
- "trough": "^1.0.0",
13220
- "vfile": "^4.0.0"
13221
- }
13222
- },
13223
- "unist-util-is": {
13224
- "version": "4.0.2",
13225
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
13226
- "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
13227
- "dev": true
13228
- },
13229
- "unist-util-remove-position": {
13230
- "version": "2.0.1",
13231
- "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
13232
- "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
13233
- "dev": true,
13234
- "requires": {
13235
- "unist-util-visit": "^2.0.0"
13236
- }
13237
- },
13238
- "unist-util-stringify-position": {
13239
- "version": "2.0.3",
13240
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
13241
- "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
13242
- "dev": true,
13243
- "requires": {
13244
- "@types/unist": "^2.0.2"
13245
- }
13246
- },
13247
- "unist-util-visit": {
13248
- "version": "2.0.3",
13249
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
13250
- "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
13251
- "dev": true,
13252
- "requires": {
13253
- "@types/unist": "^2.0.0",
13254
- "unist-util-is": "^4.0.0",
13255
- "unist-util-visit-parents": "^3.0.0"
13256
- }
13257
- },
13258
- "unist-util-visit-parents": {
13259
- "version": "3.1.1",
13260
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
13261
- "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
13262
- "dev": true,
13263
- "requires": {
13264
- "@types/unist": "^2.0.0",
13265
- "unist-util-is": "^4.0.0"
13266
- }
13267
- },
13268
- "vfile": {
13269
- "version": "4.2.0",
13270
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.0.tgz",
13271
- "integrity": "sha512-a/alcwCvtuc8OX92rqqo7PflxiCgXRFjdyoGVuYV+qbgCb0GgZJRvIgCD4+U/Kl1yhaRsaTwksF88xbPyGsgpw==",
13272
- "dev": true,
13273
- "requires": {
13274
- "@types/unist": "^2.0.0",
13275
- "is-buffer": "^2.0.0",
13276
- "replace-ext": "1.0.0",
13277
- "unist-util-stringify-position": "^2.0.0",
13278
- "vfile-message": "^2.0.0"
13279
- }
13280
- },
13281
- "vfile-location": {
13282
- "version": "3.1.0",
13283
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.1.0.tgz",
13284
- "integrity": "sha512-FCZ4AN9xMcjFIG1oGmZKo61PjwJHRVA+0/tPUP2ul4uIwjGGndIxavEMRpWn5p4xwm/ZsdXp9YNygf1ZyE4x8g==",
13285
- "dev": true
13286
- },
13287
- "vfile-message": {
13288
- "version": "2.0.4",
13289
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
13290
- "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
13291
- "dev": true,
13292
- "requires": {
13293
- "@types/unist": "^2.0.0",
13294
- "unist-util-stringify-position": "^2.0.0"
13295
- }
13296
- }
13297
- }
13298
- },
13299
- "remark-parse": {
13300
- "version": "5.0.0",
13301
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
13302
- "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
13303
- "dev": true,
13304
- "requires": {
13305
- "collapse-white-space": "^1.0.2",
13306
- "is-alphabetical": "^1.0.0",
13307
- "is-decimal": "^1.0.0",
13308
- "is-whitespace-character": "^1.0.0",
13309
- "is-word-character": "^1.0.0",
13310
- "markdown-escapes": "^1.0.0",
13311
- "parse-entities": "^1.1.0",
13312
- "repeat-string": "^1.5.4",
13313
- "state-toggle": "^1.0.0",
13314
- "trim": "0.0.1",
13315
- "trim-trailing-lines": "^1.0.0",
13316
- "unherit": "^1.0.4",
13317
- "unist-util-remove-position": "^1.0.0",
13318
- "vfile-location": "^2.0.0",
13319
- "xtend": "^4.0.1"
13320
- }
13321
- },
13322
- "remark-stringify": {
13323
- "version": "8.1.1",
13324
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz",
13325
- "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==",
13326
- "dev": true,
13327
- "requires": {
13328
- "ccount": "^1.0.0",
13329
- "is-alphanumeric": "^1.0.0",
13330
- "is-decimal": "^1.0.0",
13331
- "is-whitespace-character": "^1.0.0",
13332
- "longest-streak": "^2.0.1",
13333
- "markdown-escapes": "^1.0.0",
13334
- "markdown-table": "^2.0.0",
13335
- "mdast-util-compact": "^2.0.0",
13336
- "parse-entities": "^2.0.0",
13337
- "repeat-string": "^1.5.4",
13338
- "state-toggle": "^1.0.0",
13339
- "stringify-entities": "^3.0.0",
13340
- "unherit": "^1.0.4",
13341
- "xtend": "^4.0.1"
13342
- },
13343
- "dependencies": {
13344
- "parse-entities": {
13345
- "version": "2.0.0",
13346
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
13347
- "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
13348
- "dev": true,
13349
- "requires": {
13350
- "character-entities": "^1.0.0",
13351
- "character-entities-legacy": "^1.0.0",
13352
- "character-reference-invalid": "^1.0.0",
13353
- "is-alphanumerical": "^1.0.0",
13354
- "is-decimal": "^1.0.0",
13355
- "is-hexadecimal": "^1.0.0"
13356
- }
13357
- }
13358
- }
13359
- },
13360
- "remove-trailing-separator": {
13361
- "version": "1.1.0",
13362
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
13363
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
13364
- "dev": true
13365
- },
13366
- "repeat-element": {
13367
- "version": "1.1.3",
13368
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
13369
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
13370
- "dev": true
13371
- },
13372
- "repeat-string": {
13373
- "version": "1.6.1",
13374
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
13375
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
13376
- "dev": true
13377
- },
13378
- "repeating": {
13379
- "version": "2.0.1",
13380
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
13381
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
13382
- "dev": true,
13383
- "requires": {
13384
- "is-finite": "^1.0.0"
13385
- }
13386
- },
13387
- "replace-ext": {
13388
- "version": "1.0.0",
13389
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
13390
- "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
13391
- "dev": true
13392
- },
13393
- "request": {
13394
- "version": "2.88.2",
13395
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
13396
- "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
13397
- "dev": true,
13398
- "requires": {
13399
- "aws-sign2": "~0.7.0",
13400
- "aws4": "^1.8.0",
13401
- "caseless": "~0.12.0",
13402
- "combined-stream": "~1.0.6",
13403
- "extend": "~3.0.2",
13404
- "forever-agent": "~0.6.1",
13405
- "form-data": "~2.3.2",
13406
- "har-validator": "~5.1.3",
13407
- "http-signature": "~1.2.0",
13408
- "is-typedarray": "~1.0.0",
13409
- "isstream": "~0.1.2",
13410
- "json-stringify-safe": "~5.0.1",
13411
- "mime-types": "~2.1.19",
13412
- "oauth-sign": "~0.9.0",
13413
- "performance-now": "^2.1.0",
13414
- "qs": "~6.5.2",
13415
- "safe-buffer": "^5.1.2",
13416
- "tough-cookie": "~2.5.0",
13417
- "tunnel-agent": "^0.6.0",
13418
- "uuid": "^3.3.2"
13419
- },
13420
- "dependencies": {
13421
- "tough-cookie": {
13422
- "version": "2.5.0",
13423
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
13424
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
13425
- "dev": true,
13426
- "requires": {
13427
- "psl": "^1.1.28",
13428
- "punycode": "^2.1.1"
13429
- }
13430
- }
13431
- }
13432
- },
13433
- "request-promise-core": {
13434
- "version": "1.1.4",
13435
- "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
13436
- "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
13437
- "dev": true,
13438
- "requires": {
13439
- "lodash": "^4.17.19"
13440
- }
13441
- },
13442
- "request-promise-native": {
13443
- "version": "1.0.9",
13444
- "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
13445
- "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
13446
- "dev": true,
13447
- "requires": {
13448
- "request-promise-core": "1.1.4",
13449
- "stealthy-require": "^1.1.1",
13450
- "tough-cookie": "^2.3.3"
13451
- },
13452
- "dependencies": {
13453
- "tough-cookie": {
13454
- "version": "2.5.0",
13455
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
13456
- "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
13457
- "dev": true,
13458
- "requires": {
13459
- "psl": "^1.1.28",
13460
- "punycode": "^2.1.1"
13461
- }
13462
- }
13463
- }
13464
- },
13465
- "require-directory": {
13466
- "version": "2.1.1",
13467
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
13468
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
13469
- "dev": true
13470
- },
13471
- "require-main-filename": {
13472
- "version": "2.0.0",
13473
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
13474
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
13475
- "dev": true
13476
- },
13477
- "requireindex": {
13478
- "version": "1.2.0",
13479
- "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz",
13480
- "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
13481
- "dev": true
13482
- },
13483
- "resolve": {
13484
- "version": "1.18.1",
13485
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
13486
- "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==",
13487
- "dev": true,
13488
- "requires": {
13489
- "is-core-module": "^2.0.0",
13490
- "path-parse": "^1.0.6"
13491
- }
13492
- },
13493
- "resolve-bin": {
13494
- "version": "0.4.0",
13495
- "resolved": "https://registry.npmjs.org/resolve-bin/-/resolve-bin-0.4.0.tgz",
13496
- "integrity": "sha1-RxMiSYkRAa+xmZH+k3ywpfBy5dk=",
13497
- "dev": true,
13498
- "requires": {
13499
- "find-parent-dir": "~0.3.0"
13500
- }
13501
- },
13502
- "resolve-cwd": {
13503
- "version": "3.0.0",
13504
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
13505
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
13506
- "dev": true,
13507
- "requires": {
13508
- "resolve-from": "^5.0.0"
13509
- },
13510
- "dependencies": {
13511
- "resolve-from": {
13512
- "version": "5.0.0",
13513
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
13514
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
13515
- "dev": true
13516
- }
13517
- }
13518
- },
13519
- "resolve-dir": {
13520
- "version": "0.1.1",
13521
- "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
13522
- "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
13523
- "dev": true,
13524
- "requires": {
13525
- "expand-tilde": "^1.2.2",
13526
- "global-modules": "^0.2.3"
13527
- }
13528
- },
13529
- "resolve-from": {
13530
- "version": "4.0.0",
13531
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
13532
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
13533
- "dev": true
13534
- },
13535
- "resolve-url": {
13536
- "version": "0.2.1",
13537
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
13538
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
13539
- "dev": true
13540
- },
13541
- "ret": {
13542
- "version": "0.1.15",
13543
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
13544
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
13545
- "dev": true
13546
- },
13547
- "reusify": {
13548
- "version": "1.0.4",
13549
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
13550
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
13551
- "dev": true
13552
- },
13553
- "rimraf": {
13554
- "version": "2.7.1",
13555
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
13556
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
13557
- "dev": true,
13558
- "requires": {
13559
- "glob": "^7.1.3"
13560
- }
13561
- },
13562
- "ripemd160": {
13563
- "version": "2.0.2",
13564
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
13565
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
13566
- "dev": true,
13567
- "requires": {
13568
- "hash-base": "^3.0.0",
13569
- "inherits": "^2.0.1"
13570
- }
13571
- },
13572
- "rst-selector-parser": {
13573
- "version": "2.2.3",
13574
- "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz",
13575
- "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=",
13576
- "dev": true,
13577
- "requires": {
13578
- "lodash.flattendeep": "^4.4.0",
13579
- "nearley": "^2.7.10"
13580
- }
13581
- },
13582
- "rsvp": {
13583
- "version": "4.8.5",
13584
- "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz",
13585
- "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==",
13586
- "dev": true
13587
- },
13588
- "run-parallel": {
13589
- "version": "1.1.9",
13590
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
13591
- "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
13592
- "dev": true
13593
- },
13594
- "run-queue": {
13595
- "version": "1.0.3",
13596
- "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
13597
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
13598
- "dev": true,
13599
- "requires": {
13600
- "aproba": "^1.1.1"
13601
- }
13602
- },
13603
- "rx": {
13604
- "version": "4.1.0",
13605
- "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
13606
- "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
13607
- "dev": true
13608
- },
13609
- "safe-buffer": {
13610
- "version": "5.1.2",
13611
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
13612
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
13613
- },
13614
- "safe-json-parse": {
13615
- "version": "1.0.1",
13616
- "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
13617
- "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
13618
- "dev": true
13619
- },
13620
- "safe-regex": {
13621
- "version": "1.1.0",
13622
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
13623
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
13624
- "dev": true,
13625
- "requires": {
13626
- "ret": "~0.1.10"
13627
- }
13628
- },
13629
- "safer-buffer": {
13630
- "version": "2.1.2",
13631
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
13632
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
13633
- },
13634
- "sane": {
13635
- "version": "4.1.0",
13636
- "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz",
13637
- "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==",
13638
- "dev": true,
13639
- "requires": {
13640
- "@cnakazawa/watch": "^1.0.3",
13641
- "anymatch": "^2.0.0",
13642
- "capture-exit": "^2.0.0",
13643
- "exec-sh": "^0.3.2",
13644
- "execa": "^1.0.0",
13645
- "fb-watchman": "^2.0.0",
13646
- "micromatch": "^3.1.4",
13647
- "minimist": "^1.1.1",
13648
- "walker": "~1.0.5"
13649
- },
13650
- "dependencies": {
13651
- "anymatch": {
13652
- "version": "2.0.0",
13653
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
13654
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
13655
- "dev": true,
13656
- "requires": {
13657
- "micromatch": "^3.1.4",
13658
- "normalize-path": "^2.1.1"
13659
- }
13660
- },
13661
- "normalize-path": {
13662
- "version": "2.1.1",
13663
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
13664
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
13665
- "dev": true,
13666
- "requires": {
13667
- "remove-trailing-separator": "^1.0.1"
13668
- }
13669
- }
13670
- }
13671
- },
13672
- "sass-graph": {
13673
- "version": "2.2.5",
13674
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz",
13675
- "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==",
13676
- "dev": true,
13677
- "requires": {
13678
- "glob": "^7.0.0",
13679
- "lodash": "^4.0.0",
13680
- "scss-tokenizer": "^0.2.3",
13681
- "yargs": "^13.3.2"
13682
- },
13683
- "dependencies": {
13684
- "camelcase": {
13685
- "version": "5.3.1",
13686
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
13687
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
13688
- "dev": true
13689
- },
13690
- "cliui": {
13691
- "version": "5.0.0",
13692
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
13693
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
13694
- "dev": true,
13695
- "requires": {
13696
- "string-width": "^3.1.0",
13697
- "strip-ansi": "^5.2.0",
13698
- "wrap-ansi": "^5.1.0"
13699
- }
13700
- },
13701
- "wrap-ansi": {
13702
- "version": "5.1.0",
13703
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
13704
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
13705
- "dev": true,
13706
- "requires": {
13707
- "ansi-styles": "^3.2.0",
13708
- "string-width": "^3.0.0",
13709
- "strip-ansi": "^5.0.0"
13710
- }
13711
- },
13712
- "yargs": {
13713
- "version": "13.3.2",
13714
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
13715
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
13716
- "dev": true,
13717
- "requires": {
13718
- "cliui": "^5.0.0",
13719
- "find-up": "^3.0.0",
13720
- "get-caller-file": "^2.0.1",
13721
- "require-directory": "^2.1.1",
13722
- "require-main-filename": "^2.0.0",
13723
- "set-blocking": "^2.0.0",
13724
- "string-width": "^3.0.0",
13725
- "which-module": "^2.0.0",
13726
- "y18n": "^4.0.0",
13727
- "yargs-parser": "^13.1.2"
13728
- }
13729
- },
13730
- "yargs-parser": {
13731
- "version": "13.1.2",
13732
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
13733
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
13734
- "dev": true,
13735
- "requires": {
13736
- "camelcase": "^5.0.0",
13737
- "decamelize": "^1.2.0"
13738
- }
13739
- }
13740
- }
13741
- },
13742
- "sass-loader": {
13743
- "version": "8.0.2",
13744
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz",
13745
- "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==",
13746
- "dev": true,
13747
- "requires": {
13748
- "clone-deep": "^4.0.1",
13749
- "loader-utils": "^1.2.3",
13750
- "neo-async": "^2.6.1",
13751
- "schema-utils": "^2.6.1",
13752
- "semver": "^6.3.0"
13753
- },
13754
- "dependencies": {
13755
- "clone-deep": {
13756
- "version": "4.0.1",
13757
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
13758
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
13759
- "dev": true,
13760
- "requires": {
13761
- "is-plain-object": "^2.0.4",
13762
- "kind-of": "^6.0.2",
13763
- "shallow-clone": "^3.0.0"
13764
- }
13765
- },
13766
- "json5": {
13767
- "version": "1.0.1",
13768
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
13769
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
13770
- "dev": true,
13771
- "requires": {
13772
- "minimist": "^1.2.0"
13773
- }
13774
- },
13775
- "kind-of": {
13776
- "version": "6.0.3",
13777
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
13778
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
13779
- "dev": true
13780
- },
13781
- "loader-utils": {
13782
- "version": "1.4.0",
13783
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
13784
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
13785
- "dev": true,
13786
- "requires": {
13787
- "big.js": "^5.2.2",
13788
- "emojis-list": "^3.0.0",
13789
- "json5": "^1.0.1"
13790
- }
13791
- },
13792
- "schema-utils": {
13793
- "version": "2.7.1",
13794
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
13795
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
13796
- "dev": true,
13797
- "requires": {
13798
- "@types/json-schema": "^7.0.5",
13799
- "ajv": "^6.12.4",
13800
- "ajv-keywords": "^3.5.2"
13801
- }
13802
- },
13803
- "semver": {
13804
- "version": "6.3.0",
13805
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
13806
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
13807
- "dev": true
13808
- },
13809
- "shallow-clone": {
13810
- "version": "3.0.1",
13811
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
13812
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
13813
- "dev": true,
13814
- "requires": {
13815
- "kind-of": "^6.0.2"
13816
- }
13817
- }
13818
- }
13819
- },
13820
- "sax": {
13821
- "version": "1.2.4",
13822
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
13823
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
13824
- "dev": true
13825
- },
13826
- "saxes": {
13827
- "version": "3.1.11",
13828
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
13829
- "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
13830
- "dev": true,
13831
- "requires": {
13832
- "xmlchars": "^2.1.1"
13833
- }
13834
- },
13835
- "scheduler": {
13836
- "version": "0.19.1",
13837
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
13838
- "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
13839
- "dev": true,
13840
- "requires": {
13841
- "loose-envify": "^1.1.0",
13842
- "object-assign": "^4.1.1"
13843
- }
13844
- },
13845
- "schema-utils": {
13846
- "version": "1.0.0",
13847
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
13848
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
13849
- "dev": true,
13850
- "requires": {
13851
- "ajv": "^6.1.0",
13852
- "ajv-errors": "^1.0.0",
13853
- "ajv-keywords": "^3.1.0"
13854
- }
13855
- },
13856
- "scss-tokenizer": {
13857
- "version": "0.2.3",
13858
- "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
13859
- "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
13860
- "dev": true,
13861
- "requires": {
13862
- "js-base64": "^2.1.8",
13863
- "source-map": "^0.4.2"
13864
- },
13865
- "dependencies": {
13866
- "source-map": {
13867
- "version": "0.4.4",
13868
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
13869
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
13870
- "dev": true,
13871
- "requires": {
13872
- "amdefine": ">=0.0.4"
13873
- }
13874
- }
13875
- }
13876
- },
13877
- "semver": {
13878
- "version": "5.7.1",
13879
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
13880
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
13881
- "dev": true
13882
- },
13883
- "send": {
13884
- "version": "0.17.1",
13885
- "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
13886
- "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
13887
- "dev": true,
13888
- "requires": {
13889
- "debug": "2.6.9",
13890
- "depd": "~1.1.2",
13891
- "destroy": "~1.0.4",
13892
- "encodeurl": "~1.0.2",
13893
- "escape-html": "~1.0.3",
13894
- "etag": "~1.8.1",
13895
- "fresh": "0.5.2",
13896
- "http-errors": "~1.7.2",
13897
- "mime": "1.6.0",
13898
- "ms": "2.1.1",
13899
- "on-finished": "~2.3.0",
13900
- "range-parser": "~1.2.1",
13901
- "statuses": "~1.5.0"
13902
- },
13903
- "dependencies": {
13904
- "debug": {
13905
- "version": "2.6.9",
13906
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
13907
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
13908
- "dev": true,
13909
- "requires": {
13910
- "ms": "2.0.0"
13911
- },
13912
- "dependencies": {
13913
- "ms": {
13914
- "version": "2.0.0",
13915
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
13916
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
13917
- "dev": true
13918
- }
13919
- }
13920
- },
13921
- "mime": {
13922
- "version": "1.6.0",
13923
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
13924
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
13925
- "dev": true
13926
- },
13927
- "ms": {
13928
- "version": "2.1.1",
13929
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
13930
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
13931
- "dev": true
13932
- }
13933
- }
13934
- },
13935
- "serialize-javascript": {
13936
- "version": "4.0.0",
13937
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
13938
- "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
13939
- "dev": true,
13940
- "requires": {
13941
- "randombytes": "^2.1.0"
13942
- }
13943
- },
13944
- "serve-static": {
13945
- "version": "1.14.1",
13946
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
13947
- "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
13948
- "dev": true,
13949
- "requires": {
13950
- "encodeurl": "~1.0.2",
13951
- "escape-html": "~1.0.3",
13952
- "parseurl": "~1.3.3",
13953
- "send": "0.17.1"
13954
- }
13955
- },
13956
- "set-blocking": {
13957
- "version": "2.0.0",
13958
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
13959
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
13960
- "dev": true
13961
- },
13962
- "set-value": {
13963
- "version": "2.0.1",
13964
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
13965
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
13966
- "dev": true,
13967
- "requires": {
13968
- "extend-shallow": "^2.0.1",
13969
- "is-extendable": "^0.1.1",
13970
- "is-plain-object": "^2.0.3",
13971
- "split-string": "^3.0.1"
13972
- },
13973
- "dependencies": {
13974
- "extend-shallow": {
13975
- "version": "2.0.1",
13976
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
13977
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
13978
- "dev": true,
13979
- "requires": {
13980
- "is-extendable": "^0.1.0"
13981
- }
13982
- }
13983
- }
13984
- },
13985
- "setimmediate": {
13986
- "version": "1.0.5",
13987
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
13988
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
13989
- "dev": true
13990
- },
13991
- "setprototypeof": {
13992
- "version": "1.1.1",
13993
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
13994
- "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
13995
- "dev": true
13996
- },
13997
- "sha.js": {
13998
- "version": "2.4.11",
13999
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
14000
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
14001
- "dev": true,
14002
- "requires": {
14003
- "inherits": "^2.0.1",
14004
- "safe-buffer": "^5.0.1"
14005
- }
14006
- },
14007
- "shallow-clone": {
14008
- "version": "0.1.2",
14009
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz",
14010
- "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=",
14011
- "dev": true,
14012
- "requires": {
14013
- "is-extendable": "^0.1.1",
14014
- "kind-of": "^2.0.1",
14015
- "lazy-cache": "^0.2.3",
14016
- "mixin-object": "^2.0.1"
14017
- },
14018
- "dependencies": {
14019
- "kind-of": {
14020
- "version": "2.0.1",
14021
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz",
14022
- "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=",
14023
- "dev": true,
14024
- "requires": {
14025
- "is-buffer": "^1.0.2"
14026
- }
14027
- },
14028
- "lazy-cache": {
14029
- "version": "0.2.7",
14030
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz",
14031
- "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=",
14032
- "dev": true
14033
- }
14034
- }
14035
- },
14036
- "shebang-command": {
14037
- "version": "1.2.0",
14038
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
14039
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
14040
- "dev": true,
14041
- "requires": {
14042
- "shebang-regex": "^1.0.0"
14043
- }
14044
- },
14045
- "shebang-regex": {
14046
- "version": "1.0.0",
14047
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
14048
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
14049
- "dev": true
14050
- },
14051
- "shellwords": {
14052
- "version": "0.1.1",
14053
- "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
14054
- "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
14055
- "dev": true,
14056
- "optional": true
14057
- },
14058
- "side-channel": {
14059
- "version": "1.0.3",
14060
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz",
14061
- "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==",
14062
- "dev": true,
14063
- "requires": {
14064
- "es-abstract": "^1.18.0-next.0",
14065
- "object-inspect": "^1.8.0"
14066
- }
14067
- },
14068
- "signal-exit": {
14069
- "version": "3.0.3",
14070
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
14071
- "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
14072
- "dev": true
14073
- },
14074
- "sisteransi": {
14075
- "version": "1.0.5",
14076
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
14077
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
14078
- "dev": true
14079
- },
14080
- "slash": {
14081
- "version": "3.0.0",
14082
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
14083
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
14084
- "dev": true
14085
- },
14086
- "slice-ansi": {
14087
- "version": "2.1.0",
14088
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
14089
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
14090
- "dev": true,
14091
- "requires": {
14092
- "ansi-styles": "^3.2.0",
14093
- "astral-regex": "^1.0.0",
14094
- "is-fullwidth-code-point": "^2.0.0"
14095
- }
14096
- },
14097
- "snapdragon": {
14098
- "version": "0.8.2",
14099
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
14100
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
14101
- "dev": true,
14102
- "requires": {
14103
- "base": "^0.11.1",
14104
- "debug": "^2.2.0",
14105
- "define-property": "^0.2.5",
14106
- "extend-shallow": "^2.0.1",
14107
- "map-cache": "^0.2.2",
14108
- "source-map": "^0.5.6",
14109
- "source-map-resolve": "^0.5.0",
14110
- "use": "^3.1.0"
14111
- },
14112
- "dependencies": {
14113
- "debug": {
14114
- "version": "2.6.9",
14115
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
14116
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
14117
- "dev": true,
14118
- "requires": {
14119
- "ms": "2.0.0"
14120
- }
14121
- },
14122
- "define-property": {
14123
- "version": "0.2.5",
14124
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
14125
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
14126
- "dev": true,
14127
- "requires": {
14128
- "is-descriptor": "^0.1.0"
14129
- }
14130
- },
14131
- "extend-shallow": {
14132
- "version": "2.0.1",
14133
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
14134
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
14135
- "dev": true,
14136
- "requires": {
14137
- "is-extendable": "^0.1.0"
14138
- }
14139
- },
14140
- "ms": {
14141
- "version": "2.0.0",
14142
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
14143
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
14144
- "dev": true
14145
- }
14146
- }
14147
- },
14148
- "snapdragon-node": {
14149
- "version": "2.1.1",
14150
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
14151
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
14152
- "dev": true,
14153
- "requires": {
14154
- "define-property": "^1.0.0",
14155
- "isobject": "^3.0.0",
14156
- "snapdragon-util": "^3.0.1"
14157
- },
14158
- "dependencies": {
14159
- "define-property": {
14160
- "version": "1.0.0",
14161
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
14162
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
14163
- "dev": true,
14164
- "requires": {
14165
- "is-descriptor": "^1.0.0"
14166
- }
14167
- },
14168
- "is-accessor-descriptor": {
14169
- "version": "1.0.0",
14170
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
14171
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
14172
- "dev": true,
14173
- "requires": {
14174
- "kind-of": "^6.0.0"
14175
- }
14176
- },
14177
- "is-data-descriptor": {
14178
- "version": "1.0.0",
14179
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
14180
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
14181
- "dev": true,
14182
- "requires": {
14183
- "kind-of": "^6.0.0"
14184
- }
14185
- },
14186
- "is-descriptor": {
14187
- "version": "1.0.2",
14188
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
14189
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
14190
- "dev": true,
14191
- "requires": {
14192
- "is-accessor-descriptor": "^1.0.0",
14193
- "is-data-descriptor": "^1.0.0",
14194
- "kind-of": "^6.0.2"
14195
- }
14196
- },
14197
- "kind-of": {
14198
- "version": "6.0.3",
14199
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
14200
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
14201
- "dev": true
14202
- }
14203
- }
14204
- },
14205
- "snapdragon-util": {
14206
- "version": "3.0.1",
14207
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
14208
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
14209
- "dev": true,
14210
- "requires": {
14211
- "kind-of": "^3.2.0"
14212
- }
14213
- },
14214
- "sort-keys": {
14215
- "version": "1.1.2",
14216
- "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
14217
- "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
14218
- "dev": true,
14219
- "requires": {
14220
- "is-plain-obj": "^1.0.0"
14221
- }
14222
- },
14223
- "source-list-map": {
14224
- "version": "2.0.1",
14225
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
14226
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
14227
- "dev": true
14228
- },
14229
- "source-map": {
14230
- "version": "0.5.7",
14231
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
14232
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
14233
- "dev": true
14234
- },
14235
- "source-map-loader": {
14236
- "version": "0.2.4",
14237
- "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz",
14238
- "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==",
14239
- "dev": true,
14240
- "requires": {
14241
- "async": "^2.5.0",
14242
- "loader-utils": "^1.1.0"
14243
- },
14244
- "dependencies": {
14245
- "json5": {
14246
- "version": "1.0.1",
14247
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
14248
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
14249
- "dev": true,
14250
- "requires": {
14251
- "minimist": "^1.2.0"
14252
- }
14253
- },
14254
- "loader-utils": {
14255
- "version": "1.4.0",
14256
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
14257
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
14258
- "dev": true,
14259
- "requires": {
14260
- "big.js": "^5.2.2",
14261
- "emojis-list": "^3.0.0",
14262
- "json5": "^1.0.1"
14263
- }
14264
- }
14265
- }
14266
- },
14267
- "source-map-resolve": {
14268
- "version": "0.5.3",
14269
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
14270
- "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
14271
- "dev": true,
14272
- "requires": {
14273
- "atob": "^2.1.2",
14274
- "decode-uri-component": "^0.2.0",
14275
- "resolve-url": "^0.2.1",
14276
- "source-map-url": "^0.4.0",
14277
- "urix": "^0.1.0"
14278
- }
14279
- },
14280
- "source-map-support": {
14281
- "version": "0.5.19",
14282
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
14283
- "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
14284
- "dev": true,
14285
- "requires": {
14286
- "buffer-from": "^1.0.0",
14287
- "source-map": "^0.6.0"
14288
- },
14289
- "dependencies": {
14290
- "source-map": {
14291
- "version": "0.6.1",
14292
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
14293
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
14294
- "dev": true
14295
- }
14296
- }
14297
- },
14298
- "source-map-url": {
14299
- "version": "0.4.0",
14300
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
14301
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
14302
- "dev": true
14303
- },
14304
- "spawnd": {
14305
- "version": "4.4.0",
14306
- "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-4.4.0.tgz",
14307
- "integrity": "sha512-jLPOfB6QOEgMOQY15Z6+lwZEhH3F5ncXxIaZ7WHPIapwNNLyjrs61okj3VJ3K6tmP5TZ6cO0VAu9rEY4MD4YQg==",
14308
- "dev": true,
14309
- "requires": {
14310
- "exit": "^0.1.2",
14311
- "signal-exit": "^3.0.2",
14312
- "tree-kill": "^1.2.2",
14313
- "wait-port": "^0.2.7"
14314
- }
14315
- },
14316
- "spdx-correct": {
14317
- "version": "3.1.1",
14318
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
14319
- "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
14320
- "dev": true,
14321
- "requires": {
14322
- "spdx-expression-parse": "^3.0.0",
14323
- "spdx-license-ids": "^3.0.0"
14324
- }
14325
- },
14326
- "spdx-exceptions": {
14327
- "version": "2.3.0",
14328
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
14329
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
14330
- "dev": true
14331
- },
14332
- "spdx-expression-parse": {
14333
- "version": "3.0.1",
14334
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
14335
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
14336
- "dev": true,
14337
- "requires": {
14338
- "spdx-exceptions": "^2.1.0",
14339
- "spdx-license-ids": "^3.0.0"
14340
- }
14341
- },
14342
- "spdx-license-ids": {
14343
- "version": "3.0.6",
14344
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz",
14345
- "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==",
14346
- "dev": true
14347
- },
14348
- "specificity": {
14349
- "version": "0.4.1",
14350
- "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
14351
- "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
14352
- "dev": true
14353
- },
14354
- "split-string": {
14355
- "version": "3.1.0",
14356
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
14357
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
14358
- "dev": true,
14359
- "requires": {
14360
- "extend-shallow": "^3.0.0"
14361
- }
14362
- },
14363
- "sprintf-js": {
14364
- "version": "1.0.3",
14365
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
14366
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
14367
- "dev": true
14368
- },
14369
- "sshpk": {
14370
- "version": "1.16.1",
14371
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
14372
- "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
14373
- "dev": true,
14374
- "requires": {
14375
- "asn1": "~0.2.3",
14376
- "assert-plus": "^1.0.0",
14377
- "bcrypt-pbkdf": "^1.0.0",
14378
- "dashdash": "^1.12.0",
14379
- "ecc-jsbn": "~0.1.1",
14380
- "getpass": "^0.1.1",
14381
- "jsbn": "~0.1.0",
14382
- "safer-buffer": "^2.0.2",
14383
- "tweetnacl": "~0.14.0"
14384
- }
14385
- },
14386
- "ssri": {
14387
- "version": "6.0.1",
14388
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
14389
- "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
14390
- "dev": true,
14391
- "requires": {
14392
- "figgy-pudding": "^3.5.1"
14393
- }
14394
- },
14395
- "stable": {
14396
- "version": "0.1.8",
14397
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
14398
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
14399
- "dev": true
14400
- },
14401
- "stack-utils": {
14402
- "version": "1.0.2",
14403
- "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
14404
- "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
14405
- "dev": true
14406
- },
14407
- "state-toggle": {
14408
- "version": "1.0.3",
14409
- "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
14410
- "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==",
14411
- "dev": true
14412
- },
14413
- "static-extend": {
14414
- "version": "0.1.2",
14415
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
14416
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
14417
- "dev": true,
14418
- "requires": {
14419
- "define-property": "^0.2.5",
14420
- "object-copy": "^0.1.0"
14421
- },
14422
- "dependencies": {
14423
- "define-property": {
14424
- "version": "0.2.5",
14425
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
14426
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
14427
- "dev": true,
14428
- "requires": {
14429
- "is-descriptor": "^0.1.0"
14430
- }
14431
- }
14432
- }
14433
- },
14434
- "statuses": {
14435
- "version": "1.5.0",
14436
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
14437
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
14438
- "dev": true
14439
- },
14440
- "stdout-stream": {
14441
- "version": "1.4.1",
14442
- "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
14443
- "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
14444
- "dev": true,
14445
- "requires": {
14446
- "readable-stream": "^2.0.1"
14447
- }
14448
- },
14449
- "stealthy-require": {
14450
- "version": "1.1.1",
14451
- "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
14452
- "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
14453
- "dev": true
14454
- },
14455
- "stream-browserify": {
14456
- "version": "2.0.2",
14457
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
14458
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
14459
- "dev": true,
14460
- "requires": {
14461
- "inherits": "~2.0.1",
14462
- "readable-stream": "^2.0.2"
14463
- }
14464
- },
14465
- "stream-each": {
14466
- "version": "1.2.3",
14467
- "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
14468
- "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
14469
- "dev": true,
14470
- "requires": {
14471
- "end-of-stream": "^1.1.0",
14472
- "stream-shift": "^1.0.0"
14473
- }
14474
- },
14475
- "stream-http": {
14476
- "version": "2.8.3",
14477
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
14478
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
14479
- "dev": true,
14480
- "requires": {
14481
- "builtin-status-codes": "^3.0.0",
14482
- "inherits": "^2.0.1",
14483
- "readable-stream": "^2.3.6",
14484
- "to-arraybuffer": "^1.0.0",
14485
- "xtend": "^4.0.0"
14486
- }
14487
- },
14488
- "stream-shift": {
14489
- "version": "1.0.1",
14490
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
14491
- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
14492
- "dev": true
14493
- },
14494
- "strict-uri-encode": {
14495
- "version": "1.1.0",
14496
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
14497
- "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
14498
- "dev": true
14499
- },
14500
- "string-length": {
14501
- "version": "3.1.0",
14502
- "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz",
14503
- "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==",
14504
- "dev": true,
14505
- "requires": {
14506
- "astral-regex": "^1.0.0",
14507
- "strip-ansi": "^5.2.0"
14508
- }
14509
- },
14510
- "string-template": {
14511
- "version": "0.2.1",
14512
- "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
14513
- "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
14514
- "dev": true
14515
- },
14516
- "string-width": {
14517
- "version": "3.1.0",
14518
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
14519
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
14520
- "dev": true,
14521
- "requires": {
14522
- "emoji-regex": "^7.0.1",
14523
- "is-fullwidth-code-point": "^2.0.0",
14524
- "strip-ansi": "^5.1.0"
14525
- },
14526
- "dependencies": {
14527
- "emoji-regex": {
14528
- "version": "7.0.3",
14529
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
14530
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
14531
- "dev": true
14532
- }
14533
- }
14534
- },
14535
- "string.prototype.matchall": {
14536
- "version": "4.0.2",
14537
- "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz",
14538
- "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==",
14539
- "dev": true,
14540
- "requires": {
14541
- "define-properties": "^1.1.3",
14542
- "es-abstract": "^1.17.0",
14543
- "has-symbols": "^1.0.1",
14544
- "internal-slot": "^1.0.2",
14545
- "regexp.prototype.flags": "^1.3.0",
14546
- "side-channel": "^1.0.2"
14547
- },
14548
- "dependencies": {
14549
- "es-abstract": {
14550
- "version": "1.17.7",
14551
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
14552
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
14553
- "dev": true,
14554
- "requires": {
14555
- "es-to-primitive": "^1.2.1",
14556
- "function-bind": "^1.1.1",
14557
- "has": "^1.0.3",
14558
- "has-symbols": "^1.0.1",
14559
- "is-callable": "^1.2.2",
14560
- "is-regex": "^1.1.1",
14561
- "object-inspect": "^1.8.0",
14562
- "object-keys": "^1.1.1",
14563
- "object.assign": "^4.1.1",
14564
- "string.prototype.trimend": "^1.0.1",
14565
- "string.prototype.trimstart": "^1.0.1"
14566
- }
14567
- }
14568
- }
14569
- },
14570
- "string.prototype.trim": {
14571
- "version": "1.2.2",
14572
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.2.tgz",
14573
- "integrity": "sha512-b5yrbl3BXIjHau9Prk7U0RRYcUYdN4wGSVaqoBQS50CCE3KBuYU0TYRNPFCP7aVoNMX87HKThdMRVIP3giclKg==",
14574
- "dev": true,
14575
- "requires": {
14576
- "define-properties": "^1.1.3",
14577
- "es-abstract": "^1.18.0-next.0"
14578
- }
14579
- },
14580
- "string.prototype.trimend": {
14581
- "version": "1.0.1",
14582
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
14583
- "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
14584
- "dev": true,
14585
- "requires": {
14586
- "define-properties": "^1.1.3",
14587
- "es-abstract": "^1.17.5"
14588
- },
14589
- "dependencies": {
14590
- "es-abstract": {
14591
- "version": "1.17.7",
14592
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
14593
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
14594
- "dev": true,
14595
- "requires": {
14596
- "es-to-primitive": "^1.2.1",
14597
- "function-bind": "^1.1.1",
14598
- "has": "^1.0.3",
14599
- "has-symbols": "^1.0.1",
14600
- "is-callable": "^1.2.2",
14601
- "is-regex": "^1.1.1",
14602
- "object-inspect": "^1.8.0",
14603
- "object-keys": "^1.1.1",
14604
- "object.assign": "^4.1.1",
14605
- "string.prototype.trimend": "^1.0.1",
14606
- "string.prototype.trimstart": "^1.0.1"
14607
- }
14608
- }
14609
- }
14610
- },
14611
- "string.prototype.trimstart": {
14612
- "version": "1.0.1",
14613
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
14614
- "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
14615
- "dev": true,
14616
- "requires": {
14617
- "define-properties": "^1.1.3",
14618
- "es-abstract": "^1.17.5"
14619
- },
14620
- "dependencies": {
14621
- "es-abstract": {
14622
- "version": "1.17.7",
14623
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
14624
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
14625
- "dev": true,
14626
- "requires": {
14627
- "es-to-primitive": "^1.2.1",
14628
- "function-bind": "^1.1.1",
14629
- "has": "^1.0.3",
14630
- "has-symbols": "^1.0.1",
14631
- "is-callable": "^1.2.2",
14632
- "is-regex": "^1.1.1",
14633
- "object-inspect": "^1.8.0",
14634
- "object-keys": "^1.1.1",
14635
- "object.assign": "^4.1.1",
14636
- "string.prototype.trimend": "^1.0.1",
14637
- "string.prototype.trimstart": "^1.0.1"
14638
- }
14639
- }
14640
- }
14641
- },
14642
- "string_decoder": {
14643
- "version": "1.1.1",
14644
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
14645
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
14646
- "dev": true,
14647
- "requires": {
14648
- "safe-buffer": "~5.1.0"
14649
- }
14650
- },
14651
- "stringify-entities": {
14652
- "version": "3.1.0",
14653
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz",
14654
- "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==",
14655
- "dev": true,
14656
- "requires": {
14657
- "character-entities-html4": "^1.0.0",
14658
- "character-entities-legacy": "^1.0.0",
14659
- "xtend": "^4.0.0"
14660
- }
14661
- },
14662
- "strip-ansi": {
14663
- "version": "5.2.0",
14664
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
14665
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
14666
- "dev": true,
14667
- "requires": {
14668
- "ansi-regex": "^4.1.0"
14669
- }
14670
- },
14671
- "strip-bom": {
14672
- "version": "4.0.0",
14673
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
14674
- "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
14675
- "dev": true
14676
- },
14677
- "strip-eof": {
14678
- "version": "1.0.0",
14679
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
14680
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
14681
- "dev": true
14682
- },
14683
- "strip-final-newline": {
14684
- "version": "2.0.0",
14685
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
14686
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
14687
- "dev": true
14688
- },
14689
- "strip-indent": {
14690
- "version": "1.0.1",
14691
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
14692
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
14693
- "dev": true,
14694
- "requires": {
14695
- "get-stdin": "^4.0.1"
14696
- },
14697
- "dependencies": {
14698
- "get-stdin": {
14699
- "version": "4.0.1",
14700
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
14701
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
14702
- "dev": true
14703
- }
14704
- }
14705
- },
14706
- "strip-json-comments": {
14707
- "version": "3.1.1",
14708
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
14709
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
14710
- "dev": true
14711
- },
14712
- "style-search": {
14713
- "version": "0.1.0",
14714
- "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
14715
- "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
14716
- "dev": true
14717
- },
14718
- "stylelint": {
14719
- "version": "13.7.2",
14720
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.7.2.tgz",
14721
- "integrity": "sha512-mmieorkfmO+ZA6CNDu1ic9qpt4tFvH2QUB7vqXgrMVHe5ENU69q7YDq0YUg/UHLuCsZOWhUAvcMcLzLDIERzSg==",
14722
- "dev": true,
14723
- "requires": {
14724
- "@stylelint/postcss-css-in-js": "^0.37.2",
14725
- "@stylelint/postcss-markdown": "^0.36.1",
14726
- "autoprefixer": "^9.8.6",
14727
- "balanced-match": "^1.0.0",
14728
- "chalk": "^4.1.0",
14729
- "cosmiconfig": "^7.0.0",
14730
- "debug": "^4.1.1",
14731
- "execall": "^2.0.0",
14732
- "fast-glob": "^3.2.4",
14733
- "fastest-levenshtein": "^1.0.12",
14734
- "file-entry-cache": "^5.0.1",
14735
- "get-stdin": "^8.0.0",
14736
- "global-modules": "^2.0.0",
14737
- "globby": "^11.0.1",
14738
- "globjoin": "^0.1.4",
14739
- "html-tags": "^3.1.0",
14740
- "ignore": "^5.1.8",
14741
- "import-lazy": "^4.0.0",
14742
- "imurmurhash": "^0.1.4",
14743
- "known-css-properties": "^0.19.0",
14744
- "lodash": "^4.17.20",
14745
- "log-symbols": "^4.0.0",
14746
- "mathml-tag-names": "^2.1.3",
14747
- "meow": "^7.1.1",
14748
- "micromatch": "^4.0.2",
14749
- "normalize-selector": "^0.2.0",
14750
- "postcss": "^7.0.32",
14751
- "postcss-html": "^0.36.0",
14752
- "postcss-less": "^3.1.4",
14753
- "postcss-media-query-parser": "^0.2.3",
14754
- "postcss-resolve-nested-selector": "^0.1.1",
14755
- "postcss-safe-parser": "^4.0.2",
14756
- "postcss-sass": "^0.4.4",
14757
- "postcss-scss": "^2.1.1",
14758
- "postcss-selector-parser": "^6.0.2",
14759
- "postcss-syntax": "^0.36.2",
14760
- "postcss-value-parser": "^4.1.0",
14761
- "resolve-from": "^5.0.0",
14762
- "slash": "^3.0.0",
14763
- "specificity": "^0.4.1",
14764
- "string-width": "^4.2.0",
14765
- "strip-ansi": "^6.0.0",
14766
- "style-search": "^0.1.0",
14767
- "sugarss": "^2.0.0",
14768
- "svg-tags": "^1.0.0",
14769
- "table": "^6.0.1",
14770
- "v8-compile-cache": "^2.1.1",
14771
- "write-file-atomic": "^3.0.3"
14772
- },
14773
- "dependencies": {
14774
- "ansi-regex": {
14775
- "version": "5.0.0",
14776
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
14777
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
14778
- "dev": true
14779
- },
14780
- "ansi-styles": {
14781
- "version": "4.3.0",
14782
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
14783
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
14784
- "dev": true,
14785
- "requires": {
14786
- "color-convert": "^2.0.1"
14787
- }
14788
- },
14789
- "array-union": {
14790
- "version": "2.1.0",
14791
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
14792
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
14793
- "dev": true
14794
- },
14795
- "astral-regex": {
14796
- "version": "2.0.0",
14797
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
14798
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
14799
- "dev": true
14800
- },
14801
- "braces": {
14802
- "version": "3.0.2",
14803
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
14804
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
14805
- "dev": true,
14806
- "requires": {
14807
- "fill-range": "^7.0.1"
14808
- }
14809
- },
14810
- "camelcase": {
14811
- "version": "5.3.1",
14812
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
14813
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
14814
- "dev": true
14815
- },
14816
- "camelcase-keys": {
14817
- "version": "6.2.2",
14818
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
14819
- "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
14820
- "dev": true,
14821
- "requires": {
14822
- "camelcase": "^5.3.1",
14823
- "map-obj": "^4.0.0",
14824
- "quick-lru": "^4.0.1"
14825
- }
14826
- },
14827
- "color-convert": {
14828
- "version": "2.0.1",
14829
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
14830
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
14831
- "dev": true,
14832
- "requires": {
14833
- "color-name": "~1.1.4"
14834
- }
14835
- },
14836
- "color-name": {
14837
- "version": "1.1.4",
14838
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
14839
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
14840
- "dev": true
14841
- },
14842
- "cosmiconfig": {
14843
- "version": "7.0.0",
14844
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
14845
- "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
14846
- "dev": true,
14847
- "requires": {
14848
- "@types/parse-json": "^4.0.0",
14849
- "import-fresh": "^3.2.1",
14850
- "parse-json": "^5.0.0",
14851
- "path-type": "^4.0.0",
14852
- "yaml": "^1.10.0"
14853
- }
14854
- },
14855
- "emoji-regex": {
14856
- "version": "8.0.0",
14857
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
14858
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
14859
- "dev": true
14860
- },
14861
- "fill-range": {
14862
- "version": "7.0.1",
14863
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
14864
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
14865
- "dev": true,
14866
- "requires": {
14867
- "to-regex-range": "^5.0.1"
14868
- }
14869
- },
14870
- "find-up": {
14871
- "version": "4.1.0",
14872
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
14873
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
14874
- "dev": true,
14875
- "requires": {
14876
- "locate-path": "^5.0.0",
14877
- "path-exists": "^4.0.0"
14878
- }
14879
- },
14880
- "get-stdin": {
14881
- "version": "8.0.0",
14882
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
14883
- "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
14884
- "dev": true
14885
- },
14886
- "global-modules": {
14887
- "version": "2.0.0",
14888
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
14889
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
14890
- "dev": true,
14891
- "requires": {
14892
- "global-prefix": "^3.0.0"
14893
- }
14894
- },
14895
- "global-prefix": {
14896
- "version": "3.0.0",
14897
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
14898
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
14899
- "dev": true,
14900
- "requires": {
14901
- "ini": "^1.3.5",
14902
- "kind-of": "^6.0.2",
14903
- "which": "^1.3.1"
14904
- }
14905
- },
14906
- "globby": {
14907
- "version": "11.0.1",
14908
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
14909
- "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
14910
- "dev": true,
14911
- "requires": {
14912
- "array-union": "^2.1.0",
14913
- "dir-glob": "^3.0.1",
14914
- "fast-glob": "^3.1.1",
14915
- "ignore": "^5.1.4",
14916
- "merge2": "^1.3.0",
14917
- "slash": "^3.0.0"
14918
- }
14919
- },
14920
- "ignore": {
14921
- "version": "5.1.8",
14922
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
14923
- "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
14924
- "dev": true
14925
- },
14926
- "indent-string": {
14927
- "version": "4.0.0",
14928
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
14929
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
14930
- "dev": true
14931
- },
14932
- "is-fullwidth-code-point": {
14933
- "version": "3.0.0",
14934
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
14935
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
14936
- "dev": true
14937
- },
14938
- "is-number": {
14939
- "version": "7.0.0",
14940
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
14941
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
14942
- "dev": true
14943
- },
14944
- "kind-of": {
14945
- "version": "6.0.3",
14946
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
14947
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
14948
- "dev": true
14949
- },
14950
- "locate-path": {
14951
- "version": "5.0.0",
14952
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
14953
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
14954
- "dev": true,
14955
- "requires": {
14956
- "p-locate": "^4.1.0"
14957
- }
14958
- },
14959
- "map-obj": {
14960
- "version": "4.1.0",
14961
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
14962
- "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
14963
- "dev": true
14964
- },
14965
- "meow": {
14966
- "version": "7.1.1",
14967
- "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz",
14968
- "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==",
14969
- "dev": true,
14970
- "requires": {
14971
- "@types/minimist": "^1.2.0",
14972
- "camelcase-keys": "^6.2.2",
14973
- "decamelize-keys": "^1.1.0",
14974
- "hard-rejection": "^2.1.0",
14975
- "minimist-options": "4.1.0",
14976
- "normalize-package-data": "^2.5.0",
14977
- "read-pkg-up": "^7.0.1",
14978
- "redent": "^3.0.0",
14979
- "trim-newlines": "^3.0.0",
14980
- "type-fest": "^0.13.1",
14981
- "yargs-parser": "^18.1.3"
14982
- }
14983
- },
14984
- "micromatch": {
14985
- "version": "4.0.2",
14986
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
14987
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
14988
- "dev": true,
14989
- "requires": {
14990
- "braces": "^3.0.1",
14991
- "picomatch": "^2.0.5"
14992
- }
14993
- },
14994
- "p-locate": {
14995
- "version": "4.1.0",
14996
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
14997
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
14998
- "dev": true,
14999
- "requires": {
15000
- "p-limit": "^2.2.0"
15001
- }
15002
- },
15003
- "path-exists": {
15004
- "version": "4.0.0",
15005
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
15006
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
15007
- "dev": true
15008
- },
15009
- "read-pkg-up": {
15010
- "version": "7.0.1",
15011
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
15012
- "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
15013
- "dev": true,
15014
- "requires": {
15015
- "find-up": "^4.1.0",
15016
- "read-pkg": "^5.2.0",
15017
- "type-fest": "^0.8.1"
15018
- },
15019
- "dependencies": {
15020
- "type-fest": {
15021
- "version": "0.8.1",
15022
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
15023
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
15024
- "dev": true
15025
- }
15026
- }
15027
- },
15028
- "redent": {
15029
- "version": "3.0.0",
15030
- "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
15031
- "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
15032
- "dev": true,
15033
- "requires": {
15034
- "indent-string": "^4.0.0",
15035
- "strip-indent": "^3.0.0"
15036
- }
15037
- },
15038
- "resolve-from": {
15039
- "version": "5.0.0",
15040
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
15041
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
15042
- "dev": true
15043
- },
15044
- "slice-ansi": {
15045
- "version": "4.0.0",
15046
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
15047
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
15048
- "dev": true,
15049
- "requires": {
15050
- "ansi-styles": "^4.0.0",
15051
- "astral-regex": "^2.0.0",
15052
- "is-fullwidth-code-point": "^3.0.0"
15053
- }
15054
- },
15055
- "string-width": {
15056
- "version": "4.2.0",
15057
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
15058
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
15059
- "dev": true,
15060
- "requires": {
15061
- "emoji-regex": "^8.0.0",
15062
- "is-fullwidth-code-point": "^3.0.0",
15063
- "strip-ansi": "^6.0.0"
15064
- }
15065
- },
15066
- "strip-ansi": {
15067
- "version": "6.0.0",
15068
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
15069
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
15070
- "dev": true,
15071
- "requires": {
15072
- "ansi-regex": "^5.0.0"
15073
- }
15074
- },
15075
- "strip-indent": {
15076
- "version": "3.0.0",
15077
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
15078
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
15079
- "dev": true,
15080
- "requires": {
15081
- "min-indent": "^1.0.0"
15082
- }
15083
- },
15084
- "table": {
15085
- "version": "6.0.3",
15086
- "resolved": "https://registry.npmjs.org/table/-/table-6.0.3.tgz",
15087
- "integrity": "sha512-8321ZMcf1B9HvVX/btKv8mMZahCjn2aYrDlpqHaBFCfnox64edeH9kEid0vTLTRR8gWR2A20aDgeuTTea4sVtw==",
15088
- "dev": true,
15089
- "requires": {
15090
- "ajv": "^6.12.4",
15091
- "lodash": "^4.17.20",
15092
- "slice-ansi": "^4.0.0",
15093
- "string-width": "^4.2.0"
15094
- }
15095
- },
15096
- "to-regex-range": {
15097
- "version": "5.0.1",
15098
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
15099
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
15100
- "dev": true,
15101
- "requires": {
15102
- "is-number": "^7.0.0"
15103
- }
15104
- },
15105
- "trim-newlines": {
15106
- "version": "3.0.0",
15107
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
15108
- "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
15109
- "dev": true
15110
- },
15111
- "type-fest": {
15112
- "version": "0.13.1",
15113
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
15114
- "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
15115
- "dev": true
15116
- },
15117
- "which": {
15118
- "version": "1.3.1",
15119
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
15120
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
15121
- "dev": true,
15122
- "requires": {
15123
- "isexe": "^2.0.0"
15124
- }
15125
- }
15126
- }
15127
- },
15128
- "stylelint-config-recommended": {
15129
- "version": "3.0.0",
15130
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz",
15131
- "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==",
15132
- "dev": true
15133
- },
15134
- "stylelint-config-recommended-scss": {
15135
- "version": "4.2.0",
15136
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-4.2.0.tgz",
15137
- "integrity": "sha512-4bI5BYbabo/GCQ6LbRZx/ZlVkK65a1jivNNsD+ix/Lw0U3iAch+jQcvliGnnAX8SUPaZ0UqzNVNNAF3urswa7g==",
15138
- "dev": true,
15139
- "requires": {
15140
- "stylelint-config-recommended": "^3.0.0"
15141
- }
15142
- },
15143
- "stylelint-config-wordpress": {
15144
- "version": "17.0.0",
15145
- "resolved": "https://registry.npmjs.org/stylelint-config-wordpress/-/stylelint-config-wordpress-17.0.0.tgz",
15146
- "integrity": "sha512-qUU2kVMd2ezIV9AzRdgietIfnavRRENt4180A1OMoVXIowRjjhohZgBiyVPV5EtNKo3GTO63l8g/QGNG27/h9g==",
15147
- "dev": true,
15148
- "requires": {
15149
- "stylelint-config-recommended": "^3.0.0",
15150
- "stylelint-config-recommended-scss": "^4.2.0",
15151
- "stylelint-scss": "^3.17.2"
15152
- }
15153
- },
15154
- "stylelint-scss": {
15155
- "version": "3.18.0",
15156
- "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.18.0.tgz",
15157
- "integrity": "sha512-LD7+hv/6/ApNGt7+nR/50ft7cezKP2HM5rI8avIdGaUWre3xlHfV4jKO/DRZhscfuN+Ewy9FMhcTq0CcS0C/SA==",
15158
- "dev": true,
15159
- "requires": {
15160
- "lodash": "^4.17.15",
15161
- "postcss-media-query-parser": "^0.2.3",
15162
- "postcss-resolve-nested-selector": "^0.1.1",
15163
- "postcss-selector-parser": "^6.0.2",
15164
- "postcss-value-parser": "^4.1.0"
15165
- }
15166
- },
15167
- "sugarss": {
15168
- "version": "2.0.0",
15169
- "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
15170
- "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
15171
- "dev": true,
15172
- "requires": {
15173
- "postcss": "^7.0.2"
15174
- }
15175
- },
15176
- "supports-color": {
15177
- "version": "5.5.0",
15178
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
15179
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
15180
- "dev": true,
15181
- "requires": {
15182
- "has-flag": "^3.0.0"
15183
- }
15184
- },
15185
- "supports-hyperlinks": {
15186
- "version": "2.1.0",
15187
- "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz",
15188
- "integrity": "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==",
15189
- "dev": true,
15190
- "requires": {
15191
- "has-flag": "^4.0.0",
15192
- "supports-color": "^7.0.0"
15193
- },
15194
- "dependencies": {
15195
- "has-flag": {
15196
- "version": "4.0.0",
15197
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
15198
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
15199
- "dev": true
15200
- },
15201
- "supports-color": {
15202
- "version": "7.2.0",
15203
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
15204
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
15205
- "dev": true,
15206
- "requires": {
15207
- "has-flag": "^4.0.0"
15208
- }
15209
- }
15210
- }
15211
- },
15212
- "svg-parser": {
15213
- "version": "2.0.4",
15214
- "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
15215
- "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==",
15216
- "dev": true
15217
- },
15218
- "svg-tags": {
15219
- "version": "1.0.0",
15220
- "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
15221
- "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
15222
- "dev": true
15223
- },
15224
- "svgo": {
15225
- "version": "1.3.2",
15226
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
15227
- "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
15228
- "dev": true,
15229
- "requires": {
15230
- "chalk": "^2.4.1",
15231
- "coa": "^2.0.2",
15232
- "css-select": "^2.0.0",
15233
- "css-select-base-adapter": "^0.1.1",
15234
- "css-tree": "1.0.0-alpha.37",
15235
- "csso": "^4.0.2",
15236
- "js-yaml": "^3.13.1",
15237
- "mkdirp": "~0.5.1",
15238
- "object.values": "^1.1.0",
15239
- "sax": "~1.2.4",
15240
- "stable": "^0.1.8",
15241
- "unquote": "~1.1.1",
15242
- "util.promisify": "~1.0.0"
15243
- },
15244
- "dependencies": {
15245
- "chalk": {
15246
- "version": "2.4.2",
15247
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
15248
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
15249
- "dev": true,
15250
- "requires": {
15251
- "ansi-styles": "^3.2.1",
15252
- "escape-string-regexp": "^1.0.5",
15253
- "supports-color": "^5.3.0"
15254
- }
15255
- }
15256
- }
15257
- },
15258
- "symbol-tree": {
15259
- "version": "3.2.4",
15260
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
15261
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
15262
- "dev": true
15263
- },
15264
- "table": {
15265
- "version": "5.4.6",
15266
- "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
15267
- "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
15268
- "dev": true,
15269
- "requires": {
15270
- "ajv": "^6.10.2",
15271
- "lodash": "^4.17.14",
15272
- "slice-ansi": "^2.1.0",
15273
- "string-width": "^3.0.0"
15274
- }
15275
- },
15276
- "tannin": {
15277
- "version": "1.2.0",
15278
- "resolved": "https://registry.npmjs.org/tannin/-/tannin-1.2.0.tgz",
15279
- "integrity": "sha512-U7GgX/RcSeUETbV7gYgoz8PD7Ni4y95pgIP/Z6ayI3CfhSujwKEBlGFTCRN+Aqnuyf4AN2yHL+L8x+TCGjb9uA==",
15280
- "requires": {
15281
- "@tannin/plural-forms": "^1.1.0"
15282
- }
15283
- },
15284
- "tapable": {
15285
- "version": "1.1.3",
15286
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
15287
- "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
15288
- "dev": true
15289
- },
15290
- "tar": {
15291
- "version": "2.2.2",
15292
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
15293
- "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
15294
- "dev": true,
15295
- "requires": {
15296
- "block-stream": "*",
15297
- "fstream": "^1.0.12",
15298
- "inherits": "2"
15299
- }
15300
- },
15301
- "tar-fs": {
15302
- "version": "2.1.1",
15303
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
15304
- "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
15305
- "dev": true,
15306
- "requires": {
15307
- "chownr": "^1.1.1",
15308
- "mkdirp-classic": "^0.5.2",
15309
- "pump": "^3.0.0",
15310
- "tar-stream": "^2.1.4"
15311
- }
15312
- },
15313
- "tar-stream": {
15314
- "version": "2.1.4",
15315
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.4.tgz",
15316
- "integrity": "sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==",
15317
- "dev": true,
15318
- "requires": {
15319
- "bl": "^4.0.3",
15320
- "end-of-stream": "^1.4.1",
15321
- "fs-constants": "^1.0.0",
15322
- "inherits": "^2.0.3",
15323
- "readable-stream": "^3.1.1"
15324
- },
15325
- "dependencies": {
15326
- "readable-stream": {
15327
- "version": "3.6.0",
15328
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
15329
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
15330
- "dev": true,
15331
- "requires": {
15332
- "inherits": "^2.0.3",
15333
- "string_decoder": "^1.1.1",
15334
- "util-deprecate": "^1.0.1"
15335
- }
15336
- }
15337
- }
15338
- },
15339
- "terminal-link": {
15340
- "version": "2.1.1",
15341
- "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
15342
- "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
15343
- "dev": true,
15344
- "requires": {
15345
- "ansi-escapes": "^4.2.1",
15346
- "supports-hyperlinks": "^2.0.0"
15347
- }
15348
- },
15349
- "terser": {
15350
- "version": "4.8.0",
15351
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
15352
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
15353
- "dev": true,
15354
- "requires": {
15355
- "commander": "^2.20.0",
15356
- "source-map": "~0.6.1",
15357
- "source-map-support": "~0.5.12"
15358
- },
15359
- "dependencies": {
15360
- "source-map": {
15361
- "version": "0.6.1",
15362
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
15363
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
15364
- "dev": true
15365
- }
15366
- }
15367
- },
15368
- "terser-webpack-plugin": {
15369
- "version": "3.1.0",
15370
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.1.0.tgz",
15371
- "integrity": "sha512-cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA==",
15372
- "dev": true,
15373
- "requires": {
15374
- "cacache": "^15.0.5",
15375
- "find-cache-dir": "^3.3.1",
15376
- "jest-worker": "^26.2.1",
15377
- "p-limit": "^3.0.2",
15378
- "schema-utils": "^2.6.6",
15379
- "serialize-javascript": "^4.0.0",
15380
- "source-map": "^0.6.1",
15381
- "terser": "^4.8.0",
15382
- "webpack-sources": "^1.4.3"
15383
- },
15384
- "dependencies": {
15385
- "cacache": {
15386
- "version": "15.0.5",
15387
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz",
15388
- "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==",
15389
- "dev": true,
15390
- "requires": {
15391
- "@npmcli/move-file": "^1.0.1",
15392
- "chownr": "^2.0.0",
15393
- "fs-minipass": "^2.0.0",
15394
- "glob": "^7.1.4",
15395
- "infer-owner": "^1.0.4",
15396
- "lru-cache": "^6.0.0",
15397
- "minipass": "^3.1.1",
15398
- "minipass-collect": "^1.0.2",
15399
- "minipass-flush": "^1.0.5",
15400
- "minipass-pipeline": "^1.2.2",
15401
- "mkdirp": "^1.0.3",
15402
- "p-map": "^4.0.0",
15403
- "promise-inflight": "^1.0.1",
15404
- "rimraf": "^3.0.2",
15405
- "ssri": "^8.0.0",
15406
- "tar": "^6.0.2",
15407
- "unique-filename": "^1.1.1"
15408
- }
15409
- },
15410
- "chownr": {
15411
- "version": "2.0.0",
15412
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
15413
- "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
15414
- "dev": true
15415
- },
15416
- "find-cache-dir": {
15417
- "version": "3.3.1",
15418
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
15419
- "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
15420
- "dev": true,
15421
- "requires": {
15422
- "commondir": "^1.0.1",
15423
- "make-dir": "^3.0.2",
15424
- "pkg-dir": "^4.1.0"
15425
- }
15426
- },
15427
- "find-up": {
15428
- "version": "4.1.0",
15429
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
15430
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
15431
- "dev": true,
15432
- "requires": {
15433
- "locate-path": "^5.0.0",
15434
- "path-exists": "^4.0.0"
15435
- }
15436
- },
15437
- "has-flag": {
15438
- "version": "4.0.0",
15439
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
15440
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
15441
- "dev": true
15442
- },
15443
- "jest-worker": {
15444
- "version": "26.5.0",
15445
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.5.0.tgz",
15446
- "integrity": "sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==",
15447
- "dev": true,
15448
- "requires": {
15449
- "@types/node": "*",
15450
- "merge-stream": "^2.0.0",
15451
- "supports-color": "^7.0.0"
15452
- }
15453
- },
15454
- "locate-path": {
15455
- "version": "5.0.0",
15456
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
15457
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
15458
- "dev": true,
15459
- "requires": {
15460
- "p-locate": "^4.1.0"
15461
- }
15462
- },
15463
- "lru-cache": {
15464
- "version": "6.0.0",
15465
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
15466
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
15467
- "dev": true,
15468
- "requires": {
15469
- "yallist": "^4.0.0"
15470
- }
15471
- },
15472
- "make-dir": {
15473
- "version": "3.1.0",
15474
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
15475
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
15476
- "dev": true,
15477
- "requires": {
15478
- "semver": "^6.0.0"
15479
- }
15480
- },
15481
- "mkdirp": {
15482
- "version": "1.0.4",
15483
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
15484
- "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
15485
- "dev": true
15486
- },
15487
- "p-limit": {
15488
- "version": "3.0.2",
15489
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz",
15490
- "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==",
15491
- "dev": true,
15492
- "requires": {
15493
- "p-try": "^2.0.0"
15494
- }
15495
- },
15496
- "p-locate": {
15497
- "version": "4.1.0",
15498
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
15499
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
15500
- "dev": true,
15501
- "requires": {
15502
- "p-limit": "^2.2.0"
15503
- },
15504
- "dependencies": {
15505
- "p-limit": {
15506
- "version": "2.3.0",
15507
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
15508
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
15509
- "dev": true,
15510
- "requires": {
15511
- "p-try": "^2.0.0"
15512
- }
15513
- }
15514
- }
15515
- },
15516
- "p-map": {
15517
- "version": "4.0.0",
15518
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
15519
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
15520
- "dev": true,
15521
- "requires": {
15522
- "aggregate-error": "^3.0.0"
15523
- }
15524
- },
15525
- "path-exists": {
15526
- "version": "4.0.0",
15527
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
15528
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
15529
- "dev": true
15530
- },
15531
- "pkg-dir": {
15532
- "version": "4.2.0",
15533
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
15534
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
15535
- "dev": true,
15536
- "requires": {
15537
- "find-up": "^4.0.0"
15538
- }
15539
- },
15540
- "rimraf": {
15541
- "version": "3.0.2",
15542
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
15543
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
15544
- "dev": true,
15545
- "requires": {
15546
- "glob": "^7.1.3"
15547
- }
15548
- },
15549
- "schema-utils": {
15550
- "version": "2.7.1",
15551
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
15552
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
15553
- "dev": true,
15554
- "requires": {
15555
- "@types/json-schema": "^7.0.5",
15556
- "ajv": "^6.12.4",
15557
- "ajv-keywords": "^3.5.2"
15558
- }
15559
- },
15560
- "semver": {
15561
- "version": "6.3.0",
15562
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
15563
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
15564
- "dev": true
15565
- },
15566
- "source-map": {
15567
- "version": "0.6.1",
15568
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
15569
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
15570
- "dev": true
15571
- },
15572
- "ssri": {
15573
- "version": "8.0.0",
15574
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz",
15575
- "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==",
15576
- "dev": true,
15577
- "requires": {
15578
- "minipass": "^3.1.1"
15579
- }
15580
- },
15581
- "supports-color": {
15582
- "version": "7.2.0",
15583
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
15584
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
15585
- "dev": true,
15586
- "requires": {
15587
- "has-flag": "^4.0.0"
15588
- }
15589
- },
15590
- "tar": {
15591
- "version": "6.0.5",
15592
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz",
15593
- "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==",
15594
- "dev": true,
15595
- "requires": {
15596
- "chownr": "^2.0.0",
15597
- "fs-minipass": "^2.0.0",
15598
- "minipass": "^3.0.0",
15599
- "minizlib": "^2.1.1",
15600
- "mkdirp": "^1.0.3",
15601
- "yallist": "^4.0.0"
15602
- }
15603
- },
15604
- "yallist": {
15605
- "version": "4.0.0",
15606
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
15607
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
15608
- "dev": true
15609
- }
15610
- }
15611
- },
15612
- "test-exclude": {
15613
- "version": "6.0.0",
15614
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
15615
- "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
15616
- "dev": true,
15617
- "requires": {
15618
- "@istanbuljs/schema": "^0.1.2",
15619
- "glob": "^7.1.4",
15620
- "minimatch": "^3.0.4"
15621
- }
15622
- },
15623
- "text-table": {
15624
- "version": "0.2.0",
15625
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
15626
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
15627
- "dev": true
15628
- },
15629
- "thread-loader": {
15630
- "version": "2.1.3",
15631
- "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz",
15632
- "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==",
15633
- "dev": true,
15634
- "requires": {
15635
- "loader-runner": "^2.3.1",
15636
- "loader-utils": "^1.1.0",
15637
- "neo-async": "^2.6.0"
15638
- },
15639
- "dependencies": {
15640
- "json5": {
15641
- "version": "1.0.1",
15642
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
15643
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
15644
- "dev": true,
15645
- "requires": {
15646
- "minimist": "^1.2.0"
15647
- }
15648
- },
15649
- "loader-utils": {
15650
- "version": "1.4.0",
15651
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
15652
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
15653
- "dev": true,
15654
- "requires": {
15655
- "big.js": "^5.2.2",
15656
- "emojis-list": "^3.0.0",
15657
- "json5": "^1.0.1"
15658
- }
15659
- }
15660
- }
15661
- },
15662
- "throat": {
15663
- "version": "5.0.0",
15664
- "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
15665
- "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==",
15666
- "dev": true
15667
- },
15668
- "through": {
15669
- "version": "2.3.8",
15670
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
15671
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
15672
- "dev": true
15673
- },
15674
- "through2": {
15675
- "version": "2.0.5",
15676
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
15677
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
15678
- "dev": true,
15679
- "requires": {
15680
- "readable-stream": "~2.3.6",
15681
- "xtend": "~4.0.1"
15682
- }
15683
- },
15684
- "timers-browserify": {
15685
- "version": "2.0.11",
15686
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
15687
- "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
15688
- "dev": true,
15689
- "requires": {
15690
- "setimmediate": "^1.0.4"
15691
- }
15692
- },
15693
- "tiny-lr": {
15694
- "version": "1.1.1",
15695
- "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
15696
- "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
15697
- "dev": true,
15698
- "requires": {
15699
- "body": "^5.1.0",
15700
- "debug": "^3.1.0",
15701
- "faye-websocket": "~0.10.0",
15702
- "livereload-js": "^2.3.0",
15703
- "object-assign": "^4.1.0",
15704
- "qs": "^6.4.0"
15705
- },
15706
- "dependencies": {
15707
- "debug": {
15708
- "version": "3.2.6",
15709
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
15710
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
15711
- "dev": true,
15712
- "requires": {
15713
- "ms": "^2.1.1"
15714
- }
15715
- }
15716
- }
15717
- },
15718
- "tmpl": {
15719
- "version": "1.0.4",
15720
- "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
15721
- "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
15722
- "dev": true
15723
- },
15724
- "to-arraybuffer": {
15725
- "version": "1.0.1",
15726
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
15727
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
15728
- "dev": true
15729
- },
15730
- "to-fast-properties": {
15731
- "version": "2.0.0",
15732
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
15733
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
15734
- "dev": true
15735
- },
15736
- "to-object-path": {
15737
- "version": "0.3.0",
15738
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
15739
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
15740
- "dev": true,
15741
- "requires": {
15742
- "kind-of": "^3.0.2"
15743
- }
15744
- },
15745
- "to-regex": {
15746
- "version": "3.0.2",
15747
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
15748
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
15749
- "dev": true,
15750
- "requires": {
15751
- "define-property": "^2.0.2",
15752
- "extend-shallow": "^3.0.2",
15753
- "regex-not": "^1.0.2",
15754
- "safe-regex": "^1.1.0"
15755
- }
15756
- },
15757
- "to-regex-range": {
15758
- "version": "2.1.1",
15759
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
15760
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
15761
- "dev": true,
15762
- "requires": {
15763
- "is-number": "^3.0.0",
15764
- "repeat-string": "^1.6.1"
15765
- }
15766
- },
15767
- "toidentifier": {
15768
- "version": "1.0.0",
15769
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
15770
- "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
15771
- "dev": true
15772
- },
15773
- "tough-cookie": {
15774
- "version": "3.0.1",
15775
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz",
15776
- "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==",
15777
- "dev": true,
15778
- "requires": {
15779
- "ip-regex": "^2.1.0",
15780
- "psl": "^1.1.28",
15781
- "punycode": "^2.1.1"
15782
- }
15783
- },
15784
- "tr46": {
15785
- "version": "1.0.1",
15786
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
15787
- "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
15788
- "dev": true,
15789
- "requires": {
15790
- "punycode": "^2.1.0"
15791
- }
15792
- },
15793
- "tree-kill": {
15794
- "version": "1.2.2",
15795
- "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
15796
- "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
15797
- "dev": true
15798
- },
15799
- "trim": {
15800
- "version": "0.0.1",
15801
- "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
15802
- "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
15803
- "dev": true
15804
- },
15805
- "trim-newlines": {
15806
- "version": "1.0.0",
15807
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
15808
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
15809
- "dev": true
15810
- },
15811
- "trim-trailing-lines": {
15812
- "version": "1.1.3",
15813
- "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz",
15814
- "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==",
15815
- "dev": true
15816
- },
15817
- "trough": {
15818
- "version": "1.0.5",
15819
- "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
15820
- "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
15821
- "dev": true
15822
- },
15823
- "true-case-path": {
15824
- "version": "1.0.3",
15825
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
15826
- "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
15827
- "dev": true,
15828
- "requires": {
15829
- "glob": "^7.1.2"
15830
- }
15831
- },
15832
- "tryer": {
15833
- "version": "1.0.1",
15834
- "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
15835
- "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==",
15836
- "dev": true
15837
- },
15838
- "tslib": {
15839
- "version": "1.14.1",
15840
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
15841
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
15842
- "dev": true
15843
- },
15844
- "tsutils": {
15845
- "version": "3.17.1",
15846
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz",
15847
- "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==",
15848
- "dev": true,
15849
- "requires": {
15850
- "tslib": "^1.8.1"
15851
- }
15852
- },
15853
- "tty-browserify": {
15854
- "version": "0.0.0",
15855
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
15856
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
15857
- "dev": true
15858
- },
15859
- "tunnel-agent": {
15860
- "version": "0.6.0",
15861
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
15862
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
15863
- "dev": true,
15864
- "requires": {
15865
- "safe-buffer": "^5.0.1"
15866
- }
15867
- },
15868
- "tweetnacl": {
15869
- "version": "0.14.5",
15870
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
15871
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
15872
- "dev": true
15873
- },
15874
- "type-check": {
15875
- "version": "0.4.0",
15876
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
15877
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
15878
- "dev": true,
15879
- "requires": {
15880
- "prelude-ls": "^1.2.1"
15881
- }
15882
- },
15883
- "type-detect": {
15884
- "version": "4.0.8",
15885
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
15886
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
15887
- "dev": true
15888
- },
15889
- "type-fest": {
15890
- "version": "0.8.1",
15891
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
15892
- "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
15893
- "dev": true
15894
- },
15895
- "type-is": {
15896
- "version": "1.6.18",
15897
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
15898
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
15899
- "dev": true,
15900
- "requires": {
15901
- "media-typer": "0.3.0",
15902
- "mime-types": "~2.1.24"
15903
- }
15904
- },
15905
- "typedarray": {
15906
- "version": "0.0.6",
15907
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
15908
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
15909
- "dev": true
15910
- },
15911
- "typedarray-to-buffer": {
15912
- "version": "3.1.5",
15913
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
15914
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
15915
- "dev": true,
15916
- "requires": {
15917
- "is-typedarray": "^1.0.0"
15918
- }
15919
- },
15920
- "uc.micro": {
15921
- "version": "1.0.6",
15922
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
15923
- "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
15924
- "dev": true
15925
- },
15926
- "unbzip2-stream": {
15927
- "version": "1.4.3",
15928
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
15929
- "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
15930
- "dev": true,
15931
- "requires": {
15932
- "buffer": "^5.2.1",
15933
- "through": "^2.3.8"
15934
- },
15935
- "dependencies": {
15936
- "buffer": {
15937
- "version": "5.7.1",
15938
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
15939
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
15940
- "dev": true,
15941
- "requires": {
15942
- "base64-js": "^1.3.1",
15943
- "ieee754": "^1.1.13"
15944
- }
15945
- }
15946
- }
15947
- },
15948
- "unherit": {
15949
- "version": "1.1.3",
15950
- "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
15951
- "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
15952
- "dev": true,
15953
- "requires": {
15954
- "inherits": "^2.0.0",
15955
- "xtend": "^4.0.0"
15956
- }
15957
- },
15958
- "unicode-canonical-property-names-ecmascript": {
15959
- "version": "1.0.4",
15960
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
15961
- "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
15962
- "dev": true
15963
- },
15964
- "unicode-match-property-ecmascript": {
15965
- "version": "1.0.4",
15966
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
15967
- "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
15968
- "dev": true,
15969
- "requires": {
15970
- "unicode-canonical-property-names-ecmascript": "^1.0.4",
15971
- "unicode-property-aliases-ecmascript": "^1.0.4"
15972
- }
15973
- },
15974
- "unicode-match-property-value-ecmascript": {
15975
- "version": "1.2.0",
15976
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
15977
- "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
15978
- "dev": true
15979
- },
15980
- "unicode-property-aliases-ecmascript": {
15981
- "version": "1.1.0",
15982
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
15983
- "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
15984
- "dev": true
15985
- },
15986
- "unified": {
15987
- "version": "6.2.0",
15988
- "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz",
15989
- "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==",
15990
- "dev": true,
15991
- "requires": {
15992
- "bail": "^1.0.0",
15993
- "extend": "^3.0.0",
15994
- "is-plain-obj": "^1.1.0",
15995
- "trough": "^1.0.0",
15996
- "vfile": "^2.0.0",
15997
- "x-is-string": "^0.1.0"
15998
- }
15999
- },
16000
- "union-value": {
16001
- "version": "1.0.1",
16002
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
16003
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
16004
- "dev": true,
16005
- "requires": {
16006
- "arr-union": "^3.1.0",
16007
- "get-value": "^2.0.6",
16008
- "is-extendable": "^0.1.1",
16009
- "set-value": "^2.0.1"
16010
- }
16011
- },
16012
- "uniq": {
16013
- "version": "1.0.1",
16014
- "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
16015
- "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
16016
- "dev": true
16017
- },
16018
- "unique-filename": {
16019
- "version": "1.1.1",
16020
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
16021
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
16022
- "dev": true,
16023
- "requires": {
16024
- "unique-slug": "^2.0.0"
16025
- }
16026
- },
16027
- "unique-slug": {
16028
- "version": "2.0.2",
16029
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
16030
- "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
16031
- "dev": true,
16032
- "requires": {
16033
- "imurmurhash": "^0.1.4"
16034
- }
16035
- },
16036
- "unist-util-find-all-after": {
16037
- "version": "3.0.1",
16038
- "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz",
16039
- "integrity": "sha512-0GICgc++sRJesLwEYDjFVJPJttBpVQaTNgc6Jw0Jhzvfs+jtKePEMu+uD+PqkRUrAvGQqwhpDwLGWo1PK8PDEw==",
16040
- "dev": true,
16041
- "requires": {
16042
- "unist-util-is": "^4.0.0"
16043
- },
16044
- "dependencies": {
16045
- "unist-util-is": {
16046
- "version": "4.0.2",
16047
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
16048
- "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
16049
- "dev": true
16050
- }
16051
- }
16052
- },
16053
- "unist-util-is": {
16054
- "version": "3.0.0",
16055
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
16056
- "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
16057
- "dev": true
16058
- },
16059
- "unist-util-remove-position": {
16060
- "version": "1.1.4",
16061
- "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz",
16062
- "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==",
16063
- "dev": true,
16064
- "requires": {
16065
- "unist-util-visit": "^1.1.0"
16066
- }
16067
- },
16068
- "unist-util-stringify-position": {
16069
- "version": "1.1.2",
16070
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
16071
- "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==",
16072
- "dev": true
16073
- },
16074
- "unist-util-visit": {
16075
- "version": "1.4.1",
16076
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
16077
- "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
16078
- "dev": true,
16079
- "requires": {
16080
- "unist-util-visit-parents": "^2.0.0"
16081
- }
16082
- },
16083
- "unist-util-visit-parents": {
16084
- "version": "2.1.2",
16085
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
16086
- "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
16087
- "dev": true,
16088
- "requires": {
16089
- "unist-util-is": "^3.0.0"
16090
- }
16091
- },
16092
- "unpipe": {
16093
- "version": "1.0.0",
16094
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
16095
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
16096
- "dev": true
16097
- },
16098
- "unquote": {
16099
- "version": "1.1.1",
16100
- "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
16101
- "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
16102
- "dev": true
16103
- },
16104
- "unset-value": {
16105
- "version": "1.0.0",
16106
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
16107
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
16108
- "dev": true,
16109
- "requires": {
16110
- "has-value": "^0.3.1",
16111
- "isobject": "^3.0.0"
16112
- },
16113
- "dependencies": {
16114
- "has-value": {
16115
- "version": "0.3.1",
16116
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
16117
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
16118
- "dev": true,
16119
- "requires": {
16120
- "get-value": "^2.0.3",
16121
- "has-values": "^0.1.4",
16122
- "isobject": "^2.0.0"
16123
- },
16124
- "dependencies": {
16125
- "isobject": {
16126
- "version": "2.1.0",
16127
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
16128
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
16129
- "dev": true,
16130
- "requires": {
16131
- "isarray": "1.0.0"
16132
- }
16133
- }
16134
- }
16135
- },
16136
- "has-values": {
16137
- "version": "0.1.4",
16138
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
16139
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
16140
- "dev": true
16141
- }
16142
- }
16143
- },
16144
- "upath": {
16145
- "version": "1.2.0",
16146
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
16147
- "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
16148
- "dev": true,
16149
- "optional": true
16150
- },
16151
- "uri-js": {
16152
- "version": "4.4.0",
16153
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
16154
- "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
16155
- "dev": true,
16156
- "requires": {
16157
- "punycode": "^2.1.0"
16158
- }
16159
- },
16160
- "urix": {
16161
- "version": "0.1.0",
16162
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
16163
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
16164
- "dev": true
16165
- },
16166
- "url": {
16167
- "version": "0.11.0",
16168
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
16169
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
16170
- "dev": true,
16171
- "requires": {
16172
- "punycode": "1.3.2",
16173
- "querystring": "0.2.0"
16174
- },
16175
- "dependencies": {
16176
- "punycode": {
16177
- "version": "1.3.2",
16178
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
16179
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
16180
- "dev": true
16181
- }
16182
- }
16183
- },
16184
- "url-loader": {
16185
- "version": "3.0.0",
16186
- "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-3.0.0.tgz",
16187
- "integrity": "sha512-a84JJbIA5xTFTWyjjcPdnsu+41o/SNE8SpXMdUvXs6Q+LuhCD9E2+0VCiuDWqgo3GGXVlFHzArDmBpj9PgWn4A==",
16188
- "dev": true,
16189
- "requires": {
16190
- "loader-utils": "^1.2.3",
16191
- "mime": "^2.4.4",
16192
- "schema-utils": "^2.5.0"
16193
- },
16194
- "dependencies": {
16195
- "json5": {
16196
- "version": "1.0.1",
16197
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
16198
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
16199
- "dev": true,
16200
- "requires": {
16201
- "minimist": "^1.2.0"
16202
- }
16203
- },
16204
- "loader-utils": {
16205
- "version": "1.4.0",
16206
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
16207
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
16208
- "dev": true,
16209
- "requires": {
16210
- "big.js": "^5.2.2",
16211
- "emojis-list": "^3.0.0",
16212
- "json5": "^1.0.1"
16213
- }
16214
- },
16215
- "schema-utils": {
16216
- "version": "2.7.1",
16217
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
16218
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
16219
- "dev": true,
16220
- "requires": {
16221
- "@types/json-schema": "^7.0.5",
16222
- "ajv": "^6.12.4",
16223
- "ajv-keywords": "^3.5.2"
16224
- }
16225
- }
16226
- }
16227
- },
16228
- "use": {
16229
- "version": "3.1.1",
16230
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
16231
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
16232
- "dev": true
16233
- },
16234
- "util": {
16235
- "version": "0.11.1",
16236
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
16237
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
16238
- "dev": true,
16239
- "requires": {
16240
- "inherits": "2.0.3"
16241
- },
16242
- "dependencies": {
16243
- "inherits": {
16244
- "version": "2.0.3",
16245
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
16246
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
16247
- "dev": true
16248
- }
16249
- }
16250
- },
16251
- "util-deprecate": {
16252
- "version": "1.0.2",
16253
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
16254
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
16255
- "dev": true
16256
- },
16257
- "util.promisify": {
16258
- "version": "1.0.1",
16259
- "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
16260
- "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
16261
- "dev": true,
16262
- "requires": {
16263
- "define-properties": "^1.1.3",
16264
- "es-abstract": "^1.17.2",
16265
- "has-symbols": "^1.0.1",
16266
- "object.getownpropertydescriptors": "^2.1.0"
16267
- },
16268
- "dependencies": {
16269
- "es-abstract": {
16270
- "version": "1.17.7",
16271
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz",
16272
- "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==",
16273
- "dev": true,
16274
- "requires": {
16275
- "es-to-primitive": "^1.2.1",
16276
- "function-bind": "^1.1.1",
16277
- "has": "^1.0.3",
16278
- "has-symbols": "^1.0.1",
16279
- "is-callable": "^1.2.2",
16280
- "is-regex": "^1.1.1",
16281
- "object-inspect": "^1.8.0",
16282
- "object-keys": "^1.1.1",
16283
- "object.assign": "^4.1.1",
16284
- "string.prototype.trimend": "^1.0.1",
16285
- "string.prototype.trimstart": "^1.0.1"
16286
- }
16287
- }
16288
- }
16289
- },
16290
- "utils-merge": {
16291
- "version": "1.0.1",
16292
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
16293
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
16294
- "dev": true
16295
- },
16296
- "uuid": {
16297
- "version": "3.4.0",
16298
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
16299
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
16300
- "dev": true
16301
- },
16302
- "v8-compile-cache": {
16303
- "version": "2.1.1",
16304
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
16305
- "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
16306
- "dev": true
16307
- },
16308
- "v8-to-istanbul": {
16309
- "version": "4.1.4",
16310
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz",
16311
- "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==",
16312
- "dev": true,
16313
- "requires": {
16314
- "@types/istanbul-lib-coverage": "^2.0.1",
16315
- "convert-source-map": "^1.6.0",
16316
- "source-map": "^0.7.3"
16317
- },
16318
- "dependencies": {
16319
- "source-map": {
16320
- "version": "0.7.3",
16321
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
16322
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
16323
- "dev": true
16324
- }
16325
- }
16326
- },
16327
- "validate-npm-package-license": {
16328
- "version": "3.0.4",
16329
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
16330
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
16331
- "dev": true,
16332
- "requires": {
16333
- "spdx-correct": "^3.0.0",
16334
- "spdx-expression-parse": "^3.0.0"
16335
- }
16336
- },
16337
- "vary": {
16338
- "version": "1.1.2",
16339
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
16340
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
16341
- "dev": true
16342
- },
16343
- "verror": {
16344
- "version": "1.10.0",
16345
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
16346
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
16347
- "dev": true,
16348
- "requires": {
16349
- "assert-plus": "^1.0.0",
16350
- "core-util-is": "1.0.2",
16351
- "extsprintf": "^1.2.0"
16352
- }
16353
- },
16354
- "vfile": {
16355
- "version": "2.3.0",
16356
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
16357
- "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
16358
- "dev": true,
16359
- "requires": {
16360
- "is-buffer": "^1.1.4",
16361
- "replace-ext": "1.0.0",
16362
- "unist-util-stringify-position": "^1.0.0",
16363
- "vfile-message": "^1.0.0"
16364
- }
16365
- },
16366
- "vfile-location": {
16367
- "version": "2.0.6",
16368
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz",
16369
- "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==",
16370
- "dev": true
16371
- },
16372
- "vfile-message": {
16373
- "version": "1.1.1",
16374
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
16375
- "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
16376
- "dev": true,
16377
- "requires": {
16378
- "unist-util-stringify-position": "^1.1.1"
16379
- }
16380
- },
16381
- "vm-browserify": {
16382
- "version": "1.1.2",
16383
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
16384
- "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
16385
- "dev": true
16386
- },
16387
- "w3c-hr-time": {
16388
- "version": "1.0.2",
16389
- "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
16390
- "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
16391
- "dev": true,
16392
- "requires": {
16393
- "browser-process-hrtime": "^1.0.0"
16394
- }
16395
- },
16396
- "w3c-xmlserializer": {
16397
- "version": "1.1.2",
16398
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
16399
- "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
16400
- "dev": true,
16401
- "requires": {
16402
- "domexception": "^1.0.1",
16403
- "webidl-conversions": "^4.0.2",
16404
- "xml-name-validator": "^3.0.0"
16405
- }
16406
- },
16407
- "wait-on": {
16408
- "version": "3.3.0",
16409
- "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.3.0.tgz",
16410
- "integrity": "sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ==",
16411
- "dev": true,
16412
- "requires": {
16413
- "@hapi/joi": "^15.0.3",
16414
- "core-js": "^2.6.5",
16415
- "minimist": "^1.2.0",
16416
- "request": "^2.88.0",
16417
- "rx": "^4.1.0"
16418
- },
16419
- "dependencies": {
16420
- "core-js": {
16421
- "version": "2.6.11",
16422
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
16423
- "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
16424
- "dev": true
16425
- }
16426
- }
16427
- },
16428
- "wait-port": {
16429
- "version": "0.2.9",
16430
- "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.9.tgz",
16431
- "integrity": "sha512-hQ/cVKsNqGZ/UbZB/oakOGFqic00YAMM5/PEj3Bt4vKarv2jWIWzDbqlwT94qMs/exAQAsvMOq99sZblV92zxQ==",
16432
- "dev": true,
16433
- "requires": {
16434
- "chalk": "^2.4.2",
16435
- "commander": "^3.0.2",
16436
- "debug": "^4.1.1"
16437
- },
16438
- "dependencies": {
16439
- "chalk": {
16440
- "version": "2.4.2",
16441
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
16442
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
16443
- "dev": true,
16444
- "requires": {
16445
- "ansi-styles": "^3.2.1",
16446
- "escape-string-regexp": "^1.0.5",
16447
- "supports-color": "^5.3.0"
16448
- }
16449
- },
16450
- "commander": {
16451
- "version": "3.0.2",
16452
- "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz",
16453
- "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==",
16454
- "dev": true
16455
- }
16456
- }
16457
- },
16458
- "walker": {
16459
- "version": "1.0.7",
16460
- "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
16461
- "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
16462
- "dev": true,
16463
- "requires": {
16464
- "makeerror": "1.0.x"
16465
- }
16466
- },
16467
- "watchpack": {
16468
- "version": "1.7.4",
16469
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz",
16470
- "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==",
16471
- "dev": true,
16472
- "requires": {
16473
- "chokidar": "^3.4.1",
16474
- "graceful-fs": "^4.1.2",
16475
- "neo-async": "^2.5.0",
16476
- "watchpack-chokidar2": "^2.0.0"
16477
- }
16478
- },
16479
- "watchpack-chokidar2": {
16480
- "version": "2.0.0",
16481
- "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz",
16482
- "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==",
16483
- "dev": true,
16484
- "optional": true,
16485
- "requires": {
16486
- "chokidar": "^2.1.8"
16487
- },
16488
- "dependencies": {
16489
- "anymatch": {
16490
- "version": "2.0.0",
16491
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
16492
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
16493
- "dev": true,
16494
- "optional": true,
16495
- "requires": {
16496
- "micromatch": "^3.1.4",
16497
- "normalize-path": "^2.1.1"
16498
- },
16499
- "dependencies": {
16500
- "normalize-path": {
16501
- "version": "2.1.1",
16502
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
16503
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
16504
- "dev": true,
16505
- "optional": true,
16506
- "requires": {
16507
- "remove-trailing-separator": "^1.0.1"
16508
- }
16509
- }
16510
- }
16511
- },
16512
- "binary-extensions": {
16513
- "version": "1.13.1",
16514
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
16515
- "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
16516
- "dev": true,
16517
- "optional": true
16518
- },
16519
- "chokidar": {
16520
- "version": "2.1.8",
16521
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
16522
- "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
16523
- "dev": true,
16524
- "optional": true,
16525
- "requires": {
16526
- "anymatch": "^2.0.0",
16527
- "async-each": "^1.0.1",
16528
- "braces": "^2.3.2",
16529
- "fsevents": "^1.2.7",
16530
- "glob-parent": "^3.1.0",
16531
- "inherits": "^2.0.3",
16532
- "is-binary-path": "^1.0.0",
16533
- "is-glob": "^4.0.0",
16534
- "normalize-path": "^3.0.0",
16535
- "path-is-absolute": "^1.0.0",
16536
- "readdirp": "^2.2.1",
16537
- "upath": "^1.1.1"
16538
- }
16539
- },
16540
- "fsevents": {
16541
- "version": "1.2.13",
16542
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
16543
- "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
16544
- "dev": true,
16545
- "optional": true,
16546
- "requires": {
16547
- "nan": "^2.12.1"
16548
- }
16549
- },
16550
- "glob-parent": {
16551
- "version": "3.1.0",
16552
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
16553
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
16554
- "dev": true,
16555
- "optional": true,
16556
- "requires": {
16557
- "is-glob": "^3.1.0",
16558
- "path-dirname": "^1.0.0"
16559
- },
16560
- "dependencies": {
16561
- "is-glob": {
16562
- "version": "3.1.0",
16563
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
16564
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
16565
- "dev": true,
16566
- "optional": true,
16567
- "requires": {
16568
- "is-extglob": "^2.1.0"
16569
- }
16570
- }
16571
- }
16572
- },
16573
- "is-binary-path": {
16574
- "version": "1.0.1",
16575
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
16576
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
16577
- "dev": true,
16578
- "optional": true,
16579
- "requires": {
16580
- "binary-extensions": "^1.0.0"
16581
- }
16582
- },
16583
- "readdirp": {
16584
- "version": "2.2.1",
16585
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
16586
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
16587
- "dev": true,
16588
- "optional": true,
16589
- "requires": {
16590
- "graceful-fs": "^4.1.11",
16591
- "micromatch": "^3.1.10",
16592
- "readable-stream": "^2.0.2"
16593
- }
16594
- }
16595
- }
16596
- },
16597
- "webidl-conversions": {
16598
- "version": "4.0.2",
16599
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
16600
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
16601
- "dev": true
16602
- },
16603
- "webpack": {
16604
- "version": "4.44.2",
16605
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz",
16606
- "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==",
16607
- "dev": true,
16608
- "requires": {
16609
- "@webassemblyjs/ast": "1.9.0",
16610
- "@webassemblyjs/helper-module-context": "1.9.0",
16611
- "@webassemblyjs/wasm-edit": "1.9.0",
16612
- "@webassemblyjs/wasm-parser": "1.9.0",
16613
- "acorn": "^6.4.1",
16614
- "ajv": "^6.10.2",
16615
- "ajv-keywords": "^3.4.1",
16616
- "chrome-trace-event": "^1.0.2",
16617
- "enhanced-resolve": "^4.3.0",
16618
- "eslint-scope": "^4.0.3",
16619
- "json-parse-better-errors": "^1.0.2",
16620
- "loader-runner": "^2.4.0",
16621
- "loader-utils": "^1.2.3",
16622
- "memory-fs": "^0.4.1",
16623
- "micromatch": "^3.1.10",
16624
- "mkdirp": "^0.5.3",
16625
- "neo-async": "^2.6.1",
16626
- "node-libs-browser": "^2.2.1",
16627
- "schema-utils": "^1.0.0",
16628
- "tapable": "^1.1.3",
16629
- "terser-webpack-plugin": "^1.4.3",
16630
- "watchpack": "^1.7.4",
16631
- "webpack-sources": "^1.4.1"
16632
- },
16633
- "dependencies": {
16634
- "json5": {
16635
- "version": "1.0.1",
16636
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
16637
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
16638
- "dev": true,
16639
- "requires": {
16640
- "minimist": "^1.2.0"
16641
- }
16642
- },
16643
- "loader-utils": {
16644
- "version": "1.4.0",
16645
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
16646
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
16647
- "dev": true,
16648
- "requires": {
16649
- "big.js": "^5.2.2",
16650
- "emojis-list": "^3.0.0",
16651
- "json5": "^1.0.1"
16652
- }
16653
- },
16654
- "source-map": {
16655
- "version": "0.6.1",
16656
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
16657
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
16658
- "dev": true
16659
- },
16660
- "terser-webpack-plugin": {
16661
- "version": "1.4.5",
16662
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
16663
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
16664
- "dev": true,
16665
- "requires": {
16666
- "cacache": "^12.0.2",
16667
- "find-cache-dir": "^2.1.0",
16668
- "is-wsl": "^1.1.0",
16669
- "schema-utils": "^1.0.0",
16670
- "serialize-javascript": "^4.0.0",
16671
- "source-map": "^0.6.1",
16672
- "terser": "^4.1.2",
16673
- "webpack-sources": "^1.4.0",
16674
- "worker-farm": "^1.7.0"
16675
- }
16676
- }
16677
- }
16678
- },
16679
- "webpack-bundle-analyzer": {
16680
- "version": "3.9.0",
16681
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz",
16682
- "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==",
16683
- "dev": true,
16684
- "requires": {
16685
- "acorn": "^7.1.1",
16686
- "acorn-walk": "^7.1.1",
16687
- "bfj": "^6.1.1",
16688
- "chalk": "^2.4.1",
16689
- "commander": "^2.18.0",
16690
- "ejs": "^2.6.1",
16691
- "express": "^4.16.3",
16692
- "filesize": "^3.6.1",
16693
- "gzip-size": "^5.0.0",
16694
- "lodash": "^4.17.19",
16695
- "mkdirp": "^0.5.1",
16696
- "opener": "^1.5.1",
16697
- "ws": "^6.0.0"
16698
- },
16699
- "dependencies": {
16700
- "acorn": {
16701
- "version": "7.4.1",
16702
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
16703
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
16704
- "dev": true
16705
- },
16706
- "acorn-walk": {
16707
- "version": "7.2.0",
16708
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
16709
- "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
16710
- "dev": true
16711
- },
16712
- "chalk": {
16713
- "version": "2.4.2",
16714
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
16715
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
16716
- "dev": true,
16717
- "requires": {
16718
- "ansi-styles": "^3.2.1",
16719
- "escape-string-regexp": "^1.0.5",
16720
- "supports-color": "^5.3.0"
16721
- }
16722
- },
16723
- "ws": {
16724
- "version": "6.2.1",
16725
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
16726
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
16727
- "dev": true,
16728
- "requires": {
16729
- "async-limiter": "~1.0.0"
16730
- }
16731
- }
16732
- }
16733
- },
16734
- "webpack-cli": {
16735
- "version": "3.3.12",
16736
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz",
16737
- "integrity": "sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==",
16738
- "dev": true,
16739
- "requires": {
16740
- "chalk": "^2.4.2",
16741
- "cross-spawn": "^6.0.5",
16742
- "enhanced-resolve": "^4.1.1",
16743
- "findup-sync": "^3.0.0",
16744
- "global-modules": "^2.0.0",
16745
- "import-local": "^2.0.0",
16746
- "interpret": "^1.4.0",
16747
- "loader-utils": "^1.4.0",
16748
- "supports-color": "^6.1.0",
16749
- "v8-compile-cache": "^2.1.1",
16750
- "yargs": "^13.3.2"
16751
- },
16752
- "dependencies": {
16753
- "camelcase": {
16754
- "version": "5.3.1",
16755
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
16756
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
16757
- "dev": true
16758
- },
16759
- "chalk": {
16760
- "version": "2.4.2",
16761
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
16762
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
16763
- "dev": true,
16764
- "requires": {
16765
- "ansi-styles": "^3.2.1",
16766
- "escape-string-regexp": "^1.0.5",
16767
- "supports-color": "^5.3.0"
16768
- },
16769
- "dependencies": {
16770
- "supports-color": {
16771
- "version": "5.5.0",
16772
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
16773
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
16774
- "dev": true,
16775
- "requires": {
16776
- "has-flag": "^3.0.0"
16777
- }
16778
- }
16779
- }
16780
- },
16781
- "cliui": {
16782
- "version": "5.0.0",
16783
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
16784
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
16785
- "dev": true,
16786
- "requires": {
16787
- "string-width": "^3.1.0",
16788
- "strip-ansi": "^5.2.0",
16789
- "wrap-ansi": "^5.1.0"
16790
- }
16791
- },
16792
- "cross-spawn": {
16793
- "version": "6.0.5",
16794
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
16795
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
16796
- "dev": true,
16797
- "requires": {
16798
- "nice-try": "^1.0.4",
16799
- "path-key": "^2.0.1",
16800
- "semver": "^5.5.0",
16801
- "shebang-command": "^1.2.0",
16802
- "which": "^1.2.9"
16803
- }
16804
- },
16805
- "global-modules": {
16806
- "version": "2.0.0",
16807
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
16808
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
16809
- "dev": true,
16810
- "requires": {
16811
- "global-prefix": "^3.0.0"
16812
- }
16813
- },
16814
- "global-prefix": {
16815
- "version": "3.0.0",
16816
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
16817
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
16818
- "dev": true,
16819
- "requires": {
16820
- "ini": "^1.3.5",
16821
- "kind-of": "^6.0.2",
16822
- "which": "^1.3.1"
16823
- }
16824
- },
16825
- "import-local": {
16826
- "version": "2.0.0",
16827
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
16828
- "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
16829
- "dev": true,
16830
- "requires": {
16831
- "pkg-dir": "^3.0.0",
16832
- "resolve-cwd": "^2.0.0"
16833
- }
16834
- },
16835
- "json5": {
16836
- "version": "1.0.1",
16837
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
16838
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
16839
- "dev": true,
16840
- "requires": {
16841
- "minimist": "^1.2.0"
16842
- }
16843
- },
16844
- "kind-of": {
16845
- "version": "6.0.3",
16846
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
16847
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
16848
- "dev": true
16849
- },
16850
- "loader-utils": {
16851
- "version": "1.4.0",
16852
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
16853
- "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
16854
- "dev": true,
16855
- "requires": {
16856
- "big.js": "^5.2.2",
16857
- "emojis-list": "^3.0.0",
16858
- "json5": "^1.0.1"
16859
- }
16860
- },
16861
- "resolve-cwd": {
16862
- "version": "2.0.0",
16863
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
16864
- "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
16865
- "dev": true,
16866
- "requires": {
16867
- "resolve-from": "^3.0.0"
16868
- }
16869
- },
16870
- "resolve-from": {
16871
- "version": "3.0.0",
16872
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
16873
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
16874
- "dev": true
16875
- },
16876
- "supports-color": {
16877
- "version": "6.1.0",
16878
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
16879
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
16880
- "dev": true,
16881
- "requires": {
16882
- "has-flag": "^3.0.0"
16883
- }
16884
- },
16885
- "which": {
16886
- "version": "1.3.1",
16887
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
16888
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
16889
- "dev": true,
16890
- "requires": {
16891
- "isexe": "^2.0.0"
16892
- }
16893
- },
16894
- "wrap-ansi": {
16895
- "version": "5.1.0",
16896
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
16897
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
16898
- "dev": true,
16899
- "requires": {
16900
- "ansi-styles": "^3.2.0",
16901
- "string-width": "^3.0.0",
16902
- "strip-ansi": "^5.0.0"
16903
- }
16904
- },
16905
- "yargs": {
16906
- "version": "13.3.2",
16907
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
16908
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
16909
- "dev": true,
16910
- "requires": {
16911
- "cliui": "^5.0.0",
16912
- "find-up": "^3.0.0",
16913
- "get-caller-file": "^2.0.1",
16914
- "require-directory": "^2.1.1",
16915
- "require-main-filename": "^2.0.0",
16916
- "set-blocking": "^2.0.0",
16917
- "string-width": "^3.0.0",
16918
- "which-module": "^2.0.0",
16919
- "y18n": "^4.0.0",
16920
- "yargs-parser": "^13.1.2"
16921
- }
16922
- },
16923
- "yargs-parser": {
16924
- "version": "13.1.2",
16925
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
16926
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
16927
- "dev": true,
16928
- "requires": {
16929
- "camelcase": "^5.0.0",
16930
- "decamelize": "^1.2.0"
16931
- }
16932
- }
16933
- }
16934
- },
16935
- "webpack-livereload-plugin": {
16936
- "version": "2.3.0",
16937
- "resolved": "https://registry.npmjs.org/webpack-livereload-plugin/-/webpack-livereload-plugin-2.3.0.tgz",
16938
- "integrity": "sha512-vVBLQLlNpElt2sfsBG+XLDeVbQFS4RrniVU8Hi1/hX5ycSfx6mtW8MEEITr2g0Cvo36kuPWShFFDuy+DS7KFMA==",
16939
- "dev": true,
16940
- "requires": {
16941
- "anymatch": "^3.1.1",
16942
- "portfinder": "^1.0.17",
16943
- "tiny-lr": "^1.1.1"
16944
- }
16945
- },
16946
- "webpack-sources": {
16947
- "version": "1.4.3",
16948
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
16949
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
16950
- "dev": true,
16951
- "requires": {
16952
- "source-list-map": "^2.0.0",
16953
- "source-map": "~0.6.1"
16954
- },
16955
- "dependencies": {
16956
- "source-map": {
16957
- "version": "0.6.1",
16958
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
16959
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
16960
- "dev": true
16961
- }
16962
- }
16963
- },
16964
- "websocket-driver": {
16965
- "version": "0.7.4",
16966
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
16967
- "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
16968
- "dev": true,
16969
- "requires": {
16970
- "http-parser-js": ">=0.5.1",
16971
- "safe-buffer": ">=5.1.0",
16972
- "websocket-extensions": ">=0.1.1"
16973
- }
16974
- },
16975
- "websocket-extensions": {
16976
- "version": "0.1.4",
16977
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
16978
- "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
16979
- "dev": true
16980
- },
16981
- "whatwg-encoding": {
16982
- "version": "1.0.5",
16983
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
16984
- "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
16985
- "dev": true,
16986
- "requires": {
16987
- "iconv-lite": "0.4.24"
16988
- }
16989
- },
16990
- "whatwg-mimetype": {
16991
- "version": "2.3.0",
16992
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
16993
- "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
16994
- "dev": true
16995
- },
16996
- "whatwg-url": {
16997
- "version": "7.1.0",
16998
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
16999
- "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
17000
- "dev": true,
17001
- "requires": {
17002
- "lodash.sortby": "^4.7.0",
17003
- "tr46": "^1.0.1",
17004
- "webidl-conversions": "^4.0.2"
17005
- }
17006
- },
17007
- "which": {
17008
- "version": "2.0.2",
17009
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
17010
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
17011
- "dev": true,
17012
- "requires": {
17013
- "isexe": "^2.0.0"
17014
- }
17015
- },
17016
- "which-module": {
17017
- "version": "2.0.0",
17018
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
17019
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
17020
- "dev": true
17021
- },
17022
- "wide-align": {
17023
- "version": "1.1.3",
17024
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
17025
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
17026
- "dev": true,
17027
- "requires": {
17028
- "string-width": "^1.0.2 || 2"
17029
- },
17030
- "dependencies": {
17031
- "ansi-regex": {
17032
- "version": "3.0.0",
17033
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
17034
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
17035
- "dev": true
17036
- },
17037
- "string-width": {
17038
- "version": "2.1.1",
17039
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
17040
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
17041
- "dev": true,
17042
- "requires": {
17043
- "is-fullwidth-code-point": "^2.0.0",
17044
- "strip-ansi": "^4.0.0"
17045
- }
17046
- },
17047
- "strip-ansi": {
17048
- "version": "4.0.0",
17049
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
17050
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
17051
- "dev": true,
17052
- "requires": {
17053
- "ansi-regex": "^3.0.0"
17054
- }
17055
- }
17056
- }
17057
- },
17058
- "word-wrap": {
17059
- "version": "1.2.3",
17060
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
17061
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
17062
- "dev": true
17063
- },
17064
- "worker-farm": {
17065
- "version": "1.7.0",
17066
- "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
17067
- "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
17068
- "dev": true,
17069
- "requires": {
17070
- "errno": "~0.1.7"
17071
- }
17072
- },
17073
- "wrap-ansi": {
17074
- "version": "6.2.0",
17075
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
17076
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
17077
- "dev": true,
17078
- "requires": {
17079
- "ansi-styles": "^4.0.0",
17080
- "string-width": "^4.1.0",
17081
- "strip-ansi": "^6.0.0"
17082
- },
17083
- "dependencies": {
17084
- "ansi-regex": {
17085
- "version": "5.0.0",
17086
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
17087
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
17088
- "dev": true
17089
- },
17090
- "ansi-styles": {
17091
- "version": "4.3.0",
17092
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
17093
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
17094
- "dev": true,
17095
- "requires": {
17096
- "color-convert": "^2.0.1"
17097
- }
17098
- },
17099
- "color-convert": {
17100
- "version": "2.0.1",
17101
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
17102
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
17103
- "dev": true,
17104
- "requires": {
17105
- "color-name": "~1.1.4"
17106
- }
17107
- },
17108
- "color-name": {
17109
- "version": "1.1.4",
17110
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
17111
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
17112
- "dev": true
17113
- },
17114
- "emoji-regex": {
17115
- "version": "8.0.0",
17116
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
17117
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
17118
- "dev": true
17119
- },
17120
- "is-fullwidth-code-point": {
17121
- "version": "3.0.0",
17122
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
17123
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
17124
- "dev": true
17125
- },
17126
- "string-width": {
17127
- "version": "4.2.0",
17128
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
17129
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
17130
- "dev": true,
17131
- "requires": {
17132
- "emoji-regex": "^8.0.0",
17133
- "is-fullwidth-code-point": "^3.0.0",
17134
- "strip-ansi": "^6.0.0"
17135
- }
17136
- },
17137
- "strip-ansi": {
17138
- "version": "6.0.0",
17139
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
17140
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
17141
- "dev": true,
17142
- "requires": {
17143
- "ansi-regex": "^5.0.0"
17144
- }
17145
- }
17146
- }
17147
- },
17148
- "wrappy": {
17149
- "version": "1.0.2",
17150
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
17151
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
17152
- "dev": true
17153
- },
17154
- "write": {
17155
- "version": "1.0.3",
17156
- "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
17157
- "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
17158
- "dev": true,
17159
- "requires": {
17160
- "mkdirp": "^0.5.1"
17161
- }
17162
- },
17163
- "write-file-atomic": {
17164
- "version": "3.0.3",
17165
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
17166
- "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
17167
- "dev": true,
17168
- "requires": {
17169
- "imurmurhash": "^0.1.4",
17170
- "is-typedarray": "^1.0.0",
17171
- "signal-exit": "^3.0.2",
17172
- "typedarray-to-buffer": "^3.1.5"
17173
- }
17174
- },
17175
- "ws": {
17176
- "version": "7.3.1",
17177
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz",
17178
- "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==",
17179
- "dev": true
17180
- },
17181
- "x-is-string": {
17182
- "version": "0.1.0",
17183
- "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
17184
- "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
17185
- "dev": true
17186
- },
17187
- "xml-name-validator": {
17188
- "version": "3.0.0",
17189
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
17190
- "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
17191
- "dev": true
17192
- },
17193
- "xmlchars": {
17194
- "version": "2.2.0",
17195
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
17196
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
17197
- "dev": true
17198
- },
17199
- "xtend": {
17200
- "version": "4.0.2",
17201
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
17202
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
17203
- "dev": true
17204
- },
17205
- "y18n": {
17206
- "version": "4.0.0",
17207
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
17208
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
17209
- "dev": true
17210
- },
17211
- "yallist": {
17212
- "version": "3.1.1",
17213
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
17214
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
17215
- "dev": true
17216
- },
17217
- "yaml": {
17218
- "version": "1.10.0",
17219
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
17220
- "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==",
17221
- "dev": true
17222
- },
17223
- "yargs": {
17224
- "version": "15.4.1",
17225
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
17226
- "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
17227
- "dev": true,
17228
- "requires": {
17229
- "cliui": "^6.0.0",
17230
- "decamelize": "^1.2.0",
17231
- "find-up": "^4.1.0",
17232
- "get-caller-file": "^2.0.1",
17233
- "require-directory": "^2.1.1",
17234
- "require-main-filename": "^2.0.0",
17235
- "set-blocking": "^2.0.0",
17236
- "string-width": "^4.2.0",
17237
- "which-module": "^2.0.0",
17238
- "y18n": "^4.0.0",
17239
- "yargs-parser": "^18.1.2"
17240
- },
17241
- "dependencies": {
17242
- "ansi-regex": {
17243
- "version": "5.0.0",
17244
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
17245
- "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
17246
- "dev": true
17247
- },
17248
- "emoji-regex": {
17249
- "version": "8.0.0",
17250
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
17251
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
17252
- "dev": true
17253
- },
17254
- "find-up": {
17255
- "version": "4.1.0",
17256
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
17257
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
17258
- "dev": true,
17259
- "requires": {
17260
- "locate-path": "^5.0.0",
17261
- "path-exists": "^4.0.0"
17262
- }
17263
- },
17264
- "is-fullwidth-code-point": {
17265
- "version": "3.0.0",
17266
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
17267
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
17268
- "dev": true
17269
- },
17270
- "locate-path": {
17271
- "version": "5.0.0",
17272
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
17273
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
17274
- "dev": true,
17275
- "requires": {
17276
- "p-locate": "^4.1.0"
17277
- }
17278
- },
17279
- "p-locate": {
17280
- "version": "4.1.0",
17281
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
17282
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
17283
- "dev": true,
17284
- "requires": {
17285
- "p-limit": "^2.2.0"
17286
- }
17287
- },
17288
- "path-exists": {
17289
- "version": "4.0.0",
17290
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
17291
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
17292
- "dev": true
17293
- },
17294
- "string-width": {
17295
- "version": "4.2.0",
17296
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
17297
- "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
17298
- "dev": true,
17299
- "requires": {
17300
- "emoji-regex": "^8.0.0",
17301
- "is-fullwidth-code-point": "^3.0.0",
17302
- "strip-ansi": "^6.0.0"
17303
- }
17304
- },
17305
- "strip-ansi": {
17306
- "version": "6.0.0",
17307
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
17308
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
17309
- "dev": true,
17310
- "requires": {
17311
- "ansi-regex": "^5.0.0"
17312
- }
17313
- }
17314
- }
17315
- },
17316
- "yargs-parser": {
17317
- "version": "18.1.3",
17318
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
17319
- "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
17320
- "dev": true,
17321
- "requires": {
17322
- "camelcase": "^5.0.0",
17323
- "decamelize": "^1.2.0"
17324
- },
17325
- "dependencies": {
17326
- "camelcase": {
17327
- "version": "5.3.1",
17328
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
17329
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
17330
- "dev": true
17331
- }
17332
- }
17333
- },
17334
- "yauzl": {
17335
- "version": "2.10.0",
17336
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
17337
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
17338
- "dev": true,
17339
- "requires": {
17340
- "buffer-crc32": "~0.2.3",
17341
- "fd-slicer": "~1.1.0"
17342
- }
17343
- }
17344
- }
17345
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/admin/page-builders/gutenberg/inc/blocks/faq-block/package.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "name": "seopress",
3
- "version": "1.0.0",
4
- "description": "SeoPress Blocks",
5
- "main": "build/index.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1",
8
- "start": "wp-scripts start",
9
- "build": "wp-scripts build"
10
- },
11
- "author": "SEOPress",
12
- "license": "GPL-3.0-only",
13
- "devDependencies": {
14
- "@wordpress/scripts": "12.4.0"
15
- },
16
- "dependencies": {
17
- "@wordpress/i18n": "^3.16.0"
18
- }
19
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/admin/sections/Tools.php DELETED
@@ -1,33 +0,0 @@
1
- <?php
2
-
3
- defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
-
5
- function print_section_info_tools_compatibility()
6
- {
7
- $docs = seopress_get_docs_links(); ?>
8
- <div class="sp-section-header">
9
- <h2>
10
- <?php _e('Compatibility Center', 'wp-seopress'); ?>
11
- </h2>
12
- </div>
13
- <p>
14
- <?php _e('Our <strong>Compatibility Center</strong> makes it easy to integrate SEOPress with your favorite tools.', 'wp-seopress'); ?>
15
- </p>
16
-
17
- <p>
18
- <?php _e('Even though a lot of things are completely transparent to you and automated, sometimes it is necessary to leave the final choice to you.', 'wp-seopress'); ?>
19
- </p>
20
-
21
- <div class="seopress-notice is-error">
22
- <p>
23
- <?php _e('This feature will be deprecated soon.', 'wp-seopress-pro'); ?>
24
- </p>
25
- <p>
26
- <?php _e('<strong>Warning</strong>: always test your site after activating one of these options. Running shortcodes to automatically generate meta title / description can have side effects. Clear your cache if necessary.', 'wp-seopress'); ?>
27
- <?php echo seopress_tooltip_link($docs['compatibility']['automatic'], __('Learn more about automatic meta descriptions', 'wp-seopress-pro')); ?>
28
- </p>
29
- </div>
30
-
31
-
32
- <?php
33
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/admin/settings/InstantIndexing.php CHANGED
@@ -11,6 +11,14 @@ add_settings_section(
11
  'seopress-settings-admin-instant-indexing' // Page
12
  );
13
 
 
 
 
 
 
 
 
 
14
  add_settings_field(
15
  'seopress_instant_indexing_google_action', // ID
16
  __('Which action to run for Google?', 'wp-seopress'), // Title
11
  'seopress-settings-admin-instant-indexing' // Page
12
  );
13
 
14
+ add_settings_field(
15
+ 'seopress_instant_indexing_google_engine', // ID
16
+ __('Select search engines', 'wp-seopress'), // Title
17
+ 'seopress_instant_indexing_google_engine_callback', // Callback
18
+ 'seopress-settings-admin-instant-indexing', // Page
19
+ 'seopress_setting_section_instant_indexing' // Section
20
+ );
21
+
22
  add_settings_field(
23
  'seopress_instant_indexing_google_action', // ID
24
  __('Which action to run for Google?', 'wp-seopress'), // Title
inc/admin/settings/Tools.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
-
3
- defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
-
5
- //Tools SECTION=======================================================================
6
- add_settings_section(
7
- 'seopress_setting_section_tools_compatibility', // ID
8
- '',
9
- //__("Compatibility Center","wp-seopress"), // Title
10
- 'print_section_info_tools_compatibility', // Callback
11
- 'seopress-settings-admin-tools-compatibility' // Page
12
- );
13
-
14
- add_settings_field(
15
- 'seopress_setting_section_tools_compatibility_oxygen', // ID
16
- __('Oxygen Builder compatibility', 'wp-seopress'), // Title
17
- 'seopress_setting_section_tools_compatibility_oxygen_callback', // Callback
18
- 'seopress-settings-admin-tools-compatibility', // Page
19
- 'seopress_setting_section_tools_compatibility' // Section
20
- );
21
-
22
- add_settings_field(
23
- 'seopress_setting_section_tools_compatibility_divi', // ID
24
- __('Divi Builder compatibility', 'wp-seopress'), // Title
25
- 'seopress_setting_section_tools_compatibility_divi_callback', // Callback
26
- 'seopress-settings-admin-tools-compatibility', // Page
27
- 'seopress_setting_section_tools_compatibility' // Section
28
- );
29
-
30
- add_settings_field(
31
- 'seopress_setting_section_tools_compatibility_bakery', // ID
32
- __('WP Bakery Builder compatibility', 'wp-seopress'), // Title
33
- 'seopress_setting_section_tools_compatibility_bakery_callback', // Callback
34
- 'seopress-settings-admin-tools-compatibility', // Page
35
- 'seopress_setting_section_tools_compatibility' // Section
36
- );
37
-
38
- add_settings_field(
39
- 'seopress_setting_section_tools_compatibility_avia', // ID
40
- __('Avia Layout Builder compatibility', 'wp-seopress'), // Title
41
- 'seopress_setting_section_tools_compatibility_avia_callback', // Callback
42
- 'seopress-settings-admin-tools-compatibility', // Page
43
- 'seopress_setting_section_tools_compatibility' // Section
44
- );
45
-
46
- add_settings_field(
47
- 'seopress_setting_section_tools_compatibility_fusion', // ID
48
- __('Fusion Builder compatibility', 'wp-seopress'), // Title
49
- 'seopress_setting_section_tools_compatibility_fusion_callback', // Callback
50
- 'seopress-settings-admin-tools-compatibility', // Page
51
- 'seopress_setting_section_tools_compatibility' // Section
52
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/functions/options-instant-indexing.php CHANGED
@@ -50,37 +50,49 @@ add_action('template_redirect', 'seopress_instant_indexing_api_key_txt');
50
  ///////////////////////////////////////////////////////////////////////////////////////////////////
51
  function seopress_instant_indexing_fn() {
52
  $options = get_option('seopress_instant_indexing_option_name');
53
- $log = get_option('seopress_instant_indexing_log_option_name');
54
  $actions = isset($options['seopress_instant_indexing_google_action']) ? esc_attr($options['seopress_instant_indexing_google_action']) : 'URL_UPDATED';
55
- $urls = isset($options['seopress_instant_indexing_manual_batch']) ? esc_attr($options['seopress_instant_indexing_manual_batch']) : null;
56
- $google_api_key = isset($options['seopress_instant_indexing_google_api_key']) ? $options['seopress_instant_indexing_google_api_key'] : null;
57
- $bing_api_key = isset($options['seopress_instant_indexing_bing_api_key']) ? base64_decode(esc_attr($options['seopress_instant_indexing_bing_api_key'])) : null;
58
- $bing_url = 'https://api.indexnow.org/indexnow/';
59
- $google_url = 'https://indexing.googleapis.com/v3/urlNotifications:publish';
60
 
61
- $json = json_decode($google_api_key, true);
62
- $json = $json['project_id'];
63
 
64
  //Check we have URLs to submit
65
- if ($urls === null) {
 
 
66
  return;
67
  }
68
 
69
- //Check we have setup at least one API
70
- if ($google_api_key === null || $bing_api_key === null) {
 
 
71
  return;
72
  }
73
 
74
- //Clean logs
75
- $log['urls'] = '';
 
 
 
 
 
 
 
 
76
 
77
  //Prepare the URLS
78
  $urls = preg_split('/\r\n|\r|\n/', $urls);
79
 
80
  $urls = array_slice($urls, 0, 100);
81
 
82
- if ($bing_api_key !== null) {
83
-
84
  $host = wp_parse_url(get_home_url(), PHP_URL_HOST);
85
 
86
  $body = [
@@ -108,17 +120,18 @@ function seopress_instant_indexing_fn() {
108
  if (is_wp_error($response)) {
109
  $message = $response->get_error_message();
110
  $log['bing']['status'] = $message;
111
-
112
- update_option('seopress_instant_indexing_log_option_name', $log);
113
  }
114
 
115
  $log['bing']['response'] = $response;
116
- } else {
117
- $log['bing']['response'] = __('Bing API key is missing', 'wp-seopress');
 
 
 
118
  }
119
 
120
- //Google
121
- if ($google_api_key !== null) {
122
  try {
123
  $client = new Google_Client();
124
 
@@ -136,7 +149,6 @@ function seopress_instant_indexing_fn() {
136
  $postBody->setUrl( $url );
137
  $postBody->setType( $actions );
138
  $batch->add( $service->urlNotifications->publish( $postBody ) );
139
-
140
  }
141
  $results = $batch->execute();
142
  }
@@ -145,8 +157,11 @@ function seopress_instant_indexing_fn() {
145
  }
146
 
147
  $log['google']['response'] = $results;
148
- } else {
149
- $log['google']['response'] = __('Google API key is missing', 'wp-seopress');
 
 
 
150
  }
151
 
152
  //Log URLs submitted
50
  ///////////////////////////////////////////////////////////////////////////////////////////////////
51
  function seopress_instant_indexing_fn() {
52
  $options = get_option('seopress_instant_indexing_option_name');
53
+ $engines = isset($options['engines']) ? $options['engines'] : null;
54
  $actions = isset($options['seopress_instant_indexing_google_action']) ? esc_attr($options['seopress_instant_indexing_google_action']) : 'URL_UPDATED';
55
+ $urls = isset($options['seopress_instant_indexing_manual_batch']) ? esc_attr($options['seopress_instant_indexing_manual_batch']) : '';
56
+ $google_api_key = isset($options['seopress_instant_indexing_google_api_key']) ? $options['seopress_instant_indexing_google_api_key'] : '';
57
+ $bing_api_key = isset($options['seopress_instant_indexing_bing_api_key']) ? base64_decode(esc_attr($options['seopress_instant_indexing_bing_api_key'])) : '';
58
+ $bing_url = 'https://api.indexnow.org/indexnow/';
59
+ $google_url = 'https://indexing.googleapis.com/v3/urlNotifications:publish';
60
 
61
+ //Clean logs
62
+ delete_option('seopress_instant_indexing_log_option_name');
63
 
64
  //Check we have URLs to submit
65
+ if ($urls === '') {
66
+ $log['error'] = __('No URLs to submit','wp-seopress');
67
+ update_option('seopress_instant_indexing_log_option_name', $log);
68
  return;
69
  }
70
 
71
+ //Check we have at least one search engine selected
72
+ if (empty($engines)) {
73
+ $log['error'] = __('No search engines selected','wp-seopress');
74
+ update_option('seopress_instant_indexing_log_option_name', $log);
75
  return;
76
  }
77
 
78
+ //Check we have setup at least one API key
79
+ if ($google_api_key === '' && $bing_api_key === '') {
80
+ $log['error'] = __('No API key defined from the settings tab','wp-seopress');
81
+ update_option('seopress_instant_indexing_log_option_name', $log);
82
+ return;
83
+ }
84
+
85
+ $json = json_decode($google_api_key, true);
86
+ $json = $json['project_id'];
87
+
88
 
89
  //Prepare the URLS
90
  $urls = preg_split('/\r\n|\r|\n/', $urls);
91
 
92
  $urls = array_slice($urls, 0, 100);
93
 
94
+ //Bing API
95
+ if ($bing_api_key !== '' && $engines['bing'] === '1') {
96
  $host = wp_parse_url(get_home_url(), PHP_URL_HOST);
97
 
98
  $body = [
120
  if (is_wp_error($response)) {
121
  $message = $response->get_error_message();
122
  $log['bing']['status'] = $message;
 
 
123
  }
124
 
125
  $log['bing']['response'] = $response;
126
+ } elseif ($engines['bing'] === '1') {
127
+ $log['bing']['response']['error'] = [
128
+ 'code' => 401,
129
+ 'message' => __('Bing API key is missing', 'wp-seopress')
130
+ ];
131
  }
132
 
133
+ //Google API
134
+ if ($google_api_key !== '' && $engines['google'] === '1') {
135
  try {
136
  $client = new Google_Client();
137
 
149
  $postBody->setUrl( $url );
150
  $postBody->setType( $actions );
151
  $batch->add( $service->urlNotifications->publish( $postBody ) );
 
152
  }
153
  $results = $batch->execute();
154
  }
157
  }
158
 
159
  $log['google']['response'] = $results;
160
+ } elseif ($engines['google'] === '1') {
161
+ $log['google']['response']['error'] = [
162
+ 'code' => 401,
163
+ 'message' => __('Google API key is missing', 'wp-seopress')
164
+ ];
165
  }
166
 
167
  //Log URLs submitted
inc/functions/options-tools.php DELETED
@@ -1,173 +0,0 @@
1
- <?php
2
-
3
- defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
-
5
- //Oxygen Builder
6
- function seopress_setting_section_tools_compatibility_oxygen_option() {
7
- $seopress_setting_section_tools_compatibility_oxygen_option = get_option('seopress_tools_option_name');
8
- if ( ! empty($seopress_setting_section_tools_compatibility_oxygen_option)) {
9
- foreach ($seopress_setting_section_tools_compatibility_oxygen_option as $key => $seopress_setting_section_tools_compatibility_oxygen_value) {
10
- $options[$key] = $seopress_setting_section_tools_compatibility_oxygen_value;
11
- }
12
- if (isset($seopress_setting_section_tools_compatibility_oxygen_option['seopress_setting_section_tools_compatibility_oxygen'])) {
13
- return $seopress_setting_section_tools_compatibility_oxygen_option['seopress_setting_section_tools_compatibility_oxygen'];
14
- }
15
- }
16
- }
17
-
18
- if ('1' === seopress_setting_section_tools_compatibility_oxygen_option()) {
19
- //Oxygen Builder - generate automatic meta description
20
- function sp_oxygen_titles_template_variables_array($array) {
21
- $array[] = '%%oxygen%%';
22
-
23
- return $array;
24
- }
25
- add_filter('seopress_titles_template_variables_array', 'sp_oxygen_titles_template_variables_array');
26
-
27
- function sp_oxygen_titles_template_replace_array($array) {
28
- if (is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output') && ! isset($_GET['ct_builder'])) {
29
- add_filter('wp_doing_ajax', '__return_true');
30
-
31
- $content = do_shortcode(get_post_meta(get_the_id(), 'ct_builder_shortcodes', true));
32
-
33
- remove_filter('wp_doing_ajax', '__return_true');
34
-
35
- $array[] = preg_replace('/\r|\n/', '', substr(strip_tags(wp_filter_nohtml_kses($content)), 0, 160));
36
- }
37
-
38
- return $array;
39
- }
40
- add_filter('seopress_titles_template_replace_array', 'sp_oxygen_titles_template_replace_array');
41
- }
42
-
43
- //Divi Builder
44
- function seopress_setting_section_tools_compatibility_divi_option() {
45
- $seopress_setting_section_tools_compatibility_divi_option = get_option('seopress_tools_option_name');
46
- if ( ! empty($seopress_setting_section_tools_compatibility_divi_option)) {
47
- foreach ($seopress_setting_section_tools_compatibility_divi_option as $key => $seopress_setting_section_tools_compatibility_divi_value) {
48
- $options[$key] = $seopress_setting_section_tools_compatibility_divi_value;
49
- }
50
- if (isset($seopress_setting_section_tools_compatibility_divi_option['seopress_setting_section_tools_compatibility_divi'])) {
51
- return $seopress_setting_section_tools_compatibility_divi_option['seopress_setting_section_tools_compatibility_divi'];
52
- }
53
- }
54
- }
55
-
56
- if ('1' === seopress_setting_section_tools_compatibility_divi_option()) {
57
- //Divi Builder - generate automatic meta description
58
- function sp_divi_titles_template_variables_array($array) {
59
- $array[] = '%%divi%%';
60
-
61
- return $array;
62
- }
63
- add_filter('seopress_titles_template_variables_array', 'sp_divi_titles_template_variables_array');
64
-
65
- function sp_divi_titles_template_replace_array($array) {
66
- $theme = wp_get_theme();
67
- if ('Divi' == $theme->template || 'Divi' == $theme->parent_theme) {
68
- $array[] = substr(normalize_whitespace(strip_tags(wp_filter_nohtml_kses(do_shortcode(get_post_field('post_content', get_the_ID()))))), 0, 160);
69
- }
70
-
71
- return $array;
72
- }
73
- add_filter('seopress_titles_template_replace_array', 'sp_divi_titles_template_replace_array');
74
- }
75
-
76
- //WP Bakery Builder
77
- function seopress_setting_section_tools_compatibility_bakery_option() {
78
- $seopress_setting_section_tools_compatibility_bakery_option = get_option('seopress_tools_option_name');
79
- if ( ! empty($seopress_setting_section_tools_compatibility_bakery_option)) {
80
- foreach ($seopress_setting_section_tools_compatibility_bakery_option as $key => $seopress_setting_section_tools_compatibility_bakery_value) {
81
- $options[$key] = $seopress_setting_section_tools_compatibility_bakery_value;
82
- }
83
- if (isset($seopress_setting_section_tools_compatibility_bakery_option['seopress_setting_section_tools_compatibility_bakery'])) {
84
- return $seopress_setting_section_tools_compatibility_bakery_option['seopress_setting_section_tools_compatibility_bakery'];
85
- }
86
- }
87
- }
88
-
89
- if ('1' === seopress_setting_section_tools_compatibility_bakery_option()) {
90
- //WP Bakery Builder Generate automatic meta description
91
- function sp_bakery_titles_template_variables_array($array) {
92
- $array[] = '%%wpbakery%%';
93
-
94
- return $array;
95
- }
96
- add_filter('seopress_titles_template_variables_array', 'sp_bakery_titles_template_variables_array');
97
-
98
- function sp_bakery_titles_template_replace_array($array) {
99
- if (is_plugin_active('js_composer/js_composer.php')) {
100
- $array[] = preg_replace("/\r|\n/", '', substr(trim(strip_tags(wp_filter_nohtml_kses(do_shortcode(get_post_field('post_content', get_the_ID()))))), 0, 160));
101
- }
102
-
103
- return $array;
104
- }
105
- add_filter('seopress_titles_template_replace_array', 'sp_bakery_titles_template_replace_array');
106
- }
107
-
108
- //WP Avia Builder
109
- function seopress_setting_section_tools_compatibility_avia_option() {
110
- $seopress_setting_section_tools_compatibility_avia_option = get_option('seopress_tools_option_name');
111
- if ( ! empty($seopress_setting_section_tools_compatibility_avia_option)) {
112
- foreach ($seopress_setting_section_tools_compatibility_avia_option as $key => $seopress_setting_section_tools_compatibility_avia_value) {
113
- $options[$key] = $seopress_setting_section_tools_compatibility_avia_value;
114
- }
115
- if (isset($seopress_setting_section_tools_compatibility_avia_option['seopress_setting_section_tools_compatibility_avia'])) {
116
- return $seopress_setting_section_tools_compatibility_avia_option['seopress_setting_section_tools_compatibility_avia'];
117
- }
118
- }
119
- }
120
-
121
- if ('1' === seopress_setting_section_tools_compatibility_avia_option()) {
122
- //WP Avia Layout Builder / Enfold theme - Generate automatic meta description
123
- add_filter('avf_preprocess_shortcode_in_header', 'sp_avia_avf_preprocess_shortcode_in_header', 10, 6);
124
- function sp_avia_avf_preprocess_shortcode_in_header($return, $class, $atts, $content, $shortcodename, $fake) {
125
- return 'preprocess_shortcodes_in_header';
126
- }
127
-
128
- function sp_avia_titles_template_variables_array($array) {
129
- $array[] = '%%aviabuilder%%';
130
-
131
- return $array;
132
- }
133
- add_filter('seopress_titles_template_variables_array', 'sp_avia_titles_template_variables_array');
134
-
135
- function sp_avia_titles_template_replace_array($array) {
136
- $array[] = preg_replace("/\r|\n/", '', substr(trim(strip_tags(wp_filter_nohtml_kses(do_shortcode(get_post_meta(get_the_ID(), '_aviaLayoutBuilderCleanData', true))))), 0, 160));
137
-
138
- return $array;
139
- }
140
- add_filter('seopress_titles_template_replace_array', 'sp_avia_titles_template_replace_array');
141
- }
142
-
143
- //WP Fusion Builder
144
- function seopress_setting_section_tools_compatibility_fusion_option() {
145
- $seopress_setting_section_tools_compatibility_fusion_option = get_option('seopress_tools_option_name');
146
- if ( ! empty($seopress_setting_section_tools_compatibility_fusion_option)) {
147
- foreach ($seopress_setting_section_tools_compatibility_fusion_option as $key => $seopress_setting_section_tools_compatibility_fusion_value) {
148
- $options[$key] = $seopress_setting_section_tools_compatibility_fusion_value;
149
- }
150
- if (isset($seopress_setting_section_tools_compatibility_fusion_option['seopress_setting_section_tools_compatibility_fusion'])) {
151
- return $seopress_setting_section_tools_compatibility_fusion_option['seopress_setting_section_tools_compatibility_fusion'];
152
- }
153
- }
154
- }
155
-
156
- if ('1' === seopress_setting_section_tools_compatibility_fusion_option()) {
157
- //Fusion Builder + Avadar Generate automatic meta description
158
- function sp_fusion_titles_template_variables_array($array) {
159
- $array[] = '%%fusionbuilder%%';
160
-
161
- return $array;
162
- }
163
- add_filter('seopress_titles_template_variables_array', 'sp_fusion_titles_template_variables_array');
164
-
165
- function sp_fusion_titles_template_replace_array($array) {
166
- if (is_plugin_active('fusion-builder/fusion-builder.php')) {
167
- $array[] = preg_replace("/\r|\n/", '', substr(trim(strip_tags(wp_filter_nohtml_kses(do_shortcode(get_post_field('post_content', get_the_ID()))))), 0, 160));
168
- }
169
-
170
- return $array;
171
- }
172
- add_filter('seopress_titles_template_replace_array', 'sp_fusion_titles_template_replace_array');
173
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/functions/options.php CHANGED
@@ -21,15 +21,11 @@ function seopress_advanced_advanced_trailingslash_option()
21
  ///////////////////////////////////////////////////////////////////////////////////////////////////
22
  //SEOPRESS Core
23
  ///////////////////////////////////////////////////////////////////////////////////////////////////
24
- //Tools - Compatibility Center
25
- require_once dirname(__FILE__) . '/options-tools.php';
26
-
27
  // Instant Indexing
28
  if ('1' == seopress_get_toggle_option('instant-indexing')) {
29
  require_once dirname(__FILE__) . '/options-instant-indexing.php';
30
  }
31
 
32
-
33
  //Import / Export tool
34
  add_action('init', 'seopress_enable', 999);
35
  function seopress_enable()
21
  ///////////////////////////////////////////////////////////////////////////////////////////////////
22
  //SEOPRESS Core
23
  ///////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
24
  // Instant Indexing
25
  if ('1' == seopress_get_toggle_option('instant-indexing')) {
26
  require_once dirname(__FILE__) . '/options-instant-indexing.php';
27
  }
28
 
 
29
  //Import / Export tool
30
  add_action('init', 'seopress_enable', 999);
31
  function seopress_enable()
readme.txt CHANGED
@@ -4,9 +4,9 @@ Contributors: rainbowgeek, gmulti, juliobox, maigret, mgris
4
  Donate link: https://www.seopress.org/
5
  Tags: SEO, XML sitemap, meta title, open graph, content analysis, instant indexing, redirection, breadcrumbs, google analytics, rich snippets, broken link checker, Schema.org
6
  Requires at least: 4.7+
7
- Tested up to: 5.8
8
- Requires PHP: 7.0
9
- Stable tag: 5.4.1
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -338,6 +338,15 @@ You're theme is probably using a deprecated function to handle the title. <a hre
338
  12. Schema metabox
339
 
340
  == Changelog ==
 
 
 
 
 
 
 
 
 
341
  = 5.4.1 =
342
  * FIX Fatal error on author archives
343
  = 5.4 <a href="https://www.seopress.org/newsroom/product-news/seopress-5-4/" target="_blank">Read the blog post update</a> =
4
  Donate link: https://www.seopress.org/
5
  Tags: SEO, XML sitemap, meta title, open graph, content analysis, instant indexing, redirection, breadcrumbs, google analytics, rich snippets, broken link checker, Schema.org
6
  Requires at least: 4.7+
7
+ Tested up to: 5.9
8
+ Requires PHP: 7.2
9
+ Stable tag: 5.4.2
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
338
  12. Schema metabox
339
 
340
  == Changelog ==
341
+ = 5.4.2 =
342
+ * ⚠️ PHP 7.2 is now the minimum requirement to use SEOPress. Contact your host to update.
343
+ * NEW WordPress 5.9 compatibility
344
+ * NEW Choose which search engine to use for instant indexing (Google and/or Bing)
345
+ * INFO End of the complete removal of the compatibility center for more performance
346
+ * FIX Google / Bing instant indexing
347
+ * FIX Prevent Guzzle conflict
348
+ * FIX Search / sorting / filtering in Redirections manager
349
+ * FIX Homepage metadata editing with SEO metabox
350
  = 5.4.1 =
351
  * FIX Fatal error on author archives
352
  = 5.4 <a href="https://www.seopress.org/newsroom/product-news/seopress-5-4/" target="_blank">Read the blog post update</a> =
seopress.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
  Author: SEOPress
7
- Version: 5.4.1
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
10
  Text Domain: wp-seopress
@@ -70,7 +70,7 @@ register_deactivation_hook(__FILE__, 'seopress_deactivation');
70
  ///////////////////////////////////////////////////////////////////////////////////////////////////
71
  //Define
72
  ///////////////////////////////////////////////////////////////////////////////////////////////////
73
- define('SEOPRESS_VERSION', '5.4.1');
74
  define('SEOPRESS_AUTHOR', 'Benjamin Denis');
75
  define('SEOPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
76
  define('SEOPRESS_PLUGIN_DIR_URL', plugin_dir_url(__FILE__));
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
  Author: SEOPress
7
+ Version: 5.4.2
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
10
  Text Domain: wp-seopress
70
  ///////////////////////////////////////////////////////////////////////////////////////////////////
71
  //Define
72
  ///////////////////////////////////////////////////////////////////////////////////////////////////
73
+ define('SEOPRESS_VERSION', '5.4.2');
74
  define('SEOPRESS_AUTHOR', 'Benjamin Denis');
75
  define('SEOPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
76
  define('SEOPRESS_PLUGIN_DIR_URL', plugin_dir_url(__FILE__));
vendor/composer/autoload_classmap.php CHANGED
@@ -6,11 +6,7 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
- 'ArithmeticError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php',
10
- 'AssertionError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
11
  'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
12
- 'DivisionByZeroError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php',
13
- 'Error' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/Error.php',
14
  'Google_AccessToken_Revoke' => $vendorDir . '/google/apiclient/src/aliases.php',
15
  'Google_AccessToken_Verify' => $vendorDir . '/google/apiclient/src/aliases.php',
16
  'Google_AuthHandler_AuthHandlerFactory' => $vendorDir . '/google/apiclient/src/aliases.php',
@@ -32,8 +28,4 @@ return array(
32
  'Google_Task_Retryable' => $vendorDir . '/google/apiclient/src/aliases.php',
33
  'Google_Task_Runner' => $vendorDir . '/google/apiclient/src/aliases.php',
34
  'Google_Utils_UriTemplate' => $vendorDir . '/google/apiclient/src/aliases.php',
35
- 'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
36
- 'ParseError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ParseError.php',
37
- 'SessionUpdateTimestampHandlerInterface' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php',
38
- 'TypeError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/TypeError.php',
39
  );
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
 
9
  'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
 
 
10
  'Google_AccessToken_Revoke' => $vendorDir . '/google/apiclient/src/aliases.php',
11
  'Google_AccessToken_Verify' => $vendorDir . '/google/apiclient/src/aliases.php',
12
  'Google_AuthHandler_AuthHandlerFactory' => $vendorDir . '/google/apiclient/src/aliases.php',
28
  'Google_Task_Retryable' => $vendorDir . '/google/apiclient/src/aliases.php',
29
  'Google_Task_Runner' => $vendorDir . '/google/apiclient/src/aliases.php',
30
  'Google_Utils_UriTemplate' => $vendorDir . '/google/apiclient/src/aliases.php',
 
 
 
 
31
  );
vendor/composer/autoload_files.php CHANGED
@@ -7,12 +7,8 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
10
- 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
11
  'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
12
- 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
13
- '023d27dca8066ef29e6739335ea73bad' => $vendorDir . '/symfony/polyfill-php70/bootstrap.php',
14
- '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
15
- 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
16
  '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
17
  'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
18
  '1f87db08236948d07391152dccb70f04' => $vendorDir . '/google/apiclient-services/autoload.php',
7
 
8
  return array(
9
  '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
 
10
  'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
11
+ '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
 
 
 
12
  '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
13
  'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
14
  '1f87db08236948d07391152dccb70f04' => $vendorDir . '/google/apiclient-services/autoload.php',
vendor/composer/autoload_psr4.php CHANGED
@@ -7,13 +7,10 @@ $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
  'phpseclib3\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
10
- 'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
11
- 'Symfony\\Polyfill\\Php70\\' => array($vendorDir . '/symfony/polyfill-php70'),
12
- 'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'),
13
- 'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'),
14
  'SEOPress\\' => array($baseDir . '/src'),
15
  'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
16
- 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
 
17
  'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
18
  'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'),
19
  'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
7
 
8
  return array(
9
  'phpseclib3\\' => array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
 
 
 
 
10
  'SEOPress\\' => array($baseDir . '/src'),
11
  'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
12
+ 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
13
+ 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
14
  'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
15
  'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'),
16
  'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
vendor/composer/autoload_static.php CHANGED
@@ -8,12 +8,8 @@ class ComposerStaticInit7c78591f24079299fccb099544a5f8f7
8
  {
9
  public static $files = array (
10
  '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
11
- 'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
12
  'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
13
- 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
14
- '023d27dca8066ef29e6739335ea73bad' => __DIR__ . '/..' . '/symfony/polyfill-php70/bootstrap.php',
15
- '25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
16
- 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
17
  '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
18
  'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
19
  '1f87db08236948d07391152dccb70f04' => __DIR__ . '/..' . '/google/apiclient-services/autoload.php',
@@ -27,16 +23,13 @@ class ComposerStaticInit7c78591f24079299fccb099544a5f8f7
27
  ),
28
  'S' =>
29
  array (
30
- 'Symfony\\Polyfill\\Php72\\' => 23,
31
- 'Symfony\\Polyfill\\Php70\\' => 23,
32
- 'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33,
33
- 'Symfony\\Polyfill\\Intl\\Idn\\' => 26,
34
  'SEOPress\\' => 9,
35
  ),
36
  'P' =>
37
  array (
38
  'Psr\\Log\\' => 8,
39
  'Psr\\Http\\Message\\' => 17,
 
40
  'Psr\\Cache\\' => 10,
41
  'ParagonIE\\ConstantTime\\' => 23,
42
  ),
@@ -64,22 +57,6 @@ class ComposerStaticInit7c78591f24079299fccb099544a5f8f7
64
  array (
65
  0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
66
  ),
67
- 'Symfony\\Polyfill\\Php72\\' =>
68
- array (
69
- 0 => __DIR__ . '/..' . '/symfony/polyfill-php72',
70
- ),
71
- 'Symfony\\Polyfill\\Php70\\' =>
72
- array (
73
- 0 => __DIR__ . '/..' . '/symfony/polyfill-php70',
74
- ),
75
- 'Symfony\\Polyfill\\Intl\\Normalizer\\' =>
76
- array (
77
- 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer',
78
- ),
79
- 'Symfony\\Polyfill\\Intl\\Idn\\' =>
80
- array (
81
- 0 => __DIR__ . '/..' . '/symfony/polyfill-intl-idn',
82
- ),
83
  'SEOPress\\' =>
84
  array (
85
  0 => __DIR__ . '/../..' . '/src',
@@ -90,7 +67,12 @@ class ComposerStaticInit7c78591f24079299fccb099544a5f8f7
90
  ),
91
  'Psr\\Http\\Message\\' =>
92
  array (
93
- 0 => __DIR__ . '/..' . '/psr/http-message/src',
 
 
 
 
 
94
  ),
95
  'Psr\\Cache\\' =>
96
  array (
@@ -135,11 +117,7 @@ class ComposerStaticInit7c78591f24079299fccb099544a5f8f7
135
  );
136
 
137
  public static $classMap = array (
138
- 'ArithmeticError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php',
139
- 'AssertionError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
140
  'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
141
- 'DivisionByZeroError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php',
142
- 'Error' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/Error.php',
143
  'Google_AccessToken_Revoke' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
144
  'Google_AccessToken_Verify' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
145
  'Google_AuthHandler_AuthHandlerFactory' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
@@ -161,10 +139,6 @@ class ComposerStaticInit7c78591f24079299fccb099544a5f8f7
161
  'Google_Task_Retryable' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
162
  'Google_Task_Runner' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
163
  'Google_Utils_UriTemplate' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
164
- 'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
165
- 'ParseError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ParseError.php',
166
- 'SessionUpdateTimestampHandlerInterface' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php',
167
- 'TypeError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/TypeError.php',
168
  );
169
 
170
  public static function getInitializer(ClassLoader $loader)
8
  {
9
  public static $files = array (
10
  '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
 
11
  'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
12
+ '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
 
 
 
13
  '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
14
  'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
15
  '1f87db08236948d07391152dccb70f04' => __DIR__ . '/..' . '/google/apiclient-services/autoload.php',
23
  ),
24
  'S' =>
25
  array (
 
 
 
 
26
  'SEOPress\\' => 9,
27
  ),
28
  'P' =>
29
  array (
30
  'Psr\\Log\\' => 8,
31
  'Psr\\Http\\Message\\' => 17,
32
+ 'Psr\\Http\\Client\\' => 16,
33
  'Psr\\Cache\\' => 10,
34
  'ParagonIE\\ConstantTime\\' => 23,
35
  ),
57
  array (
58
  0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
59
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
  'SEOPress\\' =>
61
  array (
62
  0 => __DIR__ . '/../..' . '/src',
67
  ),
68
  'Psr\\Http\\Message\\' =>
69
  array (
70
+ 0 => __DIR__ . '/..' . '/psr/http-factory/src',
71
+ 1 => __DIR__ . '/..' . '/psr/http-message/src',
72
+ ),
73
+ 'Psr\\Http\\Client\\' =>
74
+ array (
75
+ 0 => __DIR__ . '/..' . '/psr/http-client/src',
76
  ),
77
  'Psr\\Cache\\' =>
78
  array (
117
  );
118
 
119
  public static $classMap = array (
 
 
120
  'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
 
 
121
  'Google_AccessToken_Revoke' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
122
  'Google_AccessToken_Verify' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
123
  'Google_AuthHandler_AuthHandlerFactory' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
139
  'Google_Task_Retryable' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
140
  'Google_Task_Runner' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
141
  'Google_Utils_UriTemplate' => __DIR__ . '/..' . '/google/apiclient/src/aliases.php',
 
 
 
 
142
  );
143
 
144
  public static function getInitializer(ClassLoader $loader)
vendor/composer/installed.json CHANGED
@@ -136,17 +136,17 @@
136
  },
137
  {
138
  "name": "google/apiclient-services",
139
- "version": "v0.230.0",
140
- "version_normalized": "0.230.0.0",
141
  "source": {
142
  "type": "git",
143
  "url": "https://github.com/googleapis/google-api-php-client-services.git",
144
- "reference": "ec64bbf1d6af9475bee7b1ce4fc0ed8a0a8d8889"
145
  },
146
  "dist": {
147
  "type": "zip",
148
- "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/ec64bbf1d6af9475bee7b1ce4fc0ed8a0a8d8889",
149
- "reference": "ec64bbf1d6af9475bee7b1ce4fc0ed8a0a8d8889",
150
  "shasum": ""
151
  },
152
  "require": {
@@ -155,7 +155,7 @@
155
  "require-dev": {
156
  "phpunit/phpunit": "^5.7||^8.5.13"
157
  },
158
- "time": "2021-12-21T12:26:12+00:00",
159
  "type": "library",
160
  "installation-source": "dist",
161
  "autoload": {
@@ -177,7 +177,7 @@
177
  ],
178
  "support": {
179
  "issues": "https://github.com/googleapis/google-api-php-client-services/issues",
180
- "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.230.0"
181
  },
182
  "install-path": "../google/apiclient-services"
183
  },
@@ -242,39 +242,47 @@
242
  },
243
  {
244
  "name": "guzzlehttp/guzzle",
245
- "version": "6.5.5",
246
- "version_normalized": "6.5.5.0",
247
  "source": {
248
  "type": "git",
249
  "url": "https://github.com/guzzle/guzzle.git",
250
- "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e"
251
  },
252
  "dist": {
253
  "type": "zip",
254
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
255
- "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e",
256
  "shasum": ""
257
  },
258
  "require": {
259
  "ext-json": "*",
260
- "guzzlehttp/promises": "^1.0",
261
- "guzzlehttp/psr7": "^1.6.1",
262
- "php": ">=5.5",
263
- "symfony/polyfill-intl-idn": "^1.17.0"
 
 
 
 
264
  },
265
  "require-dev": {
 
266
  "ext-curl": "*",
267
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
268
- "psr/log": "^1.1"
 
269
  },
270
  "suggest": {
 
 
271
  "psr/log": "Required for using the Log middleware"
272
  },
273
- "time": "2020-06-16T21:01:06+00:00",
274
  "type": "library",
275
  "extra": {
276
  "branch-alias": {
277
- "dev-master": "6.5-dev"
278
  }
279
  },
280
  "installation-source": "dist",
@@ -291,27 +299,72 @@
291
  "MIT"
292
  ],
293
  "authors": [
 
 
 
 
 
294
  {
295
  "name": "Michael Dowling",
296
  "email": "mtdowling@gmail.com",
297
  "homepage": "https://github.com/mtdowling"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
  }
299
  ],
300
  "description": "Guzzle is a PHP HTTP client library",
301
- "homepage": "http://guzzlephp.org/",
302
  "keywords": [
303
  "client",
304
  "curl",
305
  "framework",
306
  "http",
307
  "http client",
 
 
308
  "rest",
309
  "web service"
310
  ],
311
  "support": {
312
  "issues": "https://github.com/guzzle/guzzle/issues",
313
- "source": "https://github.com/guzzle/guzzle/tree/6.5"
314
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
  "install-path": "../guzzlehttp/guzzle"
316
  },
317
  {
@@ -403,49 +456,49 @@
403
  },
404
  {
405
  "name": "guzzlehttp/psr7",
406
- "version": "1.8.3",
407
- "version_normalized": "1.8.3.0",
408
  "source": {
409
  "type": "git",
410
  "url": "https://github.com/guzzle/psr7.git",
411
- "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85"
412
  },
413
  "dist": {
414
  "type": "zip",
415
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
416
- "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85",
417
  "shasum": ""
418
  },
419
  "require": {
420
- "php": ">=5.4.0",
421
- "psr/http-message": "~1.0",
422
- "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
 
423
  },
424
  "provide": {
 
425
  "psr/http-message-implementation": "1.0"
426
  },
427
  "require-dev": {
428
- "ext-zlib": "*",
429
- "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
 
430
  },
431
  "suggest": {
432
  "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
433
  },
434
- "time": "2021-10-05T13:56:00+00:00",
435
  "type": "library",
436
  "extra": {
437
  "branch-alias": {
438
- "dev-master": "1.7-dev"
439
  }
440
  },
441
  "installation-source": "dist",
442
  "autoload": {
443
  "psr-4": {
444
  "GuzzleHttp\\Psr7\\": "src/"
445
- },
446
- "files": [
447
- "src/functions_include.php"
448
- ]
449
  },
450
  "notification-url": "https://packagist.org/downloads/",
451
  "license": [
@@ -481,6 +534,11 @@
481
  "name": "Tobias Schultze",
482
  "email": "webmaster@tubo-world.de",
483
  "homepage": "https://github.com/Tobion"
 
 
 
 
 
484
  }
485
  ],
486
  "description": "PSR-7 message implementation that also provides common utility methods",
@@ -496,7 +554,7 @@
496
  ],
497
  "support": {
498
  "issues": "https://github.com/guzzle/psr7/issues",
499
- "source": "https://github.com/guzzle/psr7/tree/1.8.3"
500
  },
501
  "funding": [
502
  {
@@ -516,53 +574,66 @@
516
  },
517
  {
518
  "name": "monolog/monolog",
519
- "version": "1.26.1",
520
- "version_normalized": "1.26.1.0",
521
  "source": {
522
  "type": "git",
523
  "url": "https://github.com/Seldaek/monolog.git",
524
- "reference": "c6b00f05152ae2c9b04a448f99c7590beb6042f5"
525
  },
526
  "dist": {
527
  "type": "zip",
528
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c6b00f05152ae2c9b04a448f99c7590beb6042f5",
529
- "reference": "c6b00f05152ae2c9b04a448f99c7590beb6042f5",
530
  "shasum": ""
531
  },
532
  "require": {
533
- "php": ">=5.3.0",
534
- "psr/log": "~1.0"
535
  },
536
  "provide": {
537
- "psr/log-implementation": "1.0.0"
538
  },
539
  "require-dev": {
540
  "aws/aws-sdk-php": "^2.4.9 || ^3.0",
541
  "doctrine/couchdb": "~1.0@dev",
542
- "graylog2/gelf-php": "~1.0",
543
- "php-amqplib/php-amqplib": "~2.4",
 
 
544
  "php-console/php-console": "^3.1.3",
545
- "phpstan/phpstan": "^0.12.59",
546
- "phpunit/phpunit": "~4.5",
547
- "ruflin/elastica": ">=0.90 <3.0",
548
- "sentry/sentry": "^0.13",
 
 
549
  "swiftmailer/swiftmailer": "^5.3|^6.0"
550
  },
551
  "suggest": {
552
  "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
553
  "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
 
554
  "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
555
- "ext-mongo": "Allow sending log messages to a MongoDB server",
 
 
 
 
556
  "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
557
- "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
558
  "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
559
  "php-console/php-console": "Allow sending log messages to Google Chrome",
560
  "rollbar/rollbar": "Allow sending log messages to Rollbar",
561
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
562
- "sentry/sentry": "Allow sending log messages to a Sentry server"
563
  },
564
- "time": "2021-05-28T08:32:12+00:00",
565
  "type": "library",
 
 
 
 
 
566
  "installation-source": "dist",
567
  "autoload": {
568
  "psr-4": {
@@ -577,11 +648,11 @@
577
  {
578
  "name": "Jordi Boggiano",
579
  "email": "j.boggiano@seld.be",
580
- "homepage": "http://seld.be"
581
  }
582
  ],
583
  "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
584
- "homepage": "http://github.com/Seldaek/monolog",
585
  "keywords": [
586
  "log",
587
  "logging",
@@ -589,7 +660,7 @@
589
  ],
590
  "support": {
591
  "issues": "https://github.com/Seldaek/monolog/issues",
592
- "source": "https://github.com/Seldaek/monolog/tree/1.26.1"
593
  },
594
  "funding": [
595
  {
@@ -893,24 +964,25 @@
893
  "install-path": "../psr/cache"
894
  },
895
  {
896
- "name": "psr/http-message",
897
  "version": "1.0.1",
898
  "version_normalized": "1.0.1.0",
899
  "source": {
900
  "type": "git",
901
- "url": "https://github.com/php-fig/http-message.git",
902
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
903
  },
904
  "dist": {
905
  "type": "zip",
906
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
907
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
908
  "shasum": ""
909
  },
910
  "require": {
911
- "php": ">=5.3.0"
 
912
  },
913
- "time": "2016-08-06T14:39:51+00:00",
914
  "type": "library",
915
  "extra": {
916
  "branch-alias": {
@@ -920,7 +992,7 @@
920
  "installation-source": "dist",
921
  "autoload": {
922
  "psr-4": {
923
- "Psr\\Http\\Message\\": "src/"
924
  }
925
  },
926
  "notification-url": "https://packagist.org/downloads/",
@@ -933,50 +1005,49 @@
933
  "homepage": "http://www.php-fig.org/"
934
  }
935
  ],
936
- "description": "Common interface for HTTP messages",
937
- "homepage": "https://github.com/php-fig/http-message",
938
  "keywords": [
939
  "http",
940
- "http-message",
941
  "psr",
942
- "psr-7",
943
- "request",
944
- "response"
945
  ],
946
  "support": {
947
- "source": "https://github.com/php-fig/http-message/tree/master"
948
  },
949
- "install-path": "../psr/http-message"
950
  },
951
  {
952
- "name": "psr/log",
953
- "version": "1.1.4",
954
- "version_normalized": "1.1.4.0",
955
  "source": {
956
  "type": "git",
957
- "url": "https://github.com/php-fig/log.git",
958
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
959
  },
960
  "dist": {
961
  "type": "zip",
962
- "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
963
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
964
  "shasum": ""
965
  },
966
  "require": {
967
- "php": ">=5.3.0"
 
968
  },
969
- "time": "2021-05-03T11:20:27+00:00",
970
  "type": "library",
971
  "extra": {
972
  "branch-alias": {
973
- "dev-master": "1.1.x-dev"
974
  }
975
  },
976
  "installation-source": "dist",
977
  "autoload": {
978
  "psr-4": {
979
- "Psr\\Log\\": "Psr/Log/"
980
  }
981
  },
982
  "notification-url": "https://packagist.org/downloads/",
@@ -986,111 +1057,55 @@
986
  "authors": [
987
  {
988
  "name": "PHP-FIG",
989
- "homepage": "https://www.php-fig.org/"
990
  }
991
  ],
992
- "description": "Common interface for logging libraries",
993
- "homepage": "https://github.com/php-fig/log",
994
  "keywords": [
995
- "log",
 
 
996
  "psr",
997
- "psr-3"
998
- ],
999
- "support": {
1000
- "source": "https://github.com/php-fig/log/tree/1.1.4"
1001
- },
1002
- "install-path": "../psr/log"
1003
- },
1004
- {
1005
- "name": "ralouphie/getallheaders",
1006
- "version": "3.0.3",
1007
- "version_normalized": "3.0.3.0",
1008
- "source": {
1009
- "type": "git",
1010
- "url": "https://github.com/ralouphie/getallheaders.git",
1011
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
1012
- },
1013
- "dist": {
1014
- "type": "zip",
1015
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
1016
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
1017
- "shasum": ""
1018
- },
1019
- "require": {
1020
- "php": ">=5.6"
1021
- },
1022
- "require-dev": {
1023
- "php-coveralls/php-coveralls": "^2.1",
1024
- "phpunit/phpunit": "^5 || ^6.5"
1025
- },
1026
- "time": "2019-03-08T08:55:37+00:00",
1027
- "type": "library",
1028
- "installation-source": "dist",
1029
- "autoload": {
1030
- "files": [
1031
- "src/getallheaders.php"
1032
- ]
1033
- },
1034
- "notification-url": "https://packagist.org/downloads/",
1035
- "license": [
1036
- "MIT"
1037
- ],
1038
- "authors": [
1039
- {
1040
- "name": "Ralph Khattar",
1041
- "email": "ralph.khattar@gmail.com"
1042
- }
1043
  ],
1044
- "description": "A polyfill for getallheaders.",
1045
  "support": {
1046
- "issues": "https://github.com/ralouphie/getallheaders/issues",
1047
- "source": "https://github.com/ralouphie/getallheaders/tree/develop"
1048
  },
1049
- "install-path": "../ralouphie/getallheaders"
1050
  },
1051
  {
1052
- "name": "symfony/polyfill-intl-idn",
1053
- "version": "v1.19.0",
1054
- "version_normalized": "1.19.0.0",
1055
  "source": {
1056
  "type": "git",
1057
- "url": "https://github.com/symfony/polyfill-intl-idn.git",
1058
- "reference": "4ad5115c0f5d5172a9fe8147675ec6de266d8826"
1059
  },
1060
  "dist": {
1061
  "type": "zip",
1062
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/4ad5115c0f5d5172a9fe8147675ec6de266d8826",
1063
- "reference": "4ad5115c0f5d5172a9fe8147675ec6de266d8826",
1064
  "shasum": ""
1065
  },
1066
  "require": {
1067
- "php": ">=5.3.3",
1068
- "symfony/polyfill-intl-normalizer": "^1.10",
1069
- "symfony/polyfill-php70": "^1.10",
1070
- "symfony/polyfill-php72": "^1.10"
1071
- },
1072
- "suggest": {
1073
- "ext-intl": "For best performance"
1074
  },
1075
- "time": "2020-10-21T09:57:48+00:00",
1076
  "type": "library",
1077
  "extra": {
1078
  "branch-alias": {
1079
- "dev-main": "1.19-dev"
1080
- },
1081
- "thanks": {
1082
- "name": "symfony/polyfill",
1083
- "url": "https://github.com/symfony/polyfill"
1084
  }
1085
  },
1086
  "installation-source": "dist",
1087
  "autoload": {
1088
  "psr-4": {
1089
- "Symfony\\Polyfill\\Intl\\Idn\\": ""
1090
- },
1091
- "files": [
1092
- "bootstrap.php"
1093
- ]
1094
  },
1095
  "notification-url": "https://packagist.org/downloads/",
1096
  "license": [
@@ -1098,90 +1113,55 @@
1098
  ],
1099
  "authors": [
1100
  {
1101
- "name": "Laurent Bassin",
1102
- "email": "laurent@bassin.info"
1103
- },
1104
- {
1105
- "name": "Trevor Rowbotham",
1106
- "email": "trevor.rowbotham@pm.me"
1107
- },
1108
- {
1109
- "name": "Symfony Community",
1110
- "homepage": "https://symfony.com/contributors"
1111
  }
1112
  ],
1113
- "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
1114
- "homepage": "https://symfony.com",
1115
  "keywords": [
1116
- "compatibility",
1117
- "idn",
1118
- "intl",
1119
- "polyfill",
1120
- "portable",
1121
- "shim"
1122
  ],
1123
  "support": {
1124
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.19.0"
1125
  },
1126
- "funding": [
1127
- {
1128
- "url": "https://symfony.com/sponsor",
1129
- "type": "custom"
1130
- },
1131
- {
1132
- "url": "https://github.com/fabpot",
1133
- "type": "github"
1134
- },
1135
- {
1136
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1137
- "type": "tidelift"
1138
- }
1139
- ],
1140
- "install-path": "../symfony/polyfill-intl-idn"
1141
  },
1142
  {
1143
- "name": "symfony/polyfill-intl-normalizer",
1144
- "version": "v1.19.0",
1145
- "version_normalized": "1.19.0.0",
1146
  "source": {
1147
  "type": "git",
1148
- "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
1149
- "reference": "8db0ae7936b42feb370840cf24de1a144fb0ef27"
1150
  },
1151
  "dist": {
1152
  "type": "zip",
1153
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8db0ae7936b42feb370840cf24de1a144fb0ef27",
1154
- "reference": "8db0ae7936b42feb370840cf24de1a144fb0ef27",
1155
  "shasum": ""
1156
  },
1157
  "require": {
1158
- "php": ">=5.3.3"
1159
- },
1160
- "suggest": {
1161
- "ext-intl": "For best performance"
1162
  },
1163
- "time": "2020-10-23T09:01:57+00:00",
1164
  "type": "library",
1165
  "extra": {
1166
  "branch-alias": {
1167
- "dev-main": "1.19-dev"
1168
- },
1169
- "thanks": {
1170
- "name": "symfony/polyfill",
1171
- "url": "https://github.com/symfony/polyfill"
1172
  }
1173
  },
1174
  "installation-source": "dist",
1175
  "autoload": {
1176
  "psr-4": {
1177
- "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
1178
- },
1179
- "files": [
1180
- "bootstrap.php"
1181
- ],
1182
- "classmap": [
1183
- "Resources/stubs"
1184
- ]
1185
  },
1186
  "notification-url": "https://packagist.org/downloads/",
1187
  "license": [
@@ -1189,83 +1169,50 @@
1189
  ],
1190
  "authors": [
1191
  {
1192
- "name": "Nicolas Grekas",
1193
- "email": "p@tchwork.com"
1194
- },
1195
- {
1196
- "name": "Symfony Community",
1197
- "homepage": "https://symfony.com/contributors"
1198
  }
1199
  ],
1200
- "description": "Symfony polyfill for intl's Normalizer class and related functions",
1201
- "homepage": "https://symfony.com",
1202
  "keywords": [
1203
- "compatibility",
1204
- "intl",
1205
- "normalizer",
1206
- "polyfill",
1207
- "portable",
1208
- "shim"
1209
  ],
1210
  "support": {
1211
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.19.0"
1212
  },
1213
- "funding": [
1214
- {
1215
- "url": "https://symfony.com/sponsor",
1216
- "type": "custom"
1217
- },
1218
- {
1219
- "url": "https://github.com/fabpot",
1220
- "type": "github"
1221
- },
1222
- {
1223
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1224
- "type": "tidelift"
1225
- }
1226
- ],
1227
- "install-path": "../symfony/polyfill-intl-normalizer"
1228
  },
1229
  {
1230
- "name": "symfony/polyfill-php70",
1231
- "version": "v1.19.0",
1232
- "version_normalized": "1.19.0.0",
1233
  "source": {
1234
  "type": "git",
1235
- "url": "https://github.com/symfony/polyfill-php70.git",
1236
- "reference": "3fe414077251a81a1b15b1c709faf5c2fbae3d4e"
1237
  },
1238
  "dist": {
1239
  "type": "zip",
1240
- "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/3fe414077251a81a1b15b1c709faf5c2fbae3d4e",
1241
- "reference": "3fe414077251a81a1b15b1c709faf5c2fbae3d4e",
1242
  "shasum": ""
1243
  },
1244
  "require": {
1245
- "paragonie/random_compat": "~1.0|~2.0|~9.99",
1246
- "php": ">=5.3.3"
1247
  },
1248
- "time": "2020-10-23T09:01:57+00:00",
1249
- "type": "library",
1250
- "extra": {
1251
- "branch-alias": {
1252
- "dev-main": "1.19-dev"
1253
- },
1254
- "thanks": {
1255
- "name": "symfony/polyfill",
1256
- "url": "https://github.com/symfony/polyfill"
1257
- }
1258
  },
 
 
1259
  "installation-source": "dist",
1260
  "autoload": {
1261
- "psr-4": {
1262
- "Symfony\\Polyfill\\Php70\\": ""
1263
- },
1264
  "files": [
1265
- "bootstrap.php"
1266
- ],
1267
- "classmap": [
1268
- "Resources/stubs"
1269
  ]
1270
  },
1271
  "notification-url": "https://packagist.org/downloads/",
@@ -1274,77 +1221,50 @@
1274
  ],
1275
  "authors": [
1276
  {
1277
- "name": "Nicolas Grekas",
1278
- "email": "p@tchwork.com"
1279
- },
1280
- {
1281
- "name": "Symfony Community",
1282
- "homepage": "https://symfony.com/contributors"
1283
  }
1284
  ],
1285
- "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
1286
- "homepage": "https://symfony.com",
1287
- "keywords": [
1288
- "compatibility",
1289
- "polyfill",
1290
- "portable",
1291
- "shim"
1292
- ],
1293
  "support": {
1294
- "source": "https://github.com/symfony/polyfill-php70/tree/v1.19.0"
 
1295
  },
1296
- "funding": [
1297
- {
1298
- "url": "https://symfony.com/sponsor",
1299
- "type": "custom"
1300
- },
1301
- {
1302
- "url": "https://github.com/fabpot",
1303
- "type": "github"
1304
- },
1305
- {
1306
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
1307
- "type": "tidelift"
1308
- }
1309
- ],
1310
- "install-path": "../symfony/polyfill-php70"
1311
  },
1312
  {
1313
- "name": "symfony/polyfill-php72",
1314
- "version": "v1.19.0",
1315
- "version_normalized": "1.19.0.0",
1316
  "source": {
1317
  "type": "git",
1318
- "url": "https://github.com/symfony/polyfill-php72.git",
1319
- "reference": "beecef6b463b06954638f02378f52496cb84bacc"
1320
  },
1321
  "dist": {
1322
  "type": "zip",
1323
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/beecef6b463b06954638f02378f52496cb84bacc",
1324
- "reference": "beecef6b463b06954638f02378f52496cb84bacc",
1325
  "shasum": ""
1326
  },
1327
  "require": {
1328
- "php": ">=5.3.3"
1329
  },
1330
- "time": "2020-10-23T09:01:57+00:00",
1331
  "type": "library",
1332
  "extra": {
1333
  "branch-alias": {
1334
- "dev-main": "1.19-dev"
1335
  },
1336
  "thanks": {
1337
- "name": "symfony/polyfill",
1338
- "url": "https://github.com/symfony/polyfill"
1339
  }
1340
  },
1341
  "installation-source": "dist",
1342
  "autoload": {
1343
- "psr-4": {
1344
- "Symfony\\Polyfill\\Php72\\": ""
1345
- },
1346
  "files": [
1347
- "bootstrap.php"
1348
  ]
1349
  },
1350
  "notification-url": "https://packagist.org/downloads/",
@@ -1361,16 +1281,10 @@
1361
  "homepage": "https://symfony.com/contributors"
1362
  }
1363
  ],
1364
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
1365
  "homepage": "https://symfony.com",
1366
- "keywords": [
1367
- "compatibility",
1368
- "polyfill",
1369
- "portable",
1370
- "shim"
1371
- ],
1372
  "support": {
1373
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.19.0"
1374
  },
1375
  "funding": [
1376
  {
@@ -1386,7 +1300,7 @@
1386
  "type": "tidelift"
1387
  }
1388
  ],
1389
- "install-path": "../symfony/polyfill-php72"
1390
  }
1391
  ],
1392
  "dev": false,
136
  },
137
  {
138
  "name": "google/apiclient-services",
139
+ "version": "v0.231.1",
140
+ "version_normalized": "0.231.1.0",
141
  "source": {
142
  "type": "git",
143
  "url": "https://github.com/googleapis/google-api-php-client-services.git",
144
+ "reference": "d6bf7109fc77d1c67110103a42e2a7d480b217a0"
145
  },
146
  "dist": {
147
  "type": "zip",
148
+ "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/d6bf7109fc77d1c67110103a42e2a7d480b217a0",
149
+ "reference": "d6bf7109fc77d1c67110103a42e2a7d480b217a0",
150
  "shasum": ""
151
  },
152
  "require": {
155
  "require-dev": {
156
  "phpunit/phpunit": "^5.7||^8.5.13"
157
  },
158
+ "time": "2022-01-26T23:24:19+00:00",
159
  "type": "library",
160
  "installation-source": "dist",
161
  "autoload": {
177
  ],
178
  "support": {
179
  "issues": "https://github.com/googleapis/google-api-php-client-services/issues",
180
+ "source": "https://github.com/googleapis/google-api-php-client-services/tree/v0.231.1"
181
  },
182
  "install-path": "../google/apiclient-services"
183
  },
242
  },
243
  {
244
  "name": "guzzlehttp/guzzle",
245
+ "version": "7.4.1",
246
+ "version_normalized": "7.4.1.0",
247
  "source": {
248
  "type": "git",
249
  "url": "https://github.com/guzzle/guzzle.git",
250
+ "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79"
251
  },
252
  "dist": {
253
  "type": "zip",
254
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
255
+ "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
256
  "shasum": ""
257
  },
258
  "require": {
259
  "ext-json": "*",
260
+ "guzzlehttp/promises": "^1.5",
261
+ "guzzlehttp/psr7": "^1.8.3 || ^2.1",
262
+ "php": "^7.2.5 || ^8.0",
263
+ "psr/http-client": "^1.0",
264
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
265
+ },
266
+ "provide": {
267
+ "psr/http-client-implementation": "1.0"
268
  },
269
  "require-dev": {
270
+ "bamarni/composer-bin-plugin": "^1.4.1",
271
  "ext-curl": "*",
272
+ "php-http/client-integration-tests": "^3.0",
273
+ "phpunit/phpunit": "^8.5.5 || ^9.3.5",
274
+ "psr/log": "^1.1 || ^2.0 || ^3.0"
275
  },
276
  "suggest": {
277
+ "ext-curl": "Required for CURL handler support",
278
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
279
  "psr/log": "Required for using the Log middleware"
280
  },
281
+ "time": "2021-12-06T18:43:05+00:00",
282
  "type": "library",
283
  "extra": {
284
  "branch-alias": {
285
+ "dev-master": "7.4-dev"
286
  }
287
  },
288
  "installation-source": "dist",
299
  "MIT"
300
  ],
301
  "authors": [
302
+ {
303
+ "name": "Graham Campbell",
304
+ "email": "hello@gjcampbell.co.uk",
305
+ "homepage": "https://github.com/GrahamCampbell"
306
+ },
307
  {
308
  "name": "Michael Dowling",
309
  "email": "mtdowling@gmail.com",
310
  "homepage": "https://github.com/mtdowling"
311
+ },
312
+ {
313
+ "name": "Jeremy Lindblom",
314
+ "email": "jeremeamia@gmail.com",
315
+ "homepage": "https://github.com/jeremeamia"
316
+ },
317
+ {
318
+ "name": "George Mponos",
319
+ "email": "gmponos@gmail.com",
320
+ "homepage": "https://github.com/gmponos"
321
+ },
322
+ {
323
+ "name": "Tobias Nyholm",
324
+ "email": "tobias.nyholm@gmail.com",
325
+ "homepage": "https://github.com/Nyholm"
326
+ },
327
+ {
328
+ "name": "Márk Sági-Kazár",
329
+ "email": "mark.sagikazar@gmail.com",
330
+ "homepage": "https://github.com/sagikazarmark"
331
+ },
332
+ {
333
+ "name": "Tobias Schultze",
334
+ "email": "webmaster@tubo-world.de",
335
+ "homepage": "https://github.com/Tobion"
336
  }
337
  ],
338
  "description": "Guzzle is a PHP HTTP client library",
 
339
  "keywords": [
340
  "client",
341
  "curl",
342
  "framework",
343
  "http",
344
  "http client",
345
+ "psr-18",
346
+ "psr-7",
347
  "rest",
348
  "web service"
349
  ],
350
  "support": {
351
  "issues": "https://github.com/guzzle/guzzle/issues",
352
+ "source": "https://github.com/guzzle/guzzle/tree/7.4.1"
353
  },
354
+ "funding": [
355
+ {
356
+ "url": "https://github.com/GrahamCampbell",
357
+ "type": "github"
358
+ },
359
+ {
360
+ "url": "https://github.com/Nyholm",
361
+ "type": "github"
362
+ },
363
+ {
364
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
365
+ "type": "tidelift"
366
+ }
367
+ ],
368
  "install-path": "../guzzlehttp/guzzle"
369
  },
370
  {
456
  },
457
  {
458
  "name": "guzzlehttp/psr7",
459
+ "version": "2.1.0",
460
+ "version_normalized": "2.1.0.0",
461
  "source": {
462
  "type": "git",
463
  "url": "https://github.com/guzzle/psr7.git",
464
+ "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72"
465
  },
466
  "dist": {
467
  "type": "zip",
468
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
469
+ "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
470
  "shasum": ""
471
  },
472
  "require": {
473
+ "php": "^7.2.5 || ^8.0",
474
+ "psr/http-factory": "^1.0",
475
+ "psr/http-message": "^1.0",
476
+ "ralouphie/getallheaders": "^3.0"
477
  },
478
  "provide": {
479
+ "psr/http-factory-implementation": "1.0",
480
  "psr/http-message-implementation": "1.0"
481
  },
482
  "require-dev": {
483
+ "bamarni/composer-bin-plugin": "^1.4.1",
484
+ "http-interop/http-factory-tests": "^0.9",
485
+ "phpunit/phpunit": "^8.5.8 || ^9.3.10"
486
  },
487
  "suggest": {
488
  "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
489
  },
490
+ "time": "2021-10-06T17:43:30+00:00",
491
  "type": "library",
492
  "extra": {
493
  "branch-alias": {
494
+ "dev-master": "2.1-dev"
495
  }
496
  },
497
  "installation-source": "dist",
498
  "autoload": {
499
  "psr-4": {
500
  "GuzzleHttp\\Psr7\\": "src/"
501
+ }
 
 
 
502
  },
503
  "notification-url": "https://packagist.org/downloads/",
504
  "license": [
534
  "name": "Tobias Schultze",
535
  "email": "webmaster@tubo-world.de",
536
  "homepage": "https://github.com/Tobion"
537
+ },
538
+ {
539
+ "name": "Márk Sági-Kazár",
540
+ "email": "mark.sagikazar@gmail.com",
541
+ "homepage": "https://sagikazarmark.hu"
542
  }
543
  ],
544
  "description": "PSR-7 message implementation that also provides common utility methods",
554
  ],
555
  "support": {
556
  "issues": "https://github.com/guzzle/psr7/issues",
557
+ "source": "https://github.com/guzzle/psr7/tree/2.1.0"
558
  },
559
  "funding": [
560
  {
574
  },
575
  {
576
  "name": "monolog/monolog",
577
+ "version": "2.3.5",
578
+ "version_normalized": "2.3.5.0",
579
  "source": {
580
  "type": "git",
581
  "url": "https://github.com/Seldaek/monolog.git",
582
+ "reference": "fd4380d6fc37626e2f799f29d91195040137eba9"
583
  },
584
  "dist": {
585
  "type": "zip",
586
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9",
587
+ "reference": "fd4380d6fc37626e2f799f29d91195040137eba9",
588
  "shasum": ""
589
  },
590
  "require": {
591
+ "php": ">=7.2",
592
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
593
  },
594
  "provide": {
595
+ "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0"
596
  },
597
  "require-dev": {
598
  "aws/aws-sdk-php": "^2.4.9 || ^3.0",
599
  "doctrine/couchdb": "~1.0@dev",
600
+ "elasticsearch/elasticsearch": "^7",
601
+ "graylog2/gelf-php": "^1.4.2",
602
+ "mongodb/mongodb": "^1.8",
603
+ "php-amqplib/php-amqplib": "~2.4 || ^3",
604
  "php-console/php-console": "^3.1.3",
605
+ "phpspec/prophecy": "^1.6.1",
606
+ "phpstan/phpstan": "^0.12.91",
607
+ "phpunit/phpunit": "^8.5",
608
+ "predis/predis": "^1.1",
609
+ "rollbar/rollbar": "^1.3",
610
+ "ruflin/elastica": ">=0.90@dev",
611
  "swiftmailer/swiftmailer": "^5.3|^6.0"
612
  },
613
  "suggest": {
614
  "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
615
  "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
616
+ "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
617
  "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
618
+ "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
619
+ "ext-mbstring": "Allow to work properly with unicode symbols",
620
+ "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
621
+ "ext-openssl": "Required to send log messages using SSL",
622
+ "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
623
  "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
624
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
625
  "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
626
  "php-console/php-console": "Allow sending log messages to Google Chrome",
627
  "rollbar/rollbar": "Allow sending log messages to Rollbar",
628
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
 
629
  },
630
+ "time": "2021-10-01T21:08:31+00:00",
631
  "type": "library",
632
+ "extra": {
633
+ "branch-alias": {
634
+ "dev-main": "2.x-dev"
635
+ }
636
+ },
637
  "installation-source": "dist",
638
  "autoload": {
639
  "psr-4": {
648
  {
649
  "name": "Jordi Boggiano",
650
  "email": "j.boggiano@seld.be",
651
+ "homepage": "https://seld.be"
652
  }
653
  ],
654
  "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
655
+ "homepage": "https://github.com/Seldaek/monolog",
656
  "keywords": [
657
  "log",
658
  "logging",
660
  ],
661
  "support": {
662
  "issues": "https://github.com/Seldaek/monolog/issues",
663
+ "source": "https://github.com/Seldaek/monolog/tree/2.3.5"
664
  },
665
  "funding": [
666
  {
964
  "install-path": "../psr/cache"
965
  },
966
  {
967
+ "name": "psr/http-client",
968
  "version": "1.0.1",
969
  "version_normalized": "1.0.1.0",
970
  "source": {
971
  "type": "git",
972
+ "url": "https://github.com/php-fig/http-client.git",
973
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
974
  },
975
  "dist": {
976
  "type": "zip",
977
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
978
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
979
  "shasum": ""
980
  },
981
  "require": {
982
+ "php": "^7.0 || ^8.0",
983
+ "psr/http-message": "^1.0"
984
  },
985
+ "time": "2020-06-29T06:28:15+00:00",
986
  "type": "library",
987
  "extra": {
988
  "branch-alias": {
992
  "installation-source": "dist",
993
  "autoload": {
994
  "psr-4": {
995
+ "Psr\\Http\\Client\\": "src/"
996
  }
997
  },
998
  "notification-url": "https://packagist.org/downloads/",
1005
  "homepage": "http://www.php-fig.org/"
1006
  }
1007
  ],
1008
+ "description": "Common interface for HTTP clients",
1009
+ "homepage": "https://github.com/php-fig/http-client",
1010
  "keywords": [
1011
  "http",
1012
+ "http-client",
1013
  "psr",
1014
+ "psr-18"
 
 
1015
  ],
1016
  "support": {
1017
+ "source": "https://github.com/php-fig/http-client/tree/master"
1018
  },
1019
+ "install-path": "../psr/http-client"
1020
  },
1021
  {
1022
+ "name": "psr/http-factory",
1023
+ "version": "1.0.1",
1024
+ "version_normalized": "1.0.1.0",
1025
  "source": {
1026
  "type": "git",
1027
+ "url": "https://github.com/php-fig/http-factory.git",
1028
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
1029
  },
1030
  "dist": {
1031
  "type": "zip",
1032
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
1033
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
1034
  "shasum": ""
1035
  },
1036
  "require": {
1037
+ "php": ">=7.0.0",
1038
+ "psr/http-message": "^1.0"
1039
  },
1040
+ "time": "2019-04-30T12:38:16+00:00",
1041
  "type": "library",
1042
  "extra": {
1043
  "branch-alias": {
1044
+ "dev-master": "1.0.x-dev"
1045
  }
1046
  },
1047
  "installation-source": "dist",
1048
  "autoload": {
1049
  "psr-4": {
1050
+ "Psr\\Http\\Message\\": "src/"
1051
  }
1052
  },
1053
  "notification-url": "https://packagist.org/downloads/",
1057
  "authors": [
1058
  {
1059
  "name": "PHP-FIG",
1060
+ "homepage": "http://www.php-fig.org/"
1061
  }
1062
  ],
1063
+ "description": "Common interfaces for PSR-7 HTTP message factories",
 
1064
  "keywords": [
1065
+ "factory",
1066
+ "http",
1067
+ "message",
1068
  "psr",
1069
+ "psr-17",
1070
+ "psr-7",
1071
+ "request",
1072
+ "response"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1073
  ],
 
1074
  "support": {
1075
+ "source": "https://github.com/php-fig/http-factory/tree/master"
 
1076
  },
1077
+ "install-path": "../psr/http-factory"
1078
  },
1079
  {
1080
+ "name": "psr/http-message",
1081
+ "version": "1.0.1",
1082
+ "version_normalized": "1.0.1.0",
1083
  "source": {
1084
  "type": "git",
1085
+ "url": "https://github.com/php-fig/http-message.git",
1086
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
1087
  },
1088
  "dist": {
1089
  "type": "zip",
1090
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
1091
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
1092
  "shasum": ""
1093
  },
1094
  "require": {
1095
+ "php": ">=5.3.0"
 
 
 
 
 
 
1096
  },
1097
+ "time": "2016-08-06T14:39:51+00:00",
1098
  "type": "library",
1099
  "extra": {
1100
  "branch-alias": {
1101
+ "dev-master": "1.0.x-dev"
 
 
 
 
1102
  }
1103
  },
1104
  "installation-source": "dist",
1105
  "autoload": {
1106
  "psr-4": {
1107
+ "Psr\\Http\\Message\\": "src/"
1108
+ }
 
 
 
1109
  },
1110
  "notification-url": "https://packagist.org/downloads/",
1111
  "license": [
1113
  ],
1114
  "authors": [
1115
  {
1116
+ "name": "PHP-FIG",
1117
+ "homepage": "http://www.php-fig.org/"
 
 
 
 
 
 
 
 
1118
  }
1119
  ],
1120
+ "description": "Common interface for HTTP messages",
1121
+ "homepage": "https://github.com/php-fig/http-message",
1122
  "keywords": [
1123
+ "http",
1124
+ "http-message",
1125
+ "psr",
1126
+ "psr-7",
1127
+ "request",
1128
+ "response"
1129
  ],
1130
  "support": {
1131
+ "source": "https://github.com/php-fig/http-message/tree/master"
1132
  },
1133
+ "install-path": "../psr/http-message"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1134
  },
1135
  {
1136
+ "name": "psr/log",
1137
+ "version": "1.1.4",
1138
+ "version_normalized": "1.1.4.0",
1139
  "source": {
1140
  "type": "git",
1141
+ "url": "https://github.com/php-fig/log.git",
1142
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
1143
  },
1144
  "dist": {
1145
  "type": "zip",
1146
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
1147
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
1148
  "shasum": ""
1149
  },
1150
  "require": {
1151
+ "php": ">=5.3.0"
 
 
 
1152
  },
1153
+ "time": "2021-05-03T11:20:27+00:00",
1154
  "type": "library",
1155
  "extra": {
1156
  "branch-alias": {
1157
+ "dev-master": "1.1.x-dev"
 
 
 
 
1158
  }
1159
  },
1160
  "installation-source": "dist",
1161
  "autoload": {
1162
  "psr-4": {
1163
+ "Psr\\Log\\": "Psr/Log/"
1164
+ }
 
 
 
 
 
 
1165
  },
1166
  "notification-url": "https://packagist.org/downloads/",
1167
  "license": [
1169
  ],
1170
  "authors": [
1171
  {
1172
+ "name": "PHP-FIG",
1173
+ "homepage": "https://www.php-fig.org/"
 
 
 
 
1174
  }
1175
  ],
1176
+ "description": "Common interface for logging libraries",
1177
+ "homepage": "https://github.com/php-fig/log",
1178
  "keywords": [
1179
+ "log",
1180
+ "psr",
1181
+ "psr-3"
 
 
 
1182
  ],
1183
  "support": {
1184
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
1185
  },
1186
+ "install-path": "../psr/log"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1187
  },
1188
  {
1189
+ "name": "ralouphie/getallheaders",
1190
+ "version": "3.0.3",
1191
+ "version_normalized": "3.0.3.0",
1192
  "source": {
1193
  "type": "git",
1194
+ "url": "https://github.com/ralouphie/getallheaders.git",
1195
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
1196
  },
1197
  "dist": {
1198
  "type": "zip",
1199
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
1200
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
1201
  "shasum": ""
1202
  },
1203
  "require": {
1204
+ "php": ">=5.6"
 
1205
  },
1206
+ "require-dev": {
1207
+ "php-coveralls/php-coveralls": "^2.1",
1208
+ "phpunit/phpunit": "^5 || ^6.5"
 
 
 
 
 
 
 
1209
  },
1210
+ "time": "2019-03-08T08:55:37+00:00",
1211
+ "type": "library",
1212
  "installation-source": "dist",
1213
  "autoload": {
 
 
 
1214
  "files": [
1215
+ "src/getallheaders.php"
 
 
 
1216
  ]
1217
  },
1218
  "notification-url": "https://packagist.org/downloads/",
1221
  ],
1222
  "authors": [
1223
  {
1224
+ "name": "Ralph Khattar",
1225
+ "email": "ralph.khattar@gmail.com"
 
 
 
 
1226
  }
1227
  ],
1228
+ "description": "A polyfill for getallheaders.",
 
 
 
 
 
 
 
1229
  "support": {
1230
+ "issues": "https://github.com/ralouphie/getallheaders/issues",
1231
+ "source": "https://github.com/ralouphie/getallheaders/tree/develop"
1232
  },
1233
+ "install-path": "../ralouphie/getallheaders"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1234
  },
1235
  {
1236
+ "name": "symfony/deprecation-contracts",
1237
+ "version": "v2.5.0",
1238
+ "version_normalized": "2.5.0.0",
1239
  "source": {
1240
  "type": "git",
1241
+ "url": "https://github.com/symfony/deprecation-contracts.git",
1242
+ "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
1243
  },
1244
  "dist": {
1245
  "type": "zip",
1246
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
1247
+ "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
1248
  "shasum": ""
1249
  },
1250
  "require": {
1251
+ "php": ">=7.1"
1252
  },
1253
+ "time": "2021-07-12T14:48:14+00:00",
1254
  "type": "library",
1255
  "extra": {
1256
  "branch-alias": {
1257
+ "dev-main": "2.5-dev"
1258
  },
1259
  "thanks": {
1260
+ "name": "symfony/contracts",
1261
+ "url": "https://github.com/symfony/contracts"
1262
  }
1263
  },
1264
  "installation-source": "dist",
1265
  "autoload": {
 
 
 
1266
  "files": [
1267
+ "function.php"
1268
  ]
1269
  },
1270
  "notification-url": "https://packagist.org/downloads/",
1281
  "homepage": "https://symfony.com/contributors"
1282
  }
1283
  ],
1284
+ "description": "A generic function and convention to trigger deprecation notices",
1285
  "homepage": "https://symfony.com",
 
 
 
 
 
 
1286
  "support": {
1287
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
1288
  },
1289
  "funding": [
1290
  {
1300
  "type": "tidelift"
1301
  }
1302
  ],
1303
+ "install-path": "../symfony/deprecation-contracts"
1304
  }
1305
  ],
1306
  "dev": false,
vendor/composer/installed.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php return array(
2
  'root' => array(
3
- 'pretty_version' => '5.4.x-dev',
4
- 'version' => '5.4.9999999.9999999-dev',
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => 'bc70b441f160569a6c33a49059b36d579e1c959e',
9
  'name' => 'wp-seopress/wp-seopress',
10
  'dev' => false,
11
  ),
@@ -29,12 +29,12 @@
29
  'dev_requirement' => false,
30
  ),
31
  'google/apiclient-services' => array(
32
- 'pretty_version' => 'v0.230.0',
33
- 'version' => '0.230.0.0',
34
  'type' => 'library',
35
  'install_path' => __DIR__ . '/../google/apiclient-services',
36
  'aliases' => array(),
37
- 'reference' => 'ec64bbf1d6af9475bee7b1ce4fc0ed8a0a8d8889',
38
  'dev_requirement' => false,
39
  ),
40
  'google/auth' => array(
@@ -47,12 +47,12 @@
47
  'dev_requirement' => false,
48
  ),
49
  'guzzlehttp/guzzle' => array(
50
- 'pretty_version' => '6.5.5',
51
- 'version' => '6.5.5.0',
52
  'type' => 'library',
53
  'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
54
  'aliases' => array(),
55
- 'reference' => '9d4290de1cfd701f38099ef7e183b64b4b7b0c5e',
56
  'dev_requirement' => false,
57
  ),
58
  'guzzlehttp/promises' => array(
@@ -65,21 +65,21 @@
65
  'dev_requirement' => false,
66
  ),
67
  'guzzlehttp/psr7' => array(
68
- 'pretty_version' => '1.8.3',
69
- 'version' => '1.8.3.0',
70
  'type' => 'library',
71
  'install_path' => __DIR__ . '/../guzzlehttp/psr7',
72
  'aliases' => array(),
73
- 'reference' => '1afdd860a2566ed3c2b0b4a3de6e23434a79ec85',
74
  'dev_requirement' => false,
75
  ),
76
  'monolog/monolog' => array(
77
- 'pretty_version' => '1.26.1',
78
- 'version' => '1.26.1.0',
79
  'type' => 'library',
80
  'install_path' => __DIR__ . '/../monolog/monolog',
81
  'aliases' => array(),
82
- 'reference' => 'c6b00f05152ae2c9b04a448f99c7590beb6042f5',
83
  'dev_requirement' => false,
84
  ),
85
  'paragonie/constant_time_encoding' => array(
@@ -118,6 +118,36 @@
118
  'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
119
  'dev_requirement' => false,
120
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  'psr/http-message' => array(
122
  'pretty_version' => '1.0.1',
123
  'version' => '1.0.1.0',
@@ -145,7 +175,7 @@
145
  'psr/log-implementation' => array(
146
  'dev_requirement' => false,
147
  'provided' => array(
148
- 0 => '1.0.0',
149
  ),
150
  ),
151
  'ralouphie/getallheaders' => array(
@@ -157,49 +187,22 @@
157
  'reference' => '120b605dfeb996808c31b6477290a714d356e822',
158
  'dev_requirement' => false,
159
  ),
160
- 'symfony/polyfill-intl-idn' => array(
161
- 'pretty_version' => 'v1.19.0',
162
- 'version' => '1.19.0.0',
163
- 'type' => 'library',
164
- 'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn',
165
- 'aliases' => array(),
166
- 'reference' => '4ad5115c0f5d5172a9fe8147675ec6de266d8826',
167
- 'dev_requirement' => false,
168
- ),
169
- 'symfony/polyfill-intl-normalizer' => array(
170
- 'pretty_version' => 'v1.19.0',
171
- 'version' => '1.19.0.0',
172
- 'type' => 'library',
173
- 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer',
174
- 'aliases' => array(),
175
- 'reference' => '8db0ae7936b42feb370840cf24de1a144fb0ef27',
176
- 'dev_requirement' => false,
177
- ),
178
- 'symfony/polyfill-php70' => array(
179
- 'pretty_version' => 'v1.19.0',
180
- 'version' => '1.19.0.0',
181
- 'type' => 'library',
182
- 'install_path' => __DIR__ . '/../symfony/polyfill-php70',
183
- 'aliases' => array(),
184
- 'reference' => '3fe414077251a81a1b15b1c709faf5c2fbae3d4e',
185
- 'dev_requirement' => false,
186
- ),
187
- 'symfony/polyfill-php72' => array(
188
- 'pretty_version' => 'v1.19.0',
189
- 'version' => '1.19.0.0',
190
  'type' => 'library',
191
- 'install_path' => __DIR__ . '/../symfony/polyfill-php72',
192
  'aliases' => array(),
193
- 'reference' => 'beecef6b463b06954638f02378f52496cb84bacc',
194
  'dev_requirement' => false,
195
  ),
196
  'wp-seopress/wp-seopress' => array(
197
- 'pretty_version' => '5.4.x-dev',
198
- 'version' => '5.4.9999999.9999999-dev',
199
  'type' => 'wordpress-plugin',
200
  'install_path' => __DIR__ . '/../../',
201
  'aliases' => array(),
202
- 'reference' => 'bc70b441f160569a6c33a49059b36d579e1c959e',
203
  'dev_requirement' => false,
204
  ),
205
  ),
1
  <?php return array(
2
  'root' => array(
3
+ 'pretty_version' => '5.5.x-dev',
4
+ 'version' => '5.5.9999999.9999999-dev',
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
+ 'reference' => '987c9470ceeb1ab36e3780ef101451a3a78ca49a',
9
  'name' => 'wp-seopress/wp-seopress',
10
  'dev' => false,
11
  ),
29
  'dev_requirement' => false,
30
  ),
31
  'google/apiclient-services' => array(
32
+ 'pretty_version' => 'v0.231.1',
33
+ 'version' => '0.231.1.0',
34
  'type' => 'library',
35
  'install_path' => __DIR__ . '/../google/apiclient-services',
36
  'aliases' => array(),
37
+ 'reference' => 'd6bf7109fc77d1c67110103a42e2a7d480b217a0',
38
  'dev_requirement' => false,
39
  ),
40
  'google/auth' => array(
47
  'dev_requirement' => false,
48
  ),
49
  'guzzlehttp/guzzle' => array(
50
+ 'pretty_version' => '7.4.1',
51
+ 'version' => '7.4.1.0',
52
  'type' => 'library',
53
  'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
54
  'aliases' => array(),
55
+ 'reference' => 'ee0a041b1760e6a53d2a39c8c34115adc2af2c79',
56
  'dev_requirement' => false,
57
  ),
58
  'guzzlehttp/promises' => array(
65
  'dev_requirement' => false,
66
  ),
67
  'guzzlehttp/psr7' => array(
68
+ 'pretty_version' => '2.1.0',
69
+ 'version' => '2.1.0.0',
70
  'type' => 'library',
71
  'install_path' => __DIR__ . '/../guzzlehttp/psr7',
72
  'aliases' => array(),
73
+ 'reference' => '089edd38f5b8abba6cb01567c2a8aaa47cec4c72',
74
  'dev_requirement' => false,
75
  ),
76
  'monolog/monolog' => array(
77
+ 'pretty_version' => '2.3.5',
78
+ 'version' => '2.3.5.0',
79
  'type' => 'library',
80
  'install_path' => __DIR__ . '/../monolog/monolog',
81
  'aliases' => array(),
82
+ 'reference' => 'fd4380d6fc37626e2f799f29d91195040137eba9',
83
  'dev_requirement' => false,
84
  ),
85
  'paragonie/constant_time_encoding' => array(
118
  'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8',
119
  'dev_requirement' => false,
120
  ),
121
+ 'psr/http-client' => array(
122
+ 'pretty_version' => '1.0.1',
123
+ 'version' => '1.0.1.0',
124
+ 'type' => 'library',
125
+ 'install_path' => __DIR__ . '/../psr/http-client',
126
+ 'aliases' => array(),
127
+ 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621',
128
+ 'dev_requirement' => false,
129
+ ),
130
+ 'psr/http-client-implementation' => array(
131
+ 'dev_requirement' => false,
132
+ 'provided' => array(
133
+ 0 => '1.0',
134
+ ),
135
+ ),
136
+ 'psr/http-factory' => array(
137
+ 'pretty_version' => '1.0.1',
138
+ 'version' => '1.0.1.0',
139
+ 'type' => 'library',
140
+ 'install_path' => __DIR__ . '/../psr/http-factory',
141
+ 'aliases' => array(),
142
+ 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be',
143
+ 'dev_requirement' => false,
144
+ ),
145
+ 'psr/http-factory-implementation' => array(
146
+ 'dev_requirement' => false,
147
+ 'provided' => array(
148
+ 0 => '1.0',
149
+ ),
150
+ ),
151
  'psr/http-message' => array(
152
  'pretty_version' => '1.0.1',
153
  'version' => '1.0.1.0',
175
  'psr/log-implementation' => array(
176
  'dev_requirement' => false,
177
  'provided' => array(
178
+ 0 => '1.0.0 || 2.0.0 || 3.0.0',
179
  ),
180
  ),
181
  'ralouphie/getallheaders' => array(
187
  'reference' => '120b605dfeb996808c31b6477290a714d356e822',
188
  'dev_requirement' => false,
189
  ),
190
+ 'symfony/deprecation-contracts' => array(
191
+ 'pretty_version' => 'v2.5.0',
192
+ 'version' => '2.5.0.0',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  'type' => 'library',
194
+ 'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
195
  'aliases' => array(),
196
+ 'reference' => '6f981ee24cf69ee7ce9736146d1c57c2780598a8',
197
  'dev_requirement' => false,
198
  ),
199
  'wp-seopress/wp-seopress' => array(
200
+ 'pretty_version' => '5.5.x-dev',
201
+ 'version' => '5.5.9999999.9999999-dev',
202
  'type' => 'wordpress-plugin',
203
  'install_path' => __DIR__ . '/../../',
204
  'aliases' => array(),
205
+ 'reference' => '987c9470ceeb1ab36e3780ef101451a3a78ca49a',
206
  'dev_requirement' => false,
207
  ),
208
  ),
vendor/composer/platform_check.php CHANGED
@@ -4,8 +4,8 @@
4
 
5
  $issues = array();
6
 
7
- if (!(PHP_VERSION_ID >= 70000)) {
8
- $issues[] = 'Your Composer dependencies require a PHP version ">= 7.0.0". You are running ' . PHP_VERSION . '.';
9
  }
10
 
11
  if ($issues) {
4
 
5
  $issues = array();
6
 
7
+ if (!(PHP_VERSION_ID >= 70205)) {
8
+ $issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.5". You are running ' . PHP_VERSION . '.';
9
  }
10
 
11
  if ($issues) {
vendor/google/apiclient-services/synth.metadata CHANGED
@@ -4,14 +4,14 @@
4
  "git": {
5
  "name": ".",
6
  "remote": "https://github.com/googleapis/google-api-php-client-services.git",
7
- "sha": "c67839c96bc821b202c6737c9ae1ba6fd4626653"
8
  }
9
  },
10
  {
11
  "git": {
12
  "name": "discovery-artifact-manager",
13
  "remote": "https://github.com/googleapis/discovery-artifact-manager.git",
14
- "sha": "37c6b9701df6a2421c78b4da505f4248253b2237"
15
  }
16
  }
17
  ]
4
  "git": {
5
  "name": ".",
6
  "remote": "https://github.com/googleapis/google-api-php-client-services.git",
7
+ "sha": "c7e41ff04793cdac1c7e72b148da37b09dcc5bfe"
8
  }
9
  },
10
  {
11
  "git": {
12
  "name": "discovery-artifact-manager",
13
  "remote": "https://github.com/googleapis/discovery-artifact-manager.git",
14
+ "sha": "f37da7e0496a79c44db6fbcae47a3780b1ea177f"
15
  }
16
  }
17
  ]
vendor/guzzlehttp/guzzle/.php_cs DELETED
@@ -1,23 +0,0 @@
1
- <?php
2
-
3
- $config = PhpCsFixer\Config::create()
4
- ->setRiskyAllowed(true)
5
- ->setRules([
6
- '@PSR2' => true,
7
- 'array_syntax' => ['syntax' => 'short'],
8
- 'declare_strict_types' => false,
9
- 'concat_space' => ['spacing'=>'one'],
10
- 'php_unit_test_case_static_method_calls' => ['call_type' => 'self'],
11
- 'ordered_imports' => true,
12
- // 'phpdoc_align' => ['align'=>'vertical'],
13
- // 'native_function_invocation' => true,
14
- ])
15
- ->setFinder(
16
- PhpCsFixer\Finder::create()
17
- ->in(__DIR__.'/src')
18
- ->in(__DIR__.'/tests')
19
- ->name('*.php')
20
- )
21
- ;
22
-
23
- return $config;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzlehttp/guzzle/CHANGELOG.md CHANGED
@@ -1,17 +1,174 @@
1
  # Change Log
2
 
3
- ## 6.5.5 - 2020-06-16
4
 
5
- * Unpin version constraint for `symfony/polyfill-intl-idn` [#2678](https://github.com/guzzle/guzzle/pull/2678)
6
 
7
- ## 6.5.4 - 2020-05-25
8
 
9
- * Fix various intl icu issues [#2626](https://github.com/guzzle/guzzle/pull/2626)
 
10
 
11
- ## 6.5.3 - 2020-04-18
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  * Use Symfony intl-idn polyfill [#2550](https://github.com/guzzle/guzzle/pull/2550)
14
- * Remove use of internal functions [#2548](https://github.com/guzzle/guzzle/pull/2548)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  ## 6.5.2 - 2019-12-23
17
 
@@ -27,16 +184,13 @@
27
  * Improvement: Added support for reset internal queue in MockHandler. [#2143](https://github.com/guzzle/guzzle/pull/2143)
28
  * Improvement: Added support to pass arbitrary options to `curl_multi_init`. [#2287](https://github.com/guzzle/guzzle/pull/2287)
29
  * Fix: Gracefully handle passing `null` to the `header` option. [#2132](https://github.com/guzzle/guzzle/pull/2132)
30
- * Fix: `RetryMiddleware` did not do exponential delay between retries due unit mismatch. [#2132](https://github.com/guzzle/guzzle/pull/2132)
31
- Previously, `RetryMiddleware` would sleep for 1 millisecond, then 2 milliseconds, then 4 milliseconds.
32
- **After this change, `RetryMiddleware` will sleep for 1 second, then 2 seconds, then 4 seconds.**
33
- `Middleware::retry()` accepts a second callback parameter to override the default timeouts if needed.
34
  * Fix: Prevent undefined offset when using array for ssl_key options. [#2348](https://github.com/guzzle/guzzle/pull/2348)
35
  * Deprecated `ClientInterface::VERSION`
36
 
37
  ## 6.4.1 - 2019-10-23
38
 
39
- * No `guzzle.phar` was created in 6.4.0 due expired API token. This release will fix that
40
  * Added `parent::__construct()` to `FileCookieJar` and `SessionCookieJar`
41
 
42
  ## 6.4.0 - 2019-10-23
@@ -358,7 +512,7 @@ object).
358
  * Note: This has been changed in 5.0.3 to now encode query string values by
359
  default unless the `rawString` argument is provided when setting the query
360
  string on a URL: Now allowing many more characters to be present in the
361
- query string without being percent encoded. See http://tools.ietf.org/html/rfc3986#appendix-A
362
 
363
  ## 5.0.1 - 2014-10-16
364
 
@@ -400,7 +554,7 @@ interfaces.
400
  responses, `GuzzleHttp\Collection`, `GuzzleHttp\Url`,
401
  `GuzzleHttp\Query`, `GuzzleHttp\Post\PostBody`, and
402
  `GuzzleHttp\Cookie\SetCookie`. This blog post provides a good outline of
403
- why I did this: http://ocramius.github.io/blog/fluent-interfaces-are-evil/.
404
  This also makes the Guzzle message interfaces compatible with the current
405
  PSR-7 message proposal.
406
  * Removed "functions.php", so that Guzzle is truly PSR-4 compliant. Except
@@ -586,8 +740,6 @@ interfaces.
586
 
587
  ## 4.0.0 - 2014-03-29
588
 
589
- * For more information on the 4.0 transition, see:
590
- http://mtdowling.com/blog/2014/03/15/guzzle-4-rc/
591
  * For information on changes and upgrading, see:
592
  https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40
593
  * Added `GuzzleHttp\batch()` as a convenience function for sending requests in
@@ -896,7 +1048,7 @@ interfaces.
896
 
897
  ## 3.4.0 - 2013-04-11
898
 
899
- * Bug fix: URLs are now resolved correctly based on http://tools.ietf.org/html/rfc3986#section-5.2. #289
900
  * Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289
901
  * Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263
902
  * Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264.
1
  # Change Log
2
 
3
+ Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version.
4
 
5
+ ## 7.4.1 - 2021-12-06
6
 
7
+ ### Changed
8
 
9
+ - Replaced implicit URI to string coercion [#2946](https://github.com/guzzle/guzzle/pull/2946)
10
+ - Allow `symfony/deprecation-contracts` version 3 [#2961](https://github.com/guzzle/guzzle/pull/2961)
11
 
12
+ ### Fixed
13
 
14
+ - Only close curl handle if it's done [#2950](https://github.com/guzzle/guzzle/pull/2950)
15
+
16
+ ## 7.4.0 - 2021-10-18
17
+
18
+ ### Added
19
+
20
+ - Support PHP 8.1 [#2929](https://github.com/guzzle/guzzle/pull/2929), [#2939](https://github.com/guzzle/guzzle/pull/2939)
21
+ - Support `psr/log` version 2 and 3 [#2943](https://github.com/guzzle/guzzle/pull/2943)
22
+
23
+ ### Fixed
24
+
25
+ - Make sure we always call `restore_error_handler()` [#2915](https://github.com/guzzle/guzzle/pull/2915)
26
+ - Fix progress parameter type compatibility between the cURL and stream handlers [#2936](https://github.com/guzzle/guzzle/pull/2936)
27
+ - Throw `InvalidArgumentException` when an incorrect `headers` array is provided [#2916](https://github.com/guzzle/guzzle/pull/2916), [#2942](https://github.com/guzzle/guzzle/pull/2942)
28
+
29
+ ### Changed
30
+
31
+ - Be more strict with types [#2914](https://github.com/guzzle/guzzle/pull/2914), [#2917](https://github.com/guzzle/guzzle/pull/2917), [#2919](https://github.com/guzzle/guzzle/pull/2919), [#2945](https://github.com/guzzle/guzzle/pull/2945)
32
+
33
+ ## 7.3.0 - 2021-03-23
34
+
35
+ ### Added
36
+
37
+ - Support for DER and P12 certificates [#2413](https://github.com/guzzle/guzzle/pull/2413)
38
+ - Support the cURL (http://) scheme for StreamHandler proxies [#2850](https://github.com/guzzle/guzzle/pull/2850)
39
+ - Support for `guzzlehttp/psr7:^2.0` [#2878](https://github.com/guzzle/guzzle/pull/2878)
40
+
41
+ ### Fixed
42
+
43
+ - Handle exceptions on invalid header consistently between PHP versions and handlers [#2872](https://github.com/guzzle/guzzle/pull/2872)
44
+
45
+ ## 7.2.0 - 2020-10-10
46
+
47
+ ### Added
48
+
49
+ - Support for PHP 8 [#2712](https://github.com/guzzle/guzzle/pull/2712), [#2715](https://github.com/guzzle/guzzle/pull/2715), [#2789](https://github.com/guzzle/guzzle/pull/2789)
50
+ - Support passing a body summarizer to the http errors middleware [#2795](https://github.com/guzzle/guzzle/pull/2795)
51
+
52
+ ### Fixed
53
+
54
+ - Handle exceptions during response creation [#2591](https://github.com/guzzle/guzzle/pull/2591)
55
+ - Fix CURLOPT_ENCODING not to be overwritten [#2595](https://github.com/guzzle/guzzle/pull/2595)
56
+ - Make sure the Request always has a body object [#2804](https://github.com/guzzle/guzzle/pull/2804)
57
+
58
+ ### Changed
59
+
60
+ - The `TooManyRedirectsException` has a response [#2660](https://github.com/guzzle/guzzle/pull/2660)
61
+ - Avoid "functions" from dependencies [#2712](https://github.com/guzzle/guzzle/pull/2712)
62
+
63
+ ### Deprecated
64
+
65
+ - Using environment variable GUZZLE_CURL_SELECT_TIMEOUT [#2786](https://github.com/guzzle/guzzle/pull/2786)
66
+
67
+ ## 7.1.1 - 2020-09-30
68
+
69
+ ### Fixed
70
+
71
+ - Incorrect EOF detection for response body streams on Windows.
72
+
73
+ ### Changed
74
+
75
+ - We dont connect curl `sink` on HEAD requests.
76
+ - Removed some PHP 5 workarounds
77
+
78
+ ## 7.1.0 - 2020-09-22
79
+
80
+ ### Added
81
+
82
+ - `GuzzleHttp\MessageFormatterInterface`
83
+
84
+ ### Fixed
85
+
86
+ - Fixed issue that caused cookies with no value not to be stored.
87
+ - On redirects, we allow all safe methods like GET, HEAD and OPTIONS.
88
+ - Fixed logging on empty responses.
89
+ - Make sure MessageFormatter::format returns string
90
+
91
+ ### Deprecated
92
+
93
+ - All functions in `GuzzleHttp` has been deprecated. Use static methods on `Utils` instead.
94
+ - `ClientInterface::getConfig()`
95
+ - `Client::getConfig()`
96
+ - `Client::__call()`
97
+ - `Utils::defaultCaBundle()`
98
+ - `CurlFactory::LOW_CURL_VERSION_NUMBER`
99
+
100
+ ## 7.0.1 - 2020-06-27
101
+
102
+ * Fix multiply defined functions fatal error [#2699](https://github.com/guzzle/guzzle/pull/2699)
103
+
104
+ ## 7.0.0 - 2020-06-27
105
+
106
+ No changes since 7.0.0-rc1.
107
+
108
+ ## 7.0.0-rc1 - 2020-06-15
109
+
110
+ ### Changed
111
+
112
+ * Use error level for logging errors in Middleware [#2629](https://github.com/guzzle/guzzle/pull/2629)
113
+ * Disabled IDN support by default and require ext-intl to use it [#2675](https://github.com/guzzle/guzzle/pull/2675)
114
+
115
+ ## 7.0.0-beta2 - 2020-05-25
116
+
117
+ ### Added
118
+
119
+ * Using `Utils` class instead of functions in the `GuzzleHttp` namespace. [#2546](https://github.com/guzzle/guzzle/pull/2546)
120
+ * `ClientInterface::MAJOR_VERSION` [#2583](https://github.com/guzzle/guzzle/pull/2583)
121
+
122
+ ### Changed
123
+
124
+ * Avoid the `getenv` function when unsafe [#2531](https://github.com/guzzle/guzzle/pull/2531)
125
+ * Added real client methods [#2529](https://github.com/guzzle/guzzle/pull/2529)
126
+ * Avoid functions due to global install conflicts [#2546](https://github.com/guzzle/guzzle/pull/2546)
127
  * Use Symfony intl-idn polyfill [#2550](https://github.com/guzzle/guzzle/pull/2550)
128
+ * Adding methods for HTTP verbs like `Client::get()`, `Client::head()`, `Client::patch()` etc [#2529](https://github.com/guzzle/guzzle/pull/2529)
129
+ * `ConnectException` extends `TransferException` [#2541](https://github.com/guzzle/guzzle/pull/2541)
130
+ * Updated the default User Agent to "GuzzleHttp/7" [#2654](https://github.com/guzzle/guzzle/pull/2654)
131
+
132
+ ### Fixed
133
+
134
+ * Various intl icu issues [#2626](https://github.com/guzzle/guzzle/pull/2626)
135
+
136
+ ### Removed
137
+
138
+ * Pool option `pool_size` [#2528](https://github.com/guzzle/guzzle/pull/2528)
139
+
140
+ ## 7.0.0-beta1 - 2019-12-30
141
+
142
+ The diff might look very big but 95% of Guzzle users will be able to upgrade without modification.
143
+ Please see [the upgrade document](UPGRADING.md) that describes all BC breaking changes.
144
+
145
+ ### Added
146
+
147
+ * Implement PSR-18 and dropped PHP 5 support [#2421](https://github.com/guzzle/guzzle/pull/2421) [#2474](https://github.com/guzzle/guzzle/pull/2474)
148
+ * PHP 7 types [#2442](https://github.com/guzzle/guzzle/pull/2442) [#2449](https://github.com/guzzle/guzzle/pull/2449) [#2466](https://github.com/guzzle/guzzle/pull/2466) [#2497](https://github.com/guzzle/guzzle/pull/2497) [#2499](https://github.com/guzzle/guzzle/pull/2499)
149
+ * IDN support for redirects [2424](https://github.com/guzzle/guzzle/pull/2424)
150
+
151
+ ### Changed
152
+
153
+ * Dont allow passing null as third argument to `BadResponseException::__construct()` [#2427](https://github.com/guzzle/guzzle/pull/2427)
154
+ * Use SAPI constant instead of method call [#2450](https://github.com/guzzle/guzzle/pull/2450)
155
+ * Use native function invocation [#2444](https://github.com/guzzle/guzzle/pull/2444)
156
+ * Better defaults for PHP installations with old ICU lib [2454](https://github.com/guzzle/guzzle/pull/2454)
157
+ * Added visibility to all constants [#2462](https://github.com/guzzle/guzzle/pull/2462)
158
+ * Dont allow passing `null` as URI to `Client::request()` and `Client::requestAsync()` [#2461](https://github.com/guzzle/guzzle/pull/2461)
159
+ * Widen the exception argument to throwable [#2495](https://github.com/guzzle/guzzle/pull/2495)
160
+
161
+ ### Fixed
162
+
163
+ * Logging when Promise rejected with a string [#2311](https://github.com/guzzle/guzzle/pull/2311)
164
+
165
+ ### Removed
166
+
167
+ * Class `SeekException` [#2162](https://github.com/guzzle/guzzle/pull/2162)
168
+ * `RequestException::getResponseBodySummary()` [#2425](https://github.com/guzzle/guzzle/pull/2425)
169
+ * `CookieJar::getCookieValue()` [#2433](https://github.com/guzzle/guzzle/pull/2433)
170
+ * `uri_template()` and `UriTemplate` [#2440](https://github.com/guzzle/guzzle/pull/2440)
171
+ * Request options `save_to` and `exceptions` [#2464](https://github.com/guzzle/guzzle/pull/2464)
172
 
173
  ## 6.5.2 - 2019-12-23
174
 
184
  * Improvement: Added support for reset internal queue in MockHandler. [#2143](https://github.com/guzzle/guzzle/pull/2143)
185
  * Improvement: Added support to pass arbitrary options to `curl_multi_init`. [#2287](https://github.com/guzzle/guzzle/pull/2287)
186
  * Fix: Gracefully handle passing `null` to the `header` option. [#2132](https://github.com/guzzle/guzzle/pull/2132)
187
+ * Fix: `RetryMiddleware` did not do exponential delay between retires due unit mismatch. [#2132](https://github.com/guzzle/guzzle/pull/2132)
 
 
 
188
  * Fix: Prevent undefined offset when using array for ssl_key options. [#2348](https://github.com/guzzle/guzzle/pull/2348)
189
  * Deprecated `ClientInterface::VERSION`
190
 
191
  ## 6.4.1 - 2019-10-23
192
 
193
+ * No `guzzle.phar` was created in 6.4.0 due expired API token. This release will fix that
194
  * Added `parent::__construct()` to `FileCookieJar` and `SessionCookieJar`
195
 
196
  ## 6.4.0 - 2019-10-23
512
  * Note: This has been changed in 5.0.3 to now encode query string values by
513
  default unless the `rawString` argument is provided when setting the query
514
  string on a URL: Now allowing many more characters to be present in the
515
+ query string without being percent encoded. See https://tools.ietf.org/html/rfc3986#appendix-A
516
 
517
  ## 5.0.1 - 2014-10-16
518
 
554
  responses, `GuzzleHttp\Collection`, `GuzzleHttp\Url`,
555
  `GuzzleHttp\Query`, `GuzzleHttp\Post\PostBody`, and
556
  `GuzzleHttp\Cookie\SetCookie`. This blog post provides a good outline of
557
+ why I did this: https://ocramius.github.io/blog/fluent-interfaces-are-evil/.
558
  This also makes the Guzzle message interfaces compatible with the current
559
  PSR-7 message proposal.
560
  * Removed "functions.php", so that Guzzle is truly PSR-4 compliant. Except
740
 
741
  ## 4.0.0 - 2014-03-29
742
 
 
 
743
  * For information on changes and upgrading, see:
744
  https://github.com/guzzle/guzzle/blob/master/UPGRADING.md#3x-to-40
745
  * Added `GuzzleHttp\batch()` as a convenience function for sending requests in
1048
 
1049
  ## 3.4.0 - 2013-04-11
1050
 
1051
+ * Bug fix: URLs are now resolved correctly based on https://tools.ietf.org/html/rfc3986#section-5.2. #289
1052
  * Bug fix: Absolute URLs with a path in a service description will now properly override the base URL. #289
1053
  * Bug fix: Parsing a query string with a single PHP array value will now result in an array. #263
1054
  * Bug fix: Better normalization of the User-Agent header to prevent duplicate headers. #264.
vendor/guzzlehttp/guzzle/Dockerfile DELETED
@@ -1,18 +0,0 @@
1
- FROM composer:latest as setup
2
-
3
- RUN mkdir /guzzle
4
-
5
- WORKDIR /guzzle
6
-
7
- RUN set -xe \
8
- && composer init --name=guzzlehttp/test --description="Simple project for testing Guzzle scripts" --author="Márk Sági-Kazár <mark.sagikazar@gmail.com>" --no-interaction \
9
- && composer require guzzlehttp/guzzle
10
-
11
-
12
- FROM php:7.3
13
-
14
- RUN mkdir /guzzle
15
-
16
- WORKDIR /guzzle
17
-
18
- COPY --from=setup /guzzle /guzzle
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzlehttp/guzzle/LICENSE CHANGED
@@ -1,4 +1,12 @@
1
- Copyright (c) 2011-2018 Michael Dowling, https://github.com/mtdowling <mtdowling@gmail.com>
 
 
 
 
 
 
 
 
2
 
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
  of this software and associated documentation files (the "Software"), to deal
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2011 Michael Dowling <mtdowling@gmail.com>
4
+ Copyright (c) 2012 Jeremy Lindblom <jeremeamia@gmail.com>
5
+ Copyright (c) 2014 Graham Campbell <hello@gjcampbell.co.uk>
6
+ Copyright (c) 2015 Márk Sági-Kazár <mark.sagikazar@gmail.com>
7
+ Copyright (c) 2015 Tobias Schultze <webmaster@tubo-world.de>
8
+ Copyright (c) 2016 Tobias Nyholm <tobias.nyholm@gmail.com>
9
+ Copyright (c) 2016 George Mponos <gmponos@gmail.com>
10
 
11
  Permission is hereby granted, free of charge, to any person obtaining a copy
12
  of this software and associated documentation files (the "Software"), to deal
vendor/guzzlehttp/guzzle/README.md CHANGED
@@ -1,8 +1,9 @@
1
- Guzzle, PHP HTTP client
2
- =======================
 
3
 
4
  [![Latest Version](https://img.shields.io/github/release/guzzle/guzzle.svg?style=flat-square)](https://github.com/guzzle/guzzle/releases)
5
- [![Build Status](https://img.shields.io/travis/guzzle/guzzle.svg?style=flat-square)](https://travis-ci.org/guzzle/guzzle)
6
  [![Total Downloads](https://img.shields.io/packagist/dt/guzzlehttp/guzzle.svg?style=flat-square)](https://packagist.org/packages/guzzlehttp/guzzle)
7
 
8
  Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and
@@ -14,6 +15,7 @@ trivial to integrate with web services.
14
  - Can send both synchronous and asynchronous requests using the same interface.
15
  - Uses PSR-7 interfaces for requests, responses, and streams. This allows you
16
  to utilize other PSR-7 compatible libraries with Guzzle.
 
17
  - Abstracts away the underlying HTTP transport, allowing you to write
18
  environment and transport agnostic code; i.e., no hard dependency on cURL,
19
  PHP streams, sockets, or non-blocking event loops.
@@ -23,11 +25,11 @@ trivial to integrate with web services.
23
  $client = new \GuzzleHttp\Client();
24
  $response = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');
25
 
26
- echo $response->getStatusCode(); # 200
27
- echo $response->getHeaderLine('content-type'); # 'application/json; charset=utf8'
28
- echo $response->getBody(); # '{"id": 1420053, "name": "guzzle", ...}'
29
 
30
- # Send an asynchronous request.
31
  $request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
32
  $promise = $client->sendAsync($request)->then(function ($response) {
33
  echo 'I completed! ' . $response->getBody();
@@ -38,39 +40,23 @@ $promise->wait();
38
 
39
  ## Help and docs
40
 
 
 
41
  - [Documentation](http://guzzlephp.org/)
42
  - [Stack Overflow](http://stackoverflow.com/questions/tagged/guzzle)
 
43
  - [Gitter](https://gitter.im/guzzle/guzzle)
44
 
45
 
46
  ## Installing Guzzle
47
 
48
  The recommended way to install Guzzle is through
49
- [Composer](http://getcomposer.org).
50
-
51
- ```bash
52
- # Install Composer
53
- curl -sS https://getcomposer.org/installer | php
54
- ```
55
-
56
- Next, run the Composer command to install the latest stable version of Guzzle:
57
 
58
  ```bash
59
  composer require guzzlehttp/guzzle
60
  ```
61
 
62
- After installing, you need to require Composer's autoloader:
63
-
64
- ```php
65
- require 'vendor/autoload.php';
66
- ```
67
-
68
- You can then later update Guzzle using composer:
69
-
70
- ```bash
71
- composer update
72
- ```
73
-
74
 
75
  ## Version Guidance
76
 
@@ -79,12 +65,30 @@ composer update
79
  | 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >= 5.3.3 |
80
  | 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >= 5.4 |
81
  | 5.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >= 5.4 |
82
- | 6.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >= 5.5 |
 
83
 
84
  [guzzle-3-repo]: https://github.com/guzzle/guzzle3
85
  [guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x
86
  [guzzle-5-repo]: https://github.com/guzzle/guzzle/tree/5.3
87
- [guzzle-6-repo]: https://github.com/guzzle/guzzle
 
88
  [guzzle-3-docs]: http://guzzle3.readthedocs.org
89
- [guzzle-5-docs]: http://guzzle.readthedocs.org/en/5.3/
90
- [guzzle-6-docs]: http://guzzle.readthedocs.org/en/latest/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ![Guzzle](.github/logo.png?raw=true)
2
+
3
+ # Guzzle, PHP HTTP client
4
 
5
  [![Latest Version](https://img.shields.io/github/release/guzzle/guzzle.svg?style=flat-square)](https://github.com/guzzle/guzzle/releases)
6
+ [![Build Status](https://img.shields.io/github/workflow/status/guzzle/guzzle/CI?label=ci%20build&style=flat-square)](https://github.com/guzzle/guzzle/actions?query=workflow%3ACI)
7
  [![Total Downloads](https://img.shields.io/packagist/dt/guzzlehttp/guzzle.svg?style=flat-square)](https://packagist.org/packages/guzzlehttp/guzzle)
8
 
9
  Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and
15
  - Can send both synchronous and asynchronous requests using the same interface.
16
  - Uses PSR-7 interfaces for requests, responses, and streams. This allows you
17
  to utilize other PSR-7 compatible libraries with Guzzle.
18
+ - Supports PSR-18 allowing interoperability between other PSR-18 HTTP Clients.
19
  - Abstracts away the underlying HTTP transport, allowing you to write
20
  environment and transport agnostic code; i.e., no hard dependency on cURL,
21
  PHP streams, sockets, or non-blocking event loops.
25
  $client = new \GuzzleHttp\Client();
26
  $response = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');
27
 
28
+ echo $response->getStatusCode(); // 200
29
+ echo $response->getHeaderLine('content-type'); // 'application/json; charset=utf8'
30
+ echo $response->getBody(); // '{"id": 1420053, "name": "guzzle", ...}'
31
 
32
+ // Send an asynchronous request.
33
  $request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
34
  $promise = $client->sendAsync($request)->then(function ($response) {
35
  echo 'I completed! ' . $response->getBody();
40
 
41
  ## Help and docs
42
 
43
+ We use GitHub issues only to discuss bugs and new features. For support please refer to:
44
+
45
  - [Documentation](http://guzzlephp.org/)
46
  - [Stack Overflow](http://stackoverflow.com/questions/tagged/guzzle)
47
+ - [#guzzle](https://app.slack.com/client/T0D2S9JCT/CE6UAAKL4) channel on [PHP-HTTP Slack](http://slack.httplug.io/)
48
  - [Gitter](https://gitter.im/guzzle/guzzle)
49
 
50
 
51
  ## Installing Guzzle
52
 
53
  The recommended way to install Guzzle is through
54
+ [Composer](https://getcomposer.org/).
 
 
 
 
 
 
 
55
 
56
  ```bash
57
  composer require guzzlehttp/guzzle
58
  ```
59
 
 
 
 
 
 
 
 
 
 
 
 
 
60
 
61
  ## Version Guidance
62
 
65
  | 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >= 5.3.3 |
66
  | 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >= 5.4 |
67
  | 5.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >= 5.4 |
68
+ | 6.x | Security fixes | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >= 5.5 |
69
+ | 7.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes | >= 7.2 |
70
 
71
  [guzzle-3-repo]: https://github.com/guzzle/guzzle3
72
  [guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x
73
  [guzzle-5-repo]: https://github.com/guzzle/guzzle/tree/5.3
74
+ [guzzle-6-repo]: https://github.com/guzzle/guzzle/tree/6.5
75
+ [guzzle-7-repo]: https://github.com/guzzle/guzzle
76
  [guzzle-3-docs]: http://guzzle3.readthedocs.org
77
+ [guzzle-5-docs]: http://docs.guzzlephp.org/en/5.3/
78
+ [guzzle-6-docs]: http://docs.guzzlephp.org/en/6.5/
79
+ [guzzle-7-docs]: http://docs.guzzlephp.org/en/latest/
80
+
81
+
82
+ ## Security
83
+
84
+ If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/guzzle/security/policy) for more information.
85
+
86
+ ## License
87
+
88
+ Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information.
89
+
90
+ ## For Enterprise
91
+
92
+ Available as part of the Tidelift Subscription
93
+
94
+ The maintainers of Guzzle and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/packagist-guzzlehttp-guzzle?utm_source=packagist-guzzlehttp-guzzle&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
vendor/guzzlehttp/guzzle/UPGRADING.md CHANGED
@@ -1,10 +1,60 @@
1
  Guzzle Upgrade Guide
2
  ====================
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  5.0 to 6.0
5
  ----------
6
 
7
- Guzzle now uses [PSR-7](http://www.php-fig.org/psr/psr-7/) for HTTP messages.
8
  Due to the fact that these messages are immutable, this prompted a refactoring
9
  of Guzzle to use a middleware based system rather than an event system. Any
10
  HTTP message interaction (e.g., `GuzzleHttp\Message\Request`) need to be
@@ -167,7 +217,7 @@ passing a `GuzzleHttp\Adapter\AdapterInterface`, you must now pass a PHP
167
 
168
  ## Removed Fluent Interfaces
169
 
170
- [Fluent interfaces were removed](http://ocramius.github.io/blog/fluent-interfaces-are-evil)
171
  from the following classes:
172
 
173
  - `GuzzleHttp\Collection`
@@ -820,7 +870,7 @@ HeaderInterface (e.g. toArray(), getAll(), etc.).
820
  3.3 to 3.4
821
  ----------
822
 
823
- Base URLs of a client now follow the rules of http://tools.ietf.org/html/rfc3986#section-5.2.2 when merging URLs.
824
 
825
  3.2 to 3.3
826
  ----------
1
  Guzzle Upgrade Guide
2
  ====================
3
 
4
+ 6.0 to 7.0
5
+ ----------
6
+
7
+ In order to take advantage of the new features of PHP, Guzzle dropped the support
8
+ of PHP 5. The minimum supported PHP version is now PHP 7.2. Type hints and return
9
+ types for functions and methods have been added wherever possible.
10
+
11
+ Please make sure:
12
+ - You are calling a function or a method with the correct type.
13
+ - If you extend a class of Guzzle; update all signatures on methods you override.
14
+
15
+ #### Other backwards compatibility breaking changes
16
+
17
+ - Class `GuzzleHttp\UriTemplate` is removed.
18
+ - Class `GuzzleHttp\Exception\SeekException` is removed.
19
+ - Classes `GuzzleHttp\Exception\BadResponseException`, `GuzzleHttp\Exception\ClientException`,
20
+ `GuzzleHttp\Exception\ServerException` can no longer be initialized with an empty
21
+ Response as argument.
22
+ - Class `GuzzleHttp\Exception\ConnectException` now extends `GuzzleHttp\Exception\TransferException`
23
+ instead of `GuzzleHttp\Exception\RequestException`.
24
+ - Function `GuzzleHttp\Exception\ConnectException::getResponse()` is removed.
25
+ - Function `GuzzleHttp\Exception\ConnectException::hasResponse()` is removed.
26
+ - Constant `GuzzleHttp\ClientInterface::VERSION` is removed. Added `GuzzleHttp\ClientInterface::MAJOR_VERSION` instead.
27
+ - Function `GuzzleHttp\Exception\RequestException::getResponseBodySummary` is removed.
28
+ Use `\GuzzleHttp\Psr7\get_message_body_summary` as an alternative.
29
+ - Function `GuzzleHttp\Cookie\CookieJar::getCookieValue` is removed.
30
+ - Request option `exception` is removed. Please use `http_errors`.
31
+ - Request option `save_to` is removed. Please use `sink`.
32
+ - Pool option `pool_size` is removed. Please use `concurrency`.
33
+ - We now look for environment variables in the `$_SERVER` super global, due to thread safety issues with `getenv`. We continue to fallback to `getenv` in CLI environments, for maximum compatibility.
34
+ - The `get`, `head`, `put`, `post`, `patch`, `delete`, `getAsync`, `headAsync`, `putAsync`, `postAsync`, `patchAsync`, and `deleteAsync` methods are now implemented as genuine methods on `GuzzleHttp\Client`, with strong typing. The original `__call` implementation remains unchanged for now, for maximum backwards compatibility, but won't be invoked under normal operation.
35
+ - The `log` middleware will log the errors with level `error` instead of `notice`
36
+ - Support for international domain names (IDN) is now disabled by default, and enabling it requires installing ext-intl, linked against a modern version of the C library (ICU 4.6 or higher).
37
+
38
+ #### Native functions calls
39
+
40
+ All internal native functions calls of Guzzle are now prefixed with a slash. This
41
+ change makes it impossible for method overloading by other libraries or applications.
42
+ Example:
43
+
44
+ ```php
45
+ // Before:
46
+ curl_version();
47
+
48
+ // After:
49
+ \curl_version();
50
+ ```
51
+
52
+ For the full diff you can check [here](https://github.com/guzzle/guzzle/compare/6.5.4..master).
53
+
54
  5.0 to 6.0
55
  ----------
56
 
57
+ Guzzle now uses [PSR-7](https://www.php-fig.org/psr/psr-7/) for HTTP messages.
58
  Due to the fact that these messages are immutable, this prompted a refactoring
59
  of Guzzle to use a middleware based system rather than an event system. Any
60
  HTTP message interaction (e.g., `GuzzleHttp\Message\Request`) need to be
217
 
218
  ## Removed Fluent Interfaces
219
 
220
+ [Fluent interfaces were removed](https://ocramius.github.io/blog/fluent-interfaces-are-evil/)
221
  from the following classes:
222
 
223
  - `GuzzleHttp\Collection`
870
  3.3 to 3.4
871
  ----------
872
 
873
+ Base URLs of a client now follow the rules of https://tools.ietf.org/html/rfc3986#section-5.2.2 when merging URLs.
874
 
875
  3.2 to 3.3
876
  ----------
vendor/guzzlehttp/guzzle/composer.json CHANGED
@@ -1,6 +1,5 @@
1
  {
2
  "name": "guzzlehttp/guzzle",
3
- "type": "library",
4
  "description": "Guzzle is a PHP HTTP client library",
5
  "keywords": [
6
  "framework",
@@ -9,38 +8,78 @@
9
  "web service",
10
  "curl",
11
  "client",
12
- "HTTP client"
 
 
13
  ],
14
- "homepage": "http://guzzlephp.org/",
15
  "license": "MIT",
16
  "authors": [
 
 
 
 
 
17
  {
18
  "name": "Michael Dowling",
19
  "email": "mtdowling@gmail.com",
20
  "homepage": "https://github.com/mtdowling"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  }
22
  ],
23
  "require": {
24
- "php": ">=5.5",
25
  "ext-json": "*",
26
- "symfony/polyfill-intl-idn": "^1.17.0",
27
- "guzzlehttp/promises": "^1.0",
28
- "guzzlehttp/psr7": "^1.6.1"
 
 
 
 
29
  },
30
  "require-dev": {
31
  "ext-curl": "*",
32
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
33
- "psr/log": "^1.1"
 
 
34
  },
35
  "suggest": {
 
 
36
  "psr/log": "Required for using the Log middleware"
37
  },
38
  "config": {
 
39
  "sort-packages": true
40
  },
41
  "extra": {
42
  "branch-alias": {
43
- "dev-master": "6.5-dev"
44
  }
45
  },
46
  "autoload": {
1
  {
2
  "name": "guzzlehttp/guzzle",
 
3
  "description": "Guzzle is a PHP HTTP client library",
4
  "keywords": [
5
  "framework",
8
  "web service",
9
  "curl",
10
  "client",
11
+ "HTTP client",
12
+ "PSR-7",
13
+ "PSR-18"
14
  ],
 
15
  "license": "MIT",
16
  "authors": [
17
+ {
18
+ "name": "Graham Campbell",
19
+ "email": "hello@gjcampbell.co.uk",
20
+ "homepage": "https://github.com/GrahamCampbell"
21
+ },
22
  {
23
  "name": "Michael Dowling",
24
  "email": "mtdowling@gmail.com",
25
  "homepage": "https://github.com/mtdowling"
26
+ },
27
+ {
28
+ "name": "Jeremy Lindblom",
29
+ "email": "jeremeamia@gmail.com",
30
+ "homepage": "https://github.com/jeremeamia"
31
+ },
32
+ {
33
+ "name": "George Mponos",
34
+ "email": "gmponos@gmail.com",
35
+ "homepage": "https://github.com/gmponos"
36
+ },
37
+ {
38
+ "name": "Tobias Nyholm",
39
+ "email": "tobias.nyholm@gmail.com",
40
+ "homepage": "https://github.com/Nyholm"
41
+ },
42
+ {
43
+ "name": "Márk Sági-Kazár",
44
+ "email": "mark.sagikazar@gmail.com",
45
+ "homepage": "https://github.com/sagikazarmark"
46
+ },
47
+ {
48
+ "name": "Tobias Schultze",
49
+ "email": "webmaster@tubo-world.de",
50
+ "homepage": "https://github.com/Tobion"
51
  }
52
  ],
53
  "require": {
54
+ "php": "^7.2.5 || ^8.0",
55
  "ext-json": "*",
56
+ "guzzlehttp/promises": "^1.5",
57
+ "guzzlehttp/psr7": "^1.8.3 || ^2.1",
58
+ "psr/http-client": "^1.0",
59
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
60
+ },
61
+ "provide": {
62
+ "psr/http-client-implementation": "1.0"
63
  },
64
  "require-dev": {
65
  "ext-curl": "*",
66
+ "bamarni/composer-bin-plugin": "^1.4.1",
67
+ "php-http/client-integration-tests": "^3.0",
68
+ "phpunit/phpunit": "^8.5.5 || ^9.3.5",
69
+ "psr/log": "^1.1 || ^2.0 || ^3.0"
70
  },
71
  "suggest": {
72
+ "ext-curl": "Required for CURL handler support",
73
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
74
  "psr/log": "Required for using the Log middleware"
75
  },
76
  "config": {
77
+ "preferred-install": "dist",
78
  "sort-packages": true
79
  },
80
  "extra": {
81
  "branch-alias": {
82
+ "dev-master": "7.4-dev"
83
  }
84
  },
85
  "autoload": {
vendor/guzzlehttp/guzzle/src/BodySummarizer.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GuzzleHttp;
4
+
5
+ use Psr\Http\Message\MessageInterface;
6
+
7
+ final class BodySummarizer implements BodySummarizerInterface
8
+ {
9
+ /**
10
+ * @var int|null
11
+ */
12
+ private $truncateAt;
13
+
14
+ public function __construct(int $truncateAt = null)
15
+ {
16
+ $this->truncateAt = $truncateAt;
17
+ }
18
+
19
+ /**
20
+ * Returns a summarized message body.
21
+ */
22
+ public function summarize(MessageInterface $message): ?string
23
+ {
24
+ return $this->truncateAt === null
25
+ ? \GuzzleHttp\Psr7\Message::bodySummary($message)
26
+ : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);
27
+ }
28
+ }
vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GuzzleHttp;
4
+
5
+ use Psr\Http\Message\MessageInterface;
6
+
7
+ interface BodySummarizerInterface
8
+ {
9
+ /**
10
+ * Returns a summarized message body.
11
+ */
12
+ public function summarize(MessageInterface $message): ?string;
13
+ }
vendor/guzzlehttp/guzzle/src/Client.php CHANGED
@@ -1,31 +1,26 @@
1
  <?php
 
2
  namespace GuzzleHttp;
3
 
4
  use GuzzleHttp\Cookie\CookieJar;
5
  use GuzzleHttp\Exception\GuzzleException;
6
- use GuzzleHttp\Promise;
7
- use GuzzleHttp\Psr7;
 
8
  use Psr\Http\Message\RequestInterface;
9
  use Psr\Http\Message\ResponseInterface;
10
  use Psr\Http\Message\UriInterface;
11
 
12
  /**
13
- * @method ResponseInterface get(string|UriInterface $uri, array $options = [])
14
- * @method ResponseInterface head(string|UriInterface $uri, array $options = [])
15
- * @method ResponseInterface put(string|UriInterface $uri, array $options = [])
16
- * @method ResponseInterface post(string|UriInterface $uri, array $options = [])
17
- * @method ResponseInterface patch(string|UriInterface $uri, array $options = [])
18
- * @method ResponseInterface delete(string|UriInterface $uri, array $options = [])
19
- * @method Promise\PromiseInterface getAsync(string|UriInterface $uri, array $options = [])
20
- * @method Promise\PromiseInterface headAsync(string|UriInterface $uri, array $options = [])
21
- * @method Promise\PromiseInterface putAsync(string|UriInterface $uri, array $options = [])
22
- * @method Promise\PromiseInterface postAsync(string|UriInterface $uri, array $options = [])
23
- * @method Promise\PromiseInterface patchAsync(string|UriInterface $uri, array $options = [])
24
- * @method Promise\PromiseInterface deleteAsync(string|UriInterface $uri, array $options = [])
25
  */
26
- class Client implements ClientInterface
27
  {
28
- /** @var array Default request options */
 
 
 
 
29
  private $config;
30
 
31
  /**
@@ -63,13 +58,13 @@ class Client implements ClientInterface
63
  {
64
  if (!isset($config['handler'])) {
65
  $config['handler'] = HandlerStack::create();
66
- } elseif (!is_callable($config['handler'])) {
67
- throw new \InvalidArgumentException('handler must be a callable');
68
  }
69
 
70
  // Convert the base_uri to a UriInterface
71
  if (isset($config['base_uri'])) {
72
- $config['base_uri'] = Psr7\uri_for($config['base_uri']);
73
  }
74
 
75
  $this->configureDefaults($config);
@@ -79,19 +74,21 @@ class Client implements ClientInterface
79
  * @param string $method
80
  * @param array $args
81
  *
82
- * @return Promise\PromiseInterface
 
 
83
  */
84
  public function __call($method, $args)
85
  {
86
- if (count($args) < 1) {
87
- throw new \InvalidArgumentException('Magic request methods require a URI and optional options array');
88
  }
89
 
90
  $uri = $args[0];
91
- $opts = isset($args[1]) ? $args[1] : [];
92
 
93
- return substr($method, -5) === 'Async'
94
- ? $this->requestAsync(substr($method, 0, -5), $uri, $opts)
95
  : $this->request($method, $uri, $opts);
96
  }
97
 
@@ -100,10 +97,8 @@ class Client implements ClientInterface
100
  *
101
  * @param array $options Request options to apply to the given
102
  * request and to the transfer. See \GuzzleHttp\RequestOptions.
103
- *
104
- * @return Promise\PromiseInterface
105
  */
106
- public function sendAsync(RequestInterface $request, array $options = [])
107
  {
108
  // Merge the base URI into the request URI if needed.
109
  $options = $this->prepareDefaults($options);
@@ -120,12 +115,25 @@ class Client implements ClientInterface
120
  * @param array $options Request options to apply to the given
121
  * request and to the transfer. See \GuzzleHttp\RequestOptions.
122
  *
123
- * @return ResponseInterface
124
  * @throws GuzzleException
125
  */
126
- public function send(RequestInterface $request, array $options = [])
 
 
 
 
 
 
 
 
 
 
 
127
  {
128
  $options[RequestOptions::SYNCHRONOUS] = true;
 
 
 
129
  return $this->sendAsync($request, $options)->wait();
130
  }
131
 
@@ -140,20 +148,18 @@ class Client implements ClientInterface
140
  * @param string $method HTTP method
141
  * @param string|UriInterface $uri URI object or string.
142
  * @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
143
- *
144
- * @return Promise\PromiseInterface
145
  */
146
- public function requestAsync($method, $uri = '', array $options = [])
147
  {
148
  $options = $this->prepareDefaults($options);
149
  // Remove request modifying parameter because it can be done up-front.
150
- $headers = isset($options['headers']) ? $options['headers'] : [];
151
- $body = isset($options['body']) ? $options['body'] : null;
152
- $version = isset($options['version']) ? $options['version'] : '1.1';
153
  // Merge the URI into the base URI.
154
- $uri = $this->buildUri($uri, $options);
155
- if (is_array($body)) {
156
- $this->invalidBody();
157
  }
158
  $request = new Psr7\Request($method, $uri, $headers, $body, $version);
159
  // Remove the option so that they are not doubly-applied.
@@ -173,10 +179,9 @@ class Client implements ClientInterface
173
  * @param string|UriInterface $uri URI object or string.
174
  * @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
175
  *
176
- * @return ResponseInterface
177
  * @throws GuzzleException
178
  */
179
- public function request($method, $uri = '', array $options = [])
180
  {
181
  $options[RequestOptions::SYNCHRONOUS] = true;
182
  return $this->requestAsync($method, $uri, $options)->wait();
@@ -192,30 +197,24 @@ class Client implements ClientInterface
192
  * @param string|null $option The config option to retrieve.
193
  *
194
  * @return mixed
 
 
195
  */
196
- public function getConfig($option = null)
197
  {
198
  return $option === null
199
  ? $this->config
200
- : (isset($this->config[$option]) ? $this->config[$option] : null);
201
  }
202
 
203
- /**
204
- * @param string|null $uri
205
- *
206
- * @return UriInterface
207
- */
208
- private function buildUri($uri, array $config)
209
  {
210
- // for BC we accept null which would otherwise fail in uri_for
211
- $uri = Psr7\uri_for($uri === null ? '' : $uri);
212
-
213
  if (isset($config['base_uri'])) {
214
- $uri = Psr7\UriResolver::resolve(Psr7\uri_for($config['base_uri']), $uri);
215
  }
216
 
217
  if (isset($config['idn_conversion']) && ($config['idn_conversion'] !== false)) {
218
- $idnOptions = ($config['idn_conversion'] === true) ? IDNA_DEFAULT : $config['idn_conversion'];
219
  $uri = Utils::idnUriConvert($uri, $idnOptions);
220
  }
221
 
@@ -224,11 +223,8 @@ class Client implements ClientInterface
224
 
225
  /**
226
  * Configures the default options for a client.
227
- *
228
- * @param array $config
229
- * @return void
230
  */
231
- private function configureDefaults(array $config)
232
  {
233
  $defaults = [
234
  'allow_redirects' => RedirectMiddleware::$defaultSettings,
@@ -236,7 +232,7 @@ class Client implements ClientInterface
236
  'decode_content' => true,
237
  'verify' => true,
238
  'cookies' => false,
239
- 'idn_conversion' => true,
240
  ];
241
 
242
  // Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set.
@@ -244,17 +240,17 @@ class Client implements ClientInterface
244
  // We can only trust the HTTP_PROXY environment variable in a CLI
245
  // process due to the fact that PHP has no reliable mechanism to
246
  // get environment variables that start with "HTTP_".
247
- if (php_sapi_name() === 'cli' && getenv('HTTP_PROXY')) {
248
- $defaults['proxy']['http'] = getenv('HTTP_PROXY');
249
  }
250
 
251
- if ($proxy = getenv('HTTPS_PROXY')) {
252
  $defaults['proxy']['https'] = $proxy;
253
  }
254
 
255
- if ($noProxy = getenv('NO_PROXY')) {
256
- $cleanedNoProxy = str_replace(' ', '', $noProxy);
257
- $defaults['proxy']['no'] = explode(',', $cleanedNoProxy);
258
  }
259
 
260
  $this->config = $config + $defaults;
@@ -265,15 +261,15 @@ class Client implements ClientInterface
265
 
266
  // Add the default user-agent header.
267
  if (!isset($this->config['headers'])) {
268
- $this->config['headers'] = ['User-Agent' => default_user_agent()];
269
  } else {
270
  // Add the User-Agent header if one was not already set.
271
- foreach (array_keys($this->config['headers']) as $name) {
272
- if (strtolower($name) === 'user-agent') {
273
  return;
274
  }
275
  }
276
- $this->config['headers']['User-Agent'] = default_user_agent();
277
  }
278
  }
279
 
@@ -281,10 +277,8 @@ class Client implements ClientInterface
281
  * Merges default options into the array.
282
  *
283
  * @param array $options Options to modify by reference
284
- *
285
- * @return array
286
  */
287
- private function prepareDefaults(array $options)
288
  {
289
  $defaults = $this->config;
290
 
@@ -296,13 +290,13 @@ class Client implements ClientInterface
296
 
297
  // Special handling for headers is required as they are added as
298
  // conditional headers and as headers passed to a request ctor.
299
- if (array_key_exists('headers', $options)) {
300
  // Allows default headers to be unset.
301
  if ($options['headers'] === null) {
302
  $defaults['_conditional'] = [];
303
  unset($options['headers']);
304
- } elseif (!is_array($options['headers'])) {
305
- throw new \InvalidArgumentException('headers must be an array');
306
  }
307
  }
308
 
@@ -326,65 +320,49 @@ class Client implements ClientInterface
326
  * as-is without merging in default options.
327
  *
328
  * @param array $options See \GuzzleHttp\RequestOptions.
329
- *
330
- * @return Promise\PromiseInterface
331
  */
332
- private function transfer(RequestInterface $request, array $options)
333
  {
334
- // save_to -> sink
335
- if (isset($options['save_to'])) {
336
- $options['sink'] = $options['save_to'];
337
- unset($options['save_to']);
338
- }
339
-
340
- // exceptions -> http_errors
341
- if (isset($options['exceptions'])) {
342
- $options['http_errors'] = $options['exceptions'];
343
- unset($options['exceptions']);
344
- }
345
-
346
  $request = $this->applyOptions($request, $options);
347
  /** @var HandlerStack $handler */
348
  $handler = $options['handler'];
349
 
350
  try {
351
- return Promise\promise_for($handler($request, $options));
352
  } catch (\Exception $e) {
353
- return Promise\rejection_for($e);
354
  }
355
  }
356
 
357
  /**
358
  * Applies the array of request options to a request.
359
- *
360
- * @param RequestInterface $request
361
- * @param array $options
362
- *
363
- * @return RequestInterface
364
  */
365
- private function applyOptions(RequestInterface $request, array &$options)
366
  {
367
  $modify = [
368
  'set_headers' => [],
369
  ];
370
 
371
  if (isset($options['headers'])) {
 
 
 
372
  $modify['set_headers'] = $options['headers'];
373
  unset($options['headers']);
374
  }
375
 
376
  if (isset($options['form_params'])) {
377
  if (isset($options['multipart'])) {
378
- throw new \InvalidArgumentException('You cannot use '
379
  . 'form_params and multipart at the same time. Use the '
380
  . 'form_params option if you want to send application/'
381
  . 'x-www-form-urlencoded requests, and the multipart '
382
  . 'option to send multipart/form-data requests.');
383
  }
384
- $options['body'] = http_build_query($options['form_params'], '', '&');
385
  unset($options['form_params']);
386
  // Ensure that we don't have the header in different case and set the new value.
387
- $options['_conditional'] = Psr7\_caseless_remove(['Content-Type'], $options['_conditional']);
388
  $options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded';
389
  }
390
 
@@ -394,10 +372,10 @@ class Client implements ClientInterface
394
  }
395
 
396
  if (isset($options['json'])) {
397
- $options['body'] = \GuzzleHttp\json_encode($options['json']);
398
  unset($options['json']);
399
  // Ensure that we don't have the header in different case and set the new value.
400
- $options['_conditional'] = Psr7\_caseless_remove(['Content-Type'], $options['_conditional']);
401
  $options['_conditional']['Content-Type'] = 'application/json';
402
  }
403
 
@@ -405,47 +383,47 @@ class Client implements ClientInterface
405
  && $options['decode_content'] !== true
406
  ) {
407
  // Ensure that we don't have the header in different case and set the new value.
408
- $options['_conditional'] = Psr7\_caseless_remove(['Accept-Encoding'], $options['_conditional']);
409
  $modify['set_headers']['Accept-Encoding'] = $options['decode_content'];
410
  }
411
 
412
  if (isset($options['body'])) {
413
- if (is_array($options['body'])) {
414
- $this->invalidBody();
415
  }
416
- $modify['body'] = Psr7\stream_for($options['body']);
417
  unset($options['body']);
418
  }
419
 
420
- if (!empty($options['auth']) && is_array($options['auth'])) {
421
  $value = $options['auth'];
422
- $type = isset($value[2]) ? strtolower($value[2]) : 'basic';
423
  switch ($type) {
424
  case 'basic':
425
  // Ensure that we don't have the header in different case and set the new value.
426
- $modify['set_headers'] = Psr7\_caseless_remove(['Authorization'], $modify['set_headers']);
427
  $modify['set_headers']['Authorization'] = 'Basic '
428
- . base64_encode("$value[0]:$value[1]");
429
  break;
430
  case 'digest':
431
  // @todo: Do not rely on curl
432
- $options['curl'][CURLOPT_HTTPAUTH] = CURLAUTH_DIGEST;
433
- $options['curl'][CURLOPT_USERPWD] = "$value[0]:$value[1]";
434
  break;
435
  case 'ntlm':
436
- $options['curl'][CURLOPT_HTTPAUTH] = CURLAUTH_NTLM;
437
- $options['curl'][CURLOPT_USERPWD] = "$value[0]:$value[1]";
438
  break;
439
  }
440
  }
441
 
442
  if (isset($options['query'])) {
443
  $value = $options['query'];
444
- if (is_array($value)) {
445
- $value = http_build_query($value, null, '&', PHP_QUERY_RFC3986);
446
  }
447
- if (!is_string($value)) {
448
- throw new \InvalidArgumentException('query must be a string or array');
449
  }
450
  $modify['query'] = $value;
451
  unset($options['query']);
@@ -454,16 +432,16 @@ class Client implements ClientInterface
454
  // Ensure that sink is not an invalid value.
455
  if (isset($options['sink'])) {
456
  // TODO: Add more sink validation?
457
- if (is_bool($options['sink'])) {
458
- throw new \InvalidArgumentException('sink must not be a boolean');
459
  }
460
  }
461
 
462
- $request = Psr7\modify_request($request, $modify);
463
  if ($request->getBody() instanceof Psr7\MultipartStream) {
464
  // Use a multipart/form-data POST if a Content-Type is not set.
465
  // Ensure that we don't have the header in different case and set the new value.
466
- $options['_conditional'] = Psr7\_caseless_remove(['Content-Type'], $options['_conditional']);
467
  $options['_conditional']['Content-Type'] = 'multipart/form-data; boundary='
468
  . $request->getBody()->getBoundary();
469
  }
@@ -477,7 +455,7 @@ class Client implements ClientInterface
477
  $modify['set_headers'][$k] = $v;
478
  }
479
  }
480
- $request = Psr7\modify_request($request, $modify);
481
  // Don't pass this internal value along to middleware/handlers.
482
  unset($options['_conditional']);
483
  }
@@ -486,14 +464,12 @@ class Client implements ClientInterface
486
  }
487
 
488
  /**
489
- * Throw Exception with pre-set message.
490
- * @return void
491
- * @throws \InvalidArgumentException Invalid body.
492
  */
493
- private function invalidBody()
494
  {
495
- throw new \InvalidArgumentException('Passing in the "body" request '
496
- . 'option as an array to send a POST request has been deprecated. '
497
  . 'Please use the "form_params" request option to send a '
498
  . 'application/x-www-form-urlencoded request, or the "multipart" '
499
  . 'request option to send a multipart/form-data request.');
1
  <?php
2
+
3
  namespace GuzzleHttp;
4
 
5
  use GuzzleHttp\Cookie\CookieJar;
6
  use GuzzleHttp\Exception\GuzzleException;
7
+ use GuzzleHttp\Exception\InvalidArgumentException;
8
+ use GuzzleHttp\Promise as P;
9
+ use GuzzleHttp\Promise\PromiseInterface;
10
  use Psr\Http\Message\RequestInterface;
11
  use Psr\Http\Message\ResponseInterface;
12
  use Psr\Http\Message\UriInterface;
13
 
14
  /**
15
+ * @final
 
 
 
 
 
 
 
 
 
 
 
16
  */
17
+ class Client implements ClientInterface, \Psr\Http\Client\ClientInterface
18
  {
19
+ use ClientTrait;
20
+
21
+ /**
22
+ * @var array Default request options
23
+ */
24
  private $config;
25
 
26
  /**
58
  {
59
  if (!isset($config['handler'])) {
60
  $config['handler'] = HandlerStack::create();
61
+ } elseif (!\is_callable($config['handler'])) {
62
+ throw new InvalidArgumentException('handler must be a callable');
63
  }
64
 
65
  // Convert the base_uri to a UriInterface
66
  if (isset($config['base_uri'])) {
67
+ $config['base_uri'] = Psr7\Utils::uriFor($config['base_uri']);
68
  }
69
 
70
  $this->configureDefaults($config);
74
  * @param string $method
75
  * @param array $args
76
  *
77
+ * @return PromiseInterface|ResponseInterface
78
+ *
79
+ * @deprecated Client::__call will be removed in guzzlehttp/guzzle:8.0.
80
  */
81
  public function __call($method, $args)
82
  {
83
+ if (\count($args) < 1) {
84
+ throw new InvalidArgumentException('Magic request methods require a URI and optional options array');
85
  }
86
 
87
  $uri = $args[0];
88
+ $opts = $args[1] ?? [];
89
 
90
+ return \substr($method, -5) === 'Async'
91
+ ? $this->requestAsync(\substr($method, 0, -5), $uri, $opts)
92
  : $this->request($method, $uri, $opts);
93
  }
94
 
97
  *
98
  * @param array $options Request options to apply to the given
99
  * request and to the transfer. See \GuzzleHttp\RequestOptions.
 
 
100
  */
101
+ public function sendAsync(RequestInterface $request, array $options = []): PromiseInterface
102
  {
103
  // Merge the base URI into the request URI if needed.
104
  $options = $this->prepareDefaults($options);
115
  * @param array $options Request options to apply to the given
116
  * request and to the transfer. See \GuzzleHttp\RequestOptions.
117
  *
 
118
  * @throws GuzzleException
119
  */
120
+ public function send(RequestInterface $request, array $options = []): ResponseInterface
121
+ {
122
+ $options[RequestOptions::SYNCHRONOUS] = true;
123
+ return $this->sendAsync($request, $options)->wait();
124
+ }
125
+
126
+ /**
127
+ * The HttpClient PSR (PSR-18) specify this method.
128
+ *
129
+ * @inheritDoc
130
+ */
131
+ public function sendRequest(RequestInterface $request): ResponseInterface
132
  {
133
  $options[RequestOptions::SYNCHRONOUS] = true;
134
+ $options[RequestOptions::ALLOW_REDIRECTS] = false;
135
+ $options[RequestOptions::HTTP_ERRORS] = false;
136
+
137
  return $this->sendAsync($request, $options)->wait();
138
  }
139
 
148
  * @param string $method HTTP method
149
  * @param string|UriInterface $uri URI object or string.
150
  * @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
 
 
151
  */
152
+ public function requestAsync(string $method, $uri = '', array $options = []): PromiseInterface
153
  {
154
  $options = $this->prepareDefaults($options);
155
  // Remove request modifying parameter because it can be done up-front.
156
+ $headers = $options['headers'] ?? [];
157
+ $body = $options['body'] ?? null;
158
+ $version = $options['version'] ?? '1.1';
159
  // Merge the URI into the base URI.
160
+ $uri = $this->buildUri(Psr7\Utils::uriFor($uri), $options);
161
+ if (\is_array($body)) {
162
+ throw $this->invalidBody();
163
  }
164
  $request = new Psr7\Request($method, $uri, $headers, $body, $version);
165
  // Remove the option so that they are not doubly-applied.
179
  * @param string|UriInterface $uri URI object or string.
180
  * @param array $options Request options to apply. See \GuzzleHttp\RequestOptions.
181
  *
 
182
  * @throws GuzzleException
183
  */
184
+ public function request(string $method, $uri = '', array $options = []): ResponseInterface
185
  {
186
  $options[RequestOptions::SYNCHRONOUS] = true;
187
  return $this->requestAsync($method, $uri, $options)->wait();
197
  * @param string|null $option The config option to retrieve.
198
  *
199
  * @return mixed
200
+ *
201
+ * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0.
202
  */
203
+ public function getConfig(?string $option = null)
204
  {
205
  return $option === null
206
  ? $this->config
207
+ : ($this->config[$option] ?? null);
208
  }
209
 
210
+ private function buildUri(UriInterface $uri, array $config): UriInterface
 
 
 
 
 
211
  {
 
 
 
212
  if (isset($config['base_uri'])) {
213
+ $uri = Psr7\UriResolver::resolve(Psr7\Utils::uriFor($config['base_uri']), $uri);
214
  }
215
 
216
  if (isset($config['idn_conversion']) && ($config['idn_conversion'] !== false)) {
217
+ $idnOptions = ($config['idn_conversion'] === true) ? \IDNA_DEFAULT : $config['idn_conversion'];
218
  $uri = Utils::idnUriConvert($uri, $idnOptions);
219
  }
220
 
223
 
224
  /**
225
  * Configures the default options for a client.
 
 
 
226
  */
227
+ private function configureDefaults(array $config): void
228
  {
229
  $defaults = [
230
  'allow_redirects' => RedirectMiddleware::$defaultSettings,
232
  'decode_content' => true,
233
  'verify' => true,
234
  'cookies' => false,
235
+ 'idn_conversion' => false,
236
  ];
237
 
238
  // Use the standard Linux HTTP_PROXY and HTTPS_PROXY if set.
240
  // We can only trust the HTTP_PROXY environment variable in a CLI
241
  // process due to the fact that PHP has no reliable mechanism to
242
  // get environment variables that start with "HTTP_".
243
+ if (\PHP_SAPI === 'cli' && ($proxy = Utils::getenv('HTTP_PROXY'))) {
244
+ $defaults['proxy']['http'] = $proxy;
245
  }
246
 
247
+ if ($proxy = Utils::getenv('HTTPS_PROXY')) {
248
  $defaults['proxy']['https'] = $proxy;
249
  }
250
 
251
+ if ($noProxy = Utils::getenv('NO_PROXY')) {
252
+ $cleanedNoProxy = \str_replace(' ', '', $noProxy);
253
+ $defaults['proxy']['no'] = \explode(',', $cleanedNoProxy);
254
  }
255
 
256
  $this->config = $config + $defaults;
261
 
262
  // Add the default user-agent header.
263
  if (!isset($this->config['headers'])) {
264
+ $this->config['headers'] = ['User-Agent' => Utils::defaultUserAgent()];
265
  } else {
266
  // Add the User-Agent header if one was not already set.
267
+ foreach (\array_keys($this->config['headers']) as $name) {
268
+ if (\strtolower($name) === 'user-agent') {
269
  return;
270
  }
271
  }
272
+ $this->config['headers']['User-Agent'] = Utils::defaultUserAgent();
273
  }
274
  }
275
 
277
  * Merges default options into the array.
278
  *
279
  * @param array $options Options to modify by reference
 
 
280
  */
281
+ private function prepareDefaults(array $options): array
282
  {
283
  $defaults = $this->config;
284
 
290
 
291
  // Special handling for headers is required as they are added as
292
  // conditional headers and as headers passed to a request ctor.
293
+ if (\array_key_exists('headers', $options)) {
294
  // Allows default headers to be unset.
295
  if ($options['headers'] === null) {
296
  $defaults['_conditional'] = [];
297
  unset($options['headers']);
298
+ } elseif (!\is_array($options['headers'])) {
299
+ throw new InvalidArgumentException('headers must be an array');
300
  }
301
  }
302
 
320
  * as-is without merging in default options.
321
  *
322
  * @param array $options See \GuzzleHttp\RequestOptions.
 
 
323
  */
324
+ private function transfer(RequestInterface $request, array $options): PromiseInterface
325
  {
 
 
 
 
 
 
 
 
 
 
 
 
326
  $request = $this->applyOptions($request, $options);
327
  /** @var HandlerStack $handler */
328
  $handler = $options['handler'];
329
 
330
  try {
331
+ return P\Create::promiseFor($handler($request, $options));
332
  } catch (\Exception $e) {
333
+ return P\Create::rejectionFor($e);
334
  }
335
  }
336
 
337
  /**
338
  * Applies the array of request options to a request.
 
 
 
 
 
339
  */
340
+ private function applyOptions(RequestInterface $request, array &$options): RequestInterface
341
  {
342
  $modify = [
343
  'set_headers' => [],
344
  ];
345
 
346
  if (isset($options['headers'])) {
347
+ if (array_keys($options['headers']) === range(0, count($options['headers']) - 1)) {
348
+ throw new InvalidArgumentException('The headers array must have header name as keys.');
349
+ }
350
  $modify['set_headers'] = $options['headers'];
351
  unset($options['headers']);
352
  }
353
 
354
  if (isset($options['form_params'])) {
355
  if (isset($options['multipart'])) {
356
+ throw new InvalidArgumentException('You cannot use '
357
  . 'form_params and multipart at the same time. Use the '
358
  . 'form_params option if you want to send application/'
359
  . 'x-www-form-urlencoded requests, and the multipart '
360
  . 'option to send multipart/form-data requests.');
361
  }
362
+ $options['body'] = \http_build_query($options['form_params'], '', '&');
363
  unset($options['form_params']);
364
  // Ensure that we don't have the header in different case and set the new value.
365
+ $options['_conditional'] = Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
366
  $options['_conditional']['Content-Type'] = 'application/x-www-form-urlencoded';
367
  }
368
 
372
  }
373
 
374
  if (isset($options['json'])) {
375
+ $options['body'] = Utils::jsonEncode($options['json']);
376
  unset($options['json']);
377
  // Ensure that we don't have the header in different case and set the new value.
378
+ $options['_conditional'] = Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
379
  $options['_conditional']['Content-Type'] = 'application/json';
380
  }
381
 
383
  && $options['decode_content'] !== true
384
  ) {
385
  // Ensure that we don't have the header in different case and set the new value.
386
+ $options['_conditional'] = Psr7\Utils::caselessRemove(['Accept-Encoding'], $options['_conditional']);
387
  $modify['set_headers']['Accept-Encoding'] = $options['decode_content'];
388
  }
389
 
390
  if (isset($options['body'])) {
391
+ if (\is_array($options['body'])) {
392
+ throw $this->invalidBody();
393
  }
394
+ $modify['body'] = Psr7\Utils::streamFor($options['body']);
395
  unset($options['body']);
396
  }
397
 
398
+ if (!empty($options['auth']) && \is_array($options['auth'])) {
399
  $value = $options['auth'];
400
+ $type = isset($value[2]) ? \strtolower($value[2]) : 'basic';
401
  switch ($type) {
402
  case 'basic':
403
  // Ensure that we don't have the header in different case and set the new value.
404
+ $modify['set_headers'] = Psr7\Utils::caselessRemove(['Authorization'], $modify['set_headers']);
405
  $modify['set_headers']['Authorization'] = 'Basic '
406
+ . \base64_encode("$value[0]:$value[1]");
407
  break;
408
  case 'digest':
409
  // @todo: Do not rely on curl
410
+ $options['curl'][\CURLOPT_HTTPAUTH] = \CURLAUTH_DIGEST;
411
+ $options['curl'][\CURLOPT_USERPWD] = "$value[0]:$value[1]";
412
  break;
413
  case 'ntlm':
414
+ $options['curl'][\CURLOPT_HTTPAUTH] = \CURLAUTH_NTLM;
415
+ $options['curl'][\CURLOPT_USERPWD] = "$value[0]:$value[1]";
416
  break;
417
  }
418
  }
419
 
420
  if (isset($options['query'])) {
421
  $value = $options['query'];
422
+ if (\is_array($value)) {
423
+ $value = \http_build_query($value, '', '&', \PHP_QUERY_RFC3986);
424
  }
425
+ if (!\is_string($value)) {
426
+ throw new InvalidArgumentException('query must be a string or array');
427
  }
428
  $modify['query'] = $value;
429
  unset($options['query']);
432
  // Ensure that sink is not an invalid value.
433
  if (isset($options['sink'])) {
434
  // TODO: Add more sink validation?
435
+ if (\is_bool($options['sink'])) {
436
+ throw new InvalidArgumentException('sink must not be a boolean');
437
  }
438
  }
439
 
440
+ $request = Psr7\Utils::modifyRequest($request, $modify);
441
  if ($request->getBody() instanceof Psr7\MultipartStream) {
442
  // Use a multipart/form-data POST if a Content-Type is not set.
443
  // Ensure that we don't have the header in different case and set the new value.
444
+ $options['_conditional'] = Psr7\Utils::caselessRemove(['Content-Type'], $options['_conditional']);
445
  $options['_conditional']['Content-Type'] = 'multipart/form-data; boundary='
446
  . $request->getBody()->getBoundary();
447
  }
455
  $modify['set_headers'][$k] = $v;
456
  }
457
  }
458
+ $request = Psr7\Utils::modifyRequest($request, $modify);
459
  // Don't pass this internal value along to middleware/handlers.
460
  unset($options['_conditional']);
461
  }
464
  }
465
 
466
  /**
467
+ * Return an InvalidArgumentException with pre-set message.
 
 
468
  */
469
+ private function invalidBody(): InvalidArgumentException
470
  {
471
+ return new InvalidArgumentException('Passing in the "body" request '
472
+ . 'option as an array to send a request is not supported. '
473
  . 'Please use the "form_params" request option to send a '
474
  . 'application/x-www-form-urlencoded request, or the "multipart" '
475
  . 'request option to send a multipart/form-data request.');
vendor/guzzlehttp/guzzle/src/ClientInterface.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp;
3
 
4
  use GuzzleHttp\Exception\GuzzleException;
@@ -13,9 +14,9 @@ use Psr\Http\Message\UriInterface;
13
  interface ClientInterface
14
  {
15
  /**
16
- * @deprecated Will be removed in Guzzle 7.0.0
17
  */
18
- const VERSION = '6.5.5';
19
 
20
  /**
21
  * Send an HTTP request.
@@ -24,10 +25,9 @@ interface ClientInterface
24
  * @param array $options Request options to apply to the given
25
  * request and to the transfer.
26
  *
27
- * @return ResponseInterface
28
  * @throws GuzzleException
29
  */
30
- public function send(RequestInterface $request, array $options = []);
31
 
32
  /**
33
  * Asynchronously send an HTTP request.
@@ -35,10 +35,8 @@ interface ClientInterface
35
  * @param RequestInterface $request Request to send
36
  * @param array $options Request options to apply to the given
37
  * request and to the transfer.
38
- *
39
- * @return PromiseInterface
40
  */
41
- public function sendAsync(RequestInterface $request, array $options = []);
42
 
43
  /**
44
  * Create and send an HTTP request.
@@ -51,10 +49,9 @@ interface ClientInterface
51
  * @param string|UriInterface $uri URI object or string.
52
  * @param array $options Request options to apply.
53
  *
54
- * @return ResponseInterface
55
  * @throws GuzzleException
56
  */
57
- public function request($method, $uri, array $options = []);
58
 
59
  /**
60
  * Create and send an asynchronous HTTP request.
@@ -67,10 +64,8 @@ interface ClientInterface
67
  * @param string $method HTTP method
68
  * @param string|UriInterface $uri URI object or string.
69
  * @param array $options Request options to apply.
70
- *
71
- * @return PromiseInterface
72
  */
73
- public function requestAsync($method, $uri, array $options = []);
74
 
75
  /**
76
  * Get a client configuration option.
@@ -82,6 +77,8 @@ interface ClientInterface
82
  * @param string|null $option The config option to retrieve.
83
  *
84
  * @return mixed
 
 
85
  */
86
- public function getConfig($option = null);
87
  }
1
  <?php
2
+
3
  namespace GuzzleHttp;
4
 
5
  use GuzzleHttp\Exception\GuzzleException;
14
  interface ClientInterface
15
  {
16
  /**
17
+ * The Guzzle major version.
18
  */
19
+ public const MAJOR_VERSION = 7;
20
 
21
  /**
22
  * Send an HTTP request.
25
  * @param array $options Request options to apply to the given
26
  * request and to the transfer.
27
  *
 
28
  * @throws GuzzleException
29
  */
30
+ public function send(RequestInterface $request, array $options = []): ResponseInterface;
31
 
32
  /**
33
  * Asynchronously send an HTTP request.
35
  * @param RequestInterface $request Request to send
36
  * @param array $options Request options to apply to the given
37
  * request and to the transfer.
 
 
38
  */
39
+ public function sendAsync(RequestInterface $request, array $options = []): PromiseInterface;
40
 
41
  /**
42
  * Create and send an HTTP request.
49
  * @param string|UriInterface $uri URI object or string.
50
  * @param array $options Request options to apply.
51
  *
 
52
  * @throws GuzzleException
53
  */
54
+ public function request(string $method, $uri, array $options = []): ResponseInterface;
55
 
56
  /**
57
  * Create and send an asynchronous HTTP request.
64
  * @param string $method HTTP method
65
  * @param string|UriInterface $uri URI object or string.
66
  * @param array $options Request options to apply.
 
 
67
  */
68
+ public function requestAsync(string $method, $uri, array $options = []): PromiseInterface;
69
 
70
  /**
71
  * Get a client configuration option.
77
  * @param string|null $option The config option to retrieve.
78
  *
79
  * @return mixed
80
+ *
81
+ * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0.
82
  */
83
+ public function getConfig(?string $option = null);
84
  }
vendor/guzzlehttp/guzzle/src/ClientTrait.php ADDED
@@ -0,0 +1,241 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GuzzleHttp;
4
+
5
+ use GuzzleHttp\Exception\GuzzleException;
6
+ use GuzzleHttp\Promise\PromiseInterface;
7
+ use Psr\Http\Message\ResponseInterface;
8
+ use Psr\Http\Message\UriInterface;
9
+
10
+ /**
11
+ * Client interface for sending HTTP requests.
12
+ */
13
+ trait ClientTrait
14
+ {
15
+ /**
16
+ * Create and send an HTTP request.
17
+ *
18
+ * Use an absolute path to override the base path of the client, or a
19
+ * relative path to append to the base path of the client. The URL can
20
+ * contain the query string as well.
21
+ *
22
+ * @param string $method HTTP method.
23
+ * @param string|UriInterface $uri URI object or string.
24
+ * @param array $options Request options to apply.
25
+ *
26
+ * @throws GuzzleException
27
+ */
28
+ abstract public function request(string $method, $uri, array $options = []): ResponseInterface;
29
+
30
+ /**
31
+ * Create and send an HTTP GET request.
32
+ *
33
+ * Use an absolute path to override the base path of the client, or a
34
+ * relative path to append to the base path of the client. The URL can
35
+ * contain the query string as well.
36
+ *
37
+ * @param string|UriInterface $uri URI object or string.
38
+ * @param array $options Request options to apply.
39
+ *
40
+ * @throws GuzzleException
41
+ */
42
+ public function get($uri, array $options = []): ResponseInterface
43
+ {
44
+ return $this->request('GET', $uri, $options);
45
+ }
46
+
47
+ /**
48
+ * Create and send an HTTP HEAD request.
49
+ *
50
+ * Use an absolute path to override the base path of the client, or a
51
+ * relative path to append to the base path of the client. The URL can
52
+ * contain the query string as well.
53
+ *
54
+ * @param string|UriInterface $uri URI object or string.
55
+ * @param array $options Request options to apply.
56
+ *
57
+ * @throws GuzzleException
58
+ */
59
+ public function head($uri, array $options = []): ResponseInterface
60
+ {
61
+ return $this->request('HEAD', $uri, $options);
62
+ }
63
+
64
+ /**
65
+ * Create and send an HTTP PUT request.
66
+ *
67
+ * Use an absolute path to override the base path of the client, or a
68
+ * relative path to append to the base path of the client. The URL can
69
+ * contain the query string as well.
70
+ *
71
+ * @param string|UriInterface $uri URI object or string.
72
+ * @param array $options Request options to apply.
73
+ *
74
+ * @throws GuzzleException
75
+ */
76
+ public function put($uri, array $options = []): ResponseInterface
77
+ {
78
+ return $this->request('PUT', $uri, $options);
79
+ }
80
+
81
+ /**
82
+ * Create and send an HTTP POST request.
83
+ *
84
+ * Use an absolute path to override the base path of the client, or a
85
+ * relative path to append to the base path of the client. The URL can
86
+ * contain the query string as well.
87
+ *
88
+ * @param string|UriInterface $uri URI object or string.
89
+ * @param array $options Request options to apply.
90
+ *
91
+ * @throws GuzzleException
92
+ */
93
+ public function post($uri, array $options = []): ResponseInterface
94
+ {
95
+ return $this->request('POST', $uri, $options);
96
+ }
97
+
98
+ /**
99
+ * Create and send an HTTP PATCH request.
100
+ *
101
+ * Use an absolute path to override the base path of the client, or a
102
+ * relative path to append to the base path of the client. The URL can
103
+ * contain the query string as well.
104
+ *
105
+ * @param string|UriInterface $uri URI object or string.
106
+ * @param array $options Request options to apply.
107
+ *
108
+ * @throws GuzzleException
109
+ */
110
+ public function patch($uri, array $options = []): ResponseInterface
111
+ {
112
+ return $this->request('PATCH', $uri, $options);
113
+ }
114
+
115
+ /**
116
+ * Create and send an HTTP DELETE request.
117
+ *
118
+ * Use an absolute path to override the base path of the client, or a
119
+ * relative path to append to the base path of the client. The URL can
120
+ * contain the query string as well.
121
+ *
122
+ * @param string|UriInterface $uri URI object or string.
123
+ * @param array $options Request options to apply.
124
+ *
125
+ * @throws GuzzleException
126
+ */
127
+ public function delete($uri, array $options = []): ResponseInterface
128
+ {
129
+ return $this->request('DELETE', $uri, $options);
130
+ }
131
+
132
+ /**
133
+ * Create and send an asynchronous HTTP request.
134
+ *
135
+ * Use an absolute path to override the base path of the client, or a
136
+ * relative path to append to the base path of the client. The URL can
137
+ * contain the query string as well. Use an array to provide a URL
138
+ * template and additional variables to use in the URL template expansion.
139
+ *
140
+ * @param string $method HTTP method
141
+ * @param string|UriInterface $uri URI object or string.
142
+ * @param array $options Request options to apply.
143
+ */
144
+ abstract public function requestAsync(string $method, $uri, array $options = []): PromiseInterface;
145
+
146
+ /**
147
+ * Create and send an asynchronous HTTP GET request.
148
+ *
149
+ * Use an absolute path to override the base path of the client, or a
150
+ * relative path to append to the base path of the client. The URL can
151
+ * contain the query string as well. Use an array to provide a URL
152
+ * template and additional variables to use in the URL template expansion.
153
+ *
154
+ * @param string|UriInterface $uri URI object or string.
155
+ * @param array $options Request options to apply.
156
+ */
157
+ public function getAsync($uri, array $options = []): PromiseInterface
158
+ {
159
+ return $this->requestAsync('GET', $uri, $options);
160
+ }
161
+
162
+ /**
163
+ * Create and send an asynchronous HTTP HEAD request.
164
+ *
165
+ * Use an absolute path to override the base path of the client, or a
166
+ * relative path to append to the base path of the client. The URL can
167
+ * contain the query string as well. Use an array to provide a URL
168
+ * template and additional variables to use in the URL template expansion.
169
+ *
170
+ * @param string|UriInterface $uri URI object or string.
171
+ * @param array $options Request options to apply.
172
+ */
173
+ public function headAsync($uri, array $options = []): PromiseInterface
174
+ {
175
+ return $this->requestAsync('HEAD', $uri, $options);
176
+ }
177
+
178
+ /**
179
+ * Create and send an asynchronous HTTP PUT request.
180
+ *
181
+ * Use an absolute path to override the base path of the client, or a
182
+ * relative path to append to the base path of the client. The URL can
183
+ * contain the query string as well. Use an array to provide a URL
184
+ * template and additional variables to use in the URL template expansion.
185
+ *
186
+ * @param string|UriInterface $uri URI object or string.
187
+ * @param array $options Request options to apply.
188
+ */
189
+ public function putAsync($uri, array $options = []): PromiseInterface
190
+ {
191
+ return $this->requestAsync('PUT', $uri, $options);
192
+ }
193
+
194
+ /**
195
+ * Create and send an asynchronous HTTP POST request.
196
+ *
197
+ * Use an absolute path to override the base path of the client, or a
198
+ * relative path to append to the base path of the client. The URL can
199
+ * contain the query string as well. Use an array to provide a URL
200
+ * template and additional variables to use in the URL template expansion.
201
+ *
202
+ * @param string|UriInterface $uri URI object or string.
203
+ * @param array $options Request options to apply.
204
+ */
205
+ public function postAsync($uri, array $options = []): PromiseInterface
206
+ {
207
+ return $this->requestAsync('POST', $uri, $options);
208
+ }
209
+
210
+ /**
211
+ * Create and send an asynchronous HTTP PATCH request.
212
+ *
213
+ * Use an absolute path to override the base path of the client, or a
214
+ * relative path to append to the base path of the client. The URL can
215
+ * contain the query string as well. Use an array to provide a URL
216
+ * template and additional variables to use in the URL template expansion.
217
+ *
218
+ * @param string|UriInterface $uri URI object or string.
219
+ * @param array $options Request options to apply.
220
+ */
221
+ public function patchAsync($uri, array $options = []): PromiseInterface
222
+ {
223
+ return $this->requestAsync('PATCH', $uri, $options);
224
+ }
225
+
226
+ /**
227
+ * Create and send an asynchronous HTTP DELETE request.
228
+ *
229
+ * Use an absolute path to override the base path of the client, or a
230
+ * relative path to append to the base path of the client. The URL can
231
+ * contain the query string as well. Use an array to provide a URL
232
+ * template and additional variables to use in the URL template expansion.
233
+ *
234
+ * @param string|UriInterface $uri URI object or string.
235
+ * @param array $options Request options to apply.
236
+ */
237
+ public function deleteAsync($uri, array $options = []): PromiseInterface
238
+ {
239
+ return $this->requestAsync('DELETE', $uri, $options);
240
+ }
241
+ }
vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Cookie;
3
 
4
  use Psr\Http\Message\RequestInterface;
@@ -9,20 +10,24 @@ use Psr\Http\Message\ResponseInterface;
9
  */
10
  class CookieJar implements CookieJarInterface
11
  {
12
- /** @var SetCookie[] Loaded cookie data */
 
 
13
  private $cookies = [];
14
 
15
- /** @var bool */
 
 
16
  private $strictMode;
17
 
18
  /**
19
- * @param bool $strictMode Set to true to throw exceptions when invalid
20
  * cookies are added to the cookie jar.
21
  * @param array $cookieArray Array of SetCookie objects or a hash of
22
  * arrays that can be used with the SetCookie
23
  * constructor
24
  */
25
- public function __construct($strictMode = false, $cookieArray = [])
26
  {
27
  $this->strictMode = $strictMode;
28
 
@@ -39,10 +44,8 @@ class CookieJar implements CookieJarInterface
39
  *
40
  * @param array $cookies Cookies to create the jar from
41
  * @param string $domain Domain to set the cookies to
42
- *
43
- * @return self
44
  */
45
- public static function fromArray(array $cookies, $domain)
46
  {
47
  $cookieJar = new self();
48
  foreach ($cookies as $name => $value) {
@@ -57,26 +60,15 @@ class CookieJar implements CookieJarInterface
57
  return $cookieJar;
58
  }
59
 
60
- /**
61
- * @deprecated
62
- */
63
- public static function getCookieValue($value)
64
- {
65
- return $value;
66
- }
67
-
68
  /**
69
  * Evaluate if this cookie should be persisted to storage
70
  * that survives between requests.
71
  *
72
- * @param SetCookie $cookie Being evaluated.
73
- * @param bool $allowSessionCookies If we should persist session cookies
74
- * @return bool
75
  */
76
- public static function shouldPersist(
77
- SetCookie $cookie,
78
- $allowSessionCookies = false
79
- ) {
80
  if ($cookie->getExpires() || $allowSessionCookies) {
81
  if (!$cookie->getDiscard()) {
82
  return true;
@@ -90,16 +82,13 @@ class CookieJar implements CookieJarInterface
90
  * Finds and returns the cookie based on the name
91
  *
92
  * @param string $name cookie name to search for
 
93
  * @return SetCookie|null cookie that was found or null if not found
94
  */
95
- public function getCookieByName($name)
96
  {
97
- // don't allow a non string name
98
- if ($name === null || !is_scalar($name)) {
99
- return null;
100
- }
101
  foreach ($this->cookies as $cookie) {
102
- if ($cookie->getName() !== null && strcasecmp($cookie->getName(), $name) === 0) {
103
  return $cookie;
104
  }
105
  }
@@ -107,37 +96,43 @@ class CookieJar implements CookieJarInterface
107
  return null;
108
  }
109
 
110
- public function toArray()
 
 
 
111
  {
112
- return array_map(function (SetCookie $cookie) {
113
  return $cookie->toArray();
114
  }, $this->getIterator()->getArrayCopy());
115
  }
116
 
117
- public function clear($domain = null, $path = null, $name = null)
 
 
 
118
  {
119
  if (!$domain) {
120
  $this->cookies = [];
121
  return;
122
  } elseif (!$path) {
123
- $this->cookies = array_filter(
124
  $this->cookies,
125
- function (SetCookie $cookie) use ($domain) {
126
  return !$cookie->matchesDomain($domain);
127
  }
128
  );
129
  } elseif (!$name) {
130
- $this->cookies = array_filter(
131
  $this->cookies,
132
- function (SetCookie $cookie) use ($path, $domain) {
133
  return !($cookie->matchesPath($path) &&
134
  $cookie->matchesDomain($domain));
135
  }
136
  );
137
  } else {
138
- $this->cookies = array_filter(
139
  $this->cookies,
140
- function (SetCookie $cookie) use ($path, $domain, $name) {
141
  return !($cookie->getName() == $name &&
142
  $cookie->matchesPath($path) &&
143
  $cookie->matchesDomain($domain));
@@ -146,17 +141,23 @@ class CookieJar implements CookieJarInterface
146
  }
147
  }
148
 
149
- public function clearSessionCookies()
 
 
 
150
  {
151
- $this->cookies = array_filter(
152
  $this->cookies,
153
- function (SetCookie $cookie) {
154
  return !$cookie->getDiscard() && $cookie->getExpires();
155
  }
156
  );
157
  }
158
 
159
- public function setCookie(SetCookie $cookie)
 
 
 
160
  {
161
  // If the name string is empty (but not 0), ignore the set-cookie
162
  // string entirely.
@@ -170,10 +171,9 @@ class CookieJar implements CookieJarInterface
170
  if ($result !== true) {
171
  if ($this->strictMode) {
172
  throw new \RuntimeException('Invalid cookie: ' . $result);
173
- } else {
174
- $this->removeCookieIfEmpty($cookie);
175
- return false;
176
  }
 
 
177
  }
178
 
179
  // Resolve conflicts with previously set cookies
@@ -217,27 +217,28 @@ class CookieJar implements CookieJarInterface
217
  return true;
218
  }
219
 
220
- public function count()
221
  {
222
- return count($this->cookies);
223
  }
224
 
225
- public function getIterator()
 
 
 
226
  {
227
- return new \ArrayIterator(array_values($this->cookies));
228
  }
229
 
230
- public function extractCookies(
231
- RequestInterface $request,
232
- ResponseInterface $response
233
- ) {
234
  if ($cookieHeader = $response->getHeader('Set-Cookie')) {
235
  foreach ($cookieHeader as $cookie) {
236
  $sc = SetCookie::fromString($cookie);
237
  if (!$sc->getDomain()) {
238
  $sc->setDomain($request->getUri()->getHost());
239
  }
240
- if (0 !== strpos($sc->getPath(), '/')) {
241
  $sc->setPath($this->getCookiePathFromRequest($request));
242
  }
243
  $this->setCookie($sc);
@@ -249,30 +250,28 @@ class CookieJar implements CookieJarInterface
249
  * Computes cookie path following RFC 6265 section 5.1.4
250
  *
251
  * @link https://tools.ietf.org/html/rfc6265#section-5.1.4
252
- *
253
- * @param RequestInterface $request
254
- * @return string
255
  */
256
- private function getCookiePathFromRequest(RequestInterface $request)
257
  {
258
  $uriPath = $request->getUri()->getPath();
259
- if ('' === $uriPath) {
260
  return '/';
261
  }
262
- if (0 !== strpos($uriPath, '/')) {
263
  return '/';
264
  }
265
  if ('/' === $uriPath) {
266
  return '/';
267
  }
268
- if (0 === $lastSlashPos = strrpos($uriPath, '/')) {
 
269
  return '/';
270
  }
271
 
272
- return substr($uriPath, 0, $lastSlashPos);
273
  }
274
 
275
- public function withCookieHeader(RequestInterface $request)
276
  {
277
  $values = [];
278
  $uri = $request->getUri();
@@ -292,17 +291,15 @@ class CookieJar implements CookieJarInterface
292
  }
293
 
294
  return $values
295
- ? $request->withHeader('Cookie', implode('; ', $values))
296
  : $request;
297
  }
298
 
299
  /**
300
  * If a cookie already exists and the server asks to set it again with a
301
  * null value, the cookie must be deleted.
302
- *
303
- * @param SetCookie $cookie
304
  */
305
- private function removeCookieIfEmpty(SetCookie $cookie)
306
  {
307
  $cookieValue = $cookie->getValue();
308
  if ($cookieValue === null || $cookieValue === '') {
1
  <?php
2
+
3
  namespace GuzzleHttp\Cookie;
4
 
5
  use Psr\Http\Message\RequestInterface;
10
  */
11
  class CookieJar implements CookieJarInterface
12
  {
13
+ /**
14
+ * @var SetCookie[] Loaded cookie data
15
+ */
16
  private $cookies = [];
17
 
18
+ /**
19
+ * @var bool
20
+ */
21
  private $strictMode;
22
 
23
  /**
24
+ * @param bool $strictMode Set to true to throw exceptions when invalid
25
  * cookies are added to the cookie jar.
26
  * @param array $cookieArray Array of SetCookie objects or a hash of
27
  * arrays that can be used with the SetCookie
28
  * constructor
29
  */
30
+ public function __construct(bool $strictMode = false, array $cookieArray = [])
31
  {
32
  $this->strictMode = $strictMode;
33
 
44
  *
45
  * @param array $cookies Cookies to create the jar from
46
  * @param string $domain Domain to set the cookies to
 
 
47
  */
48
+ public static function fromArray(array $cookies, string $domain): self
49
  {
50
  $cookieJar = new self();
51
  foreach ($cookies as $name => $value) {
60
  return $cookieJar;
61
  }
62
 
 
 
 
 
 
 
 
 
63
  /**
64
  * Evaluate if this cookie should be persisted to storage
65
  * that survives between requests.
66
  *
67
+ * @param SetCookie $cookie Being evaluated.
68
+ * @param bool $allowSessionCookies If we should persist session cookies
 
69
  */
70
+ public static function shouldPersist(SetCookie $cookie, bool $allowSessionCookies = false): bool
71
+ {
 
 
72
  if ($cookie->getExpires() || $allowSessionCookies) {
73
  if (!$cookie->getDiscard()) {
74
  return true;
82
  * Finds and returns the cookie based on the name
83
  *
84
  * @param string $name cookie name to search for
85
+ *
86
  * @return SetCookie|null cookie that was found or null if not found
87
  */
88
+ public function getCookieByName(string $name): ?SetCookie
89
  {
 
 
 
 
90
  foreach ($this->cookies as $cookie) {
91
+ if ($cookie->getName() !== null && \strcasecmp($cookie->getName(), $name) === 0) {
92
  return $cookie;
93
  }
94
  }
96
  return null;
97
  }
98
 
99
+ /**
100
+ * @inheritDoc
101
+ */
102
+ public function toArray(): array
103
  {
104
+ return \array_map(static function (SetCookie $cookie): array {
105
  return $cookie->toArray();
106
  }, $this->getIterator()->getArrayCopy());
107
  }
108
 
109
+ /**
110
+ * @inheritDoc
111
+ */
112
+ public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void
113
  {
114
  if (!$domain) {
115
  $this->cookies = [];
116
  return;
117
  } elseif (!$path) {
118
+ $this->cookies = \array_filter(
119
  $this->cookies,
120
+ static function (SetCookie $cookie) use ($domain): bool {
121
  return !$cookie->matchesDomain($domain);
122
  }
123
  );
124
  } elseif (!$name) {
125
+ $this->cookies = \array_filter(
126
  $this->cookies,
127
+ static function (SetCookie $cookie) use ($path, $domain): bool {
128
  return !($cookie->matchesPath($path) &&
129
  $cookie->matchesDomain($domain));
130
  }
131
  );
132
  } else {
133
+ $this->cookies = \array_filter(
134
  $this->cookies,
135
+ static function (SetCookie $cookie) use ($path, $domain, $name) {
136
  return !($cookie->getName() == $name &&
137
  $cookie->matchesPath($path) &&
138
  $cookie->matchesDomain($domain));
141
  }
142
  }
143
 
144
+ /**
145
+ * @inheritDoc
146
+ */
147
+ public function clearSessionCookies(): void
148
  {
149
+ $this->cookies = \array_filter(
150
  $this->cookies,
151
+ static function (SetCookie $cookie): bool {
152
  return !$cookie->getDiscard() && $cookie->getExpires();
153
  }
154
  );
155
  }
156
 
157
+ /**
158
+ * @inheritDoc
159
+ */
160
+ public function setCookie(SetCookie $cookie): bool
161
  {
162
  // If the name string is empty (but not 0), ignore the set-cookie
163
  // string entirely.
171
  if ($result !== true) {
172
  if ($this->strictMode) {
173
  throw new \RuntimeException('Invalid cookie: ' . $result);
 
 
 
174
  }
175
+ $this->removeCookieIfEmpty($cookie);
176
+ return false;
177
  }
178
 
179
  // Resolve conflicts with previously set cookies
217
  return true;
218
  }
219
 
220
+ public function count(): int
221
  {
222
+ return \count($this->cookies);
223
  }
224
 
225
+ /**
226
+ * @return \ArrayIterator<int, SetCookie>
227
+ */
228
+ public function getIterator(): \ArrayIterator
229
  {
230
+ return new \ArrayIterator(\array_values($this->cookies));
231
  }
232
 
233
+ public function extractCookies(RequestInterface $request, ResponseInterface $response): void
234
+ {
 
 
235
  if ($cookieHeader = $response->getHeader('Set-Cookie')) {
236
  foreach ($cookieHeader as $cookie) {
237
  $sc = SetCookie::fromString($cookie);
238
  if (!$sc->getDomain()) {
239
  $sc->setDomain($request->getUri()->getHost());
240
  }
241
+ if (0 !== \strpos($sc->getPath(), '/')) {
242
  $sc->setPath($this->getCookiePathFromRequest($request));
243
  }
244
  $this->setCookie($sc);
250
  * Computes cookie path following RFC 6265 section 5.1.4
251
  *
252
  * @link https://tools.ietf.org/html/rfc6265#section-5.1.4
 
 
 
253
  */
254
+ private function getCookiePathFromRequest(RequestInterface $request): string
255
  {
256
  $uriPath = $request->getUri()->getPath();
257
+ if ('' === $uriPath) {
258
  return '/';
259
  }
260
+ if (0 !== \strpos($uriPath, '/')) {
261
  return '/';
262
  }
263
  if ('/' === $uriPath) {
264
  return '/';
265
  }
266
+ $lastSlashPos = \strrpos($uriPath, '/');
267
+ if (0 === $lastSlashPos || false === $lastSlashPos) {
268
  return '/';
269
  }
270
 
271
+ return \substr($uriPath, 0, $lastSlashPos);
272
  }
273
 
274
+ public function withCookieHeader(RequestInterface $request): RequestInterface
275
  {
276
  $values = [];
277
  $uri = $request->getUri();
291
  }
292
 
293
  return $values
294
+ ? $request->withHeader('Cookie', \implode('; ', $values))
295
  : $request;
296
  }
297
 
298
  /**
299
  * If a cookie already exists and the server asks to set it again with a
300
  * null value, the cookie must be deleted.
 
 
301
  */
302
+ private function removeCookieIfEmpty(SetCookie $cookie): void
303
  {
304
  $cookieValue = $cookie->getValue();
305
  if ($cookieValue === null || $cookieValue === '') {
vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Cookie;
3
 
4
  use Psr\Http\Message\RequestInterface;
@@ -12,7 +13,8 @@ use Psr\Http\Message\ResponseInterface;
12
  * necessary. Subclasses are also responsible for storing and retrieving
13
  * cookies from a file, database, etc.
14
  *
15
- * @link http://docs.python.org/2/library/cookielib.html Inspiration
 
16
  */
17
  interface CookieJarInterface extends \Countable, \IteratorAggregate
18
  {
@@ -26,7 +28,7 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
26
  *
27
  * @return RequestInterface returns the modified request.
28
  */
29
- public function withCookieHeader(RequestInterface $request);
30
 
31
  /**
32
  * Extract cookies from an HTTP response and store them in the CookieJar.
@@ -34,10 +36,7 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
34
  * @param RequestInterface $request Request that was sent
35
  * @param ResponseInterface $response Response that was received
36
  */
37
- public function extractCookies(
38
- RequestInterface $request,
39
- ResponseInterface $response
40
- );
41
 
42
  /**
43
  * Sets a cookie in the cookie jar.
@@ -46,7 +45,7 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
46
  *
47
  * @return bool Returns true on success or false on failure
48
  */
49
- public function setCookie(SetCookie $cookie);
50
 
51
  /**
52
  * Remove cookies currently held in the cookie jar.
@@ -61,10 +60,8 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
61
  * @param string|null $domain Clears cookies matching a domain
62
  * @param string|null $path Clears cookies matching a domain and path
63
  * @param string|null $name Clears cookies matching a domain, path, and name
64
- *
65
- * @return CookieJarInterface
66
  */
67
- public function clear($domain = null, $path = null, $name = null);
68
 
69
  /**
70
  * Discard all sessions cookies.
@@ -73,12 +70,10 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
73
  * field set to true. To be called when the user agent shuts down according
74
  * to RFC 2965.
75
  */
76
- public function clearSessionCookies();
77
 
78
  /**
79
  * Converts the cookie jar to an array.
80
- *
81
- * @return array
82
  */
83
- public function toArray();
84
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Cookie;
4
 
5
  use Psr\Http\Message\RequestInterface;
13
  * necessary. Subclasses are also responsible for storing and retrieving
14
  * cookies from a file, database, etc.
15
  *
16
+ * @link https://docs.python.org/2/library/cookielib.html Inspiration
17
+ * @extends \IteratorAggregate<SetCookie>
18
  */
19
  interface CookieJarInterface extends \Countable, \IteratorAggregate
20
  {
28
  *
29
  * @return RequestInterface returns the modified request.
30
  */
31
+ public function withCookieHeader(RequestInterface $request): RequestInterface;
32
 
33
  /**
34
  * Extract cookies from an HTTP response and store them in the CookieJar.
36
  * @param RequestInterface $request Request that was sent
37
  * @param ResponseInterface $response Response that was received
38
  */
39
+ public function extractCookies(RequestInterface $request, ResponseInterface $response): void;
 
 
 
40
 
41
  /**
42
  * Sets a cookie in the cookie jar.
45
  *
46
  * @return bool Returns true on success or false on failure
47
  */
48
+ public function setCookie(SetCookie $cookie): bool;
49
 
50
  /**
51
  * Remove cookies currently held in the cookie jar.
60
  * @param string|null $domain Clears cookies matching a domain
61
  * @param string|null $path Clears cookies matching a domain and path
62
  * @param string|null $name Clears cookies matching a domain, path, and name
 
 
63
  */
64
+ public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void;
65
 
66
  /**
67
  * Discard all sessions cookies.
70
  * field set to true. To be called when the user agent shuts down according
71
  * to RFC 2965.
72
  */
73
+ public function clearSessionCookies(): void;
74
 
75
  /**
76
  * Converts the cookie jar to an array.
 
 
77
  */
78
+ public function toArray(): array;
79
  }
vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php CHANGED
@@ -1,33 +1,40 @@
1
  <?php
 
2
  namespace GuzzleHttp\Cookie;
3
 
 
 
4
  /**
5
  * Persists non-session cookies using a JSON formatted file
6
  */
7
  class FileCookieJar extends CookieJar
8
  {
9
- /** @var string filename */
 
 
10
  private $filename;
11
 
12
- /** @var bool Control whether to persist session cookies or not. */
 
 
13
  private $storeSessionCookies;
14
 
15
  /**
16
  * Create a new FileCookieJar object
17
  *
18
- * @param string $cookieFile File to store the cookie data
19
- * @param bool $storeSessionCookies Set to true to store session cookies
20
- * in the cookie jar.
21
  *
22
  * @throws \RuntimeException if the file cannot be found or created
23
  */
24
- public function __construct($cookieFile, $storeSessionCookies = false)
25
  {
26
  parent::__construct();
27
  $this->filename = $cookieFile;
28
  $this->storeSessionCookies = $storeSessionCookies;
29
 
30
- if (file_exists($cookieFile)) {
31
  $this->load($cookieFile);
32
  }
33
  }
@@ -44,20 +51,21 @@ class FileCookieJar extends CookieJar
44
  * Saves the cookies to a file.
45
  *
46
  * @param string $filename File to save
 
47
  * @throws \RuntimeException if the file cannot be found or created
48
  */
49
- public function save($filename)
50
  {
51
  $json = [];
 
52
  foreach ($this as $cookie) {
53
- /** @var SetCookie $cookie */
54
  if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
55
  $json[] = $cookie->toArray();
56
  }
57
  }
58
 
59
- $jsonStr = \GuzzleHttp\json_encode($json);
60
- if (false === file_put_contents($filename, $jsonStr, LOCK_EX)) {
61
  throw new \RuntimeException("Unable to save file {$filename}");
62
  }
63
  }
@@ -68,23 +76,25 @@ class FileCookieJar extends CookieJar
68
  * Old cookies are kept unless overwritten by newly loaded ones.
69
  *
70
  * @param string $filename Cookie file to load.
 
71
  * @throws \RuntimeException if the file cannot be loaded.
72
  */
73
- public function load($filename)
74
  {
75
- $json = file_get_contents($filename);
76
  if (false === $json) {
77
  throw new \RuntimeException("Unable to load file {$filename}");
78
- } elseif ($json === '') {
 
79
  return;
80
  }
81
 
82
- $data = \GuzzleHttp\json_decode($json, true);
83
- if (is_array($data)) {
84
- foreach (json_decode($json, true) as $cookie) {
85
  $this->setCookie(new SetCookie($cookie));
86
  }
87
- } elseif (strlen($data)) {
88
  throw new \RuntimeException("Invalid cookie file: {$filename}");
89
  }
90
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Cookie;
4
 
5
+ use GuzzleHttp\Utils;
6
+
7
  /**
8
  * Persists non-session cookies using a JSON formatted file
9
  */
10
  class FileCookieJar extends CookieJar
11
  {
12
+ /**
13
+ * @var string filename
14
+ */
15
  private $filename;
16
 
17
+ /**
18
+ * @var bool Control whether to persist session cookies or not.
19
+ */
20
  private $storeSessionCookies;
21
 
22
  /**
23
  * Create a new FileCookieJar object
24
  *
25
+ * @param string $cookieFile File to store the cookie data
26
+ * @param bool $storeSessionCookies Set to true to store session cookies
27
+ * in the cookie jar.
28
  *
29
  * @throws \RuntimeException if the file cannot be found or created
30
  */
31
+ public function __construct(string $cookieFile, bool $storeSessionCookies = false)
32
  {
33
  parent::__construct();
34
  $this->filename = $cookieFile;
35
  $this->storeSessionCookies = $storeSessionCookies;
36
 
37
+ if (\file_exists($cookieFile)) {
38
  $this->load($cookieFile);
39
  }
40
  }
51
  * Saves the cookies to a file.
52
  *
53
  * @param string $filename File to save
54
+ *
55
  * @throws \RuntimeException if the file cannot be found or created
56
  */
57
+ public function save(string $filename): void
58
  {
59
  $json = [];
60
+ /** @var SetCookie $cookie */
61
  foreach ($this as $cookie) {
 
62
  if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
63
  $json[] = $cookie->toArray();
64
  }
65
  }
66
 
67
+ $jsonStr = Utils::jsonEncode($json);
68
+ if (false === \file_put_contents($filename, $jsonStr, \LOCK_EX)) {
69
  throw new \RuntimeException("Unable to save file {$filename}");
70
  }
71
  }
76
  * Old cookies are kept unless overwritten by newly loaded ones.
77
  *
78
  * @param string $filename Cookie file to load.
79
+ *
80
  * @throws \RuntimeException if the file cannot be loaded.
81
  */
82
+ public function load(string $filename): void
83
  {
84
+ $json = \file_get_contents($filename);
85
  if (false === $json) {
86
  throw new \RuntimeException("Unable to load file {$filename}");
87
+ }
88
+ if ($json === '') {
89
  return;
90
  }
91
 
92
+ $data = Utils::jsonDecode($json, true);
93
+ if (\is_array($data)) {
94
+ foreach ($data as $cookie) {
95
  $this->setCookie(new SetCookie($cookie));
96
  }
97
+ } elseif (\is_scalar($data) && !empty($data)) {
98
  throw new \RuntimeException("Invalid cookie file: {$filename}");
99
  }
100
  }
vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Cookie;
3
 
4
  /**
@@ -6,21 +7,25 @@ namespace GuzzleHttp\Cookie;
6
  */
7
  class SessionCookieJar extends CookieJar
8
  {
9
- /** @var string session key */
 
 
10
  private $sessionKey;
11
-
12
- /** @var bool Control whether to persist session cookies or not. */
 
 
13
  private $storeSessionCookies;
14
 
15
  /**
16
  * Create a new SessionCookieJar object
17
  *
18
- * @param string $sessionKey Session key name to store the cookie
19
- * data in session
20
- * @param bool $storeSessionCookies Set to true to store session cookies
21
- * in the cookie jar.
22
  */
23
- public function __construct($sessionKey, $storeSessionCookies = false)
24
  {
25
  parent::__construct();
26
  $this->sessionKey = $sessionKey;
@@ -39,33 +44,33 @@ class SessionCookieJar extends CookieJar
39
  /**
40
  * Save cookies to the client session
41
  */
42
- public function save()
43
  {
44
  $json = [];
 
45
  foreach ($this as $cookie) {
46
- /** @var SetCookie $cookie */
47
  if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
48
  $json[] = $cookie->toArray();
49
  }
50
  }
51
 
52
- $_SESSION[$this->sessionKey] = json_encode($json);
53
  }
54
 
55
  /**
56
  * Load the contents of the client session into the data array
57
  */
58
- protected function load()
59
  {
60
  if (!isset($_SESSION[$this->sessionKey])) {
61
  return;
62
  }
63
- $data = json_decode($_SESSION[$this->sessionKey], true);
64
- if (is_array($data)) {
65
  foreach ($data as $cookie) {
66
  $this->setCookie(new SetCookie($cookie));
67
  }
68
- } elseif (strlen($data)) {
69
  throw new \RuntimeException("Invalid cookie data");
70
  }
71
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Cookie;
4
 
5
  /**
7
  */
8
  class SessionCookieJar extends CookieJar
9
  {
10
+ /**
11
+ * @var string session key
12
+ */
13
  private $sessionKey;
14
+
15
+ /**
16
+ * @var bool Control whether to persist session cookies or not.
17
+ */
18
  private $storeSessionCookies;
19
 
20
  /**
21
  * Create a new SessionCookieJar object
22
  *
23
+ * @param string $sessionKey Session key name to store the cookie
24
+ * data in session
25
+ * @param bool $storeSessionCookies Set to true to store session cookies
26
+ * in the cookie jar.
27
  */
28
+ public function __construct(string $sessionKey, bool $storeSessionCookies = false)
29
  {
30
  parent::__construct();
31
  $this->sessionKey = $sessionKey;
44
  /**
45
  * Save cookies to the client session
46
  */
47
+ public function save(): void
48
  {
49
  $json = [];
50
+ /** @var SetCookie $cookie */
51
  foreach ($this as $cookie) {
 
52
  if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
53
  $json[] = $cookie->toArray();
54
  }
55
  }
56
 
57
+ $_SESSION[$this->sessionKey] = \json_encode($json);
58
  }
59
 
60
  /**
61
  * Load the contents of the client session into the data array
62
  */
63
+ protected function load(): void
64
  {
65
  if (!isset($_SESSION[$this->sessionKey])) {
66
  return;
67
  }
68
+ $data = \json_decode($_SESSION[$this->sessionKey], true);
69
+ if (\is_array($data)) {
70
  foreach ($data as $cookie) {
71
  $this->setCookie(new SetCookie($cookie));
72
  }
73
+ } elseif (\strlen($data)) {
74
  throw new \RuntimeException("Invalid cookie data");
75
  }
76
  }
vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Cookie;
3
 
4
  /**
@@ -6,7 +7,9 @@ namespace GuzzleHttp\Cookie;
6
  */
7
  class SetCookie
8
  {
9
- /** @var array */
 
 
10
  private static $defaults = [
11
  'Name' => null,
12
  'Value' => null,
@@ -19,42 +22,42 @@ class SetCookie
19
  'HttpOnly' => false
20
  ];
21
 
22
- /** @var array Cookie data */
 
 
23
  private $data;
24
 
25
  /**
26
- * Create a new SetCookie object from a string
27
  *
28
  * @param string $cookie Set-Cookie header string
29
- *
30
- * @return self
31
  */
32
- public static function fromString($cookie)
33
  {
34
  // Create the default return array
35
  $data = self::$defaults;
36
  // Explode the cookie string using a series of semicolons
37
- $pieces = array_filter(array_map('trim', explode(';', $cookie)));
38
  // The name of the cookie (first kvp) must exist and include an equal sign.
39
- if (empty($pieces[0]) || !strpos($pieces[0], '=')) {
40
  return new self($data);
41
  }
42
 
43
  // Add the cookie pieces into the parsed data array
44
  foreach ($pieces as $part) {
45
- $cookieParts = explode('=', $part, 2);
46
- $key = trim($cookieParts[0]);
47
  $value = isset($cookieParts[1])
48
- ? trim($cookieParts[1], " \n\r\t\0\x0B")
49
  : true;
50
 
51
  // Only check for non-cookies when cookies have been found
52
- if (empty($data['Name'])) {
53
  $data['Name'] = $key;
54
  $data['Value'] = $value;
55
  } else {
56
- foreach (array_keys(self::$defaults) as $search) {
57
- if (!strcasecmp($search, $key)) {
58
  $data[$search] = $value;
59
  continue 2;
60
  }
@@ -71,39 +74,45 @@ class SetCookie
71
  */
72
  public function __construct(array $data = [])
73
  {
74
- $this->data = array_replace(self::$defaults, $data);
 
 
 
 
 
 
75
  // Extract the Expires value and turn it into a UNIX timestamp if needed
76
  if (!$this->getExpires() && $this->getMaxAge()) {
77
  // Calculate the Expires date
78
- $this->setExpires(time() + $this->getMaxAge());
79
- } elseif ($this->getExpires() && !is_numeric($this->getExpires())) {
80
- $this->setExpires($this->getExpires());
81
  }
82
  }
83
 
84
  public function __toString()
85
  {
86
- $str = $this->data['Name'] . '=' . $this->data['Value'] . '; ';
87
  foreach ($this->data as $k => $v) {
88
  if ($k !== 'Name' && $k !== 'Value' && $v !== null && $v !== false) {
89
  if ($k === 'Expires') {
90
- $str .= 'Expires=' . gmdate('D, d M Y H:i:s \G\M\T', $v) . '; ';
91
  } else {
92
  $str .= ($v === true ? $k : "{$k}={$v}") . '; ';
93
  }
94
  }
95
  }
96
 
97
- return rtrim($str, '; ');
98
  }
99
 
100
- public function toArray()
101
  {
102
  return $this->data;
103
  }
104
 
105
  /**
106
- * Get the cookie name
107
  *
108
  * @return string
109
  */
@@ -113,19 +122,23 @@ class SetCookie
113
  }
114
 
115
  /**
116
- * Set the cookie name
117
  *
118
  * @param string $name Cookie name
119
  */
120
- public function setName($name)
121
  {
122
- $this->data['Name'] = $name;
 
 
 
 
123
  }
124
 
125
  /**
126
- * Get the cookie value
127
  *
128
- * @return string
129
  */
130
  public function getValue()
131
  {
@@ -133,17 +146,21 @@ class SetCookie
133
  }
134
 
135
  /**
136
- * Set the cookie value
137
  *
138
  * @param string $value Cookie value
139
  */
140
- public function setValue($value)
141
  {
142
- $this->data['Value'] = $value;
 
 
 
 
143
  }
144
 
145
  /**
146
- * Get the domain
147
  *
148
  * @return string|null
149
  */
@@ -153,17 +170,21 @@ class SetCookie
153
  }
154
 
155
  /**
156
- * Set the domain of the cookie
157
  *
158
- * @param string $domain
159
  */
160
- public function setDomain($domain)
161
  {
162
- $this->data['Domain'] = $domain;
 
 
 
 
163
  }
164
 
165
  /**
166
- * Get the path
167
  *
168
  * @return string
169
  */
@@ -173,39 +194,47 @@ class SetCookie
173
  }
174
 
175
  /**
176
- * Set the path of the cookie
177
  *
178
  * @param string $path Path of the cookie
179
  */
180
- public function setPath($path)
181
  {
182
- $this->data['Path'] = $path;
 
 
 
 
183
  }
184
 
185
  /**
186
- * Maximum lifetime of the cookie in seconds
187
  *
188
  * @return int|null
189
  */
190
  public function getMaxAge()
191
  {
192
- return $this->data['Max-Age'];
193
  }
194
 
195
  /**
196
- * Set the max-age of the cookie
197
  *
198
- * @param int $maxAge Max age of the cookie in seconds
199
  */
200
- public function setMaxAge($maxAge)
201
  {
202
- $this->data['Max-Age'] = $maxAge;
 
 
 
 
203
  }
204
 
205
  /**
206
- * The UNIX timestamp when the cookie Expires
207
  *
208
- * @return mixed
209
  */
210
  public function getExpires()
211
  {
@@ -213,21 +242,23 @@ class SetCookie
213
  }
214
 
215
  /**
216
- * Set the unix timestamp for which the cookie will expire
217
  *
218
- * @param int $timestamp Unix timestamp
219
  */
220
- public function setExpires($timestamp)
221
  {
222
- $this->data['Expires'] = is_numeric($timestamp)
223
- ? (int) $timestamp
224
- : strtotime($timestamp);
 
 
225
  }
226
 
227
  /**
228
- * Get whether or not this is a secure cookie
229
  *
230
- * @return bool|null
231
  */
232
  public function getSecure()
233
  {
@@ -235,17 +266,21 @@ class SetCookie
235
  }
236
 
237
  /**
238
- * Set whether or not the cookie is secure
239
  *
240
  * @param bool $secure Set to true or false if secure
241
  */
242
- public function setSecure($secure)
243
  {
244
- $this->data['Secure'] = $secure;
 
 
 
 
245
  }
246
 
247
  /**
248
- * Get whether or not this is a session cookie
249
  *
250
  * @return bool|null
251
  */
@@ -255,17 +290,21 @@ class SetCookie
255
  }
256
 
257
  /**
258
- * Set whether or not this is a session cookie
259
  *
260
  * @param bool $discard Set to true or false if this is a session cookie
261
  */
262
- public function setDiscard($discard)
263
  {
264
- $this->data['Discard'] = $discard;
 
 
 
 
265
  }
266
 
267
  /**
268
- * Get whether or not this is an HTTP only cookie
269
  *
270
  * @return bool
271
  */
@@ -275,13 +314,17 @@ class SetCookie
275
  }
276
 
277
  /**
278
- * Set whether or not this is an HTTP only cookie
279
  *
280
  * @param bool $httpOnly Set to true or false if this is HTTP only
281
  */
282
- public function setHttpOnly($httpOnly)
283
  {
284
- $this->data['HttpOnly'] = $httpOnly;
 
 
 
 
285
  }
286
 
287
  /**
@@ -298,10 +341,8 @@ class SetCookie
298
  * path is a %x2F ("/") character.
299
  *
300
  * @param string $requestPath Path to check against
301
- *
302
- * @return bool
303
  */
304
- public function matchesPath($requestPath)
305
  {
306
  $cookiePath = $this->getPath();
307
 
@@ -311,71 +352,71 @@ class SetCookie
311
  }
312
 
313
  // Ensure that the cookie-path is a prefix of the request path.
314
- if (0 !== strpos($requestPath, $cookiePath)) {
315
  return false;
316
  }
317
 
318
  // Match if the last character of the cookie-path is "/"
319
- if (substr($cookiePath, -1, 1) === '/') {
320
  return true;
321
  }
322
 
323
  // Match if the first character not included in cookie path is "/"
324
- return substr($requestPath, strlen($cookiePath), 1) === '/';
325
  }
326
 
327
  /**
328
- * Check if the cookie matches a domain value
329
  *
330
  * @param string $domain Domain to check against
331
- *
332
- * @return bool
333
  */
334
- public function matchesDomain($domain)
335
  {
 
 
 
 
 
336
  // Remove the leading '.' as per spec in RFC 6265.
337
- // http://tools.ietf.org/html/rfc6265#section-5.2.3
338
- $cookieDomain = ltrim($this->getDomain(), '.');
339
 
340
  // Domain not set or exact match.
341
- if (!$cookieDomain || !strcasecmp($domain, $cookieDomain)) {
342
  return true;
343
  }
344
 
345
  // Matching the subdomain according to RFC 6265.
346
- // http://tools.ietf.org/html/rfc6265#section-5.1.3
347
- if (filter_var($domain, FILTER_VALIDATE_IP)) {
348
  return false;
349
  }
350
 
351
- return (bool) preg_match('/\.' . preg_quote($cookieDomain, '/') . '$/', $domain);
352
  }
353
 
354
  /**
355
- * Check if the cookie is expired
356
- *
357
- * @return bool
358
  */
359
- public function isExpired()
360
  {
361
- return $this->getExpires() !== null && time() > $this->getExpires();
362
  }
363
 
364
  /**
365
- * Check if the cookie is valid according to RFC 6265
366
  *
367
  * @return bool|string Returns true if valid or an error message if invalid
368
  */
369
  public function validate()
370
  {
371
- // Names must not be empty, but can be 0
372
  $name = $this->getName();
373
- if (empty($name) && !is_numeric($name)) {
374
  return 'The cookie name must not be empty';
375
  }
376
 
377
  // Check if any of the invalid characters are present in the cookie name
378
- if (preg_match(
379
  '/[\x00-\x20\x22\x28-\x29\x2c\x2f\x3a-\x40\x5c\x7b\x7d\x7f]/',
380
  $name
381
  )) {
@@ -384,17 +425,17 @@ class SetCookie
384
  . 'following characters: ()<>@,;:\"/?={}';
385
  }
386
 
387
- // Value must not be empty, but can be 0
 
388
  $value = $this->getValue();
389
- if (empty($value) && !is_numeric($value)) {
390
  return 'The cookie value must not be empty';
391
  }
392
 
393
- // Domains must not be empty, but can be 0
394
- // A "0" is not a valid internet domain, but may be used as server name
395
- // in a private network.
396
  $domain = $this->getDomain();
397
- if (empty($domain) && !is_numeric($domain)) {
398
  return 'The cookie domain must not be empty';
399
  }
400
 
1
  <?php
2
+
3
  namespace GuzzleHttp\Cookie;
4
 
5
  /**
7
  */
8
  class SetCookie
9
  {
10
+ /**
11
+ * @var array
12
+ */
13
  private static $defaults = [
14
  'Name' => null,
15
  'Value' => null,
22
  'HttpOnly' => false
23
  ];
24
 
25
+ /**
26
+ * @var array Cookie data
27
+ */
28
  private $data;
29
 
30
  /**
31
+ * Create a new SetCookie object from a string.
32
  *
33
  * @param string $cookie Set-Cookie header string
 
 
34
  */
35
+ public static function fromString(string $cookie): self
36
  {
37
  // Create the default return array
38
  $data = self::$defaults;
39
  // Explode the cookie string using a series of semicolons
40
+ $pieces = \array_filter(\array_map('trim', \explode(';', $cookie)));
41
  // The name of the cookie (first kvp) must exist and include an equal sign.
42
+ if (!isset($pieces[0]) || \strpos($pieces[0], '=') === false) {
43
  return new self($data);
44
  }
45
 
46
  // Add the cookie pieces into the parsed data array
47
  foreach ($pieces as $part) {
48
+ $cookieParts = \explode('=', $part, 2);
49
+ $key = \trim($cookieParts[0]);
50
  $value = isset($cookieParts[1])
51
+ ? \trim($cookieParts[1], " \n\r\t\0\x0B")
52
  : true;
53
 
54
  // Only check for non-cookies when cookies have been found
55
+ if (!isset($data['Name'])) {
56
  $data['Name'] = $key;
57
  $data['Value'] = $value;
58
  } else {
59
+ foreach (\array_keys(self::$defaults) as $search) {
60
+ if (!\strcasecmp($search, $key)) {
61
  $data[$search] = $value;
62
  continue 2;
63
  }
74
  */
75
  public function __construct(array $data = [])
76
  {
77
+ /** @var array|null $replaced will be null in case of replace error */
78
+ $replaced = \array_replace(self::$defaults, $data);
79
+ if ($replaced === null) {
80
+ throw new \InvalidArgumentException('Unable to replace the default values for the Cookie.');
81
+ }
82
+
83
+ $this->data = $replaced;
84
  // Extract the Expires value and turn it into a UNIX timestamp if needed
85
  if (!$this->getExpires() && $this->getMaxAge()) {
86
  // Calculate the Expires date
87
+ $this->setExpires(\time() + $this->getMaxAge());
88
+ } elseif (null !== ($expires = $this->getExpires()) && !\is_numeric($expires)) {
89
+ $this->setExpires($expires);
90
  }
91
  }
92
 
93
  public function __toString()
94
  {
95
+ $str = $this->data['Name'] . '=' . ($this->data['Value'] ?? '') . '; ';
96
  foreach ($this->data as $k => $v) {
97
  if ($k !== 'Name' && $k !== 'Value' && $v !== null && $v !== false) {
98
  if ($k === 'Expires') {
99
+ $str .= 'Expires=' . \gmdate('D, d M Y H:i:s \G\M\T', $v) . '; ';
100
  } else {
101
  $str .= ($v === true ? $k : "{$k}={$v}") . '; ';
102
  }
103
  }
104
  }
105
 
106
+ return \rtrim($str, '; ');
107
  }
108
 
109
+ public function toArray(): array
110
  {
111
  return $this->data;
112
  }
113
 
114
  /**
115
+ * Get the cookie name.
116
  *
117
  * @return string
118
  */
122
  }
123
 
124
  /**
125
+ * Set the cookie name.
126
  *
127
  * @param string $name Cookie name
128
  */
129
+ public function setName($name): void
130
  {
131
+ if (!is_string($name)) {
132
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
133
+ }
134
+
135
+ $this->data['Name'] = (string) $name;
136
  }
137
 
138
  /**
139
+ * Get the cookie value.
140
  *
141
+ * @return string|null
142
  */
143
  public function getValue()
144
  {
146
  }
147
 
148
  /**
149
+ * Set the cookie value.
150
  *
151
  * @param string $value Cookie value
152
  */
153
+ public function setValue($value): void
154
  {
155
+ if (!is_string($value)) {
156
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
157
+ }
158
+
159
+ $this->data['Value'] = (string) $value;
160
  }
161
 
162
  /**
163
+ * Get the domain.
164
  *
165
  * @return string|null
166
  */
170
  }
171
 
172
  /**
173
+ * Set the domain of the cookie.
174
  *
175
+ * @param string|null $domain
176
  */
177
+ public function setDomain($domain): void
178
  {
179
+ if (!is_string($domain) && null !== $domain) {
180
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
181
+ }
182
+
183
+ $this->data['Domain'] = null === $domain ? null : (string) $domain;
184
  }
185
 
186
  /**
187
+ * Get the path.
188
  *
189
  * @return string
190
  */
194
  }
195
 
196
  /**
197
+ * Set the path of the cookie.
198
  *
199
  * @param string $path Path of the cookie
200
  */
201
+ public function setPath($path): void
202
  {
203
+ if (!is_string($path)) {
204
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
205
+ }
206
+
207
+ $this->data['Path'] = (string) $path;
208
  }
209
 
210
  /**
211
+ * Maximum lifetime of the cookie in seconds.
212
  *
213
  * @return int|null
214
  */
215
  public function getMaxAge()
216
  {
217
+ return null === $this->data['Max-Age'] ? null : (int) $this->data['Max-Age'];
218
  }
219
 
220
  /**
221
+ * Set the max-age of the cookie.
222
  *
223
+ * @param int|null $maxAge Max age of the cookie in seconds
224
  */
225
+ public function setMaxAge($maxAge): void
226
  {
227
+ if (!is_int($maxAge) && null !== $maxAge) {
228
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
229
+ }
230
+
231
+ $this->data['Max-Age'] = $maxAge === null ? null : (int) $maxAge;
232
  }
233
 
234
  /**
235
+ * The UNIX timestamp when the cookie Expires.
236
  *
237
+ * @return string|int|null
238
  */
239
  public function getExpires()
240
  {
242
  }
243
 
244
  /**
245
+ * Set the unix timestamp for which the cookie will expire.
246
  *
247
+ * @param int|string|null $timestamp Unix timestamp or any English textual datetime description.
248
  */
249
+ public function setExpires($timestamp): void
250
  {
251
+ if (!is_int($timestamp) && !is_string($timestamp) && null !== $timestamp) {
252
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an int, string or null to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
253
+ }
254
+
255
+ $this->data['Expires'] = null === $timestamp ? null : (\is_numeric($timestamp) ? (int) $timestamp : \strtotime((string) $timestamp));
256
  }
257
 
258
  /**
259
+ * Get whether or not this is a secure cookie.
260
  *
261
+ * @return bool
262
  */
263
  public function getSecure()
264
  {
266
  }
267
 
268
  /**
269
+ * Set whether or not the cookie is secure.
270
  *
271
  * @param bool $secure Set to true or false if secure
272
  */
273
+ public function setSecure($secure): void
274
  {
275
+ if (!is_bool($secure)) {
276
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
277
+ }
278
+
279
+ $this->data['Secure'] = (bool) $secure;
280
  }
281
 
282
  /**
283
+ * Get whether or not this is a session cookie.
284
  *
285
  * @return bool|null
286
  */
290
  }
291
 
292
  /**
293
+ * Set whether or not this is a session cookie.
294
  *
295
  * @param bool $discard Set to true or false if this is a session cookie
296
  */
297
+ public function setDiscard($discard): void
298
  {
299
+ if (!is_bool($discard)) {
300
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
301
+ }
302
+
303
+ $this->data['Discard'] = (bool) $discard;
304
  }
305
 
306
  /**
307
+ * Get whether or not this is an HTTP only cookie.
308
  *
309
  * @return bool
310
  */
314
  }
315
 
316
  /**
317
+ * Set whether or not this is an HTTP only cookie.
318
  *
319
  * @param bool $httpOnly Set to true or false if this is HTTP only
320
  */
321
+ public function setHttpOnly($httpOnly): void
322
  {
323
+ if (!is_bool($httpOnly)) {
324
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a bool to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
325
+ }
326
+
327
+ $this->data['HttpOnly'] = (bool) $httpOnly;
328
  }
329
 
330
  /**
341
  * path is a %x2F ("/") character.
342
  *
343
  * @param string $requestPath Path to check against
 
 
344
  */
345
+ public function matchesPath(string $requestPath): bool
346
  {
347
  $cookiePath = $this->getPath();
348
 
352
  }
353
 
354
  // Ensure that the cookie-path is a prefix of the request path.
355
+ if (0 !== \strpos($requestPath, $cookiePath)) {
356
  return false;
357
  }
358
 
359
  // Match if the last character of the cookie-path is "/"
360
+ if (\substr($cookiePath, -1, 1) === '/') {
361
  return true;
362
  }
363
 
364
  // Match if the first character not included in cookie path is "/"
365
+ return \substr($requestPath, \strlen($cookiePath), 1) === '/';
366
  }
367
 
368
  /**
369
+ * Check if the cookie matches a domain value.
370
  *
371
  * @param string $domain Domain to check against
 
 
372
  */
373
+ public function matchesDomain(string $domain): bool
374
  {
375
+ $cookieDomain = $this->getDomain();
376
+ if (null === $cookieDomain) {
377
+ return true;
378
+ }
379
+
380
  // Remove the leading '.' as per spec in RFC 6265.
381
+ // https://tools.ietf.org/html/rfc6265#section-5.2.3
382
+ $cookieDomain = \ltrim($cookieDomain, '.');
383
 
384
  // Domain not set or exact match.
385
+ if (!$cookieDomain || !\strcasecmp($domain, $cookieDomain)) {
386
  return true;
387
  }
388
 
389
  // Matching the subdomain according to RFC 6265.
390
+ // https://tools.ietf.org/html/rfc6265#section-5.1.3
391
+ if (\filter_var($domain, \FILTER_VALIDATE_IP)) {
392
  return false;
393
  }
394
 
395
+ return (bool) \preg_match('/\.' . \preg_quote($cookieDomain, '/') . '$/', $domain);
396
  }
397
 
398
  /**
399
+ * Check if the cookie is expired.
 
 
400
  */
401
+ public function isExpired(): bool
402
  {
403
+ return $this->getExpires() !== null && \time() > $this->getExpires();
404
  }
405
 
406
  /**
407
+ * Check if the cookie is valid according to RFC 6265.
408
  *
409
  * @return bool|string Returns true if valid or an error message if invalid
410
  */
411
  public function validate()
412
  {
 
413
  $name = $this->getName();
414
+ if ($name === '') {
415
  return 'The cookie name must not be empty';
416
  }
417
 
418
  // Check if any of the invalid characters are present in the cookie name
419
+ if (\preg_match(
420
  '/[\x00-\x20\x22\x28-\x29\x2c\x2f\x3a-\x40\x5c\x7b\x7d\x7f]/',
421
  $name
422
  )) {
425
  . 'following characters: ()<>@,;:\"/?={}';
426
  }
427
 
428
+ // Value must not be null. 0 and empty string are valid. Empty strings
429
+ // are technically against RFC 6265, but known to happen in the wild.
430
  $value = $this->getValue();
431
+ if ($value === null) {
432
  return 'The cookie value must not be empty';
433
  }
434
 
435
+ // Domains must not be empty, but can be 0. "0" is not a valid internet
436
+ // domain, but may be used as server name in a private network.
 
437
  $domain = $this->getDomain();
438
+ if ($domain === null || $domain === '') {
439
  return 'The cookie domain must not be empty';
440
  }
441
 
vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Exception;
3
 
4
  use Psr\Http\Message\RequestInterface;
@@ -10,18 +11,29 @@ use Psr\Http\Message\ResponseInterface;
10
  class BadResponseException extends RequestException
11
  {
12
  public function __construct(
13
- $message,
14
  RequestInterface $request,
15
- ResponseInterface $response = null,
16
- \Exception $previous = null,
17
  array $handlerContext = []
18
  ) {
19
- if (null === $response) {
20
- @trigger_error(
21
- 'Instantiating the ' . __CLASS__ . ' class without a Response is deprecated since version 6.3 and will be removed in 7.0.',
22
- E_USER_DEPRECATED
23
- );
24
- }
25
  parent::__construct($message, $request, $response, $previous, $handlerContext);
26
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Exception;
4
 
5
  use Psr\Http\Message\RequestInterface;
11
  class BadResponseException extends RequestException
12
  {
13
  public function __construct(
14
+ string $message,
15
  RequestInterface $request,
16
+ ResponseInterface $response,
17
+ \Throwable $previous = null,
18
  array $handlerContext = []
19
  ) {
 
 
 
 
 
 
20
  parent::__construct($message, $request, $response, $previous, $handlerContext);
21
  }
22
+
23
+ /**
24
+ * Current exception and the ones that extend it will always have a response.
25
+ */
26
+ public function hasResponse(): bool
27
+ {
28
+ return true;
29
+ }
30
+
31
+ /**
32
+ * This function narrows the return type from the parent class and does not allow it to be nullable.
33
+ */
34
+ public function getResponse(): ResponseInterface
35
+ {
36
+ /** @var ResponseInterface */
37
+ return parent::getResponse();
38
+ }
39
  }
vendor/guzzlehttp/guzzle/src/Exception/ClientException.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Exception;
3
 
4
  /**
1
  <?php
2
+
3
  namespace GuzzleHttp\Exception;
4
 
5
  /**
vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php CHANGED
@@ -1,6 +1,8 @@
1
  <?php
 
2
  namespace GuzzleHttp\Exception;
3
 
 
4
  use Psr\Http\Message\RequestInterface;
5
 
6
  /**
@@ -8,30 +10,47 @@ use Psr\Http\Message\RequestInterface;
8
  *
9
  * Note that no response is present for a ConnectException
10
  */
11
- class ConnectException extends RequestException
12
  {
 
 
 
 
 
 
 
 
 
 
13
  public function __construct(
14
- $message,
15
  RequestInterface $request,
16
- \Exception $previous = null,
17
  array $handlerContext = []
18
  ) {
19
- parent::__construct($message, $request, null, $previous, $handlerContext);
 
 
20
  }
21
 
22
  /**
23
- * @return null
24
  */
25
- public function getResponse()
26
  {
27
- return null;
28
  }
29
 
30
  /**
31
- * @return bool
 
 
 
 
 
32
  */
33
- public function hasResponse()
34
  {
35
- return false;
36
  }
37
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Exception;
4
 
5
+ use Psr\Http\Client\NetworkExceptionInterface;
6
  use Psr\Http\Message\RequestInterface;
7
 
8
  /**
10
  *
11
  * Note that no response is present for a ConnectException
12
  */
13
+ class ConnectException extends TransferException implements NetworkExceptionInterface
14
  {
15
+ /**
16
+ * @var RequestInterface
17
+ */
18
+ private $request;
19
+
20
+ /**
21
+ * @var array
22
+ */
23
+ private $handlerContext;
24
+
25
  public function __construct(
26
+ string $message,
27
  RequestInterface $request,
28
+ \Throwable $previous = null,
29
  array $handlerContext = []
30
  ) {
31
+ parent::__construct($message, 0, $previous);
32
+ $this->request = $request;
33
+ $this->handlerContext = $handlerContext;
34
  }
35
 
36
  /**
37
+ * Get the request that caused the exception
38
  */
39
+ public function getRequest(): RequestInterface
40
  {
41
+ return $this->request;
42
  }
43
 
44
  /**
45
+ * Get contextual information about the error from the underlying handler.
46
+ *
47
+ * The contents of this array will vary depending on which handler you are
48
+ * using. It may also be just an empty array. Relying on this data will
49
+ * couple you to a specific handler, but can give more debug information
50
+ * when needed.
51
  */
52
+ public function getHandlerContext(): array
53
  {
54
+ return $this->handlerContext;
55
  }
56
  }
vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php CHANGED
@@ -1,23 +1,9 @@
1
  <?php
 
2
  namespace GuzzleHttp\Exception;
3
 
4
- use Throwable;
5
 
6
- if (interface_exists(Throwable::class)) {
7
- interface GuzzleException extends Throwable
8
- {
9
- }
10
- } else {
11
- /**
12
- * @method string getMessage()
13
- * @method \Throwable|null getPrevious()
14
- * @method mixed getCode()
15
- * @method string getFile()
16
- * @method int getLine()
17
- * @method array getTrace()
18
- * @method string getTraceAsString()
19
- */
20
- interface GuzzleException
21
- {
22
- }
23
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Exception;
4
 
5
+ use Psr\Http\Client\ClientExceptionInterface;
6
 
7
+ interface GuzzleException extends ClientExceptionInterface
8
+ {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  }
vendor/guzzlehttp/guzzle/src/Exception/RequestException.php CHANGED
@@ -1,7 +1,10 @@
1
  <?php
 
2
  namespace GuzzleHttp\Exception;
3
 
4
- use GuzzleHttp\Promise\PromiseInterface;
 
 
5
  use Psr\Http\Message\RequestInterface;
6
  use Psr\Http\Message\ResponseInterface;
7
  use Psr\Http\Message\UriInterface;
@@ -9,28 +12,32 @@ use Psr\Http\Message\UriInterface;
9
  /**
10
  * HTTP Request exception
11
  */
12
- class RequestException extends TransferException
13
  {
14
- /** @var RequestInterface */
 
 
15
  private $request;
16
 
17
- /** @var ResponseInterface|null */
 
 
18
  private $response;
19
 
20
- /** @var array */
 
 
21
  private $handlerContext;
22
 
23
  public function __construct(
24
- $message,
25
  RequestInterface $request,
26
  ResponseInterface $response = null,
27
- \Exception $previous = null,
28
  array $handlerContext = []
29
  ) {
30
  // Set the code of the exception if the response is set and not future.
31
- $code = $response && !($response instanceof PromiseInterface)
32
- ? $response->getStatusCode()
33
- : 0;
34
  parent::__construct($message, $code, $previous);
35
  $this->request = $request;
36
  $this->response = $response;
@@ -39,46 +46,39 @@ class RequestException extends TransferException
39
 
40
  /**
41
  * Wrap non-RequestExceptions with a RequestException
42
- *
43
- * @param RequestInterface $request
44
- * @param \Exception $e
45
- *
46
- * @return RequestException
47
  */
48
- public static function wrapException(RequestInterface $request, \Exception $e)
49
  {
50
- return $e instanceof RequestException
51
- ? $e
52
- : new RequestException($e->getMessage(), $request, null, $e);
53
  }
54
 
55
  /**
56
  * Factory method to create a new exception with a normalized error message
57
  *
58
- * @param RequestInterface $request Request
59
- * @param ResponseInterface $response Response received
60
- * @param \Exception $previous Previous exception
61
- * @param array $ctx Optional handler context.
62
- *
63
- * @return self
64
  */
65
  public static function create(
66
  RequestInterface $request,
67
  ResponseInterface $response = null,
68
- \Exception $previous = null,
69
- array $ctx = []
70
- ) {
 
71
  if (!$response) {
72
  return new self(
73
  'Error completing request',
74
  $request,
75
  null,
76
  $previous,
77
- $ctx
78
  );
79
  }
80
 
81
- $level = (int) floor($response->getStatusCode() / 100);
82
  if ($level === 4) {
83
  $label = 'Client error';
84
  $className = ClientException::class;
@@ -95,51 +95,33 @@ class RequestException extends TransferException
95
 
96
  // Client Error: `GET /` resulted in a `404 Not Found` response:
97
  // <html> ... (truncated)
98
- $message = sprintf(
99
  '%s: `%s %s` resulted in a `%s %s` response',
100
  $label,
101
  $request->getMethod(),
102
- $uri,
103
  $response->getStatusCode(),
104
  $response->getReasonPhrase()
105
  );
106
 
107
- $summary = static::getResponseBodySummary($response);
108
 
109
  if ($summary !== null) {
110
  $message .= ":\n{$summary}\n";
111
  }
112
 
113
- return new $className($message, $request, $response, $previous, $ctx);
114
- }
115
-
116
- /**
117
- * Get a short summary of the response
118
- *
119
- * Will return `null` if the response is not printable.
120
- *
121
- * @param ResponseInterface $response
122
- *
123
- * @return string|null
124
- */
125
- public static function getResponseBodySummary(ResponseInterface $response)
126
- {
127
- return \GuzzleHttp\Psr7\get_message_body_summary($response);
128
  }
129
 
130
  /**
131
  * Obfuscates URI if there is a username and a password present
132
- *
133
- * @param UriInterface $uri
134
- *
135
- * @return UriInterface
136
  */
137
- private static function obfuscateUri(UriInterface $uri)
138
  {
139
  $userInfo = $uri->getUserInfo();
140
 
141
- if (false !== ($pos = strpos($userInfo, ':'))) {
142
- return $uri->withUserInfo(substr($userInfo, 0, $pos), '***');
143
  }
144
 
145
  return $uri;
@@ -147,30 +129,24 @@ class RequestException extends TransferException
147
 
148
  /**
149
  * Get the request that caused the exception
150
- *
151
- * @return RequestInterface
152
  */
153
- public function getRequest()
154
  {
155
  return $this->request;
156
  }
157
 
158
  /**
159
  * Get the associated response
160
- *
161
- * @return ResponseInterface|null
162
  */
163
- public function getResponse()
164
  {
165
  return $this->response;
166
  }
167
 
168
  /**
169
  * Check if a response was received
170
- *
171
- * @return bool
172
  */
173
- public function hasResponse()
174
  {
175
  return $this->response !== null;
176
  }
@@ -182,10 +158,8 @@ class RequestException extends TransferException
182
  * using. It may also be just an empty array. Relying on this data will
183
  * couple you to a specific handler, but can give more debug information
184
  * when needed.
185
- *
186
- * @return array
187
  */
188
- public function getHandlerContext()
189
  {
190
  return $this->handlerContext;
191
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Exception;
4
 
5
+ use GuzzleHttp\BodySummarizer;
6
+ use GuzzleHttp\BodySummarizerInterface;
7
+ use Psr\Http\Client\RequestExceptionInterface;
8
  use Psr\Http\Message\RequestInterface;
9
  use Psr\Http\Message\ResponseInterface;
10
  use Psr\Http\Message\UriInterface;
12
  /**
13
  * HTTP Request exception
14
  */
15
+ class RequestException extends TransferException implements RequestExceptionInterface
16
  {
17
+ /**
18
+ * @var RequestInterface
19
+ */
20
  private $request;
21
 
22
+ /**
23
+ * @var ResponseInterface|null
24
+ */
25
  private $response;
26
 
27
+ /**
28
+ * @var array
29
+ */
30
  private $handlerContext;
31
 
32
  public function __construct(
33
+ string $message,
34
  RequestInterface $request,
35
  ResponseInterface $response = null,
36
+ \Throwable $previous = null,
37
  array $handlerContext = []
38
  ) {
39
  // Set the code of the exception if the response is set and not future.
40
+ $code = $response ? $response->getStatusCode() : 0;
 
 
41
  parent::__construct($message, $code, $previous);
42
  $this->request = $request;
43
  $this->response = $response;
46
 
47
  /**
48
  * Wrap non-RequestExceptions with a RequestException
 
 
 
 
 
49
  */
50
+ public static function wrapException(RequestInterface $request, \Throwable $e): RequestException
51
  {
52
+ return $e instanceof RequestException ? $e : new RequestException($e->getMessage(), $request, null, $e);
 
 
53
  }
54
 
55
  /**
56
  * Factory method to create a new exception with a normalized error message
57
  *
58
+ * @param RequestInterface $request Request sent
59
+ * @param ResponseInterface $response Response received
60
+ * @param \Throwable|null $previous Previous exception
61
+ * @param array $handlerContext Optional handler context
62
+ * @param BodySummarizerInterface|null $bodySummarizer Optional body summarizer
 
63
  */
64
  public static function create(
65
  RequestInterface $request,
66
  ResponseInterface $response = null,
67
+ \Throwable $previous = null,
68
+ array $handlerContext = [],
69
+ BodySummarizerInterface $bodySummarizer = null
70
+ ): self {
71
  if (!$response) {
72
  return new self(
73
  'Error completing request',
74
  $request,
75
  null,
76
  $previous,
77
+ $handlerContext
78
  );
79
  }
80
 
81
+ $level = (int) \floor($response->getStatusCode() / 100);
82
  if ($level === 4) {
83
  $label = 'Client error';
84
  $className = ClientException::class;
95
 
96
  // Client Error: `GET /` resulted in a `404 Not Found` response:
97
  // <html> ... (truncated)
98
+ $message = \sprintf(
99
  '%s: `%s %s` resulted in a `%s %s` response',
100
  $label,
101
  $request->getMethod(),
102
+ $uri->__toString(),
103
  $response->getStatusCode(),
104
  $response->getReasonPhrase()
105
  );
106
 
107
+ $summary = ($bodySummarizer ?? new BodySummarizer())->summarize($response);
108
 
109
  if ($summary !== null) {
110
  $message .= ":\n{$summary}\n";
111
  }
112
 
113
+ return new $className($message, $request, $response, $previous, $handlerContext);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
  }
115
 
116
  /**
117
  * Obfuscates URI if there is a username and a password present
 
 
 
 
118
  */
119
+ private static function obfuscateUri(UriInterface $uri): UriInterface
120
  {
121
  $userInfo = $uri->getUserInfo();
122
 
123
+ if (false !== ($pos = \strpos($userInfo, ':'))) {
124
+ return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');
125
  }
126
 
127
  return $uri;
129
 
130
  /**
131
  * Get the request that caused the exception
 
 
132
  */
133
+ public function getRequest(): RequestInterface
134
  {
135
  return $this->request;
136
  }
137
 
138
  /**
139
  * Get the associated response
 
 
140
  */
141
+ public function getResponse(): ?ResponseInterface
142
  {
143
  return $this->response;
144
  }
145
 
146
  /**
147
  * Check if a response was received
 
 
148
  */
149
+ public function hasResponse(): bool
150
  {
151
  return $this->response !== null;
152
  }
158
  * using. It may also be just an empty array. Relying on this data will
159
  * couple you to a specific handler, but can give more debug information
160
  * when needed.
 
 
161
  */
162
+ public function getHandlerContext(): array
163
  {
164
  return $this->handlerContext;
165
  }
vendor/guzzlehttp/guzzle/src/Exception/SeekException.php DELETED
@@ -1,27 +0,0 @@
1
- <?php
2
- namespace GuzzleHttp\Exception;
3
-
4
- use Psr\Http\Message\StreamInterface;
5
-
6
- /**
7
- * Exception thrown when a seek fails on a stream.
8
- */
9
- class SeekException extends \RuntimeException implements GuzzleException
10
- {
11
- private $stream;
12
-
13
- public function __construct(StreamInterface $stream, $pos = 0, $msg = '')
14
- {
15
- $this->stream = $stream;
16
- $msg = $msg ?: 'Could not seek the stream to position ' . $pos;
17
- parent::__construct($msg);
18
- }
19
-
20
- /**
21
- * @return StreamInterface
22
- */
23
- public function getStream()
24
- {
25
- return $this->stream;
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/guzzlehttp/guzzle/src/Exception/ServerException.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Exception;
3
 
4
  /**
1
  <?php
2
+
3
  namespace GuzzleHttp\Exception;
4
 
5
  /**
vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Exception;
3
 
4
  class TooManyRedirectsException extends RequestException
1
  <?php
2
+
3
  namespace GuzzleHttp\Exception;
4
 
5
  class TooManyRedirectsException extends RequestException
vendor/guzzlehttp/guzzle/src/Exception/TransferException.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Exception;
3
 
4
  class TransferException extends \RuntimeException implements GuzzleException
1
  <?php
2
+
3
  namespace GuzzleHttp\Exception;
4
 
5
  class TransferException extends \RuntimeException implements GuzzleException
vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php CHANGED
@@ -1,37 +1,50 @@
1
  <?php
 
2
  namespace GuzzleHttp\Handler;
3
 
4
  use GuzzleHttp\Exception\ConnectException;
5
  use GuzzleHttp\Exception\RequestException;
 
6
  use GuzzleHttp\Promise\FulfilledPromise;
7
- use GuzzleHttp\Psr7;
8
  use GuzzleHttp\Psr7\LazyOpenStream;
9
  use GuzzleHttp\TransferStats;
 
10
  use Psr\Http\Message\RequestInterface;
11
 
12
  /**
13
  * Creates curl resources from a request
 
 
14
  */
15
  class CurlFactory implements CurlFactoryInterface
16
  {
17
- const CURL_VERSION_STR = 'curl_version';
18
- const LOW_CURL_VERSION_NUMBER = '7.21.2';
 
 
 
 
19
 
20
- /** @var array */
 
 
21
  private $handles = [];
22
 
23
- /** @var int Total number of idle handles to keep in cache */
 
 
24
  private $maxHandles;
25
 
26
  /**
27
  * @param int $maxHandles Maximum number of idle handles.
28
  */
29
- public function __construct($maxHandles)
30
  {
31
  $this->maxHandles = $maxHandles;
32
  }
33
 
34
- public function create(RequestInterface $request, array $options)
35
  {
36
  if (isset($options['curl']['body_as_string'])) {
37
  $options['_body_as_string'] = $options['curl']['body_as_string'];
@@ -49,35 +62,33 @@ class CurlFactory implements CurlFactoryInterface
49
 
50
  // Add handler options from the request configuration options
51
  if (isset($options['curl'])) {
52
- $conf = array_replace($conf, $options['curl']);
53
  }
54
 
55
- $conf[CURLOPT_HEADERFUNCTION] = $this->createHeaderFn($easy);
56
- $easy->handle = $this->handles
57
- ? array_pop($this->handles)
58
- : curl_init();
59
  curl_setopt_array($easy->handle, $conf);
60
 
61
  return $easy;
62
  }
63
 
64
- public function release(EasyHandle $easy)
65
  {
66
  $resource = $easy->handle;
67
  unset($easy->handle);
68
 
69
- if (count($this->handles) >= $this->maxHandles) {
70
- curl_close($resource);
71
  } else {
72
  // Remove all callback functions as they can hold onto references
73
  // and are not cleaned up by curl_reset. Using curl_setopt_array
74
  // does not work for some reason, so removing each one
75
  // individually.
76
- curl_setopt($resource, CURLOPT_HEADERFUNCTION, null);
77
- curl_setopt($resource, CURLOPT_READFUNCTION, null);
78
- curl_setopt($resource, CURLOPT_WRITEFUNCTION, null);
79
- curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null);
80
- curl_reset($resource);
81
  $this->handles[] = $resource;
82
  }
83
  }
@@ -86,17 +97,11 @@ class CurlFactory implements CurlFactoryInterface
86
  * Completes a cURL transaction, either returning a response promise or a
87
  * rejected promise.
88
  *
89
- * @param callable $handler
90
- * @param EasyHandle $easy
91
- * @param CurlFactoryInterface $factory Dictates how the handle is released
92
- *
93
- * @return \GuzzleHttp\Promise\PromiseInterface
94
  */
95
- public static function finish(
96
- callable $handler,
97
- EasyHandle $easy,
98
- CurlFactoryInterface $factory
99
- ) {
100
  if (isset($easy->options['on_stats'])) {
101
  self::invokeStats($easy);
102
  }
@@ -117,10 +122,10 @@ class CurlFactory implements CurlFactoryInterface
117
  return new FulfilledPromise($easy->response);
118
  }
119
 
120
- private static function invokeStats(EasyHandle $easy)
121
  {
122
- $curlStats = curl_getinfo($easy->handle);
123
- $curlStats['appconnect_time'] = curl_getinfo($easy->handle, CURLINFO_APPCONNECT_TIME);
124
  $stats = new TransferStats(
125
  $easy->request,
126
  $easy->response,
@@ -128,47 +133,57 @@ class CurlFactory implements CurlFactoryInterface
128
  $easy->errno,
129
  $curlStats
130
  );
131
- call_user_func($easy->options['on_stats'], $stats);
132
  }
133
 
134
- private static function finishError(
135
- callable $handler,
136
- EasyHandle $easy,
137
- CurlFactoryInterface $factory
138
- ) {
139
  // Get error information and release the handle to the factory.
140
  $ctx = [
141
  'errno' => $easy->errno,
142
- 'error' => curl_error($easy->handle),
143
- 'appconnect_time' => curl_getinfo($easy->handle, CURLINFO_APPCONNECT_TIME),
144
- ] + curl_getinfo($easy->handle);
145
- $ctx[self::CURL_VERSION_STR] = curl_version()['version'];
146
  $factory->release($easy);
147
 
148
  // Retry when nothing is present or when curl failed to rewind.
149
- if (empty($easy->options['_err_message'])
150
- && (!$easy->errno || $easy->errno == 65)
151
- ) {
152
  return self::retryFailedRewind($handler, $easy, $ctx);
153
  }
154
 
155
  return self::createRejection($easy, $ctx);
156
  }
157
 
158
- private static function createRejection(EasyHandle $easy, array $ctx)
159
  {
160
  static $connectionErrors = [
161
- CURLE_OPERATION_TIMEOUTED => true,
162
- CURLE_COULDNT_RESOLVE_HOST => true,
163
- CURLE_COULDNT_CONNECT => true,
164
- CURLE_SSL_CONNECT_ERROR => true,
165
- CURLE_GOT_NOTHING => true,
166
  ];
167
 
 
 
 
 
 
 
 
 
 
 
 
 
168
  // If an exception was encountered during the onHeaders event, then
169
  // return a rejected promise that wraps that exception.
170
  if ($easy->onHeadersException) {
171
- return \GuzzleHttp\Promise\rejection_for(
172
  new RequestException(
173
  'An error was encountered during the on_headers event',
174
  $easy->request,
@@ -178,21 +193,16 @@ class CurlFactory implements CurlFactoryInterface
178
  )
179
  );
180
  }
181
- if (version_compare($ctx[self::CURL_VERSION_STR], self::LOW_CURL_VERSION_NUMBER)) {
182
- $message = sprintf(
183
- 'cURL error %s: %s (%s)',
184
- $ctx['errno'],
185
- $ctx['error'],
186
- 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'
187
- );
188
- } else {
189
- $message = sprintf(
190
- 'cURL error %s: %s (%s) for %s',
191
- $ctx['errno'],
192
- $ctx['error'],
193
- 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html',
194
- $easy->request->getUri()
195
- );
196
  }
197
 
198
  // Create a connection exception if it was a specific error code.
@@ -200,37 +210,40 @@ class CurlFactory implements CurlFactoryInterface
200
  ? new ConnectException($message, $easy->request, null, $ctx)
201
  : new RequestException($message, $easy->request, $easy->response, null, $ctx);
202
 
203
- return \GuzzleHttp\Promise\rejection_for($error);
204
  }
205
 
206
- private function getDefaultConf(EasyHandle $easy)
 
 
 
207
  {
208
  $conf = [
209
- '_headers' => $easy->request->getHeaders(),
210
- CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(),
211
- CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''),
212
- CURLOPT_RETURNTRANSFER => false,
213
- CURLOPT_HEADER => false,
214
- CURLOPT_CONNECTTIMEOUT => 150,
215
  ];
216
 
217
- if (defined('CURLOPT_PROTOCOLS')) {
218
- $conf[CURLOPT_PROTOCOLS] = CURLPROTO_HTTP | CURLPROTO_HTTPS;
219
  }
220
 
221
  $version = $easy->request->getProtocolVersion();
222
  if ($version == 1.1) {
223
- $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_1;
224
  } elseif ($version == 2.0) {
225
- $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_2_0;
226
  } else {
227
- $conf[CURLOPT_HTTP_VERSION] = CURL_HTTP_VERSION_1_0;
228
  }
229
 
230
  return $conf;
231
  }
232
 
233
- private function applyMethod(EasyHandle $easy, array &$conf)
234
  {
235
  $body = $easy->request->getBody();
236
  $size = $body->getSize();
@@ -242,22 +255,22 @@ class CurlFactory implements CurlFactoryInterface
242
 
243
  $method = $easy->request->getMethod();
244
  if ($method === 'PUT' || $method === 'POST') {
245
- // See http://tools.ietf.org/html/rfc7230#section-3.3.2
246
  if (!$easy->request->hasHeader('Content-Length')) {
247
- $conf[CURLOPT_HTTPHEADER][] = 'Content-Length: 0';
248
  }
249
  } elseif ($method === 'HEAD') {
250
- $conf[CURLOPT_NOBODY] = true;
251
  unset(
252
- $conf[CURLOPT_WRITEFUNCTION],
253
- $conf[CURLOPT_READFUNCTION],
254
- $conf[CURLOPT_FILE],
255
- $conf[CURLOPT_INFILE]
256
  );
257
  }
258
  }
259
 
260
- private function applyBody(RequestInterface $request, array $options, array &$conf)
261
  {
262
  $size = $request->hasHeader('Content-Length')
263
  ? (int) $request->getHeaderLine('Content-Length')
@@ -265,40 +278,38 @@ class CurlFactory implements CurlFactoryInterface
265
 
266
  // Send the body as a string if the size is less than 1MB OR if the
267
  // [curl][body_as_string] request value is set.
268
- if (($size !== null && $size < 1000000) ||
269
- !empty($options['_body_as_string'])
270
- ) {
271
- $conf[CURLOPT_POSTFIELDS] = (string) $request->getBody();
272
  // Don't duplicate the Content-Length header
273
  $this->removeHeader('Content-Length', $conf);
274
  $this->removeHeader('Transfer-Encoding', $conf);
275
  } else {
276
- $conf[CURLOPT_UPLOAD] = true;
277
  if ($size !== null) {
278
- $conf[CURLOPT_INFILESIZE] = $size;
279
  $this->removeHeader('Content-Length', $conf);
280
  }
281
  $body = $request->getBody();
282
  if ($body->isSeekable()) {
283
  $body->rewind();
284
  }
285
- $conf[CURLOPT_READFUNCTION] = function ($ch, $fd, $length) use ($body) {
286
  return $body->read($length);
287
  };
288
  }
289
 
290
  // If the Expect header is not present, prevent curl from adding it
291
  if (!$request->hasHeader('Expect')) {
292
- $conf[CURLOPT_HTTPHEADER][] = 'Expect:';
293
  }
294
 
295
  // cURL sometimes adds a content-type by default. Prevent this.
296
  if (!$request->hasHeader('Content-Type')) {
297
- $conf[CURLOPT_HTTPHEADER][] = 'Content-Type:';
298
  }
299
  }
300
 
301
- private function applyHeaders(EasyHandle $easy, array &$conf)
302
  {
303
  foreach ($conf['_headers'] as $name => $values) {
304
  foreach ($values as $value) {
@@ -306,16 +317,16 @@ class CurlFactory implements CurlFactoryInterface
306
  if ($value === '') {
307
  // cURL requires a special format for empty headers.
308
  // See https://github.com/guzzle/guzzle/issues/1882 for more details.
309
- $conf[CURLOPT_HTTPHEADER][] = "$name;";
310
  } else {
311
- $conf[CURLOPT_HTTPHEADER][] = "$name: $value";
312
  }
313
  }
314
  }
315
 
316
  // Remove the Accept header if one was not set
317
  if (!$easy->request->hasHeader('Accept')) {
318
- $conf[CURLOPT_HTTPHEADER][] = 'Accept:';
319
  }
320
  }
321
 
@@ -325,115 +336,115 @@ class CurlFactory implements CurlFactoryInterface
325
  * @param string $name Case-insensitive header to remove
326
  * @param array $options Array of options to modify
327
  */
328
- private function removeHeader($name, array &$options)
329
  {
330
- foreach (array_keys($options['_headers']) as $key) {
331
- if (!strcasecmp($key, $name)) {
332
  unset($options['_headers'][$key]);
333
  return;
334
  }
335
  }
336
  }
337
 
338
- private function applyHandlerOptions(EasyHandle $easy, array &$conf)
339
  {
340
  $options = $easy->options;
341
  if (isset($options['verify'])) {
342
  if ($options['verify'] === false) {
343
- unset($conf[CURLOPT_CAINFO]);
344
- $conf[CURLOPT_SSL_VERIFYHOST] = 0;
345
- $conf[CURLOPT_SSL_VERIFYPEER] = false;
346
  } else {
347
- $conf[CURLOPT_SSL_VERIFYHOST] = 2;
348
- $conf[CURLOPT_SSL_VERIFYPEER] = true;
349
- if (is_string($options['verify'])) {
350
  // Throw an error if the file/folder/link path is not valid or doesn't exist.
351
- if (!file_exists($options['verify'])) {
352
- throw new \InvalidArgumentException(
353
- "SSL CA bundle not found: {$options['verify']}"
354
- );
355
  }
356
  // If it's a directory or a link to a directory use CURLOPT_CAPATH.
357
  // If not, it's probably a file, or a link to a file, so use CURLOPT_CAINFO.
358
- if (is_dir($options['verify']) ||
359
- (is_link($options['verify']) && is_dir(readlink($options['verify'])))) {
360
- $conf[CURLOPT_CAPATH] = $options['verify'];
 
 
 
 
 
 
361
  } else {
362
- $conf[CURLOPT_CAINFO] = $options['verify'];
363
  }
364
  }
365
  }
366
  }
367
 
368
- if (!empty($options['decode_content'])) {
369
  $accept = $easy->request->getHeaderLine('Accept-Encoding');
370
  if ($accept) {
371
- $conf[CURLOPT_ENCODING] = $accept;
372
  } else {
373
- $conf[CURLOPT_ENCODING] = '';
374
- // Don't let curl send the header over the wire
375
- $conf[CURLOPT_HTTPHEADER][] = 'Accept-Encoding:';
 
 
 
376
  }
377
  }
378
 
379
- if (isset($options['sink'])) {
380
- $sink = $options['sink'];
381
- if (!is_string($sink)) {
382
- $sink = \GuzzleHttp\Psr7\stream_for($sink);
383
- } elseif (!is_dir(dirname($sink))) {
384
- // Ensure that the directory exists before failing in curl.
385
- throw new \RuntimeException(sprintf(
386
- 'Directory %s does not exist for sink value of %s',
387
- dirname($sink),
388
- $sink
389
- ));
390
- } else {
391
- $sink = new LazyOpenStream($sink, 'w+');
392
- }
393
- $easy->sink = $sink;
394
- $conf[CURLOPT_WRITEFUNCTION] = function ($ch, $write) use ($sink) {
395
- return $sink->write($write);
396
- };
397
- } else {
398
  // Use a default temp stream if no sink was set.
399
- $conf[CURLOPT_FILE] = fopen('php://temp', 'w+');
400
- $easy->sink = Psr7\stream_for($conf[CURLOPT_FILE]);
 
 
 
 
 
 
 
 
401
  }
 
 
 
 
 
402
  $timeoutRequiresNoSignal = false;
403
  if (isset($options['timeout'])) {
404
  $timeoutRequiresNoSignal |= $options['timeout'] < 1;
405
- $conf[CURLOPT_TIMEOUT_MS] = $options['timeout'] * 1000;
406
  }
407
 
408
  // CURL default value is CURL_IPRESOLVE_WHATEVER
409
  if (isset($options['force_ip_resolve'])) {
410
  if ('v4' === $options['force_ip_resolve']) {
411
- $conf[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
412
  } elseif ('v6' === $options['force_ip_resolve']) {
413
- $conf[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V6;
414
  }
415
  }
416
 
417
  if (isset($options['connect_timeout'])) {
418
  $timeoutRequiresNoSignal |= $options['connect_timeout'] < 1;
419
- $conf[CURLOPT_CONNECTTIMEOUT_MS] = $options['connect_timeout'] * 1000;
420
  }
421
 
422
- if ($timeoutRequiresNoSignal && strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
423
- $conf[CURLOPT_NOSIGNAL] = true;
424
  }
425
 
426
  if (isset($options['proxy'])) {
427
- if (!is_array($options['proxy'])) {
428
- $conf[CURLOPT_PROXY] = $options['proxy'];
429
  } else {
430
  $scheme = $easy->request->getUri()->getScheme();
431
  if (isset($options['proxy'][$scheme])) {
432
  $host = $easy->request->getUri()->getHost();
433
- if (!isset($options['proxy']['no']) ||
434
- !\GuzzleHttp\is_host_in_noproxy($host, $options['proxy']['no'])
435
- ) {
436
- $conf[CURLOPT_PROXY] = $options['proxy'][$scheme];
437
  }
438
  }
439
  }
@@ -441,58 +452,53 @@ class CurlFactory implements CurlFactoryInterface
441
 
442
  if (isset($options['cert'])) {
443
  $cert = $options['cert'];
444
- if (is_array($cert)) {
445
- $conf[CURLOPT_SSLCERTPASSWD] = $cert[1];
446
  $cert = $cert[0];
447
  }
448
- if (!file_exists($cert)) {
449
- throw new \InvalidArgumentException(
450
- "SSL certificate not found: {$cert}"
451
- );
452
  }
453
- $conf[CURLOPT_SSLCERT] = $cert;
 
 
 
 
 
 
454
  }
455
 
456
  if (isset($options['ssl_key'])) {
457
- if (is_array($options['ssl_key'])) {
458
- if (count($options['ssl_key']) === 2) {
459
- list($sslKey, $conf[CURLOPT_SSLKEYPASSWD]) = $options['ssl_key'];
460
  } else {
461
- list($sslKey) = $options['ssl_key'];
462
  }
463
  }
464
 
465
- $sslKey = isset($sslKey) ? $sslKey: $options['ssl_key'];
466
 
467
- if (!file_exists($sslKey)) {
468
- throw new \InvalidArgumentException(
469
- "SSL private key not found: {$sslKey}"
470
- );
471
  }
472
- $conf[CURLOPT_SSLKEY] = $sslKey;
473
  }
474
 
475
  if (isset($options['progress'])) {
476
  $progress = $options['progress'];
477
- if (!is_callable($progress)) {
478
- throw new \InvalidArgumentException(
479
- 'progress client option must be callable'
480
- );
481
  }
482
- $conf[CURLOPT_NOPROGRESS] = false;
483
- $conf[CURLOPT_PROGRESSFUNCTION] = function () use ($progress) {
484
- $args = func_get_args();
485
- // PHP 5.5 pushed the handle onto the start of the args
486
- if (is_resource($args[0])) {
487
- array_shift($args);
488
- }
489
- call_user_func_array($progress, $args);
490
  };
491
  }
492
 
493
  if (!empty($options['debug'])) {
494
- $conf[CURLOPT_STDERR] = \GuzzleHttp\debug_resource($options['debug']);
495
- $conf[CURLOPT_VERBOSE] = true;
496
  }
497
  }
498
 
@@ -504,12 +510,11 @@ class CurlFactory implements CurlFactoryInterface
504
  * stream, and then encountered a "necessary data rewind wasn't possible"
505
  * error, causing the request to be sent through curl_multi_info_read()
506
  * without an error status.
 
 
507
  */
508
- private static function retryFailedRewind(
509
- callable $handler,
510
- EasyHandle $easy,
511
- array $ctx
512
- ) {
513
  try {
514
  // Only rewind if the body has been read from.
515
  $body = $easy->request->getBody();
@@ -542,27 +547,32 @@ class CurlFactory implements CurlFactoryInterface
542
  return $handler($easy->request, $easy->options);
543
  }
544
 
545
- private function createHeaderFn(EasyHandle $easy)
546
  {
547
  if (isset($easy->options['on_headers'])) {
548
  $onHeaders = $easy->options['on_headers'];
549
 
550
- if (!is_callable($onHeaders)) {
551
  throw new \InvalidArgumentException('on_headers must be callable');
552
  }
553
  } else {
554
  $onHeaders = null;
555
  }
556
 
557
- return function ($ch, $h) use (
558
  $onHeaders,
559
  $easy,
560
  &$startingResponse
561
  ) {
562
- $value = trim($h);
563
  if ($value === '') {
564
  $startingResponse = true;
565
- $easy->createResponse();
 
 
 
 
 
566
  if ($onHeaders !== null) {
567
  try {
568
  $onHeaders($easy->response);
@@ -579,7 +589,7 @@ class CurlFactory implements CurlFactoryInterface
579
  } else {
580
  $easy->headers[] = $value;
581
  }
582
- return strlen($h);
583
  };
584
  }
585
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Handler;
4
 
5
  use GuzzleHttp\Exception\ConnectException;
6
  use GuzzleHttp\Exception\RequestException;
7
+ use GuzzleHttp\Promise as P;
8
  use GuzzleHttp\Promise\FulfilledPromise;
9
+ use GuzzleHttp\Promise\PromiseInterface;
10
  use GuzzleHttp\Psr7\LazyOpenStream;
11
  use GuzzleHttp\TransferStats;
12
+ use GuzzleHttp\Utils;
13
  use Psr\Http\Message\RequestInterface;
14
 
15
  /**
16
  * Creates curl resources from a request
17
+ *
18
+ * @final
19
  */
20
  class CurlFactory implements CurlFactoryInterface
21
  {
22
+ public const CURL_VERSION_STR = 'curl_version';
23
+
24
+ /**
25
+ * @deprecated
26
+ */
27
+ public const LOW_CURL_VERSION_NUMBER = '7.21.2';
28
 
29
+ /**
30
+ * @var resource[]|\CurlHandle[]
31
+ */
32
  private $handles = [];
33
 
34
+ /**
35
+ * @var int Total number of idle handles to keep in cache
36
+ */
37
  private $maxHandles;
38
 
39
  /**
40
  * @param int $maxHandles Maximum number of idle handles.
41
  */
42
+ public function __construct(int $maxHandles)
43
  {
44
  $this->maxHandles = $maxHandles;
45
  }
46
 
47
+ public function create(RequestInterface $request, array $options): EasyHandle
48
  {
49
  if (isset($options['curl']['body_as_string'])) {
50
  $options['_body_as_string'] = $options['curl']['body_as_string'];
62
 
63
  // Add handler options from the request configuration options
64
  if (isset($options['curl'])) {
65
+ $conf = \array_replace($conf, $options['curl']);
66
  }
67
 
68
+ $conf[\CURLOPT_HEADERFUNCTION] = $this->createHeaderFn($easy);
69
+ $easy->handle = $this->handles ? \array_pop($this->handles) : \curl_init();
 
 
70
  curl_setopt_array($easy->handle, $conf);
71
 
72
  return $easy;
73
  }
74
 
75
+ public function release(EasyHandle $easy): void
76
  {
77
  $resource = $easy->handle;
78
  unset($easy->handle);
79
 
80
+ if (\count($this->handles) >= $this->maxHandles) {
81
+ \curl_close($resource);
82
  } else {
83
  // Remove all callback functions as they can hold onto references
84
  // and are not cleaned up by curl_reset. Using curl_setopt_array
85
  // does not work for some reason, so removing each one
86
  // individually.
87
+ \curl_setopt($resource, \CURLOPT_HEADERFUNCTION, null);
88
+ \curl_setopt($resource, \CURLOPT_READFUNCTION, null);
89
+ \curl_setopt($resource, \CURLOPT_WRITEFUNCTION, null);
90
+ \curl_setopt($resource, \CURLOPT_PROGRESSFUNCTION, null);
91
+ \curl_reset($resource);
92
  $this->handles[] = $resource;
93
  }
94
  }
97
  * Completes a cURL transaction, either returning a response promise or a
98
  * rejected promise.
99
  *
100
+ * @param callable(RequestInterface, array): PromiseInterface $handler
101
+ * @param CurlFactoryInterface $factory Dictates how the handle is released
 
 
 
102
  */
103
+ public static function finish(callable $handler, EasyHandle $easy, CurlFactoryInterface $factory): PromiseInterface
104
+ {
 
 
 
105
  if (isset($easy->options['on_stats'])) {
106
  self::invokeStats($easy);
107
  }
122
  return new FulfilledPromise($easy->response);
123
  }
124
 
125
+ private static function invokeStats(EasyHandle $easy): void
126
  {
127
+ $curlStats = \curl_getinfo($easy->handle);
128
+ $curlStats['appconnect_time'] = \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME);
129
  $stats = new TransferStats(
130
  $easy->request,
131
  $easy->response,
133
  $easy->errno,
134
  $curlStats
135
  );
136
+ ($easy->options['on_stats'])($stats);
137
  }
138
 
139
+ /**
140
+ * @param callable(RequestInterface, array): PromiseInterface $handler
141
+ */
142
+ private static function finishError(callable $handler, EasyHandle $easy, CurlFactoryInterface $factory): PromiseInterface
143
+ {
144
  // Get error information and release the handle to the factory.
145
  $ctx = [
146
  'errno' => $easy->errno,
147
+ 'error' => \curl_error($easy->handle),
148
+ 'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME),
149
+ ] + \curl_getinfo($easy->handle);
150
+ $ctx[self::CURL_VERSION_STR] = \curl_version()['version'];
151
  $factory->release($easy);
152
 
153
  // Retry when nothing is present or when curl failed to rewind.
154
+ if (empty($easy->options['_err_message']) && (!$easy->errno || $easy->errno == 65)) {
 
 
155
  return self::retryFailedRewind($handler, $easy, $ctx);
156
  }
157
 
158
  return self::createRejection($easy, $ctx);
159
  }
160
 
161
+ private static function createRejection(EasyHandle $easy, array $ctx): PromiseInterface
162
  {
163
  static $connectionErrors = [
164
+ \CURLE_OPERATION_TIMEOUTED => true,
165
+ \CURLE_COULDNT_RESOLVE_HOST => true,
166
+ \CURLE_COULDNT_CONNECT => true,
167
+ \CURLE_SSL_CONNECT_ERROR => true,
168
+ \CURLE_GOT_NOTHING => true,
169
  ];
170
 
171
+ if ($easy->createResponseException) {
172
+ return P\Create::rejectionFor(
173
+ new RequestException(
174
+ 'An error was encountered while creating the response',
175
+ $easy->request,
176
+ $easy->response,
177
+ $easy->createResponseException,
178
+ $ctx
179
+ )
180
+ );
181
+ }
182
+
183
  // If an exception was encountered during the onHeaders event, then
184
  // return a rejected promise that wraps that exception.
185
  if ($easy->onHeadersException) {
186
+ return P\Create::rejectionFor(
187
  new RequestException(
188
  'An error was encountered during the on_headers event',
189
  $easy->request,
193
  )
194
  );
195
  }
196
+
197
+ $message = \sprintf(
198
+ 'cURL error %s: %s (%s)',
199
+ $ctx['errno'],
200
+ $ctx['error'],
201
+ 'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'
202
+ );
203
+ $uriString = (string) $easy->request->getUri();
204
+ if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) {
205
+ $message .= \sprintf(' for %s', $uriString);
 
 
 
 
 
206
  }
207
 
208
  // Create a connection exception if it was a specific error code.
210
  ? new ConnectException($message, $easy->request, null, $ctx)
211
  : new RequestException($message, $easy->request, $easy->response, null, $ctx);
212
 
213
+ return P\Create::rejectionFor($error);
214
  }
215
 
216
+ /**
217
+ * @return array<int|string, mixed>
218
+ */
219
+ private function getDefaultConf(EasyHandle $easy): array
220
  {
221
  $conf = [
222
+ '_headers' => $easy->request->getHeaders(),
223
+ \CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(),
224
+ \CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''),
225
+ \CURLOPT_RETURNTRANSFER => false,
226
+ \CURLOPT_HEADER => false,
227
+ \CURLOPT_CONNECTTIMEOUT => 150,
228
  ];
229
 
230
+ if (\defined('CURLOPT_PROTOCOLS')) {
231
+ $conf[\CURLOPT_PROTOCOLS] = \CURLPROTO_HTTP | \CURLPROTO_HTTPS;
232
  }
233
 
234
  $version = $easy->request->getProtocolVersion();
235
  if ($version == 1.1) {
236
+ $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1;
237
  } elseif ($version == 2.0) {
238
+ $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;
239
  } else {
240
+ $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0;
241
  }
242
 
243
  return $conf;
244
  }
245
 
246
+ private function applyMethod(EasyHandle $easy, array &$conf): void
247
  {
248
  $body = $easy->request->getBody();
249
  $size = $body->getSize();
255
 
256
  $method = $easy->request->getMethod();
257
  if ($method === 'PUT' || $method === 'POST') {
258
+ // See https://tools.ietf.org/html/rfc7230#section-3.3.2
259
  if (!$easy->request->hasHeader('Content-Length')) {
260
+ $conf[\CURLOPT_HTTPHEADER][] = 'Content-Length: 0';
261
  }
262
  } elseif ($method === 'HEAD') {
263
+ $conf[\CURLOPT_NOBODY] = true;
264
  unset(
265
+ $conf[\CURLOPT_WRITEFUNCTION],
266
+ $conf[\CURLOPT_READFUNCTION],
267
+ $conf[\CURLOPT_FILE],
268
+ $conf[\CURLOPT_INFILE]
269
  );
270
  }
271
  }
272
 
273
+ private function applyBody(RequestInterface $request, array $options, array &$conf): void
274
  {
275
  $size = $request->hasHeader('Content-Length')
276
  ? (int) $request->getHeaderLine('Content-Length')
278
 
279
  // Send the body as a string if the size is less than 1MB OR if the
280
  // [curl][body_as_string] request value is set.
281
+ if (($size !== null && $size < 1000000) || !empty($options['_body_as_string'])) {
282
+ $conf[\CURLOPT_POSTFIELDS] = (string) $request->getBody();
 
 
283
  // Don't duplicate the Content-Length header
284
  $this->removeHeader('Content-Length', $conf);
285
  $this->removeHeader('Transfer-Encoding', $conf);
286
  } else {
287
+ $conf[\CURLOPT_UPLOAD] = true;
288
  if ($size !== null) {
289
+ $conf[\CURLOPT_INFILESIZE] = $size;
290
  $this->removeHeader('Content-Length', $conf);
291
  }
292
  $body = $request->getBody();
293
  if ($body->isSeekable()) {
294
  $body->rewind();
295
  }
296
+ $conf[\CURLOPT_READFUNCTION] = static function ($ch, $fd, $length) use ($body) {
297
  return $body->read($length);
298
  };
299
  }
300
 
301
  // If the Expect header is not present, prevent curl from adding it
302
  if (!$request->hasHeader('Expect')) {
303
+ $conf[\CURLOPT_HTTPHEADER][] = 'Expect:';
304
  }
305
 
306
  // cURL sometimes adds a content-type by default. Prevent this.
307
  if (!$request->hasHeader('Content-Type')) {
308
+ $conf[\CURLOPT_HTTPHEADER][] = 'Content-Type:';
309
  }
310
  }
311
 
312
+ private function applyHeaders(EasyHandle $easy, array &$conf): void
313
  {
314
  foreach ($conf['_headers'] as $name => $values) {
315
  foreach ($values as $value) {
317
  if ($value === '') {
318
  // cURL requires a special format for empty headers.
319
  // See https://github.com/guzzle/guzzle/issues/1882 for more details.
320
+ $conf[\CURLOPT_HTTPHEADER][] = "$name;";
321
  } else {
322
+ $conf[\CURLOPT_HTTPHEADER][] = "$name: $value";
323
  }
324
  }
325
  }
326
 
327
  // Remove the Accept header if one was not set
328
  if (!$easy->request->hasHeader('Accept')) {
329
+ $conf[\CURLOPT_HTTPHEADER][] = 'Accept:';
330
  }
331
  }
332
 
336
  * @param string $name Case-insensitive header to remove
337
  * @param array $options Array of options to modify
338
  */
339
+ private function removeHeader(string $name, array &$options): void
340
  {
341
+ foreach (\array_keys($options['_headers']) as $key) {
342
+ if (!\strcasecmp($key, $name)) {
343
  unset($options['_headers'][$key]);
344
  return;
345
  }
346
  }
347
  }
348
 
349
+ private function applyHandlerOptions(EasyHandle $easy, array &$conf): void
350
  {
351
  $options = $easy->options;
352
  if (isset($options['verify'])) {
353
  if ($options['verify'] === false) {
354
+ unset($conf[\CURLOPT_CAINFO]);
355
+ $conf[\CURLOPT_SSL_VERIFYHOST] = 0;
356
+ $conf[\CURLOPT_SSL_VERIFYPEER] = false;
357
  } else {
358
+ $conf[\CURLOPT_SSL_VERIFYHOST] = 2;
359
+ $conf[\CURLOPT_SSL_VERIFYPEER] = true;
360
+ if (\is_string($options['verify'])) {
361
  // Throw an error if the file/folder/link path is not valid or doesn't exist.
362
+ if (!\file_exists($options['verify'])) {
363
+ throw new \InvalidArgumentException("SSL CA bundle not found: {$options['verify']}");
 
 
364
  }
365
  // If it's a directory or a link to a directory use CURLOPT_CAPATH.
366
  // If not, it's probably a file, or a link to a file, so use CURLOPT_CAINFO.
367
+ if (
368
+ \is_dir($options['verify']) ||
369
+ (
370
+ \is_link($options['verify']) === true &&
371
+ ($verifyLink = \readlink($options['verify'])) !== false &&
372
+ \is_dir($verifyLink)
373
+ )
374
+ ) {
375
+ $conf[\CURLOPT_CAPATH] = $options['verify'];
376
  } else {
377
+ $conf[\CURLOPT_CAINFO] = $options['verify'];
378
  }
379
  }
380
  }
381
  }
382
 
383
+ if (!isset($options['curl'][\CURLOPT_ENCODING]) && !empty($options['decode_content'])) {
384
  $accept = $easy->request->getHeaderLine('Accept-Encoding');
385
  if ($accept) {
386
+ $conf[\CURLOPT_ENCODING] = $accept;
387
  } else {
388
+ // The empty string enables all available decoders and implicitly
389
+ // sets a matching 'Accept-Encoding' header.
390
+ $conf[\CURLOPT_ENCODING] = '';
391
+ // But as the user did not specify any acceptable encodings we need
392
+ // to overwrite this implicit header with an empty one.
393
+ $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:';
394
  }
395
  }
396
 
397
+ if (!isset($options['sink'])) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
398
  // Use a default temp stream if no sink was set.
399
+ $options['sink'] = \GuzzleHttp\Psr7\Utils::tryFopen('php://temp', 'w+');
400
+ }
401
+ $sink = $options['sink'];
402
+ if (!\is_string($sink)) {
403
+ $sink = \GuzzleHttp\Psr7\Utils::streamFor($sink);
404
+ } elseif (!\is_dir(\dirname($sink))) {
405
+ // Ensure that the directory exists before failing in curl.
406
+ throw new \RuntimeException(\sprintf('Directory %s does not exist for sink value of %s', \dirname($sink), $sink));
407
+ } else {
408
+ $sink = new LazyOpenStream($sink, 'w+');
409
  }
410
+ $easy->sink = $sink;
411
+ $conf[\CURLOPT_WRITEFUNCTION] = static function ($ch, $write) use ($sink): int {
412
+ return $sink->write($write);
413
+ };
414
+
415
  $timeoutRequiresNoSignal = false;
416
  if (isset($options['timeout'])) {
417
  $timeoutRequiresNoSignal |= $options['timeout'] < 1;
418
+ $conf[\CURLOPT_TIMEOUT_MS] = $options['timeout'] * 1000;
419
  }
420
 
421
  // CURL default value is CURL_IPRESOLVE_WHATEVER
422
  if (isset($options['force_ip_resolve'])) {
423
  if ('v4' === $options['force_ip_resolve']) {
424
+ $conf[\CURLOPT_IPRESOLVE] = \CURL_IPRESOLVE_V4;
425
  } elseif ('v6' === $options['force_ip_resolve']) {
426
+ $conf[\CURLOPT_IPRESOLVE] = \CURL_IPRESOLVE_V6;
427
  }
428
  }
429
 
430
  if (isset($options['connect_timeout'])) {
431
  $timeoutRequiresNoSignal |= $options['connect_timeout'] < 1;
432
+ $conf[\CURLOPT_CONNECTTIMEOUT_MS] = $options['connect_timeout'] * 1000;
433
  }
434
 
435
+ if ($timeoutRequiresNoSignal && \strtoupper(\substr(\PHP_OS, 0, 3)) !== 'WIN') {
436
+ $conf[\CURLOPT_NOSIGNAL] = true;
437
  }
438
 
439
  if (isset($options['proxy'])) {
440
+ if (!\is_array($options['proxy'])) {
441
+ $conf[\CURLOPT_PROXY] = $options['proxy'];
442
  } else {
443
  $scheme = $easy->request->getUri()->getScheme();
444
  if (isset($options['proxy'][$scheme])) {
445
  $host = $easy->request->getUri()->getHost();
446
+ if (!isset($options['proxy']['no']) || !Utils::isHostInNoProxy($host, $options['proxy']['no'])) {
447
+ $conf[\CURLOPT_PROXY] = $options['proxy'][$scheme];
 
 
448
  }
449
  }
450
  }
452
 
453
  if (isset($options['cert'])) {
454
  $cert = $options['cert'];
455
+ if (\is_array($cert)) {
456
+ $conf[\CURLOPT_SSLCERTPASSWD] = $cert[1];
457
  $cert = $cert[0];
458
  }
459
+ if (!\file_exists($cert)) {
460
+ throw new \InvalidArgumentException("SSL certificate not found: {$cert}");
 
 
461
  }
462
+ # OpenSSL (versions 0.9.3 and later) also support "P12" for PKCS#12-encoded files.
463
+ # see https://curl.se/libcurl/c/CURLOPT_SSLCERTTYPE.html
464
+ $ext = pathinfo($cert, \PATHINFO_EXTENSION);
465
+ if (preg_match('#^(der|p12)$#i', $ext)) {
466
+ $conf[\CURLOPT_SSLCERTTYPE] = strtoupper($ext);
467
+ }
468
+ $conf[\CURLOPT_SSLCERT] = $cert;
469
  }
470
 
471
  if (isset($options['ssl_key'])) {
472
+ if (\is_array($options['ssl_key'])) {
473
+ if (\count($options['ssl_key']) === 2) {
474
+ [$sslKey, $conf[\CURLOPT_SSLKEYPASSWD]] = $options['ssl_key'];
475
  } else {
476
+ [$sslKey] = $options['ssl_key'];
477
  }
478
  }
479
 
480
+ $sslKey = $sslKey ?? $options['ssl_key'];
481
 
482
+ if (!\file_exists($sslKey)) {
483
+ throw new \InvalidArgumentException("SSL private key not found: {$sslKey}");
 
 
484
  }
485
+ $conf[\CURLOPT_SSLKEY] = $sslKey;
486
  }
487
 
488
  if (isset($options['progress'])) {
489
  $progress = $options['progress'];
490
+ if (!\is_callable($progress)) {
491
+ throw new \InvalidArgumentException('progress client option must be callable');
 
 
492
  }
493
+ $conf[\CURLOPT_NOPROGRESS] = false;
494
+ $conf[\CURLOPT_PROGRESSFUNCTION] = static function ($resource, int $downloadSize, int $downloaded, int $uploadSize, int $uploaded) use ($progress) {
495
+ $progress($downloadSize, $downloaded, $uploadSize, $uploaded);
 
 
 
 
 
496
  };
497
  }
498
 
499
  if (!empty($options['debug'])) {
500
+ $conf[\CURLOPT_STDERR] = Utils::debugResource($options['debug']);
501
+ $conf[\CURLOPT_VERBOSE] = true;
502
  }
503
  }
504
 
510
  * stream, and then encountered a "necessary data rewind wasn't possible"
511
  * error, causing the request to be sent through curl_multi_info_read()
512
  * without an error status.
513
+ *
514
+ * @param callable(RequestInterface, array): PromiseInterface $handler
515
  */
516
+ private static function retryFailedRewind(callable $handler, EasyHandle $easy, array $ctx): PromiseInterface
517
+ {
 
 
 
518
  try {
519
  // Only rewind if the body has been read from.
520
  $body = $easy->request->getBody();
547
  return $handler($easy->request, $easy->options);
548
  }
549
 
550
+ private function createHeaderFn(EasyHandle $easy): callable
551
  {
552
  if (isset($easy->options['on_headers'])) {
553
  $onHeaders = $easy->options['on_headers'];
554
 
555
+ if (!\is_callable($onHeaders)) {
556
  throw new \InvalidArgumentException('on_headers must be callable');
557
  }
558
  } else {
559
  $onHeaders = null;
560
  }
561
 
562
+ return static function ($ch, $h) use (
563
  $onHeaders,
564
  $easy,
565
  &$startingResponse
566
  ) {
567
+ $value = \trim($h);
568
  if ($value === '') {
569
  $startingResponse = true;
570
+ try {
571
+ $easy->createResponse();
572
+ } catch (\Exception $e) {
573
+ $easy->createResponseException = $e;
574
+ return -1;
575
+ }
576
  if ($onHeaders !== null) {
577
  try {
578
  $onHeaders($easy->response);
589
  } else {
590
  $easy->headers[] = $value;
591
  }
592
+ return \strlen($h);
593
  };
594
  }
595
  }
vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace GuzzleHttp\Handler;
3
 
4
  use Psr\Http\Message\RequestInterface;
@@ -11,17 +12,14 @@ interface CurlFactoryInterface
11
  * @param RequestInterface $request Request
12
  * @param array $options Transfer options
13
  *
14
- * @return EasyHandle
15
  * @throws \RuntimeException when an option cannot be applied
16
  */
17
- public function create(RequestInterface $request, array $options);
18
 
19
  /**
20
  * Release an easy handle, allowing it to be reused or closed.
21
  *
22
  * This function must call unset on the easy handle's "handle" property.
23
- *
24
- * @param EasyHandle $easy
25
  */
26
- public function release(EasyHandle $easy);
27
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Handler;
4
 
5
  use Psr\Http\Message\RequestInterface;
12
  * @param RequestInterface $request Request
13
  * @param array $options Transfer options
14
  *
 
15
  * @throws \RuntimeException when an option cannot be applied
16
  */
17
+ public function create(RequestInterface $request, array $options): EasyHandle;
18
 
19
  /**
20
  * Release an easy handle, allowing it to be reused or closed.
21
  *
22
  * This function must call unset on the easy handle's "handle" property.
 
 
23
  */
24
+ public function release(EasyHandle $easy): void;
25
  }
vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php CHANGED
@@ -1,7 +1,8 @@
1
  <?php
 
2
  namespace GuzzleHttp\Handler;
3
 
4
- use GuzzleHttp\Psr7;
5
  use Psr\Http\Message\RequestInterface;
6
 
7
  /**
@@ -10,35 +11,38 @@ use Psr\Http\Message\RequestInterface;
10
  * When using the CurlHandler, custom curl options can be specified as an
11
  * associative array of curl option constants mapping to values in the
12
  * **curl** key of the "client" key of the request.
 
 
13
  */
14
  class CurlHandler
15
  {
16
- /** @var CurlFactoryInterface */
 
 
17
  private $factory;
18
 
19
  /**
20
  * Accepts an associative array of options:
21
  *
22
- * - factory: Optional curl factory used to create cURL handles.
23
  *
24
- * @param array $options Array of options to use with the handler
25
  */
26
  public function __construct(array $options = [])
27
  {
28
- $this->factory = isset($options['handle_factory'])
29
- ? $options['handle_factory']
30
- : new CurlFactory(3);
31
  }
32
 
33
- public function __invoke(RequestInterface $request, array $options)
34
  {
35
  if (isset($options['delay'])) {
36
- usleep($options['delay'] * 1000);
37
  }
38
 
39
  $easy = $this->factory->create($request, $options);
40
- curl_exec($easy->handle);
41
- $easy->errno = curl_errno($easy->handle);
42
 
43
  return CurlFactory::finish($this, $easy, $this->factory);
44
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Handler;
4
 
5
+ use GuzzleHttp\Promise\PromiseInterface;
6
  use Psr\Http\Message\RequestInterface;
7
 
8
  /**
11
  * When using the CurlHandler, custom curl options can be specified as an
12
  * associative array of curl option constants mapping to values in the
13
  * **curl** key of the "client" key of the request.
14
+ *
15
+ * @final
16
  */
17
  class CurlHandler
18
  {
19
+ /**
20
+ * @var CurlFactoryInterface
21
+ */
22
  private $factory;
23
 
24
  /**
25
  * Accepts an associative array of options:
26
  *
27
+ * - handle_factory: Optional curl factory used to create cURL handles.
28
  *
29
+ * @param array{handle_factory?: ?CurlFactoryInterface} $options Array of options to use with the handler
30
  */
31
  public function __construct(array $options = [])
32
  {
33
+ $this->factory = $options['handle_factory']
34
+ ?? new CurlFactory(3);
 
35
  }
36
 
37
+ public function __invoke(RequestInterface $request, array $options): PromiseInterface
38
  {
39
  if (isset($options['delay'])) {
40
+ \usleep($options['delay'] * 1000);
41
  }
42
 
43
  $easy = $this->factory->create($request, $options);
44
+ \curl_exec($easy->handle);
45
+ $easy->errno = \curl_errno($easy->handle);
46
 
47
  return CurlFactory::finish($this, $easy, $this->factory);
48
  }
vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace GuzzleHttp\Handler;
3
 
4
  use GuzzleHttp\Promise as P;
5
  use GuzzleHttp\Promise\Promise;
 
6
  use GuzzleHttp\Utils;
7
  use Psr\Http\Message\RequestInterface;
8
 
@@ -13,16 +15,44 @@ use Psr\Http\Message\RequestInterface;
13
  * associative array of curl option constants mapping to values in the
14
  * **curl** key of the provided request options.
15
  *
16
- * @property resource $_mh Internal use only. Lazy loaded multi-handle.
 
 
17
  */
18
  class CurlMultiHandler
19
  {
20
- /** @var CurlFactoryInterface */
 
 
21
  private $factory;
 
 
 
 
22
  private $selectTimeout;
 
 
 
 
23
  private $active;
 
 
 
 
 
 
24
  private $handles = [];
 
 
 
 
 
 
25
  private $delays = [];
 
 
 
 
26
  private $options = [];
27
 
28
  /**
@@ -33,52 +63,62 @@ class CurlMultiHandler
33
  * out while selecting curl handles. Defaults to 1 second.
34
  * - options: An associative array of CURLMOPT_* options and
35
  * corresponding values for curl_multi_setopt()
36
- *
37
- * @param array $options
38
  */
39
  public function __construct(array $options = [])
40
  {
41
- $this->factory = isset($options['handle_factory'])
42
- ? $options['handle_factory'] : new CurlFactory(50);
43
 
44
  if (isset($options['select_timeout'])) {
45
  $this->selectTimeout = $options['select_timeout'];
46
- } elseif ($selectTimeout = getenv('GUZZLE_CURL_SELECT_TIMEOUT')) {
47
- $this->selectTimeout = $selectTimeout;
 
48
  } else {
49
  $this->selectTimeout = 1;
50
  }
51
 
52
- $this->options = isset($options['options']) ? $options['options'] : [];
53
  }
54
 
 
 
 
 
 
 
 
 
55
  public function __get($name)
56
  {
57
- if ($name === '_mh') {
58
- $this->_mh = curl_multi_init();
 
59
 
60
- foreach ($this->options as $option => $value) {
61
- // A warning is raised in case of a wrong option.
62
- curl_multi_setopt($this->_mh, $option, $value);
63
- }
 
 
 
64
 
65
- // Further calls to _mh will return the value directly, without entering the
66
- // __get() method at all.
67
- return $this->_mh;
68
  }
69
 
70
- throw new \BadMethodCallException();
71
  }
72
 
73
  public function __destruct()
74
  {
75
  if (isset($this->_mh)) {
76
- curl_multi_close($this->_mh);
77
  unset($this->_mh);
78
  }
79
  }
80
 
81
- public function __invoke(RequestInterface $request, array $options)
82
  {
83
  $easy = $this->factory->create($request, $options);
84
  $id = (int) $easy->handle;
@@ -98,7 +138,7 @@ class CurlMultiHandler
98
  /**
99
  * Ticks the curl event loop.
100
  */
101
- public function tick()
102
  {
103
  // Add any delayed handles if needed.
104
  if ($this->delays) {
@@ -106,7 +146,7 @@ class CurlMultiHandler
106
  foreach ($this->delays as $id => $delay) {
107
  if ($currentTime >= $delay) {
108
  unset($this->delays[$id]);
109
- curl_multi_add_handle(
110
  $this->_mh,
111
  $this->handles[$id]['easy']->handle
112
  );
@@ -115,17 +155,15 @@ class CurlMultiHandler
115
  }
116
 
117
  // Step through the task queue which may add additional requests.
118
- P\queue()->run();
119
 
120
- if ($this->active &&
121
- curl_multi_select($this->_mh, $this->selectTimeout) === -1
122
- ) {
123
  // Perform a usleep if a select returns -1.
124
  // See: https://bugs.php.net/bug.php?id=61141
125
- usleep(250);
126
  }
127
 
128
- while (curl_multi_exec($this->_mh, $this->active) === CURLM_CALL_MULTI_PERFORM);
129
 
130
  $this->processMessages();
131
  }
@@ -133,26 +171,26 @@ class CurlMultiHandler
133
  /**
134
  * Runs until all outstanding connections have completed.
135
  */
136
- public function execute()
137
  {
138
- $queue = P\queue();
139
 
140
  while ($this->handles || !$queue->isEmpty()) {
141
  // If there are no transfers, then sleep for the next delay
142
  if (!$this->active && $this->delays) {
143
- usleep($this->timeToNext());
144
  }
145
  $this->tick();
146
  }
147
  }
148
 
149
- private function addRequest(array $entry)
150
  {
151
  $easy = $entry['easy'];
152
  $id = (int) $easy->handle;
153
  $this->handles[$id] = $entry;
154
  if (empty($easy->options['delay'])) {
155
- curl_multi_add_handle($this->_mh, $easy->handle);
156
  } else {
157
  $this->delays[$id] = Utils::currentTime() + ($easy->options['delay'] / 1000);
158
  }
@@ -165,8 +203,12 @@ class CurlMultiHandler
165
  *
166
  * @return bool True on success, false on failure.
167
  */
168
- private function cancel($id)
169
  {
 
 
 
 
170
  // Cannot cancel if it has been processed.
171
  if (!isset($this->handles[$id])) {
172
  return false;
@@ -174,17 +216,21 @@ class CurlMultiHandler
174
 
175
  $handle = $this->handles[$id]['easy']->handle;
176
  unset($this->delays[$id], $this->handles[$id]);
177
- curl_multi_remove_handle($this->_mh, $handle);
178
- curl_close($handle);
179
 
180
  return true;
181
  }
182
 
183
- private function processMessages()
184
  {
185
- while ($done = curl_multi_info_read($this->_mh)) {
 
 
 
 
186
  $id = (int) $done['handle'];
187
- curl_multi_remove_handle($this->_mh, $done['handle']);
188
 
189
  if (!isset($this->handles[$id])) {
190
  // Probably was cancelled.
@@ -195,25 +241,21 @@ class CurlMultiHandler
195
  unset($this->handles[$id], $this->delays[$id]);
196
  $entry['easy']->errno = $done['result'];
197
  $entry['deferred']->resolve(
198
- CurlFactory::finish(
199
- $this,
200
- $entry['easy'],
201
- $this->factory
202
- )
203
  );
204
  }
205
  }
206
 
207
- private function timeToNext()
208
  {
209
  $currentTime = Utils::currentTime();
210
- $nextTime = PHP_INT_MAX;
211
  foreach ($this->delays as $time) {
212
  if ($time < $nextTime) {
213
  $nextTime = $time;
214
  }
215
  }
216
 
217
- return max(0, $nextTime - $currentTime) * 1000000;
218
  }
219
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Handler;
4
 
5
  use GuzzleHttp\Promise as P;
6
  use GuzzleHttp\Promise\Promise;
7
+ use GuzzleHttp\Promise\PromiseInterface;
8
  use GuzzleHttp\Utils;
9
  use Psr\Http\Message\RequestInterface;
10
 
15
  * associative array of curl option constants mapping to values in the
16
  * **curl** key of the provided request options.
17
  *
18
+ * @property resource|\CurlMultiHandle $_mh Internal use only. Lazy loaded multi-handle.
19
+ *
20
+ * @final
21
  */
22
  class CurlMultiHandler
23
  {
24
+ /**
25
+ * @var CurlFactoryInterface
26
+ */
27
  private $factory;
28
+
29
+ /**
30
+ * @var int
31
+ */
32
  private $selectTimeout;
33
+
34
+ /**
35
+ * @var resource|\CurlMultiHandle|null the currently executing resource in `curl_multi_exec`.
36
+ */
37
  private $active;
38
+
39
+ /**
40
+ * @var array Request entry handles, indexed by handle id in `addRequest`.
41
+ *
42
+ * @see CurlMultiHandler::addRequest
43
+ */
44
  private $handles = [];
45
+
46
+ /**
47
+ * @var array<int, float> An array of delay times, indexed by handle id in `addRequest`.
48
+ *
49
+ * @see CurlMultiHandler::addRequest
50
+ */
51
  private $delays = [];
52
+
53
+ /**
54
+ * @var array<mixed> An associative array of CURLMOPT_* options and corresponding values for curl_multi_setopt()
55
+ */
56
  private $options = [];
57
 
58
  /**
63
  * out while selecting curl handles. Defaults to 1 second.
64
  * - options: An associative array of CURLMOPT_* options and
65
  * corresponding values for curl_multi_setopt()
 
 
66
  */
67
  public function __construct(array $options = [])
68
  {
69
+ $this->factory = $options['handle_factory'] ?? new CurlFactory(50);
 
70
 
71
  if (isset($options['select_timeout'])) {
72
  $this->selectTimeout = $options['select_timeout'];
73
+ } elseif ($selectTimeout = Utils::getenv('GUZZLE_CURL_SELECT_TIMEOUT')) {
74
+ @trigger_error('Since guzzlehttp/guzzle 7.2.0: Using environment variable GUZZLE_CURL_SELECT_TIMEOUT is deprecated. Use option "select_timeout" instead.', \E_USER_DEPRECATED);
75
+ $this->selectTimeout = (int) $selectTimeout;
76
  } else {
77
  $this->selectTimeout = 1;
78
  }
79
 
80
+ $this->options = $options['options'] ?? [];
81
  }
82
 
83
+ /**
84
+ * @param string $name
85
+ *
86
+ * @return resource|\CurlMultiHandle
87
+ *
88
+ * @throws \BadMethodCallException when another field as `_mh` will be gotten
89
+ * @throws \RuntimeException when curl can not initialize a multi handle
90
+ */
91
  public function __get($name)
92
  {
93
+ if ($name !== '_mh') {
94
+ throw new \BadMethodCallException("Can not get other property as '_mh'.");
95
+ }
96
 
97
+ $multiHandle = \curl_multi_init();
98
+
99
+ if (false === $multiHandle) {
100
+ throw new \RuntimeException('Can not initialize curl multi handle.');
101
+ }
102
+
103
+ $this->_mh = $multiHandle;
104
 
105
+ foreach ($this->options as $option => $value) {
106
+ // A warning is raised in case of a wrong option.
107
+ curl_multi_setopt($this->_mh, $option, $value);
108
  }
109
 
110
+ return $this->_mh;
111
  }
112
 
113
  public function __destruct()
114
  {
115
  if (isset($this->_mh)) {
116
+ \curl_multi_close($this->_mh);
117
  unset($this->_mh);
118
  }
119
  }
120
 
121
+ public function __invoke(RequestInterface $request, array $options): PromiseInterface
122
  {
123
  $easy = $this->factory->create($request, $options);
124
  $id = (int) $easy->handle;
138
  /**
139
  * Ticks the curl event loop.
140
  */
141
+ public function tick(): void
142
  {
143
  // Add any delayed handles if needed.
144
  if ($this->delays) {
146
  foreach ($this->delays as $id => $delay) {
147
  if ($currentTime >= $delay) {
148
  unset($this->delays[$id]);
149
+ \curl_multi_add_handle(
150
  $this->_mh,
151
  $this->handles[$id]['easy']->handle
152
  );
155
  }
156
 
157
  // Step through the task queue which may add additional requests.
158
+ P\Utils::queue()->run();
159
 
160
+ if ($this->active && \curl_multi_select($this->_mh, $this->selectTimeout) === -1) {
 
 
161
  // Perform a usleep if a select returns -1.
162
  // See: https://bugs.php.net/bug.php?id=61141
163
+ \usleep(250);
164
  }
165
 
166
+ while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM);
167
 
168
  $this->processMessages();
169
  }
171
  /**
172
  * Runs until all outstanding connections have completed.
173
  */
174
+ public function execute(): void
175
  {
176
+ $queue = P\Utils::queue();
177
 
178
  while ($this->handles || !$queue->isEmpty()) {
179
  // If there are no transfers, then sleep for the next delay
180
  if (!$this->active && $this->delays) {
181
+ \usleep($this->timeToNext());
182
  }
183
  $this->tick();
184
  }
185
  }
186
 
187
+ private function addRequest(array $entry): void
188
  {
189
  $easy = $entry['easy'];
190
  $id = (int) $easy->handle;
191
  $this->handles[$id] = $entry;
192
  if (empty($easy->options['delay'])) {
193
+ \curl_multi_add_handle($this->_mh, $easy->handle);
194
  } else {
195
  $this->delays[$id] = Utils::currentTime() + ($easy->options['delay'] / 1000);
196
  }
203
  *
204
  * @return bool True on success, false on failure.
205
  */
206
+ private function cancel($id): bool
207
  {
208
+ if (!is_int($id)) {
209
+ trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an integer to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
210
+ }
211
+
212
  // Cannot cancel if it has been processed.
213
  if (!isset($this->handles[$id])) {
214
  return false;
216
 
217
  $handle = $this->handles[$id]['easy']->handle;
218
  unset($this->delays[$id], $this->handles[$id]);
219
+ \curl_multi_remove_handle($this->_mh, $handle);
220
+ \curl_close($handle);
221
 
222
  return true;
223
  }
224
 
225
+ private function processMessages(): void
226
  {
227
+ while ($done = \curl_multi_info_read($this->_mh)) {
228
+ if ($done['msg'] !== \CURLMSG_DONE) {
229
+ // if it's not done, then it would be premature to remove the handle. ref https://github.com/guzzle/guzzle/pull/2892#issuecomment-945150216
230
+ continue;
231
+ }
232
  $id = (int) $done['handle'];
233
+ \curl_multi_remove_handle($this->_mh, $done['handle']);
234
 
235
  if (!isset($this->handles[$id])) {
236
  // Probably was cancelled.
241
  unset($this->handles[$id], $this->delays[$id]);
242
  $entry['easy']->errno = $done['result'];
243
  $entry['deferred']->resolve(
244
+ CurlFactory::finish($this, $entry['easy'], $this->factory)
 
 
 
 
245
  );
246
  }
247
  }
248
 
249
+ private function timeToNext(): int
250
  {
251
  $currentTime = Utils::currentTime();
252
+ $nextTime = \PHP_INT_MAX;
253
  foreach ($this->delays as $time) {
254
  if ($time < $nextTime) {
255
  $nextTime = $time;
256
  }
257
  }
258
 
259
+ return ((int) \max(0, $nextTime - $currentTime)) * 1000000;
260
  }
261
  }
vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php CHANGED
@@ -1,7 +1,9 @@
1
  <?php
 
2
  namespace GuzzleHttp\Handler;
3
 
4
  use GuzzleHttp\Psr7\Response;
 
5
  use Psr\Http\Message\RequestInterface;
6
  use Psr\Http\Message\ResponseInterface;
7
  use Psr\Http\Message\StreamInterface;
@@ -13,55 +15,68 @@ use Psr\Http\Message\StreamInterface;
13
  */
14
  final class EasyHandle
15
  {
16
- /** @var resource cURL resource */
 
 
17
  public $handle;
18
 
19
- /** @var StreamInterface Where data is being written */
 
 
20
  public $sink;
21
 
22
- /** @var array Received HTTP headers so far */
 
 
23
  public $headers = [];
24
 
25
- /** @var ResponseInterface Received response (if any) */
 
 
26
  public $response;
27
 
28
- /** @var RequestInterface Request being sent */
 
 
29
  public $request;
30
 
31
- /** @var array Request options */
 
 
32
  public $options = [];
33
 
34
- /** @var int cURL error number (if any) */
 
 
35
  public $errno = 0;
36
 
37
- /** @var \Exception Exception during on_headers (if any) */
 
 
38
  public $onHeadersException;
39
 
 
 
 
 
 
40
  /**
41
  * Attach a response to the easy handle based on the received headers.
42
  *
43
- * @throws \RuntimeException if no headers have been received.
 
44
  */
45
- public function createResponse()
46
  {
47
- if (empty($this->headers)) {
48
- throw new \RuntimeException('No headers have been received');
49
- }
50
 
51
- // HTTP-version SP status-code SP reason-phrase
52
- $startLine = explode(' ', array_shift($this->headers), 3);
53
- $headers = \GuzzleHttp\headers_from_lines($this->headers);
54
- $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers);
55
 
56
- if (!empty($this->options['decode_content'])
57
- && isset($normalizedKeys['content-encoding'])
58
- ) {
59
- $headers['x-encoded-content-encoding']
60
- = $headers[$normalizedKeys['content-encoding']];
61
  unset($headers[$normalizedKeys['content-encoding']]);
62
  if (isset($normalizedKeys['content-length'])) {
63
- $headers['x-encoded-content-length']
64
- = $headers[$normalizedKeys['content-length']];
65
 
66
  $bodyLength = (int) $this->sink->getSize();
67
  if ($bodyLength) {
@@ -74,19 +89,24 @@ final class EasyHandle
74
 
75
  // Attach a response to the easy handle with the parsed headers.
76
  $this->response = new Response(
77
- $startLine[1],
78
  $headers,
79
  $this->sink,
80
- substr($startLine[0], 5),
81
- isset($startLine[2]) ? (string) $startLine[2] : null
82
  );
83
  }
84
 
 
 
 
 
 
 
 
85
  public function __get($name)
86
  {
87
- $msg = $name === 'handle'
88
- ? 'The EasyHandle has been released'
89
- : 'Invalid property: ' . $name;
90
  throw new \BadMethodCallException($msg);
91
  }
92
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Handler;
4
 
5
  use GuzzleHttp\Psr7\Response;
6
+ use GuzzleHttp\Utils;
7
  use Psr\Http\Message\RequestInterface;
8
  use Psr\Http\Message\ResponseInterface;
9
  use Psr\Http\Message\StreamInterface;
15
  */
16
  final class EasyHandle
17
  {
18
+ /**
19
+ * @var resource|\CurlHandle cURL resource
20
+ */
21
  public $handle;
22
 
23
+ /**
24
+ * @var StreamInterface Where data is being written
25
+ */
26
  public $sink;
27
 
28
+ /**
29
+ * @var array Received HTTP headers so far
30
+ */
31
  public $headers = [];
32
 
33
+ /**
34
+ * @var ResponseInterface|null Received response (if any)
35
+ */
36
  public $response;
37
 
38
+ /**
39
+ * @var RequestInterface Request being sent
40
+ */
41
  public $request;
42
 
43
+ /**
44
+ * @var array Request options
45
+ */
46
  public $options = [];
47
 
48
+ /**
49
+ * @var int cURL error number (if any)
50
+ */
51
  public $errno = 0;
52
 
53
+ /**
54
+ * @var \Throwable|null Exception during on_headers (if any)
55
+ */
56
  public $onHeadersException;
57
 
58
+ /**
59
+ * @var \Exception|null Exception during createResponse (if any)
60
+ */
61
+ public $createResponseException;
62
+
63
  /**
64
  * Attach a response to the easy handle based on the received headers.
65
  *
66
+ * @throws \RuntimeException if no headers have been received or the first
67
+ * header line is invalid.
68
  */
69
+ public function createResponse(): void
70
  {
71
+ [$ver, $status, $reason, $headers] = HeaderProcessor::parseHeaders($this->headers);
 
 
72
 
73
+ $normalizedKeys = Utils::normalizeHeaderKeys($headers);
 
 
 
74
 
75
+ if (!empty($this->options['decode_content']) && isset($normalizedKeys['content-encoding'])) {
76
+ $headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']];
 
 
 
77
  unset($headers[$normalizedKeys['content-encoding']]);
78
  if (isset($normalizedKeys['content-length'])) {
79
+ $headers['x-encoded-content-length'] = $headers[$normalizedKeys['content-length']];
 
80
 
81
  $bodyLength = (int) $this->sink->getSize();
82
  if ($bodyLength) {
89
 
90
  // Attach a response to the easy handle with the parsed headers.
91
  $this->response = new Response(
92
+ $status,
93
  $headers,
94
  $this->sink,
95
+ $ver,
96
+ $reason
97
  );
98
  }
99
 
100
+ /**
101
+ * @param string $name
102
+ *
103
+ * @return void
104
+ *
105
+ * @throws \BadMethodCallException
106
+ */
107
  public function __get($name)
108
  {
109
+ $msg = $name === 'handle' ? 'The EasyHandle has been released' : 'Invalid property: ' . $name;
 
 
110
  throw new \BadMethodCallException($msg);
111
  }
112
  }
vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GuzzleHttp\Handler;
4
+
5
+ use GuzzleHttp\Utils;
6
+
7
+ /**
8
+ * @internal
9
+ */
10
+ final class HeaderProcessor
11
+ {
12
+ /**
13
+ * Returns the HTTP version, status code, reason phrase, and headers.
14
+ *
15
+ * @param string[] $headers
16
+ *
17
+ * @throws \RuntimeException
18
+ *
19
+ * @return array{0:string, 1:int, 2:?string, 3:array}
20
+ */
21
+ public static function parseHeaders(array $headers): array
22
+ {
23
+ if ($headers === []) {
24
+ throw new \RuntimeException('Expected a non-empty array of header data');
25
+ }
26
+
27
+ $parts = \explode(' ', \array_shift($headers), 3);
28
+ $version = \explode('/', $parts[0])[1] ?? null;
29
+
30
+ if ($version === null) {
31
+ throw new \RuntimeException('HTTP version missing from header data');
32
+ }
33
+
34
+ $status = $parts[1] ?? null;
35
+
36
+ if ($status === null) {
37
+ throw new \RuntimeException('HTTP status code missing from header data');
38
+ }
39
+
40
+ return [$version, (int) $status, $parts[2] ?? null, Utils::headersFromLines($headers)];
41
+ }
42
+ }
vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php CHANGED
@@ -1,81 +1,98 @@
1
  <?php
 
2
  namespace GuzzleHttp\Handler;
3
 
4
  use GuzzleHttp\Exception\RequestException;
5
  use GuzzleHttp\HandlerStack;
 
6
  use GuzzleHttp\Promise\PromiseInterface;
7
- use GuzzleHttp\Promise\RejectedPromise;
8
  use GuzzleHttp\TransferStats;
 
9
  use Psr\Http\Message\RequestInterface;
10
  use Psr\Http\Message\ResponseInterface;
 
11
 
12
  /**
13
  * Handler that returns responses or throw exceptions from a queue.
 
 
14
  */
15
  class MockHandler implements \Countable
16
  {
 
 
 
17
  private $queue = [];
 
 
 
 
18
  private $lastRequest;
19
- private $lastOptions;
 
 
 
 
 
 
 
 
20
  private $onFulfilled;
 
 
 
 
21
  private $onRejected;
22
 
23
  /**
24
  * Creates a new MockHandler that uses the default handler stack list of
25
  * middlewares.
26
  *
27
- * @param array $queue Array of responses, callables, or exceptions.
28
- * @param callable $onFulfilled Callback to invoke when the return value is fulfilled.
29
- * @param callable $onRejected Callback to invoke when the return value is rejected.
30
- *
31
- * @return HandlerStack
32
  */
33
- public static function createWithMiddleware(
34
- array $queue = null,
35
- callable $onFulfilled = null,
36
- callable $onRejected = null
37
- ) {
38
  return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
39
  }
40
 
41
  /**
42
  * The passed in value must be an array of
43
- * {@see Psr7\Http\Message\ResponseInterface} objects, Exceptions,
44
  * callables, or Promises.
45
  *
46
- * @param array $queue
47
- * @param callable $onFulfilled Callback to invoke when the return value is fulfilled.
48
- * @param callable $onRejected Callback to invoke when the return value is rejected.
49
  */
50
- public function __construct(
51
- array $queue = null,
52
- callable $onFulfilled = null,
53
- callable $onRejected = null
54
- ) {
55
  $this->onFulfilled = $onFulfilled;
56
  $this->onRejected = $onRejected;
57
 
58
  if ($queue) {
59
- call_user_func_array([$this, 'append'], $queue);
 
60
  }
61
  }
62
 
63
- public function __invoke(RequestInterface $request, array $options)
64
  {
65
  if (!$this->queue) {
66
  throw new \OutOfBoundsException('Mock queue is empty');
67
  }
68
 
69
- if (isset($options['delay']) && is_numeric($options['delay'])) {
70
- usleep($options['delay'] * 1000);
71
  }
72
 
73
  $this->lastRequest = $request;
74
  $this->lastOptions = $options;
75
- $response = array_shift($this->queue);
76
 
77
  if (isset($options['on_headers'])) {
78
- if (!is_callable($options['on_headers'])) {
79
  throw new \InvalidArgumentException('on_headers must be callable');
80
  }
81
  try {
@@ -86,29 +103,30 @@ class MockHandler implements \Countable
86
  }
87
  }
88
 
89
- if (is_callable($response)) {
90
- $response = call_user_func($response, $request, $options);
91
  }
92
 
93
- $response = $response instanceof \Exception
94
- ? \GuzzleHttp\Promise\rejection_for($response)
95
- : \GuzzleHttp\Promise\promise_for($response);
96
 
97
  return $response->then(
98
- function ($value) use ($request, $options) {
99
  $this->invokeStats($request, $options, $value);
100
  if ($this->onFulfilled) {
101
- call_user_func($this->onFulfilled, $value);
102
  }
103
- if (isset($options['sink'])) {
 
104
  $contents = (string) $value->getBody();
105
  $sink = $options['sink'];
106
 
107
- if (is_resource($sink)) {
108
- fwrite($sink, $contents);
109
- } elseif (is_string($sink)) {
110
- file_put_contents($sink, $contents);
111
- } elseif ($sink instanceof \Psr\Http\Message\StreamInterface) {
112
  $sink->write($contents);
113
  }
114
  }
@@ -118,9 +136,9 @@ class MockHandler implements \Countable
118
  function ($reason) use ($request, $options) {
119
  $this->invokeStats($request, $options, null, $reason);
120
  if ($this->onRejected) {
121
- call_user_func($this->onRejected, $reason);
122
  }
123
- return \GuzzleHttp\Promise\rejection_for($reason);
124
  }
125
  );
126
  }
@@ -128,68 +146,66 @@ class MockHandler implements \Countable
128
  /**
129
  * Adds one or more variadic requests, exceptions, callables, or promises
130
  * to the queue.
 
 
131
  */
132
- public function append()
133
  {
134
- foreach (func_get_args() as $value) {
135
  if ($value instanceof ResponseInterface
136
- || $value instanceof \Exception
137
  || $value instanceof PromiseInterface
138
- || is_callable($value)
139
  ) {
140
  $this->queue[] = $value;
141
  } else {
142
- throw new \InvalidArgumentException('Expected a response or '
143
- . 'exception. Found ' . \GuzzleHttp\describe_type($value));
144
  }
145
  }
146
  }
147
 
148
  /**
149
  * Get the last received request.
150
- *
151
- * @return RequestInterface
152
  */
153
- public function getLastRequest()
154
  {
155
  return $this->lastRequest;
156
  }
157
 
158
  /**
159
  * Get the last received request options.
160
- *
161
- * @return array
162
  */
163
- public function getLastOptions()
164
  {
165
  return $this->lastOptions;
166
  }
167
 
168
  /**
169
  * Returns the number of remaining items in the queue.
170
- *
171
- * @return int
172
  */
173
- public function count()
174
  {
175
- return count($this->queue);
176
  }
177
 
178
- public function reset()
179
  {
180
  $this->queue = [];
181
  }
182
 
 
 
 
183
  private function invokeStats(
184
  RequestInterface $request,
185
  array $options,
186
  ResponseInterface $response = null,
187
  $reason = null
188
- ) {
189
  if (isset($options['on_stats'])) {
190
- $transferTime = isset($options['transfer_time']) ? $options['transfer_time'] : 0;
191
  $stats = new TransferStats($request, $response, $transferTime, $reason);
192
- call_user_func($options['on_stats'], $stats);
193
  }
194
  }
195
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Handler;
4
 
5
  use GuzzleHttp\Exception\RequestException;
6
  use GuzzleHttp\HandlerStack;
7
+ use GuzzleHttp\Promise as P;
8
  use GuzzleHttp\Promise\PromiseInterface;
 
9
  use GuzzleHttp\TransferStats;
10
+ use GuzzleHttp\Utils;
11
  use Psr\Http\Message\RequestInterface;
12
  use Psr\Http\Message\ResponseInterface;
13
+ use Psr\Http\Message\StreamInterface;
14
 
15
  /**
16
  * Handler that returns responses or throw exceptions from a queue.
17
+ *
18
+ * @final
19
  */
20
  class MockHandler implements \Countable
21
  {
22
+ /**
23
+ * @var array
24
+ */
25
  private $queue = [];
26
+
27
+ /**
28
+ * @var RequestInterface|null
29
+ */
30
  private $lastRequest;
31
+
32
+ /**
33
+ * @var array
34
+ */
35
+ private $lastOptions = [];
36
+
37
+ /**
38
+ * @var callable|null
39
+ */
40
  private $onFulfilled;
41
+
42
+ /**
43
+ * @var callable|null
44
+ */
45
  private $onRejected;
46
 
47
  /**
48
  * Creates a new MockHandler that uses the default handler stack list of
49
  * middlewares.
50
  *
51
+ * @param array|null $queue Array of responses, callables, or exceptions.
52
+ * @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled.
53
+ * @param callable|null $onRejected Callback to invoke when the return value is rejected.
 
 
54
  */
55
+ public static function createWithMiddleware(array $queue = null, callable $onFulfilled = null, callable $onRejected = null): HandlerStack
56
+ {
 
 
 
57
  return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
58
  }
59
 
60
  /**
61
  * The passed in value must be an array of
62
+ * {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions,
63
  * callables, or Promises.
64
  *
65
+ * @param array<int, mixed>|null $queue The parameters to be passed to the append function, as an indexed array.
66
+ * @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled.
67
+ * @param callable|null $onRejected Callback to invoke when the return value is rejected.
68
  */
69
+ public function __construct(array $queue = null, callable $onFulfilled = null, callable $onRejected = null)
70
+ {
 
 
 
71
  $this->onFulfilled = $onFulfilled;
72
  $this->onRejected = $onRejected;
73
 
74
  if ($queue) {
75
+ // array_values included for BC
76
+ $this->append(...array_values($queue));
77
  }
78
  }
79
 
80
+ public function __invoke(RequestInterface $request, array $options): PromiseInterface
81
  {
82
  if (!$this->queue) {
83
  throw new \OutOfBoundsException('Mock queue is empty');
84
  }
85
 
86
+ if (isset($options['delay']) && \is_numeric($options['delay'])) {
87
+ \usleep((int) $options['delay'] * 1000);
88
  }
89
 
90
  $this->lastRequest = $request;
91
  $this->lastOptions = $options;
92
+ $response = \array_shift($this->queue);
93
 
94
  if (isset($options['on_headers'])) {
95
+ if (!\is_callable($options['on_headers'])) {
96
  throw new \InvalidArgumentException('on_headers must be callable');
97
  }
98
  try {
103
  }
104
  }
105
 
106
+ if (\is_callable($response)) {
107
+ $response = $response($request, $options);
108
  }
109
 
110
+ $response = $response instanceof \Throwable
111
+ ? P\Create::rejectionFor($response)
112
+ : P\Create::promiseFor($response);
113
 
114
  return $response->then(
115
+ function (?ResponseInterface $value) use ($request, $options) {
116
  $this->invokeStats($request, $options, $value);
117
  if ($this->onFulfilled) {
118
+ ($this->onFulfilled)($value);
119
  }
120
+
121
+ if ($value !== null && isset($options['sink'])) {
122
  $contents = (string) $value->getBody();
123
  $sink = $options['sink'];
124
 
125
+ if (\is_resource($sink)) {
126
+ \fwrite($sink, $contents);
127
+ } elseif (\is_string($sink)) {
128
+ \file_put_contents($sink, $contents);
129
+ } elseif ($sink instanceof StreamInterface) {
130
  $sink->write($contents);
131
  }
132
  }
136
  function ($reason) use ($request, $options) {
137
  $this->invokeStats($request, $options, null, $reason);
138
  if ($this->onRejected) {
139
+ ($this->onRejected)($reason);
140
  }
141
+ return P\Create::rejectionFor($reason);
142
  }
143
  );
144
  }
146
  /**
147
  * Adds one or more variadic requests, exceptions, callables, or promises
148
  * to the queue.
149
+ *
150
+ * @param mixed ...$values
151
  */
152
+ public function append(...$values): void
153
  {
154
+ foreach ($values as $value) {
155
  if ($value instanceof ResponseInterface
156
+ || $value instanceof \Throwable
157
  || $value instanceof PromiseInterface
158
+ || \is_callable($value)
159
  ) {
160
  $this->queue[] = $value;
161
  } else {
162
+ throw new \TypeError('Expected a Response, Promise, Throwable or callable. Found ' . Utils::describeType($value));
 
163
  }
164
  }
165
  }
166
 
167
  /**
168
  * Get the last received request.
 
 
169
  */
170
+ public function getLastRequest(): ?RequestInterface
171
  {
172
  return $this->lastRequest;
173
  }
174
 
175
  /**
176
  * Get the last received request options.
 
 
177
  */
178
+ public function getLastOptions(): array
179
  {
180
  return $this->lastOptions;
181
  }
182
 
183
  /**
184
  * Returns the number of remaining items in the queue.
 
 
185
  */
186
+ public function count(): int
187
  {
188
+ return \count($this->queue);
189
  }
190
 
191
+ public function reset(): void
192
  {
193
  $this->queue = [];
194
  }
195
 
196
+ /**
197
+ * @param mixed $reason Promise or reason.
198
+ */
199
  private function invokeStats(
200
  RequestInterface $request,
201
  array $options,
202
  ResponseInterface $response = null,
203
  $reason = null
204
+ ): void {
205
  if (isset($options['on_stats'])) {
206
+ $transferTime = $options['transfer_time'] ?? 0;
207
  $stats = new TransferStats($request, $response, $transferTime, $reason);
208
+ ($options['on_stats'])($stats);
209
  }
210
  }
211
  }
vendor/guzzlehttp/guzzle/src/Handler/Proxy.php CHANGED
@@ -1,11 +1,15 @@
1
  <?php
 
2
  namespace GuzzleHttp\Handler;
3
 
 
4
  use GuzzleHttp\RequestOptions;
5
  use Psr\Http\Message\RequestInterface;
6
 
7
  /**
8
  * Provides basic proxies for handlers.
 
 
9
  */
10
  class Proxy
11
  {
@@ -13,19 +17,15 @@ class Proxy
13
  * Sends synchronous requests to a specific handler while sending all other
14
  * requests to another handler.
15
  *
16
- * @param callable $default Handler used for normal responses
17
- * @param callable $sync Handler used for synchronous responses.
18
  *
19
- * @return callable Returns the composed handler.
20
  */
21
- public static function wrapSync(
22
- callable $default,
23
- callable $sync
24
- ) {
25
- return function (RequestInterface $request, array $options) use ($default, $sync) {
26
- return empty($options[RequestOptions::SYNCHRONOUS])
27
- ? $default($request, $options)
28
- : $sync($request, $options);
29
  };
30
  }
31
 
@@ -37,19 +37,15 @@ class Proxy
37
  * performance benefits of curl while still supporting true streaming
38
  * through the StreamHandler.
39
  *
40
- * @param callable $default Handler used for non-streaming responses
41
- * @param callable $streaming Handler used for streaming responses
42
  *
43
- * @return callable Returns the composed handler.
44
  */
45
- public static function wrapStreaming(
46
- callable $default,
47
- callable $streaming
48
- ) {
49
- return function (RequestInterface $request, array $options) use ($default, $streaming) {
50
- return empty($options['stream'])
51
- ? $default($request, $options)
52
- : $streaming($request, $options);
53
  };
54
  }
55
  }
1
  <?php
2
+
3
  namespace GuzzleHttp\Handler;
4
 
5
+ use GuzzleHttp\Promise\PromiseInterface;
6
  use GuzzleHttp\RequestOptions;
7
  use Psr\Http\Message\RequestInterface;
8
 
9
  /**
10
  * Provides basic proxies for handlers.
11
+ *
12
+ * @final
13
  */
14
  class Proxy
15
  {
17
  * Sends synchronous requests to a specific handler while sending all other
18
  * requests to another handler.
19
  *
20
+ * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for normal responses
21
+ * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $sync Handler used for synchronous responses.
22
  *
23
+ * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.
24
  */
25
+ public static function wrapSync(callable $default, callable $sync): callable
26
+ {
27
+ return static function (RequestInterface $request, array $options) use ($default, $sync): PromiseInterface {
28
+ return empty($options[RequestOptions::SYNCHRONOUS]) ? $default($request, $options) : $sync($request, $options);
 
 
 
 
29
  };
30
  }
31
 
37
  * performance benefits of curl while still supporting true streaming
38
  * through the StreamHandler.
39
  *
40
+ * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $default Handler used for non-streaming responses
41
+ * @param callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface $streaming Handler used for streaming responses
42
  *
43
+ * @return callable(\Psr\Http\Message\RequestInterface, array): \GuzzleHttp\Promise\PromiseInterface Returns the composed handler.
44
  */
45
+ public static function wrapStreaming(callable $default, callable $streaming): callable
46
+ {
47
+ return static function (RequestInterface $request, array $options) use ($default, $streaming): PromiseInterface {
48
+ return empty($options['stream']) ? $default($request, $options) : $streaming($request, $options);
 
 
 
 
49
  };
50
  }
51
  }
vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php CHANGED
@@ -1,8 +1,10 @@
1
  <?php
 
2
  namespace GuzzleHttp\Handler;
3
 
4
  use GuzzleHttp\Exception\ConnectException;
5
  use GuzzleHttp\Exception\RequestException;
 
6
  use GuzzleHttp\Promise\FulfilledPromise;
7
  use GuzzleHttp\Promise\PromiseInterface;
8
  use GuzzleHttp\Psr7;
@@ -11,12 +13,18 @@ use GuzzleHttp\Utils;
11
  use Psr\Http\Message\RequestInterface;
12
  use Psr\Http\Message\ResponseInterface;
13
  use Psr\Http\Message\StreamInterface;
 
14
 
15
  /**
16
  * HTTP handler that uses PHP's HTTP stream wrapper.
 
 
17
  */
18
  class StreamHandler
19
  {
 
 
 
20
  private $lastHeaders = [];
21
 
22
  /**
@@ -24,14 +32,12 @@ class StreamHandler
24
  *
25
  * @param RequestInterface $request Request to send.
26
  * @param array $options Request transfer options.
27
- *
28
- * @return PromiseInterface
29
  */
30
- public function __invoke(RequestInterface $request, array $options)
31
  {
32
  // Sleep if there is a delay specified.
33
  if (isset($options['delay'])) {
34
- usleep($options['delay'] * 1000);
35
  }
36
 
37
  $startTime = isset($options['on_stats']) ? Utils::currentTime() : null;
@@ -58,80 +64,80 @@ class StreamHandler
58
  // Determine if the error was a networking error.
59
  $message = $e->getMessage();
60
  // This list can probably get more comprehensive.
61
- if (strpos($message, 'getaddrinfo') // DNS lookup failed
62
- || strpos($message, 'Connection refused')
63
- || strpos($message, "couldn't connect to host") // error on HHVM
64
- || strpos($message, "connection attempt failed")
65
  ) {
66
  $e = new ConnectException($e->getMessage(), $request, $e);
 
 
67
  }
68
- $e = RequestException::wrapException($request, $e);
69
  $this->invokeStats($options, $request, $startTime, null, $e);
70
 
71
- return \GuzzleHttp\Promise\rejection_for($e);
72
  }
73
  }
74
 
75
  private function invokeStats(
76
  array $options,
77
  RequestInterface $request,
78
- $startTime,
79
  ResponseInterface $response = null,
80
- $error = null
81
- ) {
82
  if (isset($options['on_stats'])) {
83
- $stats = new TransferStats(
84
- $request,
85
- $response,
86
- Utils::currentTime() - $startTime,
87
- $error,
88
- []
89
- );
90
- call_user_func($options['on_stats'], $stats);
91
  }
92
  }
93
 
94
- private function createResponse(
95
- RequestInterface $request,
96
- array $options,
97
- $stream,
98
- $startTime
99
- ) {
100
  $hdrs = $this->lastHeaders;
101
  $this->lastHeaders = [];
102
- $parts = explode(' ', array_shift($hdrs), 3);
103
- $ver = explode('/', $parts[0])[1];
104
- $status = $parts[1];
105
- $reason = isset($parts[2]) ? $parts[2] : null;
106
- $headers = \GuzzleHttp\headers_from_lines($hdrs);
107
- list($stream, $headers) = $this->checkDecode($options, $headers, $stream);
108
- $stream = Psr7\stream_for($stream);
 
 
 
 
109
  $sink = $stream;
110
 
111
- if (strcasecmp('HEAD', $request->getMethod())) {
112
  $sink = $this->createSink($stream, $options);
113
  }
114
 
115
- $response = new Psr7\Response($status, $headers, $sink, $ver, $reason);
 
 
 
 
 
 
116
 
117
  if (isset($options['on_headers'])) {
118
  try {
119
  $options['on_headers']($response);
120
  } catch (\Exception $e) {
121
- $msg = 'An error was encountered during the on_headers event';
122
- $ex = new RequestException($msg, $request, $response, $e);
123
- return \GuzzleHttp\Promise\rejection_for($ex);
124
  }
125
  }
126
 
127
  // Do not drain when the request is a HEAD request because they have
128
  // no body.
129
  if ($sink !== $stream) {
130
- $this->drain(
131
- $stream,
132
- $sink,
133
- $response->getHeaderLine('Content-Length')
134
- );
135
  }
136
 
137
  $this->invokeStats($options, $request, $startTime, $response, null);
@@ -139,41 +145,37 @@ class StreamHandler
139
  return new FulfilledPromise($response);
140
  }
141
 
142
- private function createSink(StreamInterface $stream, array $options)
143
  {
144
  if (!empty($options['stream'])) {
145
  return $stream;
146
  }
147
 
148
- $sink = isset($options['sink'])
149
- ? $options['sink']
150
- : fopen('php://temp', 'r+');
151
 
152
- return is_string($sink)
153
- ? new Psr7\LazyOpenStream($sink, 'w+')
154
- : Psr7\stream_for($sink);
155
  }
156
 
157
- private function checkDecode(array $options, array $headers, $stream)
 
 
 
158
  {
159
  // Automatically decode responses when instructed.
160
  if (!empty($options['decode_content'])) {
161
- $normalizedKeys = \GuzzleHttp\normalize_header_keys($headers);
162
  if (isset($normalizedKeys['content-encoding'])) {
163
  $encoding = $headers[$normalizedKeys['content-encoding']];
164
  if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') {
165
- $stream = new Psr7\InflateStream(
166
- Psr7\stream_for($stream)
167
- );
168
- $headers['x-encoded-content-encoding']
169
- = $headers[$normalizedKeys['content-encoding']];
170
  // Remove content-encoding header
171
  unset($headers[$normalizedKeys['content-encoding']]);
 
172
  // Fix content-length header
173
  if (isset($normalizedKeys['content-length'])) {
174
- $headers['x-encoded-content-length']
175
- = $headers[$normalizedKeys['content-length']];
176
-
177
  $length = (int) $stream->getSize();
178
  if ($length === 0) {
179
  unset($headers[$normalizedKeys['content-length']]);
@@ -191,27 +193,21 @@ class StreamHandler
191
  /**
192
  * Drains the source stream into the "sink" client option.
193
  *
194
- * @param StreamInterface $source
195
- * @param StreamInterface $sink
196
- * @param string $contentLength Header specifying the amount of
197
- * data to read.
198
  *
199
- * @return StreamInterface
200
  * @throws \RuntimeException when the sink option is invalid.
201
  */
202
- private function drain(
203
- StreamInterface $source,
204
- StreamInterface $sink,
205
- $contentLength
206
- ) {
207
  // If a content-length header is provided, then stop reading once
208
  // that number of bytes has been read. This can prevent infinitely
209
  // reading from a stream when dealing with servers that do not honor
210
  // Connection: Close headers.
211
- Psr7\copy_to_stream(
212
  $source,
213
  $sink,
214
- (strlen($contentLength) > 0 && (int) $contentLength > 0) ? (int) $contentLength : -1
215
  );
216
 
217
  $sink->seek(0);
@@ -226,12 +222,13 @@ class StreamHandler
226
  * @param callable $callback Callable that returns stream resource
227
  *
228
  * @return resource
 
229
  * @throws \RuntimeException on error
230
  */
231
  private function createResource(callable $callback)
232
  {
233
- $errors = null;
234
- set_error_handler(function ($_, $msg, $file, $line) use (&$errors) {
235
  $errors[] = [
236
  'message' => $msg,
237
  'file' => $file,
@@ -240,27 +237,33 @@ class StreamHandler
240
  return true;
241
  });
242
 
243
- $resource = $callback();
244
- restore_error_handler();
 
 
 
245
 
246
  if (!$resource) {
247
  $message = 'Error creating resource: ';
248
  foreach ($errors as $err) {
249
  foreach ($err as $key => $value) {
250
- $message .= "[$key] $value" . PHP_EOL;
251
  }
252
  }
253
- throw new \RuntimeException(trim($message));
254
  }
255
 
256
  return $resource;
257
  }
258
 
 
 
 
259
  private function createStream(RequestInterface $request, array $options)
260
  {
261
  static $methods;
262
  if (!$methods) {
263
- $methods = array_flip(get_class_methods(__CLASS__));
264
  }
265
 
266
  // HTTP/1.1 streams using the PHP stream wrapper require a
@@ -279,7 +282,7 @@ class StreamHandler
279
  $params = [];
280
  $context = $this->getDefaultContext($request);
281
 
282
- if (isset($options['on_headers']) && !is_callable($options['on_headers'])) {
283
  throw new \InvalidArgumentException('on_headers must be callable');
284
  }
285
 
@@ -293,42 +296,39 @@ class StreamHandler
293
  }
294
 
295
  if (isset($options['stream_context'])) {
296
- if (!is_array($options['stream_context'])) {
297
  throw new \InvalidArgumentException('stream_context must be an array');
298
  }
299
- $context = array_replace_recursive(
300
- $context,
301
- $options['stream_context']
302
- );
303
  }
304
 
305
  // Microsoft NTLM authentication only supported with curl handler
306
- if (isset($options['auth'])
307
- && is_array($options['auth'])
308
- && isset($options['auth'][2])
309
- && 'ntlm' == $options['auth'][2]
310
- ) {
311
  throw new \InvalidArgumentException('Microsoft NTLM authentication only supported with curl handler');
312
  }
313
 
314
  $uri = $this->resolveHost($request, $options);
315
 
316
- $context = $this->createResource(
317
- function () use ($context, $params) {
318
- return stream_context_create($context, $params);
319
  }
320
  );
321
 
322
  return $this->createResource(
323
- function () use ($uri, &$http_response_header, $context, $options) {
324
- $resource = fopen((string) $uri, 'r', null, $context);
325
  $this->lastHeaders = $http_response_header;
326
 
 
 
 
 
327
  if (isset($options['read_timeout'])) {
328
  $readTimeout = $options['read_timeout'];
329
  $sec = (int) $readTimeout;
330
  $usec = ($readTimeout - $sec) * 100000;
331
- stream_set_timeout($resource, $sec, $usec);
332
  }
333
 
334
  return $resource;
@@ -336,42 +336,31 @@ class StreamHandler
336
  );
337
  }
338
 
339
- private function resolveHost(RequestInterface $request, array $options)
340
  {
341
  $uri = $request->getUri();
342
 
343
- if (isset($options['force_ip_resolve']) && !filter_var($uri->getHost(), FILTER_VALIDATE_IP)) {
344
  if ('v4' === $options['force_ip_resolve']) {
345
- $records = dns_get_record($uri->getHost(), DNS_A);
346
- if (!isset($records[0]['ip'])) {
347
- throw new ConnectException(
348
- sprintf(
349
- "Could not resolve IPv4 address for host '%s'",
350
- $uri->getHost()
351
- ),
352
- $request
353
- );
354
  }
355
- $uri = $uri->withHost($records[0]['ip']);
356
- } elseif ('v6' === $options['force_ip_resolve']) {
357
- $records = dns_get_record($uri->getHost(), DNS_AAAA);
358
- if (!isset($records[0]['ipv6'])) {
359
- throw new ConnectException(
360
- sprintf(
361
- "Could not resolve IPv6 address for host '%s'",
362
- $uri->getHost()
363
- ),
364
- $request
365
- );
366
  }
367
- $uri = $uri->withHost('[' . $records[0]['ipv6'] . ']');
368
  }
369
  }
370
 
371
  return $uri;
372
  }
373
 
374
- private function getDefaultContext(RequestInterface $request)
375
  {
376
  $headers = '';
377
  foreach ($request->getHeaders() as $name => $value) {
@@ -400,55 +389,100 @@ class StreamHandler
400
  }
401
  }
402
 
403
- $context['http']['header'] = rtrim($context['http']['header']);
404
 
405
  return $context;
406
  }
407
 
408
- private function add_proxy(RequestInterface $request, &$options, $value, &$params)
 
 
 
409
  {
410
- if (!is_array($value)) {
411
- $options['http']['proxy'] = $value;
 
 
412
  } else {
413
  $scheme = $request->getUri()->getScheme();
414
  if (isset($value[$scheme])) {
415
- if (!isset($value['no'])
416
- || !\GuzzleHttp\is_host_in_noproxy(
417
- $request->getUri()->getHost(),
418
- $value['no']
419
- )
420
- ) {
421
- $options['http']['proxy'] = $value[$scheme];
422
  }
423
  }
424
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
425
  }
426
 
427
- private function add_timeout(RequestInterface $request, &$options, $value, &$params)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
428
  {
429
  if ($value > 0) {
430
  $options['http']['timeout'] = $value;
431
  }
432
  }
433
 
434
- private function add_verify(RequestInterface $request, &$options, $value, &$params)
 
 
 
435
  {
436
- if ($value === true) {
437
- // PHP 5.6 or greater will find the system cert by default. When
438
- // < 5.6, use the Guzzle bundled cacert.
439
- if (PHP_VERSION_ID < 50600) {
440
- $options['ssl']['cafile'] = \GuzzleHttp\default_ca_bundle();
441
- }
442
- } elseif (is_string($value)) {
443
- $options['ssl']['cafile'] = $value;
444
- if (!file_exists($value)) {
445
- throw new \RuntimeException("SSL CA bundle not found: $value");
446
- }
447
- } elseif ($value === false) {
448
  $options['ssl']['verify_peer'] = false;
449
  $options['ssl']['verify_peer_name'] = false;
 
450
  return;
451
- } else {
 
 
 
 
 
 
 
452
  throw new \InvalidArgumentException('Invalid verify request option');
453
  }
454
 
@@ -457,88 +491,95 @@ class StreamHandler
457
  $options['ssl']['allow_self_signed'] = false;
458
  }
459
 
460
- private function add_cert(RequestInterface $request, &$options, $value, &$params)
 
 
 
461
  {
462
- if (is_array($value)) {
463
  $options['ssl']['passphrase'] = $value[1];
464
  $value = $value[0];
465
  }
466
 
467
- if (!file_exists($value)) {
468
  throw new \RuntimeException("SSL certificate not found: {$value}");
469
  }
470
 
471
  $options['ssl']['local_cert'] = $value;
472
  }
473
 
474
- private function add_progress(RequestInterface $request, &$options, $value, &$params)
 
 
 
475
  {
476
- $this->addNotification(
477
  $params,
478
- function ($code, $a, $b, $c, $transferred, $total) use ($value) {
479
- if ($code == STREAM_NOTIFY_PROGRESS) {
480
- $value($total, $transferred, null, null);
 
 
481
  }
482
  }
483
  );
484
  }
485
 
486
- private function add_debug(RequestInterface $request, &$options, $value, &$params)
 
 
 
487
  {
488
  if ($value === false) {
489
  return;
490
  }
491
 
492
  static $map = [
493
- STREAM_NOTIFY_CONNECT => 'CONNECT',
494
- STREAM_NOTIFY_AUTH_REQUIRED => 'AUTH_REQUIRED',
495
- STREAM_NOTIFY_AUTH_RESULT => 'AUTH_RESULT',
496
- STREAM_NOTIFY_MIME_TYPE_IS => 'MIME_TYPE_IS',
497
- STREAM_NOTIFY_FILE_SIZE_IS => 'FILE_SIZE_IS',
498
- STREAM_NOTIFY_REDIRECTED => 'REDIRECTED',
499
- STREAM_NOTIFY_PROGRESS => 'PROGRESS',
500
- STREAM_NOTIFY_FAILURE => 'FAILURE',
501
- STREAM_NOTIFY_COMPLETED
1
  <?php
2
+
3
  namespace GuzzleHttp\Handler;
4
 
5
  use GuzzleHttp\Exception\ConnectException;
6
  use GuzzleHttp\Exception\RequestException;
7
+ use GuzzleHttp\Promise as P;
8
  use GuzzleHttp\Promise\FulfilledPromise;
9
  use GuzzleHttp\Promise\PromiseInterface;
10
  use GuzzleHttp\Psr7;
13
  use Psr\Http\Message\RequestInterface;
14
  use Psr\Http\Message\ResponseInterface;
15
  use Psr\Http\Message\StreamInterface;
16
+ use Psr\Http\Message\UriInterface;
17
 
18
  /**
19
  * HTTP handler that uses PHP's HTTP stream wrapper.
20
+ *
21
+ * @final
22
  */
23
  class StreamHandler
24
  {
25
+ /**
26
+ * @var array
27
+ */
28
  private $lastHeaders = [];
29
 
30
  /**
32
  *
33
  * @param RequestInterface $request Request to send.
34
  * @param array $options Request transfer options.
 
 
35
  */
36
+ public function __invoke(RequestInterface $request, array $options): PromiseInterface
37
  {
38
  // Sleep if there is a delay specified.
39
  if (isset($options['delay'])) {
40
+ \usleep($options['delay'] * 1000);
41
  }
42
 
43
  $startTime = isset($options['on_stats']) ? Utils::currentTime() : null;
64
  // Determine if the error was a networking error.
65
  $message = $e->getMessage();
66
  // This list can probably get more comprehensive.
67
+ if (false !== \strpos($message, 'getaddrinfo') // DNS lookup failed
68
+ || false !== \strpos($message, 'Connection refused')
69
+ || false !== \strpos($message, "couldn't connect to host") // error on HHVM
70
+ || false !== \strpos($message, "connection attempt failed")
71
  ) {
72
  $e = new ConnectException($e->getMessage(), $request, $e);
73
+ } else {
74
+ $e = RequestException::wrapException($request, $e);
75
  }
 
76
  $this->invokeStats($options, $request, $startTime, null, $e);
77
 
78
+ return P\Create::rejectionFor($e);
79
  }
80
  }
81
 
82
  private function invokeStats(
83
  array $options,
84
  RequestInterface $request,
85
+ ?float $startTime,
86
  ResponseInterface $response = null,
87
+ \Throwable $error = null
88
+ ): void {
89
  if (isset($options['on_stats'])) {
90
+ $stats = new TransferStats($request, $response, Utils::currentTime() - $startTime, $error, []);
91
+ ($options['on_stats'])($stats);
 
 
 
 
 
 
92
  }
93
  }
94
 
95
+ /**
96
+ * @param resource $stream
97
+ */
98
+ private function createResponse(RequestInterface $request, array $options, $stream, ?float $startTime): PromiseInterface
99
+ {
 
100
  $hdrs = $this->lastHeaders;
101
  $this->lastHeaders = [];
102
+
103
+ try {
104
+ [$ver, $status, $reason, $headers] = HeaderProcessor::parseHeaders($hdrs);
105
+ } catch (\Exception $e) {
106
+ return P\Create::rejectionFor(
107
+ new RequestException('An error was encountered while creating the response', $request, null, $e)
108
+ );
109
+ }
110
+
111
+ [$stream, $headers] = $this->checkDecode($options, $headers, $stream);
112
+ $stream = Psr7\Utils::streamFor($stream);
113
  $sink = $stream;
114
 
115
+ if (\strcasecmp('HEAD', $request->getMethod())) {
116
  $sink = $this->createSink($stream, $options);
117
  }
118
 
119
+ try {
120
+ $response = new Psr7\Response($status, $headers, $sink, $ver, $reason);
121
+ } catch (\Exception $e) {
122
+ return P\Create::rejectionFor(
123
+ new RequestException('An error was encountered while creating the response', $request, null, $e)
124
+ );
125
+ }
126
 
127
  if (isset($options['on_headers'])) {
128
  try {
129
  $options['on_headers']($response);
130
  } catch (\Exception $e) {
131
+ return P\Create::rejectionFor(
132
+ new RequestException('An error was encountered during the on_headers event', $request, $response, $e)
133
+ );
134
  }
135
  }
136
 
137
  // Do not drain when the request is a HEAD request because they have
138
  // no body.
139
  if ($sink !== $stream) {
140
+ $this->drain($stream, $sink, $response->getHeaderLine('Content-Length'));
 
 
 
 
141
  }
142
 
143
  $this->invokeStats($options, $request, $startTime, $response, null);
145
  return new FulfilledPromise($response);
146
  }
147
 
148
+ private function createSink(StreamInterface $stream, array $options): StreamInterface
149
  {
150
  if (!empty($options['stream'])) {
151
  return $stream;
152
  }
153
 
154
+ $sink = $options['sink'] ?? Psr7\Utils::tryFopen('php://temp', 'r+');
 
 
155
 
156
+ return \is_string($sink) ? new Psr7\LazyOpenStream($sink, 'w+') : Psr7\Utils::streamFor($sink);
 
 
157
  }
158
 
159
+ /**
160
+ * @param resource $stream
161
+ */
162
+ private function checkDecode(array $options, array $headers, $stream): array
163
  {
164
  // Automatically decode responses when instructed.
165
  if (!empty($options['decode_content'])) {
166
+ $normalizedKeys = Utils::normalizeHeaderKeys($headers);
167
  if (isset($normalizedKeys['content-encoding'])) {
168
  $encoding = $headers[$normalizedKeys['content-encoding']];
169
  if ($encoding[0] === 'gzip' || $encoding[0] === 'deflate') {
170
+ $stream = new Psr7\InflateStream(Psr7\Utils::streamFor($stream));
171
+ $headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']];
172
+
 
 
173
  // Remove content-encoding header
174
  unset($headers[$normalizedKeys['content-encoding']]);
175
+
176
  // Fix content-length header
177
  if (isset($normalizedKeys['content-length'])) {
178
+ $headers['x-encoded-content-length'] = $headers[$normalizedKeys['content-length']];
 
 
179
  $length = (int) $stream->getSize();
180
  if ($length === 0) {
181
  unset($headers[$normalizedKeys['content-length']]);
193
  /**
194
  * Drains the source stream into the "sink" client option.
195
  *
196
+ * @param string $contentLength Header specifying the amount of
197
+ * data to read.
 
 
198
  *
 
199
  * @throws \RuntimeException when the sink option is invalid.
200
  */
201
+ private function drain(StreamInterface $source, StreamInterface $sink, string $contentLength): StreamInterface
202
+ {
 
 
 
203
  // If a content-length header is provided, then stop reading once
204
  // that number of bytes has been read. This can prevent infinitely
205
  // reading from a stream when dealing with servers that do not honor
206
  // Connection: Close headers.
207
+ Psr7\Utils::copyToStream(
208
  $source,
209
  $sink,
210
+ (\strlen($contentLength) > 0 && (int) $contentLength > 0) ? (int) $contentLength : -1
211
  );
212
 
213
  $sink->seek(0);
222
  * @param callable $callback Callable that returns stream resource
223
  *
224
  * @return resource
225
+ *
226
  * @throws \RuntimeException on error
227
  */
228
  private function createResource(callable $callback)
229
  {
230
+ $errors = [];
231
+ \set_error_handler(static function ($_, $msg, $file, $line) use (&$errors): bool {
232
  $errors[] = [
233
  'message' => $msg,
234
  'file' => $file,
237
  return true;
238
  });
239
 
240
+ try {
241
+ $resource = $callback();
242
+ } finally {
243
+ \restore_error_handler();
244
+ }
245
 
246
  if (!$resource) {
247
  $message = 'Error creating resource: ';
248
  foreach ($errors as $err) {
249
  foreach ($err as $key => $value) {
250
+ $message .= "[$key] $value" . \PHP_EOL;
251
  }
252
  }
253
+ throw new \RuntimeException(\trim($message));
254
  }
255
 
256
  return $resource;
257
  }
258
 
259
+ /**
260
+ * @return resource
261
+ */
262
  private function createStream(RequestInterface $request, array $options)
263
  {
264
  static $methods;
265
  if (!$methods) {
266
+ $methods = \array_flip(\get_class_methods(__CLASS__));
267
  }
268
 
269
  // HTTP/1.1 streams using the PHP stream wrapper require a
282
  $params = [];
283
  $context = $this->getDefaultContext($request);
284
 
285
+ if (isset($options['on_headers']) && !\is_callable($options['on_headers'])) {
286
  throw new \InvalidArgumentException('on_headers must be callable');
287
  }
288
 
296
  }
297
 
298
  if (isset($options['stream_context'])) {
299
+ if (!\is_array($options['stream_context'])) {
300
  throw new \InvalidArgumentException('stream_context must be an array');
301
  }
302
+ $context = \array_replace_recursive($context, $options['stream_context']);
 
 
 
303
  }
304
 
305
  // Microsoft NTLM authentication only supported with curl handler
306
+ if (isset($options['auth'][2]) && 'ntlm' === $options['auth'][2]) {
 
 
 
 
307
  throw new \InvalidArgumentException('Microsoft NTLM authentication only supported with curl handler');
308
  }
309
 
310
  $uri = $this->resolveHost($request, $options);
311
 
312
+ $contextResource = $this->createResource(
313
+ static function () use ($context, $params) {
314
+ return \stream_context_create($context, $params);
315
  }
316
  );
317
 
318
  return $this->createResource(
319
+ function () use ($uri, &$http_response_header, $contextResource, $context, $options, $request) {
320
+ $resource = @\fopen((string) $uri, 'r', false, $contextResource);
321
  $this->lastHeaders = $http_response_header;
322
 
323
+ if (false === $resource) {
324
+ throw new ConnectException(sprintf('Connection refused for URI %s', $uri), $request, null, $context);
325
+ }
326
+
327
  if (isset($options['read_timeout'])) {
328
  $readTimeout = $options['read_timeout'];
329
  $sec = (int) $readTimeout;
330
  $usec = ($readTimeout - $sec) * 100000;
331
+ \stream_set_timeout($resource, $sec, $usec);
332
  }
333
 
334
  return $resource;
336
  );
337
  }
338
 
339
+ private function resolveHost(RequestInterface $request, array $options): UriInterface
340
  {
341
  $uri = $request->getUri();
342
 
343
+ if (isset($options['force_ip_resolve']) && !\filter_var($uri->getHost(), \FILTER_VALIDATE_IP)) {
344
  if ('v4' === $options['force_ip_resolve']) {
345
+ $records = \dns_get_record($uri->getHost(), \DNS_A);
346
+ if (false === $records || !isset($records[0]['ip'])) {
347
+ throw new ConnectException(\sprintf("Could not resolve IPv4 address for host '%s'", $uri->getHost()), $request);
 
 
 
 
 
 
348
  }
349
+ return $uri->withHost($records[0]['ip']);
350
+ }
351
+ if ('v6' === $options['force_ip_resolve']) {
352
+ $records = \dns_get_record($uri->getHost(), \DNS_AAAA);
353
+ if (false === $records || !isset($records[0]['ipv6'])) {
354
+ throw new ConnectException(\sprintf("Could not resolve IPv6 address for host '%s'", $uri->getHost()), $request);
 
 
 
 
 
355
  }
356
+ return $uri->withHost('[' . $records[0]['ipv6'] . ']');
357
  }
358
  }
359
 
360
  return $uri;
361
  }
362
 
363
+ private function getDefaultContext(RequestInterface $request): array
364
  {
365
  $headers = '';
366
  foreach ($request->getHeaders() as $name => $value) {
389
  }
390
  }
391
 
392
+ $context['http']['header'] = \rtrim($context['http']['header']);
393
 
394
  return $context;
395
  }
396
 
397
+ /**
398
+ * @param mixed $value as passed via Request transfer options.
399
+ */
400
+ private function add_proxy(RequestInterface $request, array &$options, $value, array &$params): void
401
  {
402
+ $uri = null;
403
+
404
+ if (!\is_array($value)) {
405
+ $uri = $value;
406
  } else {
407
  $scheme = $request->getUri()->getScheme();
408
  if (isset($value[$scheme])) {
409
+ if (!isset($value['no']) || !Utils::isHostInNoProxy($request->getUri()->getHost(), $value['no'])) {
410
+ $uri = $value[$scheme];
 
 
 
 
 
411
  }
412
  }
413
  }
414
+
415
+ if (!$uri) {
416
+ return;
417
+ }
418
+
419
+ $parsed = $this->parse_proxy($uri);
420
+ $options['http']['proxy'] = $parsed['proxy'];
421
+
422
+ if ($parsed['auth']) {
423
+ if (!isset($options['http']['header'])) {
424
+ $options['http']['header'] = [];
425
+ }
426
+ $options['http']['header'] .= "\r\nProxy-Authorization: {$parsed['auth']}";
427
+ }
428
  }
429
 
430
+ /**
431
+ * Parses the given proxy URL to make it compatible with the format PHP's stream context expects.
432
+ */
433
+ private function parse_proxy(string $url): array
434
+ {
435
+ $parsed = \parse_url($url);
436
+
437
+ if ($parsed !== false && isset($parsed['scheme']) && $parsed['scheme'] === 'http') {
438
+ if (isset($parsed['host']) && isset($parsed['port'])) {
439
+ $auth = null;
440
+ if (isset($parsed['user']) && isset($parsed['pass'])) {
441
+ $auth = \base64_encode("{$parsed['user']}:{$parsed['pass']}");
442
+ }
443
+
444
+ return [
445
+ 'proxy' => "tcp://{$parsed['host']}:{$parsed['port']}",
446
+ 'auth' => $auth ? "Basic {$auth}" : null,
447
+ ];
448
+ }
449
+ }
450
+
451
+ // Return proxy as-is.
452
+ return [
453
+ 'proxy' => $url,
454
+ 'auth' => null,
455
+ ];
456
+ }
457
+
458
+ /**
459
+ * @param mixed $value as passed via Request transfer options.
460
+ */
461
+ private function add_timeout(RequestInterface $request, array &$options, $value, array &$params): void
462
  {
463
  if ($value > 0) {
464
  $options['http']['timeout'] = $value;
465
  }
466
  }
467
 
468
+ /**
469
+ * @param mixed $value as passed via Request transfer options.
470
+ */
471
+ private function add_verify(RequestInterface $request, array &$options, $value, array &$params): void
472
  {
473
+ if ($value === false) {
 
 
 
 
 
 
 
 
 
 
 
474
  $options['ssl']['verify_peer'] = false;
475
  $options['ssl']['verify_peer_name'] = false;
476
+
477
  return;
478
+ }
479
+
480
+ if (\is_string($value)) {
481
+ $options['ssl']['cafile'] = $value;
482
+ if (!\file_exists($value)) {
483
+ throw new \RuntimeException("SSL CA bundle not found: $value");
484
+ }
485
+ } elseif ($value !== true) {
486
  throw new \InvalidArgumentException('Invalid verify request option');
487
  }
488
 
491
  $options['ssl']['allow_self_signed'] = false;
492
  }
493
 
494
+ /**
495
+ * @param mixed $value as passed via Request transfer options.
496
+ */
497
+ private function add_cert(RequestInterface $request, array &$options, $value, array &$params): void
498
  {
499
+ if (\is_array($value)) {
500
  $options['ssl']['passphrase'] = $value[1];
501
  $value = $value[0];
502
  }
503
 
504
+ if (!\file_exists($value)) {
505
  throw new \RuntimeException("SSL certificate not found: {$value}");
506
  }
507
 
508
  $options['ssl']['local_cert'] = $value;
509
  }
510
 
511
+ /**
512
+ * @param mixed $value as passed via Request transfer options.
513
+ */
514
+ private function add_progress(RequestInterface $request, array &$options, $value, array &$params): void
515
  {
516
+ self::addNotification(
517
  $params,
518
+ static function ($code, $a, $b, $c, $transferred, $total) use ($value) {
519
+ if ($code == \STREAM_NOTIFY_PROGRESS) {
520
+ // The upload progress cannot be determined. Use 0 for cURL compatibility:
521
+ // https://curl.se/libcurl/c/CURLOPT_PROGRESSFUNCTION.html
522
+ $value($total, $transferred, 0, 0);
523
  }
524
  }
525
  );
526
  }
527
 
528
+ /**
529
+ * @param mixed $value as passed via Request transfer options.
530
+ */
531
+ private function add_debug(RequestInterface $request, array &$options, $value, array &$params): void
532
  {
533
  if ($value === false) {
534
  return;
535
  }
536
 
537
  static $map = [