Parcourir la source

Merge branch 'master' of http://git.bjzxtw.org.cn:3000/zxt/news_producer

LiuJ il y a 1 mois
Parent
commit
a8e418baa0
100 fichiers modifiés avec 3428 ajouts et 1266 suppressions
  1. 3 0
      .gitignore
  2. 1183 21
      app/JsonRpc/NewsService.php
  3. 17 0
      app/JsonRpc/NewsServiceInterface.php
  4. 22 0
      app/Model/Character.php
  5. 22 0
      app/Model/Couplet.php
  6. 22 0
      app/Model/Festival.php
  7. 22 0
      app/Model/HistoryToday.php
  8. 22 0
      app/Model/Idiom.php
  9. 22 0
      app/Model/Riddle.php
  10. 327 168
      composer.lock
  11. 0 0
      runtime/container/classes.cache
  12. 0 0
      runtime/container/scan.cache
  13. 1 1
      runtime/hyperf.pid
  14. 57 12
      vendor/composer/autoload_classmap.php
  15. 2 0
      vendor/composer/autoload_files.php
  16. 4 0
      vendor/composer/autoload_psr4.php
  17. 61 16
      vendor/composer/autoload_static.php
  18. 315 192
      vendor/composer/installed.json
  19. 244 242
      vendor/composer/installed.php
  20. 9 1
      vendor/composer/pcre/README.md
  21. 13 5
      vendor/composer/pcre/composer.json
  22. 1 6
      vendor/composer/pcre/src/PcreException.php
  23. 2 0
      vendor/composer/pcre/src/Regex.php
  24. 10 0
      vendor/composer/semver/CHANGELOG.md
  25. 0 11
      vendor/composer/semver/phpstan-baseline.neon
  26. 5 0
      vendor/composer/semver/src/VersionParser.php
  27. 2 11
      vendor/composer/xdebug-handler/CHANGELOG.md
  28. 4 11
      vendor/composer/xdebug-handler/README.md
  29. 4 4
      vendor/composer/xdebug-handler/composer.json
  30. 0 1
      vendor/composer/xdebug-handler/src/Process.php
  31. 8 27
      vendor/composer/xdebug-handler/src/Status.php
  32. 49 103
      vendor/composer/xdebug-handler/src/XdebugHandler.php
  33. 122 0
      vendor/friendsofphp/php-cs-fixer/CHANGELOG.md
  34. 14 7
      vendor/friendsofphp/php-cs-fixer/composer.json
  35. 12 10
      vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php
  36. 1 90
      vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php
  37. 14 0
      vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocToTypeDeclarationFixer.php
  38. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php
  39. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php
  40. 1 1
      vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php
  41. 7 7
      vendor/friendsofphp/php-cs-fixer/src/Console/Application.php
  42. 28 20
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php
  43. 8 8
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php
  44. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListSetsCommand.php
  45. 7 7
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php
  46. 2 2
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/WorkerCommand.php
  47. 16 16
      vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php
  48. 9 9
      vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php
  49. 4 4
      vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/DotsOutput.php
  50. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/ProgressOutputFactory.php
  51. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/JunitReporter.php
  52. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/ReporterFactory.php
  53. 4 4
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/TextReporter.php
  54. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/ReporterFactory.php
  55. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/TextReporter.php
  56. 2 2
      vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClient.php
  57. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/WarningsDetector.php
  58. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Differ/DiffConsoleFormatter.php
  59. 7 4
      vendor/friendsofphp/php-cs-fixer/src/DocBlock/Annotation.php
  60. 22 6
      vendor/friendsofphp/php-cs-fixer/src/DocBlock/TypeExpression.php
  61. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/DocLexer.php
  62. 2 2
      vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Tokens.php
  63. 5 5
      vendor/friendsofphp/php-cs-fixer/src/Documentation/FixerDocumentGenerator.php
  64. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Documentation/RuleSetDocumentationGenerator.php
  65. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Error/SourceExceptionFactory.php
  66. 1 1
      vendor/friendsofphp/php-cs-fixer/src/FileReader.php
  67. 48 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractPhpUnitFixer.php
  68. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractShortOperatorFixer.php
  69. 33 18
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoAliasFunctionsFixer.php
  70. 18 7
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoMixedEchoPrintFixer.php
  71. 15 15
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/RandomApiMigrationFixer.php
  72. 1 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/SetTypeToCastFixer.php
  73. 18 7
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/ArraySyntaxFixer.php
  74. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoWhitespaceBeforeCommaInArrayFixer.php
  75. 6 2
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NormalizeIndexBraceFixer.php
  76. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/WhitespaceAfterCommaInArrayFixer.php
  77. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/AttributeEmptyParenthesesFixer.php
  78. 16 1
      vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/OrderedAttributesFixer.php
  79. 25 3
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesFixer.php
  80. 61 34
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesPositionFixer.php
  81. 33 7
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/CurlyBracesPositionFixer.php
  82. 14 1
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NoTrailingCommaInSinglelineFixer.php
  83. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NonPrintableCharacterFixer.php
  84. 15 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NumericLiteralSeparatorFixer.php
  85. 28 17
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/PsrAutoloadingFixer.php
  86. 24 13
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/ConstantCaseFixer.php
  87. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/CastSpacesFixer.php
  88. 26 15
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassAttributesSeparationFixer.php
  89. 21 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassDefinitionFixer.php
  90. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalClassFixer.php
  91. 32 14
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalInternalClassFixer.php
  92. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoUnneededFinalMethodFixer.php
  93. 60 45
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedClassElementsFixer.php
  94. 17 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedInterfacesFixer.php
  95. 14 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedTraitsFixer.php
  96. 17 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedTypesFixer.php
  97. 2 2
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ProtectedToPrivateFixer.php
  98. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SingleClassElementPerStatementFixer.php
  99. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/VisibilityRequiredFixer.php
  100. 14 3
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/CommentToPhpdocFixer.php

+ 3 - 0
.gitignore

@@ -6,6 +6,9 @@ bin-release/
 
 # Other files and folders
 .settings/
+public
+vendor
+
 
 # Executables
 *.swf

Fichier diff supprimé car celui-ci est trop grand
+ 1183 - 21
app/JsonRpc/NewsService.php


+ 17 - 0
app/JsonRpc/NewsServiceInterface.php

@@ -379,4 +379,21 @@ interface NewsServiceInterface
      * @return array
      */
     public function getWebsiteJobSelect(array $data):array;
+
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteTsbb(array $data):array;
+    /**
+     *  @param array $data
+     *  @return array
+     */
+    public function getWebsiteTsbbList(array $data):array;
+    /**
+     *      @param array $data
+     *      @return array
+     */
+    public function getWebsiteTsbbDetail(array $data):array;
+    public function getWebsiteLevelJob(array $data):array;
 }

+ 22 - 0
app/Model/Character.php

@@ -0,0 +1,22 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class Character extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'character';
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

+ 22 - 0
app/Model/Couplet.php

@@ -0,0 +1,22 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class Couplet extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'couplet';
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

+ 22 - 0
app/Model/Festival.php

@@ -0,0 +1,22 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class Festival extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'festival';
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

+ 22 - 0
app/Model/HistoryToday.php

@@ -0,0 +1,22 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class HistoryToday extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'history_today';
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

+ 22 - 0
app/Model/Idiom.php

@@ -0,0 +1,22 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class Idiom extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'idiom';
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

+ 22 - 0
app/Model/Riddle.php

@@ -0,0 +1,22 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class Riddle extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'riddle';
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

Fichier diff supprimé car celui-ci est trop grand
+ 327 - 168
composer.lock


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
runtime/container/classes.cache


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
runtime/container/scan.cache


+ 1 - 1
runtime/hyperf.pid

@@ -1 +1 @@
-83871
+61331

+ 57 - 12
vendor/composer/autoload_classmap.php

@@ -20,11 +20,16 @@ return array(
     'App\\Model\\ArticleSurvey' => $baseDir . '/app/Model/ArticleSurvey.php',
     'App\\Model\\Book' => $baseDir . '/app/Model/Book.php',
     'App\\Model\\Category' => $baseDir . '/app/Model/Category.php',
+    'App\\Model\\Character' => $baseDir . '/app/Model/Character.php',
     'App\\Model\\ChatGroups' => $baseDir . '/app/Model/ChatGroups.php',
     'App\\Model\\ChatGroupsMember' => $baseDir . '/app/Model/ChatGroupsMember.php',
     'App\\Model\\ChatRecords' => $baseDir . '/app/Model/ChatRecords.php',
+    'App\\Model\\Couplet' => $baseDir . '/app/Model/Couplet.php',
     'App\\Model\\District' => $baseDir . '/app/Model/District.php',
+    'App\\Model\\Festival' => $baseDir . '/app/Model/Festival.php',
     'App\\Model\\Good' => $baseDir . '/app/Model/Good.php',
+    'App\\Model\\HistoryToday' => $baseDir . '/app/Model/HistoryToday.php',
+    'App\\Model\\Idiom' => $baseDir . '/app/Model/Idiom.php',
     'App\\Model\\JobApply' => $baseDir . '/app/Model/JobApply.php',
     'App\\Model\\JobCompany' => $baseDir . '/app/Model/JobCompany.php',
     'App\\Model\\JobEnum' => $baseDir . '/app/Model/JobEnum.php',
@@ -37,6 +42,7 @@ return array(
     'App\\Model\\Link' => $baseDir . '/app/Model/Link.php',
     'App\\Model\\Model' => $baseDir . '/app/Model/Model.php',
     'App\\Model\\Notice' => $baseDir . '/app/Model/Notice.php',
+    'App\\Model\\Riddle' => $baseDir . '/app/Model/Riddle.php',
     'App\\Model\\User' => $baseDir . '/app/Model/User.php',
     'App\\Model\\UserInfo' => $baseDir . '/app/Model/UserInfo.php',
     'App\\Model\\Web' => $baseDir . '/app/Model/Web.php',
@@ -157,6 +163,12 @@ return array(
     'Composer\\Pcre\\MatchResult' => $vendorDir . '/composer/pcre/src/MatchResult.php',
     'Composer\\Pcre\\MatchStrictGroupsResult' => $vendorDir . '/composer/pcre/src/MatchStrictGroupsResult.php',
     'Composer\\Pcre\\MatchWithOffsetsResult' => $vendorDir . '/composer/pcre/src/MatchWithOffsetsResult.php',
+    'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => $vendorDir . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchFlags' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchFlags.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php',
+    'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php',
+    'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => $vendorDir . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php',
     'Composer\\Pcre\\PcreException' => $vendorDir . '/composer/pcre/src/PcreException.php',
     'Composer\\Pcre\\Preg' => $vendorDir . '/composer/pcre/src/Preg.php',
     'Composer\\Pcre\\Regex' => $vendorDir . '/composer/pcre/src/Regex.php',
@@ -205,6 +217,7 @@ return array(
     'DeepCopy\\Matcher\\PropertyTypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
     'DeepCopy\\Reflection\\ReflectionHelper' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
     'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
+    'DeepCopy\\TypeFilter\\Date\\DatePeriodFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php',
     'DeepCopy\\TypeFilter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
     'DeepCopy\\TypeFilter\\ShallowCopyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
     'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
@@ -597,6 +610,7 @@ return array(
     'Hyperf\\Command\\Concerns\\HasParameters' => $vendorDir . '/hyperf/command/src/Concerns/HasParameters.php',
     'Hyperf\\Command\\Concerns\\InteractsWithIO' => $vendorDir . '/hyperf/command/src/Concerns/InteractsWithIO.php',
     'Hyperf\\Command\\Concerns\\NullDisableEventDispatcher' => $vendorDir . '/hyperf/command/src/Concerns/NullDisableEventDispatcher.php',
+    'Hyperf\\Command\\Concerns\\Prohibitable' => $vendorDir . '/hyperf/command/src/Concerns/Prohibitable.php',
     'Hyperf\\Command\\ConfigProvider' => $vendorDir . '/hyperf/command/src/ConfigProvider.php',
     'Hyperf\\Command\\Console' => $vendorDir . '/hyperf/command/src/Console.php',
     'Hyperf\\Command\\Event\\AfterExecute' => $vendorDir . '/hyperf/command/src/Event/AfterExecute.php',
@@ -673,6 +687,7 @@ return array(
     'Hyperf\\Context\\Traits\\CoroutineProxy' => $vendorDir . '/hyperf/context/src/Traits/CoroutineProxy.php',
     'Hyperf\\Contract\\ApplicationInterface' => $vendorDir . '/hyperf/contract/src/ApplicationInterface.php',
     'Hyperf\\Contract\\Arrayable' => $vendorDir . '/hyperf/contract/src/Arrayable.php',
+    'Hyperf\\Contract\\CanBeEscapedWhenCastToString' => $vendorDir . '/hyperf/contract/src/CanBeEscapedWhenCastToString.php',
     'Hyperf\\Contract\\Castable' => $vendorDir . '/hyperf/contract/src/Castable.php',
     'Hyperf\\Contract\\CastsAttributes' => $vendorDir . '/hyperf/contract/src/CastsAttributes.php',
     'Hyperf\\Contract\\CastsInboundAttributes' => $vendorDir . '/hyperf/contract/src/CastsInboundAttributes.php',
@@ -729,7 +744,9 @@ return array(
     'Hyperf\\Coroutine\\Exception\\TimeoutException' => $vendorDir . '/hyperf/coroutine/src/Exception/TimeoutException.php',
     'Hyperf\\Coroutine\\Exception\\WaitTimeoutException' => $vendorDir . '/hyperf/coroutine/src/Exception/WaitTimeoutException.php',
     'Hyperf\\Coroutine\\Locker' => $vendorDir . '/hyperf/coroutine/src/Locker.php',
+    'Hyperf\\Coroutine\\Mutex' => $vendorDir . '/hyperf/coroutine/src/Mutex.php',
     'Hyperf\\Coroutine\\Parallel' => $vendorDir . '/hyperf/coroutine/src/Parallel.php',
+    'Hyperf\\Coroutine\\WaitConcurrent' => $vendorDir . '/hyperf/coroutine/src/WaitConcurrent.php',
     'Hyperf\\Coroutine\\WaitGroup' => $vendorDir . '/hyperf/coroutine/src/WaitGroup.php',
     'Hyperf\\Coroutine\\Waiter' => $vendorDir . '/hyperf/coroutine/src/Waiter.php',
     'Hyperf\\Database\\Commands\\Annotations\\RewriteReturnType' => $vendorDir . '/hyperf/database/src/Commands/Annotations/RewriteReturnType.php',
@@ -781,10 +798,15 @@ return array(
     'Hyperf\\Database\\Events\\TransactionBeginning' => $vendorDir . '/hyperf/database/src/Events/TransactionBeginning.php',
     'Hyperf\\Database\\Events\\TransactionCommitted' => $vendorDir . '/hyperf/database/src/Events/TransactionCommitted.php',
     'Hyperf\\Database\\Events\\TransactionRolledBack' => $vendorDir . '/hyperf/database/src/Events/TransactionRolledBack.php',
+    'Hyperf\\Database\\Exception\\ClassMorphViolationException' => $vendorDir . '/hyperf/database/src/Exception/ClassMorphViolationException.php',
     'Hyperf\\Database\\Exception\\InvalidArgumentException' => $vendorDir . '/hyperf/database/src/Exception/InvalidArgumentException.php',
     'Hyperf\\Database\\Exception\\InvalidBindingException' => $vendorDir . '/hyperf/database/src/Exception/InvalidBindingException.php',
     'Hyperf\\Database\\Exception\\InvalidCastException' => $vendorDir . '/hyperf/database/src/Exception/InvalidCastException.php',
+    'Hyperf\\Database\\Exception\\MultipleColumnsSelectedException' => $vendorDir . '/hyperf/database/src/Exception/MultipleColumnsSelectedException.php',
+    'Hyperf\\Database\\Exception\\MultipleRecordsFoundException' => $vendorDir . '/hyperf/database/src/Exception/MultipleRecordsFoundException.php',
     'Hyperf\\Database\\Exception\\QueryException' => $vendorDir . '/hyperf/database/src/Exception/QueryException.php',
+    'Hyperf\\Database\\Exception\\RecordsNotFoundException' => $vendorDir . '/hyperf/database/src/Exception/RecordsNotFoundException.php',
+    'Hyperf\\Database\\Exception\\UniqueConstraintViolationException' => $vendorDir . '/hyperf/database/src/Exception/UniqueConstraintViolationException.php',
     'Hyperf\\Database\\Grammar' => $vendorDir . '/hyperf/database/src/Grammar.php',
     'Hyperf\\Database\\Migrations\\DatabaseMigrationRepository' => $vendorDir . '/hyperf/database/src/Migrations/DatabaseMigrationRepository.php',
     'Hyperf\\Database\\Migrations\\Migration' => $vendorDir . '/hyperf/database/src/Migrations/Migration.php',
@@ -1024,10 +1046,12 @@ return array(
     'Hyperf\\Dispatcher\\Exceptions\\InvalidArgumentException' => $vendorDir . '/hyperf/dispatcher/src/Exceptions/InvalidArgumentException.php',
     'Hyperf\\Dispatcher\\HttpDispatcher' => $vendorDir . '/hyperf/dispatcher/src/HttpDispatcher.php',
     'Hyperf\\Dispatcher\\HttpRequestHandler' => $vendorDir . '/hyperf/dispatcher/src/HttpRequestHandler.php',
+    'Hyperf\\Engine\\Barrier' => $vendorDir . '/hyperf/engine/src/Barrier.php',
     'Hyperf\\Engine\\Channel' => $vendorDir . '/hyperf/engine/src/Channel.php',
     'Hyperf\\Engine\\ConfigProvider' => $vendorDir . '/hyperf/engine/src/ConfigProvider.php',
     'Hyperf\\Engine\\Constant' => $vendorDir . '/hyperf/engine/src/Constant.php',
     'Hyperf\\Engine\\Constant\\SocketType' => $vendorDir . '/hyperf/engine/src/Constant/SocketType.php',
+    'Hyperf\\Engine\\Contract\\BarrierInterface' => $vendorDir . '/hyperf/engine-contract/src/BarrierInterface.php',
     'Hyperf\\Engine\\Contract\\ChannelInterface' => $vendorDir . '/hyperf/engine-contract/src/ChannelInterface.php',
     'Hyperf\\Engine\\Contract\\CoroutineInterface' => $vendorDir . '/hyperf/engine-contract/src/CoroutineInterface.php',
     'Hyperf\\Engine\\Contract\\DefaultOptionInterface' => $vendorDir . '/hyperf/engine-contract/src/DefaultOptionInterface.php',
@@ -1142,6 +1166,7 @@ return array(
     'Hyperf\\Framework\\Event\\OnWorkerStop' => $vendorDir . '/hyperf/framework/src/Event/OnWorkerStop.php',
     'Hyperf\\Framework\\Event\\OtherWorkerStart' => $vendorDir . '/hyperf/framework/src/Event/OtherWorkerStart.php',
     'Hyperf\\Framework\\Exception\\NotImplementedException' => $vendorDir . '/hyperf/framework/src/Exception/NotImplementedException.php',
+    'Hyperf\\Framework\\Logger\\ConsoleLogger' => $vendorDir . '/hyperf/framework/src/Logger/ConsoleLogger.php',
     'Hyperf\\Framework\\Logger\\StdoutLogger' => $vendorDir . '/hyperf/framework/src/Logger/StdoutLogger.php',
     'Hyperf\\Framework\\SymfonyEventDispatcher' => $vendorDir . '/hyperf/framework/src/SymfonyEventDispatcher.php',
     'Hyperf\\Guzzle\\ClientFactory' => $vendorDir . '/hyperf/guzzle/src/ClientFactory.php',
@@ -1379,6 +1404,7 @@ return array(
     'Hyperf\\Process\\ProcessCollector' => $vendorDir . '/hyperf/process/src/ProcessCollector.php',
     'Hyperf\\Process\\ProcessManager' => $vendorDir . '/hyperf/process/src/ProcessManager.php',
     'Hyperf\\Redis\\ConfigProvider' => $vendorDir . '/hyperf/redis/src/ConfigProvider.php',
+    'Hyperf\\Redis\\Event\\CommandExecuted' => $vendorDir . '/hyperf/redis/src/Event/CommandExecuted.php',
     'Hyperf\\Redis\\Exception\\InvalidRedisConnectionException' => $vendorDir . '/hyperf/redis/src/Exception/InvalidRedisConnectionException.php',
     'Hyperf\\Redis\\Exception\\InvalidRedisOptionException' => $vendorDir . '/hyperf/redis/src/Exception/InvalidRedisOptionException.php',
     'Hyperf\\Redis\\Exception\\InvalidRedisProxyException' => $vendorDir . '/hyperf/redis/src/Exception/InvalidRedisProxyException.php',
@@ -1512,6 +1538,7 @@ return array(
     'Hyperf\\Support\\Backoff\\ArrayBackoff' => $vendorDir . '/hyperf/support/src/Backoff/ArrayBackoff.php',
     'Hyperf\\Support\\ClearStatCache' => $vendorDir . '/hyperf/support/src/ClearStatCache.php',
     'Hyperf\\Support\\Composer' => $vendorDir . '/hyperf/support/src/Composer.php',
+    'Hyperf\\Support\\DotenvManager' => $vendorDir . '/hyperf/support/src/DotenvManager.php',
     'Hyperf\\Support\\Exception\\ExceptionThrower' => $vendorDir . '/hyperf/support/src/Exception/ExceptionThrower.php',
     'Hyperf\\Support\\Exception\\IPReadFailedException' => $vendorDir . '/hyperf/support/src/Exception/IPReadFailedException.php',
     'Hyperf\\Support\\Exception\\InvalidArgumentException' => $vendorDir . '/hyperf/support/src/Exception/InvalidArgumentException.php',
@@ -1569,6 +1596,8 @@ return array(
     'Hyperf\\Watcher\\Driver\\FindNewerDriver' => $vendorDir . '/hyperf/watcher/src/Driver/FindNewerDriver.php',
     'Hyperf\\Watcher\\Driver\\FswatchDriver' => $vendorDir . '/hyperf/watcher/src/Driver/FswatchDriver.php',
     'Hyperf\\Watcher\\Driver\\ScanFileDriver' => $vendorDir . '/hyperf/watcher/src/Driver/ScanFileDriver.php',
+    'Hyperf\\Watcher\\Event\\BeforeServerRestart' => $vendorDir . '/hyperf/watcher/src/Event/BeforeServerRestart.php',
+    'Hyperf\\Watcher\\Listener\\ReloadDotenvListener' => $vendorDir . '/hyperf/watcher/src/Listener/ReloadDotenvListener.php',
     'Hyperf\\Watcher\\Option' => $vendorDir . '/hyperf/watcher/src/Option.php',
     'Hyperf\\Watcher\\Process' => $vendorDir . '/hyperf/watcher/src/Process.php',
     'Hyperf\\Watcher\\Watcher' => $vendorDir . '/hyperf/watcher/src/Watcher.php',
@@ -2267,6 +2296,7 @@ return array(
     'Monolog\\Handler\\WebRequestRecognizerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php',
     'Monolog\\Handler\\WhatFailureGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
     'Monolog\\Handler\\ZendMonitorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
+    'Monolog\\JsonSerializableDateTimeImmutable' => $vendorDir . '/monolog/monolog/src/Monolog/JsonSerializableDateTimeImmutable.php',
     'Monolog\\Level' => $vendorDir . '/monolog/monolog/src/Monolog/Level.php',
     'Monolog\\LogRecord' => $vendorDir . '/monolog/monolog/src/Monolog/LogRecord.php',
     'Monolog\\Logger' => $vendorDir . '/monolog/monolog/src/Monolog/Logger.php',
@@ -2288,6 +2318,7 @@ return array(
     'Monolog\\Registry' => $vendorDir . '/monolog/monolog/src/Monolog/Registry.php',
     'Monolog\\ResettableInterface' => $vendorDir . '/monolog/monolog/src/Monolog/ResettableInterface.php',
     'Monolog\\SignalHandler' => $vendorDir . '/monolog/monolog/src/Monolog/SignalHandler.php',
+    'Monolog\\Test\\MonologTestCase' => $vendorDir . '/monolog/monolog/src/Monolog/Test/MonologTestCase.php',
     'Monolog\\Test\\TestCase' => $vendorDir . '/monolog/monolog/src/Monolog/Test/TestCase.php',
     'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.php',
     'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
@@ -2407,10 +2438,14 @@ return array(
     'PHPUnit\\Event\\TestSuite\\TestSuiteWithName' => $vendorDir . '/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteWithName.php',
     'PHPUnit\\Event\\Test\\AfterLastTestMethodCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalled.php',
     'PHPUnit\\Event\\Test\\AfterLastTestMethodCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\AfterLastTestMethodErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErrored.php',
+    'PHPUnit\\Event\\Test\\AfterLastTestMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\AfterLastTestMethodFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinished.php',
     'PHPUnit\\Event\\Test\\AfterLastTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\AfterTestMethodCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalled.php',
     'PHPUnit\\Event\\Test\\AfterTestMethodCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\AfterTestMethodErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErrored.php',
+    'PHPUnit\\Event\\Test\\AfterTestMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\AfterTestMethodFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php',
     'PHPUnit\\Event\\Test\\AfterTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\AssertionFailed' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php',
@@ -2425,6 +2460,8 @@ return array(
     'PHPUnit\\Event\\Test\\BeforeFirstTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\BeforeTestMethodCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalled.php',
     'PHPUnit\\Event\\Test\\BeforeTestMethodCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\BeforeTestMethodErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErrored.php',
+    'PHPUnit\\Event\\Test\\BeforeTestMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\BeforeTestMethodFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinished.php',
     'PHPUnit\\Event\\Test\\BeforeTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\ComparatorRegistered' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/ComparatorRegistered.php',
@@ -2478,10 +2515,14 @@ return array(
     'PHPUnit\\Event\\Test\\PhpunitWarningTriggeredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitWarningTriggeredSubscriber.php',
     'PHPUnit\\Event\\Test\\PostConditionCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalled.php',
     'PHPUnit\\Event\\Test\\PostConditionCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\PostConditionErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErrored.php',
+    'PHPUnit\\Event\\Test\\PostConditionErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\PostConditionFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinished.php',
     'PHPUnit\\Event\\Test\\PostConditionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\PreConditionCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalled.php',
     'PHPUnit\\Event\\Test\\PreConditionCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\PreConditionErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErrored.php',
+    'PHPUnit\\Event\\Test\\PreConditionErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\PreConditionFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinished.php',
     'PHPUnit\\Event\\Test\\PreConditionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\PreparationFailed' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationFailed.php',
@@ -2643,12 +2684,11 @@ return array(
     'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/MethodNameMatch.php',
     'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/ParametersMatch.php',
     'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/Stub.php',
-    'PHPUnit\\Framework\\MockObject\\CannotUseAddMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseAddMethodsException.php',
     'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
     'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
     'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
     'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
-    'PHPUnit\\Framework\\MockObject\\Generator\\ClassAlreadyExistsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassAlreadyExistsException.php',
+    'PHPUnit\\Framework\\MockObject\\Generator\\CannotUseAddMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsReadonlyException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsReadonlyException.php',
@@ -2661,6 +2701,7 @@ return array(
     'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
+    'PHPUnit\\Framework\\MockObject\\Generator\\NameAlreadyInUseException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
@@ -2686,8 +2727,8 @@ return array(
     'PHPUnit\\Framework\\MockObject\\MockObjectApi' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
     'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
     'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
+    'PHPUnit\\Framework\\MockObject\\NoMoreReturnValuesConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php',
     'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
-    'PHPUnit\\Framework\\MockObject\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
     'PHPUnit\\Framework\\MockObject\\ReturnValueGenerator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php',
     'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
     'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/AnyInvokedCount.php',
@@ -2748,7 +2789,6 @@ return array(
     'PHPUnit\\Framework\\UnknownClassOrInterfaceException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownClassOrInterfaceException.php',
     'PHPUnit\\Framework\\UnknownTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php',
     'PHPUnit\\Logging\\EventLogger' => $vendorDir . '/phpunit/phpunit/src/Logging/EventLogger.php',
-    'PHPUnit\\Logging\\Exception' => $vendorDir . '/phpunit/phpunit/src/Logging/Exception.php',
     'PHPUnit\\Logging\\JUnit\\JunitXmlLogger' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/JunitXmlLogger.php',
     'PHPUnit\\Logging\\JUnit\\Subscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php',
@@ -2758,6 +2798,7 @@ return array(
     'PHPUnit\\Logging\\JUnit\\TestPreparationFailedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationFailedSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestPreparationStartedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationStartedSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestPreparedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparedSubscriber.php',
+    'PHPUnit\\Logging\\JUnit\\TestPrintedUnexpectedOutputSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPrintedUnexpectedOutputSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestRunnerExecutionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestRunnerExecutionFinishedSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestSkippedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSkippedSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestSuiteFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteFinishedSubscriber.php',
@@ -2772,7 +2813,9 @@ return array(
     'PHPUnit\\Logging\\TeamCity\\TestPreparedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestPreparedSubscriber.php',
     'PHPUnit\\Logging\\TeamCity\\TestRunnerExecutionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestRunnerExecutionFinishedSubscriber.php',
     'PHPUnit\\Logging\\TeamCity\\TestSkippedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSkippedSubscriber.php',
+    'PHPUnit\\Logging\\TeamCity\\TestSuiteBeforeFirstTestMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteBeforeFirstTestMethodErroredSubscriber.php',
     'PHPUnit\\Logging\\TeamCity\\TestSuiteFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteFinishedSubscriber.php',
+    'PHPUnit\\Logging\\TeamCity\\TestSuiteSkippedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteSkippedSubscriber.php',
     'PHPUnit\\Logging\\TeamCity\\TestSuiteStartedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteStartedSubscriber.php',
     'PHPUnit\\Logging\\TestDox\\HtmlRenderer' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/HtmlRenderer.php',
     'PHPUnit\\Logging\\TestDox\\NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/NamePrettifier.php',
@@ -2831,6 +2874,7 @@ return array(
     'PHPUnit\\Metadata\\IgnoreDeprecations' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php',
     'PHPUnit\\Metadata\\IgnoreFunctionForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php',
     'PHPUnit\\Metadata\\IgnoreMethodForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php',
+    'PHPUnit\\Metadata\\InvalidAttributeException' => $vendorDir . '/phpunit/phpunit/src/Metadata/Exception/InvalidAttributeException.php',
     'PHPUnit\\Metadata\\InvalidVersionRequirementException' => $vendorDir . '/phpunit/phpunit/src/Metadata/Exception/InvalidVersionRequirementException.php',
     'PHPUnit\\Metadata\\Metadata' => $vendorDir . '/phpunit/phpunit/src/Metadata/Metadata.php',
     'PHPUnit\\Metadata\\MetadataCollection' => $vendorDir . '/phpunit/phpunit/src/Metadata/MetadataCollection.php',
@@ -2887,7 +2931,7 @@ return array(
     'PHPUnit\\Runner\\ClassDoesNotExtendTestCaseException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassDoesNotExtendTestCaseException.php',
     'PHPUnit\\Runner\\ClassIsAbstractException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php',
     'PHPUnit\\Runner\\CodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Runner/CodeCoverage.php',
-    'PHPUnit\\Runner\\DirectoryCannotBeCreatedException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/DirectoryCannotBeCreatedException.php',
+    'PHPUnit\\Runner\\DirectoryDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/DirectoryDoesNotExistException.php',
     'PHPUnit\\Runner\\ErrorException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php',
     'PHPUnit\\Runner\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Runner/ErrorHandler.php',
     'PHPUnit\\Runner\\Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/Exception.php',
@@ -2910,11 +2954,9 @@ return array(
     'PHPUnit\\Runner\\GarbageCollection\\TestFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php',
     'PHPUnit\\Runner\\InvalidOrderException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/InvalidOrderException.php',
     'PHPUnit\\Runner\\InvalidPhptFileException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/InvalidPhptFileException.php',
-    'PHPUnit\\Runner\\NoIgnoredEventException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/NoIgnoredEventException.php',
     'PHPUnit\\Runner\\ParameterDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ParameterDoesNotExistException.php',
     'PHPUnit\\Runner\\PhptExternalFileCannotBeLoadedException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/PhptExternalFileCannotBeLoadedException.php',
     'PHPUnit\\Runner\\PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
-    'PHPUnit\\Runner\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ReflectionException.php',
     'PHPUnit\\Runner\\ResultCache\\DefaultResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php',
     'PHPUnit\\Runner\\ResultCache\\NullResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php',
     'PHPUnit\\Runner\\ResultCache\\ResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/ResultCache.php',
@@ -2933,6 +2975,7 @@ return array(
     'PHPUnit\\Runner\\TestSuiteSorter' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php',
     'PHPUnit\\Runner\\UnsupportedPhptSectionException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/UnsupportedPhptSectionException.php',
     'PHPUnit\\Runner\\Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php',
+    'PHPUnit\\TestRunner\\TestResult\\AfterTestClassMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/AfterTestClassMethodErroredSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\BeforeTestClassMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/BeforeTestClassMethodErroredSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\Collector' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Collector.php',
     'PHPUnit\\TestRunner\\TestResult\\ExecutionStartedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/ExecutionStartedSubscriber.php',
@@ -2964,6 +3007,7 @@ return array(
     'PHPUnit\\TestRunner\\TestResult\\TestTriggeredPhpunitWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\TestTriggeredWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
     'PHPUnit\\TextUI\\Application' => $vendorDir . '/phpunit/phpunit/src/TextUI/Application.php',
+    'PHPUnit\\TextUI\\CannotOpenSocketException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/CannotOpenSocketException.php',
     'PHPUnit\\TextUI\\CliArguments\\Builder' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php',
     'PHPUnit\\TextUI\\CliArguments\\Configuration' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php',
     'PHPUnit\\TextUI\\CliArguments\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Exception.php',
@@ -3006,7 +3050,6 @@ return array(
     'PHPUnit\\TextUI\\Configuration\\Group' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php',
     'PHPUnit\\TextUI\\Configuration\\GroupCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php',
     'PHPUnit\\TextUI\\Configuration\\GroupCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php',
-    'PHPUnit\\TextUI\\Configuration\\IncludePathNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Exception/IncludePathNotConfiguredException.php',
     'PHPUnit\\TextUI\\Configuration\\IniSetting' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php',
     'PHPUnit\\TextUI\\Configuration\\IniSettingCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php',
     'PHPUnit\\TextUI\\Configuration\\IniSettingCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php',
@@ -3040,9 +3083,7 @@ return array(
     'PHPUnit\\TextUI\\Configuration\\Variable' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php',
     'PHPUnit\\TextUI\\Configuration\\VariableCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php',
     'PHPUnit\\TextUI\\Configuration\\VariableCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php',
-    'PHPUnit\\TextUI\\DirectoryDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/DirectoryDoesNotExistException.php',
     'PHPUnit\\TextUI\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
-    'PHPUnit\\TextUI\\ExtensionsNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/ExtensionsNotConfiguredException.php',
     'PHPUnit\\TextUI\\Help' => $vendorDir . '/phpunit/phpunit/src/TextUI/Help.php',
     'PHPUnit\\TextUI\\InvalidSocketException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/InvalidSocketException.php',
     'PHPUnit\\TextUI\\Output\\DefaultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php',
@@ -3073,7 +3114,6 @@ return array(
     'PHPUnit\\TextUI\\Output\\Printer' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/Printer/Printer.php',
     'PHPUnit\\TextUI\\Output\\SummaryPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/SummaryPrinter.php',
     'PHPUnit\\TextUI\\Output\\TestDox\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php',
-    'PHPUnit\\TextUI\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/ReflectionException.php',
     'PHPUnit\\TextUI\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
     'PHPUnit\\TextUI\\ShellExitCodeCalculator' => $vendorDir . '/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php',
     'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
@@ -3114,7 +3154,6 @@ return array(
     'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/Migration.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php',
-    'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilderException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilderException.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
@@ -3159,6 +3198,8 @@ return array(
     'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
     'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
     'PHPUnit\\Util\\GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
+    'PHPUnit\\Util\\Http\\Downloader' => $vendorDir . '/phpunit/phpunit/src/Util/Http/Downloader.php',
+    'PHPUnit\\Util\\Http\\PhpDownloader' => $vendorDir . '/phpunit/phpunit/src/Util/Http/PhpDownloader.php',
     'PHPUnit\\Util\\InvalidDirectoryException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidDirectoryException.php',
     'PHPUnit\\Util\\InvalidJsonException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidJsonException.php',
     'PHPUnit\\Util\\InvalidVersionOperatorException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidVersionOperatorException.php',
@@ -3443,6 +3484,7 @@ return array(
     'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentSpacingFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php',
     'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentStyleFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php',
     'PhpCsFixer\\Fixer\\ConfigurableFixerInterface' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php',
+    'PhpCsFixer\\Fixer\\ConfigurableFixerTrait' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php',
     'PhpCsFixer\\Fixer\\ConstantNotation\\NativeConstantInvocationFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php',
     'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureBracesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php',
     'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureContinuationPositionFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php',
@@ -3505,6 +3547,7 @@ return array(
     'PhpCsFixer\\Fixer\\Import\\SingleImportPerStatementFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php',
     'PhpCsFixer\\Fixer\\Import\\SingleLineAfterImportsFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php',
     'PhpCsFixer\\Fixer\\Indentation' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php',
+    'PhpCsFixer\\Fixer\\InternalFixerInterface' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordRemoveFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\CombineConsecutiveIssetsFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php',
@@ -3555,6 +3598,7 @@ return array(
     'PhpCsFixer\\Fixer\\PhpTag\\FullOpeningTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\LinebreakAfterOpeningTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\NoClosingTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php',
+    'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAssertNewNamesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAttributesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitConstructFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitDataProviderNameFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php',
@@ -3719,6 +3763,7 @@ return array(
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit60MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit75MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit84MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php',
+    'PhpCsFixer\\RuleSet\\Sets\\PHPUnit91MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR12RiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR12Set' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR1Set' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php',

+ 2 - 0
vendor/composer/autoload_files.php

@@ -24,9 +24,11 @@ return array(
     'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php',
     '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
     'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php',
+    '60799491728b879e74601d83e38b2cad' => $vendorDir . '/illuminate/collections/helpers.php',
     '253c157292f75eb38082b5acb06f3f01' => $vendorDir . '/nikic/fast-route/src/functions.php',
     '6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
     '662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php',
+    '72579e7bd17821bb1321b87411366eae' => $vendorDir . '/illuminate/support/helpers.php',
     'ec07570ca5a812141189b1fa81503674' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert/Functions.php',
     '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php',
     '6ca3f08a814c4fd9d5830fc6808a9488' => $vendorDir . '/fukuball/jieba-php/src/vendor/multi-array/MultiArray.php',

+ 4 - 0
vendor/composer/autoload_psr4.php

@@ -6,6 +6,7 @@ $vendorDir = dirname(__DIR__);
 $baseDir = dirname($vendorDir);
 
 return array(
+    'voku\\' => array($vendorDir . '/voku/portable-ascii/src/voku'),
     'Symfony\\Polyfill\\Php83\\' => array($vendorDir . '/symfony/polyfill-php83'),
     'Symfony\\Polyfill\\Php81\\' => array($vendorDir . '/symfony/polyfill-php81'),
     'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
@@ -55,6 +56,9 @@ return array(
     'Laminas\\Stdlib\\' => array($vendorDir . '/laminas/laminas-stdlib/src'),
     'Laminas\\Mime\\' => array($vendorDir . '/laminas/laminas-mime/src'),
     'JetBrains\\PhpStorm\\' => array($vendorDir . '/jetbrains/phpstorm-attributes/src'),
+    'Illuminate\\Support\\' => array($vendorDir . '/illuminate/support', $vendorDir . '/illuminate/collections', $vendorDir . '/illuminate/conditionable', $vendorDir . '/illuminate/macroable'),
+    'Illuminate\\Contracts\\' => array($vendorDir . '/illuminate/contracts'),
+    'Illuminate\\Cache\\' => array($vendorDir . '/illuminate/cache'),
     'Hyperf\\Watcher\\' => array($vendorDir . '/hyperf/watcher/src'),
     'Hyperf\\Testing\\' => array($vendorDir . '/hyperf/testing/src'),
     'Hyperf\\Tappable\\' => array($vendorDir . '/hyperf/tappable/src'),

+ 61 - 16
vendor/composer/autoload_static.php

@@ -429,10 +429,10 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         ),
         'Illuminate\\Support\\' => 
         array (
-            0 => __DIR__ . '/..' . '/illuminate/collections',
-            1 => __DIR__ . '/..' . '/illuminate/conditionable',
-            2 => __DIR__ . '/..' . '/illuminate/macroable',
-            3 => __DIR__ . '/..' . '/illuminate/support',
+            0 => __DIR__ . '/..' . '/illuminate/support',
+            1 => __DIR__ . '/..' . '/illuminate/collections',
+            2 => __DIR__ . '/..' . '/illuminate/conditionable',
+            3 => __DIR__ . '/..' . '/illuminate/macroable',
         ),
         'Illuminate\\Contracts\\' => 
         array (
@@ -771,11 +771,16 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'App\\Model\\ArticleSurvey' => __DIR__ . '/../..' . '/app/Model/ArticleSurvey.php',
         'App\\Model\\Book' => __DIR__ . '/../..' . '/app/Model/Book.php',
         'App\\Model\\Category' => __DIR__ . '/../..' . '/app/Model/Category.php',
+        'App\\Model\\Character' => __DIR__ . '/../..' . '/app/Model/Character.php',
         'App\\Model\\ChatGroups' => __DIR__ . '/../..' . '/app/Model/ChatGroups.php',
         'App\\Model\\ChatGroupsMember' => __DIR__ . '/../..' . '/app/Model/ChatGroupsMember.php',
         'App\\Model\\ChatRecords' => __DIR__ . '/../..' . '/app/Model/ChatRecords.php',
+        'App\\Model\\Couplet' => __DIR__ . '/../..' . '/app/Model/Couplet.php',
         'App\\Model\\District' => __DIR__ . '/../..' . '/app/Model/District.php',
+        'App\\Model\\Festival' => __DIR__ . '/../..' . '/app/Model/Festival.php',
         'App\\Model\\Good' => __DIR__ . '/../..' . '/app/Model/Good.php',
+        'App\\Model\\HistoryToday' => __DIR__ . '/../..' . '/app/Model/HistoryToday.php',
+        'App\\Model\\Idiom' => __DIR__ . '/../..' . '/app/Model/Idiom.php',
         'App\\Model\\JobApply' => __DIR__ . '/../..' . '/app/Model/JobApply.php',
         'App\\Model\\JobCompany' => __DIR__ . '/../..' . '/app/Model/JobCompany.php',
         'App\\Model\\JobEnum' => __DIR__ . '/../..' . '/app/Model/JobEnum.php',
@@ -788,6 +793,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'App\\Model\\Link' => __DIR__ . '/../..' . '/app/Model/Link.php',
         'App\\Model\\Model' => __DIR__ . '/../..' . '/app/Model/Model.php',
         'App\\Model\\Notice' => __DIR__ . '/../..' . '/app/Model/Notice.php',
+        'App\\Model\\Riddle' => __DIR__ . '/../..' . '/app/Model/Riddle.php',
         'App\\Model\\User' => __DIR__ . '/../..' . '/app/Model/User.php',
         'App\\Model\\UserInfo' => __DIR__ . '/../..' . '/app/Model/UserInfo.php',
         'App\\Model\\Web' => __DIR__ . '/../..' . '/app/Model/Web.php',
@@ -908,6 +914,12 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Composer\\Pcre\\MatchResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchResult.php',
         'Composer\\Pcre\\MatchStrictGroupsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchStrictGroupsResult.php',
         'Composer\\Pcre\\MatchWithOffsetsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchWithOffsetsResult.php',
+        'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchFlags' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchFlags.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php',
+        'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php',
+        'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php',
         'Composer\\Pcre\\PcreException' => __DIR__ . '/..' . '/composer/pcre/src/PcreException.php',
         'Composer\\Pcre\\Preg' => __DIR__ . '/..' . '/composer/pcre/src/Preg.php',
         'Composer\\Pcre\\Regex' => __DIR__ . '/..' . '/composer/pcre/src/Regex.php',
@@ -956,6 +968,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'DeepCopy\\Matcher\\PropertyTypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
         'DeepCopy\\Reflection\\ReflectionHelper' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
         'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
+        'DeepCopy\\TypeFilter\\Date\\DatePeriodFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php',
         'DeepCopy\\TypeFilter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
         'DeepCopy\\TypeFilter\\ShallowCopyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
         'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
@@ -1348,6 +1361,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Command\\Concerns\\HasParameters' => __DIR__ . '/..' . '/hyperf/command/src/Concerns/HasParameters.php',
         'Hyperf\\Command\\Concerns\\InteractsWithIO' => __DIR__ . '/..' . '/hyperf/command/src/Concerns/InteractsWithIO.php',
         'Hyperf\\Command\\Concerns\\NullDisableEventDispatcher' => __DIR__ . '/..' . '/hyperf/command/src/Concerns/NullDisableEventDispatcher.php',
+        'Hyperf\\Command\\Concerns\\Prohibitable' => __DIR__ . '/..' . '/hyperf/command/src/Concerns/Prohibitable.php',
         'Hyperf\\Command\\ConfigProvider' => __DIR__ . '/..' . '/hyperf/command/src/ConfigProvider.php',
         'Hyperf\\Command\\Console' => __DIR__ . '/..' . '/hyperf/command/src/Console.php',
         'Hyperf\\Command\\Event\\AfterExecute' => __DIR__ . '/..' . '/hyperf/command/src/Event/AfterExecute.php',
@@ -1424,6 +1438,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Context\\Traits\\CoroutineProxy' => __DIR__ . '/..' . '/hyperf/context/src/Traits/CoroutineProxy.php',
         'Hyperf\\Contract\\ApplicationInterface' => __DIR__ . '/..' . '/hyperf/contract/src/ApplicationInterface.php',
         'Hyperf\\Contract\\Arrayable' => __DIR__ . '/..' . '/hyperf/contract/src/Arrayable.php',
+        'Hyperf\\Contract\\CanBeEscapedWhenCastToString' => __DIR__ . '/..' . '/hyperf/contract/src/CanBeEscapedWhenCastToString.php',
         'Hyperf\\Contract\\Castable' => __DIR__ . '/..' . '/hyperf/contract/src/Castable.php',
         'Hyperf\\Contract\\CastsAttributes' => __DIR__ . '/..' . '/hyperf/contract/src/CastsAttributes.php',
         'Hyperf\\Contract\\CastsInboundAttributes' => __DIR__ . '/..' . '/hyperf/contract/src/CastsInboundAttributes.php',
@@ -1480,7 +1495,9 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Coroutine\\Exception\\TimeoutException' => __DIR__ . '/..' . '/hyperf/coroutine/src/Exception/TimeoutException.php',
         'Hyperf\\Coroutine\\Exception\\WaitTimeoutException' => __DIR__ . '/..' . '/hyperf/coroutine/src/Exception/WaitTimeoutException.php',
         'Hyperf\\Coroutine\\Locker' => __DIR__ . '/..' . '/hyperf/coroutine/src/Locker.php',
+        'Hyperf\\Coroutine\\Mutex' => __DIR__ . '/..' . '/hyperf/coroutine/src/Mutex.php',
         'Hyperf\\Coroutine\\Parallel' => __DIR__ . '/..' . '/hyperf/coroutine/src/Parallel.php',
+        'Hyperf\\Coroutine\\WaitConcurrent' => __DIR__ . '/..' . '/hyperf/coroutine/src/WaitConcurrent.php',
         'Hyperf\\Coroutine\\WaitGroup' => __DIR__ . '/..' . '/hyperf/coroutine/src/WaitGroup.php',
         'Hyperf\\Coroutine\\Waiter' => __DIR__ . '/..' . '/hyperf/coroutine/src/Waiter.php',
         'Hyperf\\Database\\Commands\\Annotations\\RewriteReturnType' => __DIR__ . '/..' . '/hyperf/database/src/Commands/Annotations/RewriteReturnType.php',
@@ -1532,10 +1549,15 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Database\\Events\\TransactionBeginning' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionBeginning.php',
         'Hyperf\\Database\\Events\\TransactionCommitted' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionCommitted.php',
         'Hyperf\\Database\\Events\\TransactionRolledBack' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionRolledBack.php',
+        'Hyperf\\Database\\Exception\\ClassMorphViolationException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/ClassMorphViolationException.php',
         'Hyperf\\Database\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidArgumentException.php',
         'Hyperf\\Database\\Exception\\InvalidBindingException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidBindingException.php',
         'Hyperf\\Database\\Exception\\InvalidCastException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidCastException.php',
+        'Hyperf\\Database\\Exception\\MultipleColumnsSelectedException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/MultipleColumnsSelectedException.php',
+        'Hyperf\\Database\\Exception\\MultipleRecordsFoundException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/MultipleRecordsFoundException.php',
         'Hyperf\\Database\\Exception\\QueryException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/QueryException.php',
+        'Hyperf\\Database\\Exception\\RecordsNotFoundException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/RecordsNotFoundException.php',
+        'Hyperf\\Database\\Exception\\UniqueConstraintViolationException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/UniqueConstraintViolationException.php',
         'Hyperf\\Database\\Grammar' => __DIR__ . '/..' . '/hyperf/database/src/Grammar.php',
         'Hyperf\\Database\\Migrations\\DatabaseMigrationRepository' => __DIR__ . '/..' . '/hyperf/database/src/Migrations/DatabaseMigrationRepository.php',
         'Hyperf\\Database\\Migrations\\Migration' => __DIR__ . '/..' . '/hyperf/database/src/Migrations/Migration.php',
@@ -1775,10 +1797,12 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Dispatcher\\Exceptions\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/dispatcher/src/Exceptions/InvalidArgumentException.php',
         'Hyperf\\Dispatcher\\HttpDispatcher' => __DIR__ . '/..' . '/hyperf/dispatcher/src/HttpDispatcher.php',
         'Hyperf\\Dispatcher\\HttpRequestHandler' => __DIR__ . '/..' . '/hyperf/dispatcher/src/HttpRequestHandler.php',
+        'Hyperf\\Engine\\Barrier' => __DIR__ . '/..' . '/hyperf/engine/src/Barrier.php',
         'Hyperf\\Engine\\Channel' => __DIR__ . '/..' . '/hyperf/engine/src/Channel.php',
         'Hyperf\\Engine\\ConfigProvider' => __DIR__ . '/..' . '/hyperf/engine/src/ConfigProvider.php',
         'Hyperf\\Engine\\Constant' => __DIR__ . '/..' . '/hyperf/engine/src/Constant.php',
         'Hyperf\\Engine\\Constant\\SocketType' => __DIR__ . '/..' . '/hyperf/engine/src/Constant/SocketType.php',
+        'Hyperf\\Engine\\Contract\\BarrierInterface' => __DIR__ . '/..' . '/hyperf/engine-contract/src/BarrierInterface.php',
         'Hyperf\\Engine\\Contract\\ChannelInterface' => __DIR__ . '/..' . '/hyperf/engine-contract/src/ChannelInterface.php',
         'Hyperf\\Engine\\Contract\\CoroutineInterface' => __DIR__ . '/..' . '/hyperf/engine-contract/src/CoroutineInterface.php',
         'Hyperf\\Engine\\Contract\\DefaultOptionInterface' => __DIR__ . '/..' . '/hyperf/engine-contract/src/DefaultOptionInterface.php',
@@ -1893,6 +1917,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Framework\\Event\\OnWorkerStop' => __DIR__ . '/..' . '/hyperf/framework/src/Event/OnWorkerStop.php',
         'Hyperf\\Framework\\Event\\OtherWorkerStart' => __DIR__ . '/..' . '/hyperf/framework/src/Event/OtherWorkerStart.php',
         'Hyperf\\Framework\\Exception\\NotImplementedException' => __DIR__ . '/..' . '/hyperf/framework/src/Exception/NotImplementedException.php',
+        'Hyperf\\Framework\\Logger\\ConsoleLogger' => __DIR__ . '/..' . '/hyperf/framework/src/Logger/ConsoleLogger.php',
         'Hyperf\\Framework\\Logger\\StdoutLogger' => __DIR__ . '/..' . '/hyperf/framework/src/Logger/StdoutLogger.php',
         'Hyperf\\Framework\\SymfonyEventDispatcher' => __DIR__ . '/..' . '/hyperf/framework/src/SymfonyEventDispatcher.php',
         'Hyperf\\Guzzle\\ClientFactory' => __DIR__ . '/..' . '/hyperf/guzzle/src/ClientFactory.php',
@@ -2130,6 +2155,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Process\\ProcessCollector' => __DIR__ . '/..' . '/hyperf/process/src/ProcessCollector.php',
         'Hyperf\\Process\\ProcessManager' => __DIR__ . '/..' . '/hyperf/process/src/ProcessManager.php',
         'Hyperf\\Redis\\ConfigProvider' => __DIR__ . '/..' . '/hyperf/redis/src/ConfigProvider.php',
+        'Hyperf\\Redis\\Event\\CommandExecuted' => __DIR__ . '/..' . '/hyperf/redis/src/Event/CommandExecuted.php',
         'Hyperf\\Redis\\Exception\\InvalidRedisConnectionException' => __DIR__ . '/..' . '/hyperf/redis/src/Exception/InvalidRedisConnectionException.php',
         'Hyperf\\Redis\\Exception\\InvalidRedisOptionException' => __DIR__ . '/..' . '/hyperf/redis/src/Exception/InvalidRedisOptionException.php',
         'Hyperf\\Redis\\Exception\\InvalidRedisProxyException' => __DIR__ . '/..' . '/hyperf/redis/src/Exception/InvalidRedisProxyException.php',
@@ -2263,6 +2289,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Support\\Backoff\\ArrayBackoff' => __DIR__ . '/..' . '/hyperf/support/src/Backoff/ArrayBackoff.php',
         'Hyperf\\Support\\ClearStatCache' => __DIR__ . '/..' . '/hyperf/support/src/ClearStatCache.php',
         'Hyperf\\Support\\Composer' => __DIR__ . '/..' . '/hyperf/support/src/Composer.php',
+        'Hyperf\\Support\\DotenvManager' => __DIR__ . '/..' . '/hyperf/support/src/DotenvManager.php',
         'Hyperf\\Support\\Exception\\ExceptionThrower' => __DIR__ . '/..' . '/hyperf/support/src/Exception/ExceptionThrower.php',
         'Hyperf\\Support\\Exception\\IPReadFailedException' => __DIR__ . '/..' . '/hyperf/support/src/Exception/IPReadFailedException.php',
         'Hyperf\\Support\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/support/src/Exception/InvalidArgumentException.php',
@@ -2320,6 +2347,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Watcher\\Driver\\FindNewerDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/FindNewerDriver.php',
         'Hyperf\\Watcher\\Driver\\FswatchDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/FswatchDriver.php',
         'Hyperf\\Watcher\\Driver\\ScanFileDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/ScanFileDriver.php',
+        'Hyperf\\Watcher\\Event\\BeforeServerRestart' => __DIR__ . '/..' . '/hyperf/watcher/src/Event/BeforeServerRestart.php',
+        'Hyperf\\Watcher\\Listener\\ReloadDotenvListener' => __DIR__ . '/..' . '/hyperf/watcher/src/Listener/ReloadDotenvListener.php',
         'Hyperf\\Watcher\\Option' => __DIR__ . '/..' . '/hyperf/watcher/src/Option.php',
         'Hyperf\\Watcher\\Process' => __DIR__ . '/..' . '/hyperf/watcher/src/Process.php',
         'Hyperf\\Watcher\\Watcher' => __DIR__ . '/..' . '/hyperf/watcher/src/Watcher.php',
@@ -3018,6 +3047,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Monolog\\Handler\\WebRequestRecognizerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php',
         'Monolog\\Handler\\WhatFailureGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
         'Monolog\\Handler\\ZendMonitorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
+        'Monolog\\JsonSerializableDateTimeImmutable' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/JsonSerializableDateTimeImmutable.php',
         'Monolog\\Level' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Level.php',
         'Monolog\\LogRecord' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/LogRecord.php',
         'Monolog\\Logger' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Logger.php',
@@ -3039,6 +3069,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Monolog\\Registry' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Registry.php',
         'Monolog\\ResettableInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ResettableInterface.php',
         'Monolog\\SignalHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/SignalHandler.php',
+        'Monolog\\Test\\MonologTestCase' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Test/MonologTestCase.php',
         'Monolog\\Test\\TestCase' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Test/TestCase.php',
         'Monolog\\Utils' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Utils.php',
         'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
@@ -3158,10 +3189,14 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Event\\TestSuite\\TestSuiteWithName' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteWithName.php',
         'PHPUnit\\Event\\Test\\AfterLastTestMethodCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalled.php',
         'PHPUnit\\Event\\Test\\AfterLastTestMethodCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\AfterLastTestMethodErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErrored.php',
+        'PHPUnit\\Event\\Test\\AfterLastTestMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\AfterLastTestMethodFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinished.php',
         'PHPUnit\\Event\\Test\\AfterLastTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\AfterTestMethodCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalled.php',
         'PHPUnit\\Event\\Test\\AfterTestMethodCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\AfterTestMethodErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErrored.php',
+        'PHPUnit\\Event\\Test\\AfterTestMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\AfterTestMethodFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php',
         'PHPUnit\\Event\\Test\\AfterTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\AssertionFailed' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php',
@@ -3176,6 +3211,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Event\\Test\\BeforeFirstTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\BeforeTestMethodCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalled.php',
         'PHPUnit\\Event\\Test\\BeforeTestMethodCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\BeforeTestMethodErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErrored.php',
+        'PHPUnit\\Event\\Test\\BeforeTestMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\BeforeTestMethodFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinished.php',
         'PHPUnit\\Event\\Test\\BeforeTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\ComparatorRegistered' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/ComparatorRegistered.php',
@@ -3229,10 +3266,14 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Event\\Test\\PhpunitWarningTriggeredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitWarningTriggeredSubscriber.php',
         'PHPUnit\\Event\\Test\\PostConditionCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalled.php',
         'PHPUnit\\Event\\Test\\PostConditionCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\PostConditionErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErrored.php',
+        'PHPUnit\\Event\\Test\\PostConditionErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\PostConditionFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinished.php',
         'PHPUnit\\Event\\Test\\PostConditionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\PreConditionCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalled.php',
         'PHPUnit\\Event\\Test\\PreConditionCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\PreConditionErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErrored.php',
+        'PHPUnit\\Event\\Test\\PreConditionErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\PreConditionFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinished.php',
         'PHPUnit\\Event\\Test\\PreConditionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\PreparationFailed' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationFailed.php',
@@ -3394,12 +3435,11 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/MethodNameMatch.php',
         'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/ParametersMatch.php',
         'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/Stub.php',
-        'PHPUnit\\Framework\\MockObject\\CannotUseAddMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseAddMethodsException.php',
         'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
         'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
         'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
         'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
-        'PHPUnit\\Framework\\MockObject\\Generator\\ClassAlreadyExistsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassAlreadyExistsException.php',
+        'PHPUnit\\Framework\\MockObject\\Generator\\CannotUseAddMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsReadonlyException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsReadonlyException.php',
@@ -3412,6 +3452,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
+        'PHPUnit\\Framework\\MockObject\\Generator\\NameAlreadyInUseException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
@@ -3437,8 +3478,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\MockObjectApi' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
         'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
         'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
+        'PHPUnit\\Framework\\MockObject\\NoMoreReturnValuesConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php',
         'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
-        'PHPUnit\\Framework\\MockObject\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
         'PHPUnit\\Framework\\MockObject\\ReturnValueGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php',
         'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
         'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/AnyInvokedCount.php',
@@ -3499,7 +3540,6 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\UnknownClassOrInterfaceException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownClassOrInterfaceException.php',
         'PHPUnit\\Framework\\UnknownTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php',
         'PHPUnit\\Logging\\EventLogger' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/EventLogger.php',
-        'PHPUnit\\Logging\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/Exception.php',
         'PHPUnit\\Logging\\JUnit\\JunitXmlLogger' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/JunitXmlLogger.php',
         'PHPUnit\\Logging\\JUnit\\Subscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php',
@@ -3509,6 +3549,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Logging\\JUnit\\TestPreparationFailedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationFailedSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestPreparationStartedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationStartedSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestPreparedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparedSubscriber.php',
+        'PHPUnit\\Logging\\JUnit\\TestPrintedUnexpectedOutputSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPrintedUnexpectedOutputSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestRunnerExecutionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestRunnerExecutionFinishedSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestSkippedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSkippedSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestSuiteFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteFinishedSubscriber.php',
@@ -3523,7 +3564,9 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Logging\\TeamCity\\TestPreparedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestPreparedSubscriber.php',
         'PHPUnit\\Logging\\TeamCity\\TestRunnerExecutionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestRunnerExecutionFinishedSubscriber.php',
         'PHPUnit\\Logging\\TeamCity\\TestSkippedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSkippedSubscriber.php',
+        'PHPUnit\\Logging\\TeamCity\\TestSuiteBeforeFirstTestMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteBeforeFirstTestMethodErroredSubscriber.php',
         'PHPUnit\\Logging\\TeamCity\\TestSuiteFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteFinishedSubscriber.php',
+        'PHPUnit\\Logging\\TeamCity\\TestSuiteSkippedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteSkippedSubscriber.php',
         'PHPUnit\\Logging\\TeamCity\\TestSuiteStartedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteStartedSubscriber.php',
         'PHPUnit\\Logging\\TestDox\\HtmlRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/HtmlRenderer.php',
         'PHPUnit\\Logging\\TestDox\\NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/NamePrettifier.php',
@@ -3582,6 +3625,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Metadata\\IgnoreDeprecations' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php',
         'PHPUnit\\Metadata\\IgnoreFunctionForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php',
         'PHPUnit\\Metadata\\IgnoreMethodForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php',
+        'PHPUnit\\Metadata\\InvalidAttributeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Exception/InvalidAttributeException.php',
         'PHPUnit\\Metadata\\InvalidVersionRequirementException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Exception/InvalidVersionRequirementException.php',
         'PHPUnit\\Metadata\\Metadata' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Metadata.php',
         'PHPUnit\\Metadata\\MetadataCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/MetadataCollection.php',
@@ -3638,7 +3682,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Runner\\ClassDoesNotExtendTestCaseException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassDoesNotExtendTestCaseException.php',
         'PHPUnit\\Runner\\ClassIsAbstractException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php',
         'PHPUnit\\Runner\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/CodeCoverage.php',
-        'PHPUnit\\Runner\\DirectoryCannotBeCreatedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/DirectoryCannotBeCreatedException.php',
+        'PHPUnit\\Runner\\DirectoryDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/DirectoryDoesNotExistException.php',
         'PHPUnit\\Runner\\ErrorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php',
         'PHPUnit\\Runner\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ErrorHandler.php',
         'PHPUnit\\Runner\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/Exception.php',
@@ -3661,11 +3705,9 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Runner\\GarbageCollection\\TestFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php',
         'PHPUnit\\Runner\\InvalidOrderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/InvalidOrderException.php',
         'PHPUnit\\Runner\\InvalidPhptFileException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/InvalidPhptFileException.php',
-        'PHPUnit\\Runner\\NoIgnoredEventException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/NoIgnoredEventException.php',
         'PHPUnit\\Runner\\ParameterDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ParameterDoesNotExistException.php',
         'PHPUnit\\Runner\\PhptExternalFileCannotBeLoadedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/PhptExternalFileCannotBeLoadedException.php',
         'PHPUnit\\Runner\\PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
-        'PHPUnit\\Runner\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ReflectionException.php',
         'PHPUnit\\Runner\\ResultCache\\DefaultResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php',
         'PHPUnit\\Runner\\ResultCache\\NullResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php',
         'PHPUnit\\Runner\\ResultCache\\ResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/ResultCache.php',
@@ -3684,6 +3726,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Runner\\TestSuiteSorter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php',
         'PHPUnit\\Runner\\UnsupportedPhptSectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/UnsupportedPhptSectionException.php',
         'PHPUnit\\Runner\\Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php',
+        'PHPUnit\\TestRunner\\TestResult\\AfterTestClassMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/AfterTestClassMethodErroredSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\BeforeTestClassMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/BeforeTestClassMethodErroredSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\Collector' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Collector.php',
         'PHPUnit\\TestRunner\\TestResult\\ExecutionStartedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/ExecutionStartedSubscriber.php',
@@ -3715,6 +3758,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TestRunner\\TestResult\\TestTriggeredPhpunitWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\TestTriggeredWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
         'PHPUnit\\TextUI\\Application' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Application.php',
+        'PHPUnit\\TextUI\\CannotOpenSocketException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/CannotOpenSocketException.php',
         'PHPUnit\\TextUI\\CliArguments\\Builder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php',
         'PHPUnit\\TextUI\\CliArguments\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php',
         'PHPUnit\\TextUI\\CliArguments\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Exception.php',
@@ -3757,7 +3801,6 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TextUI\\Configuration\\Group' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php',
         'PHPUnit\\TextUI\\Configuration\\GroupCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php',
         'PHPUnit\\TextUI\\Configuration\\GroupCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php',
-        'PHPUnit\\TextUI\\Configuration\\IncludePathNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Exception/IncludePathNotConfiguredException.php',
         'PHPUnit\\TextUI\\Configuration\\IniSetting' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php',
         'PHPUnit\\TextUI\\Configuration\\IniSettingCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php',
         'PHPUnit\\TextUI\\Configuration\\IniSettingCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php',
@@ -3791,9 +3834,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TextUI\\Configuration\\Variable' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php',
         'PHPUnit\\TextUI\\Configuration\\VariableCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php',
         'PHPUnit\\TextUI\\Configuration\\VariableCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php',
-        'PHPUnit\\TextUI\\DirectoryDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/DirectoryDoesNotExistException.php',
         'PHPUnit\\TextUI\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
-        'PHPUnit\\TextUI\\ExtensionsNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/ExtensionsNotConfiguredException.php',
         'PHPUnit\\TextUI\\Help' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Help.php',
         'PHPUnit\\TextUI\\InvalidSocketException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/InvalidSocketException.php',
         'PHPUnit\\TextUI\\Output\\DefaultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php',
@@ -3824,7 +3865,6 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TextUI\\Output\\Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/Printer/Printer.php',
         'PHPUnit\\TextUI\\Output\\SummaryPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/SummaryPrinter.php',
         'PHPUnit\\TextUI\\Output\\TestDox\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php',
-        'PHPUnit\\TextUI\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/ReflectionException.php',
         'PHPUnit\\TextUI\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
         'PHPUnit\\TextUI\\ShellExitCodeCalculator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php',
         'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
@@ -3865,7 +3905,6 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/Migration.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php',
-        'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilderException.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
@@ -3910,6 +3949,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php',
         'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php',
         'PHPUnit\\Util\\GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php',
+        'PHPUnit\\Util\\Http\\Downloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Http/Downloader.php',
+        'PHPUnit\\Util\\Http\\PhpDownloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Http/PhpDownloader.php',
         'PHPUnit\\Util\\InvalidDirectoryException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidDirectoryException.php',
         'PHPUnit\\Util\\InvalidJsonException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidJsonException.php',
         'PHPUnit\\Util\\InvalidVersionOperatorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidVersionOperatorException.php',
@@ -4194,6 +4235,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentSpacingFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php',
         'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentStyleFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php',
         'PhpCsFixer\\Fixer\\ConfigurableFixerInterface' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php',
+        'PhpCsFixer\\Fixer\\ConfigurableFixerTrait' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php',
         'PhpCsFixer\\Fixer\\ConstantNotation\\NativeConstantInvocationFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php',
         'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureBracesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php',
         'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureContinuationPositionFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php',
@@ -4256,6 +4298,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\Import\\SingleImportPerStatementFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php',
         'PhpCsFixer\\Fixer\\Import\\SingleLineAfterImportsFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php',
         'PhpCsFixer\\Fixer\\Indentation' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php',
+        'PhpCsFixer\\Fixer\\InternalFixerInterface' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordRemoveFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\CombineConsecutiveIssetsFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php',
@@ -4306,6 +4349,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\PhpTag\\FullOpeningTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\LinebreakAfterOpeningTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\NoClosingTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php',
+        'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAssertNewNamesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAttributesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitConstructFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitDataProviderNameFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php',
@@ -4470,6 +4514,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit60MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit75MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit84MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php',
+        'PhpCsFixer\\RuleSet\\Sets\\PHPUnit91MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR12RiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR12Set' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR1Set' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php',

Fichier diff supprimé car celui-ci est trop grand
+ 315 - 192
vendor/composer/installed.json


Fichier diff supprimé car celui-ci est trop grand
+ 244 - 242
vendor/composer/installed.php


+ 9 - 1
vendor/composer/pcre/README.md

@@ -12,7 +12,8 @@ to understand the implications.
 
 It thus makes it easier to work with static analysis tools like PHPStan or Psalm as it
 simplifies and reduces the possible return values from all the `preg_*` functions which
-are quite packed with edge cases.
+are quite packed with edge cases. As of v2.2.0 / v3.2.0 the library also comes with a
+[PHPStan extension](#phpstan-extension) for parsing regular expressions and giving you even better output types.
 
 This library is a thin wrapper around `preg_*` functions with [some limitations](#restrictions--limitations).
 If you are looking for a richer API to handle regular expressions have a look at
@@ -175,6 +176,13 @@ preg_match('/(a)(b)*(c)(d)*/', 'ac', $matches, $flags);
 | group 2 (any unmatched group preceding one that matched) is set to `''`. You cannot tell if it matched an empty string or did not match at all | group 2 is `null` when unmatched and a string if it matched, easy to check for |
 | group 4 (any optional group without a matching one following) is missing altogether. So you have to check with `isset()`, but really you want `isset($m[4]) && $m[4] !== ''` for safety unless you are very careful to check that a non-optional group follows it | group 4 is always set, and null in this case as there was no match, easy to check for with `$m[4] !== null` |
 
+PHPStan Extension
+-----------------
+
+To use the PHPStan extension if you do not use `phpstan/extension-installer` you can include `vendor/composer/pcre/extension.neon` in your PHPStan config.
+
+The extension provides much better type information for $matches as well as regex validation where possible.
+
 License
 -------
 

+ 13 - 5
vendor/composer/pcre/composer.json

@@ -20,9 +20,12 @@
         "php": "^7.4 || ^8.0"
     },
     "require-dev": {
-        "symfony/phpunit-bridge": "^5",
-        "phpstan/phpstan": "^1.3",
-        "phpstan/phpstan-strict-rules": "^1.1"
+        "phpunit/phpunit": "^8 || ^9",
+        "phpstan/phpstan": "^1.12 || ^2",
+        "phpstan/phpstan-strict-rules": "^1 || ^2"
+    },
+    "conflict": {
+        "phpstan/phpstan": "<1.11.10"
     },
     "autoload": {
         "psr-4": {
@@ -37,10 +40,15 @@
     "extra": {
         "branch-alias": {
             "dev-main": "3.x-dev"
+        },
+        "phpstan": {
+            "includes": [
+                "extension.neon"
+            ]
         }
     },
     "scripts": {
-        "test": "vendor/bin/simple-phpunit",
-        "phpstan": "phpstan analyse"
+        "test": "@php vendor/bin/phpunit",
+        "phpstan": "@php phpstan analyse"
     }
 }

+ 1 - 6
vendor/composer/pcre/src/PcreException.php

@@ -39,13 +39,8 @@ class PcreException extends \RuntimeException
             return preg_last_error_msg();
         }
 
-        // older php versions did not set the code properly in all cases
-        if (PHP_VERSION_ID < 70201 && $code === 0) {
-            return 'UNDEFINED_ERROR';
-        }
-
         $constants = get_defined_constants(true);
-        if (!isset($constants['pcre'])) {
+        if (!isset($constants['pcre']) || !is_array($constants['pcre'])) {
             return 'UNDEFINED_ERROR';
         }
 

+ 2 - 0
vendor/composer/pcre/src/Regex.php

@@ -43,6 +43,7 @@ class Regex
      */
     public static function matchStrictGroups(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchStrictGroupsResult
     {
+        // @phpstan-ignore composerPcre.maybeUnsafeStrictGroups
         $count = Preg::matchStrictGroups($pattern, $subject, $matches, $flags, $offset);
 
         return new MatchStrictGroupsResult($count, $matches);
@@ -87,6 +88,7 @@ class Regex
         self::checkOffsetCapture($flags, 'matchAllWithOffsets');
         self::checkSetOrder($flags);
 
+        // @phpstan-ignore composerPcre.maybeUnsafeStrictGroups
         $count = Preg::matchAllStrictGroups($pattern, $subject, $matches, $flags, $offset);
 
         return new MatchAllStrictGroupsResult($count, $matches);

+ 10 - 0
vendor/composer/semver/CHANGELOG.md

@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 This project adheres to [Semantic Versioning](http://semver.org/).
 
+### [3.4.2] 2024-07-12
+
+  * Fixed PHP 5.3 syntax error
+
+### [3.4.1] 2024-07-12
+
+  * Fixed normalizeStability's return type to enforce valid stabilities
+
 ### [3.4.0] 2023-08-31
 
   * Support larger major version numbers (#149)
@@ -179,6 +187,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
     - Namespace: `Composer\Test\Package\LinkConstraint` -> `Composer\Test\Semver\Constraint`
   * Changed: code style using php-cs-fixer.
 
+[3.4.2]: https://github.com/composer/semver/compare/3.4.1...3.4.2
+[3.4.1]: https://github.com/composer/semver/compare/3.4.0...3.4.1
 [3.4.0]: https://github.com/composer/semver/compare/3.3.2...3.4.0
 [3.3.2]: https://github.com/composer/semver/compare/3.3.1...3.3.2
 [3.3.1]: https://github.com/composer/semver/compare/3.3.0...3.3.1

+ 0 - 11
vendor/composer/semver/phpstan-baseline.neon

@@ -1,11 +0,0 @@
-parameters:
-	ignoreErrors:
-		-
-			message: "#^Parameter \\#1 \\$operator of class Composer\\\\Semver\\\\Constraint\\\\Constraint constructor expects '\\!\\='\\|'\\<'\\|'\\<\\='\\|'\\<\\>'\\|'\\='\\|'\\=\\='\\|'\\>'\\|'\\>\\=', non\\-falsy\\-string given\\.$#"
-			count: 1
-			path: src/VersionParser.php
-
-		-
-			message: "#^Strict comparison using \\=\\=\\= between null and non\\-empty\\-string will always evaluate to false\\.$#"
-			count: 2
-			path: src/VersionParser.php

+ 5 - 0
vendor/composer/semver/src/VersionParser.php

@@ -82,11 +82,16 @@ class VersionParser
      * @param string $stability
      *
      * @return string
+     * @phpstan-return 'stable'|'RC'|'beta'|'alpha'|'dev'
      */
     public static function normalizeStability($stability)
     {
         $stability = strtolower((string) $stability);
 
+        if (!in_array($stability, array('stable', 'rc', 'beta', 'alpha', 'dev'), true)) {
+            throw new \InvalidArgumentException('Invalid stability string "'.$stability.'", expected one of stable, RC, beta, alpha or dev');
+        }
+
         return $stability === 'rc' ? 'RC' : $stability;
     }
 

+ 2 - 11
vendor/composer/xdebug-handler/CHANGELOG.md

@@ -1,12 +1,5 @@
 ## [Unreleased]
 
-## [3.0.5] - 2024-05-06
-  * Fixed: fail restart if PHP_BINARY is not available
-
-## [3.0.4] - 2024-03-26
-  * Added: Functional tests.
-  * Fixed: Incompatibility with PHPUnit 10.
-
 ## [3.0.3] - 2022-02-25
   * Added: support for composer/pcre versions 2 and 3.
 
@@ -115,10 +108,8 @@
   * Break: the following class was renamed:
     - `Composer\XdebugHandler` -> `Composer\XdebugHandler\XdebugHandler`
 
-[Unreleased]: https://github.com/composer/xdebug-handler/compare/3.0.5...HEAD
-[3.0.5]: https://github.com/composer/xdebug-handler/compare/3.0.4...3.0.5
-[3.0.4]: https://github.com/composer/xdebug-handler/compare/3.0.3...3.0.4
-[3.0.3]: https://github.com/composer/xdebug-handler/compare/3.0.2...3.0.3
+[Unreleased]: https://github.com/composer/xdebug-handler/compare/3.0.3...HEAD
+[3.0.2]: https://github.com/composer/xdebug-handler/compare/3.0.2...3.0.3
 [3.0.2]: https://github.com/composer/xdebug-handler/compare/3.0.1...3.0.2
 [3.0.1]: https://github.com/composer/xdebug-handler/compare/3.0.0...3.0.1
 [3.0.0]: https://github.com/composer/xdebug-handler/compare/2.0.3...3.0.0

+ 4 - 11
vendor/composer/xdebug-handler/README.md

@@ -51,7 +51,6 @@ The constructor takes a single parameter, `$envPrefix`, which is upper-cased and
 * [Process configuration](#process-configuration)
 * [Troubleshooting](#troubleshooting)
 * [Extending the library](#extending-the-library)
-* [Examples](#examples)
 
 ### How it works
 
@@ -65,8 +64,6 @@ A temporary ini file is created from the loaded (and scanned) ini files, with an
     * The application runs and exits.
 * The main process exits with the exit code from the restarted process.
 
-See [Examples](#examples) for further information.
-
 #### Signal handling
 Asynchronous signal handling is automatically enabled if the pcntl extension is loaded. `SIGINT` is set to `SIG_IGN` in the parent
 process and restored to `SIG_DFL` in the restarted process (if no other handler has been set).
@@ -77,7 +74,7 @@ From PHP 7.4 on Windows, `CTRL+C` and `CTRL+BREAK` handling is automatically ena
 There are a few things to be aware of when running inside a restarted process.
 
 * Extensions set on the command-line will not be loaded.
-* Ini file locations will be reported as per the restart - see [getAllIniFiles()](#getallinifiles-array).
+* Ini file locations will be reported as per the restart - see [getAllIniFiles()](#getallinifiles).
 * Php sub-processes may be loaded with Xdebug enabled - see [Process configuration](#process-configuration).
 
 ### Helper methods
@@ -203,12 +200,12 @@ Uses environment variables to remove Xdebug from the new process and persist the
 
 >_If the new process calls a PHP sub-process, Xdebug will not be loaded in that sub-process._
 
-This strategy can be used in the restart by calling [setPersistent()](#setpersistent-self).
+This strategy can be used in the restart by calling [setPersistent()](#setpersistent).
 
 #### Sub-processes
 The `PhpConfig` helper class makes it easy to invoke a PHP sub-process (with or without Xdebug loaded), regardless of whether there has been a restart.
 
-Each of its methods returns an array of PHP options (to add to the command-line) and sets up the environment for the required strategy. The [getRestartSettings()](#getrestartsettings-array) method is used internally.
+Each of its methods returns an array of PHP options (to add to the command-line) and sets up the environment for the required strategy. The [getRestartSettings()](#getrestartsettings) method is used internally.
 
 * `useOriginal()` - Xdebug will be loaded in the new process.
 * `useStandard()` - Xdebug will **not** be loaded in the new process - see [standard settings](#standard-settings).
@@ -248,7 +245,7 @@ The API is defined by classes and their accessible elements that are not annotat
 By default the process will restart if Xdebug is loaded and not running with `xdebug.mode=off`. Extending this method allows an application to decide, by returning a boolean (or equivalent) value.
 It is only called if `MYAPP_ALLOW_XDEBUG` is empty, so it will not be called in the restarted process (where this variable contains internal data), or if the restart has been overridden.
 
-Note that the [setMainScript()](#setmainscriptstring-script-self) and [setPersistent()](#setpersistent-self) setters can be used here, if required.
+Note that the [setMainScript()](#setmainscriptscript) and [setPersistent()](#setpersistent) setters can be used here, if required.
 
 #### _restart(array $command): void_
 An application can extend this to modify the temporary ini file, its location given in the `tmpIni` property. New settings can be safely appended to the end of the data, which is `PHP_EOL` terminated.
@@ -297,9 +294,5 @@ class MyRestarter extends XdebugHandler
 }
 ```
 
-### Examples
-The `tests\App` directory contains command-line scripts that demonstrate the internal workings in a variety of scenarios.
-See [Functional Test Scripts](./tests/App/README.md).
-
 ## License
 composer/xdebug-handler is licensed under the MIT License, see the LICENSE file for details.

+ 4 - 4
vendor/composer/xdebug-handler/composer.json

@@ -14,7 +14,7 @@
         }
     ],
     "support": {
-        "irc": "ircs://irc.libera.chat:6697/composer",
+        "irc": "irc://irc.freenode.org/composer",
         "issues": "https://github.com/composer/xdebug-handler/issues"
     },
     "require": {
@@ -23,9 +23,9 @@
         "composer/pcre": "^1 || ^2 || ^3"
     },
     "require-dev": {
+        "symfony/phpunit-bridge": "^6.0",
         "phpstan/phpstan": "^1.0",
-        "phpstan/phpstan-strict-rules": "^1.1",
-        "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5"
+        "phpstan/phpstan-strict-rules": "^1.1"
     },
     "autoload": {
         "psr-4": {
@@ -38,7 +38,7 @@
         }
     },
     "scripts": {
-        "test": "@php vendor/bin/phpunit",
+        "test": "@php vendor/bin/simple-phpunit",
         "phpstan": "@php vendor/bin/phpstan analyse"
     }
 }

+ 0 - 1
vendor/composer/xdebug-handler/src/Process.php

@@ -41,7 +41,6 @@ class Process
         $quote = strpbrk($arg, " \t") !== false || $arg === '';
 
         $arg = Preg::replace('/(\\\\*)"/', '$1$1\\"', $arg, -1, $dquotes);
-        $dquotes = (bool) $dquotes;
 
         if ($meta) {
             $meta = $dquotes || Preg::isMatch('/%[^%]+%/', $arg);

+ 8 - 27
vendor/composer/xdebug-handler/src/Status.php

@@ -82,33 +82,14 @@ class Status
     public function report(string $op, ?string $data): void
     {
         if ($this->logger !== null || $this->debug) {
-            $param = (string) $data;
-
-            switch($op) {
-                case self::CHECK:
-                    $this->reportCheck($param);
-                    break;
-                case self::ERROR:
-                    $this->reportError($param);
-                    break;
-                case self::INFO:
-                    $this->reportInfo($param);
-                    break;
-                case self::NORESTART:
-                    $this->reportNoRestart();
-                    break;
-                case self::RESTART:
-                    $this->reportRestart();
-                    break;
-                case self::RESTARTED:
-                    $this->reportRestarted();
-                    break;
-                case self::RESTARTING:
-                    $this->reportRestarting($param);
-                    break;
-                default:
-                    throw new \InvalidArgumentException('Unknown op handler: '.$op);
+            $callable = [$this, 'report'.$op];
+
+            if (!is_callable($callable)) {
+                throw new \InvalidArgumentException('Unknown op handler: '.$op);
             }
+
+            $params = $data !== null ? [$data] : [];
+            call_user_func_array($callable, $params);
         }
     }
 
@@ -199,7 +180,7 @@ class Status
     {
         $text = sprintf('Process restarting (%s)', $this->getEnvAllow());
         $this->output($text);
-        $text = 'Running: '.$command;
+        $text = 'Running '.$command;
         $this->output($text);
     }
 

+ 49 - 103
vendor/composer/xdebug-handler/src/XdebugHandler.php

@@ -143,9 +143,9 @@ class XdebugHandler
         if (!((bool) $envArgs[0]) && $this->requiresRestart(self::$xdebugActive)) {
             // Restart required
             $this->notify(Status::RESTART);
-            $command = $this->prepareRestart();
 
-            if ($command !== null) {
+            if ($this->prepareRestart()) {
+                $command = $this->getCommand();
                 $this->restart($command);
             }
             return;
@@ -183,9 +183,9 @@ class XdebugHandler
      * Returns an array of php.ini locations with at least one entry
      *
      * The equivalent of calling php_ini_loaded_file then php_ini_scanned_files.
-     * The loaded ini location is the first entry and may be an empty string.
+     * The loaded ini location is the first entry and may be empty.
      *
-     * @return non-empty-list<string>
+     * @return string[]
      */
     public static function getAllIniFiles(): array
     {
@@ -267,7 +267,7 @@ class XdebugHandler
     /**
      * Allows an extending class to access the tmpIni
      *
-     * @param non-empty-list<string> $command
+     * @param string[] $command     *
      */
     protected function restart(array $command): void
     {
@@ -277,26 +277,24 @@ class XdebugHandler
     /**
      * Executes the restarted command then deletes the tmp ini
      *
-     * @param non-empty-list<string> $command
+     * @param string[] $command
      * @phpstan-return never
      */
     private function doRestart(array $command): void
     {
+        $this->tryEnableSignals();
+        $this->notify(Status::RESTARTING, implode(' ', $command));
+
         if (PHP_VERSION_ID >= 70400) {
             $cmd = $command;
-            $displayCmd = sprintf('[%s]', implode(', ', $cmd));
         } else {
             $cmd = Process::escapeShellCommand($command);
             if (defined('PHP_WINDOWS_VERSION_BUILD')) {
                 // Outer quotes required on cmd string below PHP 8
                 $cmd = '"'.$cmd.'"';
             }
-            $displayCmd = $cmd;
         }
 
-        $this->tryEnableSignals();
-        $this->notify(Status::RESTARTING, $displayCmd);
-
         $process = proc_open($cmd, [], $pipes);
         if (is_resource($process)) {
             $exitCode = proc_close($process);
@@ -320,74 +318,52 @@ class XdebugHandler
     }
 
     /**
-     * Returns the command line array if everything was written for the restart
+     * Returns true if everything was written for the restart
      *
      * If any of the following fails (however unlikely) we must return false to
      * stop potential recursion:
      *   - tmp ini file creation
      *   - environment variable creation
-     *
-     * @return non-empty-list<string>|null
      */
-    private function prepareRestart(): ?array
+    private function prepareRestart(): bool
     {
-        if (!$this->cli) {
-            $this->notify(Status::ERROR, 'Unsupported SAPI: '.PHP_SAPI);
-            return null;
-        }
-
-        if (($argv = $this->checkServerArgv()) === null) {
-            $this->notify(Status::ERROR, '$_SERVER[argv] is not as expected');
-            return null;
-        }
-
-        if (!$this->checkConfiguration($info)) {
-            $this->notify(Status::ERROR, $info);
-            return null;
-        }
-
-        $mainScript = (string) $this->script;
-        if (!$this->checkMainScript($mainScript, $argv)) {
-            $this->notify(Status::ERROR, 'Unable to access main script: '.$mainScript);
-            return null;
-        }
-
-        $tmpDir = sys_get_temp_dir();
-        $iniError = 'Unable to create temp ini file at: '.$tmpDir;
-
-        if (($tmpfile = @tempnam($tmpDir, '')) === false) {
-            $this->notify(Status::ERROR, $iniError);
-            return null;
-        }
-
         $error = null;
         $iniFiles = self::getAllIniFiles();
         $scannedInis = count($iniFiles) > 1;
+        $tmpDir = sys_get_temp_dir();
 
-        if (!$this->writeTmpIni($tmpfile, $iniFiles, $error)) {
-            $this->notify(Status::ERROR, $error ?? $iniError);
-            @unlink($tmpfile);
-            return null;
+        if (!$this->cli) {
+            $error = 'Unsupported SAPI: '.PHP_SAPI;
+        } elseif (!$this->checkConfiguration($info)) {
+            $error = $info;
+        } elseif (!$this->checkMainScript()) {
+            $error = 'Unable to access main script: '.$this->script;
+        } elseif (!$this->writeTmpIni($iniFiles, $tmpDir, $error)) {
+            $error = $error !== null ? $error : 'Unable to create temp ini file at: '.$tmpDir;
+        } elseif (!$this->setEnvironment($scannedInis, $iniFiles)) {
+            $error = 'Unable to set environment variables';
         }
 
-        if (!$this->setEnvironment($scannedInis, $iniFiles, $tmpfile)) {
-            $this->notify(Status::ERROR, 'Unable to set environment variables');
-            @unlink($tmpfile);
-            return null;
+        if ($error !== null) {
+            $this->notify(Status::ERROR, $error);
         }
 
-        $this->tmpIni = $tmpfile;
-
-        return $this->getCommand($argv, $tmpfile, $mainScript);
+        return $error === null;
     }
 
     /**
      * Returns true if the tmp ini file was written
      *
-     * @param non-empty-list<string> $iniFiles All ini files used in the current process
+     * @param string[] $iniFiles All ini files used in the current process
      */
-    private function writeTmpIni(string $tmpFile, array $iniFiles, ?string &$error): bool
+    private function writeTmpIni(array $iniFiles, string $tmpDir, ?string &$error): bool
     {
+        if (($tmpfile = @tempnam($tmpDir, '')) === false) {
+            return false;
+        }
+
+        $this->tmpIni = $tmpfile;
+
         // $iniFiles has at least one item and it may be empty
         if ($iniFiles[0] === '') {
             array_shift($iniFiles);
@@ -404,7 +380,7 @@ class XdebugHandler
                 return false;
             }
             // Check and remove directives after HOST and PATH sections
-            if (Preg::isMatchWithOffsets($sectionRegex, $data, $matches)) {
+            if (Preg::isMatchWithOffsets($sectionRegex, $data, $matches, PREG_OFFSET_CAPTURE)) {
                 $data = substr($data, 0, $matches[0][1]);
             }
             $content .= Preg::replace($xdebugRegex, ';$1', $data).PHP_EOL;
@@ -424,26 +400,25 @@ class XdebugHandler
         // Work-around for https://bugs.php.net/bug.php?id=75932
         $content .= 'opcache.enable_cli=0'.PHP_EOL;
 
-        return (bool) @file_put_contents($tmpFile, $content);
+        return (bool) @file_put_contents($this->tmpIni, $content);
     }
 
     /**
      * Returns the command line arguments for the restart
      *
-     * @param non-empty-list<string> $argv
-     * @return non-empty-list<string>
+     * @return string[]
      */
-    private function getCommand(array $argv, string $tmpIni, string $mainScript): array
+    private function getCommand(): array
     {
         $php = [PHP_BINARY];
-        $args = array_slice($argv, 1);
+        $args = array_slice($_SERVER['argv'], 1);
 
         if (!$this->persistent) {
             // Use command-line options
-            array_push($php, '-n', '-c', $tmpIni);
+            array_push($php, '-n', '-c', $this->tmpIni);
         }
 
-        return array_merge($php, [$mainScript], $args);
+        return array_merge($php, [$this->script], $args);
     }
 
     /**
@@ -451,9 +426,9 @@ class XdebugHandler
      *
      * No need to update $_SERVER since this is set in the restarted process.
      *
-     * @param non-empty-list<string> $iniFiles All ini files used in the current process
+     * @param string[] $iniFiles All ini files used in the current process
      */
-    private function setEnvironment(bool $scannedInis, array $iniFiles, string $tmpIni): bool
+    private function setEnvironment(bool $scannedInis, array $iniFiles): bool
     {
         $scanDir = getenv('PHP_INI_SCAN_DIR');
         $phprc = getenv('PHPRC');
@@ -465,7 +440,7 @@ class XdebugHandler
 
         if ($this->persistent) {
             // Use the environment to persist the settings
-            if (!putenv('PHP_INI_SCAN_DIR=') || !putenv('PHPRC='.$tmpIni)) {
+            if (!putenv('PHP_INI_SCAN_DIR=') || !putenv('PHPRC='.$this->tmpIni)) {
                 return false;
             }
         }
@@ -520,17 +495,15 @@ class XdebugHandler
 
     /**
      * Returns true if the script name can be used
-     *
-     * @param non-empty-list<string> $argv
      */
-    private function checkMainScript(string &$mainScript, array $argv): bool
+    private function checkMainScript(): bool
     {
-        if ($mainScript !== '') {
+        if ($this->script !== null) {
             // Allow an application to set -- for standard input
-            return file_exists($mainScript) || '--' === $mainScript;
+            return file_exists($this->script) || '--' === $this->script;
         }
 
-        if (file_exists($mainScript = $argv[0])) {
+        if (file_exists($this->script = $_SERVER['argv'][0])) {
             return true;
         }
 
@@ -539,7 +512,7 @@ class XdebugHandler
         $main = end($trace);
 
         if ($main !== false && isset($main['file'])) {
-            return file_exists($mainScript = $main['file']);
+            return file_exists($this->script = $main['file']);
         }
 
         return false;
@@ -548,7 +521,7 @@ class XdebugHandler
     /**
      * Adds restart settings to the environment
      *
-     * @param non-empty-list<string> $envArgs
+     * @param string[] $envArgs
      */
     private function setEnvRestartSettings(array $envArgs): void
     {
@@ -590,11 +563,6 @@ class XdebugHandler
             return false;
         }
 
-        if (!file_exists(PHP_BINARY)) {
-            $info = 'PHP_BINARY is not available';
-            return false;
-        }
-
         if (extension_loaded('uopz') && !((bool) ini_get('uopz.disable'))) {
             // uopz works at opcode level and disables exit calls
             if (function_exists('uopz_allow_exit')) {
@@ -651,28 +619,6 @@ class XdebugHandler
         }
     }
 
-    /**
-     * Returns $_SERVER['argv'] if it is as expected
-     *
-     * @return non-empty-list<string>|null
-     */
-    private function checkServerArgv(): ?array
-    {
-        $result = [];
-
-        if (isset($_SERVER['argv']) && is_array($_SERVER['argv'])) {
-            foreach ($_SERVER['argv'] as $value) {
-                if (!is_string($value)) {
-                    return null;
-                }
-
-                $result[] = $value;
-            }
-        }
-
-        return count($result) > 0 ? $result : null;
-    }
-
     /**
      * Sets static properties $xdebugActive, $xdebugVersion and $xdebugMode
      */

+ 122 - 0
vendor/friendsofphp/php-cs-fixer/CHANGELOG.md

@@ -3,6 +3,128 @@ CHANGELOG for PHP CS Fixer
 
 This file contains changelogs for stable releases only.
 
+Changelog for v3.64.0
+---------------------
+
+* feat: Symfony - adjust configuration for sets (#8188)
+* feat: Symfony.trailing_comma_in_multiline - adjust configuration (#8161)
+* feat: Update PSR2, PSR12 and PER-CS2 with `single_space_around_construct` config (#8171)
+* CI: Update PHPStan to 1.12.0 and fix the error that appeared (#8184)
+
+Changelog for v3.63.2
+---------------------
+
+* fix: `FullyQualifiedStrictTypesFixer` - reset cache even if there is no `use` (#8183)
+
+Changelog for v3.63.1
+---------------------
+
+* dummy release
+
+Changelog for v3.63.0
+---------------------
+
+* feat: Add `array_destructuring` as option for `trailing_comma_in_multiline` (#8172)
+* feat: remove braces even for single import (#8156)
+* feat: TrailingCommaInMultilineFixer - dynamically evaluate config against PHP version (#8167)
+* fix: Do not shorten FQN for class resolution if imported symbol is not a class (#7705)
+* fix: Ensure PHP binary path is used as a single CLI argument in parallel worker process (#8180)
+* fix: `PhpUnitAttributesFixer` - fix priorities with `PhpUnitDataProvider(.+)Fixer` (#8169)
+* chore: add  tags for data providers that will change PHPStan's baseline (#8178)
+* chore: add `@return` tags for data providers already having PHPDoc (#8176)
+* chore: add `@return` tags for data providers that do not have array in data (#8179)
+* chore: remove duplicates from data providers (#8164)
+* chore: remove duplicates from data providers that are copies in code (#8145)
+* chore: remove `beStrictAboutTodoAnnotatedTests` from PHPUnit's config (#8160)
+* CI: Update PHPStan to 1.11.10 (#8163)
+* CI: Update PHPStan to 1.11.11 and fix error that changed (#8174)
+* docs: fix indent on rule `date_time_create_from_format_call` (#8173)
+
+Changelog for v3.62.0
+---------------------
+
+* feat: set new_with_parentheses for anonymous_class to false in PER-CS2.0 (#8140)
+* chore: NewWithParenthesesFixer - create TODO to change the default configuration to match PER-CS2 (#8148)
+
+Changelog for v3.61.1
+---------------------
+
+* fix: `NoSuperfluousPhpdocTagsFixer` - fix "Undefined array key 0" error (#8150)
+
+Changelog for v3.61.0
+---------------------
+
+* feat: no_superfluous_phpdoc_tags - also cover ?type (#8125)
+* feat: support PHPUnit v9.1 naming for some asserts (#7997)
+* fix: Do not mangle non-whitespace token in `PhpdocIndentFixer` (#8147)
+* DX: add more typehints for `class-string` (#8139)
+* DX: refactor `ProjectCodeTest::provideDataProviderMethodCases` (#8138)
+
+Changelog for v3.60.0
+---------------------
+
+* feat: Add sprintf in the list of compiler optimized functions (#8092)
+* feat: `PhpUnitAttributesFixer` - add option to keep annotations (#8090)
+* chore: cleanup tests that had `@requires PHP 7.4` ages ago (#8122)
+* chore: cleanup `TokensAnalyzerTest` (#8123)
+* chore: fix example issue reported by reportPossiblyNonexistentGeneralArrayOffset from PHPStan (#8089)
+* chore: NoSuperfluousPhpdocTagsFixer - no need to call heavy toComparableNames method to add null type (#8132)
+* chore: PHPStan 11 array rules (#8011)
+* chore: PhpUnitSizeClassFixerTest - solve PHP 8.4 issues (#8105)
+* chore: reduce PHPStan errors in PhpUnitAttributesFixer (#8091)
+* chore: reuse test methods (#8119)
+* CI: check autoload (#8121)
+* CI: Update PHPStan to 1.11.8 (#8133)
+* deps: upgrade dev-tools (#8102)
+* DX: check for duplicated test data (#8131)
+* DX: check for duplicated test methods (#8124)
+* DX: check for duplicated test methods (as AutoReview test) (#8134)
+* DX: do not exclude duplicates that are clearly mistakes (#8135)
+* DX: Dump `offsetAccess.notFound` errors to baseline (#8107)
+* fix: Better way of walking types in `TypeExpression` (#8076)
+* fix: CI for PHP 8.4 (#8114)
+* fix: update `TokensTest` to shrink PHPStan's baseline (#8112)
+* fix: `no_useless_concat_operator` - do not break variable (2) (#7927)
+* fix: `NullableTypeDeclarationFixer` - don't convert standalone `null` into nullable union type (#8098)
+* fix: `NullableTypeDeclarationFixer` - don't convert standalone `NULL` into nullable union type (#8111)
+* fix: `NullableTypeDeclarationFixer` - insert correct token (#8118)
+* fix: `PhpUnitAttributesFixer` - handle multiple annotations of the same name (#8075)
+
+Changelog for v3.59.3
+---------------------
+
+* refactor: refactor to templated trait+interface (#7988)
+
+Changelog for v3.59.2
+---------------------
+
+* fix: "list" is reserved type (#8087)
+* chore: add missing type in method prototype (#8088)
+* CI: bump Ubuntu version (#8086)
+* deps: bump infection to unblock PHPUnit 11, and few more as chore (#8083)
+
+Changelog for v3.59.1
+---------------------
+
+* fix: Bump React's JSON decoder buffer size (#8068)
+* docs: options - handle enums in dicts (#8082)
+
+Changelog for v3.59.0
+---------------------
+
+* feat(Docker): Multi-arch build (support for `arm64`) (#8079)
+* feat: `@PhpCsFixer` ruleset - normalise implicit backslashes in single quoted strings (#7965)
+* feat: `SimpleToComplexStringVariableFixer` - support variable being an array (#8064)
+* fix: Look up for PHPDoc's variable name by only chars allowed in the variables (#8062)
+* fix: Update `PhpUnitTestCaseStaticMethodCallsFixer::STATIC_METHODS` (#8073)
+* fix: `native_constant_invocation` - array constants with native constant names (#8008)
+* chore: update PHPStan (#8060)
+* CI: Update PHPStan to 1.11.4 (#8074)
+* docs: don't expose list as config type for dicts (#8081)
+* docs: Make wording in `final_class` docs less dismissive (#8065)
+* docs: Update 1-bug_report.yml (#8067)
+* DX: Remove version from Docker Compose files (#8061)
+
 Changelog for v3.58.1
 ---------------------
 

+ 14 - 7
vendor/friendsofphp/php-cs-fixer/composer.json

@@ -46,16 +46,16 @@
         "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
     },
     "require-dev": {
-        "facile-it/paraunit": "^1.3 || ^2.0",
-        "infection/infection": "^0.27.11",
+        "facile-it/paraunit": "^1.3 || ^2.3",
+        "infection/infection": "^0.29.5",
         "justinrainbow/json-schema": "^5.2",
         "keradus/cli-executor": "^2.1",
         "mikey179/vfsstream": "^1.6.11",
         "php-coveralls/php-coveralls": "^2.7",
         "php-cs-fixer/accessible-object": "^1.1",
-        "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4",
-        "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4",
-        "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2",
+        "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5",
+        "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5",
+        "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2",
         "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
         "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
     },
@@ -66,12 +66,18 @@
     "autoload": {
         "psr-4": {
             "PhpCsFixer\\": "src/"
-        }
+        },
+        "exclude-from-classmap": [
+            "src/Fixer/Internal/*"
+        ]
     },
     "autoload-dev": {
         "psr-4": {
             "PhpCsFixer\\Tests\\": "tests/"
-        }
+        },
+        "exclude-from-classmap": [
+            "tests/Fixtures/"
+        ]
     },
     "bin": [
         "php-cs-fixer"
@@ -121,6 +127,7 @@
         "self-check": [
             "./dev-tools/check_file_permissions.sh",
             "./dev-tools/check_trailing_spaces.sh",
+            "@composer dump-autoload --dry-run --optimize --strict-psr",
             "@normalize",
             "@unused-deps",
             "@require-checker",

+ 12 - 10
vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php

@@ -26,6 +26,17 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
 
 /**
  * @internal
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  scalar_types?: bool,
+ *  union_types?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  scalar_types: bool,
+ *  union_types: bool
+ * }
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
  */
 abstract class AbstractDoctrineAnnotationFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
@@ -53,7 +64,7 @@ abstract class AbstractDoctrineAnnotationFixer extends AbstractFixer implements
 
             $doctrineAnnotationTokens = DoctrineAnnotationTokens::createFromDocComment(
                 $docCommentToken,
-                $this->configuration['ignored_tags']
+                $this->configuration['ignored_tags'] // @phpstan-ignore-line
             );
 
             $this->fixAnnotations($doctrineAnnotationTokens);
@@ -71,15 +82,6 @@ abstract class AbstractDoctrineAnnotationFixer extends AbstractFixer implements
         return new FixerConfigurationResolver([
             (new FixerOptionBuilder('ignored_tags', 'List of tags that must not be treated as Doctrine Annotations.'))
                 ->setAllowedTypes(['string[]'])
-                ->setAllowedValues([static function (array $values): bool {
-                    foreach ($values as $value) {
-                        if (!\is_string($value)) {
-                            return false;
-                        }
-                    }
-
-                    return true;
-                }])
                 ->setDefault([
                     // PHPDocumentor 1
                     'abstract',

+ 1 - 90
vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php

@@ -14,19 +14,11 @@ declare(strict_types=1);
 
 namespace PhpCsFixer;
 
-use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException;
-use PhpCsFixer\ConfigurationException\InvalidForEnvFixerConfigurationException;
 use PhpCsFixer\ConfigurationException\RequiredFixerConfigurationException;
-use PhpCsFixer\Console\Application;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\FixerInterface;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
-use PhpCsFixer\FixerConfiguration\DeprecatedFixerOption;
-use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
-use PhpCsFixer\FixerConfiguration\InvalidOptionsForEnvException;
 use PhpCsFixer\Tokenizer\Tokens;
-use Symfony\Component\OptionsResolver\Exception\ExceptionInterface;
-use Symfony\Component\OptionsResolver\Exception\MissingOptionsException;
 
 /**
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
@@ -35,21 +27,11 @@ use Symfony\Component\OptionsResolver\Exception\MissingOptionsException;
  */
 abstract class AbstractFixer implements FixerInterface
 {
-    /**
-     * @var null|array<string, mixed>
-     */
-    protected $configuration;
-
     /**
      * @var WhitespacesFixerConfig
      */
     protected $whitespacesConfig;
 
-    /**
-     * @var null|FixerConfigurationResolverInterface
-     */
-    private $configurationDefinition;
-
     public function __construct()
     {
         if ($this instanceof ConfigurableFixerInterface) {
@@ -67,7 +49,7 @@ abstract class AbstractFixer implements FixerInterface
 
     final public function fix(\SplFileInfo $file, Tokens $tokens): void
     {
-        if ($this instanceof ConfigurableFixerInterface && null === $this->configuration) {
+        if ($this instanceof ConfigurableFixerInterface && property_exists($this, 'configuration') && null === $this->configuration) {
             throw new RequiredFixerConfigurationException($this->getName(), 'Configuration is required.');
         }
 
@@ -99,68 +81,6 @@ abstract class AbstractFixer implements FixerInterface
         return true;
     }
 
-    /**
-     * @param array<string, mixed> $configuration
-     */
-    public function configure(array $configuration): void
-    {
-        if (!$this instanceof ConfigurableFixerInterface) {
-            throw new \LogicException('Cannot configure using Abstract parent, child not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".');
-        }
-
-        foreach ($this->getConfigurationDefinition()->getOptions() as $option) {
-            if (!$option instanceof DeprecatedFixerOption) {
-                continue;
-            }
-
-            $name = $option->getName();
-            if (\array_key_exists($name, $configuration)) {
-                Utils::triggerDeprecation(new \InvalidArgumentException(sprintf(
-                    'Option "%s" for rule "%s" is deprecated and will be removed in version %d.0. %s',
-                    $name,
-                    $this->getName(),
-                    Application::getMajorVersion() + 1,
-                    str_replace('`', '"', $option->getDeprecationMessage())
-                )));
-            }
-        }
-
-        try {
-            $this->configuration = $this->getConfigurationDefinition()->resolve($configuration);
-        } catch (MissingOptionsException $exception) {
-            throw new RequiredFixerConfigurationException(
-                $this->getName(),
-                sprintf('Missing required configuration: %s', $exception->getMessage()),
-                $exception
-            );
-        } catch (InvalidOptionsForEnvException $exception) {
-            throw new InvalidForEnvFixerConfigurationException(
-                $this->getName(),
-                sprintf('Invalid configuration for env: %s', $exception->getMessage()),
-                $exception
-            );
-        } catch (ExceptionInterface $exception) {
-            throw new InvalidFixerConfigurationException(
-                $this->getName(),
-                sprintf('Invalid configuration: %s', $exception->getMessage()),
-                $exception
-            );
-        }
-    }
-
-    public function getConfigurationDefinition(): FixerConfigurationResolverInterface
-    {
-        if (!$this instanceof ConfigurableFixerInterface) {
-            throw new \LogicException(sprintf('Cannot get configuration definition using Abstract parent, child "%s" not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".', static::class));
-        }
-
-        if (null === $this->configurationDefinition) {
-            $this->configurationDefinition = $this->createConfigurationDefinition();
-        }
-
-        return $this->configurationDefinition;
-    }
-
     public function setWhitespacesConfig(WhitespacesFixerConfig $config): void
     {
         if (!$this instanceof WhitespacesAwareFixerInterface) {
@@ -172,15 +92,6 @@ abstract class AbstractFixer implements FixerInterface
 
     abstract protected function applyFix(\SplFileInfo $file, Tokens $tokens): void;
 
-    protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
-    {
-        if (!$this instanceof ConfigurableFixerInterface) {
-            throw new \LogicException('Cannot create configuration definition using Abstract parent, child not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".');
-        }
-
-        throw new \LogicException('Not implemented.');
-    }
-
     private function getDefaultWhitespacesFixerConfig(): WhitespacesFixerConfig
     {
         static $defaultWhitespacesFixerConfig = null;

+ 14 - 0
vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocToTypeDeclarationFixer.php

@@ -18,6 +18,7 @@ use PhpCsFixer\DocBlock\Annotation;
 use PhpCsFixer\DocBlock\DocBlock;
 use PhpCsFixer\DocBlock\TypeExpression;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -31,9 +32,22 @@ use PhpCsFixer\Tokenizer\Tokens;
  * @internal
  *
  * @phpstan-type _CommonTypeInfo array{commonType: string, isNullable: bool}
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  scalar_types?: bool,
+ *  union_types?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  scalar_types: bool,
+ *  union_types: bool
+ * }
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
  */
 abstract class AbstractPhpdocToTypeDeclarationFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     private const REGEX_CLASS = '(?:\\\?+'.TypeExpression::REGEX_IDENTIFIER
         .'(\\\\'.TypeExpression::REGEX_IDENTIFIER.')*+)';
 

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php

@@ -76,7 +76,7 @@ final class Cache implements CacheInterface
         ]);
 
         if (JSON_ERROR_NONE !== json_last_error() || false === $json) {
-            throw new \UnexpectedValueException(sprintf(
+            throw new \UnexpectedValueException(\sprintf(
                 'Cannot encode cache signature to JSON, error: "%s". If you have non-UTF8 chars in your signature, like in license for `header_comment`, consider enabling `ext-mbstring` or install `symfony/polyfill-mbstring`.',
                 json_last_error_msg()
             ));
@@ -93,7 +93,7 @@ final class Cache implements CacheInterface
         $data = json_decode($json, true);
 
         if (null === $data && JSON_ERROR_NONE !== json_last_error()) {
-            throw new \InvalidArgumentException(sprintf(
+            throw new \InvalidArgumentException(\sprintf(
                 'Value needs to be a valid JSON string, got "%s", error: "%s".',
                 $json,
                 json_last_error_msg()
@@ -112,7 +112,7 @@ final class Cache implements CacheInterface
         $missingKeys = array_diff_key(array_flip($requiredKeys), $data);
 
         if (\count($missingKeys) > 0) {
-            throw new \InvalidArgumentException(sprintf(
+            throw new \InvalidArgumentException(\sprintf(
                 'JSON data is missing keys %s',
                 Utils::naturalLanguageJoin(array_keys($missingKeys))
             ));

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php

@@ -140,7 +140,7 @@ final class FileHandler implements FileHandlerInterface
 
         if ($this->fileInfo->isDir()) {
             throw new IOException(
-                sprintf('Cannot write cache file "%s" as the location exists as directory.', $this->fileInfo->getRealPath()),
+                \sprintf('Cannot write cache file "%s" as the location exists as directory.', $this->fileInfo->getRealPath()),
                 0,
                 null,
                 $this->fileInfo->getPathname()
@@ -149,7 +149,7 @@ final class FileHandler implements FileHandlerInterface
 
         if ($this->fileInfo->isFile() && !$this->fileInfo->isWritable()) {
             throw new IOException(
-                sprintf('Cannot write to file "%s" as it is not writable.', $this->fileInfo->getRealPath()),
+                \sprintf('Cannot write to file "%s" as it is not writable.', $this->fileInfo->getRealPath()),
                 0,
                 null,
                 $this->fileInfo->getPathname()
@@ -171,7 +171,7 @@ final class FileHandler implements FileHandlerInterface
 
         if (!@is_dir($dir)) {
             throw new IOException(
-                sprintf('Directory of cache file "%s" does not exists and couldn\'t be created.', $file),
+                \sprintf('Directory of cache file "%s" does not exists and couldn\'t be created.', $file),
                 0,
                 null,
                 $file

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php

@@ -30,7 +30,7 @@ class InvalidFixerConfigurationException extends InvalidConfigurationException
     public function __construct(string $fixerName, string $message, ?\Throwable $previous = null)
     {
         parent::__construct(
-            sprintf('[%s] %s', $fixerName, $message),
+            \sprintf('[%s] %s', $fixerName, $message),
             FixCommandExitStatusCalculator::EXIT_STATUS_FLAG_HAS_INVALID_FIXER_CONFIG,
             $previous
         );

+ 7 - 7
vendor/friendsofphp/php-cs-fixer/src/Console/Application.php

@@ -44,8 +44,8 @@ use Symfony\Component\Console\Output\OutputInterface;
 final class Application extends BaseApplication
 {
     public const NAME = 'PHP CS Fixer';
-    public const VERSION = '3.58.1';
-    public const VERSION_CODENAME = '7th Gear';
+    public const VERSION = '3.64.0';
+    public const VERSION_CODENAME = 'Space Sets';
 
     private ToolInfo $toolInfo;
     private ?Command $executedCommand = null;
@@ -89,7 +89,7 @@ final class Application extends BaseApplication
 
             if (\count($warnings) > 0) {
                 foreach ($warnings as $warning) {
-                    $stdErr->writeln(sprintf($stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s', $warning));
+                    $stdErr->writeln(\sprintf($stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s', $warning));
                 }
                 $stdErr->writeln('');
             }
@@ -107,7 +107,7 @@ final class Application extends BaseApplication
                 $stdErr->writeln('');
                 $stdErr->writeln($stdErr->isDecorated() ? '<bg=yellow;fg=black;>Detected deprecations in use:</>' : 'Detected deprecations in use:');
                 foreach ($triggeredDeprecations as $deprecation) {
-                    $stdErr->writeln(sprintf('- %s', $deprecation));
+                    $stdErr->writeln(\sprintf('- %s', $deprecation));
                 }
             }
         }
@@ -120,7 +120,7 @@ final class Application extends BaseApplication
      */
     public static function getAbout(bool $decorated = false): string
     {
-        $longVersion = sprintf('%s <info>%s</info>', self::NAME, self::VERSION);
+        $longVersion = \sprintf('%s <info>%s</info>', self::NAME, self::VERSION);
 
         $commit = '@git-commit@';
         $versionCommit = '';
@@ -131,8 +131,8 @@ final class Application extends BaseApplication
 
         $about = implode('', [
             $longVersion,
-            $versionCommit ? sprintf(' <info>(%s)</info>', $versionCommit) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
-            self::VERSION_CODENAME ? sprintf(' <info>%s</info>', self::VERSION_CODENAME) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
+            $versionCommit ? \sprintf(' <info>(%s)</info>', $versionCommit) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
+            self::VERSION_CODENAME ? \sprintf(' <info>%s</info>', self::VERSION_CODENAME) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
             ' by <comment>Fabien Potencier</comment>, <comment>Dariusz Ruminski</comment> and <comment>contributors</comment>.',
         ]);
 

+ 28 - 20
vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php

@@ -24,6 +24,7 @@ use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
 use PhpCsFixer\Fixer\ExperimentalFixerInterface;
 use PhpCsFixer\Fixer\FixerInterface;
+use PhpCsFixer\Fixer\InternalFixerInterface;
 use PhpCsFixer\FixerConfiguration\AliasedFixerOption;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\DeprecatedFixerOption;
@@ -130,7 +131,7 @@ final class DescribeCommand extends Command
 
             $this->describeList($output, $e->getType());
 
-            throw new \InvalidArgumentException(sprintf(
+            throw new \InvalidArgumentException(\sprintf(
                 '%s "%s" not found.%s',
                 ucfirst($e->getType()),
                 $name,
@@ -154,24 +155,24 @@ final class DescribeCommand extends Command
 
         $definition = $fixer->getDefinition();
 
-        $output->writeln(sprintf('<fg=blue>Description of the <info>`%s`</info> rule.</>', $name));
+        $output->writeln(\sprintf('<fg=blue>Description of the <info>`%s`</info> rule.</>', $name));
         $output->writeln('');
 
         if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
-            $output->writeln(sprintf('Fixer class: <comment>%s</comment>.', \get_class($fixer)));
+            $output->writeln(\sprintf('Fixer class: <comment>%s</comment>.', \get_class($fixer)));
             $output->writeln('');
         }
 
         if ($fixer instanceof DeprecatedFixerInterface) {
             $successors = $fixer->getSuccessorsNames();
             $message = [] === $successors
-                ? sprintf('it will be removed in version %d.0', Application::getMajorVersion() + 1)
-                : sprintf('use %s instead', Utils::naturalLanguageJoinWithBackticks($successors));
+                ? \sprintf('it will be removed in version %d.0', Application::getMajorVersion() + 1)
+                : \sprintf('use %s instead', Utils::naturalLanguageJoinWithBackticks($successors));
 
             $endMessage = '. '.ucfirst($message);
             Utils::triggerDeprecation(new \RuntimeException(str_replace('`', '"', "Rule \"{$name}\" is deprecated{$endMessage}.")));
             $message = Preg::replace('/(`[^`]+`)/', '<info>$1</info>', $message);
-            $output->writeln(sprintf('<error>DEPRECATED</error>: %s.', $message));
+            $output->writeln(\sprintf('<error>DEPRECATED</error>: %s.', $message));
             $output->writeln('');
         }
 
@@ -192,6 +193,13 @@ final class DescribeCommand extends Command
             $output->writeln('');
         }
 
+        if ($fixer instanceof InternalFixerInterface) {
+            $output->writeln('<error>Fixer applying this rule is INTERNAL.</error>.');
+            $output->writeln('It is expected to be used only on PHP CS Fixer project itself.');
+
+            $output->writeln('');
+        }
+
         if ($fixer->isRisky()) {
             $output->writeln('<error>Fixer applying this rule is RISKY.</error>');
 
@@ -208,7 +216,7 @@ final class DescribeCommand extends Command
             $configurationDefinition = $fixer->getConfigurationDefinition();
             $options = $configurationDefinition->getOptions();
 
-            $output->writeln(sprintf('Fixer is configurable using following option%s:', 1 === \count($options) ? '' : 's'));
+            $output->writeln(\sprintf('Fixer is configurable using following option%s:', 1 === \count($options) ? '' : 's'));
 
             foreach ($options as $option) {
                 $line = '* <info>'.OutputFormatter::escape($option->getName()).'</info>';
@@ -231,7 +239,7 @@ final class DescribeCommand extends Command
                 $line .= ': '.lcfirst(Preg::replace('/\.$/', '', $description)).'; ';
 
                 if ($option->hasDefault()) {
-                    $line .= sprintf(
+                    $line .= \sprintf(
                         'defaults to <comment>%s</comment>',
                         Utils::toString($option->getDefault())
                     );
@@ -282,7 +290,7 @@ final class DescribeCommand extends Command
             $differ = new FullDiffer();
             $diffFormatter = new DiffConsoleFormatter(
                 $output->isDecorated(),
-                sprintf(
+                \sprintf(
                     '<comment>   ---------- begin diff ----------</comment>%s%%s%s<comment>   ----------- end diff -----------</comment>',
                     PHP_EOL,
                     PHP_EOL
@@ -309,12 +317,12 @@ final class DescribeCommand extends Command
 
                 if ($fixer instanceof ConfigurableFixerInterface) {
                     if (null === $configuration) {
-                        $output->writeln(sprintf(' * Example #%d. Fixing with the <comment>default</comment> configuration.', $index + 1));
+                        $output->writeln(\sprintf(' * Example #%d. Fixing with the <comment>default</comment> configuration.', $index + 1));
                     } else {
-                        $output->writeln(sprintf(' * Example #%d. Fixing with configuration: <comment>%s</comment>.', $index + 1, Utils::toString($codeSample->getConfiguration())));
+                        $output->writeln(\sprintf(' * Example #%d. Fixing with configuration: <comment>%s</comment>.', $index + 1, Utils::toString($codeSample->getConfiguration())));
                     }
                 } else {
-                    $output->writeln(sprintf(' * Example #%d.', $index + 1));
+                    $output->writeln(\sprintf(' * Example #%d.', $index + 1));
                 }
 
                 $output->writeln([$diffFormatter->format($diff, '   %s'), '']);
@@ -330,9 +338,9 @@ final class DescribeCommand extends Command
 
             foreach ($ruleSetConfigs as $set => $config) {
                 if (null !== $config) {
-                    $output->writeln(sprintf('* <info>%s</info> with config: <comment>%s</comment>', $set, Utils::toString($config)));
+                    $output->writeln(\sprintf('* <info>%s</info> with config: <comment>%s</comment>', $set, Utils::toString($config)));
                 } else {
-                    $output->writeln(sprintf('* <info>%s</info> with <comment>default</comment> config', $set));
+                    $output->writeln(\sprintf('* <info>%s</info> with <comment>default</comment> config', $set));
                 }
             }
 
@@ -349,7 +357,7 @@ final class DescribeCommand extends Command
         $ruleSetDefinitions = RuleSets::getSetDefinitions();
         $fixers = $this->getFixers();
 
-        $output->writeln(sprintf('<fg=blue>Description of the <info>`%s`</info> set.</>', $ruleSetDefinitions[$name]->getName()));
+        $output->writeln(\sprintf('<fg=blue>Description of the <info>`%s`</info> set.</>', $ruleSetDefinitions[$name]->getName()));
         $output->writeln('');
 
         $output->writeln($this->replaceRstLinks($ruleSetDefinitions[$name]->getDescription()));
@@ -365,7 +373,7 @@ final class DescribeCommand extends Command
         foreach ($ruleSetDefinitions[$name]->getRules() as $rule => $config) {
             if (str_starts_with($rule, '@')) {
                 $set = $ruleSetDefinitions[$rule];
-                $help .= sprintf(
+                $help .= \sprintf(
                     " * <info>%s</info>%s\n   | %s\n\n",
                     $rule,
                     $set->isRisky() ? ' <error>risky</error>' : '',
@@ -379,12 +387,12 @@ final class DescribeCommand extends Command
             $fixer = $fixers[$rule];
 
             $definition = $fixer->getDefinition();
-            $help .= sprintf(
+            $help .= \sprintf(
                 " * <info>%s</info>%s\n   | %s\n%s\n",
                 $rule,
                 $fixer->isRisky() ? ' <error>risky</error>' : '',
                 $definition->getSummary(),
-                true !== $config ? sprintf("   <comment>| Configuration: %s</comment>\n", Utils::toString($config)) : ''
+                true !== $config ? \sprintf("   <comment>| Configuration: %s</comment>\n", Utils::toString($config)) : ''
             );
         }
 
@@ -440,7 +448,7 @@ final class DescribeCommand extends Command
 
             $items = $this->getSetNames();
             foreach ($items as $item) {
-                $output->writeln(sprintf('* <info>%s</info>', $item));
+                $output->writeln(\sprintf('* <info>%s</info>', $item));
             }
         }
 
@@ -449,7 +457,7 @@ final class DescribeCommand extends Command
 
             $items = array_keys($this->getFixers());
             foreach ($items as $item) {
-                $output->writeln(sprintf('* <info>%s</info>', $item));
+                $output->writeln(\sprintf('* <info>%s</info>', $item));
             }
         }
     }

+ 8 - 8
vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php

@@ -263,10 +263,10 @@ use Symfony\Component\Stopwatch\Stopwatch;
             $stdErr->writeln(Application::getAboutWithRuntime(true));
             $isParallel = $resolver->getParallelConfig()->getMaxProcesses() > 1;
 
-            $stdErr->writeln(sprintf(
+            $stdErr->writeln(\sprintf(
                 'Running analysis on %d core%s.',
                 $resolver->getParallelConfig()->getMaxProcesses(),
-                $isParallel ? sprintf(
+                $isParallel ? \sprintf(
                     's with %d file%s per process',
                     $resolver->getParallelConfig()->getFilesPerProcess(),
                     $resolver->getParallelConfig()->getFilesPerProcess() > 1 ? 's' : ''
@@ -275,26 +275,26 @@ use Symfony\Component\Stopwatch\Stopwatch;
 
             /** @TODO v4 remove warnings related to parallel runner */
             $usageDocs = 'https://cs.symfony.com/doc/usage.html';
-            $stdErr->writeln(sprintf(
+            $stdErr->writeln(\sprintf(
                 $stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s',
                 $isParallel
                     ? 'Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!'
-                    : sprintf(
+                    : \sprintf(
                         'You can enable parallel runner and speed up the analysis! Please see %s for more information.',
                         $stdErr->isDecorated()
-                            ? sprintf('<href=%s;bg=yellow;fg=red;bold>usage docs</>', OutputFormatter::escape($usageDocs))
+                            ? \sprintf('<href=%s;bg=yellow;fg=red;bold>usage docs</>', OutputFormatter::escape($usageDocs))
                             : $usageDocs
                     )
             ));
 
             $configFile = $resolver->getConfigFile();
-            $stdErr->writeln(sprintf('Loaded config <comment>%s</comment>%s.', $resolver->getConfig()->getName(), null === $configFile ? '' : ' from "'.$configFile.'"'));
+            $stdErr->writeln(\sprintf('Loaded config <comment>%s</comment>%s.', $resolver->getConfig()->getName(), null === $configFile ? '' : ' from "'.$configFile.'"'));
 
             if ($resolver->getUsingCache()) {
                 $cacheFile = $resolver->getCacheFile();
 
                 if (is_file($cacheFile)) {
-                    $stdErr->writeln(sprintf('Using cache file "%s".', $cacheFile));
+                    $stdErr->writeln(\sprintf('Using cache file "%s".', $cacheFile));
                 }
             }
         }
@@ -303,7 +303,7 @@ use Symfony\Component\Stopwatch\Stopwatch;
 
         if (null !== $stdErr && $resolver->configFinderIsOverridden()) {
             $stdErr->writeln(
-                sprintf($stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s', 'Paths from configuration file have been overridden by paths provided as command arguments.')
+                \sprintf($stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s', 'Paths from configuration file have been overridden by paths provided as command arguments.')
             );
         }
 

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListSetsCommand.php

@@ -80,7 +80,7 @@ final class ListSetsCommand extends Command
             $formats = $factory->getFormats();
             sort($formats);
 
-            throw new InvalidConfigurationException(sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
+            throw new InvalidConfigurationException(\sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
         }
 
         return $reporter;

+ 7 - 7
vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php

@@ -102,7 +102,7 @@ final class SelfUpdateCommand extends Command
             $latestVersion = $this->versionChecker->getLatestVersion();
             $latestVersionOfCurrentMajor = $this->versionChecker->getLatestVersionOfMajor($currentMajor);
         } catch (\Exception $exception) {
-            $output->writeln(sprintf(
+            $output->writeln(\sprintf(
                 '<error>Unable to determine newest version: %s</error>',
                 $exception->getMessage()
             ));
@@ -122,8 +122,8 @@ final class SelfUpdateCommand extends Command
             0 !== $this->versionChecker->compareVersions($latestVersionOfCurrentMajor, $latestVersion)
             && true !== $input->getOption('force')
         ) {
-            $output->writeln(sprintf('<info>A new major version of PHP CS Fixer is available</info> (<comment>%s</comment>)', $latestVersion));
-            $output->writeln(sprintf('<info>Before upgrading please read</info> https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/%s/UPGRADE-v%s.md', $latestVersion, $currentMajor + 1));
+            $output->writeln(\sprintf('<info>A new major version of PHP CS Fixer is available</info> (<comment>%s</comment>)', $latestVersion));
+            $output->writeln(\sprintf('<info>Before upgrading please read</info> https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/%s/UPGRADE-v%s.md', $latestVersion, $currentMajor + 1));
             $output->writeln('<info>If you are ready to upgrade run this command with</info> <comment>-f</comment>');
             $output->writeln('<info>Checking for new minor/patch version...</info>');
 
@@ -143,7 +143,7 @@ final class SelfUpdateCommand extends Command
         }
 
         if (!is_writable($localFilename)) {
-            $output->writeln(sprintf('<error>No permission to update</error> "%s" <error>file.</error>', $localFilename));
+            $output->writeln(\sprintf('<error>No permission to update</error> "%s" <error>file.</error>', $localFilename));
 
             return 1;
         }
@@ -152,7 +152,7 @@ final class SelfUpdateCommand extends Command
         $remoteFilename = $this->toolInfo->getPharDownloadUri($remoteTag);
 
         if (false === @copy($remoteFilename, $tempFilename)) {
-            $output->writeln(sprintf('<error>Unable to download new version</error> %s <error>from the server.</error>', $remoteTag));
+            $output->writeln(\sprintf('<error>Unable to download new version</error> %s <error>from the server.</error>', $remoteTag));
 
             return 1;
         }
@@ -162,7 +162,7 @@ final class SelfUpdateCommand extends Command
         $pharInvalidityReason = $this->pharChecker->checkFileValidity($tempFilename);
         if (null !== $pharInvalidityReason) {
             unlink($tempFilename);
-            $output->writeln(sprintf('<error>The download of</error> %s <error>is corrupt (%s).</error>', $remoteTag, $pharInvalidityReason));
+            $output->writeln(\sprintf('<error>The download of</error> %s <error>is corrupt (%s).</error>', $remoteTag, $pharInvalidityReason));
             $output->writeln('<error>Please re-run the "self-update" command to try again.</error>');
 
             return 1;
@@ -170,7 +170,7 @@ final class SelfUpdateCommand extends Command
 
         rename($tempFilename, $localFilename);
 
-        $output->writeln(sprintf('<info>PHP CS Fixer updated</info> (<comment>%s</comment> -> <comment>%s</comment>)', $currentVersion, $remoteTag));
+        $output->writeln(\sprintf('<info>PHP CS Fixer updated</info> (<comment>%s</comment> -> <comment>%s</comment>)', $currentVersion, $remoteTag));
 
         return 0;
     }

+ 2 - 2
vendor/friendsofphp/php-cs-fixer/src/Console/Command/WorkerCommand.php

@@ -110,7 +110,7 @@ final class WorkerCommand extends Command
         $loop = new StreamSelectLoop();
         $tcpConnector = new TcpConnector($loop);
         $tcpConnector
-            ->connect(sprintf('127.0.0.1:%d', $port))
+            ->connect(\sprintf('127.0.0.1:%d', $port))
             ->then(
                 /** @codeCoverageIgnore */
                 function (ConnectionInterface $connection) use ($loop, $runner, $identifier): void {
@@ -148,7 +148,7 @@ final class WorkerCommand extends Command
 
                         if (ParallelAction::RUNNER_REQUEST_ANALYSIS !== $action) {
                             // At this point we only expect analysis requests, if any other action happen, we need to fix the code.
-                            throw new \LogicException(sprintf('Unexpected action ParallelAction::%s.', $action));
+                            throw new \LogicException(\sprintf('Unexpected action ParallelAction::%s.', $action));
                         }
 
                         /** @var iterable<int, string> $files */

+ 16 - 16
vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php

@@ -348,7 +348,7 @@ final class ConfigurationResolver
                 );
 
                 if (\count($riskyFixers) > 0) {
-                    throw new InvalidConfigurationException(sprintf('The rules contain risky fixers (%s), but they are not allowed to run. Perhaps you forget to use --allow-risky=yes option?', Utils::naturalLanguageJoin($riskyFixers)));
+                    throw new InvalidConfigurationException(\sprintf('The rules contain risky fixers (%s), but they are not allowed to run. Perhaps you forget to use --allow-risky=yes option?', Utils::naturalLanguageJoin($riskyFixers)));
                 }
             }
         }
@@ -392,7 +392,7 @@ final class ConfigurationResolver
                             : $cwd.\DIRECTORY_SEPARATOR.$path;
 
                         if (!file_exists($absolutePath)) {
-                            throw new InvalidConfigurationException(sprintf(
+                            throw new InvalidConfigurationException(\sprintf(
                                 'The path "%s" is not readable.',
                                 $path
                             ));
@@ -422,7 +422,7 @@ final class ConfigurationResolver
                         ? ProgressOutputType::NONE
                         : ProgressOutputType::BAR;
                 } elseif (!\in_array($progressType, ProgressOutputType::all(), true)) {
-                    throw new InvalidConfigurationException(sprintf(
+                    throw new InvalidConfigurationException(\sprintf(
                         'The progress type "%s" is not defined, supported are %s.',
                         $progressType,
                         Utils::naturalLanguageJoin(ProgressOutputType::all())
@@ -452,7 +452,7 @@ final class ConfigurationResolver
                 $formats = $reporterFactory->getFormats();
                 sort($formats);
 
-                throw new InvalidConfigurationException(sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
+                throw new InvalidConfigurationException(\sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
             }
         }
 
@@ -551,7 +551,7 @@ final class ConfigurationResolver
 
         if (null !== $configFile) {
             if (false === file_exists($configFile) || false === is_readable($configFile)) {
-                throw new InvalidConfigurationException(sprintf('Cannot read config file "%s".', $configFile));
+                throw new InvalidConfigurationException(\sprintf('Cannot read config file "%s".', $configFile));
             }
 
             return [$configFile];
@@ -660,7 +660,7 @@ final class ConfigurationResolver
             $rules = json_decode($rules, true);
 
             if (JSON_ERROR_NONE !== json_last_error()) {
-                throw new InvalidConfigurationException(sprintf('Invalid JSON rules input: "%s".', json_last_error_msg()));
+                throw new InvalidConfigurationException(\sprintf('Invalid JSON rules input: "%s".', json_last_error_msg()));
             }
 
             return $rules;
@@ -701,7 +701,7 @@ final class ConfigurationResolver
 
         foreach ($rules as $key => $value) {
             if (\is_int($key)) {
-                throw new InvalidConfigurationException(sprintf('Missing value for "%s" rule/set.', $value));
+                throw new InvalidConfigurationException(\sprintf('Missing value for "%s" rule/set.', $value));
             }
 
             $ruleSet[$key] = true;
@@ -777,7 +777,7 @@ final class ConfigurationResolver
             foreach ($unknownFixers as $unknownFixer) {
                 if (isset($renamedRules[$unknownFixer])) { // Check if present as old renamed rule
                     $hasOldRule = true;
-                    $message .= sprintf(
+                    $message .= \sprintf(
                         '"%s" is renamed (did you mean "%s"?%s), ',
                         $unknownFixer,
                         $renamedRules[$unknownFixer]['new_name'],
@@ -786,7 +786,7 @@ final class ConfigurationResolver
                 } else { // Go to normal matcher if it is not a renamed rule
                     $matcher = new WordMatcher($availableFixers);
                     $alternative = $matcher->match($unknownFixer);
-                    $message .= sprintf(
+                    $message .= \sprintf(
                         '"%s"%s, ',
                         $unknownFixer,
                         null === $alternative ? '' : ' (did you mean "'.$alternative.'"?)'
@@ -808,8 +808,8 @@ final class ConfigurationResolver
             if (isset($rules[$fixerName]) && $fixer instanceof DeprecatedFixerInterface) {
                 $successors = $fixer->getSuccessorsNames();
                 $messageEnd = [] === $successors
-                    ? sprintf(' and will be removed in version %d.0.', Application::getMajorVersion() + 1)
-                    : sprintf('. Use %s instead.', str_replace('`', '"', Utils::naturalLanguageJoinWithBackticks($successors)));
+                    ? \sprintf(' and will be removed in version %d.0.', Application::getMajorVersion() + 1)
+                    : \sprintf('. Use %s instead.', str_replace('`', '"', Utils::naturalLanguageJoinWithBackticks($successors)));
 
                 Utils::triggerDeprecation(new \RuntimeException("Rule \"{$fixerName}\" is deprecated{$messageEnd}"));
             }
@@ -836,7 +836,7 @@ final class ConfigurationResolver
             $modes,
             true
         )) {
-            throw new InvalidConfigurationException(sprintf(
+            throw new InvalidConfigurationException(\sprintf(
                 'The path-mode "%s" is not defined, supported are %s.',
                 $this->options['path-mode'],
                 Utils::naturalLanguageJoin($modes)
@@ -926,7 +926,7 @@ final class ConfigurationResolver
     private function setOption(string $name, $value): void
     {
         if (!\array_key_exists($name, $this->options)) {
-            throw new InvalidConfigurationException(sprintf('Unknown option name: "%s".', $name));
+            throw new InvalidConfigurationException(\sprintf('Unknown option name: "%s".', $name));
         }
 
         $this->options[$name] = $value;
@@ -937,7 +937,7 @@ final class ConfigurationResolver
         $value = $this->options[$optionName];
 
         if (!\is_string($value)) {
-            throw new InvalidConfigurationException(sprintf('Expected boolean or string value for option "%s".', $optionName));
+            throw new InvalidConfigurationException(\sprintf('Expected boolean or string value for option "%s".', $optionName));
         }
 
         if ('yes' === $value) {
@@ -948,7 +948,7 @@ final class ConfigurationResolver
             return false;
         }
 
-        throw new InvalidConfigurationException(sprintf('Expected "yes" or "no" for option "%s", got "%s".', $optionName, $value));
+        throw new InvalidConfigurationException(\sprintf('Expected "yes" or "no" for option "%s", got "%s".', $optionName, $value));
     }
 
     private static function separatedContextLessInclude(string $path): ConfigInterface
@@ -957,7 +957,7 @@ final class ConfigurationResolver
 
         // verify that the config has an instance of Config
         if (!$config instanceof ConfigInterface) {
-            throw new InvalidConfigurationException(sprintf('The config file: "%s" does not return a "PhpCsFixer\ConfigInterface" instance. Got: "%s".', $path, \is_object($config) ? \get_class($config) : \gettype($config)));
+            throw new InvalidConfigurationException(\sprintf('The config file: "%s" does not return a "PhpCsFixer\ConfigInterface" instance. Got: "%s".', $path, \is_object($config) ? \get_class($config) : \gettype($config)));
         }
 
         return $config;

+ 9 - 9
vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php

@@ -44,7 +44,7 @@ final class ErrorOutput
      */
     public function listErrors(string $process, array $errors): void
     {
-        $this->output->writeln(['', sprintf(
+        $this->output->writeln(['', \sprintf(
             'Files that were not fixed due to errors reported during %s:',
             $process
         )]);
@@ -52,13 +52,13 @@ final class ErrorOutput
         $showDetails = $this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERY_VERBOSE;
         $showTrace = $this->output->getVerbosity() >= OutputInterface::VERBOSITY_DEBUG;
         foreach ($errors as $i => $error) {
-            $this->output->writeln(sprintf('%4d) %s', $i + 1, $error->getFilePath()));
+            $this->output->writeln(\sprintf('%4d) %s', $i + 1, $error->getFilePath()));
             $e = $error->getSource();
             if (!$showDetails || null === $e) {
                 continue;
             }
 
-            $class = sprintf('[%s]', \get_class($e));
+            $class = \sprintf('[%s]', \get_class($e));
             $message = $e->getMessage();
             $code = $e->getCode();
             if (0 !== $code) {
@@ -80,7 +80,7 @@ final class ErrorOutput
                     $line .= str_repeat(' ', $length - \strlen($line));
                 }
 
-                $this->output->writeln(sprintf('      <error>  %s  </error>', $this->prepareOutput($line)));
+                $this->output->writeln(\sprintf('      <error>  %s  </error>', $this->prepareOutput($line)));
             }
 
             if ($showTrace && !$e instanceof LintingException) { // stack trace of lint exception is of no interest
@@ -99,13 +99,13 @@ final class ErrorOutput
 
             if (Error::TYPE_LINT === $error->getType() && 0 < \count($error->getAppliedFixers())) {
                 $this->output->writeln('');
-                $this->output->writeln(sprintf('      Applied fixers: <comment>%s</comment>', implode(', ', $error->getAppliedFixers())));
+                $this->output->writeln(\sprintf('      Applied fixers: <comment>%s</comment>', implode(', ', $error->getAppliedFixers())));
 
                 $diff = $error->getDiff();
                 if (null !== $diff) {
                     $diffFormatter = new DiffConsoleFormatter(
                         $this->isDecorated,
-                        sprintf(
+                        \sprintf(
                             '<comment>      ---------- begin diff ----------</comment>%s%%s%s<comment>      ----------- end diff -----------</comment>',
                             PHP_EOL,
                             PHP_EOL
@@ -132,18 +132,18 @@ final class ErrorOutput
     private function outputTrace(array $trace): void
     {
         if (isset($trace['class'], $trace['type'], $trace['function'])) {
-            $this->output->writeln(sprintf(
+            $this->output->writeln(\sprintf(
                 '      <comment>%s</comment>%s<comment>%s()</comment>',
                 $this->prepareOutput($trace['class']),
                 $this->prepareOutput($trace['type']),
                 $this->prepareOutput($trace['function'])
             ));
         } elseif (isset($trace['function'])) {
-            $this->output->writeln(sprintf('      <comment>%s()</comment>', $this->prepareOutput($trace['function'])));
+            $this->output->writeln(\sprintf('      <comment>%s()</comment>', $this->prepareOutput($trace['function'])));
         }
 
         if (isset($trace['file'])) {
-            $this->output->writeln(sprintf('        in <info>%s</info> at line <info>%d</info>', $this->prepareOutput($trace['file']), $trace['line']));
+            $this->output->writeln(\sprintf('        in <info>%s</info> at line <info>%d</info>', $this->prepareOutput($trace['file']), $trace['line']));
         }
     }
 

+ 4 - 4
vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/DotsOutput.php

@@ -82,7 +82,7 @@ final class DotsOutput implements ProgressOutputInterface
     public function onFixerFileProcessed(FixerFileProcessedEvent $event): void
     {
         $status = self::$eventStatusMap[$event->getStatus()];
-        $this->getOutput()->write($this->getOutput()->isDecorated() ? sprintf($status['format'], $status['symbol']) : $status['symbol']);
+        $this->getOutput()->write($this->getOutput()->isDecorated() ? \sprintf($status['format'], $status['symbol']) : $status['symbol']);
 
         ++$this->processedFiles;
 
@@ -90,7 +90,7 @@ final class DotsOutput implements ProgressOutputInterface
         $isLast = $this->processedFiles === $this->context->getFilesCount();
 
         if (0 === $symbolsOnCurrentLine || $isLast) {
-            $this->getOutput()->write(sprintf(
+            $this->getOutput()->write(\sprintf(
                 '%s %'.\strlen((string) $this->context->getFilesCount()).'d / %d (%3d%%)',
                 $isLast && 0 !== $symbolsOnCurrentLine ? str_repeat(' ', $this->symbolsPerLine - $symbolsOnCurrentLine) : '',
                 $this->processedFiles,
@@ -114,10 +114,10 @@ final class DotsOutput implements ProgressOutputInterface
                 continue;
             }
 
-            $symbols[$symbol] = sprintf('%s-%s', $this->getOutput()->isDecorated() ? sprintf($status['format'], $symbol) : $symbol, $status['description']);
+            $symbols[$symbol] = \sprintf('%s-%s', $this->getOutput()->isDecorated() ? \sprintf($status['format'], $symbol) : $symbol, $status['description']);
         }
 
-        $this->getOutput()->write(sprintf("\nLegend: %s\n", implode(', ', $symbols)));
+        $this->getOutput()->write(\sprintf("\nLegend: %s\n", implode(', ', $symbols)));
     }
 
     private function getOutput(): OutputInterface

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/ProgressOutputFactory.php

@@ -38,7 +38,7 @@ final class ProgressOutputFactory
 
         if (!$this->isBuiltInType($outputType)) {
             throw new \InvalidArgumentException(
-                sprintf(
+                \sprintf(
                     'Something went wrong, "%s" output type is not supported',
                     $outputType
                 )

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/JunitReporter.php

@@ -59,7 +59,7 @@ final class JunitReporter implements ReporterInterface
         if ($reportSummary->getTime() > 0) {
             $testsuite->setAttribute(
                 'time',
-                sprintf(
+                \sprintf(
                     '%.3f',
                     $reportSummary->getTime() / 1_000
                 )

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/ReporterFactory.php

@@ -36,7 +36,7 @@ final class ReporterFactory
 
             foreach (SymfonyFinder::create()->files()->name('*Reporter.php')->in(__DIR__) as $file) {
                 $relativeNamespace = $file->getRelativePath();
-                $builtInReporters[] = sprintf(
+                $builtInReporters[] = \sprintf(
                     '%s\%s%s',
                     __NAMESPACE__,
                     '' !== $relativeNamespace ? $relativeNamespace.'\\' : '',
@@ -60,7 +60,7 @@ final class ReporterFactory
         $format = $reporter->getFormat();
 
         if (isset($this->reporters[$format])) {
-            throw new \UnexpectedValueException(sprintf('Reporter for format "%s" is already registered.', $format));
+            throw new \UnexpectedValueException(\sprintf('Reporter for format "%s" is already registered.', $format));
         }
 
         $this->reporters[$format] = $reporter;
@@ -82,7 +82,7 @@ final class ReporterFactory
     public function getReporter(string $format): ReporterInterface
     {
         if (!isset($this->reporters[$format])) {
-            throw new \UnexpectedValueException(sprintf('Reporter for format "%s" is not registered.', $format));
+            throw new \UnexpectedValueException(\sprintf('Reporter for format "%s" is not registered.', $format));
         }
 
         return $this->reporters[$format];

+ 4 - 4
vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/TextReporter.php

@@ -35,7 +35,7 @@ final class TextReporter implements ReporterInterface
         $identifiedFiles = 0;
         foreach ($reportSummary->getChanged() as $file => $fixResult) {
             ++$identifiedFiles;
-            $output .= sprintf('%4d) %s', $identifiedFiles, $file);
+            $output .= \sprintf('%4d) %s', $identifiedFiles, $file);
 
             if ($reportSummary->shouldAddAppliedFixers()) {
                 $output .= $this->getAppliedFixers(
@@ -62,7 +62,7 @@ final class TextReporter implements ReporterInterface
      */
     private function getAppliedFixers(bool $isDecoratedOutput, array $appliedFixers): string
     {
-        return sprintf(
+        return \sprintf(
             $isDecoratedOutput ? ' (<comment>%s</comment>)' : ' (%s)',
             implode(', ', $appliedFixers)
         );
@@ -74,7 +74,7 @@ final class TextReporter implements ReporterInterface
             return '';
         }
 
-        $diffFormatter = new DiffConsoleFormatter($isDecoratedOutput, sprintf(
+        $diffFormatter = new DiffConsoleFormatter($isDecoratedOutput, \sprintf(
             '<comment>      ---------- begin diff ----------</comment>%s%%s%s<comment>      ----------- end diff -----------</comment>',
             PHP_EOL,
             PHP_EOL
@@ -89,7 +89,7 @@ final class TextReporter implements ReporterInterface
             return '';
         }
 
-        return PHP_EOL.sprintf(
+        return PHP_EOL.\sprintf(
             '%s %d of %d %s in %.3f seconds, %.2f MB memory used'.PHP_EOL,
             $isDryRun ? 'Found' : 'Fixed',
             $identifiedFiles,

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/ReporterFactory.php

@@ -38,7 +38,7 @@ final class ReporterFactory
 
             foreach (SymfonyFinder::create()->files()->name('*Reporter.php')->in(__DIR__) as $file) {
                 $relativeNamespace = $file->getRelativePath();
-                $builtInReporters[] = sprintf(
+                $builtInReporters[] = \sprintf(
                     '%s\%s%s',
                     __NAMESPACE__,
                     '' !== $relativeNamespace ? $relativeNamespace.'\\' : '',
@@ -59,7 +59,7 @@ final class ReporterFactory
         $format = $reporter->getFormat();
 
         if (isset($this->reporters[$format])) {
-            throw new \UnexpectedValueException(sprintf('Reporter for format "%s" is already registered.', $format));
+            throw new \UnexpectedValueException(\sprintf('Reporter for format "%s" is already registered.', $format));
         }
 
         $this->reporters[$format] = $reporter;
@@ -81,7 +81,7 @@ final class ReporterFactory
     public function getReporter(string $format): ReporterInterface
     {
         if (!isset($this->reporters[$format])) {
-            throw new \UnexpectedValueException(sprintf('Reporter for format "%s" is not registered.', $format));
+            throw new \UnexpectedValueException(\sprintf('Reporter for format "%s" is not registered.', $format));
         }
 
         return $this->reporters[$format];

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/TextReporter.php

@@ -37,7 +37,7 @@ final class TextReporter implements ReporterInterface
         $output = '';
 
         foreach ($sets as $i => $set) {
-            $output .= sprintf('%2d) %s', $i + 1, $set->getName()).PHP_EOL.'      '.$set->getDescription().PHP_EOL;
+            $output .= \sprintf('%2d) %s', $i + 1, $set->getName()).PHP_EOL.'      '.$set->getDescription().PHP_EOL;
 
             if ($set->isRisky()) {
                 $output .= '      Set contains risky rules.'.PHP_EOL;

+ 2 - 2
vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClient.php

@@ -34,7 +34,7 @@ final class GithubClient implements GithubClientInterface
         );
 
         if (false === $result) {
-            throw new \RuntimeException(sprintf('Failed to load tags at "%s".', $this->url));
+            throw new \RuntimeException(\sprintf('Failed to load tags at "%s".', $this->url));
         }
 
         /**
@@ -47,7 +47,7 @@ final class GithubClient implements GithubClientInterface
          */
         $result = json_decode($result, true);
         if (JSON_ERROR_NONE !== json_last_error()) {
-            throw new \RuntimeException(sprintf(
+            throw new \RuntimeException(\sprintf(
                 'Failed to read response from "%s" as JSON: %s.',
                 $this->url,
                 json_last_error_msg()

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/WarningsDetector.php

@@ -50,7 +50,7 @@ final class WarningsDetector
         if ($this->toolInfo->isInstalledByComposer()) {
             $details = $this->toolInfo->getComposerInstallationDetails();
             if (ToolInfo::COMPOSER_LEGACY_PACKAGE_NAME === $details['name']) {
-                $this->warnings[] = sprintf(
+                $this->warnings[] = \sprintf(
                     'You are running PHP CS Fixer installed with old vendor `%s`. Please update to `%s`.',
                     ToolInfo::COMPOSER_LEGACY_PACKAGE_NAME,
                     ToolInfo::COMPOSER_PACKAGE_NAME

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Differ/DiffConsoleFormatter.php

@@ -42,7 +42,7 @@ final class DiffConsoleFormatter
             ? $this->template
             : Preg::replace('/<[^<>]+>/', '', $this->template);
 
-        return sprintf(
+        return \sprintf(
             $template,
             implode(
                 PHP_EOL,
@@ -61,7 +61,7 @@ final class DiffConsoleFormatter
                                         $colour = 'cyan';
                                     }
 
-                                    return sprintf('<fg=%s>%s</fg=%s>', $colour, OutputFormatter::escape($matches[0]), $colour);
+                                    return \sprintf('<fg=%s>%s</fg=%s>', $colour, OutputFormatter::escape($matches[0]), $colour);
                                 },
                                 $line,
                                 1,
@@ -73,7 +73,7 @@ final class DiffConsoleFormatter
                             }
                         }
 
-                        return sprintf($lineTemplate, $line);
+                        return \sprintf($lineTemplate, $line);
                     },
                     Preg::split('#\R#u', $diff)
                 )

+ 7 - 4
vendor/friendsofphp/php-cs-fixer/src/DocBlock/Annotation.php

@@ -171,14 +171,17 @@ final class Annotation
     }
 
     /**
-     * @return null|string
-     *
      * @internal
      */
-    public function getVariableName()
+    public function getVariableName(): ?string
     {
         $type = preg_quote($this->getTypesContent() ?? '', '/');
-        $regex = "/@{$this->tag->getName()}\\s+({$type}\\s*)?(&\\s*)?(\\.{3}\\s*)?(?<variable>\\$.+?)(?:[\\s*]|$)/";
+        $regex = \sprintf(
+            '/@%s\s+(%s\s*)?(&\s*)?(\.{3}\s*)?(?<variable>\$%s)(?:.*|$)/',
+            $this->tag->getName(),
+            $type,
+            TypeExpression::REGEX_IDENTIFIER
+        );
 
         if (Preg::match($regex, $this->lines[0]->getContent(), $matches)) {
             return $matches['variable'];

+ 22 - 6
vendor/friendsofphp/php-cs-fixer/src/DocBlock/TypeExpression.php

@@ -271,23 +271,37 @@ final class TypeExpression
      */
     public function walkTypes(\Closure $callback): void
     {
-        foreach (array_reverse($this->innerTypeExpressions) as [
-            'start_index' => $startIndex,
+        $innerValueOrig = $this->value;
+
+        $startIndexOffset = 0;
+
+        foreach ($this->innerTypeExpressions as [
+            'start_index' => $startIndexOrig,
             'expression' => $inner,
         ]) {
-            $initialValueLength = \strlen($inner->toString());
+            $innerLengthOrig = \strlen($inner->toString());
 
             $inner->walkTypes($callback);
 
             $this->value = substr_replace(
                 $this->value,
                 $inner->toString(),
-                $startIndex,
-                $initialValueLength
+                $startIndexOrig + $startIndexOffset,
+                $innerLengthOrig
             );
+
+            $startIndexOffset += \strlen($inner->toString()) - $innerLengthOrig;
         }
 
         $callback($this);
+
+        if ($this->value !== $innerValueOrig) {
+            $this->isUnionType = false;
+            $this->typesGlue = '|';
+            $this->innerTypeExpressions = [];
+
+            $this->parse();
+        }
     }
 
     /**
@@ -393,7 +407,9 @@ final class TypeExpression
             $consumedValueLength = \strlen($matches[0][0]);
             $index += $consumedValueLength;
 
-            if (\strlen($this->value) === $index) {
+            if (\strlen($this->value) <= $index) {
+                \assert(\strlen($this->value) === $index);
+
                 return;
             }
         }

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/DocLexer.php

@@ -151,7 +151,7 @@ final class DocLexer
     private function scan(string $input): void
     {
         if (!isset($this->regex)) {
-            $this->regex = sprintf(
+            $this->regex = \sprintf(
                 '/(%s)|%s/%s',
                 implode(')|(', $this->getCatchablePatterns()),
                 implode('|', $this->getNonCatchablePatterns()),

+ 2 - 2
vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Tokens.php

@@ -256,7 +256,7 @@ final class Tokens extends \SplFixedArray
                 $type = \get_class($token);
             }
 
-            throw new \InvalidArgumentException(sprintf('Token must be an instance of PhpCsFixer\Doctrine\Annotation\Token, "%s" given.', $type));
+            throw new \InvalidArgumentException(\sprintf('Token must be an instance of PhpCsFixer\Doctrine\Annotation\Token, "%s" given.', $type));
         }
 
         parent::offsetSet($index, $token);
@@ -270,7 +270,7 @@ final class Tokens extends \SplFixedArray
     public function offsetUnset($index): void
     {
         if (!isset($this[$index])) {
-            throw new \OutOfBoundsException(sprintf('Index "%s" is invalid or does not exist.', $index));
+            throw new \OutOfBoundsException(\sprintf('Index "%s" is invalid or does not exist.', $index));
         }
 
         $max = \count($this) - 1;

+ 5 - 5
vendor/friendsofphp/php-cs-fixer/src/Documentation/FixerDocumentGenerator.php

@@ -83,7 +83,7 @@ final class FixerDocumentGenerator
             $alternatives = $fixer->getSuccessorsNames();
 
             if (0 !== \count($alternatives)) {
-                $deprecationDescription .= RstUtils::toRst(sprintf(
+                $deprecationDescription .= RstUtils::toRst(\sprintf(
                     "\n\nYou should use %s instead.",
                     Utils::naturalLanguageJoinWithBackticks($alternatives)
                 ), 0);
@@ -167,7 +167,7 @@ final class FixerDocumentGenerator
                 if (null === $allowed) {
                     $allowedKind = 'Allowed types';
                     $allowed = array_map(
-                        static fn (string $value): string => '``'.(str_ends_with($value, '[]') ? sprintf('list<%s>', substr($value, 0, -2)) : $value).'``',
+                        static fn (string $value): string => '``'.Utils::convertArrayTypeToList($value).'``',
                         $option->getAllowedTypes(),
                     );
                 } else {
@@ -202,7 +202,7 @@ final class FixerDocumentGenerator
                 RST;
 
             foreach ($samples as $index => $sample) {
-                $title = sprintf('Example #%d', $index + 1);
+                $title = \sprintf('Example #%d', $index + 1);
                 $titleLine = str_repeat('~', \strlen($title));
                 $doc .= "\n\n{$title}\n{$titleLine}";
 
@@ -210,7 +210,7 @@ final class FixerDocumentGenerator
                     if (null === $sample->getConfiguration()) {
                         $doc .= "\n\n*Default* configuration.";
                     } else {
-                        $doc .= sprintf(
+                        $doc .= \sprintf(
                             "\n\nWith configuration: ``%s``.",
                             Utils::toString($sample->getConfiguration())
                         );
@@ -380,7 +380,7 @@ final class FixerDocumentGenerator
                    the sample is not suitable for current version of PHP (%s).
                 RST;
 
-            return sprintf($error, PHP_VERSION);
+            return \sprintf($error, PHP_VERSION);
         }
 
         $old = $sample->getCode();

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Documentation/RuleSetDocumentationGenerator.php

@@ -58,7 +58,7 @@ final class RuleSetDocumentationGenerator
 
             if (0 !== \count($alternatives)) {
                 $deprecationDescription .= RstUtils::toRst(
-                    sprintf(
+                    \sprintf(
                         "\n\nYou should use %s instead.",
                         Utils::naturalLanguageJoinWithBackticks($alternatives)
                     ),

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Error/SourceExceptionFactory.php

@@ -37,7 +37,7 @@ final class SourceExceptionFactory
             }
         } catch (\Throwable $e) {
             $exception = new \RuntimeException(
-                sprintf('[%s] %s', $exceptionClass, $error['message']),
+                \sprintf('[%s] %s', $exceptionClass, $error['message']),
                 $error['code']
             );
         }

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/FileReader.php

@@ -61,7 +61,7 @@ final class FileReader
         if (false === $content) {
             $error = error_get_last();
 
-            throw new \RuntimeException(sprintf(
+            throw new \RuntimeException(\sprintf(
                 'Failed to read content from "%s".%s',
                 $realPath,
                 null !== $error ? ' '.$error['message'] : ''

+ 48 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractPhpUnitFixer.php

@@ -19,6 +19,7 @@ use PhpCsFixer\DocBlock\DocBlock;
 use PhpCsFixer\DocBlock\Line;
 use PhpCsFixer\Indicator\PhpUnitTestCaseIndicator;
 use PhpCsFixer\Tokenizer\Analyzer\AttributeAnalyzer;
+use PhpCsFixer\Tokenizer\Analyzer\FunctionsAnalyzer;
 use PhpCsFixer\Tokenizer\Analyzer\NamespaceUsesAnalyzer;
 use PhpCsFixer\Tokenizer\Analyzer\WhitespacesAnalyzer;
 use PhpCsFixer\Tokenizer\CT;
@@ -98,6 +99,52 @@ abstract class AbstractPhpUnitFixer extends AbstractFixer
         return $tokens[$index]->isGivenKind(T_DOC_COMMENT);
     }
 
+    /**
+     * @return iterable<array{
+     *     index: int,
+     *     loweredName: string,
+     *     openBraceIndex: int,
+     *     closeBraceIndex: int,
+     * }>
+     */
+    protected function getPreviousAssertCall(Tokens $tokens, int $startIndex, int $endIndex): iterable
+    {
+        $functionsAnalyzer = new FunctionsAnalyzer();
+
+        for ($index = $endIndex; $index > $startIndex; --$index) {
+            $index = $tokens->getPrevTokenOfKind($index, [[T_STRING]]);
+
+            if (null === $index) {
+                return;
+            }
+
+            // test if "assert" something call
+            $loweredContent = strtolower($tokens[$index]->getContent());
+
+            if (!str_starts_with($loweredContent, 'assert')) {
+                continue;
+            }
+
+            // test candidate for simple calls like: ([\]+'some fixable call'(...))
+            $openBraceIndex = $tokens->getNextMeaningfulToken($index);
+
+            if (!$tokens[$openBraceIndex]->equals('(')) {
+                continue;
+            }
+
+            if (!$functionsAnalyzer->isTheSameClassCall($tokens, $index)) {
+                continue;
+            }
+
+            yield [
+                'index' => $index,
+                'loweredName' => $loweredContent,
+                'openBraceIndex' => $openBraceIndex,
+                'closeBraceIndex' => $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $openBraceIndex),
+            ];
+        }
+    }
+
     private function createDocBlock(Tokens $tokens, int $docBlockIndex, string $annotation): void
     {
         $lineEnd = $this->whitespacesConfig->getLineEnding();
@@ -138,6 +185,7 @@ abstract class AbstractPhpUnitFixer extends AbstractFixer
             }
         }
         $doc = $this->makeDocBlockMultiLineIfNeeded($doc, $tokens, $docBlockIndex, $annotation);
+
         $lines = $this->addInternalAnnotation($doc, $tokens, $docBlockIndex, $annotation);
         $lines = implode('', $lines);
 

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractShortOperatorFixer.php

@@ -241,7 +241,7 @@ abstract class AbstractShortOperatorFixer extends AbstractFixer
             return false;
         }
 
-        throw new \InvalidArgumentException(sprintf('Not supported operator "%s".', $operatorToken->toJson()));
+        throw new \InvalidArgumentException(\sprintf('Not supported operator "%s".', $operatorToken->toJson()));
     }
 
     private function belongsToSwitchOrAlternativeSyntax(AlternativeSyntaxAnalyzer $alternativeSyntaxAnalyzer, Tokens $tokens, int $index): bool

+ 33 - 18
vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoAliasFunctionsFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Alias;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -31,9 +32,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 /**
  * @author Vladimir Reznichenko <kalessil@gmail.com>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  sets?: list<'@all'|'@exif'|'@ftp'|'@IMAP'|'@internal'|'@ldap'|'@mbreg'|'@mysqli'|'@oci'|'@odbc'|'@openssl'|'@pcntl'|'@pg'|'@posix'|'@snmp'|'@sodium'|'@time'>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  sets: list<'@all'|'@exif'|'@ftp'|'@IMAP'|'@internal'|'@ldap'|'@mbreg'|'@mysqli'|'@oci'|'@odbc'|'@openssl'|'@pcntl'|'@pg'|'@posix'|'@snmp'|'@sodium'|'@time'>
+ * }
  */
 final class NoAliasFunctionsFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     private const SETS = [
         '@internal' => [
             'diskfreespace' => 'disk_free_space',
@@ -160,23 +173,6 @@ final class NoAliasFunctionsFixer extends AbstractFixer implements ConfigurableF
      */
     private array $aliases = [];
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->aliases = [];
-
-        foreach ($this->configuration['sets'] as $set) {
-            if ('@all' === $set) {
-                $this->aliases = array_merge(...array_values(self::SETS));
-
-                break;
-            }
-
-            $this->aliases = array_merge($this->aliases, self::SETS[$set]);
-        }
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -240,6 +236,25 @@ mbereg_search_getregs();
         return true;
     }
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->aliases = [];
+
+        foreach ($this->configuration['sets'] as $set) {
+            if ('@all' === $set) {
+                $this->aliases = array_merge(...array_values(self::SETS));
+
+                break;
+            }
+
+            if (!isset(self::SETS[$set])) {
+                throw new \LogicException(\sprintf('Set %s passed option validation, but not part of ::SETS.', $set));
+            }
+
+            $this->aliases = array_merge($this->aliases, self::SETS[$set]);
+        }
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
         $functionsAnalyzer = new FunctionsAnalyzer();
@@ -306,7 +321,7 @@ mbereg_search_getregs();
         $list = "List of sets to fix. Defined sets are:\n\n";
 
         foreach ($sets as $set => $description) {
-            $list .= sprintf("* `%s` (%s);\n", $set, $description);
+            $list .= \sprintf("* `%s` (%s);\n", $set, $description);
         }
 
         $list = rtrim($list, ";\n").'.';

+ 18 - 7
vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoMixedEchoPrintFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Alias;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -28,21 +29,26 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 /**
  * @author Sullivan Senechal <soullivaneuh@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  use?: 'echo'|'print'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  use: 'echo'|'print'
+ * }
  */
 final class NoMixedEchoPrintFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
      * @var T_ECHO|T_PRINT
      */
     private int $candidateTokenType;
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->candidateTokenType = 'echo' === $this->configuration['use'] ? T_PRINT : T_ECHO;
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -69,6 +75,11 @@ final class NoMixedEchoPrintFixer extends AbstractFixer implements ConfigurableF
         return $tokens->isTokenKindFound($this->candidateTokenType);
     }
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->candidateTokenType = 'echo' === $this->configuration['use'] ? T_PRINT : T_ECHO;
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
         foreach ($tokens as $index => $token) {

+ 15 - 15
vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/RandomApiMigrationFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Alias;
 
 use PhpCsFixer\AbstractFunctionReferenceFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -29,9 +30,21 @@ use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException;
 
 /**
  * @author Vladimir Reznichenko <kalessil@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  replacements?: array<string, string>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  replacements: array<string, string>
+ * }
  */
 final class RandomApiMigrationFixer extends AbstractFunctionReferenceFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
      * @var array<string, array<int, int>>
      */
@@ -43,11 +56,6 @@ final class RandomApiMigrationFixer extends AbstractFunctionReferenceFixer imple
         'random_int' => [0, 2],
     ];
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -119,23 +127,15 @@ final class RandomApiMigrationFixer extends AbstractFunctionReferenceFixer imple
     {
         return new FixerConfigurationResolver([
             (new FixerOptionBuilder('replacements', 'Mapping between replaced functions with the new ones.'))
-                ->setAllowedTypes(['array'])
+                ->setAllowedTypes(['array<string, string>'])
                 ->setAllowedValues([static function (array $value): bool {
                     foreach ($value as $functionName => $replacement) {
                         if (!\array_key_exists($functionName, self::$argumentCounts)) {
-                            throw new InvalidOptionsException(sprintf(
+                            throw new InvalidOptionsException(\sprintf(
                                 'Function "%s" is not handled by the fixer.',
                                 $functionName
                             ));
                         }
-
-                        if (!\is_string($replacement)) {
-                            throw new InvalidOptionsException(sprintf(
-                                'Replacement for function "%s" must be a string, "%s" given.',
-                                $functionName,
-                                get_debug_type($replacement)
-                            ));
-                        }
                     }
 
                     return true;

+ 1 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/SetTypeToCastFixer.php

@@ -149,6 +149,7 @@ settype($bar, "null");
             if ('null' === $type) {
                 $this->fixSettypeNullCall($tokens, $functionNameIndex, $argumentToken);
             } else {
+                \assert(isset($map[$type]));
                 $this->fixSettypeCall($tokens, $functionNameIndex, $argumentToken, new Token($map[$type]));
             }
         }

+ 18 - 7
vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/ArraySyntaxFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ArrayNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -30,21 +31,26 @@ use PhpCsFixer\Tokenizer\Tokens;
  * @author Gregor Harlan <gharlan@web.de>
  * @author Sebastiaan Stok <s.stok@rollerscapes.net>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  syntax?: 'long'|'short'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  syntax: 'long'|'short'
+ * }
  */
 final class ArraySyntaxFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
      * @var CT::T_ARRAY_SQUARE_BRACE_OPEN|T_ARRAY
      */
     private $candidateTokenKind;
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->resolveCandidateTokenKind();
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -76,6 +82,11 @@ final class ArraySyntaxFixer extends AbstractFixer implements ConfigurableFixerI
         return $tokens->isTokenKindFound($this->candidateTokenKind);
     }
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->resolveCandidateTokenKind();
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
         for ($index = $tokens->count() - 1; 0 <= $index; --$index) {

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoWhitespaceBeforeCommaInArrayFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ArrayNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -27,9 +28,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 /**
  * @author Adam Marczuk <adam@marczuk.info>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  after_heredoc?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  after_heredoc: bool
+ * }
  */
 final class NoWhitespaceBeforeCommaInArrayFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(

+ 6 - 2
vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NormalizeIndexBraceFixer.php

@@ -15,9 +15,10 @@ declare(strict_types=1);
 namespace PhpCsFixer\Fixer\ArrayNotation;
 
 use PhpCsFixer\AbstractFixer;
-use PhpCsFixer\FixerDefinition\CodeSample;
 use PhpCsFixer\FixerDefinition\FixerDefinition;
 use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
+use PhpCsFixer\FixerDefinition\VersionSpecification;
+use PhpCsFixer\FixerDefinition\VersionSpecificCodeSample;
 use PhpCsFixer\Tokenizer\CT;
 use PhpCsFixer\Tokenizer\Token;
 use PhpCsFixer\Tokenizer\Tokens;
@@ -31,7 +32,10 @@ final class NormalizeIndexBraceFixer extends AbstractFixer
     {
         return new FixerDefinition(
             'Array index should always be written by using square braces.',
-            [new CodeSample("<?php\necho \$sample{\$index};\n")]
+            [new VersionSpecificCodeSample(
+                "<?php\necho \$sample{\$index};\n",
+                new VersionSpecification(null, 8_04_00 - 1)
+            )]
         );
     }
 

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/WhitespaceAfterCommaInArrayFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ArrayNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -29,9 +30,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 /**
  * @author Adam Marczuk <adam@marczuk.info>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  ensure_single_space?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  ensure_single_space: bool
+ * }
  */
 final class WhitespaceAfterCommaInArrayFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/AttributeEmptyParenthesesFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\AttributeNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -28,9 +29,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 /**
  * @author HypeMC <hypemc@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  use_parentheses?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  use_parentheses: bool
+ * }
  */
 final class AttributeEmptyParenthesesFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(

+ 16 - 1
vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/OrderedAttributesFixer.php

@@ -17,6 +17,7 @@ namespace PhpCsFixer\Fixer\AttributeNotation;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -38,9 +39,23 @@ use Symfony\Component\OptionsResolver\Options;
  * @author HypeMC <hypemc@gmail.com>
  *
  * @phpstan-import-type _AttributeItems from AttributeAnalysis
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  order?: list<string>,
+ *  sort_algorithm?: 'alpha'|'custom'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  order: array<string, int>,
+ *  sort_algorithm: 'alpha'|'custom'
+ * }
  */
 final class OrderedAttributesFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public const ORDER_ALPHA = 'alpha';
     public const ORDER_CUSTOM = 'custom';
 
@@ -263,7 +278,7 @@ final class OrderedAttributesFixer extends AbstractFixer implements Configurable
                     ($this->configuration['order'][$b['name']] ?? PHP_INT_MAX);
             }
 
-            throw new \InvalidArgumentException(sprintf('Invalid sort algorithm "%s" provided.', $sortAlgorithm));
+            throw new \InvalidArgumentException(\sprintf('Invalid sort algorithm "%s" provided.', $sortAlgorithm));
         });
 
         return $elements;

+ 25 - 3
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 use PhpCsFixer\AbstractProxyFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\ControlStructure\ControlStructureBracesFixer;
 use PhpCsFixer\Fixer\ControlStructure\ControlStructureContinuationPositionFixer;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
@@ -37,9 +38,29 @@ use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
  *
  * @deprecated
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  allow_single_line_anonymous_class_with_empty_body?: bool,
+ *  allow_single_line_closure?: bool,
+ *  position_after_anonymous_constructs?: 'next'|'same',
+ *  position_after_control_structures?: 'next'|'same',
+ *  position_after_functions_and_oop_constructs?: 'next'|'same'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  allow_single_line_anonymous_class_with_empty_body: bool,
+ *  allow_single_line_closure: bool,
+ *  position_after_anonymous_constructs: 'next'|'same',
+ *  position_after_control_structures: 'next'|'same',
+ *  position_after_functions_and_oop_constructs: 'next'|'same'
+ * }
  */
 final class BracesFixer extends AbstractProxyFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface, DeprecatedFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
      * @internal
      */
@@ -152,10 +173,8 @@ class Foo
         return array_keys($this->proxyFixers);
     }
 
-    public function configure(array $configuration): void
+    protected function configurePostNormalisation(): void
     {
-        parent::configure($configuration);
-
         $this->getBracesPositionFixer()->configure([
             'control_structures_opening_brace' => $this->translatePositionOption($this->configuration['position_after_control_structures']),
             'functions_opening_brace' => $this->translatePositionOption($this->configuration['position_after_functions_and_oop_constructs']),
@@ -243,6 +262,9 @@ class Foo
         return $this->controlStructureContinuationPositionFixer;
     }
 
+    /**
+     * @return BracesPositionFixer::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END|BracesPositionFixer::SAME_LINE
+     */
     private function translatePositionOption(string $option): string
     {
         return self::LINE_NEXT === $option

+ 61 - 34
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesPositionFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\Indentation;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
@@ -30,8 +31,33 @@ use PhpCsFixer\Tokenizer\Token;
 use PhpCsFixer\Tokenizer\Tokens;
 use PhpCsFixer\Tokenizer\TokensAnalyzer;
 
+/**
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  allow_single_line_anonymous_functions?: bool,
+ *  allow_single_line_empty_anonymous_classes?: bool,
+ *  anonymous_classes_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  anonymous_functions_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  classes_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  control_structures_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  functions_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  allow_single_line_anonymous_functions: bool,
+ *  allow_single_line_empty_anonymous_classes: bool,
+ *  anonymous_classes_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  anonymous_functions_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  classes_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  control_structures_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  functions_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line'
+ * }
+ */
 final class BracesPositionFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     use Indentation;
 
     /**
@@ -144,6 +170,41 @@ $bar = function () { $result = true;
         return -2;
     }
 
+    /** @protected */
+    public function createConfigurationDefinition(): FixerConfigurationResolverInterface
+    {
+        return new FixerConfigurationResolver([
+            (new FixerOptionBuilder('control_structures_opening_brace', 'The position of the opening brace of control structures‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::SAME_LINE)
+                ->getOption(),
+            (new FixerOptionBuilder('functions_opening_brace', 'The position of the opening brace of functions‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END)
+                ->getOption(),
+            (new FixerOptionBuilder('anonymous_functions_opening_brace', 'The position of the opening brace of anonymous functions‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::SAME_LINE)
+                ->getOption(),
+            (new FixerOptionBuilder('classes_opening_brace', 'The position of the opening brace of classes‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END)
+                ->getOption(),
+            (new FixerOptionBuilder('anonymous_classes_opening_brace', 'The position of the opening brace of anonymous classes‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::SAME_LINE)
+                ->getOption(),
+            (new FixerOptionBuilder('allow_single_line_empty_anonymous_classes', 'Allow anonymous classes to have opening and closing braces on the same line.'))
+                ->setAllowedTypes(['bool'])
+                ->setDefault(true)
+                ->getOption(),
+            (new FixerOptionBuilder('allow_single_line_anonymous_functions', 'Allow anonymous functions to have opening and closing braces on the same line.'))
+                ->setAllowedTypes(['bool'])
+                ->setDefault(true)
+                ->getOption(),
+        ]);
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
         $classyTokens = Token::getClassyTokenKinds();
@@ -338,40 +399,6 @@ $bar = function () { $result = true;
         }
     }
 
-    protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
-    {
-        return new FixerConfigurationResolver([
-            (new FixerOptionBuilder('control_structures_opening_brace', 'The position of the opening brace of control structures‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::SAME_LINE)
-                ->getOption(),
-            (new FixerOptionBuilder('functions_opening_brace', 'The position of the opening brace of functions‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END)
-                ->getOption(),
-            (new FixerOptionBuilder('anonymous_functions_opening_brace', 'The position of the opening brace of anonymous functions‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::SAME_LINE)
-                ->getOption(),
-            (new FixerOptionBuilder('classes_opening_brace', 'The position of the opening brace of classes‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END)
-                ->getOption(),
-            (new FixerOptionBuilder('anonymous_classes_opening_brace', 'The position of the opening brace of anonymous classes‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::SAME_LINE)
-                ->getOption(),
-            (new FixerOptionBuilder('allow_single_line_empty_anonymous_classes', 'Allow anonymous classes to have opening and closing braces on the same line.'))
-                ->setAllowedTypes(['bool'])
-                ->setDefault(true)
-                ->getOption(),
-            (new FixerOptionBuilder('allow_single_line_anonymous_functions', 'Allow anonymous functions to have opening and closing braces on the same line.'))
-                ->setAllowedTypes(['bool'])
-                ->setDefault(true)
-                ->getOption(),
-        ]);
-    }
-
     private function findParenthesisEnd(Tokens $tokens, int $structureTokenIndex): int
     {
         $nextIndex = $tokens->getNextMeaningfulToken($structureTokenIndex);

+ 33 - 7
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/CurlyBracesPositionFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 use PhpCsFixer\AbstractProxyFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
 use PhpCsFixer\Fixer\Indentation;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
@@ -25,9 +26,33 @@ use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
 
 /**
  * @deprecated
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  allow_single_line_anonymous_functions?: bool,
+ *  allow_single_line_empty_anonymous_classes?: bool,
+ *  anonymous_classes_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  anonymous_functions_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  classes_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  control_structures_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  functions_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  allow_single_line_anonymous_functions: bool,
+ *  allow_single_line_empty_anonymous_classes: bool,
+ *  anonymous_classes_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  anonymous_functions_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  classes_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  control_structures_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  functions_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line'
+ * }
  */
 final class CurlyBracesPositionFixer extends AbstractProxyFixer implements ConfigurableFixerInterface, DeprecatedFixerInterface, WhitespacesAwareFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     use Indentation;
 
     /**
@@ -61,13 +86,6 @@ final class CurlyBracesPositionFixer extends AbstractProxyFixer implements Confi
         );
     }
 
-    public function configure(array $configuration): void
-    {
-        $this->bracesPositionFixer->configure($configuration);
-
-        parent::configure($configuration);
-    }
-
     /**
      * {@inheritdoc}
      *
@@ -86,6 +104,14 @@ final class CurlyBracesPositionFixer extends AbstractProxyFixer implements Confi
         ];
     }
 
+    /**
+     * @param _AutogeneratedInputConfiguration $configuration
+     */
+    protected function configurePreNormalisation(array $configuration): void
+    {
+        $this->bracesPositionFixer->configure($configuration);
+    }
+
     protected function createProxyFixers(): array
     {
         return [

+ 14 - 1
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NoTrailingCommaInSinglelineFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -27,8 +28,21 @@ use PhpCsFixer\Tokenizer\Analyzer\AttributeAnalyzer;
 use PhpCsFixer\Tokenizer\CT;
 use PhpCsFixer\Tokenizer\Tokens;
 
+/**
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  elements?: list<'arguments'|'array'|'array_destructuring'|'group_import'>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  elements: list<'arguments'|'array'|'array_destructuring'|'group_import'>
+ * }
+ */
 final class NoTrailingCommaInSinglelineFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -95,7 +109,6 @@ final class NoTrailingCommaInSinglelineFixer extends AbstractFixer implements Co
 
     private function shouldBeCleared(Tokens $tokens, int $openIndex): bool
     {
-        /** @var list<string> $elements */
         $elements = $this->configuration['elements'];
 
         if ($tokens[$openIndex]->isGivenKind(CT::T_ARRAY_SQUARE_BRACE_OPEN)) {

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NonPrintableCharacterFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -30,9 +31,21 @@ use PhpCsFixer\Tokenizer\Tokens;
  * Removes Zero-width space (ZWSP), Non-breaking space (NBSP) and other invisible unicode symbols.
  *
  * @author Ivan Boprzenkov <ivan.borzenkov@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  use_escape_sequences_in_strings?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  use_escape_sequences_in_strings: bool
+ * }
  */
 final class NonPrintableCharacterFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
      * @var array<string, array{string, string}>
      */

+ 15 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NumericLiteralSeparatorFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -35,9 +36,23 @@ use PhpCsFixer\Tokenizer\Tokens;
  *
  * @author Marvin Heilemann <marvin.heilemann+github@googlemail.com>
  * @author Greg Korba <greg@codito.dev>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  override_existing?: bool,
+ *  strategy?: 'no_separator'|'use_separator'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  override_existing: bool,
+ *  strategy: 'no_separator'|'use_separator'
+ * }
  */
 final class NumericLiteralSeparatorFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public const STRATEGY_USE_SEPARATOR = 'use_separator';
     public const STRATEGY_NO_SEPARATOR = 'no_separator';
 

+ 28 - 17
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/PsrAutoloadingFixer.php

@@ -17,6 +17,7 @@ namespace PhpCsFixer\Fixer\Basic;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\DocBlock\TypeExpression;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -35,9 +36,21 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
  * @author Bram Gotink <bram@gotink.me>
  * @author Graham Campbell <hello@gjcampbell.co.uk>
  * @author Kuba Werłos <werlos@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  dir?: null|string
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  dir: null|string
+ * }
  */
 final class PsrAutoloadingFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -64,21 +77,6 @@ class InvalidName {}
         );
     }
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        if (null !== $this->configuration['dir']) {
-            $realpath = realpath($this->configuration['dir']);
-
-            if (false === $realpath) {
-                throw new \InvalidArgumentException(sprintf('Failed to resolve configured directory "%s".', $this->configuration['dir']));
-            }
-
-            $this->configuration['dir'] = $realpath;
-        }
-    }
-
     public function isCandidate(Tokens $tokens): bool
     {
         return $tokens->isAnyTokenKindsFound(Token::getClassyTokenKinds());
@@ -115,7 +113,7 @@ class InvalidName {}
         }
 
         try {
-            $tokens = Tokens::fromCode(sprintf('<?php class %s {}', $file->getBasename('.php')));
+            $tokens = Tokens::fromCode(\sprintf('<?php class %s {}', $file->getBasename('.php')));
 
             if ($tokens[3]->isKeyword() || $tokens[3]->isMagicConstant()) {
                 // name cannot be a class name - detected by PHP 5.x
@@ -130,6 +128,19 @@ class InvalidName {}
         return !Preg::match('{[/\\\](stub|fixture)s?[/\\\]}i', $file->getRealPath());
     }
 
+    protected function configurePostNormalisation(): void
+    {
+        if (null !== $this->configuration['dir']) {
+            $realpath = realpath($this->configuration['dir']);
+
+            if (false === $realpath) {
+                throw new \InvalidArgumentException(\sprintf('Failed to resolve configured directory "%s".', $this->configuration['dir']));
+            }
+
+            $this->configuration['dir'] = $realpath;
+        }
+    }
+
     protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
     {
         return new FixerConfigurationResolver([
@@ -230,7 +241,7 @@ class InvalidName {}
         $namespaceParts = array_reverse(explode('\\', $maxNamespace));
 
         foreach ($namespaceParts as $namespacePart) {
-            $nameCandidate = sprintf('%s_%s', $namespacePart, $name);
+            $nameCandidate = \sprintf('%s_%s', $namespacePart, $name);
 
             if (strtolower($nameCandidate) !== strtolower(substr($currentName, -\strlen($nameCandidate)))) {
                 break;

+ 24 - 13
vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/ConstantCaseFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Casing;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -29,9 +30,21 @@ use PhpCsFixer\Tokenizer\Tokens;
  * Fixer for constants case.
  *
  * @author Pol Dellaiera <pol.dellaiera@protonmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  case?: 'lower'|'upper'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  case: 'lower'|'upper'
+ * }
  */
 final class ConstantCaseFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
      * Hold the function that will be used to convert the constants.
      *
@@ -39,19 +52,6 @@ final class ConstantCaseFixer extends AbstractFixer implements ConfigurableFixer
      */
     private $fixFunction;
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        if ('lower' === $this->configuration['case']) {
-            $this->fixFunction = static fn (string $content): string => strtolower($content);
-        }
-
-        if ('upper' === $this->configuration['case']) {
-            $this->fixFunction = static fn (string $content): string => strtoupper($content);
-        }
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -68,6 +68,17 @@ final class ConstantCaseFixer extends AbstractFixer implements ConfigurableFixer
         return $tokens->isTokenKindFound(T_STRING);
     }
 
+    protected function configurePostNormalisation(): void
+    {
+        if ('lower' === $this->configuration['case']) {
+            $this->fixFunction = static fn (string $content): string => strtolower($content);
+        }
+
+        if ('upper' === $this->configuration['case']) {
+            $this->fixFunction = static fn (string $content): string => strtoupper($content);
+        }
+    }
+
     protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
     {
         return new FixerConfigurationResolver([

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/CastSpacesFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\CastNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -27,9 +28,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 /**
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  space?: 'none'|'single'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  space: 'none'|'single'
+ * }
  */
 final class CastSpacesFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     private const INSIDE_CAST_SPACE_REPLACE_MAP = [
         ' ' => '',
         "\t" => '',

+ 26 - 15
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassAttributesSeparationFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -45,9 +46,21 @@ use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException;
  *      elements: non-empty-list<_Element>
  *  }
  * @phpstan-type _Element array{token: Token, type: string, index: int, start?: int, end?: int}
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  elements?: array<string, string>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  elements: array<string, string>
+ * }
  */
 final class ClassAttributesSeparationFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
      * @internal
      */
@@ -65,17 +78,6 @@ final class ClassAttributesSeparationFixer extends AbstractFixer implements Conf
      */
     private array $classElementTypes = [];
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->classElementTypes = []; // reset previous configuration
-
-        foreach ($this->configuration['elements'] as $elementType => $spacing) {
-            $this->classElementTypes[$elementType] = $spacing;
-        }
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -172,6 +174,15 @@ class Sample
         return $tokens->isAnyTokenKindsFound(Token::getClassyTokenKinds());
     }
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->classElementTypes = []; // reset previous configuration
+
+        foreach ($this->configuration['elements'] as $elementType => $spacing) {
+            $this->classElementTypes[$elementType] = $spacing;
+        }
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
         foreach ($this->getElementsByClass($tokens) as $class) {
@@ -199,14 +210,14 @@ class Sample
     {
         return new FixerConfigurationResolver([
             (new FixerOptionBuilder('elements', 'Dictionary of `const|method|property|trait_import|case` => `none|one|only_if_meta` values.'))
-                ->setAllowedTypes(['string[]'])
+                ->setAllowedTypes(['array<string, string>'])
                 ->setAllowedValues([static function (array $option): bool {
                     foreach ($option as $type => $spacing) {
                         $supportedTypes = ['const', 'method', 'property', 'trait_import', 'case'];
 
                         if (!\in_array($type, $supportedTypes, true)) {
                             throw new InvalidOptionsException(
-                                sprintf(
+                                \sprintf(
                                     'Unexpected element type, expected any of %s, got "%s".',
                                     Utils::naturalLanguageJoin($supportedTypes),
                                     \gettype($type).'#'.$type
@@ -218,7 +229,7 @@ class Sample
 
                         if (!\in_array($spacing, $supportedSpacings, true)) {
                             throw new InvalidOptionsException(
-                                sprintf(
+                                \sprintf(
                                     'Unexpected spacing for element type "%s", expected any of %s, got "%s".',
                                     $spacing,
                                     Utils::naturalLanguageJoin($supportedSpacings),
@@ -352,7 +363,7 @@ class Sample
             return $tokens[$aboveElementDocCandidateIndex]->isGivenKind([T_DOC_COMMENT, CT::T_ATTRIBUTE_CLOSE]) ? 2 : 1;
         }
 
-        throw new \RuntimeException(sprintf('Unknown spacing "%s".', $spacing));
+        throw new \RuntimeException(\sprintf('Unknown spacing "%s".', $spacing));
     }
 
     /**

+ 21 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassDefinitionFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -33,9 +34,29 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
  *
  * @phpstan-type _ClassExtendsInfo array{start: int, numberOfExtends: int, multiLine: bool}
  * @phpstan-type _ClassImplementsInfo array{start: int, numberOfImplements: int, multiLine: bool}
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  inline_constructor_arguments?: bool,
+ *  multi_line_extends_each_single_line?: bool,
+ *  single_item_single_line?: bool,
+ *  single_line?: bool,
+ *  space_before_parenthesis?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  inline_constructor_arguments: bool,
+ *  multi_line_extends_each_single_line: bool,
+ *  single_item_single_line: bool,
+ *  single_line: bool,
+ *  space_before_parenthesis: bool
+ * }
  */
 final class ClassDefinitionFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalClassFixer.php

@@ -39,7 +39,7 @@ class MyApp {}
             .'If you want to subclass a class, mark the parent class as abstract and create two child classes, one empty if necessary: you\'ll gain much more fine grained type-hinting. '
             .'If you need to mock a standalone class, create an interface, or maybe it\'s a value-object that shouldn\'t be mocked at all. '
             .'If you need to extend a standalone class, create an interface and use the Composite pattern. '
-            .'If you aren\'t ready yet for serious OOP, go with FinalInternalClassFixer, it\'s fine.',
+            .'If these rules are too strict for you, you can use `FinalInternalClassFixer` instead.',
             'Risky when subclassing non-abstract classes.'
         );
     }

+ 32 - 14
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalInternalClassFixer.php

@@ -18,6 +18,7 @@ use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException;
 use PhpCsFixer\DocBlock\DocBlock;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -34,9 +35,29 @@ use Symfony\Component\OptionsResolver\Options;
 
 /**
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  annotation_exclude?: list<string>,
+ *  annotation_include?: list<string>,
+ *  consider_absent_docblock_as_internal_class?: bool,
+ *  exclude?: list<string>,
+ *  include?: list<string>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  annotation_exclude: array<string, string>,
+ *  annotation_include: array<string, string>,
+ *  consider_absent_docblock_as_internal_class: bool,
+ *  exclude: array<string, string>,
+ *  include: array<string, string>
+ * }
  */
 final class FinalInternalClassFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     private const DEFAULTS = [
         'include' => [
             'internal',
@@ -61,13 +82,6 @@ final class FinalInternalClassFixer extends AbstractFixer implements Configurabl
         $this->checkAttributes = \PHP_VERSION_ID >= 8_00_00;
     }
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->assertConfigHasNoConflicts();
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(
@@ -108,6 +122,11 @@ final class FinalInternalClassFixer extends AbstractFixer implements Configurabl
         return true;
     }
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->assertConfigHasNoConflicts();
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
         $tokensAnalyzer = new TokensAnalyzer($tokens);
@@ -131,7 +150,7 @@ final class FinalInternalClassFixer extends AbstractFixer implements Configurabl
     {
         $annotationsAsserts = [static function (array $values): bool {
             foreach ($values as $value) {
-                if (!\is_string($value) || '' === $value) {
+                if ('' === $value) {
                     return false;
                 }
             }
@@ -321,8 +340,7 @@ final class FinalInternalClassFixer extends AbstractFixer implements Configurabl
 
     private function assertConfigHasNoConflicts(): void
     {
-        foreach (['include', 'exclude'] as $newConfigKey) {
-            $oldConfigKey = 'annotation_'.$newConfigKey;
+        foreach (['include' => 'annotation_include', 'exclude' => 'annotation_exclude'] as $newConfigKey => $oldConfigKey) {
             $defaults = [];
 
             foreach (self::DEFAULTS[$newConfigKey] as $foo) {
@@ -333,24 +351,24 @@ final class FinalInternalClassFixer extends AbstractFixer implements Configurabl
             $oldConfigIsSet = $this->configuration[$oldConfigKey] !== $defaults;
 
             if ($newConfigIsSet && $oldConfigIsSet) {
-                throw new InvalidFixerConfigurationException($this->getName(), sprintf('Configuration cannot contain deprecated option "%s" and new option "%s".', $oldConfigKey, $newConfigKey));
+                throw new InvalidFixerConfigurationException($this->getName(), \sprintf('Configuration cannot contain deprecated option "%s" and new option "%s".', $oldConfigKey, $newConfigKey));
             }
 
             if ($oldConfigIsSet) {
-                $this->configuration[$newConfigKey] = $this->configuration[$oldConfigKey];
+                $this->configuration[$newConfigKey] = $this->configuration[$oldConfigKey]; // @phpstan-ignore-line crazy mapping, to be removed while cleaning up deprecated options
                 $this->checkAttributes = false; // run in old mode
             }
 
             // if ($newConfigIsSet) - only new config is set, all good
             // if (!$newConfigIsSet && !$oldConfigIsSet) - both are set as to default values, all good
 
-            unset($this->configuration[$oldConfigKey]);
+            unset($this->configuration[$oldConfigKey]); // @phpstan-ignore-line crazy mapping, to be removed while cleaning up deprecated options
         }
 
         $intersect = array_intersect_assoc($this->configuration['include'], $this->configuration['exclude']);
 
         if (\count($intersect) > 0) {
-            throw new InvalidFixerConfigurationException($this->getName(), sprintf('Annotation cannot be used in both "include" and "exclude" list, got duplicates: %s.', Utils::naturalLanguageJoin(array_keys($intersect))));
+            throw new InvalidFixerConfigurationException($this->getName(), \sprintf('Annotation cannot be used in both "include" and "exclude" list, got duplicates: %s.', Utils::naturalLanguageJoin(array_keys($intersect))));
         }
     }
 }

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoUnneededFinalMethodFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -28,9 +29,21 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
 
 /**
  * @author Filippo Tessarotto <zoeslam@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  private_methods?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  private_methods: bool
+ * }
  */
 final class NoUnneededFinalMethodFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(

+ 60 - 45
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedClassElementsFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -40,9 +41,25 @@ use PhpCsFixer\Utils;
  *  name: string,
  *  end: int,
  * }
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  case_sensitive?: bool,
+ *  order?: list<string>,
+ *  sort_algorithm?: 'alpha'|'none'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  case_sensitive: bool,
+ *  order: list<string>,
+ *  sort_algorithm: 'alpha'|'none'
+ * }
  */
 final class OrderedClassElementsFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /** @internal */
     public const SORT_ALPHA = 'alpha';
 
@@ -110,50 +127,6 @@ final class OrderedClassElementsFixer extends AbstractFixer implements Configura
      */
     private array $typePosition;
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->typePosition = [];
-        $position = 0;
-
-        foreach ($this->configuration['order'] as $type) {
-            $this->typePosition[$type] = $position++;
-        }
-
-        foreach (self::$typeHierarchy as $type => $parents) {
-            if (isset($this->typePosition[$type])) {
-                continue;
-            }
-
-            if (null === $parents) {
-                $this->typePosition[$type] = null;
-
-                continue;
-            }
-
-            foreach ($parents as $parent) {
-                if (isset($this->typePosition[$parent])) {
-                    $this->typePosition[$type] = $this->typePosition[$parent];
-
-                    continue 2;
-                }
-            }
-
-            $this->typePosition[$type] = null;
-        }
-
-        $lastPosition = \count($this->configuration['order']);
-
-        foreach ($this->typePosition as &$pos) {
-            if (null === $pos) {
-                $pos = $lastPosition;
-            }
-
-            $pos *= 10; // last digit is used by phpunit method ordering
-        }
-    }
-
     public function isCandidate(Tokens $tokens): bool
     {
         return $tokens->isAnyTokenKindsFound(Token::getClassyTokenKinds());
@@ -255,6 +228,48 @@ Custom values:
         return 65;
     }
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->typePosition = [];
+        $position = 0;
+
+        foreach ($this->configuration['order'] as $type) {
+            $this->typePosition[$type] = $position++;
+        }
+
+        foreach (self::$typeHierarchy as $type => $parents) {
+            if (isset($this->typePosition[$type])) {
+                continue;
+            }
+
+            if (null === $parents) {
+                $this->typePosition[$type] = null;
+
+                continue;
+            }
+
+            foreach ($parents as $parent) {
+                if (isset($this->typePosition[$parent])) {
+                    $this->typePosition[$type] = $this->typePosition[$parent];
+
+                    continue 2;
+                }
+            }
+
+            $this->typePosition[$type] = null;
+        }
+
+        $lastPosition = \count($this->configuration['order']);
+
+        foreach ($this->typePosition as &$pos) {
+            if (null === $pos) {
+                $pos = $lastPosition;
+            }
+
+            $pos *= 10; // last digit is used by phpunit method ordering
+        }
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
         for ($i = 1, $count = $tokens->count(); $i < $count; ++$i) {
@@ -294,7 +309,7 @@ Custom values:
                                 return true;
                             }
 
-                            if (\is_string($value) && 'method:' === substr($value, 0, 7)) {
+                            if ('method:' === substr($value, 0, 7)) {
                                 return true;
                             }
                         }

+ 17 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedInterfacesFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -27,9 +28,25 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 /**
  * @author Dave van der Brugge <dmvdbrugge@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  case_sensitive?: bool,
+ *  direction?: 'ascend'|'descend',
+ *  order?: 'alpha'|'length'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  case_sensitive: bool,
+ *  direction: 'ascend'|'descend',
+ *  order: 'alpha'|'length'
+ * }
  */
 final class OrderedInterfacesFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /** @internal */
     public const OPTION_DIRECTION = 'direction';
 

+ 14 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedTraitsFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -25,8 +26,21 @@ use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
 use PhpCsFixer\Tokenizer\CT;
 use PhpCsFixer\Tokenizer\Tokens;
 
+/**
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  case_sensitive?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  case_sensitive: bool
+ * }
+ */
 final class OrderedTraitsFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(

+ 17 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedTypesFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -34,9 +35,25 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
 
 /**
  * @author John Paul E. Balandan, CPA <paulbalandan@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  case_sensitive?: bool,
+ *  null_adjustment?: 'always_first'|'always_last'|'none',
+ *  sort_algorithm?: 'alpha'|'none'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  case_sensitive: bool,
+ *  null_adjustment: 'always_first'|'always_last'|'none',
+ *  sort_algorithm: 'alpha'|'none'
+ * }
  */
 final class OrderedTypesFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(

+ 2 - 2
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ProtectedToPrivateFixer.php

@@ -86,7 +86,7 @@ final class Sample
         foreach ($this->tokensAnalyzer->getClassyElements() as $index => $element) {
             $classIndex = $element['classIndex'];
 
-            if (!\array_key_exists($classIndex, $classesCandidate)) {
+            if (!isset($classesCandidate[$classIndex])) {
                 $classesCandidate[$classIndex] = $this->isClassCandidate($tokens, $classIndex);
             }
 
@@ -130,7 +130,7 @@ final class Sample
      *   - an Enum (PHP8.1+)
      *   - a class, which:
      *     - is not anonymous
-     *     - is not final
+     *     - is final
      *     - does not use traits
      *     - does not extend other class.
      */

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SingleClassElementPerStatementFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
@@ -35,9 +36,21 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
  *
  * @author Javier Spagnoletti <phansys@gmail.com>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  elements?: list<'const'|'property'>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  elements: list<'const'|'property'>
+ * }
  */
 final class SingleClassElementPerStatementFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function isCandidate(Tokens $tokens): bool
     {
         return $tokens->isAnyTokenKindsFound(Token::getClassyTokenKinds());

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/VisibilityRequiredFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -32,9 +33,21 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
  * Fixer for rules defined in PSR2 ¶4.3, ¶4.5.
  *
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  elements?: list<'const'|'method'|'property'>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  elements: list<'const'|'method'|'property'>
+ * }
  */
 final class VisibilityRequiredFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     {
         return new FixerDefinition(

+ 14 - 3
vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/CommentToPhpdocFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Comment;
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -31,9 +32,21 @@ use PhpCsFixer\Utils;
 
 /**
  * @author Kuba Werłos <werlos@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  ignored_tags?: list<string>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  ignored_tags: list<string>
+ * }
  */
 final class CommentToPhpdocFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
      * @var list<string>
      */
@@ -74,10 +87,8 @@ final class CommentToPhpdocFixer extends AbstractFixer implements ConfigurableFi
         );
     }
 
-    public function configure(array $configuration): void
+    protected function configurePostNormalisation(): void
     {
-        parent::configure($configuration);
-
         $this->ignoredTags = array_map(
             static fn (string $tag): string => strtolower($tag),
             $this->configuration['ignored_tags']

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff