@averay/codeformat 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1215) hide show
  1. package/.editorconfig +1 -1
  2. package/.php-cs-fixer.cache +1 -0
  3. package/.php-cs-fixer.php +9 -0
  4. package/.prettierrc.json +3 -1
  5. package/.stylelintignore +2 -0
  6. package/README.md +19 -5
  7. package/bin/codeformat.ts +26 -0
  8. package/bin/tools/eslint.ts +16 -0
  9. package/bin/tools/index.ts +5 -0
  10. package/bin/tools/phpCsFixer.ts +17 -0
  11. package/bin/tools/prettier.ts +20 -0
  12. package/bin/tools/stylelint.ts +16 -0
  13. package/bin/tools/tsc.ts +12 -0
  14. package/bin/utils/Cli.ts +77 -0
  15. package/bin/utils/Output.ts +30 -0
  16. package/bin/utils/ToolRunner.ts +60 -0
  17. package/bin/utils/filesystem.ts +16 -0
  18. package/bin/utils/runners.ts +10 -0
  19. package/bin/utils/types.ts +22 -0
  20. package/composer.json +6 -0
  21. package/composer.lock +3231 -0
  22. package/eslint.config.js +26 -0
  23. package/lib/cssPatterns.ts +7 -0
  24. package/package.json +34 -30
  25. package/rulesets/eslint/ruleset-shared.ts +9 -5
  26. package/rulesets/eslint/ruleset-typescript.ts +30 -17
  27. package/rulesets/php/ruleset-php-cs-fixer.php +93 -0
  28. package/rulesets/stylelint/ruleset-css.ts +21 -5
  29. package/rulesets/stylelint/ruleset-scss.ts +7 -8
  30. package/src/makeStylelintConfig.ts +13 -5
  31. package/src/php/PhpCsFixerConfig.php +27 -0
  32. package/{stylelint.config.cjs → stylelint.config.js} +2 -2
  33. package/vendor/autoload.php +22 -0
  34. package/vendor/bin/php-cs-fixer +119 -0
  35. package/vendor/clue/ndjson-react/.github/FUNDING.yml +2 -0
  36. package/vendor/clue/ndjson-react/CHANGELOG.md +75 -0
  37. package/vendor/clue/ndjson-react/LICENSE +21 -0
  38. package/vendor/clue/ndjson-react/README.md +365 -0
  39. package/vendor/clue/ndjson-react/composer.json +31 -0
  40. package/vendor/clue/ndjson-react/src/Decoder.php +166 -0
  41. package/vendor/clue/ndjson-react/src/Encoder.php +144 -0
  42. package/vendor/composer/ClassLoader.php +579 -0
  43. package/vendor/composer/InstalledVersions.php +396 -0
  44. package/vendor/composer/LICENSE +21 -0
  45. package/vendor/composer/autoload_classmap.php +34 -0
  46. package/vendor/composer/autoload_files.php +18 -0
  47. package/vendor/composer/autoload_namespaces.php +9 -0
  48. package/vendor/composer/autoload_psr4.php +42 -0
  49. package/vendor/composer/autoload_real.php +48 -0
  50. package/vendor/composer/autoload_static.php +247 -0
  51. package/vendor/composer/installed.json +3634 -0
  52. package/vendor/composer/installed.php +367 -0
  53. package/vendor/composer/pcre/LICENSE +19 -0
  54. package/vendor/composer/pcre/README.md +189 -0
  55. package/vendor/composer/pcre/composer.json +54 -0
  56. package/vendor/composer/pcre/extension.neon +22 -0
  57. package/vendor/composer/pcre/src/MatchAllResult.php +46 -0
  58. package/vendor/composer/pcre/src/MatchAllStrictGroupsResult.php +46 -0
  59. package/vendor/composer/pcre/src/MatchAllWithOffsetsResult.php +48 -0
  60. package/vendor/composer/pcre/src/MatchResult.php +39 -0
  61. package/vendor/composer/pcre/src/MatchStrictGroupsResult.php +39 -0
  62. package/vendor/composer/pcre/src/MatchWithOffsetsResult.php +41 -0
  63. package/vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php +142 -0
  64. package/vendor/composer/pcre/src/PHPStan/PregMatchFlags.php +70 -0
  65. package/vendor/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php +65 -0
  66. package/vendor/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php +119 -0
  67. package/vendor/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php +91 -0
  68. package/vendor/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php +112 -0
  69. package/vendor/composer/pcre/src/PcreException.php +55 -0
  70. package/vendor/composer/pcre/src/Preg.php +430 -0
  71. package/vendor/composer/pcre/src/Regex.php +176 -0
  72. package/vendor/composer/pcre/src/ReplaceResult.php +43 -0
  73. package/vendor/composer/pcre/src/UnexpectedNullMatchException.php +20 -0
  74. package/vendor/composer/semver/CHANGELOG.md +229 -0
  75. package/vendor/composer/semver/LICENSE +19 -0
  76. package/vendor/composer/semver/README.md +99 -0
  77. package/vendor/composer/semver/composer.json +59 -0
  78. package/vendor/composer/semver/src/Comparator.php +113 -0
  79. package/vendor/composer/semver/src/CompilingMatcher.php +94 -0
  80. package/vendor/composer/semver/src/Constraint/Bound.php +122 -0
  81. package/vendor/composer/semver/src/Constraint/Constraint.php +435 -0
  82. package/vendor/composer/semver/src/Constraint/ConstraintInterface.php +75 -0
  83. package/vendor/composer/semver/src/Constraint/MatchAllConstraint.php +85 -0
  84. package/vendor/composer/semver/src/Constraint/MatchNoneConstraint.php +83 -0
  85. package/vendor/composer/semver/src/Constraint/MultiConstraint.php +325 -0
  86. package/vendor/composer/semver/src/Interval.php +98 -0
  87. package/vendor/composer/semver/src/Intervals.php +478 -0
  88. package/vendor/composer/semver/src/Semver.php +129 -0
  89. package/vendor/composer/semver/src/VersionParser.php +591 -0
  90. package/vendor/composer/xdebug-handler/CHANGELOG.md +143 -0
  91. package/vendor/composer/xdebug-handler/LICENSE +21 -0
  92. package/vendor/composer/xdebug-handler/README.md +305 -0
  93. package/vendor/composer/xdebug-handler/composer.json +44 -0
  94. package/vendor/composer/xdebug-handler/src/PhpConfig.php +91 -0
  95. package/vendor/composer/xdebug-handler/src/Process.php +119 -0
  96. package/vendor/composer/xdebug-handler/src/Status.php +222 -0
  97. package/vendor/composer/xdebug-handler/src/XdebugHandler.php +722 -0
  98. package/vendor/evenement/evenement/.gitattributes +7 -0
  99. package/vendor/evenement/evenement/LICENSE +19 -0
  100. package/vendor/evenement/evenement/README.md +64 -0
  101. package/vendor/evenement/evenement/composer.json +29 -0
  102. package/vendor/evenement/evenement/src/EventEmitter.php +17 -0
  103. package/vendor/evenement/evenement/src/EventEmitterInterface.php +22 -0
  104. package/vendor/evenement/evenement/src/EventEmitterTrait.php +154 -0
  105. package/vendor/fidry/cpu-core-counter/.envrc +5 -0
  106. package/vendor/fidry/cpu-core-counter/LICENSE.md +16 -0
  107. package/vendor/fidry/cpu-core-counter/README.md +138 -0
  108. package/vendor/fidry/cpu-core-counter/bin/diagnose.php +27 -0
  109. package/vendor/fidry/cpu-core-counter/bin/execute.php +21 -0
  110. package/vendor/fidry/cpu-core-counter/bin/trace.php +32 -0
  111. package/vendor/fidry/cpu-core-counter/composer.json +48 -0
  112. package/vendor/fidry/cpu-core-counter/src/CpuCoreCounter.php +268 -0
  113. package/vendor/fidry/cpu-core-counter/src/Diagnoser.php +101 -0
  114. package/vendor/fidry/cpu-core-counter/src/Executor/ProcOpenExecutor.php +56 -0
  115. package/vendor/fidry/cpu-core-counter/src/Executor/ProcessExecutor.php +22 -0
  116. package/vendor/fidry/cpu-core-counter/src/Finder/CmiCmdletLogicalFinder.php +46 -0
  117. package/vendor/fidry/cpu-core-counter/src/Finder/CmiCmdletPhysicalFinder.php +47 -0
  118. package/vendor/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php +37 -0
  119. package/vendor/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php +100 -0
  120. package/vendor/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php +57 -0
  121. package/vendor/fidry/cpu-core-counter/src/Finder/EnvVariableFinder.php +69 -0
  122. package/vendor/fidry/cpu-core-counter/src/Finder/FinderRegistry.php +91 -0
  123. package/vendor/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php +33 -0
  124. package/vendor/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php +33 -0
  125. package/vendor/fidry/cpu-core-counter/src/Finder/LscpuLogicalFinder.php +52 -0
  126. package/vendor/fidry/cpu-core-counter/src/Finder/LscpuPhysicalFinder.php +66 -0
  127. package/vendor/fidry/cpu-core-counter/src/Finder/NProcFinder.php +59 -0
  128. package/vendor/fidry/cpu-core-counter/src/Finder/NProcessorFinder.php +32 -0
  129. package/vendor/fidry/cpu-core-counter/src/Finder/NullCpuCoreFinder.php +35 -0
  130. package/vendor/fidry/cpu-core-counter/src/Finder/OnlyInPowerShellFinder.php +62 -0
  131. package/vendor/fidry/cpu-core-counter/src/Finder/OnlyOnOSFamilyFinder.php +113 -0
  132. package/vendor/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php +107 -0
  133. package/vendor/fidry/cpu-core-counter/src/Finder/SkipOnOSFamilyFinder.php +113 -0
  134. package/vendor/fidry/cpu-core-counter/src/Finder/WindowsRegistryLogicalFinder.php +51 -0
  135. package/vendor/fidry/cpu-core-counter/src/Finder/WmicLogicalFinder.php +47 -0
  136. package/vendor/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php +47 -0
  137. package/vendor/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php +32 -0
  138. package/vendor/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php +26 -0
  139. package/vendor/fidry/cpu-core-counter/src/ParallelisationResult.php +87 -0
  140. package/vendor/friendsofphp/php-cs-fixer/CHANGELOG.md +5983 -0
  141. package/vendor/friendsofphp/php-cs-fixer/CONTRIBUTING.md +103 -0
  142. package/vendor/friendsofphp/php-cs-fixer/LICENSE +19 -0
  143. package/vendor/friendsofphp/php-cs-fixer/README.md +88 -0
  144. package/vendor/friendsofphp/php-cs-fixer/UPGRADE-v3.md +162 -0
  145. package/vendor/friendsofphp/php-cs-fixer/ci-integration.sh +8 -0
  146. package/vendor/friendsofphp/php-cs-fixer/composer.json +210 -0
  147. package/vendor/friendsofphp/php-cs-fixer/feature-or-bug.rst +24 -0
  148. package/vendor/friendsofphp/php-cs-fixer/logo.md +3 -0
  149. package/vendor/friendsofphp/php-cs-fixer/logo.png +0 -0
  150. package/vendor/friendsofphp/php-cs-fixer/php-cs-fixer +110 -0
  151. package/vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php +241 -0
  152. package/vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php +102 -0
  153. package/vendor/friendsofphp/php-cs-fixer/src/AbstractFopenFlagFixer.php +116 -0
  154. package/vendor/friendsofphp/php-cs-fixer/src/AbstractFunctionReferenceFixer.php +71 -0
  155. package/vendor/friendsofphp/php-cs-fixer/src/AbstractNoUselessElseFixer.php +204 -0
  156. package/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocToTypeDeclarationFixer.php +314 -0
  157. package/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocTypesFixer.php +105 -0
  158. package/vendor/friendsofphp/php-cs-fixer/src/AbstractProxyFixer.php +106 -0
  159. package/vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php +151 -0
  160. package/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheInterface.php +35 -0
  161. package/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheManagerInterface.php +29 -0
  162. package/vendor/friendsofphp/php-cs-fixer/src/Cache/Directory.php +51 -0
  163. package/vendor/friendsofphp/php-cs-fixer/src/Cache/DirectoryInterface.php +23 -0
  164. package/vendor/friendsofphp/php-cs-fixer/src/Cache/FileCacheManager.php +143 -0
  165. package/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php +184 -0
  166. package/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandlerInterface.php +29 -0
  167. package/vendor/friendsofphp/php-cs-fixer/src/Cache/NullCacheManager.php +33 -0
  168. package/vendor/friendsofphp/php-cs-fixer/src/Cache/Signature.php +100 -0
  169. package/vendor/friendsofphp/php-cs-fixer/src/Cache/SignatureInterface.php +38 -0
  170. package/vendor/friendsofphp/php-cs-fixer/src/Config.php +267 -0
  171. package/vendor/friendsofphp/php-cs-fixer/src/ConfigInterface.php +162 -0
  172. package/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidConfigurationException.php +36 -0
  173. package/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php +45 -0
  174. package/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidForEnvFixerConfigurationException.php +22 -0
  175. package/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/RequiredFixerConfigurationException.php +22 -0
  176. package/vendor/friendsofphp/php-cs-fixer/src/Console/Application.php +212 -0
  177. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/CheckCommand.php +64 -0
  178. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php +476 -0
  179. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeNameNotFoundException.php +46 -0
  180. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DocumentationCommand.php +123 -0
  181. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php +397 -0
  182. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommandExitStatusCalculator.php +56 -0
  183. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/HelpCommand.php +76 -0
  184. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListFilesCommand.php +91 -0
  185. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListSetsCommand.php +87 -0
  186. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php +176 -0
  187. package/vendor/friendsofphp/php-cs-fixer/src/Console/Command/WorkerCommand.php +243 -0
  188. package/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php +961 -0
  189. package/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php +155 -0
  190. package/vendor/friendsofphp/php-cs-fixer/src/Console/Output/OutputContext.php +54 -0
  191. package/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/DotsOutput.php +124 -0
  192. package/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/NullOutput.php +29 -0
  193. package/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/PercentageBarOutput.php +78 -0
  194. package/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/ProgressOutputFactory.php +63 -0
  195. package/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/ProgressOutputInterface.php +27 -0
  196. package/vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/ProgressOutputType.php +37 -0
  197. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/CheckstyleReporter.php +71 -0
  198. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/GitlabReporter.php +96 -0
  199. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/JsonReporter.php +65 -0
  200. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/JunitReporter.php +145 -0
  201. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/ReportSummary.php +103 -0
  202. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/ReporterFactory.php +90 -0
  203. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/ReporterInterface.php +30 -0
  204. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/TextReporter.php +104 -0
  205. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/XmlReporter.php +136 -0
  206. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/JsonReporter.php +52 -0
  207. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/ReportSummary.php +48 -0
  208. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/ReporterFactory.php +89 -0
  209. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/ReporterInterface.php +30 -0
  210. package/vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/TextReporter.php +51 -0
  211. package/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClient.php +69 -0
  212. package/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClientInterface.php +26 -0
  213. package/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/NewVersionChecker.php +102 -0
  214. package/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/NewVersionCheckerInterface.php +37 -0
  215. package/vendor/friendsofphp/php-cs-fixer/src/Console/WarningsDetector.php +76 -0
  216. package/vendor/friendsofphp/php-cs-fixer/src/Differ/DiffConsoleFormatter.php +85 -0
  217. package/vendor/friendsofphp/php-cs-fixer/src/Differ/DifferInterface.php +26 -0
  218. package/vendor/friendsofphp/php-cs-fixer/src/Differ/FullDiffer.php +46 -0
  219. package/vendor/friendsofphp/php-cs-fixer/src/Differ/NullDiffer.php +26 -0
  220. package/vendor/friendsofphp/php-cs-fixer/src/Differ/UnifiedDiffer.php +47 -0
  221. package/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Annotation.php +319 -0
  222. package/vendor/friendsofphp/php-cs-fixer/src/DocBlock/DocBlock.php +250 -0
  223. package/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Line.php +128 -0
  224. package/vendor/friendsofphp/php-cs-fixer/src/DocBlock/ShortDescription.php +65 -0
  225. package/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Tag.php +102 -0
  226. package/vendor/friendsofphp/php-cs-fixer/src/DocBlock/TagComparator.php +66 -0
  227. package/vendor/friendsofphp/php-cs-fixer/src/DocBlock/TypeExpression.php +857 -0
  228. package/vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/DocLexer.php +171 -0
  229. package/vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Token.php +87 -0
  230. package/vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Tokens.php +303 -0
  231. package/vendor/friendsofphp/php-cs-fixer/src/Documentation/DocumentationLocator.php +82 -0
  232. package/vendor/friendsofphp/php-cs-fixer/src/Documentation/FixerDocumentGenerator.php +415 -0
  233. package/vendor/friendsofphp/php-cs-fixer/src/Documentation/RstUtils.php +45 -0
  234. package/vendor/friendsofphp/php-cs-fixer/src/Documentation/RuleSetDocumentationGenerator.php +174 -0
  235. package/vendor/friendsofphp/php-cs-fixer/src/Error/Error.php +125 -0
  236. package/vendor/friendsofphp/php-cs-fixer/src/Error/ErrorsManager.php +83 -0
  237. package/vendor/friendsofphp/php-cs-fixer/src/Error/SourceExceptionFactory.php +62 -0
  238. package/vendor/friendsofphp/php-cs-fixer/src/ExecutorWithoutErrorHandler.php +58 -0
  239. package/vendor/friendsofphp/php-cs-fixer/src/ExecutorWithoutErrorHandlerException.php +22 -0
  240. package/vendor/friendsofphp/php-cs-fixer/src/FileReader.php +70 -0
  241. package/vendor/friendsofphp/php-cs-fixer/src/FileRemoval.php +100 -0
  242. package/vendor/friendsofphp/php-cs-fixer/src/Finder.php +35 -0
  243. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractIncrementOperatorFixer.php +58 -0
  244. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractPhpUnitFixer.php +278 -0
  245. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractShortOperatorFixer.php +264 -0
  246. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/ArrayPushFixer.php +207 -0
  247. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/BacktickToShellExecFixer.php +149 -0
  248. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/EregToPregFixer.php +193 -0
  249. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/MbStrFunctionsFixer.php +180 -0
  250. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/ModernizeStrposFixer.php +338 -0
  251. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoAliasFunctionsFixer.php +337 -0
  252. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoAliasLanguageConstructCallFixer.php +59 -0
  253. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoMixedEchoPrintFixer.php +142 -0
  254. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/PowToExponentiationFixer.php +219 -0
  255. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/RandomApiMigrationFixer.php +153 -0
  256. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/SetTypeToCastFixer.php +240 -0
  257. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/ArraySyntaxFixer.php +138 -0
  258. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoMultilineWhitespaceAroundDoubleArrowFixer.php +80 -0
  259. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoTrailingCommaInSinglelineArrayFixer.php +52 -0
  260. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoWhitespaceBeforeCommaInArrayFixer.php +153 -0
  261. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NormalizeIndexBraceFixer.php +57 -0
  262. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/ReturnToYieldFromFixer.php +105 -0
  263. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/TrimArraySpacesFixer.php +97 -0
  264. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/WhitespaceAfterCommaInArrayFixer.php +150 -0
  265. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/YieldFromArrayToYieldsFixer.php +189 -0
  266. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/AttributeEmptyParenthesesFixer.php +136 -0
  267. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/GeneralAttributeRemoveFixer.php +142 -0
  268. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/OrderedAttributesFixer.php +274 -0
  269. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesFixer.php +268 -0
  270. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesPositionFixer.php +449 -0
  271. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/CurlyBracesPositionFixer.php +126 -0
  272. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/EncodingFixer.php +80 -0
  273. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NoMultipleStatementsPerLineFixer.php +111 -0
  274. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NoTrailingCommaInSinglelineFixer.php +162 -0
  275. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NonPrintableCharacterFixer.php +191 -0
  276. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NumericLiteralSeparatorFixer.php +232 -0
  277. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/OctalNotationFixer.php +64 -0
  278. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/PsrAutoloadingFixer.php +291 -0
  279. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/SingleLineEmptyBodyFixer.php +83 -0
  280. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/ClassReferenceNameCasingFixer.php +168 -0
  281. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/ConstantCaseFixer.php +130 -0
  282. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/IntegerLiteralCaseFixer.php +62 -0
  283. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/LowercaseKeywordsFixer.php +67 -0
  284. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/LowercaseStaticReferenceFixer.php +107 -0
  285. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/MagicConstantCasingFixer.php +92 -0
  286. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/MagicMethodCasingFixer.php +202 -0
  287. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/NativeFunctionCasingFixer.php +89 -0
  288. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/NativeFunctionTypeDeclarationCasingFixer.php +58 -0
  289. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/NativeTypeDeclarationCasingFixer.php +151 -0
  290. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/CastSpacesFixer.php +131 -0
  291. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/LowercaseCastFixer.php +66 -0
  292. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/ModernizeTypesCastingFixer.php +164 -0
  293. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/NoShortBoolCastFixer.php +88 -0
  294. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/NoUnsetCastFixer.php +88 -0
  295. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/ShortScalarCastFixer.php +71 -0
  296. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassAttributesSeparationFixer.php +605 -0
  297. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassDefinitionFixer.php +572 -0
  298. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalClassFixer.php +67 -0
  299. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalInternalClassFixer.php +374 -0
  300. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalPublicMethodForAbstractClassFixer.php +160 -0
  301. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoBlankLinesAfterClassOpeningFixer.php +93 -0
  302. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoNullPropertyInitializationFixer.php +141 -0
  303. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoPhp4ConstructorFixer.php +408 -0
  304. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoUnneededFinalMethodFixer.php +215 -0
  305. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedClassElementsFixer.php +610 -0
  306. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedInterfacesFixer.php +272 -0
  307. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedTraitsFixer.php +226 -0
  308. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedTypesFixer.php +453 -0
  309. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/PhpdocReadonlyClassCommentToKeywordFixer.php +129 -0
  310. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ProtectedToPrivateFixer.php +168 -0
  311. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SelfAccessorFixer.php +200 -0
  312. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SelfStaticAccessorFixer.php +224 -0
  313. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SingleClassElementPerStatementFixer.php +241 -0
  314. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SingleTraitInsertPerStatementFixer.php +116 -0
  315. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/VisibilityRequiredFixer.php +214 -0
  316. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassUsage/DateTimeImmutableFixer.php +146 -0
  317. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/CommentToPhpdocFixer.php +230 -0
  318. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/HeaderCommentFixer.php +543 -0
  319. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/MultilineCommentOpeningClosingFixer.php +89 -0
  320. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/NoEmptyCommentFixer.php +162 -0
  321. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/NoTrailingWhitespaceInCommentFixer.php +75 -0
  322. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php +110 -0
  323. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php +178 -0
  324. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php +50 -0
  325. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php +124 -0
  326. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php +307 -0
  327. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php +256 -0
  328. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php +157 -0
  329. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ElseifFixer.php +98 -0
  330. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/EmptyLoopBodyFixer.php +139 -0
  331. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/EmptyLoopConditionFixer.php +202 -0
  332. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/IncludeFixer.php +153 -0
  333. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoAlternativeSyntaxFixer.php +244 -0
  334. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoBreakCommentFixer.php +366 -0
  335. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoSuperfluousElseifFixer.php +100 -0
  336. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoTrailingCommaInListCallFixer.php +51 -0
  337. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUnneededBracesFixer.php +182 -0
  338. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUnneededControlParenthesesFixer.php +758 -0
  339. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUnneededCurlyBracesFixer.php +106 -0
  340. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUselessElseFixer.php +120 -0
  341. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/SimplifiedIfReturnFixer.php +138 -0
  342. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/SwitchCaseSemicolonToColonFixer.php +87 -0
  343. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/SwitchCaseSpaceFixer.php +85 -0
  344. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/SwitchContinueToBreakFixer.php +240 -0
  345. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/TrailingCommaInMultilineFixer.php +237 -0
  346. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/YodaStyleFixer.php +758 -0
  347. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/DeprecatedFixerInterface.php +28 -0
  348. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationArrayAssignmentFixer.php +114 -0
  349. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationBracesFixer.php +132 -0
  350. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationIndentationFixer.php +199 -0
  351. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationSpacesFixer.php +320 -0
  352. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ExperimentalFixerInterface.php +20 -0
  353. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FixerInterface.php +79 -0
  354. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/CombineNestedDirnameFixer.php +224 -0
  355. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/DateTimeCreateFromFormatCallFixer.php +164 -0
  356. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FopenFlagOrderFixer.php +123 -0
  357. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FopenFlagsFixer.php +120 -0
  358. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FunctionDeclarationFixer.php +263 -0
  359. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FunctionTypehintSpaceFixer.php +60 -0
  360. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/ImplodeCallFixer.php +139 -0
  361. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/LambdaNotUsedImportFixer.php +350 -0
  362. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/MethodArgumentSpaceFixer.php +510 -0
  363. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NativeFunctionInvocationFixer.php +420 -0
  364. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NoSpacesAfterFunctionNameFixer.php +176 -0
  365. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NoTrailingCommaInSinglelineFunctionCallFixer.php +59 -0
  366. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NoUnreachableDefaultArgumentValueFixer.php +197 -0
  367. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NoUselessSprintfFixer.php +109 -0
  368. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NullableTypeDeclarationForDefaultNullValueFixer.php +247 -0
  369. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/PhpdocToParamTypeFixer.php +244 -0
  370. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/PhpdocToPropertyTypeFixer.php +296 -0
  371. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/PhpdocToReturnTypeFixer.php +249 -0
  372. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/RegularCallableCallFixer.php +256 -0
  373. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/ReturnTypeDeclarationFixer.php +132 -0
  374. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/SingleLineThrowFixer.php +159 -0
  375. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/StaticLambdaFixer.php +130 -0
  376. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/UseArrowFunctionsFixer.php +181 -0
  377. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/VoidReturnFixer.php +256 -0
  378. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/FullyQualifiedStrictTypesFixer.php +987 -0
  379. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/GlobalNamespaceImportFixer.php +726 -0
  380. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/GroupImportFixer.php +369 -0
  381. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/NoLeadingImportSlashFixer.php +90 -0
  382. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/NoUnneededImportAliasFixer.php +88 -0
  383. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/NoUnusedImportsFixer.php +455 -0
  384. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/OrderedImportsFixer.php +626 -0
  385. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php +274 -0
  386. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php +152 -0
  387. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php +92 -0
  388. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php +20 -0
  389. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php +100 -0
  390. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php +234 -0
  391. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php +163 -0
  392. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveUnsetsFixer.php +179 -0
  393. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/DeclareEqualNormalizeFixer.php +137 -0
  394. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/DeclareParenthesesFixer.php +56 -0
  395. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/DirConstantFixer.php +129 -0
  396. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ErrorSuppressionFixer.php +186 -0
  397. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ExplicitIndirectVariableFixer.php +82 -0
  398. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/FunctionToConstantFixer.php +311 -0
  399. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/GetClassToClassKeywordFixer.php +158 -0
  400. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/IsNullFixer.php +169 -0
  401. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/NoUnsetOnPropertyFixer.php +220 -0
  402. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/NullableTypeDeclarationFixer.php +348 -0
  403. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/SingleSpaceAfterConstructFixer.php +209 -0
  404. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/SingleSpaceAroundConstructFixer.php +516 -0
  405. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ListNotation/ListSyntaxFixer.php +133 -0
  406. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/BlankLineAfterNamespaceFixer.php +127 -0
  407. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/BlankLinesBeforeNamespaceFixer.php +242 -0
  408. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/CleanNamespaceFixer.php +108 -0
  409. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/NoBlankLinesBeforeNamespaceFixer.php +76 -0
  410. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/NoLeadingNamespaceWhitespaceFixer.php +95 -0
  411. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/SingleBlankLineBeforeNamespaceFixer.php +75 -0
  412. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Naming/NoHomoglyphNamesFixer.php +230 -0
  413. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/AssignNullCoalescingToCoalesceEqualFixer.php +71 -0
  414. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/BinaryOperatorSpacesFixer.php +961 -0
  415. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/ConcatSpaceFixer.php +160 -0
  416. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/IncrementStyleFixer.php +179 -0
  417. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/LogicalOperatorsFixer.php +67 -0
  418. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/LongToShorthandOperatorFixer.php +140 -0
  419. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NewWithBracesFixer.php +103 -0
  420. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NewWithParenthesesFixer.php +216 -0
  421. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NoSpaceAroundDoubleColonFixer.php +73 -0
  422. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NoUselessConcatOperatorFixer.php +375 -0
  423. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NoUselessNullsafeOperatorFixer.php +73 -0
  424. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NotOperatorWithSpaceFixer.php +75 -0
  425. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NotOperatorWithSuccessorSpaceFixer.php +68 -0
  426. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/ObjectOperatorWithoutWhitespaceFixer.php +62 -0
  427. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/OperatorLinebreakFixer.php +292 -0
  428. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/StandardizeIncrementFixer.php +122 -0
  429. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/StandardizeNotEqualsFixer.php +60 -0
  430. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/TernaryOperatorSpacesFixer.php +131 -0
  431. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/TernaryToElvisOperatorFixer.php +217 -0
  432. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/TernaryToNullCoalescingFixer.php +224 -0
  433. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/UnaryOperatorSpacesFixer.php +118 -0
  434. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/BlankLineAfterOpeningTagFixer.php +92 -0
  435. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/EchoTagSyntaxFixer.php +273 -0
  436. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php +123 -0
  437. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php +68 -0
  438. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php +59 -0
  439. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php +107 -0
  440. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php +620 -0
  441. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php +210 -0
  442. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderMethodOrderFixer.php +288 -0
  443. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php +199 -0
  444. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderReturnTypeFixer.php +120 -0
  445. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderStaticFixer.php +156 -0
  446. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDedicateAssertFixer.php +590 -0
  447. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDedicateAssertInternalTypeFixer.php +204 -0
  448. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitExpectationFixer.php +289 -0
  449. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitFqcnAnnotationFixer.php +86 -0
  450. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitInternalClassFixer.php +117 -0
  451. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMethodCasingFixer.php +238 -0
  452. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMockFixer.php +135 -0
  453. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMockShortWillReturnFixer.php +123 -0
  454. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitNamespacedFixer.php +235 -0
  455. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitNoExpectationAnnotationFixer.php +278 -0
  456. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitSetUpTearDownVisibilityFixer.php +111 -0
  457. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitSizeClassFixer.php +107 -0
  458. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitStrictFixer.php +154 -0
  459. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTargetVersion.php +57 -0
  460. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestAnnotationFixer.php +416 -0
  461. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestCaseStaticMethodCallsFixer.php +564 -0
  462. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestClassRequiresCoversFixer.php +88 -0
  463. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/AlignMultilineCommentFixer.php +178 -0
  464. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/GeneralPhpdocAnnotationRemoveFixer.php +177 -0
  465. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/GeneralPhpdocTagRenameFixer.php +213 -0
  466. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoBlankLinesAfterPhpdocFixer.php +110 -0
  467. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoEmptyPhpdocFixer.php +84 -0
  468. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoSuperfluousPhpdocTagsFixer.php +756 -0
  469. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAddMissingParamAnnotationFixer.php +289 -0
  470. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAlignFixer.php +506 -0
  471. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAnnotationWithoutDotFixer.php +123 -0
  472. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocArrayTypeFixer.php +92 -0
  473. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocIndentFixer.php +141 -0
  474. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocInlineTagNormalizerFixer.php +121 -0
  475. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocLineSpanFixer.php +173 -0
  476. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocListTypeFixer.php +70 -0
  477. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoAccessFixer.php +71 -0
  478. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoAliasTagFixer.php +137 -0
  479. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoEmptyReturnFixer.php +117 -0
  480. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoPackageFixer.php +70 -0
  481. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoUselessInheritdocFixer.php +151 -0
  482. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocOrderByValueFixer.php +225 -0
  483. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocOrderFixer.php +223 -0
  484. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocParamOrderFixer.php +273 -0
  485. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocReturnSelfReferenceFixer.php +234 -0
  486. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocScalarFixer.php +139 -0
  487. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSeparationFixer.php +333 -0
  488. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSingleLineVarSpacingFixer.php +89 -0
  489. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSummaryFixer.php +99 -0
  490. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTagCasingFixer.php +109 -0
  491. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTagTypeFixer.php +214 -0
  492. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocToCommentFixer.php +185 -0
  493. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTrimConsecutiveBlankLineSeparationFixer.php +191 -0
  494. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTrimFixer.php +115 -0
  495. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTypesFixer.php +173 -0
  496. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTypesOrderFixer.php +218 -0
  497. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocVarAnnotationCorrectOrderFixer.php +81 -0
  498. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocVarWithoutNameFixer.php +150 -0
  499. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/NoUselessReturnFixer.php +103 -0
  500. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/ReturnAssignmentFixer.php +527 -0
  501. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/SimplifiedNullReturnFixer.php +171 -0
  502. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/MultilineWhitespaceBeforeSemicolonsFixer.php +244 -0
  503. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/NoEmptyStatementFixer.php +186 -0
  504. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/NoSinglelineWhitespaceBeforeSemicolonsFixer.php +66 -0
  505. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/SemicolonAfterInstructionFixer.php +64 -0
  506. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/SpaceAfterSemicolonFixer.php +148 -0
  507. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/DeclareStrictTypesFixer.php +132 -0
  508. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/StrictComparisonFixer.php +80 -0
  509. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/StrictParamFixer.php +168 -0
  510. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/EscapeImplicitBackslashesFixer.php +153 -0
  511. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/ExplicitStringVariableFixer.php +166 -0
  512. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/HeredocClosingMarkerFixer.php +205 -0
  513. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/HeredocToNowdocFixer.php +107 -0
  514. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/MultilineStringToHeredocFixer.php +166 -0
  515. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/NoBinaryStringFixer.php +75 -0
  516. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/NoTrailingWhitespaceInStringFixer.php +100 -0
  517. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/SimpleToComplexStringVariableFixer.php +96 -0
  518. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/SingleQuoteFixer.php +122 -0
  519. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/StringImplicitBackslashesFixer.php +193 -0
  520. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/StringLengthToEmptyFixer.php +322 -0
  521. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/StringLineEndingFixer.php +76 -0
  522. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/ArrayIndentationFixer.php +197 -0
  523. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/BlankLineBeforeStatementFixer.php +379 -0
  524. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/BlankLineBetweenImportGroupsFixer.php +180 -0
  525. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/CompactNullableTypeDeclarationFixer.php +72 -0
  526. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/CompactNullableTypehintFixer.php +63 -0
  527. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/HeredocIndentationFixer.php +180 -0
  528. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/IndentationTypeFixer.php +139 -0
  529. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/LineEndingFixer.php +85 -0
  530. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/MethodChainingIndentationFixer.php +229 -0
  531. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoExtraBlankLinesFixer.php +496 -0
  532. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoSpacesAroundOffsetFixer.php +112 -0
  533. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoSpacesInsideParenthesisFixer.php +75 -0
  534. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoTrailingWhitespaceFixer.php +104 -0
  535. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoWhitespaceInBlankLineFixer.php +89 -0
  536. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/SingleBlankLineAtEofFixer.php +64 -0
  537. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/SpacesInsideParenthesesFixer.php +223 -0
  538. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/StatementIndentationFixer.php +836 -0
  539. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/TypeDeclarationSpacesFixer.php +254 -0
  540. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/TypesSpacesFixer.php +173 -0
  541. package/vendor/friendsofphp/php-cs-fixer/src/Fixer/WhitespacesAwareFixerInterface.php +25 -0
  542. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AliasedFixerOption.php +75 -0
  543. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AliasedFixerOptionBuilder.php +78 -0
  544. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AllowedValueSubset.php +65 -0
  545. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/DeprecatedFixerOption.php +74 -0
  546. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/DeprecatedFixerOptionInterface.php +20 -0
  547. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerConfigurationResolver.php +152 -0
  548. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerConfigurationResolverInterface.php +30 -0
  549. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOption.php +146 -0
  550. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOptionBuilder.php +126 -0
  551. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOptionInterface.php +43 -0
  552. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOptionSorter.php +37 -0
  553. package/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/InvalidOptionsForEnvException.php +24 -0
  554. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/CodeSample.php +49 -0
  555. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/CodeSampleInterface.php +28 -0
  556. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FileSpecificCodeSample.php +56 -0
  557. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FileSpecificCodeSampleInterface.php +25 -0
  558. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FixerDefinition.php +76 -0
  559. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FixerDefinitionInterface.php +37 -0
  560. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificCodeSample.php +54 -0
  561. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificCodeSampleInterface.php +23 -0
  562. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecification.php +76 -0
  563. package/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificationInterface.php +23 -0
  564. package/vendor/friendsofphp/php-cs-fixer/src/FixerFactory.php +248 -0
  565. package/vendor/friendsofphp/php-cs-fixer/src/FixerNameValidator.php +32 -0
  566. package/vendor/friendsofphp/php-cs-fixer/src/Hasher.php +38 -0
  567. package/vendor/friendsofphp/php-cs-fixer/src/Indicator/PhpUnitTestCaseIndicator.php +90 -0
  568. package/vendor/friendsofphp/php-cs-fixer/src/Linter/CachingLinter.php +56 -0
  569. package/vendor/friendsofphp/php-cs-fixer/src/Linter/Linter.php +49 -0
  570. package/vendor/friendsofphp/php-cs-fixer/src/Linter/LinterInterface.php +35 -0
  571. package/vendor/friendsofphp/php-cs-fixer/src/Linter/LintingException.php +24 -0
  572. package/vendor/friendsofphp/php-cs-fixer/src/Linter/LintingResultInterface.php +26 -0
  573. package/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLinter.php +149 -0
  574. package/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLinterProcessBuilder.php +46 -0
  575. package/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLintingResult.php +86 -0
  576. package/vendor/friendsofphp/php-cs-fixer/src/Linter/TokenizerLinter.php +58 -0
  577. package/vendor/friendsofphp/php-cs-fixer/src/Linter/TokenizerLintingResult.php +48 -0
  578. package/vendor/friendsofphp/php-cs-fixer/src/Linter/UnavailableLinterException.php +26 -0
  579. package/vendor/friendsofphp/php-cs-fixer/src/ParallelAwareConfigInterface.php +29 -0
  580. package/vendor/friendsofphp/php-cs-fixer/src/PharChecker.php +38 -0
  581. package/vendor/friendsofphp/php-cs-fixer/src/PharCheckerInterface.php +26 -0
  582. package/vendor/friendsofphp/php-cs-fixer/src/Preg.php +215 -0
  583. package/vendor/friendsofphp/php-cs-fixer/src/PregException.php +24 -0
  584. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/AbstractMigrationSetDescription.php +38 -0
  585. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/AbstractRuleSetDescription.php +35 -0
  586. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/DeprecatedRuleSetDescriptionInterface.php +28 -0
  587. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/RuleSet.php +159 -0
  588. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/RuleSetDescriptionInterface.php +34 -0
  589. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/RuleSetInterface.php +49 -0
  590. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/RuleSets.php +72 -0
  591. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/DoctrineAnnotationSet.php +42 -0
  592. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PERCS1x0RiskySet.php +44 -0
  593. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PERCS1x0Set.php +44 -0
  594. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PERCS2x0RiskySet.php +44 -0
  595. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PERCS2x0Set.php +112 -0
  596. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PERCSRiskySet.php +40 -0
  597. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PERCSSet.php +40 -0
  598. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PERRiskySet.php +52 -0
  599. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PERSet.php +47 -0
  600. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP54MigrationSet.php +30 -0
  601. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP56MigrationRiskySet.php +30 -0
  602. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP70MigrationRiskySet.php +39 -0
  603. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP70MigrationSet.php +31 -0
  604. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP71MigrationRiskySet.php +31 -0
  605. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP71MigrationSet.php +32 -0
  606. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP73MigrationSet.php +34 -0
  607. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP74MigrationRiskySet.php +33 -0
  608. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP74MigrationSet.php +33 -0
  609. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP80MigrationRiskySet.php +40 -0
  610. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP80MigrationSet.php +32 -0
  611. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP81MigrationSet.php +31 -0
  612. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP82MigrationRiskySet.php +31 -0
  613. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP82MigrationSet.php +31 -0
  614. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP83MigrationSet.php +30 -0
  615. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHP84MigrationSet.php +31 -0
  616. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit100MigrationRiskySet.php +31 -0
  617. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit30MigrationRiskySet.php +33 -0
  618. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit32MigrationRiskySet.php +34 -0
  619. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit35MigrationRiskySet.php +34 -0
  620. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit43MigrationRiskySet.php +34 -0
  621. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit48MigrationRiskySet.php +34 -0
  622. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit50MigrationRiskySet.php +34 -0
  623. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit52MigrationRiskySet.php +34 -0
  624. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit54MigrationRiskySet.php +34 -0
  625. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit55MigrationRiskySet.php +34 -0
  626. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit56MigrationRiskySet.php +37 -0
  627. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit57MigrationRiskySet.php +34 -0
  628. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php +34 -0
  629. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php +34 -0
  630. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php +35 -0
  631. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php +31 -0
  632. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php +36 -0
  633. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php +123 -0
  634. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php +36 -0
  635. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR2Set.php +104 -0
  636. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PhpCsFixerRiskySet.php +67 -0
  637. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PhpCsFixerSet.php +134 -0
  638. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/SymfonyRiskySet.php +78 -0
  639. package/vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/SymfonySet.php +241 -0
  640. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Event/AnalysisStarted.php +54 -0
  641. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Event/FileProcessed.php +75 -0
  642. package/vendor/friendsofphp/php-cs-fixer/src/Runner/FileCachingLintingFileIterator.php +76 -0
  643. package/vendor/friendsofphp/php-cs-fixer/src/Runner/FileFilterIterator.php +108 -0
  644. package/vendor/friendsofphp/php-cs-fixer/src/Runner/LintingFileIterator.php +66 -0
  645. package/vendor/friendsofphp/php-cs-fixer/src/Runner/LintingResultAwareFileIteratorInterface.php +29 -0
  646. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/ParallelAction.php +35 -0
  647. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/ParallelConfig.php +67 -0
  648. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/ParallelConfigFactory.php +61 -0
  649. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/ParallelisationException.php +30 -0
  650. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/Process.php +189 -0
  651. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/ProcessFactory.php +111 -0
  652. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/ProcessIdentifier.php +55 -0
  653. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/ProcessPool.php +99 -0
  654. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Parallel/WorkerException.php +66 -0
  655. package/vendor/friendsofphp/php-cs-fixer/src/Runner/Runner.php +587 -0
  656. package/vendor/friendsofphp/php-cs-fixer/src/Runner/RunnerConfig.php +64 -0
  657. package/vendor/friendsofphp/php-cs-fixer/src/StdinFileInfo.php +173 -0
  658. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/AbstractTransformer.php +40 -0
  659. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/AbstractTypeTransformer.php +89 -0
  660. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/AlternativeSyntaxAnalyzer.php +121 -0
  661. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/AbstractControlCaseStructuresAnalysis.php +51 -0
  662. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/ArgumentAnalysis.php +81 -0
  663. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/AttributeAnalysis.php +76 -0
  664. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/CaseAnalysis.php +45 -0
  665. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/DataProviderAnalysis.php +68 -0
  666. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/DefaultAnalysis.php +43 -0
  667. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/EnumAnalysis.php +46 -0
  668. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/MatchAnalysis.php +37 -0
  669. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/NamespaceAnalysis.php +98 -0
  670. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/NamespaceUseAnalysis.php +189 -0
  671. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/StartEndTokenAwareAnalysis.php +33 -0
  672. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/SwitchAnalysis.php +54 -0
  673. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/TypeAnalysis.php +116 -0
  674. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/ArgumentsAnalyzer.php +161 -0
  675. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/AttributeAnalyzer.php +211 -0
  676. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/BlocksAnalyzer.php +59 -0
  677. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/ClassyAnalyzer.php +87 -0
  678. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/CommentsAnalyzer.php +370 -0
  679. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/ControlCaseStructuresAnalyzer.php +312 -0
  680. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/DataProviderAnalyzer.php +115 -0
  681. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/FullyQualifiedNameAnalyzer.php +103 -0
  682. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/FunctionsAnalyzer.php +281 -0
  683. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/GotoLabelAnalyzer.php +40 -0
  684. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/NamespaceUsesAnalyzer.php +216 -0
  685. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/NamespacesAnalyzer.php +116 -0
  686. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/RangeAnalyzer.php +90 -0
  687. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/ReferenceAnalyzer.php +49 -0
  688. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/SwitchAnalyzer.php +71 -0
  689. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/WhitespacesAnalyzer.php +52 -0
  690. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/CT.php +112 -0
  691. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Processor/ImportProcessor.php +103 -0
  692. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Token.php +541 -0
  693. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Tokens.php +1584 -0
  694. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/TokensAnalyzer.php +894 -0
  695. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ArrayTypehintTransformer.php +54 -0
  696. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/AttributeTransformer.php +67 -0
  697. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/BraceClassInstantiationTransformer.php +80 -0
  698. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/BraceTransformer.php +349 -0
  699. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ClassConstantTransformer.php +57 -0
  700. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ConstructorPromotionTransformer.php +71 -0
  701. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/DisjunctiveNormalFormTypeParenthesisTransformer.php +65 -0
  702. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/FirstClassCallableTransformer.php +49 -0
  703. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ImportTransformer.php +72 -0
  704. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/NameQualifiedTransformer.php +67 -0
  705. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/NamedArgumentTransformer.php +73 -0
  706. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/NamespaceOperatorTransformer.php +53 -0
  707. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/NullableTypeTransformer.php +83 -0
  708. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ReturnRefTransformer.php +47 -0
  709. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/SquareBraceTransformer.php +187 -0
  710. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/TypeAlternationTransformer.php +57 -0
  711. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/TypeColonTransformer.php +83 -0
  712. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/TypeIntersectionTransformer.php +55 -0
  713. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/UseTransformer.php +102 -0
  714. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/WhitespacyCommentTransformer.php +64 -0
  715. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/TransformerInterface.php +68 -0
  716. package/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformers.php +109 -0
  717. package/vendor/friendsofphp/php-cs-fixer/src/ToolInfo.php +120 -0
  718. package/vendor/friendsofphp/php-cs-fixer/src/ToolInfoInterface.php +38 -0
  719. package/vendor/friendsofphp/php-cs-fixer/src/Utils.php +250 -0
  720. package/vendor/friendsofphp/php-cs-fixer/src/WhitespacesFixerConfig.php +63 -0
  721. package/vendor/friendsofphp/php-cs-fixer/src/WordMatcher.php +55 -0
  722. package/vendor/psr/container/LICENSE +21 -0
  723. package/vendor/psr/container/README.md +13 -0
  724. package/vendor/psr/container/composer.json +27 -0
  725. package/vendor/psr/container/src/ContainerExceptionInterface.php +12 -0
  726. package/vendor/psr/container/src/ContainerInterface.php +36 -0
  727. package/vendor/psr/container/src/NotFoundExceptionInterface.php +10 -0
  728. package/vendor/psr/event-dispatcher/.editorconfig +15 -0
  729. package/vendor/psr/event-dispatcher/LICENSE +21 -0
  730. package/vendor/psr/event-dispatcher/README.md +6 -0
  731. package/vendor/psr/event-dispatcher/composer.json +26 -0
  732. package/vendor/psr/event-dispatcher/src/EventDispatcherInterface.php +21 -0
  733. package/vendor/psr/event-dispatcher/src/ListenerProviderInterface.php +19 -0
  734. package/vendor/psr/event-dispatcher/src/StoppableEventInterface.php +26 -0
  735. package/vendor/psr/log/LICENSE +19 -0
  736. package/vendor/psr/log/README.md +58 -0
  737. package/vendor/psr/log/composer.json +26 -0
  738. package/vendor/psr/log/src/AbstractLogger.php +15 -0
  739. package/vendor/psr/log/src/InvalidArgumentException.php +7 -0
  740. package/vendor/psr/log/src/LogLevel.php +18 -0
  741. package/vendor/psr/log/src/LoggerAwareInterface.php +14 -0
  742. package/vendor/psr/log/src/LoggerAwareTrait.php +22 -0
  743. package/vendor/psr/log/src/LoggerInterface.php +98 -0
  744. package/vendor/psr/log/src/LoggerTrait.php +98 -0
  745. package/vendor/psr/log/src/NullLogger.php +26 -0
  746. package/vendor/react/cache/CHANGELOG.md +96 -0
  747. package/vendor/react/cache/LICENSE +21 -0
  748. package/vendor/react/cache/README.md +367 -0
  749. package/vendor/react/cache/composer.json +45 -0
  750. package/vendor/react/cache/src/ArrayCache.php +181 -0
  751. package/vendor/react/cache/src/CacheInterface.php +194 -0
  752. package/vendor/react/child-process/CHANGELOG.md +176 -0
  753. package/vendor/react/child-process/LICENSE +21 -0
  754. package/vendor/react/child-process/README.md +619 -0
  755. package/vendor/react/child-process/composer.json +49 -0
  756. package/vendor/react/child-process/src/Process.php +585 -0
  757. package/vendor/react/dns/CHANGELOG.md +452 -0
  758. package/vendor/react/dns/LICENSE +21 -0
  759. package/vendor/react/dns/README.md +453 -0
  760. package/vendor/react/dns/composer.json +49 -0
  761. package/vendor/react/dns/src/BadServerException.php +7 -0
  762. package/vendor/react/dns/src/Config/Config.php +137 -0
  763. package/vendor/react/dns/src/Config/HostsFile.php +153 -0
  764. package/vendor/react/dns/src/Model/Message.php +230 -0
  765. package/vendor/react/dns/src/Model/Record.php +153 -0
  766. package/vendor/react/dns/src/Protocol/BinaryDumper.php +199 -0
  767. package/vendor/react/dns/src/Protocol/Parser.php +356 -0
  768. package/vendor/react/dns/src/Query/CachingExecutor.php +88 -0
  769. package/vendor/react/dns/src/Query/CancellationException.php +7 -0
  770. package/vendor/react/dns/src/Query/CoopExecutor.php +91 -0
  771. package/vendor/react/dns/src/Query/ExecutorInterface.php +43 -0
  772. package/vendor/react/dns/src/Query/FallbackExecutor.php +49 -0
  773. package/vendor/react/dns/src/Query/HostsFileExecutor.php +89 -0
  774. package/vendor/react/dns/src/Query/Query.php +69 -0
  775. package/vendor/react/dns/src/Query/RetryExecutor.php +85 -0
  776. package/vendor/react/dns/src/Query/SelectiveTransportExecutor.php +85 -0
  777. package/vendor/react/dns/src/Query/TcpTransportExecutor.php +382 -0
  778. package/vendor/react/dns/src/Query/TimeoutException.php +7 -0
  779. package/vendor/react/dns/src/Query/TimeoutExecutor.php +78 -0
  780. package/vendor/react/dns/src/Query/UdpTransportExecutor.php +221 -0
  781. package/vendor/react/dns/src/RecordNotFoundException.php +7 -0
  782. package/vendor/react/dns/src/Resolver/Factory.php +226 -0
  783. package/vendor/react/dns/src/Resolver/Resolver.php +147 -0
  784. package/vendor/react/dns/src/Resolver/ResolverInterface.php +94 -0
  785. package/vendor/react/event-loop/CHANGELOG.md +468 -0
  786. package/vendor/react/event-loop/LICENSE +21 -0
  787. package/vendor/react/event-loop/README.md +930 -0
  788. package/vendor/react/event-loop/composer.json +47 -0
  789. package/vendor/react/event-loop/src/ExtEvLoop.php +253 -0
  790. package/vendor/react/event-loop/src/ExtEventLoop.php +275 -0
  791. package/vendor/react/event-loop/src/ExtLibevLoop.php +201 -0
  792. package/vendor/react/event-loop/src/ExtLibeventLoop.php +285 -0
  793. package/vendor/react/event-loop/src/ExtUvLoop.php +342 -0
  794. package/vendor/react/event-loop/src/Factory.php +75 -0
  795. package/vendor/react/event-loop/src/Loop.php +266 -0
  796. package/vendor/react/event-loop/src/LoopInterface.php +472 -0
  797. package/vendor/react/event-loop/src/SignalsHandler.php +63 -0
  798. package/vendor/react/event-loop/src/StreamSelectLoop.php +330 -0
  799. package/vendor/react/event-loop/src/Tick/FutureTickQueue.php +60 -0
  800. package/vendor/react/event-loop/src/Timer/Timer.php +55 -0
  801. package/vendor/react/event-loop/src/Timer/Timers.php +113 -0
  802. package/vendor/react/event-loop/src/TimerInterface.php +27 -0
  803. package/vendor/react/promise/CHANGELOG.md +156 -0
  804. package/vendor/react/promise/LICENSE +24 -0
  805. package/vendor/react/promise/README.md +722 -0
  806. package/vendor/react/promise/composer.json +57 -0
  807. package/vendor/react/promise/src/Deferred.php +52 -0
  808. package/vendor/react/promise/src/Exception/CompositeException.php +32 -0
  809. package/vendor/react/promise/src/Exception/LengthException.php +7 -0
  810. package/vendor/react/promise/src/Internal/CancellationQueue.php +64 -0
  811. package/vendor/react/promise/src/Internal/FulfilledPromise.php +89 -0
  812. package/vendor/react/promise/src/Internal/RejectedPromise.php +128 -0
  813. package/vendor/react/promise/src/Promise.php +303 -0
  814. package/vendor/react/promise/src/PromiseInterface.php +152 -0
  815. package/vendor/react/promise/src/functions.php +345 -0
  816. package/vendor/react/promise/src/functions_include.php +5 -0
  817. package/vendor/react/socket/CHANGELOG.md +785 -0
  818. package/vendor/react/socket/LICENSE +21 -0
  819. package/vendor/react/socket/README.md +1564 -0
  820. package/vendor/react/socket/composer.json +52 -0
  821. package/vendor/react/socket/src/Connection.php +183 -0
  822. package/vendor/react/socket/src/ConnectionInterface.php +119 -0
  823. package/vendor/react/socket/src/Connector.php +236 -0
  824. package/vendor/react/socket/src/ConnectorInterface.php +59 -0
  825. package/vendor/react/socket/src/DnsConnector.php +117 -0
  826. package/vendor/react/socket/src/FdServer.php +222 -0
  827. package/vendor/react/socket/src/FixedUriConnector.php +41 -0
  828. package/vendor/react/socket/src/HappyEyeBallsConnectionBuilder.php +334 -0
  829. package/vendor/react/socket/src/HappyEyeBallsConnector.php +80 -0
  830. package/vendor/react/socket/src/LimitingServer.php +203 -0
  831. package/vendor/react/socket/src/SecureConnector.php +132 -0
  832. package/vendor/react/socket/src/SecureServer.php +210 -0
  833. package/vendor/react/socket/src/Server.php +118 -0
  834. package/vendor/react/socket/src/ServerInterface.php +151 -0
  835. package/vendor/react/socket/src/SocketServer.php +215 -0
  836. package/vendor/react/socket/src/StreamEncryption.php +158 -0
  837. package/vendor/react/socket/src/TcpConnector.php +173 -0
  838. package/vendor/react/socket/src/TcpServer.php +262 -0
  839. package/vendor/react/socket/src/TimeoutConnector.php +79 -0
  840. package/vendor/react/socket/src/UnixConnector.php +58 -0
  841. package/vendor/react/socket/src/UnixServer.php +162 -0
  842. package/vendor/react/stream/CHANGELOG.md +460 -0
  843. package/vendor/react/stream/LICENSE +21 -0
  844. package/vendor/react/stream/README.md +1249 -0
  845. package/vendor/react/stream/composer.json +47 -0
  846. package/vendor/react/stream/src/CompositeStream.php +83 -0
  847. package/vendor/react/stream/src/DuplexResourceStream.php +240 -0
  848. package/vendor/react/stream/src/DuplexStreamInterface.php +39 -0
  849. package/vendor/react/stream/src/ReadableResourceStream.php +188 -0
  850. package/vendor/react/stream/src/ReadableStreamInterface.php +362 -0
  851. package/vendor/react/stream/src/ThroughStream.php +195 -0
  852. package/vendor/react/stream/src/Util.php +75 -0
  853. package/vendor/react/stream/src/WritableResourceStream.php +178 -0
  854. package/vendor/react/stream/src/WritableStreamInterface.php +347 -0
  855. package/vendor/sebastian/diff/ChangeLog.md +179 -0
  856. package/vendor/sebastian/diff/LICENSE +29 -0
  857. package/vendor/sebastian/diff/README.md +151 -0
  858. package/vendor/sebastian/diff/SECURITY.md +30 -0
  859. package/vendor/sebastian/diff/composer.json +51 -0
  860. package/vendor/sebastian/diff/src/Chunk.php +83 -0
  861. package/vendor/sebastian/diff/src/Diff.php +84 -0
  862. package/vendor/sebastian/diff/src/Differ.php +247 -0
  863. package/vendor/sebastian/diff/src/Exception/ConfigurationException.php +32 -0
  864. package/vendor/sebastian/diff/src/Exception/Exception.php +16 -0
  865. package/vendor/sebastian/diff/src/Exception/InvalidArgumentException.php +14 -0
  866. package/vendor/sebastian/diff/src/Line.php +50 -0
  867. package/vendor/sebastian/diff/src/LongestCommonSubsequenceCalculator.php +18 -0
  868. package/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php +96 -0
  869. package/vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php +54 -0
  870. package/vendor/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php +74 -0
  871. package/vendor/sebastian/diff/src/Output/DiffOutputBuilderInterface.php +19 -0
  872. package/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php +331 -0
  873. package/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php +261 -0
  874. package/vendor/sebastian/diff/src/Parser.php +116 -0
  875. package/vendor/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php +81 -0
  876. package/vendor/symfony/console/Application.php +1328 -0
  877. package/vendor/symfony/console/Attribute/Argument.php +110 -0
  878. package/vendor/symfony/console/Attribute/AsCommand.php +49 -0
  879. package/vendor/symfony/console/Attribute/Option.php +181 -0
  880. package/vendor/symfony/console/CHANGELOG.md +299 -0
  881. package/vendor/symfony/console/CI/GithubActionReporter.php +97 -0
  882. package/vendor/symfony/console/Color.php +133 -0
  883. package/vendor/symfony/console/Command/Command.php +700 -0
  884. package/vendor/symfony/console/Command/CompleteCommand.php +212 -0
  885. package/vendor/symfony/console/Command/DumpCompletionCommand.php +151 -0
  886. package/vendor/symfony/console/Command/HelpCommand.php +76 -0
  887. package/vendor/symfony/console/Command/InvokableCommand.php +157 -0
  888. package/vendor/symfony/console/Command/LazyCommand.php +206 -0
  889. package/vendor/symfony/console/Command/ListCommand.php +72 -0
  890. package/vendor/symfony/console/Command/LockableTrait.php +85 -0
  891. package/vendor/symfony/console/Command/SignalableCommandInterface.php +32 -0
  892. package/vendor/symfony/console/Command/TraceableCommand.php +365 -0
  893. package/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php +38 -0
  894. package/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php +52 -0
  895. package/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php +52 -0
  896. package/vendor/symfony/console/Completion/CompletionInput.php +248 -0
  897. package/vendor/symfony/console/Completion/CompletionSuggestions.php +97 -0
  898. package/vendor/symfony/console/Completion/Output/BashCompletionOutput.php +33 -0
  899. package/vendor/symfony/console/Completion/Output/CompletionOutputInterface.php +25 -0
  900. package/vendor/symfony/console/Completion/Output/FishCompletionOutput.php +36 -0
  901. package/vendor/symfony/console/Completion/Output/ZshCompletionOutput.php +36 -0
  902. package/vendor/symfony/console/Completion/Suggestion.php +41 -0
  903. package/vendor/symfony/console/ConsoleEvents.php +72 -0
  904. package/vendor/symfony/console/Cursor.php +204 -0
  905. package/vendor/symfony/console/DataCollector/CommandDataCollector.php +238 -0
  906. package/vendor/symfony/console/Debug/CliRequest.php +70 -0
  907. package/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +155 -0
  908. package/vendor/symfony/console/Descriptor/ApplicationDescription.php +136 -0
  909. package/vendor/symfony/console/Descriptor/Descriptor.php +74 -0
  910. package/vendor/symfony/console/Descriptor/DescriptorInterface.php +24 -0
  911. package/vendor/symfony/console/Descriptor/JsonDescriptor.php +166 -0
  912. package/vendor/symfony/console/Descriptor/MarkdownDescriptor.php +173 -0
  913. package/vendor/symfony/console/Descriptor/ReStructuredTextDescriptor.php +273 -0
  914. package/vendor/symfony/console/Descriptor/TextDescriptor.php +317 -0
  915. package/vendor/symfony/console/Descriptor/XmlDescriptor.php +230 -0
  916. package/vendor/symfony/console/Event/ConsoleAlarmEvent.php +47 -0
  917. package/vendor/symfony/console/Event/ConsoleCommandEvent.php +54 -0
  918. package/vendor/symfony/console/Event/ConsoleErrorEvent.php +58 -0
  919. package/vendor/symfony/console/Event/ConsoleEvent.php +56 -0
  920. package/vendor/symfony/console/Event/ConsoleSignalEvent.php +56 -0
  921. package/vendor/symfony/console/Event/ConsoleTerminateEvent.php +50 -0
  922. package/vendor/symfony/console/EventListener/ErrorListener.php +89 -0
  923. package/vendor/symfony/console/Exception/CommandNotFoundException.php +43 -0
  924. package/vendor/symfony/console/Exception/ExceptionInterface.php +21 -0
  925. package/vendor/symfony/console/Exception/InvalidArgumentException.php +19 -0
  926. package/vendor/symfony/console/Exception/InvalidOptionException.php +21 -0
  927. package/vendor/symfony/console/Exception/LogicException.php +19 -0
  928. package/vendor/symfony/console/Exception/MissingInputException.php +21 -0
  929. package/vendor/symfony/console/Exception/NamespaceNotFoundException.php +21 -0
  930. package/vendor/symfony/console/Exception/RunCommandFailedException.php +29 -0
  931. package/vendor/symfony/console/Exception/RuntimeException.php +19 -0
  932. package/vendor/symfony/console/Formatter/NullOutputFormatter.php +51 -0
  933. package/vendor/symfony/console/Formatter/NullOutputFormatterStyle.php +48 -0
  934. package/vendor/symfony/console/Formatter/OutputFormatter.php +267 -0
  935. package/vendor/symfony/console/Formatter/OutputFormatterInterface.php +52 -0
  936. package/vendor/symfony/console/Formatter/OutputFormatterStyle.php +89 -0
  937. package/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +50 -0
  938. package/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +103 -0
  939. package/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php +25 -0
  940. package/vendor/symfony/console/Helper/DebugFormatterHelper.php +98 -0
  941. package/vendor/symfony/console/Helper/DescriptorHelper.php +91 -0
  942. package/vendor/symfony/console/Helper/Dumper.php +53 -0
  943. package/vendor/symfony/console/Helper/FormatterHelper.php +81 -0
  944. package/vendor/symfony/console/Helper/Helper.php +161 -0
  945. package/vendor/symfony/console/Helper/HelperInterface.php +35 -0
  946. package/vendor/symfony/console/Helper/HelperSet.php +74 -0
  947. package/vendor/symfony/console/Helper/InputAwareHelper.php +30 -0
  948. package/vendor/symfony/console/Helper/OutputWrapper.php +76 -0
  949. package/vendor/symfony/console/Helper/ProcessHelper.php +137 -0
  950. package/vendor/symfony/console/Helper/ProgressBar.php +654 -0
  951. package/vendor/symfony/console/Helper/ProgressIndicator.php +242 -0
  952. package/vendor/symfony/console/Helper/QuestionHelper.php +589 -0
  953. package/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +103 -0
  954. package/vendor/symfony/console/Helper/Table.php +934 -0
  955. package/vendor/symfony/console/Helper/TableCell.php +71 -0
  956. package/vendor/symfony/console/Helper/TableCellStyle.php +84 -0
  957. package/vendor/symfony/console/Helper/TableRows.php +28 -0
  958. package/vendor/symfony/console/Helper/TableSeparator.php +25 -0
  959. package/vendor/symfony/console/Helper/TableStyle.php +375 -0
  960. package/vendor/symfony/console/Helper/TreeHelper.php +111 -0
  961. package/vendor/symfony/console/Helper/TreeNode.php +105 -0
  962. package/vendor/symfony/console/Helper/TreeStyle.php +78 -0
  963. package/vendor/symfony/console/Input/ArgvInput.php +402 -0
  964. package/vendor/symfony/console/Input/ArrayInput.php +191 -0
  965. package/vendor/symfony/console/Input/Input.php +174 -0
  966. package/vendor/symfony/console/Input/InputArgument.php +160 -0
  967. package/vendor/symfony/console/Input/InputAwareInterface.php +26 -0
  968. package/vendor/symfony/console/Input/InputDefinition.php +402 -0
  969. package/vendor/symfony/console/Input/InputInterface.php +138 -0
  970. package/vendor/symfony/console/Input/InputOption.php +262 -0
  971. package/vendor/symfony/console/Input/StreamableInputInterface.php +37 -0
  972. package/vendor/symfony/console/Input/StringInput.php +85 -0
  973. package/vendor/symfony/console/LICENSE +19 -0
  974. package/vendor/symfony/console/Logger/ConsoleLogger.php +120 -0
  975. package/vendor/symfony/console/Messenger/RunCommandContext.php +25 -0
  976. package/vendor/symfony/console/Messenger/RunCommandMessage.php +36 -0
  977. package/vendor/symfony/console/Messenger/RunCommandMessageHandler.php +49 -0
  978. package/vendor/symfony/console/Output/AnsiColorMode.php +106 -0
  979. package/vendor/symfony/console/Output/BufferedOutput.php +40 -0
  980. package/vendor/symfony/console/Output/ConsoleOutput.php +153 -0
  981. package/vendor/symfony/console/Output/ConsoleOutputInterface.php +30 -0
  982. package/vendor/symfony/console/Output/ConsoleSectionOutput.php +237 -0
  983. package/vendor/symfony/console/Output/NullOutput.php +94 -0
  984. package/vendor/symfony/console/Output/Output.php +144 -0
  985. package/vendor/symfony/console/Output/OutputInterface.php +103 -0
  986. package/vendor/symfony/console/Output/StreamOutput.php +127 -0
  987. package/vendor/symfony/console/Output/TrimmedBufferOutput.php +58 -0
  988. package/vendor/symfony/console/Question/ChoiceQuestion.php +178 -0
  989. package/vendor/symfony/console/Question/ConfirmationQuestion.php +57 -0
  990. package/vendor/symfony/console/Question/Question.php +280 -0
  991. package/vendor/symfony/console/README.md +27 -0
  992. package/vendor/symfony/console/Resources/bin/hiddeninput.exe +0 -0
  993. package/vendor/symfony/console/Resources/completion.bash +94 -0
  994. package/vendor/symfony/console/Resources/completion.fish +25 -0
  995. package/vendor/symfony/console/Resources/completion.zsh +82 -0
  996. package/vendor/symfony/console/SignalRegistry/SignalMap.php +36 -0
  997. package/vendor/symfony/console/SignalRegistry/SignalRegistry.php +65 -0
  998. package/vendor/symfony/console/SingleCommandApplication.php +72 -0
  999. package/vendor/symfony/console/Style/OutputStyle.php +115 -0
  1000. package/vendor/symfony/console/Style/StyleInterface.php +110 -0
  1001. package/vendor/symfony/console/Style/SymfonyStyle.php +476 -0
  1002. package/vendor/symfony/console/Terminal.php +227 -0
  1003. package/vendor/symfony/console/Tester/ApplicationTester.php +83 -0
  1004. package/vendor/symfony/console/Tester/CommandCompletionTester.php +54 -0
  1005. package/vendor/symfony/console/Tester/CommandTester.php +74 -0
  1006. package/vendor/symfony/console/Tester/Constraint/CommandIsSuccessful.php +43 -0
  1007. package/vendor/symfony/console/Tester/TesterTrait.php +178 -0
  1008. package/vendor/symfony/console/composer.json +55 -0
  1009. package/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  1010. package/vendor/symfony/deprecation-contracts/LICENSE +19 -0
  1011. package/vendor/symfony/deprecation-contracts/README.md +26 -0
  1012. package/vendor/symfony/deprecation-contracts/composer.json +35 -0
  1013. package/vendor/symfony/deprecation-contracts/function.php +27 -0
  1014. package/vendor/symfony/event-dispatcher/Attribute/AsEventListener.php +35 -0
  1015. package/vendor/symfony/event-dispatcher/CHANGELOG.md +96 -0
  1016. package/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +355 -0
  1017. package/vendor/symfony/event-dispatcher/Debug/WrappedListener.php +143 -0
  1018. package/vendor/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php +38 -0
  1019. package/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php +213 -0
  1020. package/vendor/symfony/event-dispatcher/EventDispatcher.php +256 -0
  1021. package/vendor/symfony/event-dispatcher/EventDispatcherInterface.php +66 -0
  1022. package/vendor/symfony/event-dispatcher/EventSubscriberInterface.php +49 -0
  1023. package/vendor/symfony/event-dispatcher/GenericEvent.php +155 -0
  1024. package/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php +65 -0
  1025. package/vendor/symfony/event-dispatcher/LICENSE +19 -0
  1026. package/vendor/symfony/event-dispatcher/README.md +15 -0
  1027. package/vendor/symfony/event-dispatcher/composer.json +47 -0
  1028. package/vendor/symfony/event-dispatcher-contracts/CHANGELOG.md +5 -0
  1029. package/vendor/symfony/event-dispatcher-contracts/Event.php +51 -0
  1030. package/vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php +33 -0
  1031. package/vendor/symfony/event-dispatcher-contracts/LICENSE +19 -0
  1032. package/vendor/symfony/event-dispatcher-contracts/README.md +9 -0
  1033. package/vendor/symfony/event-dispatcher-contracts/composer.json +35 -0
  1034. package/vendor/symfony/filesystem/CHANGELOG.md +92 -0
  1035. package/vendor/symfony/filesystem/Exception/ExceptionInterface.php +21 -0
  1036. package/vendor/symfony/filesystem/Exception/FileNotFoundException.php +34 -0
  1037. package/vendor/symfony/filesystem/Exception/IOException.php +36 -0
  1038. package/vendor/symfony/filesystem/Exception/IOExceptionInterface.php +25 -0
  1039. package/vendor/symfony/filesystem/Exception/InvalidArgumentException.php +19 -0
  1040. package/vendor/symfony/filesystem/Exception/RuntimeException.php +19 -0
  1041. package/vendor/symfony/filesystem/Filesystem.php +773 -0
  1042. package/vendor/symfony/filesystem/LICENSE +19 -0
  1043. package/vendor/symfony/filesystem/Path.php +816 -0
  1044. package/vendor/symfony/filesystem/README.md +13 -0
  1045. package/vendor/symfony/filesystem/composer.json +33 -0
  1046. package/vendor/symfony/finder/CHANGELOG.md +103 -0
  1047. package/vendor/symfony/finder/Comparator/Comparator.php +62 -0
  1048. package/vendor/symfony/finder/Comparator/DateComparator.php +50 -0
  1049. package/vendor/symfony/finder/Comparator/NumberComparator.php +78 -0
  1050. package/vendor/symfony/finder/Exception/AccessDeniedException.php +19 -0
  1051. package/vendor/symfony/finder/Exception/DirectoryNotFoundException.php +19 -0
  1052. package/vendor/symfony/finder/Finder.php +852 -0
  1053. package/vendor/symfony/finder/Gitignore.php +91 -0
  1054. package/vendor/symfony/finder/Glob.php +109 -0
  1055. package/vendor/symfony/finder/Iterator/CustomFilterIterator.php +61 -0
  1056. package/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php +58 -0
  1057. package/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php +48 -0
  1058. package/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +110 -0
  1059. package/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +51 -0
  1060. package/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php +58 -0
  1061. package/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +45 -0
  1062. package/vendor/symfony/finder/Iterator/LazyIterator.php +32 -0
  1063. package/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +107 -0
  1064. package/vendor/symfony/finder/Iterator/PathFilterIterator.php +56 -0
  1065. package/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +134 -0
  1066. package/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php +57 -0
  1067. package/vendor/symfony/finder/Iterator/SortableIterator.php +103 -0
  1068. package/vendor/symfony/finder/Iterator/VcsIgnoredFilterIterator.php +173 -0
  1069. package/vendor/symfony/finder/LICENSE +19 -0
  1070. package/vendor/symfony/finder/README.md +14 -0
  1071. package/vendor/symfony/finder/SplFileInfo.php +80 -0
  1072. package/vendor/symfony/finder/composer.json +31 -0
  1073. package/vendor/symfony/options-resolver/CHANGELOG.md +103 -0
  1074. package/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php +114 -0
  1075. package/vendor/symfony/options-resolver/Exception/AccessException.php +22 -0
  1076. package/vendor/symfony/options-resolver/Exception/ExceptionInterface.php +21 -0
  1077. package/vendor/symfony/options-resolver/Exception/InvalidArgumentException.php +21 -0
  1078. package/vendor/symfony/options-resolver/Exception/InvalidOptionsException.php +23 -0
  1079. package/vendor/symfony/options-resolver/Exception/MissingOptionsException.php +23 -0
  1080. package/vendor/symfony/options-resolver/Exception/NoConfigurationException.php +26 -0
  1081. package/vendor/symfony/options-resolver/Exception/NoSuchOptionException.php +26 -0
  1082. package/vendor/symfony/options-resolver/Exception/OptionDefinitionException.php +21 -0
  1083. package/vendor/symfony/options-resolver/Exception/UndefinedOptionsException.php +24 -0
  1084. package/vendor/symfony/options-resolver/LICENSE +19 -0
  1085. package/vendor/symfony/options-resolver/OptionConfigurator.php +160 -0
  1086. package/vendor/symfony/options-resolver/Options.php +22 -0
  1087. package/vendor/symfony/options-resolver/OptionsResolver.php +1396 -0
  1088. package/vendor/symfony/options-resolver/README.md +15 -0
  1089. package/vendor/symfony/options-resolver/composer.json +29 -0
  1090. package/vendor/symfony/polyfill-ctype/Ctype.php +232 -0
  1091. package/vendor/symfony/polyfill-ctype/LICENSE +19 -0
  1092. package/vendor/symfony/polyfill-ctype/README.md +12 -0
  1093. package/vendor/symfony/polyfill-ctype/bootstrap.php +50 -0
  1094. package/vendor/symfony/polyfill-ctype/bootstrap80.php +46 -0
  1095. package/vendor/symfony/polyfill-ctype/composer.json +38 -0
  1096. package/vendor/symfony/polyfill-intl-grapheme/Grapheme.php +247 -0
  1097. package/vendor/symfony/polyfill-intl-grapheme/LICENSE +19 -0
  1098. package/vendor/symfony/polyfill-intl-grapheme/README.md +31 -0
  1099. package/vendor/symfony/polyfill-intl-grapheme/bootstrap.php +58 -0
  1100. package/vendor/symfony/polyfill-intl-grapheme/bootstrap80.php +50 -0
  1101. package/vendor/symfony/polyfill-intl-grapheme/composer.json +35 -0
  1102. package/vendor/symfony/polyfill-intl-normalizer/LICENSE +19 -0
  1103. package/vendor/symfony/polyfill-intl-normalizer/Normalizer.php +310 -0
  1104. package/vendor/symfony/polyfill-intl-normalizer/README.md +14 -0
  1105. package/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php +17 -0
  1106. package/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php +945 -0
  1107. package/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php +2065 -0
  1108. package/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php +876 -0
  1109. package/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php +3695 -0
  1110. package/vendor/symfony/polyfill-intl-normalizer/bootstrap.php +23 -0
  1111. package/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php +19 -0
  1112. package/vendor/symfony/polyfill-intl-normalizer/composer.json +36 -0
  1113. package/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
  1114. package/vendor/symfony/polyfill-mbstring/Mbstring.php +1045 -0
  1115. package/vendor/symfony/polyfill-mbstring/README.md +13 -0
  1116. package/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  1117. package/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1397 -0
  1118. package/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
  1119. package/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1489 -0
  1120. package/vendor/symfony/polyfill-mbstring/bootstrap.php +172 -0
  1121. package/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  1122. package/vendor/symfony/polyfill-mbstring/composer.json +39 -0
  1123. package/vendor/symfony/polyfill-php80/LICENSE +19 -0
  1124. package/vendor/symfony/polyfill-php80/Php80.php +115 -0
  1125. package/vendor/symfony/polyfill-php80/PhpToken.php +106 -0
  1126. package/vendor/symfony/polyfill-php80/README.md +25 -0
  1127. package/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +31 -0
  1128. package/vendor/symfony/polyfill-php80/Resources/stubs/PhpToken.php +16 -0
  1129. package/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +20 -0
  1130. package/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +16 -0
  1131. package/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +16 -0
  1132. package/vendor/symfony/polyfill-php80/bootstrap.php +42 -0
  1133. package/vendor/symfony/polyfill-php80/composer.json +37 -0
  1134. package/vendor/symfony/polyfill-php81/LICENSE +19 -0
  1135. package/vendor/symfony/polyfill-php81/Php81.php +37 -0
  1136. package/vendor/symfony/polyfill-php81/README.md +18 -0
  1137. package/vendor/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php +51 -0
  1138. package/vendor/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php +20 -0
  1139. package/vendor/symfony/polyfill-php81/bootstrap.php +28 -0
  1140. package/vendor/symfony/polyfill-php81/composer.json +33 -0
  1141. package/vendor/symfony/process/CHANGELOG.md +134 -0
  1142. package/vendor/symfony/process/Exception/ExceptionInterface.php +21 -0
  1143. package/vendor/symfony/process/Exception/InvalidArgumentException.php +21 -0
  1144. package/vendor/symfony/process/Exception/LogicException.php +21 -0
  1145. package/vendor/symfony/process/Exception/ProcessFailedException.php +53 -0
  1146. package/vendor/symfony/process/Exception/ProcessSignaledException.php +38 -0
  1147. package/vendor/symfony/process/Exception/ProcessStartFailedException.php +43 -0
  1148. package/vendor/symfony/process/Exception/ProcessTimedOutException.php +60 -0
  1149. package/vendor/symfony/process/Exception/RunProcessFailedException.php +25 -0
  1150. package/vendor/symfony/process/Exception/RuntimeException.php +21 -0
  1151. package/vendor/symfony/process/ExecutableFinder.php +103 -0
  1152. package/vendor/symfony/process/InputStream.php +91 -0
  1153. package/vendor/symfony/process/LICENSE +19 -0
  1154. package/vendor/symfony/process/Messenger/RunProcessContext.php +33 -0
  1155. package/vendor/symfony/process/Messenger/RunProcessMessage.php +47 -0
  1156. package/vendor/symfony/process/Messenger/RunProcessMessageHandler.php +36 -0
  1157. package/vendor/symfony/process/PhpExecutableFinder.php +98 -0
  1158. package/vendor/symfony/process/PhpProcess.php +66 -0
  1159. package/vendor/symfony/process/PhpSubprocess.php +164 -0
  1160. package/vendor/symfony/process/Pipes/AbstractPipes.php +176 -0
  1161. package/vendor/symfony/process/Pipes/PipesInterface.php +61 -0
  1162. package/vendor/symfony/process/Pipes/UnixPipes.php +144 -0
  1163. package/vendor/symfony/process/Pipes/WindowsPipes.php +185 -0
  1164. package/vendor/symfony/process/Process.php +1662 -0
  1165. package/vendor/symfony/process/ProcessUtils.php +64 -0
  1166. package/vendor/symfony/process/README.md +13 -0
  1167. package/vendor/symfony/process/composer.json +28 -0
  1168. package/vendor/symfony/service-contracts/Attribute/Required.php +25 -0
  1169. package/vendor/symfony/service-contracts/Attribute/SubscribedService.php +47 -0
  1170. package/vendor/symfony/service-contracts/CHANGELOG.md +5 -0
  1171. package/vendor/symfony/service-contracts/LICENSE +19 -0
  1172. package/vendor/symfony/service-contracts/README.md +9 -0
  1173. package/vendor/symfony/service-contracts/ResetInterface.php +33 -0
  1174. package/vendor/symfony/service-contracts/ServiceCollectionInterface.php +26 -0
  1175. package/vendor/symfony/service-contracts/ServiceLocatorTrait.php +114 -0
  1176. package/vendor/symfony/service-contracts/ServiceMethodsSubscriberTrait.php +80 -0
  1177. package/vendor/symfony/service-contracts/ServiceProviderInterface.php +45 -0
  1178. package/vendor/symfony/service-contracts/ServiceSubscriberInterface.php +62 -0
  1179. package/vendor/symfony/service-contracts/ServiceSubscriberTrait.php +84 -0
  1180. package/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php +23 -0
  1181. package/vendor/symfony/service-contracts/Test/ServiceLocatorTestCase.php +97 -0
  1182. package/vendor/symfony/service-contracts/composer.json +42 -0
  1183. package/vendor/symfony/stopwatch/CHANGELOG.md +30 -0
  1184. package/vendor/symfony/stopwatch/LICENSE +19 -0
  1185. package/vendor/symfony/stopwatch/README.md +42 -0
  1186. package/vendor/symfony/stopwatch/Section.php +155 -0
  1187. package/vendor/symfony/stopwatch/Stopwatch.php +163 -0
  1188. package/vendor/symfony/stopwatch/StopwatchEvent.php +238 -0
  1189. package/vendor/symfony/stopwatch/StopwatchPeriod.php +73 -0
  1190. package/vendor/symfony/stopwatch/composer.json +29 -0
  1191. package/vendor/symfony/string/AbstractString.php +723 -0
  1192. package/vendor/symfony/string/AbstractUnicodeString.php +670 -0
  1193. package/vendor/symfony/string/ByteString.php +490 -0
  1194. package/vendor/symfony/string/CHANGELOG.md +56 -0
  1195. package/vendor/symfony/string/CodePointString.php +260 -0
  1196. package/vendor/symfony/string/Exception/ExceptionInterface.php +16 -0
  1197. package/vendor/symfony/string/Exception/InvalidArgumentException.php +16 -0
  1198. package/vendor/symfony/string/Exception/RuntimeException.php +16 -0
  1199. package/vendor/symfony/string/Inflector/EnglishInflector.php +589 -0
  1200. package/vendor/symfony/string/Inflector/FrenchInflector.php +151 -0
  1201. package/vendor/symfony/string/Inflector/InflectorInterface.php +33 -0
  1202. package/vendor/symfony/string/Inflector/SpanishInflector.php +126 -0
  1203. package/vendor/symfony/string/LICENSE +19 -0
  1204. package/vendor/symfony/string/LazyString.php +145 -0
  1205. package/vendor/symfony/string/README.md +14 -0
  1206. package/vendor/symfony/string/Resources/data/wcswidth_table_wide.php +1182 -0
  1207. package/vendor/symfony/string/Resources/data/wcswidth_table_zero.php +1466 -0
  1208. package/vendor/symfony/string/Resources/functions.php +38 -0
  1209. package/vendor/symfony/string/Slugger/AsciiSlugger.php +207 -0
  1210. package/vendor/symfony/string/Slugger/SluggerInterface.php +27 -0
  1211. package/vendor/symfony/string/TruncateMode.php +42 -0
  1212. package/vendor/symfony/string/UnicodeString.php +382 -0
  1213. package/vendor/symfony/string/composer.json +44 -0
  1214. package/bin-codeformat.sh +0 -35
  1215. /package/{LICENSE → LICENCE} +0 -0
@@ -0,0 +1,1662 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Component\Process;
13
+
14
+ use Symfony\Component\Process\Exception\InvalidArgumentException;
15
+ use Symfony\Component\Process\Exception\LogicException;
16
+ use Symfony\Component\Process\Exception\ProcessFailedException;
17
+ use Symfony\Component\Process\Exception\ProcessSignaledException;
18
+ use Symfony\Component\Process\Exception\ProcessStartFailedException;
19
+ use Symfony\Component\Process\Exception\ProcessTimedOutException;
20
+ use Symfony\Component\Process\Exception\RuntimeException;
21
+ use Symfony\Component\Process\Pipes\UnixPipes;
22
+ use Symfony\Component\Process\Pipes\WindowsPipes;
23
+
24
+ /**
25
+ * Process is a thin wrapper around proc_* functions to easily
26
+ * start independent PHP processes.
27
+ *
28
+ * @author Fabien Potencier <fabien@symfony.com>
29
+ * @author Romain Neutron <imprec@gmail.com>
30
+ *
31
+ * @implements \IteratorAggregate<string, string>
32
+ */
33
+ class Process implements \IteratorAggregate
34
+ {
35
+ public const ERR = 'err';
36
+ public const OUT = 'out';
37
+
38
+ public const STATUS_READY = 'ready';
39
+ public const STATUS_STARTED = 'started';
40
+ public const STATUS_TERMINATED = 'terminated';
41
+
42
+ public const STDIN = 0;
43
+ public const STDOUT = 1;
44
+ public const STDERR = 2;
45
+
46
+ // Timeout Precision in seconds.
47
+ public const TIMEOUT_PRECISION = 0.2;
48
+
49
+ public const ITER_NON_BLOCKING = 1; // By default, iterating over outputs is a blocking call, use this flag to make it non-blocking
50
+ public const ITER_KEEP_OUTPUT = 2; // By default, outputs are cleared while iterating, use this flag to keep them in memory
51
+ public const ITER_SKIP_OUT = 4; // Use this flag to skip STDOUT while iterating
52
+ public const ITER_SKIP_ERR = 8; // Use this flag to skip STDERR while iterating
53
+
54
+ private ?\Closure $callback = null;
55
+ private array|string $commandline;
56
+ private ?string $cwd;
57
+ private array $env = [];
58
+ /** @var resource|string|\Iterator|null */
59
+ private $input;
60
+ private ?float $starttime = null;
61
+ private ?float $lastOutputTime = null;
62
+ private ?float $timeout = null;
63
+ private ?float $idleTimeout = null;
64
+ private ?int $exitcode = null;
65
+ private array $fallbackStatus = [];
66
+ private array $processInformation;
67
+ private bool $outputDisabled = false;
68
+ /** @var resource */
69
+ private $stdout;
70
+ /** @var resource */
71
+ private $stderr;
72
+ /** @var resource|null */
73
+ private $process;
74
+ private string $status = self::STATUS_READY;
75
+ private int $incrementalOutputOffset = 0;
76
+ private int $incrementalErrorOutputOffset = 0;
77
+ private bool $tty = false;
78
+ private bool $pty;
79
+ private array $options = ['suppress_errors' => true, 'bypass_shell' => true];
80
+ private array $ignoredSignals = [];
81
+
82
+ private WindowsPipes|UnixPipes $processPipes;
83
+
84
+ private ?int $latestSignal = null;
85
+
86
+ private static ?bool $sigchild = null;
87
+ private static array $executables = [];
88
+
89
+ /**
90
+ * Exit codes translation table.
91
+ *
92
+ * User-defined errors must use exit codes in the 64-113 range.
93
+ */
94
+ public static array $exitCodes = [
95
+ 0 => 'OK',
96
+ 1 => 'General error',
97
+ 2 => 'Misuse of shell builtins',
98
+
99
+ 126 => 'Invoked command cannot execute',
100
+ 127 => 'Command not found',
101
+ 128 => 'Invalid exit argument',
102
+
103
+ // signals
104
+ 129 => 'Hangup',
105
+ 130 => 'Interrupt',
106
+ 131 => 'Quit and dump core',
107
+ 132 => 'Illegal instruction',
108
+ 133 => 'Trace/breakpoint trap',
109
+ 134 => 'Process aborted',
110
+ 135 => 'Bus error: "access to undefined portion of memory object"',
111
+ 136 => 'Floating point exception: "erroneous arithmetic operation"',
112
+ 137 => 'Kill (terminate immediately)',
113
+ 138 => 'User-defined 1',
114
+ 139 => 'Segmentation violation',
115
+ 140 => 'User-defined 2',
116
+ 141 => 'Write to pipe with no one reading',
117
+ 142 => 'Signal raised by alarm',
118
+ 143 => 'Termination (request to terminate)',
119
+ // 144 - not defined
120
+ 145 => 'Child process terminated, stopped (or continued*)',
121
+ 146 => 'Continue if stopped',
122
+ 147 => 'Stop executing temporarily',
123
+ 148 => 'Terminal stop signal',
124
+ 149 => 'Background process attempting to read from tty ("in")',
125
+ 150 => 'Background process attempting to write to tty ("out")',
126
+ 151 => 'Urgent data available on socket',
127
+ 152 => 'CPU time limit exceeded',
128
+ 153 => 'File size limit exceeded',
129
+ 154 => 'Signal raised by timer counting virtual time: "virtual timer expired"',
130
+ 155 => 'Profiling timer expired',
131
+ // 156 - not defined
132
+ 157 => 'Pollable event',
133
+ // 158 - not defined
134
+ 159 => 'Bad syscall',
135
+ ];
136
+
137
+ /**
138
+ * @param array $command The command to run and its arguments listed as separate entries
139
+ * @param string|null $cwd The working directory or null to use the working dir of the current PHP process
140
+ * @param array|null $env The environment variables or null to use the same environment as the current PHP process
141
+ * @param mixed $input The input as stream resource, scalar or \Traversable, or null for no input
142
+ * @param int|float|null $timeout The timeout in seconds or null to disable
143
+ *
144
+ * @throws LogicException When proc_open is not installed
145
+ */
146
+ public function __construct(array $command, ?string $cwd = null, ?array $env = null, mixed $input = null, ?float $timeout = 60)
147
+ {
148
+ if (!\function_exists('proc_open')) {
149
+ throw new LogicException('The Process class relies on proc_open, which is not available on your PHP installation.');
150
+ }
151
+
152
+ $this->commandline = $command;
153
+ $this->cwd = $cwd;
154
+
155
+ // on Windows, if the cwd changed via chdir(), proc_open defaults to the dir where PHP was started
156
+ // on Gnu/Linux, PHP builds with --enable-maintainer-zts are also affected
157
+ // @see : https://bugs.php.net/51800
158
+ // @see : https://bugs.php.net/50524
159
+ if (null === $this->cwd && (\defined('ZEND_THREAD_SAFE') || '\\' === \DIRECTORY_SEPARATOR)) {
160
+ $this->cwd = getcwd();
161
+ }
162
+ if (null !== $env) {
163
+ $this->setEnv($env);
164
+ }
165
+
166
+ $this->setInput($input);
167
+ $this->setTimeout($timeout);
168
+ $this->pty = false;
169
+ }
170
+
171
+ /**
172
+ * Creates a Process instance as a command-line to be run in a shell wrapper.
173
+ *
174
+ * Command-lines are parsed by the shell of your OS (/bin/sh on Unix-like, cmd.exe on Windows.)
175
+ * This allows using e.g. pipes or conditional execution. In this mode, signals are sent to the
176
+ * shell wrapper and not to your commands.
177
+ *
178
+ * In order to inject dynamic values into command-lines, we strongly recommend using placeholders.
179
+ * This will save escaping values, which is not portable nor secure anyway:
180
+ *
181
+ * $process = Process::fromShellCommandline('my_command "${:MY_VAR}"');
182
+ * $process->run(null, ['MY_VAR' => $theValue]);
183
+ *
184
+ * @param string $command The command line to pass to the shell of the OS
185
+ * @param string|null $cwd The working directory or null to use the working dir of the current PHP process
186
+ * @param array|null $env The environment variables or null to use the same environment as the current PHP process
187
+ * @param mixed $input The input as stream resource, scalar or \Traversable, or null for no input
188
+ * @param int|float|null $timeout The timeout in seconds or null to disable
189
+ *
190
+ * @throws LogicException When proc_open is not installed
191
+ */
192
+ public static function fromShellCommandline(string $command, ?string $cwd = null, ?array $env = null, mixed $input = null, ?float $timeout = 60): static
193
+ {
194
+ $process = new static([], $cwd, $env, $input, $timeout);
195
+ $process->commandline = $command;
196
+
197
+ return $process;
198
+ }
199
+
200
+ public function __sleep(): array
201
+ {
202
+ throw new \BadMethodCallException('Cannot serialize '.__CLASS__);
203
+ }
204
+
205
+ public function __wakeup(): void
206
+ {
207
+ throw new \BadMethodCallException('Cannot unserialize '.__CLASS__);
208
+ }
209
+
210
+ public function __destruct()
211
+ {
212
+ if ($this->options['create_new_console'] ?? false) {
213
+ $this->processPipes->close();
214
+ } else {
215
+ $this->stop(0);
216
+ }
217
+ }
218
+
219
+ public function __clone()
220
+ {
221
+ $this->resetProcessData();
222
+ }
223
+
224
+ /**
225
+ * Runs the process.
226
+ *
227
+ * The callback receives the type of output (out or err) and
228
+ * some bytes from the output in real-time. It allows to have feedback
229
+ * from the independent process during execution.
230
+ *
231
+ * The STDOUT and STDERR are also available after the process is finished
232
+ * via the getOutput() and getErrorOutput() methods.
233
+ *
234
+ * @param callable|null $callback A PHP callback to run whenever there is some
235
+ * output available on STDOUT or STDERR
236
+ *
237
+ * @return int The exit status code
238
+ *
239
+ * @throws ProcessStartFailedException When process can't be launched
240
+ * @throws RuntimeException When process is already running
241
+ * @throws ProcessTimedOutException When process timed out
242
+ * @throws ProcessSignaledException When process stopped after receiving signal
243
+ * @throws LogicException In case a callback is provided and output has been disabled
244
+ *
245
+ * @final
246
+ */
247
+ public function run(?callable $callback = null, array $env = []): int
248
+ {
249
+ $this->start($callback, $env);
250
+
251
+ return $this->wait();
252
+ }
253
+
254
+ /**
255
+ * Runs the process.
256
+ *
257
+ * This is identical to run() except that an exception is thrown if the process
258
+ * exits with a non-zero exit code.
259
+ *
260
+ * @return $this
261
+ *
262
+ * @throws ProcessFailedException if the process didn't terminate successfully
263
+ *
264
+ * @final
265
+ */
266
+ public function mustRun(?callable $callback = null, array $env = []): static
267
+ {
268
+ if (0 !== $this->run($callback, $env)) {
269
+ throw new ProcessFailedException($this);
270
+ }
271
+
272
+ return $this;
273
+ }
274
+
275
+ /**
276
+ * Starts the process and returns after writing the input to STDIN.
277
+ *
278
+ * This method blocks until all STDIN data is sent to the process then it
279
+ * returns while the process runs in the background.
280
+ *
281
+ * The termination of the process can be awaited with wait().
282
+ *
283
+ * The callback receives the type of output (out or err) and some bytes from
284
+ * the output in real-time while writing the standard input to the process.
285
+ * It allows to have feedback from the independent process during execution.
286
+ *
287
+ * @param callable|null $callback A PHP callback to run whenever there is some
288
+ * output available on STDOUT or STDERR
289
+ *
290
+ * @throws ProcessStartFailedException When process can't be launched
291
+ * @throws RuntimeException When process is already running
292
+ * @throws LogicException In case a callback is provided and output has been disabled
293
+ */
294
+ public function start(?callable $callback = null, array $env = []): void
295
+ {
296
+ if ($this->isRunning()) {
297
+ throw new RuntimeException('Process is already running.');
298
+ }
299
+
300
+ $this->resetProcessData();
301
+ $this->starttime = $this->lastOutputTime = microtime(true);
302
+ $this->callback = $this->buildCallback($callback);
303
+ $descriptors = $this->getDescriptors(null !== $callback);
304
+
305
+ if ($this->env) {
306
+ $env += '\\' === \DIRECTORY_SEPARATOR ? array_diff_ukey($this->env, $env, 'strcasecmp') : $this->env;
307
+ }
308
+
309
+ $env += '\\' === \DIRECTORY_SEPARATOR ? array_diff_ukey($this->getDefaultEnv(), $env, 'strcasecmp') : $this->getDefaultEnv();
310
+
311
+ if (\is_array($commandline = $this->commandline)) {
312
+ $commandline = array_values(array_map(strval(...), $commandline));
313
+ } else {
314
+ $commandline = $this->replacePlaceholders($commandline, $env);
315
+ }
316
+
317
+ if ('\\' === \DIRECTORY_SEPARATOR) {
318
+ $commandline = $this->prepareWindowsCommandLine($commandline, $env);
319
+ } elseif ($this->isSigchildEnabled()) {
320
+ // last exit code is output on the fourth pipe and caught to work around --enable-sigchild
321
+ $descriptors[3] = ['pipe', 'w'];
322
+
323
+ if (\is_array($commandline)) {
324
+ // exec is mandatory to deal with sending a signal to the process
325
+ $commandline = 'exec '.$this->buildShellCommandline($commandline);
326
+ }
327
+
328
+ // See https://unix.stackexchange.com/questions/71205/background-process-pipe-input
329
+ $commandline = '{ ('.$commandline.') <&3 3<&- 3>/dev/null & } 3<&0;';
330
+ $commandline .= 'pid=$!; echo $pid >&3; wait $pid 2>/dev/null; code=$?; echo $code >&3; exit $code';
331
+ }
332
+
333
+ $envPairs = [];
334
+ foreach ($env as $k => $v) {
335
+ if (false !== $v && false === \in_array($k, ['argc', 'argv', 'ARGC', 'ARGV'], true)) {
336
+ $envPairs[] = $k.'='.$v;
337
+ }
338
+ }
339
+
340
+ if (!is_dir($this->cwd)) {
341
+ throw new RuntimeException(\sprintf('The provided cwd "%s" does not exist.', $this->cwd));
342
+ }
343
+
344
+ $lastError = null;
345
+ set_error_handler(function ($type, $msg) use (&$lastError) {
346
+ $lastError = $msg;
347
+
348
+ return true;
349
+ });
350
+
351
+ $oldMask = [];
352
+
353
+ if ($this->ignoredSignals && \function_exists('pcntl_sigprocmask')) {
354
+ // we block signals we want to ignore, as proc_open will use fork / posix_spawn which will copy the signal mask this allow to block
355
+ // signals in the child process
356
+ pcntl_sigprocmask(\SIG_BLOCK, $this->ignoredSignals, $oldMask);
357
+ }
358
+
359
+ try {
360
+ $process = @proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs, $this->options);
361
+
362
+ // Ensure array vs string commands behave the same
363
+ if (!$process && \is_array($commandline)) {
364
+ $process = @proc_open('exec '.$this->buildShellCommandline($commandline), $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs, $this->options);
365
+ }
366
+ } finally {
367
+ if ($this->ignoredSignals && \function_exists('pcntl_sigprocmask')) {
368
+ // we restore the signal mask here to avoid any side effects
369
+ pcntl_sigprocmask(\SIG_SETMASK, $oldMask);
370
+ }
371
+
372
+ restore_error_handler();
373
+ }
374
+
375
+ if (!$process) {
376
+ throw new ProcessStartFailedException($this, $lastError);
377
+ }
378
+ $this->process = $process;
379
+ $this->status = self::STATUS_STARTED;
380
+
381
+ if (isset($descriptors[3])) {
382
+ $this->fallbackStatus['pid'] = (int) fgets($this->processPipes->pipes[3]);
383
+ }
384
+
385
+ if ($this->tty) {
386
+ return;
387
+ }
388
+
389
+ $this->updateStatus(false);
390
+ $this->checkTimeout();
391
+ }
392
+
393
+ /**
394
+ * Restarts the process.
395
+ *
396
+ * Be warned that the process is cloned before being started.
397
+ *
398
+ * @param callable|null $callback A PHP callback to run whenever there is some
399
+ * output available on STDOUT or STDERR
400
+ *
401
+ * @throws ProcessStartFailedException When process can't be launched
402
+ * @throws RuntimeException When process is already running
403
+ *
404
+ * @see start()
405
+ *
406
+ * @final
407
+ */
408
+ public function restart(?callable $callback = null, array $env = []): static
409
+ {
410
+ if ($this->isRunning()) {
411
+ throw new RuntimeException('Process is already running.');
412
+ }
413
+
414
+ $process = clone $this;
415
+ $process->start($callback, $env);
416
+
417
+ return $process;
418
+ }
419
+
420
+ /**
421
+ * Waits for the process to terminate.
422
+ *
423
+ * The callback receives the type of output (out or err) and some bytes
424
+ * from the output in real-time while writing the standard input to the process.
425
+ * It allows to have feedback from the independent process during execution.
426
+ *
427
+ * @param callable|null $callback A valid PHP callback
428
+ *
429
+ * @return int The exitcode of the process
430
+ *
431
+ * @throws ProcessTimedOutException When process timed out
432
+ * @throws ProcessSignaledException When process stopped after receiving signal
433
+ * @throws LogicException When process is not yet started
434
+ */
435
+ public function wait(?callable $callback = null): int
436
+ {
437
+ $this->requireProcessIsStarted(__FUNCTION__);
438
+
439
+ $this->updateStatus(false);
440
+
441
+ if (null !== $callback) {
442
+ if (!$this->processPipes->haveReadSupport()) {
443
+ $this->stop(0);
444
+ throw new LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::wait".');
445
+ }
446
+ $this->callback = $this->buildCallback($callback);
447
+ }
448
+
449
+ do {
450
+ $this->checkTimeout();
451
+ $running = $this->isRunning() && ('\\' === \DIRECTORY_SEPARATOR || $this->processPipes->areOpen());
452
+ $this->readPipes($running, '\\' !== \DIRECTORY_SEPARATOR || !$running);
453
+ } while ($running);
454
+
455
+ while ($this->isRunning()) {
456
+ $this->checkTimeout();
457
+ usleep(1000);
458
+ }
459
+
460
+ if ($this->processInformation['signaled'] && $this->processInformation['termsig'] !== $this->latestSignal) {
461
+ throw new ProcessSignaledException($this);
462
+ }
463
+
464
+ return $this->exitcode;
465
+ }
466
+
467
+ /**
468
+ * Waits until the callback returns true.
469
+ *
470
+ * The callback receives the type of output (out or err) and some bytes
471
+ * from the output in real-time while writing the standard input to the process.
472
+ * It allows to have feedback from the independent process during execution.
473
+ *
474
+ * @throws RuntimeException When process timed out
475
+ * @throws LogicException When process is not yet started
476
+ * @throws ProcessTimedOutException In case the timeout was reached
477
+ */
478
+ public function waitUntil(callable $callback): bool
479
+ {
480
+ $this->requireProcessIsStarted(__FUNCTION__);
481
+ $this->updateStatus(false);
482
+
483
+ if (!$this->processPipes->haveReadSupport()) {
484
+ $this->stop(0);
485
+ throw new LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::waitUntil".');
486
+ }
487
+ $callback = $this->buildCallback($callback);
488
+
489
+ $ready = false;
490
+ while (true) {
491
+ $this->checkTimeout();
492
+ $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen();
493
+ $output = $this->processPipes->readAndWrite($running, '\\' !== \DIRECTORY_SEPARATOR || !$running);
494
+
495
+ foreach ($output as $type => $data) {
496
+ if (3 !== $type) {
497
+ $ready = $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data) || $ready;
498
+ } elseif (!isset($this->fallbackStatus['signaled'])) {
499
+ $this->fallbackStatus['exitcode'] = (int) $data;
500
+ }
501
+ }
502
+ if ($ready) {
503
+ return true;
504
+ }
505
+ if (!$running) {
506
+ return false;
507
+ }
508
+
509
+ usleep(1000);
510
+ }
511
+ }
512
+
513
+ /**
514
+ * Returns the Pid (process identifier), if applicable.
515
+ *
516
+ * @return int|null The process id if running, null otherwise
517
+ */
518
+ public function getPid(): ?int
519
+ {
520
+ return $this->isRunning() ? $this->processInformation['pid'] : null;
521
+ }
522
+
523
+ /**
524
+ * Sends a POSIX signal to the process.
525
+ *
526
+ * @param int $signal A valid POSIX signal (see https://php.net/pcntl.constants)
527
+ *
528
+ * @return $this
529
+ *
530
+ * @throws LogicException In case the process is not running
531
+ * @throws RuntimeException In case --enable-sigchild is activated and the process can't be killed
532
+ * @throws RuntimeException In case of failure
533
+ */
534
+ public function signal(int $signal): static
535
+ {
536
+ $this->doSignal($signal, true);
537
+
538
+ return $this;
539
+ }
540
+
541
+ /**
542
+ * Disables fetching output and error output from the underlying process.
543
+ *
544
+ * @return $this
545
+ *
546
+ * @throws RuntimeException In case the process is already running
547
+ * @throws LogicException if an idle timeout is set
548
+ */
549
+ public function disableOutput(): static
550
+ {
551
+ if ($this->isRunning()) {
552
+ throw new RuntimeException('Disabling output while the process is running is not possible.');
553
+ }
554
+ if (null !== $this->idleTimeout) {
555
+ throw new LogicException('Output cannot be disabled while an idle timeout is set.');
556
+ }
557
+
558
+ $this->outputDisabled = true;
559
+
560
+ return $this;
561
+ }
562
+
563
+ /**
564
+ * Enables fetching output and error output from the underlying process.
565
+ *
566
+ * @return $this
567
+ *
568
+ * @throws RuntimeException In case the process is already running
569
+ */
570
+ public function enableOutput(): static
571
+ {
572
+ if ($this->isRunning()) {
573
+ throw new RuntimeException('Enabling output while the process is running is not possible.');
574
+ }
575
+
576
+ $this->outputDisabled = false;
577
+
578
+ return $this;
579
+ }
580
+
581
+ /**
582
+ * Returns true in case the output is disabled, false otherwise.
583
+ */
584
+ public function isOutputDisabled(): bool
585
+ {
586
+ return $this->outputDisabled;
587
+ }
588
+
589
+ /**
590
+ * Returns the current output of the process (STDOUT).
591
+ *
592
+ * @throws LogicException in case the output has been disabled
593
+ * @throws LogicException In case the process is not started
594
+ */
595
+ public function getOutput(): string
596
+ {
597
+ $this->readPipesForOutput(__FUNCTION__);
598
+
599
+ if (false === $ret = stream_get_contents($this->stdout, -1, 0)) {
600
+ return '';
601
+ }
602
+
603
+ return $ret;
604
+ }
605
+
606
+ /**
607
+ * Returns the output incrementally.
608
+ *
609
+ * In comparison with the getOutput method which always return the whole
610
+ * output, this one returns the new output since the last call.
611
+ *
612
+ * @throws LogicException in case the output has been disabled
613
+ * @throws LogicException In case the process is not started
614
+ */
615
+ public function getIncrementalOutput(): string
616
+ {
617
+ $this->readPipesForOutput(__FUNCTION__);
618
+
619
+ $latest = stream_get_contents($this->stdout, -1, $this->incrementalOutputOffset);
620
+ $this->incrementalOutputOffset = ftell($this->stdout);
621
+
622
+ if (false === $latest) {
623
+ return '';
624
+ }
625
+
626
+ return $latest;
627
+ }
628
+
629
+ /**
630
+ * Returns an iterator to the output of the process, with the output type as keys (Process::OUT/ERR).
631
+ *
632
+ * @param int $flags A bit field of Process::ITER_* flags
633
+ *
634
+ * @return \Generator<string, string>
635
+ *
636
+ * @throws LogicException in case the output has been disabled
637
+ * @throws LogicException In case the process is not started
638
+ */
639
+ public function getIterator(int $flags = 0): \Generator
640
+ {
641
+ $this->readPipesForOutput(__FUNCTION__, false);
642
+
643
+ $clearOutput = !(self::ITER_KEEP_OUTPUT & $flags);
644
+ $blocking = !(self::ITER_NON_BLOCKING & $flags);
645
+ $yieldOut = !(self::ITER_SKIP_OUT & $flags);
646
+ $yieldErr = !(self::ITER_SKIP_ERR & $flags);
647
+
648
+ while (null !== $this->callback || ($yieldOut && !feof($this->stdout)) || ($yieldErr && !feof($this->stderr))) {
649
+ if ($yieldOut) {
650
+ $out = stream_get_contents($this->stdout, -1, $this->incrementalOutputOffset);
651
+
652
+ if (isset($out[0])) {
653
+ if ($clearOutput) {
654
+ $this->clearOutput();
655
+ } else {
656
+ $this->incrementalOutputOffset = ftell($this->stdout);
657
+ }
658
+
659
+ yield self::OUT => $out;
660
+ }
661
+ }
662
+
663
+ if ($yieldErr) {
664
+ $err = stream_get_contents($this->stderr, -1, $this->incrementalErrorOutputOffset);
665
+
666
+ if (isset($err[0])) {
667
+ if ($clearOutput) {
668
+ $this->clearErrorOutput();
669
+ } else {
670
+ $this->incrementalErrorOutputOffset = ftell($this->stderr);
671
+ }
672
+
673
+ yield self::ERR => $err;
674
+ }
675
+ }
676
+
677
+ if (!$blocking && !isset($out[0]) && !isset($err[0])) {
678
+ yield self::OUT => '';
679
+ }
680
+
681
+ $this->checkTimeout();
682
+ $this->readPipesForOutput(__FUNCTION__, $blocking);
683
+ }
684
+ }
685
+
686
+ /**
687
+ * Clears the process output.
688
+ *
689
+ * @return $this
690
+ */
691
+ public function clearOutput(): static
692
+ {
693
+ ftruncate($this->stdout, 0);
694
+ fseek($this->stdout, 0);
695
+ $this->incrementalOutputOffset = 0;
696
+
697
+ return $this;
698
+ }
699
+
700
+ /**
701
+ * Returns the current error output of the process (STDERR).
702
+ *
703
+ * @throws LogicException in case the output has been disabled
704
+ * @throws LogicException In case the process is not started
705
+ */
706
+ public function getErrorOutput(): string
707
+ {
708
+ $this->readPipesForOutput(__FUNCTION__);
709
+
710
+ if (false === $ret = stream_get_contents($this->stderr, -1, 0)) {
711
+ return '';
712
+ }
713
+
714
+ return $ret;
715
+ }
716
+
717
+ /**
718
+ * Returns the errorOutput incrementally.
719
+ *
720
+ * In comparison with the getErrorOutput method which always return the
721
+ * whole error output, this one returns the new error output since the last
722
+ * call.
723
+ *
724
+ * @throws LogicException in case the output has been disabled
725
+ * @throws LogicException In case the process is not started
726
+ */
727
+ public function getIncrementalErrorOutput(): string
728
+ {
729
+ $this->readPipesForOutput(__FUNCTION__);
730
+
731
+ $latest = stream_get_contents($this->stderr, -1, $this->incrementalErrorOutputOffset);
732
+ $this->incrementalErrorOutputOffset = ftell($this->stderr);
733
+
734
+ if (false === $latest) {
735
+ return '';
736
+ }
737
+
738
+ return $latest;
739
+ }
740
+
741
+ /**
742
+ * Clears the process output.
743
+ *
744
+ * @return $this
745
+ */
746
+ public function clearErrorOutput(): static
747
+ {
748
+ ftruncate($this->stderr, 0);
749
+ fseek($this->stderr, 0);
750
+ $this->incrementalErrorOutputOffset = 0;
751
+
752
+ return $this;
753
+ }
754
+
755
+ /**
756
+ * Returns the exit code returned by the process.
757
+ *
758
+ * @return int|null The exit status code, null if the Process is not terminated
759
+ */
760
+ public function getExitCode(): ?int
761
+ {
762
+ $this->updateStatus(false);
763
+
764
+ return $this->exitcode;
765
+ }
766
+
767
+ /**
768
+ * Returns a string representation for the exit code returned by the process.
769
+ *
770
+ * This method relies on the Unix exit code status standardization
771
+ * and might not be relevant for other operating systems.
772
+ *
773
+ * @return string|null A string representation for the exit status code, null if the Process is not terminated
774
+ *
775
+ * @see http://tldp.org/LDP/abs/html/exitcodes.html
776
+ * @see http://en.wikipedia.org/wiki/Unix_signal
777
+ */
778
+ public function getExitCodeText(): ?string
779
+ {
780
+ if (null === $exitcode = $this->getExitCode()) {
781
+ return null;
782
+ }
783
+
784
+ return self::$exitCodes[$exitcode] ?? 'Unknown error';
785
+ }
786
+
787
+ /**
788
+ * Checks if the process ended successfully.
789
+ */
790
+ public function isSuccessful(): bool
791
+ {
792
+ return 0 === $this->getExitCode();
793
+ }
794
+
795
+ /**
796
+ * Returns true if the child process has been terminated by an uncaught signal.
797
+ *
798
+ * It always returns false on Windows.
799
+ *
800
+ * @throws LogicException In case the process is not terminated
801
+ */
802
+ public function hasBeenSignaled(): bool
803
+ {
804
+ $this->requireProcessIsTerminated(__FUNCTION__);
805
+
806
+ return $this->processInformation['signaled'];
807
+ }
808
+
809
+ /**
810
+ * Returns the number of the signal that caused the child process to terminate its execution.
811
+ *
812
+ * It is only meaningful if hasBeenSignaled() returns true.
813
+ *
814
+ * @throws RuntimeException In case --enable-sigchild is activated
815
+ * @throws LogicException In case the process is not terminated
816
+ */
817
+ public function getTermSignal(): int
818
+ {
819
+ $this->requireProcessIsTerminated(__FUNCTION__);
820
+
821
+ if ($this->isSigchildEnabled() && -1 === $this->processInformation['termsig']) {
822
+ throw new RuntimeException('This PHP has been compiled with --enable-sigchild. Term signal cannot be retrieved.');
823
+ }
824
+
825
+ return $this->processInformation['termsig'];
826
+ }
827
+
828
+ /**
829
+ * Returns true if the child process has been stopped by a signal.
830
+ *
831
+ * It always returns false on Windows.
832
+ *
833
+ * @throws LogicException In case the process is not terminated
834
+ */
835
+ public function hasBeenStopped(): bool
836
+ {
837
+ $this->requireProcessIsTerminated(__FUNCTION__);
838
+
839
+ return $this->processInformation['stopped'];
840
+ }
841
+
842
+ /**
843
+ * Returns the number of the signal that caused the child process to stop its execution.
844
+ *
845
+ * It is only meaningful if hasBeenStopped() returns true.
846
+ *
847
+ * @throws LogicException In case the process is not terminated
848
+ */
849
+ public function getStopSignal(): int
850
+ {
851
+ $this->requireProcessIsTerminated(__FUNCTION__);
852
+
853
+ return $this->processInformation['stopsig'];
854
+ }
855
+
856
+ /**
857
+ * Checks if the process is currently running.
858
+ */
859
+ public function isRunning(): bool
860
+ {
861
+ if (self::STATUS_STARTED !== $this->status) {
862
+ return false;
863
+ }
864
+
865
+ $this->updateStatus(false);
866
+
867
+ return $this->processInformation['running'];
868
+ }
869
+
870
+ /**
871
+ * Checks if the process has been started with no regard to the current state.
872
+ */
873
+ public function isStarted(): bool
874
+ {
875
+ return self::STATUS_READY != $this->status;
876
+ }
877
+
878
+ /**
879
+ * Checks if the process is terminated.
880
+ */
881
+ public function isTerminated(): bool
882
+ {
883
+ $this->updateStatus(false);
884
+
885
+ return self::STATUS_TERMINATED == $this->status;
886
+ }
887
+
888
+ /**
889
+ * Gets the process status.
890
+ *
891
+ * The status is one of: ready, started, terminated.
892
+ */
893
+ public function getStatus(): string
894
+ {
895
+ $this->updateStatus(false);
896
+
897
+ return $this->status;
898
+ }
899
+
900
+ /**
901
+ * Stops the process.
902
+ *
903
+ * @param int|float $timeout The timeout in seconds
904
+ * @param int|null $signal A POSIX signal to send in case the process has not stop at timeout, default is SIGKILL (9)
905
+ *
906
+ * @return int|null The exit-code of the process or null if it's not running
907
+ */
908
+ public function stop(float $timeout = 10, ?int $signal = null): ?int
909
+ {
910
+ $timeoutMicro = microtime(true) + $timeout;
911
+ if ($this->isRunning()) {
912
+ // given SIGTERM may not be defined and that "proc_terminate" uses the constant value and not the constant itself, we use the same here
913
+ $this->doSignal(15, false);
914
+ do {
915
+ usleep(1000);
916
+ } while ($this->isRunning() && microtime(true) < $timeoutMicro);
917
+
918
+ if ($this->isRunning()) {
919
+ // Avoid exception here: process is supposed to be running, but it might have stopped just
920
+ // after this line. In any case, let's silently discard the error, we cannot do anything.
921
+ $this->doSignal($signal ?: 9, false);
922
+ }
923
+ }
924
+
925
+ if ($this->isRunning()) {
926
+ if (isset($this->fallbackStatus['pid'])) {
927
+ unset($this->fallbackStatus['pid']);
928
+
929
+ return $this->stop(0, $signal);
930
+ }
931
+ $this->close();
932
+ }
933
+
934
+ return $this->exitcode;
935
+ }
936
+
937
+ /**
938
+ * Adds a line to the STDOUT stream.
939
+ *
940
+ * @internal
941
+ */
942
+ public function addOutput(string $line): void
943
+ {
944
+ $this->lastOutputTime = microtime(true);
945
+
946
+ fseek($this->stdout, 0, \SEEK_END);
947
+ fwrite($this->stdout, $line);
948
+ fseek($this->stdout, $this->incrementalOutputOffset);
949
+ }
950
+
951
+ /**
952
+ * Adds a line to the STDERR stream.
953
+ *
954
+ * @internal
955
+ */
956
+ public function addErrorOutput(string $line): void
957
+ {
958
+ $this->lastOutputTime = microtime(true);
959
+
960
+ fseek($this->stderr, 0, \SEEK_END);
961
+ fwrite($this->stderr, $line);
962
+ fseek($this->stderr, $this->incrementalErrorOutputOffset);
963
+ }
964
+
965
+ /**
966
+ * Gets the last output time in seconds.
967
+ */
968
+ public function getLastOutputTime(): ?float
969
+ {
970
+ return $this->lastOutputTime;
971
+ }
972
+
973
+ /**
974
+ * Gets the command line to be executed.
975
+ */
976
+ public function getCommandLine(): string
977
+ {
978
+ return $this->buildShellCommandline($this->commandline);
979
+ }
980
+
981
+ /**
982
+ * Gets the process timeout in seconds (max. runtime).
983
+ */
984
+ public function getTimeout(): ?float
985
+ {
986
+ return $this->timeout;
987
+ }
988
+
989
+ /**
990
+ * Gets the process idle timeout in seconds (max. time since last output).
991
+ */
992
+ public function getIdleTimeout(): ?float
993
+ {
994
+ return $this->idleTimeout;
995
+ }
996
+
997
+ /**
998
+ * Sets the process timeout (max. runtime) in seconds.
999
+ *
1000
+ * To disable the timeout, set this value to null.
1001
+ *
1002
+ * @return $this
1003
+ *
1004
+ * @throws InvalidArgumentException if the timeout is negative
1005
+ */
1006
+ public function setTimeout(?float $timeout): static
1007
+ {
1008
+ $this->timeout = $this->validateTimeout($timeout);
1009
+
1010
+ return $this;
1011
+ }
1012
+
1013
+ /**
1014
+ * Sets the process idle timeout (max. time since last output) in seconds.
1015
+ *
1016
+ * To disable the timeout, set this value to null.
1017
+ *
1018
+ * @return $this
1019
+ *
1020
+ * @throws LogicException if the output is disabled
1021
+ * @throws InvalidArgumentException if the timeout is negative
1022
+ */
1023
+ public function setIdleTimeout(?float $timeout): static
1024
+ {
1025
+ if (null !== $timeout && $this->outputDisabled) {
1026
+ throw new LogicException('Idle timeout cannot be set while the output is disabled.');
1027
+ }
1028
+
1029
+ $this->idleTimeout = $this->validateTimeout($timeout);
1030
+
1031
+ return $this;
1032
+ }
1033
+
1034
+ /**
1035
+ * Enables or disables the TTY mode.
1036
+ *
1037
+ * @return $this
1038
+ *
1039
+ * @throws RuntimeException In case the TTY mode is not supported
1040
+ */
1041
+ public function setTty(bool $tty): static
1042
+ {
1043
+ if ('\\' === \DIRECTORY_SEPARATOR && $tty) {
1044
+ throw new RuntimeException('TTY mode is not supported on Windows platform.');
1045
+ }
1046
+
1047
+ if ($tty && !self::isTtySupported()) {
1048
+ throw new RuntimeException('TTY mode requires /dev/tty to be read/writable.');
1049
+ }
1050
+
1051
+ $this->tty = $tty;
1052
+
1053
+ return $this;
1054
+ }
1055
+
1056
+ /**
1057
+ * Checks if the TTY mode is enabled.
1058
+ */
1059
+ public function isTty(): bool
1060
+ {
1061
+ return $this->tty;
1062
+ }
1063
+
1064
+ /**
1065
+ * Sets PTY mode.
1066
+ *
1067
+ * @return $this
1068
+ */
1069
+ public function setPty(bool $bool): static
1070
+ {
1071
+ $this->pty = $bool;
1072
+
1073
+ return $this;
1074
+ }
1075
+
1076
+ /**
1077
+ * Returns PTY state.
1078
+ */
1079
+ public function isPty(): bool
1080
+ {
1081
+ return $this->pty;
1082
+ }
1083
+
1084
+ /**
1085
+ * Gets the working directory.
1086
+ */
1087
+ public function getWorkingDirectory(): ?string
1088
+ {
1089
+ if (null === $this->cwd) {
1090
+ // getcwd() will return false if any one of the parent directories does not have
1091
+ // the readable or search mode set, even if the current directory does
1092
+ return getcwd() ?: null;
1093
+ }
1094
+
1095
+ return $this->cwd;
1096
+ }
1097
+
1098
+ /**
1099
+ * Sets the current working directory.
1100
+ *
1101
+ * @return $this
1102
+ */
1103
+ public function setWorkingDirectory(string $cwd): static
1104
+ {
1105
+ $this->cwd = $cwd;
1106
+
1107
+ return $this;
1108
+ }
1109
+
1110
+ /**
1111
+ * Gets the environment variables.
1112
+ */
1113
+ public function getEnv(): array
1114
+ {
1115
+ return $this->env;
1116
+ }
1117
+
1118
+ /**
1119
+ * Sets the environment variables.
1120
+ *
1121
+ * @param array<string|\Stringable> $env The new environment variables
1122
+ *
1123
+ * @return $this
1124
+ */
1125
+ public function setEnv(array $env): static
1126
+ {
1127
+ $this->env = $env;
1128
+
1129
+ return $this;
1130
+ }
1131
+
1132
+ /**
1133
+ * Gets the Process input.
1134
+ *
1135
+ * @return resource|string|\Iterator|null
1136
+ */
1137
+ public function getInput()
1138
+ {
1139
+ return $this->input;
1140
+ }
1141
+
1142
+ /**
1143
+ * Sets the input.
1144
+ *
1145
+ * This content will be passed to the underlying process standard input.
1146
+ *
1147
+ * @param string|resource|\Traversable|self|null $input The content
1148
+ *
1149
+ * @return $this
1150
+ *
1151
+ * @throws LogicException In case the process is running
1152
+ */
1153
+ public function setInput(mixed $input): static
1154
+ {
1155
+ if ($this->isRunning()) {
1156
+ throw new LogicException('Input cannot be set while the process is running.');
1157
+ }
1158
+
1159
+ $this->input = ProcessUtils::validateInput(__METHOD__, $input);
1160
+
1161
+ return $this;
1162
+ }
1163
+
1164
+ /**
1165
+ * Performs a check between the timeout definition and the time the process started.
1166
+ *
1167
+ * In case you run a background process (with the start method), you should
1168
+ * trigger this method regularly to ensure the process timeout
1169
+ *
1170
+ * @throws ProcessTimedOutException In case the timeout was reached
1171
+ */
1172
+ public function checkTimeout(): void
1173
+ {
1174
+ if (self::STATUS_STARTED !== $this->status) {
1175
+ return;
1176
+ }
1177
+
1178
+ if (null !== $this->timeout && $this->timeout < microtime(true) - $this->starttime) {
1179
+ $this->stop(0);
1180
+
1181
+ throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_GENERAL);
1182
+ }
1183
+
1184
+ if (null !== $this->idleTimeout && $this->idleTimeout < microtime(true) - $this->lastOutputTime) {
1185
+ $this->stop(0);
1186
+
1187
+ throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_IDLE);
1188
+ }
1189
+ }
1190
+
1191
+ /**
1192
+ * @throws LogicException in case process is not started
1193
+ */
1194
+ public function getStartTime(): float
1195
+ {
1196
+ if (!$this->isStarted()) {
1197
+ throw new LogicException('Start time is only available after process start.');
1198
+ }
1199
+
1200
+ return $this->starttime;
1201
+ }
1202
+
1203
+ /**
1204
+ * Defines options to pass to the underlying proc_open().
1205
+ *
1206
+ * @see https://php.net/proc_open for the options supported by PHP.
1207
+ *
1208
+ * Enabling the "create_new_console" option allows a subprocess to continue
1209
+ * to run after the main process exited, on both Windows and *nix
1210
+ */
1211
+ public function setOptions(array $options): void
1212
+ {
1213
+ if ($this->isRunning()) {
1214
+ throw new RuntimeException('Setting options while the process is running is not possible.');
1215
+ }
1216
+
1217
+ $defaultOptions = $this->options;
1218
+ $existingOptions = ['blocking_pipes', 'create_process_group', 'create_new_console'];
1219
+
1220
+ foreach ($options as $key => $value) {
1221
+ if (!\in_array($key, $existingOptions)) {
1222
+ $this->options = $defaultOptions;
1223
+ throw new LogicException(\sprintf('Invalid option "%s" passed to "%s()". Supported options are "%s".', $key, __METHOD__, implode('", "', $existingOptions)));
1224
+ }
1225
+ $this->options[$key] = $value;
1226
+ }
1227
+ }
1228
+
1229
+ /**
1230
+ * Defines a list of posix signals that will not be propagated to the process.
1231
+ *
1232
+ * @param list<\SIG*> $signals
1233
+ */
1234
+ public function setIgnoredSignals(array $signals): void
1235
+ {
1236
+ if ($this->isRunning()) {
1237
+ throw new RuntimeException('Setting ignored signals while the process is running is not possible.');
1238
+ }
1239
+
1240
+ $this->ignoredSignals = $signals;
1241
+ }
1242
+
1243
+ /**
1244
+ * Returns whether TTY is supported on the current operating system.
1245
+ */
1246
+ public static function isTtySupported(): bool
1247
+ {
1248
+ static $isTtySupported;
1249
+
1250
+ return $isTtySupported ??= ('/' === \DIRECTORY_SEPARATOR && stream_isatty(\STDOUT) && @is_writable('/dev/tty'));
1251
+ }
1252
+
1253
+ /**
1254
+ * Returns whether PTY is supported on the current operating system.
1255
+ */
1256
+ public static function isPtySupported(): bool
1257
+ {
1258
+ static $result;
1259
+
1260
+ if (null !== $result) {
1261
+ return $result;
1262
+ }
1263
+
1264
+ if ('\\' === \DIRECTORY_SEPARATOR) {
1265
+ return $result = false;
1266
+ }
1267
+
1268
+ return $result = (bool) @proc_open('echo 1 >/dev/null', [['pty'], ['pty'], ['pty']], $pipes);
1269
+ }
1270
+
1271
+ /**
1272
+ * Creates the descriptors needed by the proc_open.
1273
+ */
1274
+ private function getDescriptors(bool $hasCallback): array
1275
+ {
1276
+ if ($this->input instanceof \Iterator) {
1277
+ $this->input->rewind();
1278
+ }
1279
+ if ('\\' === \DIRECTORY_SEPARATOR) {
1280
+ $this->processPipes = new WindowsPipes($this->input, !$this->outputDisabled || $hasCallback);
1281
+ } else {
1282
+ $this->processPipes = new UnixPipes($this->isTty(), $this->isPty(), $this->input, !$this->outputDisabled || $hasCallback);
1283
+ }
1284
+
1285
+ return $this->processPipes->getDescriptors();
1286
+ }
1287
+
1288
+ /**
1289
+ * Builds up the callback used by wait().
1290
+ *
1291
+ * The callbacks adds all occurred output to the specific buffer and calls
1292
+ * the user callback (if present) with the received output.
1293
+ *
1294
+ * @param callable|null $callback The user defined PHP callback
1295
+ */
1296
+ protected function buildCallback(?callable $callback = null): \Closure
1297
+ {
1298
+ if ($this->outputDisabled) {
1299
+ return fn ($type, $data): bool => null !== $callback && $callback($type, $data);
1300
+ }
1301
+
1302
+ $out = self::OUT;
1303
+
1304
+ return function ($type, $data) use ($callback, $out): bool {
1305
+ if ($out == $type) {
1306
+ $this->addOutput($data);
1307
+ } else {
1308
+ $this->addErrorOutput($data);
1309
+ }
1310
+
1311
+ return null !== $callback && $callback($type, $data);
1312
+ };
1313
+ }
1314
+
1315
+ /**
1316
+ * Updates the status of the process, reads pipes.
1317
+ *
1318
+ * @param bool $blocking Whether to use a blocking read call
1319
+ */
1320
+ protected function updateStatus(bool $blocking): void
1321
+ {
1322
+ if (self::STATUS_STARTED !== $this->status) {
1323
+ return;
1324
+ }
1325
+
1326
+ if ($this->processInformation['running'] ?? true) {
1327
+ $this->processInformation = proc_get_status($this->process);
1328
+ }
1329
+ $running = $this->processInformation['running'];
1330
+
1331
+ $this->readPipes($running && $blocking, '\\' !== \DIRECTORY_SEPARATOR || !$running);
1332
+
1333
+ if ($this->fallbackStatus && $this->isSigchildEnabled()) {
1334
+ $this->processInformation = $this->fallbackStatus + $this->processInformation;
1335
+ }
1336
+
1337
+ if (!$running) {
1338
+ $this->close();
1339
+ }
1340
+ }
1341
+
1342
+ /**
1343
+ * Returns whether PHP has been compiled with the '--enable-sigchild' option or not.
1344
+ */
1345
+ protected function isSigchildEnabled(): bool
1346
+ {
1347
+ if (null !== self::$sigchild) {
1348
+ return self::$sigchild;
1349
+ }
1350
+
1351
+ if (!\function_exists('phpinfo')) {
1352
+ return self::$sigchild = false;
1353
+ }
1354
+
1355
+ ob_start();
1356
+ phpinfo(\INFO_GENERAL);
1357
+
1358
+ return self::$sigchild = str_contains(ob_get_clean(), '--enable-sigchild');
1359
+ }
1360
+
1361
+ /**
1362
+ * Reads pipes for the freshest output.
1363
+ *
1364
+ * @param string $caller The name of the method that needs fresh outputs
1365
+ * @param bool $blocking Whether to use blocking calls or not
1366
+ *
1367
+ * @throws LogicException in case output has been disabled or process is not started
1368
+ */
1369
+ private function readPipesForOutput(string $caller, bool $blocking = false): void
1370
+ {
1371
+ if ($this->outputDisabled) {
1372
+ throw new LogicException('Output has been disabled.');
1373
+ }
1374
+
1375
+ $this->requireProcessIsStarted($caller);
1376
+
1377
+ $this->updateStatus($blocking);
1378
+ }
1379
+
1380
+ /**
1381
+ * Validates and returns the filtered timeout.
1382
+ *
1383
+ * @throws InvalidArgumentException if the given timeout is a negative number
1384
+ */
1385
+ private function validateTimeout(?float $timeout): ?float
1386
+ {
1387
+ $timeout = (float) $timeout;
1388
+
1389
+ if (0.0 === $timeout) {
1390
+ $timeout = null;
1391
+ } elseif ($timeout < 0) {
1392
+ throw new InvalidArgumentException('The timeout value must be a valid positive integer or float number.');
1393
+ }
1394
+
1395
+ return $timeout;
1396
+ }
1397
+
1398
+ /**
1399
+ * Reads pipes, executes callback.
1400
+ *
1401
+ * @param bool $blocking Whether to use blocking calls or not
1402
+ * @param bool $close Whether to close file handles or not
1403
+ */
1404
+ private function readPipes(bool $blocking, bool $close): void
1405
+ {
1406
+ $result = $this->processPipes->readAndWrite($blocking, $close);
1407
+
1408
+ $callback = $this->callback;
1409
+ foreach ($result as $type => $data) {
1410
+ if (3 !== $type) {
1411
+ $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data);
1412
+ } elseif (!isset($this->fallbackStatus['signaled'])) {
1413
+ $this->fallbackStatus['exitcode'] = (int) $data;
1414
+ }
1415
+ }
1416
+ }
1417
+
1418
+ /**
1419
+ * Closes process resource, closes file handles, sets the exitcode.
1420
+ *
1421
+ * @return int The exitcode
1422
+ */
1423
+ private function close(): int
1424
+ {
1425
+ $this->processPipes->close();
1426
+ if ($this->process) {
1427
+ proc_close($this->process);
1428
+ $this->process = null;
1429
+ }
1430
+ $this->exitcode = $this->processInformation['exitcode'];
1431
+ $this->status = self::STATUS_TERMINATED;
1432
+
1433
+ if (-1 === $this->exitcode) {
1434
+ if ($this->processInformation['signaled'] && 0 < $this->processInformation['termsig']) {
1435
+ // if process has been signaled, no exitcode but a valid termsig, apply Unix convention
1436
+ $this->exitcode = 128 + $this->processInformation['termsig'];
1437
+ } elseif ($this->isSigchildEnabled()) {
1438
+ $this->processInformation['signaled'] = true;
1439
+ $this->processInformation['termsig'] = -1;
1440
+ }
1441
+ }
1442
+
1443
+ // Free memory from self-reference callback created by buildCallback
1444
+ // Doing so in other contexts like __destruct or by garbage collector is ineffective
1445
+ // Now pipes are closed, so the callback is no longer necessary
1446
+ $this->callback = null;
1447
+
1448
+ return $this->exitcode;
1449
+ }
1450
+
1451
+ /**
1452
+ * Resets data related to the latest run of the process.
1453
+ */
1454
+ private function resetProcessData(): void
1455
+ {
1456
+ $this->starttime = null;
1457
+ $this->callback = null;
1458
+ $this->exitcode = null;
1459
+ $this->fallbackStatus = [];
1460
+ $this->processInformation = [];
1461
+ $this->stdout = fopen('php://temp/maxmemory:'.(1024 * 1024), 'w+');
1462
+ $this->stderr = fopen('php://temp/maxmemory:'.(1024 * 1024), 'w+');
1463
+ $this->process = null;
1464
+ $this->latestSignal = null;
1465
+ $this->status = self::STATUS_READY;
1466
+ $this->incrementalOutputOffset = 0;
1467
+ $this->incrementalErrorOutputOffset = 0;
1468
+ }
1469
+
1470
+ /**
1471
+ * Sends a POSIX signal to the process.
1472
+ *
1473
+ * @param int $signal A valid POSIX signal (see https://php.net/pcntl.constants)
1474
+ * @param bool $throwException Whether to throw exception in case signal failed
1475
+ *
1476
+ * @throws LogicException In case the process is not running
1477
+ * @throws RuntimeException In case --enable-sigchild is activated and the process can't be killed
1478
+ * @throws RuntimeException In case of failure
1479
+ */
1480
+ private function doSignal(int $signal, bool $throwException): bool
1481
+ {
1482
+ // Signal seems to be send when sigchild is enable, this allow blocking the signal correctly in this case
1483
+ if ($this->isSigchildEnabled() && \in_array($signal, $this->ignoredSignals)) {
1484
+ return false;
1485
+ }
1486
+
1487
+ if (null === $pid = $this->getPid()) {
1488
+ if ($throwException) {
1489
+ throw new LogicException('Cannot send signal on a non running process.');
1490
+ }
1491
+
1492
+ return false;
1493
+ }
1494
+
1495
+ if ('\\' === \DIRECTORY_SEPARATOR) {
1496
+ exec(\sprintf('taskkill /F /T /PID %d 2>&1', $pid), $output, $exitCode);
1497
+ if ($exitCode && $this->isRunning()) {
1498
+ if ($throwException) {
1499
+ throw new RuntimeException(\sprintf('Unable to kill the process (%s).', implode(' ', $output)));
1500
+ }
1501
+
1502
+ return false;
1503
+ }
1504
+ } else {
1505
+ if (!$this->isSigchildEnabled()) {
1506
+ $ok = @proc_terminate($this->process, $signal);
1507
+ } elseif (\function_exists('posix_kill')) {
1508
+ $ok = @posix_kill($pid, $signal);
1509
+ } elseif ($ok = proc_open(\sprintf('kill -%d %d', $signal, $pid), [2 => ['pipe', 'w']], $pipes)) {
1510
+ $ok = false === fgets($pipes[2]);
1511
+ }
1512
+ if (!$ok) {
1513
+ if ($throwException) {
1514
+ throw new RuntimeException(\sprintf('Error while sending signal "%s".', $signal));
1515
+ }
1516
+
1517
+ return false;
1518
+ }
1519
+ }
1520
+
1521
+ $this->latestSignal = $signal;
1522
+ $this->fallbackStatus['signaled'] = true;
1523
+ $this->fallbackStatus['exitcode'] = -1;
1524
+ $this->fallbackStatus['termsig'] = $this->latestSignal;
1525
+
1526
+ return true;
1527
+ }
1528
+
1529
+ private function buildShellCommandline(string|array $commandline): string
1530
+ {
1531
+ if (\is_string($commandline)) {
1532
+ return $commandline;
1533
+ }
1534
+
1535
+ if ('\\' === \DIRECTORY_SEPARATOR && isset($commandline[0][0]) && \strlen($commandline[0]) === strcspn($commandline[0], ':/\\')) {
1536
+ // On Windows, we don't rely on the OS to find the executable if possible to avoid lookups
1537
+ // in the current directory which could be untrusted. Instead we use the ExecutableFinder.
1538
+ $commandline[0] = (self::$executables[$commandline[0]] ??= (new ExecutableFinder())->find($commandline[0])) ?? $commandline[0];
1539
+ }
1540
+
1541
+ return implode(' ', array_map($this->escapeArgument(...), $commandline));
1542
+ }
1543
+
1544
+ private function prepareWindowsCommandLine(string|array $cmd, array &$env): string
1545
+ {
1546
+ $cmd = $this->buildShellCommandline($cmd);
1547
+ $uid = bin2hex(random_bytes(4));
1548
+ $cmd = preg_replace_callback(
1549
+ '/"(?:(
1550
+ [^"%!^]*+
1551
+ (?:
1552
+ (?: !LF! | "(?:\^[%!^])?+" )
1553
+ [^"%!^]*+
1554
+ )++
1555
+ ) | [^"]*+ )"/x',
1556
+ function ($m) use (&$env, $uid) {
1557
+ static $varCount = 0;
1558
+ static $varCache = [];
1559
+ if (!isset($m[1])) {
1560
+ return $m[0];
1561
+ }
1562
+ if (isset($varCache[$m[0]])) {
1563
+ return $varCache[$m[0]];
1564
+ }
1565
+ if (str_contains($value = $m[1], "\0")) {
1566
+ $value = str_replace("\0", '?', $value);
1567
+ }
1568
+ if (false === strpbrk($value, "\"%!\n")) {
1569
+ return '"'.$value.'"';
1570
+ }
1571
+
1572
+ $value = str_replace(['!LF!', '"^!"', '"^%"', '"^^"', '""'], ["\n", '!', '%', '^', '"'], $value);
1573
+ $value = '"'.preg_replace('/(\\\\*)"/', '$1$1\\"', $value).'"';
1574
+ $var = $uid.++$varCount;
1575
+
1576
+ $env[$var] = $value;
1577
+
1578
+ return $varCache[$m[0]] = '!'.$var.'!';
1579
+ },
1580
+ $cmd
1581
+ );
1582
+
1583
+ static $comSpec;
1584
+
1585
+ if (!$comSpec && $comSpec = (new ExecutableFinder())->find('cmd.exe')) {
1586
+ // Escape according to CommandLineToArgvW rules
1587
+ $comSpec = '"'.preg_replace('{(\\\\*+)"}', '$1$1\"', $comSpec).'"';
1588
+ }
1589
+
1590
+ $cmd = ($comSpec ?? 'cmd').' /V:ON /E:ON /D /C ('.str_replace("\n", ' ', $cmd).')';
1591
+ foreach ($this->processPipes->getFiles() as $offset => $filename) {
1592
+ $cmd .= ' '.$offset.'>"'.$filename.'"';
1593
+ }
1594
+
1595
+ return $cmd;
1596
+ }
1597
+
1598
+ /**
1599
+ * Ensures the process is running or terminated, throws a LogicException if the process has a not started.
1600
+ *
1601
+ * @throws LogicException if the process has not run
1602
+ */
1603
+ private function requireProcessIsStarted(string $functionName): void
1604
+ {
1605
+ if (!$this->isStarted()) {
1606
+ throw new LogicException(\sprintf('Process must be started before calling "%s()".', $functionName));
1607
+ }
1608
+ }
1609
+
1610
+ /**
1611
+ * Ensures the process is terminated, throws a LogicException if the process has a status different than "terminated".
1612
+ *
1613
+ * @throws LogicException if the process is not yet terminated
1614
+ */
1615
+ private function requireProcessIsTerminated(string $functionName): void
1616
+ {
1617
+ if (!$this->isTerminated()) {
1618
+ throw new LogicException(\sprintf('Process must be terminated before calling "%s()".', $functionName));
1619
+ }
1620
+ }
1621
+
1622
+ /**
1623
+ * Escapes a string to be used as a shell argument.
1624
+ */
1625
+ private function escapeArgument(?string $argument): string
1626
+ {
1627
+ if ('' === $argument || null === $argument) {
1628
+ return '""';
1629
+ }
1630
+ if ('\\' !== \DIRECTORY_SEPARATOR) {
1631
+ return "'".str_replace("'", "'\\''", $argument)."'";
1632
+ }
1633
+ if (str_contains($argument, "\0")) {
1634
+ $argument = str_replace("\0", '?', $argument);
1635
+ }
1636
+ if (!preg_match('/[()%!^"<>&|\s]/', $argument)) {
1637
+ return $argument;
1638
+ }
1639
+ $argument = preg_replace('/(\\\\+)$/', '$1$1', $argument);
1640
+
1641
+ return '"'.str_replace(['"', '^', '%', '!', "\n"], ['""', '"^^"', '"^%"', '"^!"', '!LF!'], $argument).'"';
1642
+ }
1643
+
1644
+ private function replacePlaceholders(string $commandline, array $env): string
1645
+ {
1646
+ return preg_replace_callback('/"\$\{:([_a-zA-Z]++[_a-zA-Z0-9]*+)\}"/', function ($matches) use ($commandline, $env) {
1647
+ if (!isset($env[$matches[1]]) || false === $env[$matches[1]]) {
1648
+ throw new InvalidArgumentException(\sprintf('Command line is missing a value for parameter "%s": ', $matches[1]).$commandline);
1649
+ }
1650
+
1651
+ return $this->escapeArgument($env[$matches[1]]);
1652
+ }, $commandline);
1653
+ }
1654
+
1655
+ private function getDefaultEnv(): array
1656
+ {
1657
+ $env = getenv();
1658
+ $env = ('\\' === \DIRECTORY_SEPARATOR ? array_intersect_ukey($env, $_SERVER, 'strcasecmp') : array_intersect_key($env, $_SERVER)) ?: $env;
1659
+
1660
+ return $_ENV + ('\\' === \DIRECTORY_SEPARATOR ? array_diff_ukey($env, $_ENV, 'strcasecmp') : $env);
1661
+ }
1662
+ }