From 5bf66662a9bdd62c5bccab15e607cd95cfb8fcab Mon Sep 17 00:00:00 2001
From: Charles Cabergs
Date: Mon, 27 Jul 2020 10:05:23 +0200
Subject: Removed wordpress and phpmyadmin, my server doesn't handle it well
and it brings shame on my familly
---
srcs/phpmyadmin/vendor/autoload.php | 7 -
.../vendor/bacon/bacon-qr-code/CHANGELOG.md | 37 -
srcs/phpmyadmin/vendor/bacon/bacon-qr-code/LICENSE | 22 -
.../vendor/bacon/bacon-qr-code/README.md | 39 -
.../vendor/bacon/bacon-qr-code/composer.json | 32 -
.../bacon/bacon-qr-code/src/Common/BitArray.php | 372 -
.../bacon/bacon-qr-code/src/Common/BitMatrix.php | 313 -
.../bacon/bacon-qr-code/src/Common/BitUtils.php | 41 -
.../bacon-qr-code/src/Common/CharacterSetEci.php | 180 -
.../bacon/bacon-qr-code/src/Common/EcBlock.php | 49 -
.../bacon/bacon-qr-code/src/Common/EcBlocks.php | 74 -
.../src/Common/ErrorCorrectionLevel.php | 63 -
.../bacon-qr-code/src/Common/FormatInformation.php | 203 -
.../vendor/bacon/bacon-qr-code/src/Common/Mode.php | 76 -
.../bacon-qr-code/src/Common/ReedSolomonCodec.php | 468 -
.../bacon/bacon-qr-code/src/Common/Version.php | 596 -
.../bacon/bacon-qr-code/src/Encoder/BlockPair.php | 58 -
.../bacon/bacon-qr-code/src/Encoder/ByteMatrix.php | 150 -
.../bacon/bacon-qr-code/src/Encoder/Encoder.php | 652 -
.../bacon/bacon-qr-code/src/Encoder/MaskUtil.php | 271 -
.../bacon/bacon-qr-code/src/Encoder/MatrixUtil.php | 513 -
.../bacon/bacon-qr-code/src/Encoder/QrCode.php | 141 -
.../src/Exception/ExceptionInterface.php | 10 -
.../src/Exception/InvalidArgumentException.php | 8 -
.../src/Exception/OutOfBoundsException.php | 8 -
.../src/Exception/RuntimeException.php | 8 -
.../src/Exception/UnexpectedValueException.php | 8 -
.../src/Exception/WriterException.php | 8 -
.../bacon-qr-code/src/Renderer/Color/Alpha.php | 57 -
.../bacon-qr-code/src/Renderer/Color/Cmyk.php | 103 -
.../src/Renderer/Color/ColorInterface.php | 22 -
.../bacon-qr-code/src/Renderer/Color/Gray.php | 46 -
.../bacon/bacon-qr-code/src/Renderer/Color/Rgb.php | 88 -
.../src/Renderer/Eye/CompositeEye.php | 38 -
.../src/Renderer/Eye/EyeInterface.php | 26 -
.../bacon-qr-code/src/Renderer/Eye/ModuleEye.php | 54 -
.../src/Renderer/Eye/SimpleCircleEye.php | 54 -
.../bacon-qr-code/src/Renderer/Eye/SquareEye.php | 53 -
.../src/Renderer/Image/EpsImageBackEnd.php | 376 -
.../src/Renderer/Image/ImageBackEndInterface.php | 87 -
.../src/Renderer/Image/ImagickImageBackEnd.php | 339 -
.../src/Renderer/Image/SvgImageBackEnd.php | 369 -
.../src/Renderer/Image/TransformationMatrix.php | 67 -
.../bacon-qr-code/src/Renderer/ImageRenderer.php | 152 -
.../src/Renderer/Module/DotsModule.php | 63 -
.../src/Renderer/Module/EdgeIterator/Edge.php | 100 -
.../Renderer/Module/EdgeIterator/EdgeIterator.php | 169 -
.../src/Renderer/Module/ModuleInterface.php | 18 -
.../src/Renderer/Module/RoundnessModule.php | 129 -
.../src/Renderer/Module/SquareModule.php | 47 -
.../bacon-qr-code/src/Renderer/Path/Close.php | 29 -
.../bacon-qr-code/src/Renderer/Path/Curve.php | 92 -
.../src/Renderer/Path/EllipticArc.php | 278 -
.../bacon/bacon-qr-code/src/Renderer/Path/Line.php | 41 -
.../bacon/bacon-qr-code/src/Renderer/Path/Move.php | 41 -
.../src/Renderer/Path/OperationInterface.php | 12 -
.../bacon/bacon-qr-code/src/Renderer/Path/Path.php | 106 -
.../src/Renderer/PlainTextRenderer.php | 86 -
.../src/Renderer/RendererInterface.php | 11 -
.../src/Renderer/RendererStyle/EyeFill.php | 74 -
.../src/Renderer/RendererStyle/Fill.php | 168 -
.../src/Renderer/RendererStyle/Gradient.php | 46 -
.../src/Renderer/RendererStyle/GradientType.php | 22 -
.../src/Renderer/RendererStyle/RendererStyle.php | 90 -
.../vendor/bacon/bacon-qr-code/src/Writer.php | 68 -
srcs/phpmyadmin/vendor/bin/highlight-query | 1 -
srcs/phpmyadmin/vendor/bin/lint-query | 1 -
srcs/phpmyadmin/vendor/bin/tokenize-query | 1 -
srcs/phpmyadmin/vendor/composer/ClassLoader.php | 445 -
srcs/phpmyadmin/vendor/composer/LICENSE | 21 -
.../vendor/composer/autoload_classmap.php | 23 -
srcs/phpmyadmin/vendor/composer/autoload_files.php | 13 -
.../vendor/composer/autoload_namespaces.php | 11 -
srcs/phpmyadmin/vendor/composer/autoload_psr4.php | 42 -
srcs/phpmyadmin/vendor/composer/autoload_real.php | 70 -
.../phpmyadmin/vendor/composer/autoload_static.php | 252 -
srcs/phpmyadmin/vendor/composer/installed.json | 1884 -
srcs/phpmyadmin/vendor/dasprid/enum/.coveralls.yml | 2 -
srcs/phpmyadmin/vendor/dasprid/enum/.travis.yml | 41 -
srcs/phpmyadmin/vendor/dasprid/enum/README.md | 164 -
srcs/phpmyadmin/vendor/dasprid/enum/composer.json | 30 -
srcs/phpmyadmin/vendor/dasprid/enum/phpcs.xml | 30 -
.../vendor/dasprid/enum/phpunit.xml.dist | 17 -
.../vendor/dasprid/enum/src/AbstractEnum.php | 241 -
.../phpmyadmin/vendor/dasprid/enum/src/EnumMap.php | 375 -
.../src/Exception/CloneNotSupportedException.php | 10 -
.../enum/src/Exception/ExceptionInterface.php | 10 -
.../enum/src/Exception/ExpectationException.php | 10 -
.../src/Exception/IllegalArgumentException.php | 10 -
.../enum/src/Exception/MismatchException.php | 10 -
.../Exception/SerializeNotSupportedException.php | 10 -
.../Exception/UnserializeNotSupportedException.php | 10 -
.../vendor/dasprid/enum/src/NullValue.php | 55 -
.../vendor/dasprid/enum/test/AbstractEnumTest.php | 121 -
.../vendor/dasprid/enum/test/EnumMapTest.php | 243 -
.../vendor/dasprid/enum/test/NullValueTest.php | 31 -
.../phpmyadmin/vendor/dasprid/enum/test/Planet.php | 73 -
.../vendor/dasprid/enum/test/WeekDay.php | 26 -
.../recaptcha/.github/ISSUE_TEMPLATE/bug_report.md | 28 -
.../phpmyadmin/vendor/google/recaptcha/.travis.yml | 33 -
.../vendor/google/recaptcha/ARCHITECTURE.md | 64 -
.../vendor/google/recaptcha/CONTRIBUTING.md | 49 -
srcs/phpmyadmin/vendor/google/recaptcha/LICENSE | 29 -
srcs/phpmyadmin/vendor/google/recaptcha/README.md | 140 -
srcs/phpmyadmin/vendor/google/recaptcha/app.yaml | 8 -
.../vendor/google/recaptcha/composer.json | 39 -
.../vendor/google/recaptcha/phpunit.xml.dist | 20 -
.../google/recaptcha/src/ReCaptcha/ReCaptcha.php | 269 -
.../recaptcha/src/ReCaptcha/RequestMethod.php | 50 -
.../recaptcha/src/ReCaptcha/RequestMethod/Curl.php | 82 -
.../src/ReCaptcha/RequestMethod/CurlPost.php | 104 -
.../recaptcha/src/ReCaptcha/RequestMethod/Post.php | 88 -
.../src/ReCaptcha/RequestMethod/Socket.php | 112 -
.../src/ReCaptcha/RequestMethod/SocketPost.php | 108 -
.../recaptcha/src/ReCaptcha/RequestParameters.php | 111 -
.../google/recaptcha/src/ReCaptcha/Response.php | 218 -
.../vendor/google/recaptcha/src/autoload.php | 69 -
.../paragonie/constant_time_encoding/.travis.yml | 23 -
.../paragonie/constant_time_encoding/LICENSE.txt | 48 -
.../paragonie/constant_time_encoding/README.md | 84 -
.../paragonie/constant_time_encoding/composer.json | 51 -
.../constant_time_encoding/phpunit.xml.dist | 23 -
.../paragonie/constant_time_encoding/psalm.xml | 9 -
.../constant_time_encoding/src/Base32.php | 471 -
.../constant_time_encoding/src/Base32Hex.php | 111 -
.../constant_time_encoding/src/Base64.php | 271 -
.../constant_time_encoding/src/Base64DotSlash.php | 88 -
.../src/Base64DotSlashOrdered.php | 82 -
.../constant_time_encoding/src/Base64UrlSafe.php | 95 -
.../constant_time_encoding/src/Binary.php | 85 -
.../src/EncoderInterface.php | 52 -
.../constant_time_encoding/src/Encoding.php | 260 -
.../paragonie/constant_time_encoding/src/Hex.php | 159 -
.../constant_time_encoding/src/RFC4648.php | 175 -
.../constant_time_encoding/tests/Base32HexTest.php | 49 -
.../constant_time_encoding/tests/Base32Test.php | 50 -
.../tests/Base64DotSlashOrderedTest.php | 34 -
.../tests/Base64DotSlashTest.php | 34 -
.../constant_time_encoding/tests/Base64Test.php | 79 -
.../tests/Base64UrlSafeTest.php | 58 -
.../constant_time_encoding/tests/EncodingTest.php | 307 -
.../constant_time_encoding/tests/HexTest.php | 39 -
.../constant_time_encoding/tests/RFC4648Test.php | 84 -
.../vendor/paragonie/random_compat/LICENSE | 22 -
.../vendor/paragonie/random_compat/build-phar.sh | 5 -
.../vendor/paragonie/random_compat/composer.json | 34 -
.../random_compat/dist/random_compat.phar.pubkey | 5 -
.../dist/random_compat.phar.pubkey.asc | 11 -
.../vendor/paragonie/random_compat/lib/random.php | 32 -
.../paragonie/random_compat/other/build_phar.php | 57 -
.../paragonie/random_compat/psalm-autoload.php | 9 -
.../vendor/paragonie/random_compat/psalm.xml | 19 -
.../phpmyadmin/motranslator/.github/stale.yml | 23 -
.../vendor/phpmyadmin/motranslator/CHANGES.md | 86 -
.../vendor/phpmyadmin/motranslator/CONTRIBUTING.md | 42 -
.../vendor/phpmyadmin/motranslator/LICENSE | 339 -
.../vendor/phpmyadmin/motranslator/PERFORMANCE.md | 28 -
.../vendor/phpmyadmin/motranslator/README.md | 147 -
.../vendor/phpmyadmin/motranslator/codecov.yml | 3 -
.../vendor/phpmyadmin/motranslator/composer.json | 37 -
.../vendor/phpmyadmin/motranslator/phpunit.xml | 32 -
.../vendor/phpmyadmin/motranslator/src/Loader.php | 247 -
.../motranslator/src/ReaderException.php | 30 -
.../phpmyadmin/motranslator/src/StringReader.php | 97 -
.../phpmyadmin/motranslator/src/Translator.php | 375 -
.../phpmyadmin/motranslator/src/functions.php | 215 -
.../vendor/phpmyadmin/shapefile/CHANGELOG.md | 80 -
.../vendor/phpmyadmin/shapefile/CONTRIBUTING.md | 42 -
.../phpmyadmin/vendor/phpmyadmin/shapefile/LICENSE | 339 -
.../vendor/phpmyadmin/shapefile/README.md | 57 -
.../vendor/phpmyadmin/shapefile/codecov.yml | 3 -
.../vendor/phpmyadmin/shapefile/composer.json | 33 -
.../vendor/phpmyadmin/shapefile/phpunit.xml | 25 -
.../vendor/phpmyadmin/shapefile/src/ShapeFile.php | 647 -
.../phpmyadmin/shapefile/src/ShapeRecord.php | 849 -
.../vendor/phpmyadmin/shapefile/src/Util.php | 118 -
.../vendor/phpmyadmin/sql-parser/.github/stale.yml | 23 -
.../vendor/phpmyadmin/sql-parser/.weblate | 3 -
.../vendor/phpmyadmin/sql-parser/CHANGELOG.md | 382 -
.../phpmyadmin/sql-parser/CODE_OF_CONDUCT.md | 76 -
.../vendor/phpmyadmin/sql-parser/CONTRIBUTING.md | 54 -
.../vendor/phpmyadmin/sql-parser/LICENSE.txt | 339 -
.../vendor/phpmyadmin/sql-parser/README.md | 131 -
.../phpmyadmin/sql-parser/bin/highlight-query | 30 -
.../vendor/phpmyadmin/sql-parser/bin/lint-query | 30 -
.../phpmyadmin/sql-parser/bin/tokenize-query | 30 -
.../vendor/phpmyadmin/sql-parser/codecov.yml | 3 -
.../vendor/phpmyadmin/sql-parser/composer.json | 56 -
.../sql-parser/locale/af/LC_MESSAGES/sqlparser.mo | Bin 530 -> 0 bytes
.../sql-parser/locale/ar/LC_MESSAGES/sqlparser.mo | Bin 5266 -> 0 bytes
.../sql-parser/locale/ast/LC_MESSAGES/sqlparser.mo | Bin 3308 -> 0 bytes
.../sql-parser/locale/az/LC_MESSAGES/sqlparser.mo | Bin 3495 -> 0 bytes
.../sql-parser/locale/be/LC_MESSAGES/sqlparser.mo | Bin 5583 -> 0 bytes
.../locale/be@latin/LC_MESSAGES/sqlparser.mo | Bin 4644 -> 0 bytes
.../sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo | Bin 970 -> 0 bytes
.../sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo | Bin 528 -> 0 bytes
.../sql-parser/locale/br/LC_MESSAGES/sqlparser.mo | Bin 526 -> 0 bytes
.../sql-parser/locale/brx/LC_MESSAGES/sqlparser.mo | Bin 529 -> 0 bytes
.../sql-parser/locale/bs/LC_MESSAGES/sqlparser.mo | Bin 602 -> 0 bytes
.../sql-parser/locale/ca/LC_MESSAGES/sqlparser.mo | Bin 4664 -> 0 bytes
.../sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo | Bin 533 -> 0 bytes
.../sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo | Bin 1345 -> 0 bytes
.../sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo | Bin 585 -> 0 bytes
.../sql-parser/locale/da/LC_MESSAGES/sqlparser.mo | Bin 4474 -> 0 bytes
.../sql-parser/locale/de/LC_MESSAGES/sqlparser.mo | Bin 4667 -> 0 bytes
.../sql-parser/locale/el/LC_MESSAGES/sqlparser.mo | Bin 5842 -> 0 bytes
.../locale/en_GB/LC_MESSAGES/sqlparser.mo | Bin 4438 -> 0 bytes
.../sql-parser/locale/eo/LC_MESSAGES/sqlparser.mo | Bin 573 -> 0 bytes
.../sql-parser/locale/es/LC_MESSAGES/sqlparser.mo | Bin 4645 -> 0 bytes
.../sql-parser/locale/et/LC_MESSAGES/sqlparser.mo | Bin 4285 -> 0 bytes
.../sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes
.../sql-parser/locale/fa/LC_MESSAGES/sqlparser.mo | Bin 720 -> 0 bytes
.../sql-parser/locale/fi/LC_MESSAGES/sqlparser.mo | Bin 2354 -> 0 bytes
.../sql-parser/locale/fr/LC_MESSAGES/sqlparser.mo | Bin 4678 -> 0 bytes
.../sql-parser/locale/fy/LC_MESSAGES/sqlparser.mo | Bin 541 -> 0 bytes
.../sql-parser/locale/gl/LC_MESSAGES/sqlparser.mo | Bin 529 -> 0 bytes
.../sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo | Bin 2529 -> 0 bytes
.../sql-parser/locale/he/LC_MESSAGES/sqlparser.mo | Bin 5288 -> 0 bytes
.../sql-parser/locale/hi/LC_MESSAGES/sqlparser.mo | Bin 526 -> 0 bytes
.../sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo | Bin 603 -> 0 bytes
.../sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo | Bin 3655 -> 0 bytes
.../sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo | Bin 1700 -> 0 bytes
.../sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo | Bin 4711 -> 0 bytes
.../sql-parser/locale/id/LC_MESSAGES/sqlparser.mo | Bin 4461 -> 0 bytes
.../sql-parser/locale/it/LC_MESSAGES/sqlparser.mo | Bin 4698 -> 0 bytes
.../sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo | Bin 5051 -> 0 bytes
.../sql-parser/locale/ka/LC_MESSAGES/sqlparser.mo | Bin 524 -> 0 bytes
.../sql-parser/locale/kk/LC_MESSAGES/sqlparser.mo | Bin 4361 -> 0 bytes
.../sql-parser/locale/km/LC_MESSAGES/sqlparser.mo | Bin 620 -> 0 bytes
.../sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo | Bin 540 -> 0 bytes
.../sql-parser/locale/ko/LC_MESSAGES/sqlparser.mo | Bin 4906 -> 0 bytes
.../sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo | Bin 539 -> 0 bytes
.../sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes
.../sql-parser/locale/li/LC_MESSAGES/sqlparser.mo | Bin 546 -> 0 bytes
.../sql-parser/locale/lt/LC_MESSAGES/sqlparser.mo | Bin 594 -> 0 bytes
.../sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo | Bin 568 -> 0 bytes
.../sql-parser/locale/mk/LC_MESSAGES/sqlparser.mo | Bin 548 -> 0 bytes
.../sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo | Bin 530 -> 0 bytes
.../sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo | Bin 770 -> 0 bytes
.../sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo | Bin 521 -> 0 bytes
.../sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo | Bin 4354 -> 0 bytes
.../sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes
.../sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo | Bin 4586 -> 0 bytes
.../sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes
.../sql-parser/locale/pl/LC_MESSAGES/sqlparser.mo | Bin 4575 -> 0 bytes
.../sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo | Bin 4608 -> 0 bytes
.../locale/pt_BR/LC_MESSAGES/sqlparser.mo | Bin 4713 -> 0 bytes
.../sql-parser/locale/ro/LC_MESSAGES/sqlparser.mo | Bin 4740 -> 0 bytes
.../sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo | Bin 5702 -> 0 bytes
.../sql-parser/locale/si/LC_MESSAGES/sqlparser.mo | Bin 1719 -> 0 bytes
.../sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo | Bin 4594 -> 0 bytes
.../sql-parser/locale/sl/LC_MESSAGES/sqlparser.mo | Bin 4575 -> 0 bytes
.../sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo | Bin 4496 -> 0 bytes
.../phpmyadmin/sql-parser/locale/sqlparser.pot | 217 -
.../sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo | Bin 602 -> 0 bytes
.../locale/sr@latin/LC_MESSAGES/sqlparser.mo | Bin 624 -> 0 bytes
.../sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo | Bin 3254 -> 0 bytes
.../sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo | Bin 766 -> 0 bytes
.../sql-parser/locale/te/LC_MESSAGES/sqlparser.mo | Bin 1092 -> 0 bytes
.../sql-parser/locale/th/LC_MESSAGES/sqlparser.mo | Bin 7120 -> 0 bytes
.../sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes
.../sql-parser/locale/tr/LC_MESSAGES/sqlparser.mo | Bin 4583 -> 0 bytes
.../sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo | Bin 521 -> 0 bytes
.../sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo | Bin 543 -> 0 bytes
.../sql-parser/locale/uk/LC_MESSAGES/sqlparser.mo | Bin 5750 -> 0 bytes
.../sql-parser/locale/ur/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes
.../sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo | Bin 527 -> 0 bytes
.../locale/uz@latin/LC_MESSAGES/sqlparser.mo | Bin 541 -> 0 bytes
.../sql-parser/locale/vi/LC_MESSAGES/sqlparser.mo | Bin 4527 -> 0 bytes
.../sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo | Bin 548 -> 0 bytes
.../locale/zh_CN/LC_MESSAGES/sqlparser.mo | Bin 4290 -> 0 bytes
.../locale/zh_TW/LC_MESSAGES/sqlparser.mo | Bin 4408 -> 0 bytes
.../vendor/phpmyadmin/sql-parser/phpcs.xml.dist | 39 -
.../vendor/phpmyadmin/sql-parser/phpstan.neon.dist | 10 -
.../vendor/phpmyadmin/sql-parser/phpunit.xml.dist | 46 -
.../vendor/phpmyadmin/sql-parser/src/Component.php | 75 -
.../sql-parser/src/Components/AlterOperation.php | 348 -
.../sql-parser/src/Components/Array2d.php | 127 -
.../sql-parser/src/Components/ArrayObj.php | 182 -
.../sql-parser/src/Components/CaseExpression.php | 307 -
.../sql-parser/src/Components/Condition.php | 227 -
.../sql-parser/src/Components/CreateDefinition.php | 363 -
.../sql-parser/src/Components/DataType.php | 169 -
.../sql-parser/src/Components/Expression.php | 455 -
.../sql-parser/src/Components/ExpressionArray.php | 123 -
.../sql-parser/src/Components/FunctionCall.php | 113 -
.../sql-parser/src/Components/GroupKeyword.php | 127 -
.../sql-parser/src/Components/IndexHint.php | 188 -
.../sql-parser/src/Components/IntoKeyword.php | 291 -
.../sql-parser/src/Components/JoinKeyword.php | 222 -
.../phpmyadmin/sql-parser/src/Components/Key.php | 211 -
.../phpmyadmin/sql-parser/src/Components/Limit.php | 127 -
.../sql-parser/src/Components/LockExpression.php | 200 -
.../sql-parser/src/Components/OptionsArray.php | 367 -
.../sql-parser/src/Components/OrderKeyword.php | 134 -
.../src/Components/ParameterDefinition.php | 165 -
.../src/Components/PartitionDefinition.php | 249 -
.../sql-parser/src/Components/Reference.php | 156 -
.../sql-parser/src/Components/RenameOperation.php | 176 -
.../sql-parser/src/Components/SetOperation.php | 155 -
.../sql-parser/src/Components/UnionKeyword.php | 31 -
.../vendor/phpmyadmin/sql-parser/src/Context.php | 581 -
.../src/Contexts/ContextMariaDb100000.php | 312 -
.../src/Contexts/ContextMariaDb100100.php | 361 -
.../src/Contexts/ContextMariaDb100200.php | 361 -
.../src/Contexts/ContextMariaDb100300.php | 361 -
.../sql-parser/src/Contexts/ContextMySql50000.php | 282 -
.../sql-parser/src/Contexts/ContextMySql50100.php | 307 -
.../sql-parser/src/Contexts/ContextMySql50500.php | 312 -
.../sql-parser/src/Contexts/ContextMySql50600.php | 341 -
.../sql-parser/src/Contexts/ContextMySql50700.php | 361 -
.../sql-parser/src/Contexts/ContextMySql80000.php | 361 -
.../vendor/phpmyadmin/sql-parser/src/Core.php | 49 -
.../sql-parser/src/Exceptions/LexerException.php | 42 -
.../sql-parser/src/Exceptions/LoaderException.php | 33 -
.../sql-parser/src/Exceptions/ParserException.php | 34 -
.../vendor/phpmyadmin/sql-parser/src/Lexer.php | 942 -
.../vendor/phpmyadmin/sql-parser/src/Parser.php | 605 -
.../vendor/phpmyadmin/sql-parser/src/Statement.php | 554 -
.../sql-parser/src/Statements/AlterStatement.php | 146 -
.../sql-parser/src/Statements/AnalyzeStatement.php | 38 -
.../sql-parser/src/Statements/BackupStatement.php | 32 -
.../sql-parser/src/Statements/CallStatement.php | 39 -
.../sql-parser/src/Statements/CheckStatement.php | 31 -
.../src/Statements/ChecksumStatement.php | 27 -
.../sql-parser/src/Statements/CreateStatement.php | 741 -
.../sql-parser/src/Statements/DeleteStatement.php | 375 -
.../sql-parser/src/Statements/DropStatement.php | 82 -
.../sql-parser/src/Statements/ExplainStatement.php | 14 -
.../sql-parser/src/Statements/InsertStatement.php | 259 -
.../sql-parser/src/Statements/LoadStatement.php | 418 -
.../sql-parser/src/Statements/LockStatement.php | 124 -
.../src/Statements/MaintenanceStatement.php | 57 -
.../src/Statements/NotImplementedStatement.php | 57 -
.../src/Statements/OptimizeStatement.php | 38 -
.../sql-parser/src/Statements/PurgeStatement.php | 139 -
.../sql-parser/src/Statements/RenameStatement.php | 54 -
.../sql-parser/src/Statements/RepairStatement.php | 33 -
.../sql-parser/src/Statements/ReplaceStatement.php | 197 -
.../sql-parser/src/Statements/RestoreStatement.php | 29 -
.../sql-parser/src/Statements/SelectStatement.php | 347 -
.../sql-parser/src/Statements/SetStatement.php | 110 -
.../sql-parser/src/Statements/ShowStatement.php | 62 -
.../src/Statements/TransactionStatement.php | 110 -
.../src/Statements/TruncateStatement.php | 42 -
.../sql-parser/src/Statements/UpdateStatement.php | 117 -
.../vendor/phpmyadmin/sql-parser/src/Token.php | 340 -
.../phpmyadmin/sql-parser/src/TokensList.php | 199 -
.../phpmyadmin/sql-parser/src/Translator.php | 71 -
.../vendor/phpmyadmin/sql-parser/src/UtfString.php | 210 -
.../sql-parser/src/Utils/BufferedQuery.php | 406 -
.../vendor/phpmyadmin/sql-parser/src/Utils/CLI.php | 225 -
.../phpmyadmin/sql-parser/src/Utils/Error.php | 96 -
.../phpmyadmin/sql-parser/src/Utils/Formatter.php | 736 -
.../phpmyadmin/sql-parser/src/Utils/Misc.php | 104 -
.../phpmyadmin/sql-parser/src/Utils/Query.php | 871 -
.../phpmyadmin/sql-parser/src/Utils/Routine.php | 139 -
.../phpmyadmin/sql-parser/src/Utils/Table.php | 131 -
.../phpmyadmin/sql-parser/src/Utils/Tokens.php | 164 -
srcs/phpmyadmin/vendor/phpseclib/phpseclib/AUTHORS | 6 -
.../vendor/phpseclib/phpseclib/BACKERS.md | 7 -
srcs/phpmyadmin/vendor/phpseclib/phpseclib/LICENSE | 20 -
.../vendor/phpseclib/phpseclib/README.md | 87 -
.../vendor/phpseclib/phpseclib/appveyor.yml | 27 -
.../vendor/phpseclib/phpseclib/composer.json | 76 -
.../phpseclib/phpseclib/phpseclib/Crypt/AES.php | 126 -
.../phpseclib/phpseclib/phpseclib/Crypt/Base.php | 2708 --
.../phpseclib/phpseclib/phpseclib/Crypt/Random.php | 274 -
.../phpseclib/phpseclib/Crypt/Rijndael.php | 936 -
.../phpseclib/phpseclib/phpseclib/bootstrap.php | 16 -
.../phpseclib/phpseclib/phpseclib/openssl.cnf | 6 -
.../pragmarx/google2fa-qrcode/.scrutinizer.yml | 40 -
.../vendor/pragmarx/google2fa-qrcode/.travis.yml | 32 -
.../vendor/pragmarx/google2fa-qrcode/CHANGELOG.md | 14 -
.../vendor/pragmarx/google2fa-qrcode/LICENSE.md | 7 -
.../vendor/pragmarx/google2fa-qrcode/README.md | 111 -
.../vendor/pragmarx/google2fa-qrcode/composer.json | 36 -
.../vendor/pragmarx/google2fa-qrcode/composer.lock | 1903 -
.../vendor/pragmarx/google2fa-qrcode/phpunit.xml | 33 -
.../pragmarx/google2fa-qrcode/src/Google2FA.php | 134 -
.../pragmarx/google2fa-qrcode/tests/.gitkeep | 0
.../pragmarx/google2fa-qrcode/tests/Constants.php | 14 -
.../google2fa-qrcode/tests/Google2FATest.php | 52 -
.../pragmarx/google2fa-qrcode/tests/bootstrap.php | 42 -
.../vendor/pragmarx/google2fa/.scrutinizer.yml | 40 -
.../vendor/pragmarx/google2fa/.travis.yml | 31 -
.../vendor/pragmarx/google2fa/CHANGELOG.md | 83 -
.../vendor/pragmarx/google2fa/LICENSE.md | 7 -
.../phpmyadmin/vendor/pragmarx/google2fa/README.md | 353 -
.../vendor/pragmarx/google2fa/RELICENSED.md | 29 -
.../vendor/pragmarx/google2fa/composer.json | 41 -
.../vendor/pragmarx/google2fa/composer.lock | 1755 -
.../vendor/pragmarx/google2fa/docs/playground.jpg | Bin 102734 -> 0 bytes
.../vendor/pragmarx/google2fa/phpunit.xml | 33 -
.../src/Exceptions/Contracts/Google2FA.php | 7 -
.../IncompatibleWithGoogleAuthenticator.php | 7 -
.../src/Exceptions/Contracts/InvalidCharacters.php | 7 -
.../src/Exceptions/Contracts/SecretKeyTooShort.php | 7 -
.../src/Exceptions/Google2FAException.php | 10 -
...ncompatibleWithGoogleAuthenticatorException.php | 12 -
.../src/Exceptions/InvalidCharactersException.php | 12 -
.../src/Exceptions/SecretKeyTooShortException.php | 12 -
.../vendor/pragmarx/google2fa/src/Google2FA.php | 418 -
.../pragmarx/google2fa/src/Support/Base32.php | 202 -
.../pragmarx/google2fa/src/Support/Constants.php | 21 -
.../pragmarx/google2fa/src/Support/QRCode.php | 28 -
.../vendor/pragmarx/google2fa/src/Support/Url.php | 22 -
.../vendor/pragmarx/google2fa/tests/.gitkeep | 0
.../vendor/pragmarx/google2fa/tests/Constants.php | 16 -
.../pragmarx/google2fa/tests/Google2FATest.php | 524 -
.../vendor/pragmarx/google2fa/tests/bootstrap.php | 42 -
.../vendor/pragmarx/google2fa/upgrading.md | 2 -
srcs/phpmyadmin/vendor/psr/cache/CHANGELOG.md | 16 -
srcs/phpmyadmin/vendor/psr/cache/LICENSE.txt | 19 -
srcs/phpmyadmin/vendor/psr/cache/README.md | 9 -
srcs/phpmyadmin/vendor/psr/cache/composer.json | 25 -
.../vendor/psr/cache/src/CacheException.php | 10 -
.../vendor/psr/cache/src/CacheItemInterface.php | 105 -
.../psr/cache/src/CacheItemPoolInterface.php | 138 -
.../psr/cache/src/InvalidArgumentException.php | 13 -
srcs/phpmyadmin/vendor/psr/container/LICENSE | 21 -
srcs/phpmyadmin/vendor/psr/container/README.md | 5 -
srcs/phpmyadmin/vendor/psr/container/composer.json | 27 -
.../container/src/ContainerExceptionInterface.php | 13 -
.../psr/container/src/ContainerInterface.php | 37 -
.../container/src/NotFoundExceptionInterface.php | 13 -
srcs/phpmyadmin/vendor/psr/log/LICENSE | 19 -
.../vendor/psr/log/Psr/Log/AbstractLogger.php | 128 -
.../psr/log/Psr/Log/InvalidArgumentException.php | 7 -
.../phpmyadmin/vendor/psr/log/Psr/Log/LogLevel.php | 18 -
.../psr/log/Psr/Log/LoggerAwareInterface.php | 18 -
.../vendor/psr/log/Psr/Log/LoggerAwareTrait.php | 26 -
.../vendor/psr/log/Psr/Log/LoggerInterface.php | 125 -
.../vendor/psr/log/Psr/Log/LoggerTrait.php | 142 -
.../vendor/psr/log/Psr/Log/NullLogger.php | 30 -
.../psr/log/Psr/Log/Test/LoggerInterfaceTest.php | 146 -
.../vendor/psr/log/Psr/Log/Test/TestLogger.php | 147 -
srcs/phpmyadmin/vendor/psr/log/README.md | 58 -
srcs/phpmyadmin/vendor/psr/log/composer.json | 26 -
.../vendor/samyoul/u2f-php-server/LICENCE.md | 25 -
.../vendor/samyoul/u2f-php-server/README.md | 473 -
.../vendor/samyoul/u2f-php-server/composer.json | 17 -
.../samyoul/u2f-php-server/src/Registration.php | 81 -
.../u2f-php-server/src/RegistrationRequest.php | 56 -
.../samyoul/u2f-php-server/src/SignRequest.php | 75 -
.../samyoul/u2f-php-server/src/U2FException.php | 60 -
.../samyoul/u2f-php-server/src/U2FServer.php | 429 -
.../symfony/cache-contracts/CacheInterface.php | 57 -
.../vendor/symfony/cache-contracts/CacheTrait.php | 76 -
.../symfony/cache-contracts/CallbackInterface.php | 30 -
.../symfony/cache-contracts/ItemInterface.php | 65 -
.../vendor/symfony/cache-contracts/LICENSE | 19 -
.../vendor/symfony/cache-contracts/README.md | 9 -
.../cache-contracts/TagAwareCacheInterface.php | 38 -
.../vendor/symfony/cache-contracts/composer.json | 34 -
.../symfony/cache/Adapter/AbstractAdapter.php | 203 -
.../cache/Adapter/AbstractTagAwareAdapter.php | 323 -
.../symfony/cache/Adapter/AdapterInterface.php | 46 -
.../vendor/symfony/cache/Adapter/ApcuAdapter.php | 27 -
.../vendor/symfony/cache/Adapter/ArrayAdapter.php | 171 -
.../vendor/symfony/cache/Adapter/ChainAdapter.php | 332 -
.../symfony/cache/Adapter/DoctrineAdapter.php | 27 -
.../symfony/cache/Adapter/FilesystemAdapter.php | 29 -
.../cache/Adapter/FilesystemTagAwareAdapter.php | 239 -
.../symfony/cache/Adapter/MemcachedAdapter.php | 37 -
.../vendor/symfony/cache/Adapter/NullAdapter.php | 156 -
.../vendor/symfony/cache/Adapter/PdoAdapter.php | 54 -
.../symfony/cache/Adapter/PhpArrayAdapter.php | 332 -
.../symfony/cache/Adapter/PhpFilesAdapter.php | 38 -
.../vendor/symfony/cache/Adapter/ProxyAdapter.php | 269 -
.../vendor/symfony/cache/Adapter/Psr16Adapter.php | 86 -
.../vendor/symfony/cache/Adapter/RedisAdapter.php | 30 -
.../symfony/cache/Adapter/RedisTagAwareAdapter.php | 292 -
.../symfony/cache/Adapter/SimpleCacheAdapter.php | 21 -
.../symfony/cache/Adapter/TagAwareAdapter.php | 429 -
.../cache/Adapter/TagAwareAdapterInterface.php | 33 -
.../symfony/cache/Adapter/TraceableAdapter.php | 302 -
.../cache/Adapter/TraceableTagAwareAdapter.php | 38 -
srcs/phpmyadmin/vendor/symfony/cache/CHANGELOG.md | 73 -
srcs/phpmyadmin/vendor/symfony/cache/CacheItem.php | 202 -
.../cache/DataCollector/CacheDataCollector.php | 194 -
.../DependencyInjection/CacheCollectorPass.php | 72 -
.../DependencyInjection/CachePoolClearerPass.php | 48 -
.../cache/DependencyInjection/CachePoolPass.php | 222 -
.../DependencyInjection/CachePoolPrunerPass.php | 60 -
.../vendor/symfony/cache/DoctrineProvider.php | 114 -
.../symfony/cache/Exception/CacheException.php | 25 -
.../cache/Exception/InvalidArgumentException.php | 25 -
.../symfony/cache/Exception/LogicException.php | 25 -
srcs/phpmyadmin/vendor/symfony/cache/LICENSE | 19 -
.../vendor/symfony/cache/LockRegistry.php | 154 -
.../symfony/cache/Marshaller/DefaultMarshaller.php | 99 -
.../symfony/cache/Marshaller/DeflateMarshaller.php | 53 -
.../cache/Marshaller/MarshallerInterface.php | 40 -
.../cache/Marshaller/TagAwareMarshaller.php | 89 -
.../vendor/symfony/cache/PruneableInterface.php | 23 -
.../phpmyadmin/vendor/symfony/cache/Psr16Cache.php | 277 -
srcs/phpmyadmin/vendor/symfony/cache/README.md | 18 -
.../vendor/symfony/cache/ResettableInterface.php | 21 -
.../vendor/symfony/cache/Simple/AbstractCache.php | 199 -
.../vendor/symfony/cache/Simple/ApcuCache.php | 31 -
.../vendor/symfony/cache/Simple/ArrayCache.php | 167 -
.../vendor/symfony/cache/Simple/ChainCache.php | 271 -
.../vendor/symfony/cache/Simple/DoctrineCache.php | 34 -
.../symfony/cache/Simple/FilesystemCache.php | 36 -
.../vendor/symfony/cache/Simple/MemcachedCache.php | 34 -
.../vendor/symfony/cache/Simple/NullCache.php | 104 -
.../vendor/symfony/cache/Simple/PdoCache.php | 59 -
.../vendor/symfony/cache/Simple/PhpArrayCache.php | 256 -
.../vendor/symfony/cache/Simple/PhpFilesCache.php | 45 -
.../vendor/symfony/cache/Simple/Psr6Cache.php | 23 -
.../vendor/symfony/cache/Simple/RedisCache.php | 35 -
.../vendor/symfony/cache/Simple/TraceableCache.php | 257 -
.../symfony/cache/Traits/AbstractAdapterTrait.php | 155 -
.../vendor/symfony/cache/Traits/AbstractTrait.php | 295 -
.../vendor/symfony/cache/Traits/ApcuTrait.php | 121 -
.../vendor/symfony/cache/Traits/ArrayTrait.php | 183 -
.../vendor/symfony/cache/Traits/ContractsTrait.php | 97 -
.../vendor/symfony/cache/Traits/DoctrineTrait.php | 98 -
.../symfony/cache/Traits/FilesystemCommonTrait.php | 183 -
.../symfony/cache/Traits/FilesystemTrait.php | 124 -
.../vendor/symfony/cache/Traits/MemcachedTrait.php | 325 -
.../vendor/symfony/cache/Traits/PdoTrait.php | 445 -
.../vendor/symfony/cache/Traits/PhpArrayTrait.php | 169 -
.../vendor/symfony/cache/Traits/PhpFilesTrait.php | 313 -
.../vendor/symfony/cache/Traits/ProxyTrait.php | 43 -
.../symfony/cache/Traits/RedisClusterProxy.php | 63 -
.../vendor/symfony/cache/Traits/RedisProxy.php | 65 -
.../vendor/symfony/cache/Traits/RedisTrait.php | 511 -
srcs/phpmyadmin/vendor/symfony/cache/composer.json | 59 -
srcs/phpmyadmin/vendor/symfony/config/CHANGELOG.md | 108 -
.../vendor/symfony/config/ConfigCache.php | 62 -
.../vendor/symfony/config/ConfigCacheFactory.php | 51 -
.../symfony/config/ConfigCacheFactoryInterface.php | 32 -
.../vendor/symfony/config/ConfigCacheInterface.php | 49 -
.../vendor/symfony/config/Definition/ArrayNode.php | 416 -
.../vendor/symfony/config/Definition/BaseNode.php | 559 -
.../symfony/config/Definition/BooleanNode.php | 55 -
.../Definition/Builder/ArrayNodeDefinition.php | 548 -
.../Definition/Builder/BooleanNodeDefinition.php | 53 -
.../Definition/Builder/BuilderAwareInterface.php | 25 -
.../Definition/Builder/EnumNodeDefinition.php | 56 -
.../config/Definition/Builder/ExprBuilder.php | 248 -
.../Definition/Builder/FloatNodeDefinition.php | 32 -
.../Definition/Builder/IntegerNodeDefinition.php | 32 -
.../config/Definition/Builder/MergeBuilder.php | 67 -
.../config/Definition/Builder/NodeBuilder.php | 238 -
.../config/Definition/Builder/NodeDefinition.php | 373 -
.../Definition/Builder/NodeParentInterface.php | 21 -
.../Definition/Builder/NormalizationBuilder.php | 60 -
.../Definition/Builder/NumericNodeDefinition.php | 73 -
.../Builder/ParentNodeDefinitionInterface.php | 46 -
.../Definition/Builder/ScalarNodeDefinition.php | 32 -
.../config/Definition/Builder/TreeBuilder.php | 106 -
.../Definition/Builder/ValidationBuilder.php | 44 -
.../Definition/Builder/VariableNodeDefinition.php | 65 -
.../config/Definition/ConfigurationInterface.php | 27 -
.../Definition/Dumper/XmlReferenceDumper.php | 302 -
.../Definition/Dumper/YamlReferenceDumper.php | 242 -
.../vendor/symfony/config/Definition/EnumNode.php | 62 -
.../Definition/Exception/DuplicateKeyException.php | 22 -
.../config/Definition/Exception/Exception.php | 21 -
.../Exception/ForbiddenOverwriteException.php | 22 -
.../Exception/InvalidConfigurationException.php | 49 -
.../Exception/InvalidDefinitionException.php | 21 -
.../Definition/Exception/InvalidTypeException.php | 21 -
.../Exception/TreeWithoutRootNodeException.php | 21 -
.../Definition/Exception/UnsetKeyException.php | 22 -
.../vendor/symfony/config/Definition/FloatNode.php | 51 -
.../symfony/config/Definition/IntegerNode.php | 46 -
.../symfony/config/Definition/NodeInterface.php | 100 -
.../symfony/config/Definition/NumericNode.php | 64 -
.../vendor/symfony/config/Definition/Processor.php | 97 -
.../config/Definition/PrototypeNodeInterface.php | 27 -
.../config/Definition/PrototypedArrayNode.php | 375 -
.../symfony/config/Definition/ScalarNode.php | 67 -
.../symfony/config/Definition/VariableNode.php | 143 -
.../FileLoaderImportCircularReferenceException.php | 27 -
.../config/Exception/FileLoaderLoadException.php | 111 -
.../Exception/FileLocatorFileNotFoundException.php | 34 -
.../config/Exception/LoaderLoadException.php | 21 -
.../vendor/symfony/config/FileLocator.php | 94 -
.../vendor/symfony/config/FileLocatorInterface.php | 34 -
srcs/phpmyadmin/vendor/symfony/config/LICENSE | 19 -
.../symfony/config/Loader/DelegatingLoader.php | 50 -
.../vendor/symfony/config/Loader/FileLoader.php | 186 -
.../symfony/config/Loader/GlobFileLoader.php | 36 -
.../vendor/symfony/config/Loader/Loader.php | 78 -
.../symfony/config/Loader/LoaderInterface.php | 52 -
.../symfony/config/Loader/LoaderResolver.php | 68 -
.../config/Loader/LoaderResolverInterface.php | 30 -
srcs/phpmyadmin/vendor/symfony/config/README.md | 15 -
.../config/Resource/ClassExistenceResource.php | 231 -
.../symfony/config/Resource/ComposerResource.php | 70 -
.../symfony/config/Resource/DirectoryResource.php | 108 -
.../config/Resource/FileExistenceResource.php | 62 -
.../symfony/config/Resource/FileResource.php | 67 -
.../symfony/config/Resource/GlobResource.php | 233 -
.../config/Resource/ReflectionClassResource.php | 221 -
.../symfony/config/Resource/ResourceInterface.php | 33 -
.../Resource/SelfCheckingResourceChecker.php | 36 -
.../Resource/SelfCheckingResourceInterface.php | 30 -
.../symfony/config/ResourceCheckerConfigCache.php | 188 -
.../config/ResourceCheckerConfigCacheFactory.php | 48 -
.../symfony/config/ResourceCheckerInterface.php | 45 -
.../config/Util/Exception/InvalidXmlException.php | 21 -
.../config/Util/Exception/XmlParsingException.php | 21 -
.../vendor/symfony/config/Util/XmlUtils.php | 269 -
.../phpmyadmin/vendor/symfony/config/composer.json | 48 -
.../vendor/symfony/dependency-injection/Alias.php | 137 -
.../Argument/ArgumentInterface.php | 27 -
.../Argument/BoundArgument.php | 62 -
.../Argument/IteratorArgument.php | 22 -
.../Argument/ReferenceSetArgumentTrait.php | 54 -
.../Argument/RewindableGenerator.php | 46 -
.../Argument/ServiceClosureArgument.php | 50 -
.../Argument/ServiceLocator.php | 50 -
.../Argument/ServiceLocatorArgument.php | 44 -
.../Argument/TaggedIteratorArgument.php | 73 -
.../symfony/dependency-injection/CHANGELOG.md | 236 -
.../dependency-injection/ChildDefinition.php | 124 -
.../Compiler/AbstractRecursivePass.php | 228 -
.../Compiler/AnalyzeServiceReferencesPass.php | 192 -
.../Compiler/AutoAliasServicePass.php | 41 -
.../dependency-injection/Compiler/AutowirePass.php | 475 -
.../Compiler/AutowireRequiredMethodsPass.php | 84 -
.../Compiler/CheckArgumentsValidityPass.php | 87 -
.../Compiler/CheckCircularReferencesPass.php | 78 -
.../Compiler/CheckDefinitionValidityPass.php | 90 -
...heckExceptionOnInvalidReferenceBehaviorPass.php | 88 -
.../Compiler/CheckReferenceValidityPass.php | 43 -
.../Compiler/CheckTypeDeclarationsPass.php | 245 -
.../dependency-injection/Compiler/Compiler.php | 119 -
.../Compiler/CompilerPassInterface.php | 27 -
.../Compiler/DecoratorServicePass.php | 89 -
.../Compiler/DefinitionErrorExceptionPass.php | 56 -
.../Compiler/ExtensionCompilerPass.php | 37 -
.../Compiler/InlineServiceDefinitionsPass.php | 231 -
.../Compiler/MergeExtensionConfigurationPass.php | 220 -
.../dependency-injection/Compiler/PassConfig.php | 269 -
.../Compiler/PriorityTaggedServiceTrait.php | 138 -
.../Compiler/RegisterEnvVarProcessorsPass.php | 75 -
.../Compiler/RegisterReverseContainerPass.php | 66 -
.../Compiler/RegisterServiceSubscribersPass.php | 122 -
.../Compiler/RemoveAbstractDefinitionsPass.php | 33 -
.../Compiler/RemovePrivateAliasesPass.php | 39 -
.../Compiler/RemoveUnusedDefinitionsPass.php | 98 -
.../Compiler/RepeatablePassInterface.php | 25 -
.../dependency-injection/Compiler/RepeatedPass.php | 83 -
.../ReplaceAliasByActualDefinitionPass.php | 94 -
.../Compiler/ResolveBindingsPass.php | 227 -
.../Compiler/ResolveChildDefinitionsPass.php | 190 -
.../Compiler/ResolveClassPass.php | 40 -
.../Compiler/ResolveEnvPlaceholdersPass.php | 44 -
.../Compiler/ResolveFactoryClassPass.php | 38 -
.../Compiler/ResolveHotPathPass.php | 71 -
.../Compiler/ResolveInstanceofConditionalsPass.php | 168 -
.../Compiler/ResolveInvalidReferencesPass.php | 136 -
.../Compiler/ResolveNamedArgumentsPass.php | 112 -
.../Compiler/ResolveParameterPlaceHoldersPass.php | 87 -
.../Compiler/ResolvePrivatesPass.php | 40 -
.../Compiler/ResolveReferencesToAliasesPass.php | 80 -
.../Compiler/ResolveServiceSubscribersPass.php | 52 -
.../Compiler/ResolveTaggedIteratorArgumentPass.php | 38 -
.../Compiler/ServiceLocatorTagPass.php | 135 -
.../Compiler/ServiceReferenceGraph.php | 98 -
.../Compiler/ServiceReferenceGraphEdge.php | 99 -
.../Compiler/ServiceReferenceGraphNode.php | 118 -
.../Compiler/ValidateEnvPlaceholdersPass.php | 120 -
.../Config/ContainerParametersResource.php | 50 -
.../Config/ContainerParametersResourceChecker.php | 52 -
.../symfony/dependency-injection/Container.php | 456 -
.../ContainerAwareInterface.php | 25 -
.../dependency-injection/ContainerAwareTrait.php | 30 -
.../dependency-injection/ContainerBuilder.php | 1672 -
.../dependency-injection/ContainerInterface.php | 101 -
.../symfony/dependency-injection/Definition.php | 940 -
.../symfony/dependency-injection/Dumper/Dumper.php | 29 -
.../Dumper/DumperInterface.php | 27 -
.../dependency-injection/Dumper/GraphvizDumper.php | 251 -
.../dependency-injection/Dumper/PhpDumper.php | 2062 -
.../dependency-injection/Dumper/Preloader.php | 100 -
.../dependency-injection/Dumper/XmlDumper.php | 374 -
.../dependency-injection/Dumper/YamlDumper.php | 349 -
.../dependency-injection/EnvVarLoaderInterface.php | 25 -
.../dependency-injection/EnvVarProcessor.php | 280 -
.../EnvVarProcessorInterface.php | 40 -
.../Exception/AutowiringFailedException.php | 72 -
.../Exception/BadMethodCallException.php | 19 -
.../Exception/EnvNotFoundException.php | 21 -
.../Exception/EnvParameterException.php | 25 -
.../Exception/ExceptionInterface.php | 24 -
.../Exception/InvalidArgumentException.php | 21 -
.../Exception/InvalidParameterTypeException.php | 26 -
.../Exception/LogicException.php | 19 -
.../Exception/OutOfBoundsException.php | 19 -
.../ParameterCircularReferenceException.php | 34 -
.../Exception/ParameterNotFoundException.php | 100 -
.../Exception/RuntimeException.php | 21 -
.../ServiceCircularReferenceException.php | 41 -
.../Exception/ServiceNotFoundException.php | 67 -
.../dependency-injection/ExpressionLanguage.php | 40 -
.../ExpressionLanguageProvider.php | 50 -
.../Extension/ConfigurationExtensionInterface.php | 30 -
.../dependency-injection/Extension/Extension.php | 141 -
.../Extension/ExtensionInterface.php | 52 -
.../Extension/PrependExtensionInterface.php | 22 -
.../vendor/symfony/dependency-injection/LICENSE | 19 -
.../Instantiator/InstantiatorInterface.php | 34 -
.../Instantiator/RealServiceInstantiator.php | 33 -
.../LazyProxy/PhpDumper/DumperInterface.php | 46 -
.../LazyProxy/PhpDumper/NullDumper.php | 48 -
.../dependency-injection/LazyProxy/ProxyHelper.php | 56 -
.../dependency-injection/Loader/ClosureLoader.php | 48 -
.../Loader/Configurator/AbstractConfigurator.php | 87 -
.../Configurator/AbstractServiceConfigurator.php | 93 -
.../Loader/Configurator/AliasConfigurator.php | 30 -
.../Loader/Configurator/ContainerConfigurator.php | 144 -
.../Loader/Configurator/DefaultsConfigurator.php | 69 -
.../Configurator/InlineServiceConfigurator.php | 36 -
.../Loader/Configurator/InstanceofConfigurator.php | 49 -
.../Loader/Configurator/ParametersConfigurator.php | 51 -
.../Loader/Configurator/PrototypeConfigurator.php | 84 -
.../Loader/Configurator/ReferenceConfigurator.php | 69 -
.../Loader/Configurator/ServiceConfigurator.php | 72 -
.../Loader/Configurator/ServicesConfigurator.php | 147 -
.../Loader/Configurator/Traits/AbstractTrait.php | 28 -
.../Loader/Configurator/Traits/ArgumentTrait.php | 42 -
.../Configurator/Traits/AutoconfigureTrait.php | 35 -
.../Loader/Configurator/Traits/AutowireTrait.php | 27 -
.../Loader/Configurator/Traits/BindTrait.php | 47 -
.../Loader/Configurator/Traits/CallTrait.php | 35 -
.../Loader/Configurator/Traits/ClassTrait.php | 27 -
.../Configurator/Traits/ConfiguratorTrait.php | 29 -
.../Loader/Configurator/Traits/DecorateTrait.php | 37 -
.../Loader/Configurator/Traits/DeprecateTrait.php | 33 -
.../Loader/Configurator/Traits/FactoryTrait.php | 37 -
.../Loader/Configurator/Traits/FileTrait.php | 27 -
.../Loader/Configurator/Traits/LazyTrait.php | 32 -
.../Loader/Configurator/Traits/ParentTrait.php | 50 -
.../Loader/Configurator/Traits/PropertyTrait.php | 27 -
.../Loader/Configurator/Traits/PublicTrait.php | 35 -
.../Loader/Configurator/Traits/ShareTrait.php | 27 -
.../Loader/Configurator/Traits/SyntheticTrait.php | 28 -
.../Loader/Configurator/Traits/TagTrait.php | 39 -
.../Loader/DirectoryLoader.php | 54 -
.../dependency-injection/Loader/FileLoader.php | 227 -
.../dependency-injection/Loader/GlobFileLoader.php | 40 -
.../dependency-injection/Loader/IniFileLoader.php | 97 -
.../dependency-injection/Loader/PhpFileLoader.php | 80 -
.../dependency-injection/Loader/XmlFileLoader.php | 728 -
.../dependency-injection/Loader/YamlFileLoader.php | 880 -
.../Loader/schema/dic/services/services-1.0.xsd | 305 -
.../symfony/dependency-injection/Parameter.php | 35 -
.../ParameterBag/ContainerBag.php | 51 -
.../ParameterBag/ContainerBagInterface.php | 57 -
.../ParameterBag/EnvPlaceholderParameterBag.php | 173 -
.../ParameterBag/FrozenParameterBag.php | 68 -
.../ParameterBag/ParameterBag.php | 289 -
.../ParameterBag/ParameterBagInterface.php | 115 -
.../vendor/symfony/dependency-injection/README.md | 14 -
.../symfony/dependency-injection/Reference.php | 47 -
.../ResettableContainerInterface.php | 35 -
.../dependency-injection/ReverseContainer.php | 85 -
.../dependency-injection/ServiceLocator.php | 145 -
.../ServiceSubscriberInterface.php | 23 -
.../TaggedContainerInterface.php | 29 -
.../dependency-injection/TypedReference.php | 74 -
.../symfony/dependency-injection/Variable.php | 43 -
.../symfony/dependency-injection/composer.json | 57 -
.../symfony/expression-language/CHANGELOG.md | 20 -
.../symfony/expression-language/Compiler.php | 148 -
.../symfony/expression-language/Expression.php | 37 -
.../expression-language/ExpressionFunction.php | 98 -
.../ExpressionFunctionProviderInterface.php | 23 -
.../expression-language/ExpressionLanguage.php | 166 -
.../vendor/symfony/expression-language/LICENSE | 19 -
.../vendor/symfony/expression-language/Lexer.php | 103 -
.../expression-language/Node/ArgumentsNode.php | 40 -
.../symfony/expression-language/Node/ArrayNode.php | 118 -
.../expression-language/Node/BinaryNode.php | 170 -
.../expression-language/Node/ConditionalNode.php | 56 -
.../expression-language/Node/ConstantNode.php | 81 -
.../expression-language/Node/FunctionNode.php | 67 -
.../expression-language/Node/GetAttrNode.php | 114 -
.../symfony/expression-language/Node/NameNode.php | 45 -
.../symfony/expression-language/Node/Node.php | 113 -
.../symfony/expression-language/Node/UnaryNode.php | 66 -
.../expression-language/ParsedExpression.php | 36 -
.../vendor/symfony/expression-language/Parser.php | 379 -
.../vendor/symfony/expression-language/README.md | 15 -
.../SerializedParsedExpression.php | 37 -
.../symfony/expression-language/SyntaxError.php | 41 -
.../vendor/symfony/expression-language/Token.php | 66 -
.../symfony/expression-language/TokenStream.php | 91 -
.../symfony/expression-language/composer.json | 35 -
.../vendor/symfony/filesystem/CHANGELOG.md | 70 -
.../filesystem/Exception/ExceptionInterface.php | 21 -
.../filesystem/Exception/FileNotFoundException.php | 34 -
.../symfony/filesystem/Exception/IOException.php | 39 -
.../filesystem/Exception/IOExceptionInterface.php | 27 -
.../Exception/InvalidArgumentException.php | 19 -
.../vendor/symfony/filesystem/Filesystem.php | 769 -
srcs/phpmyadmin/vendor/symfony/filesystem/LICENSE | 19 -
.../phpmyadmin/vendor/symfony/filesystem/README.md | 13 -
.../vendor/symfony/filesystem/composer.json | 34 -
.../vendor/symfony/polyfill-ctype/Ctype.php | 227 -
.../vendor/symfony/polyfill-ctype/LICENSE | 19 -
.../vendor/symfony/polyfill-ctype/README.md | 12 -
.../vendor/symfony/polyfill-ctype/bootstrap.php | 26 -
.../vendor/symfony/polyfill-ctype/composer.json | 34 -
.../vendor/symfony/polyfill-mbstring/LICENSE | 19 -
.../vendor/symfony/polyfill-mbstring/Mbstring.php | 840 -
.../vendor/symfony/polyfill-mbstring/README.md | 13 -
.../Resources/unidata/lowerCase.php | 1096 -
.../Resources/unidata/titleCaseRegexp.php | 5 -
.../Resources/unidata/upperCase.php | 1104 -
.../vendor/symfony/polyfill-mbstring/bootstrap.php | 62 -
.../vendor/symfony/polyfill-mbstring/composer.json | 34 -
.../vendor/symfony/polyfill-php56/LICENSE | 19 -
.../vendor/symfony/polyfill-php56/Php56.php | 138 -
.../vendor/symfony/polyfill-php56/README.md | 15 -
.../vendor/symfony/polyfill-php56/bootstrap.php | 38 -
.../vendor/symfony/polyfill-php56/composer.json | 32 -
.../vendor/symfony/polyfill-util/Binary.php | 22 -
.../symfony/polyfill-util/BinaryNoFuncOverload.php | 65 -
.../symfony/polyfill-util/BinaryOnFuncOverload.php | 67 -
.../vendor/symfony/polyfill-util/LICENSE | 19 -
.../vendor/symfony/polyfill-util/README.md | 13 -
.../vendor/symfony/polyfill-util/TestListener.php | 28 -
.../symfony/polyfill-util/TestListenerForV5.php | 89 -
.../symfony/polyfill-util/TestListenerForV6.php | 95 -
.../symfony/polyfill-util/TestListenerForV7.php | 96 -
.../symfony/polyfill-util/TestListenerTrait.php | 125 -
.../vendor/symfony/polyfill-util/composer.json | 30 -
.../vendor/symfony/service-contracts/LICENSE | 19 -
.../vendor/symfony/service-contracts/README.md | 9 -
.../symfony/service-contracts/ResetInterface.php | 30 -
.../service-contracts/ServiceLocatorTrait.php | 122 -
.../service-contracts/ServiceProviderInterface.php | 36 -
.../ServiceSubscriberInterface.php | 53 -
.../service-contracts/ServiceSubscriberTrait.php | 63 -
.../service-contracts/Test/ServiceLocatorTest.php | 92 -
.../vendor/symfony/service-contracts/composer.json | 34 -
.../vendor/symfony/var-exporter/CHANGELOG.md | 7 -
.../Exception/ClassNotFoundException.php | 20 -
.../var-exporter/Exception/ExceptionInterface.php | 16 -
.../Exception/NotInstantiableTypeException.php | 20 -
.../vendor/symfony/var-exporter/Instantiator.php | 94 -
.../symfony/var-exporter/Internal/Exporter.php | 407 -
.../symfony/var-exporter/Internal/Hydrator.php | 151 -
.../symfony/var-exporter/Internal/Reference.php | 30 -
.../symfony/var-exporter/Internal/Registry.php | 136 -
.../symfony/var-exporter/Internal/Values.php | 27 -
.../phpmyadmin/vendor/symfony/var-exporter/LICENSE | 19 -
.../vendor/symfony/var-exporter/README.md | 38 -
.../vendor/symfony/var-exporter/VarExporter.php | 114 -
.../vendor/symfony/var-exporter/composer.json | 36 -
srcs/phpmyadmin/vendor/symfony/yaml/CHANGELOG.md | 196 -
.../vendor/symfony/yaml/Command/LintCommand.php | 255 -
srcs/phpmyadmin/vendor/symfony/yaml/Dumper.php | 125 -
srcs/phpmyadmin/vendor/symfony/yaml/Escaper.php | 101 -
.../symfony/yaml/Exception/DumpException.php | 21 -
.../symfony/yaml/Exception/ExceptionInterface.php | 21 -
.../symfony/yaml/Exception/ParseException.php | 139 -
.../symfony/yaml/Exception/RuntimeException.php | 21 -
srcs/phpmyadmin/vendor/symfony/yaml/Inline.php | 753 -
srcs/phpmyadmin/vendor/symfony/yaml/LICENSE | 19 -
srcs/phpmyadmin/vendor/symfony/yaml/Parser.php | 1245 -
srcs/phpmyadmin/vendor/symfony/yaml/README.md | 13 -
.../vendor/symfony/yaml/Tag/TaggedValue.php | 38 -
srcs/phpmyadmin/vendor/symfony/yaml/Unescaper.php | 138 -
srcs/phpmyadmin/vendor/symfony/yaml/Yaml.php | 102 -
srcs/phpmyadmin/vendor/symfony/yaml/composer.json | 43 -
.../vendor/tecnickcom/tcpdf/CHANGELOG.TXT | 2961 --
.../phpmyadmin/vendor/tecnickcom/tcpdf/LICENSE.TXT | 860 -
srcs/phpmyadmin/vendor/tecnickcom/tcpdf/README.md | 84 -
srcs/phpmyadmin/vendor/tecnickcom/tcpdf/VERSION | 1 -
.../vendor/tecnickcom/tcpdf/composer.json | 47 -
.../tecnickcom/tcpdf/config/tcpdf_config.php | 227 -
.../tcpdf/fonts/dejavu-fonts-ttf-2.34/AUTHORS | 54 -
.../tcpdf/fonts/dejavu-fonts-ttf-2.34/BUGS | 3 -
.../tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE | 99 -
.../tcpdf/fonts/dejavu-fonts-ttf-2.34/NEWS | 1373 -
.../tcpdf/fonts/dejavu-fonts-ttf-2.34/README | 59 -
.../fonts/dejavu-fonts-ttf-2.34/langcover.txt | 249 -
.../tcpdf/fonts/dejavu-fonts-ttf-2.34/status.txt | 6766 ----
.../tcpdf/fonts/dejavu-fonts-ttf-2.34/unicover.txt | 226 -
.../vendor/tecnickcom/tcpdf/fonts/dejavusans.ctg.z | Bin 10454 -> 0 bytes
.../vendor/tecnickcom/tcpdf/fonts/dejavusans.php | 16 -
.../vendor/tecnickcom/tcpdf/fonts/dejavusans.z | Bin 375806 -> 0 bytes
.../tecnickcom/tcpdf/fonts/dejavusansb.ctg.z | Bin 10200 -> 0 bytes
.../vendor/tecnickcom/tcpdf/fonts/dejavusansb.php | 16 -
.../vendor/tecnickcom/tcpdf/fonts/dejavusansb.z | Bin 347269 -> 0 bytes
.../vendor/tecnickcom/tcpdf/fonts/helvetica.php | 13 -
.../tcpdf/include/barcodes/datamatrix.php | 1176 -
.../tecnickcom/tcpdf/include/barcodes/pdf417.php | 996 -
.../tecnickcom/tcpdf/include/barcodes/qrcode.php | 2867 --
.../tecnickcom/tcpdf/include/tcpdf_colors.php | 462 -
.../tecnickcom/tcpdf/include/tcpdf_filters.php | 481 -
.../tecnickcom/tcpdf/include/tcpdf_font_data.php | 18447 ---------
.../tecnickcom/tcpdf/include/tcpdf_fonts.php | 2654 --
.../tecnickcom/tcpdf/include/tcpdf_images.php | 360 -
.../tecnickcom/tcpdf/include/tcpdf_static.php | 2616 --
srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf.php | 24569 ------------
.../vendor/tecnickcom/tcpdf/tcpdf_autoconfig.php | 241 -
.../vendor/tecnickcom/tcpdf/tcpdf_barcodes_1d.php | 2357 --
.../vendor/tecnickcom/tcpdf/tcpdf_barcodes_2d.php | 349 -
.../vendor/tecnickcom/tcpdf/tcpdf_import.php | 104 -
.../vendor/tecnickcom/tcpdf/tcpdf_parser.php | 815 -
srcs/phpmyadmin/vendor/twig/extensions/.travis.yml | 34 -
srcs/phpmyadmin/vendor/twig/extensions/LICENSE | 19 -
srcs/phpmyadmin/vendor/twig/extensions/README.rst | 14 -
.../vendor/twig/extensions/composer.json | 32 -
.../extensions/lib/Twig/Extensions/Autoloader.php | 48 -
.../lib/Twig/Extensions/Extension/Array.php | 56 -
.../lib/Twig/Extensions/Extension/Date.php | 107 -
.../lib/Twig/Extensions/Extension/I18n.php | 41 -
.../lib/Twig/Extensions/Extension/Intl.php | 146 -
.../lib/Twig/Extensions/Extension/Text.php | 99 -
.../extensions/lib/Twig/Extensions/Grammar.php | 43 -
.../lib/Twig/Extensions/Grammar/Arguments.php | 26 -
.../lib/Twig/Extensions/Grammar/Array.php | 26 -
.../lib/Twig/Extensions/Grammar/Body.php | 43 -
.../lib/Twig/Extensions/Grammar/Boolean.php | 28 -
.../lib/Twig/Extensions/Grammar/Constant.php | 41 -
.../lib/Twig/Extensions/Grammar/Expression.php | 26 -
.../lib/Twig/Extensions/Grammar/Hash.php | 26 -
.../lib/Twig/Extensions/Grammar/Number.php | 28 -
.../lib/Twig/Extensions/Grammar/Optional.php | 73 -
.../lib/Twig/Extensions/Grammar/Switch.php | 28 -
.../extensions/lib/Twig/Extensions/Grammar/Tag.php | 60 -
.../lib/Twig/Extensions/GrammarInterface.php | 22 -
.../extensions/lib/Twig/Extensions/Node/Trans.php | 166 -
.../lib/Twig/Extensions/SimpleTokenParser.php | 138 -
.../lib/Twig/Extensions/TokenParser/Trans.php | 88 -
.../vendor/twig/extensions/phpunit.xml.dist | 25 -
.../vendor/twig/extensions/src/ArrayExtension.php | 11 -
.../vendor/twig/extensions/src/DateExtension.php | 11 -
.../vendor/twig/extensions/src/I18nExtension.php | 11 -
.../vendor/twig/extensions/src/IntlExtension.php | 11 -
.../vendor/twig/extensions/src/Node/TransNode.php | 11 -
.../vendor/twig/extensions/src/TextExtension.php | 11 -
.../src/TokenParser/TransTokenParser.php | 11 -
srcs/phpmyadmin/vendor/twig/twig/.editorconfig | 18 -
srcs/phpmyadmin/vendor/twig/twig/.php_cs.dist | 20 -
srcs/phpmyadmin/vendor/twig/twig/.travis.yml | 45 -
srcs/phpmyadmin/vendor/twig/twig/CHANGELOG | 1431 -
srcs/phpmyadmin/vendor/twig/twig/LICENSE | 31 -
srcs/phpmyadmin/vendor/twig/twig/README.rst | 24 -
srcs/phpmyadmin/vendor/twig/twig/composer.json | 52 -
srcs/phpmyadmin/vendor/twig/twig/drupal_test.sh | 51 -
.../vendor/twig/twig/lib/Twig/BaseNodeVisitor.php | 14 -
.../vendor/twig/twig/lib/Twig/Cache/Filesystem.php | 14 -
.../vendor/twig/twig/lib/Twig/Cache/Null.php | 14 -
.../vendor/twig/twig/lib/Twig/CacheInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/Compiler.php | 14 -
.../twig/twig/lib/Twig/ContainerRuntimeLoader.php | 14 -
.../vendor/twig/twig/lib/Twig/Environment.php | 14 -
.../phpmyadmin/vendor/twig/twig/lib/Twig/Error.php | 14 -
.../vendor/twig/twig/lib/Twig/Error/Loader.php | 14 -
.../vendor/twig/twig/lib/Twig/Error/Runtime.php | 14 -
.../vendor/twig/twig/lib/Twig/Error/Syntax.php | 14 -
.../twig/twig/lib/Twig/ExistsLoaderInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/ExpressionParser.php | 14 -
.../vendor/twig/twig/lib/Twig/Extension.php | 14 -
.../vendor/twig/twig/lib/Twig/Extension/Core.php | 14 -
.../vendor/twig/twig/lib/Twig/Extension/Debug.php | 14 -
.../twig/twig/lib/Twig/Extension/Escaper.php | 14 -
.../twig/lib/Twig/Extension/GlobalsInterface.php | 14 -
.../lib/Twig/Extension/InitRuntimeInterface.php | 14 -
.../twig/twig/lib/Twig/Extension/Optimizer.php | 14 -
.../twig/twig/lib/Twig/Extension/Profiler.php | 14 -
.../twig/twig/lib/Twig/Extension/Sandbox.php | 14 -
.../twig/twig/lib/Twig/Extension/Staging.php | 14 -
.../twig/twig/lib/Twig/Extension/StringLoader.php | 14 -
.../twig/twig/lib/Twig/ExtensionInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/ExtensionSet.php | 14 -
.../twig/twig/lib/Twig/FactoryRuntimeLoader.php | 14 -
.../lib/Twig/FileExtensionEscapingStrategy.php | 14 -
.../vendor/twig/twig/lib/Twig/Filter.php | 14 -
.../vendor/twig/twig/lib/Twig/Function.php | 14 -
.../phpmyadmin/vendor/twig/twig/lib/Twig/Lexer.php | 14 -
.../vendor/twig/twig/lib/Twig/Loader/Array.php | 14 -
.../vendor/twig/twig/lib/Twig/Loader/Chain.php | 14 -
.../twig/twig/lib/Twig/Loader/Filesystem.php | 14 -
.../vendor/twig/twig/lib/Twig/LoaderInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/Markup.php | 14 -
srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/AutoEscape.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Block.php | 14 -
.../twig/twig/lib/Twig/Node/BlockReference.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Body.php | 14 -
.../twig/twig/lib/Twig/Node/CheckSecurity.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Deprecated.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Do.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Embed.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Expression.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/Array.php | 14 -
.../twig/lib/Twig/Node/Expression/AssignName.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/Binary.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Add.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/And.php | 14 -
.../lib/Twig/Node/Expression/Binary/BitwiseAnd.php | 14 -
.../lib/Twig/Node/Expression/Binary/BitwiseOr.php | 14 -
.../lib/Twig/Node/Expression/Binary/BitwiseXor.php | 14 -
.../lib/Twig/Node/Expression/Binary/Concat.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Div.php | 14 -
.../lib/Twig/Node/Expression/Binary/EndsWith.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Equal.php | 14 -
.../lib/Twig/Node/Expression/Binary/FloorDiv.php | 14 -
.../lib/Twig/Node/Expression/Binary/Greater.php | 14 -
.../Twig/Node/Expression/Binary/GreaterEqual.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/In.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Less.php | 14 -
.../lib/Twig/Node/Expression/Binary/LessEqual.php | 14 -
.../lib/Twig/Node/Expression/Binary/Matches.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Mod.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Mul.php | 14 -
.../lib/Twig/Node/Expression/Binary/NotEqual.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/NotIn.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Or.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Power.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Range.php | 14 -
.../lib/Twig/Node/Expression/Binary/StartsWith.php | 14 -
.../twig/lib/Twig/Node/Expression/Binary/Sub.php | 14 -
.../lib/Twig/Node/Expression/BlockReference.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/Call.php | 14 -
.../twig/lib/Twig/Node/Expression/Conditional.php | 14 -
.../twig/lib/Twig/Node/Expression/Constant.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/Filter.php | 14 -
.../lib/Twig/Node/Expression/Filter/Default.php | 14 -
.../twig/lib/Twig/Node/Expression/Function.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/GetAttr.php | 14 -
.../twig/lib/Twig/Node/Expression/MethodCall.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/Name.php | 14 -
.../twig/lib/Twig/Node/Expression/NullCoalesce.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/Parent.php | 14 -
.../twig/lib/Twig/Node/Expression/TempName.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/Test.php | 14 -
.../lib/Twig/Node/Expression/Test/Constant.php | 14 -
.../twig/lib/Twig/Node/Expression/Test/Defined.php | 14 -
.../lib/Twig/Node/Expression/Test/Divisibleby.php | 14 -
.../twig/lib/Twig/Node/Expression/Test/Even.php | 14 -
.../twig/lib/Twig/Node/Expression/Test/Null.php | 14 -
.../twig/lib/Twig/Node/Expression/Test/Odd.php | 14 -
.../twig/lib/Twig/Node/Expression/Test/Sameas.php | 14 -
.../twig/twig/lib/Twig/Node/Expression/Unary.php | 14 -
.../twig/lib/Twig/Node/Expression/Unary/Neg.php | 14 -
.../twig/lib/Twig/Node/Expression/Unary/Not.php | 14 -
.../twig/lib/Twig/Node/Expression/Unary/Pos.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Flush.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/For.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/ForLoop.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/If.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Import.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Include.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Macro.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Module.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Print.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Sandbox.php | 14 -
.../twig/twig/lib/Twig/Node/SandboxedPrint.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Set.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Spaceless.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/Text.php | 14 -
.../vendor/twig/twig/lib/Twig/Node/With.php | 14 -
.../twig/twig/lib/Twig/NodeCaptureInterface.php | 14 -
.../twig/twig/lib/Twig/NodeOutputInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/NodeTraverser.php | 14 -
.../twig/twig/lib/Twig/NodeVisitor/Escaper.php | 14 -
.../twig/twig/lib/Twig/NodeVisitor/Optimizer.php | 14 -
.../twig/lib/Twig/NodeVisitor/SafeAnalysis.php | 14 -
.../twig/twig/lib/Twig/NodeVisitor/Sandbox.php | 14 -
.../twig/twig/lib/Twig/NodeVisitorInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/Parser.php | 14 -
.../twig/twig/lib/Twig/Profiler/Dumper/Base.php | 14 -
.../twig/lib/Twig/Profiler/Dumper/Blackfire.php | 14 -
.../twig/twig/lib/Twig/Profiler/Dumper/Html.php | 14 -
.../twig/twig/lib/Twig/Profiler/Dumper/Text.php | 14 -
.../twig/lib/Twig/Profiler/Node/EnterProfile.php | 14 -
.../twig/lib/Twig/Profiler/Node/LeaveProfile.php | 14 -
.../lib/Twig/Profiler/NodeVisitor/Profiler.php | 14 -
.../vendor/twig/twig/lib/Twig/Profiler/Profile.php | 14 -
.../twig/twig/lib/Twig/RuntimeLoaderInterface.php | 14 -
.../twig/twig/lib/Twig/Sandbox/SecurityError.php | 14 -
.../Twig/Sandbox/SecurityNotAllowedFilterError.php | 14 -
.../Sandbox/SecurityNotAllowedFunctionError.php | 14 -
.../Twig/Sandbox/SecurityNotAllowedMethodError.php | 14 -
.../Sandbox/SecurityNotAllowedPropertyError.php | 14 -
.../Twig/Sandbox/SecurityNotAllowedTagError.php | 14 -
.../twig/twig/lib/Twig/Sandbox/SecurityPolicy.php | 14 -
.../lib/Twig/Sandbox/SecurityPolicyInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/SimpleFilter.php | 26 -
.../vendor/twig/twig/lib/Twig/SimpleFunction.php | 26 -
.../vendor/twig/twig/lib/Twig/SimpleTest.php | 26 -
.../vendor/twig/twig/lib/Twig/Source.php | 14 -
.../twig/lib/Twig/SourceContextLoaderInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/Template.php | 14 -
.../vendor/twig/twig/lib/Twig/TemplateWrapper.php | 14 -
srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Test.php | 14 -
.../twig/lib/Twig/Test/IntegrationTestCase.php | 14 -
.../twig/twig/lib/Twig/Test/NodeTestCase.php | 14 -
.../phpmyadmin/vendor/twig/twig/lib/Twig/Token.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenParser.php | 14 -
.../twig/twig/lib/Twig/TokenParser/AutoEscape.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Block.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Deprecated.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenParser/Do.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Embed.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Extends.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Filter.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Flush.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenParser/For.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenParser/From.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenParser/If.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Import.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Include.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Macro.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Sandbox.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenParser/Set.php | 14 -
.../twig/twig/lib/Twig/TokenParser/Spaceless.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenParser/Use.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenParser/With.php | 14 -
.../twig/twig/lib/Twig/TokenParserInterface.php | 14 -
.../vendor/twig/twig/lib/Twig/TokenStream.php | 14 -
.../twig/lib/Twig/Util/DeprecationCollector.php | 14 -
.../twig/lib/Twig/Util/TemplateDirIterator.php | 14 -
.../vendor/twig/twig/src/Cache/CacheInterface.php | 60 -
.../vendor/twig/twig/src/Cache/FilesystemCache.php | 93 -
.../vendor/twig/twig/src/Cache/NullCache.php | 40 -
srcs/phpmyadmin/vendor/twig/twig/src/Compiler.php | 245 -
.../vendor/twig/twig/src/Environment.php | 995 -
.../vendor/twig/twig/src/Error/Error.php | 257 -
.../vendor/twig/twig/src/Error/LoaderError.php | 23 -
.../vendor/twig/twig/src/Error/RuntimeError.php | 24 -
.../vendor/twig/twig/src/Error/SyntaxError.php | 48 -
.../vendor/twig/twig/src/ExpressionParser.php | 814 -
.../twig/twig/src/Extension/AbstractExtension.php | 47 -
.../twig/twig/src/Extension/CoreExtension.php | 1562 -
.../twig/twig/src/Extension/DebugExtension.php | 66 -
.../twig/twig/src/Extension/EscaperExtension.php | 427 -
.../twig/twig/src/Extension/ExtensionInterface.php | 73 -
.../twig/twig/src/Extension/GlobalsInterface.php | 32 -
.../twig/src/Extension/InitRuntimeInterface.php | 36 -
.../twig/twig/src/Extension/OptimizerExtension.php | 31 -
.../twig/twig/src/Extension/ProfilerExtension.php | 48 -
.../src/Extension/RuntimeExtensionInterface.php | 19 -
.../twig/twig/src/Extension/SandboxExtension.php | 125 -
.../twig/twig/src/Extension/StagingExtension.php | 102 -
.../twig/src/Extension/StringLoaderExtension.php | 46 -
.../vendor/twig/twig/src/ExtensionSet.php | 477 -
.../twig/src/FileExtensionEscapingStrategy.php | 62 -
srcs/phpmyadmin/vendor/twig/twig/src/Lexer.php | 501 -
.../vendor/twig/twig/src/Loader/ArrayLoader.php | 86 -
.../vendor/twig/twig/src/Loader/ChainLoader.php | 120 -
.../twig/twig/src/Loader/ExistsLoaderInterface.php | 23 -
.../twig/twig/src/Loader/FilesystemLoader.php | 308 -
.../twig/twig/src/Loader/LoaderInterface.php | 69 -
.../src/Loader/SourceContextLoaderInterface.php | 21 -
srcs/phpmyadmin/vendor/twig/twig/src/Markup.php | 46 -
.../vendor/twig/twig/src/Node/AutoEscapeNode.php | 40 -
.../vendor/twig/twig/src/Node/BlockNode.php | 46 -
.../twig/twig/src/Node/BlockReferenceNode.php | 38 -
.../vendor/twig/twig/src/Node/BodyNode.php | 23 -
.../twig/twig/src/Node/CheckSecurityNode.php | 85 -
.../twig/twig/src/Node/CheckToStringNode.php | 45 -
.../vendor/twig/twig/src/Node/DeprecatedNode.php | 55 -
.../vendor/twig/twig/src/Node/DoNode.php | 40 -
.../vendor/twig/twig/src/Node/EmbedNode.php | 50 -
.../src/Node/Expression/AbstractExpression.php | 26 -
.../twig/src/Node/Expression/ArrayExpression.php | 88 -
.../Node/Expression/ArrowFunctionExpression.php | 64 -
.../src/Node/Expression/AssignNameExpression.php | 29 -
.../src/Node/Expression/Binary/AbstractBinary.php | 44 -
.../twig/src/Node/Expression/Binary/AddBinary.php | 25 -
.../twig/src/Node/Expression/Binary/AndBinary.php | 25 -
.../Node/Expression/Binary/BitwiseAndBinary.php | 25 -
.../src/Node/Expression/Binary/BitwiseOrBinary.php | 25 -
.../Node/Expression/Binary/BitwiseXorBinary.php | 25 -
.../src/Node/Expression/Binary/ConcatBinary.php | 25 -
.../twig/src/Node/Expression/Binary/DivBinary.php | 25 -
.../src/Node/Expression/Binary/EndsWithBinary.php | 37 -
.../src/Node/Expression/Binary/EqualBinary.php | 24 -
.../src/Node/Expression/Binary/FloorDivBinary.php | 31 -
.../src/Node/Expression/Binary/GreaterBinary.php | 24 -
.../Node/Expression/Binary/GreaterEqualBinary.php | 24 -
.../twig/src/Node/Expression/Binary/InBinary.php | 35 -
.../twig/src/Node/Expression/Binary/LessBinary.php | 24 -
.../src/Node/Expression/Binary/LessEqualBinary.php | 24 -
.../src/Node/Expression/Binary/MatchesBinary.php | 35 -
.../twig/src/Node/Expression/Binary/ModBinary.php | 25 -
.../twig/src/Node/Expression/Binary/MulBinary.php | 25 -
.../src/Node/Expression/Binary/NotEqualBinary.php | 24 -
.../src/Node/Expression/Binary/NotInBinary.php | 35 -
.../twig/src/Node/Expression/Binary/OrBinary.php | 25 -
.../src/Node/Expression/Binary/PowerBinary.php | 24 -
.../src/Node/Expression/Binary/RangeBinary.php | 35 -
.../src/Node/Expression/Binary/SpaceshipBinary.php | 22 -
.../Node/Expression/Binary/StartsWithBinary.php | 37 -
.../twig/src/Node/Expression/Binary/SubBinary.php | 25 -
.../Node/Expression/BlockReferenceExpression.php | 88 -
.../twig/src/Node/Expression/CallExpression.php | 313 -
.../src/Node/Expression/ConditionalExpression.php | 38 -
.../src/Node/Expression/ConstantExpression.php | 30 -
.../src/Node/Expression/Filter/DefaultFilter.php | 54 -
.../twig/src/Node/Expression/FilterExpression.php | 42 -
.../src/Node/Expression/FunctionExpression.php | 45 -
.../twig/src/Node/Expression/GetAttrExpression.php | 89 -
.../twig/twig/src/Node/Expression/InlinePrint.php | 35 -
.../src/Node/Expression/MethodCallExpression.php | 64 -
.../twig/src/Node/Expression/NameExpression.php | 99 -
.../src/Node/Expression/NullCoalesceExpression.php | 62 -
.../twig/src/Node/Expression/ParentExpression.php | 48 -
.../src/Node/Expression/TempNameExpression.php | 33 -
.../twig/src/Node/Expression/Test/ConstantTest.php | 51 -
.../twig/src/Node/Expression/Test/DefinedTest.php | 76 -
.../src/Node/Expression/Test/DivisiblebyTest.php | 38 -
.../twig/src/Node/Expression/Test/EvenTest.php | 37 -
.../twig/src/Node/Expression/Test/NullTest.php | 36 -
.../twig/twig/src/Node/Expression/Test/OddTest.php | 37 -
.../twig/src/Node/Expression/Test/SameasTest.php | 36 -
.../twig/src/Node/Expression/TestExpression.php | 44 -
.../src/Node/Expression/Unary/AbstractUnary.php | 36 -
.../twig/src/Node/Expression/Unary/NegUnary.php | 25 -
.../twig/src/Node/Expression/Unary/NotUnary.php | 25 -
.../twig/src/Node/Expression/Unary/PosUnary.php | 25 -
.../src/Node/Expression/VariadicExpression.php | 24 -
.../vendor/twig/twig/src/Node/FlushNode.php | 37 -
.../vendor/twig/twig/src/Node/ForLoopNode.php | 56 -
.../vendor/twig/twig/src/Node/ForNode.php | 119 -
.../vendor/twig/twig/src/Node/IfNode.php | 72 -
.../vendor/twig/twig/src/Node/ImportNode.php | 65 -
.../vendor/twig/twig/src/Node/IncludeNode.php | 108 -
.../vendor/twig/twig/src/Node/MacroNode.php | 115 -
.../vendor/twig/twig/src/Node/ModuleNode.php | 472 -
srcs/phpmyadmin/vendor/twig/twig/src/Node/Node.php | 211 -
.../twig/twig/src/Node/NodeCaptureInterface.php | 23 -
.../twig/twig/src/Node/NodeOutputInterface.php | 23 -
.../vendor/twig/twig/src/Node/PrintNode.php | 41 -
.../vendor/twig/twig/src/Node/SandboxNode.php | 47 -
.../twig/twig/src/Node/SandboxedPrintNode.php | 54 -
.../vendor/twig/twig/src/Node/SetNode.php | 107 -
.../vendor/twig/twig/src/Node/SpacelessNode.php | 49 -
.../vendor/twig/twig/src/Node/TextNode.php | 40 -
.../vendor/twig/twig/src/Node/WithNode.php | 72 -
.../vendor/twig/twig/src/NodeTraverser.php | 85 -
.../twig/src/NodeVisitor/AbstractNodeVisitor.php | 51 -
.../twig/src/NodeVisitor/EscaperNodeVisitor.php | 208 -
.../src/NodeVisitor/MacroAutoImportNodeVisitor.php | 72 -
.../twig/src/NodeVisitor/NodeVisitorInterface.php | 51 -
.../twig/src/NodeVisitor/OptimizerNodeVisitor.php | 219 -
.../src/NodeVisitor/SafeAnalysisNodeVisitor.php | 160 -
.../twig/src/NodeVisitor/SandboxNodeVisitor.php | 135 -
srcs/phpmyadmin/vendor/twig/twig/src/Parser.php | 394 -
.../twig/twig/src/Profiler/Dumper/BaseDumper.php | 65 -
.../twig/src/Profiler/Dumper/BlackfireDumper.php | 74 -
.../twig/twig/src/Profiler/Dumper/HtmlDumper.php | 49 -
.../twig/twig/src/Profiler/Dumper/TextDumper.php | 37 -
.../twig/src/Profiler/Node/EnterProfileNode.php | 44 -
.../twig/src/Profiler/Node/LeaveProfileNode.php | 38 -
.../Profiler/NodeVisitor/ProfilerNodeVisitor.php | 78 -
.../vendor/twig/twig/src/Profiler/Profile.php | 192 -
.../src/RuntimeLoader/ContainerRuntimeLoader.php | 41 -
.../src/RuntimeLoader/FactoryRuntimeLoader.php | 41 -
.../src/RuntimeLoader/RuntimeLoaderInterface.php | 31 -
.../vendor/twig/twig/src/Sandbox/SecurityError.php | 25 -
.../src/Sandbox/SecurityNotAllowedFilterError.php | 46 -
.../Sandbox/SecurityNotAllowedFunctionError.php | 46 -
.../src/Sandbox/SecurityNotAllowedMethodError.php | 53 -
.../Sandbox/SecurityNotAllowedPropertyError.php | 53 -
.../src/Sandbox/SecurityNotAllowedTagError.php | 46 -
.../twig/twig/src/Sandbox/SecurityPolicy.php | 128 -
.../twig/src/Sandbox/SecurityPolicyInterface.php | 37 -
srcs/phpmyadmin/vendor/twig/twig/src/Source.php | 53 -
srcs/phpmyadmin/vendor/twig/twig/src/Template.php | 437 -
.../vendor/twig/twig/src/TemplateWrapper.php | 145 -
.../twig/twig/src/Test/IntegrationTestCase.php | 267 -
.../vendor/twig/twig/src/Test/NodeTestCase.php | 67 -
srcs/phpmyadmin/vendor/twig/twig/src/Token.php | 213 -
.../twig/src/TokenParser/AbstractTokenParser.php | 34 -
.../twig/twig/src/TokenParser/ApplyTokenParser.php | 58 -
.../twig/src/TokenParser/AutoEscapeTokenParser.php | 57 -
.../twig/twig/src/TokenParser/BlockTokenParser.php | 78 -
.../twig/src/TokenParser/DeprecatedTokenParser.php | 44 -
.../twig/twig/src/TokenParser/DoTokenParser.php | 37 -
.../twig/twig/src/TokenParser/EmbedTokenParser.php | 72 -
.../twig/src/TokenParser/ExtendsTokenParser.php | 52 -
.../twig/src/TokenParser/FilterTokenParser.php | 64 -
.../twig/twig/src/TokenParser/FlushTokenParser.php | 37 -
.../twig/twig/src/TokenParser/ForTokenParser.php | 137 -
.../twig/twig/src/TokenParser/FromTokenParser.php | 65 -
.../twig/twig/src/TokenParser/IfTokenParser.php | 89 -
.../twig/src/TokenParser/ImportTokenParser.php | 43 -
.../twig/src/TokenParser/IncludeTokenParser.php | 68 -
.../twig/twig/src/TokenParser/MacroTokenParser.php | 66 -
.../twig/src/TokenParser/SandboxTokenParser.php | 65 -
.../twig/twig/src/TokenParser/SetTokenParser.php | 72 -
.../twig/src/TokenParser/SpacelessTokenParser.php | 56 -
.../twig/src/TokenParser/TokenParserInterface.php | 52 -
.../twig/twig/src/TokenParser/UseTokenParser.php | 73 -
.../twig/twig/src/TokenParser/WithTokenParser.php | 55 -
.../vendor/twig/twig/src/TokenStream.php | 134 -
.../phpmyadmin/vendor/twig/twig/src/TwigFilter.php | 150 -
.../vendor/twig/twig/src/TwigFunction.php | 140 -
srcs/phpmyadmin/vendor/twig/twig/src/TwigTest.php | 109 -
.../twig/twig/src/Util/DeprecationCollector.php | 79 -
.../twig/twig/src/Util/TemplateDirIterator.php | 30 -
.../mariadb-mysql-kbs/.dependabot/config.yml | 14 -
.../williamdes/mariadb-mysql-kbs/.editorconfig | 8 -
.../williamdes/mariadb-mysql-kbs/.gitmodules | 3 -
.../williamdes/mariadb-mysql-kbs/.jshintignore | 9 -
.../vendor/williamdes/mariadb-mysql-kbs/.jshintrc | 11 -
.../vendor/williamdes/mariadb-mysql-kbs/.npmignore | 30 -
.../williamdes/mariadb-mysql-kbs/.prettierignore | 8 -
.../williamdes/mariadb-mysql-kbs/.travis.yml | 174 -
.../williamdes/mariadb-mysql-kbs/CHANGELOG.md | 424 -
.../vendor/williamdes/mariadb-mysql-kbs/CODEOWNERS | 5 -
.../vendor/williamdes/mariadb-mysql-kbs/LICENSE | 373 -
.../vendor/williamdes/mariadb-mysql-kbs/README.md | 46 -
.../williamdes/mariadb-mysql-kbs/SECURITY.md | 12 -
.../williamdes/mariadb-mysql-kbs/composer.json | 89 -
.../data/mariadb-aria-server-status-variables.json | 70 -
.../data/mariadb-aria-system-variables.json | 362 -
.../data/mariadb-cassandra-status-variables.json | 78 -
.../data/mariadb-cassandra-system-variables.json | 113 -
.../data/mariadb-connect-system-variables.json | 188 -
.../mariadb-galera-cluster-status-variables.json | 276 -
.../mariadb-galera-cluster-system-variables.json | 626 -
.../data/mariadb-gtid-system-variables.json | 115 -
...iadb-mariadb-audit-plugin-status-variables.json | 27 -
...iadb-mariadb-audit-plugin-system-variables.json | 244 -
.../data/mariadb-mroonga-status-variables.json | 16 -
.../data/mariadb-mroonga-system-variables.json | 256 -
.../data/mariadb-myisam-system-variables.json | 222 -
.../data/mariadb-myrocks-system-variables.json | 1732 -
...ariadb-oqgraph-system-and-status-variables.json | 43 -
...ariadb-performance-schema-system-variables.json | 482 -
...ion-and-binary-log-server-system-variables.json | 988 -
...eplication-and-binary-log-status-variables.json | 328 -
...ronous-replication-plugin-status-variables.json | 81 -
...misynchronous-replication-system-variables.json | 148 -
.../data/mariadb-server-status-variables.json | 3001 --
.../data/mariadb-server-system-variables.json | 3338 --
.../data/mariadb-sphinx-status-variables.json | 60 -
.../mariadb-spider-server-status-variables.json | 42 -
.../mariadb-spider-server-system-variables.json | 1419 -
.../data/mariadb-ssltls-status-variables.json | 215 -
.../data/mariadb-ssltls-system-variables.json | 123 -
...db-thread-pool-system-and-status-variables.json | 191 -
.../data/mariadb-tokudb-status-variables.json | 856 -
.../data/mariadb-tokudb-system-variables.json | 594 -
.../mariadb-versioned-tables-system-variables.json | 43 -
...riadb-xtradbinnodb-server-status-variables.json | 1282 -
...riadb-xtradbinnodb-server-system-variables.json | 3088 --
.../data/mysql-audit-log-reference.json | 244 -
.../data/mysql-innodb-parameters.json | 2133 --
.../mysql-mysql-cluster-options-variables.json | 714 -
.../mysql-performance-schema-system-variables.json | 544 -
...-pluggable-authentication-system-variables.json | 342 -
.../data/mysql-replication-options-binary-log.json | 551 -
.../mysql-replication-options-binary-log_5.7.json | 487 -
.../data/mysql-replication-options-gtids.json | 109 -
.../data/mysql-replication-options-master.json | 137 -
.../data/mysql-replication-options-slave.json | 676 -
.../data/mysql-replication-options.json | 29 -
.../data/mysql-server-options.json | 535 -
.../data/mysql-server-system-variables.json | 3804 --
.../data/mysql-version-tokens-reference.json | 30 -
.../mysql-x-plugin-options-system-variables.json | 302 -
.../mariadb-mysql-kbs/dist/merged-raw.json | 38229 -------------------
.../mariadb-mysql-kbs/dist/merged-raw.md | 32426 ----------------
.../mariadb-mysql-kbs/dist/merged-slim.json | 29711 --------------
.../mariadb-mysql-kbs/dist/merged-ultraslim.json | 1 -
.../mariadb-mysql-kbs/dist/merged-ultraslim.php | 2 -
.../williamdes/mariadb-mysql-kbs/package-lock.json | 3330 --
.../williamdes/mariadb-mysql-kbs/package.json | 83 -
.../vendor/williamdes/mariadb-mysql-kbs/phpcs.xml | 155 -
.../williamdes/mariadb-mysql-kbs/phpstan.neon | 9 -
.../mariadb-mysql-kbs/schemas/doc-url.json | 8 -
.../mariadb-mysql-kbs/schemas/doc-version.json | 15 -
.../schemas/linked-key-var-url.json | 8 -
.../mariadb-mysql-kbs/schemas/linked-key-var.json | 12 -
.../mariadb-mysql-kbs/schemas/merged-raw.json | 112 -
.../mariadb-mysql-kbs/schemas/merged-slim.json | 101 -
.../schemas/merged-ultraslim.json | 63 -
.../mariadb-mysql-kbs/scripts/CHANGELOG.twig | 72 -
.../mariadb-mysql-kbs/scripts/apidoc-generate.sh | 6 -
.../mariadb-mysql-kbs/scripts/ci/changelog.sh | 4 -
.../mariadb-mysql-kbs/scripts/ci/ci-cron.sh | 65 -
.../mariadb-mysql-kbs/scripts/ci/ci-lint.sh | 14 -
.../mariadb-mysql-kbs/scripts/ci/ci-mocha.sh | 5 -
.../mariadb-mysql-kbs/scripts/ci/ci-phpcs.sh | 4 -
.../mariadb-mysql-kbs/scripts/ci/ci-phpcsbf.sh | 4 -
.../mariadb-mysql-kbs/scripts/ci/ci-phpstan.sh | 4 -
.../mariadb-mysql-kbs/scripts/ci/ci-phpunit.sh | 4 -
.../scripts/ci/install-reporters.sh | 27 -
.../mariadb-mysql-kbs/scripts/ci/install.sh | 4 -
.../mariadb-mysql-kbs/scripts/release.php | 165 -
.../mariadb-mysql-kbs/scripts/sami-config.php | 19 -
.../scripts/sudo-bot/.sudobotignore | 3 -
.../scripts/sudo-bot/keys.tar.enc | Bin 30736 -> 0 bytes
.../mariadb-mysql-kbs/scripts/sudo-bot/pubkey.asc | 186 -
.../mariadb-mysql-kbs/scripts/sudo-bot/template.js | 89 -
.../mariadb-mysql-kbs/src/KBDocumentation.php | 75 -
.../williamdes/mariadb-mysql-kbs/src/KBEntry.php | 151 -
.../mariadb-mysql-kbs/src/KBException.php | 12 -
.../williamdes/mariadb-mysql-kbs/src/MariaDB.js | 271 -
.../williamdes/mariadb-mysql-kbs/src/MySQL.js | 251 -
.../williamdes/mariadb-mysql-kbs/src/Search.php | 167 -
.../williamdes/mariadb-mysql-kbs/src/SlimData.php | 162 -
.../williamdes/mariadb-mysql-kbs/src/cleaner.js | 128 -
.../williamdes/mariadb-mysql-kbs/src/common.js | 113 -
.../williamdes/mariadb-mysql-kbs/src/index.js | 13 -
.../williamdes/mariadb-mysql-kbs/src/merge.php | 472 -
.../williamdes/mariadb-mysql-kbs/test/DataTest.php | 74 -
.../mariadb-mysql-kbs/test/RefProvider.php | 50 -
.../mariadb-mysql-kbs/test/SearchTest.php | 178 -
.../mariadb-mysql-kbs/test/SlimDataTest.php | 59 -
.../williamdes/mariadb-mysql-kbs/test/cleaner.js | 193 -
.../test/data/mysql_test_case_1.html | 235 -
.../test/data/mysql_test_case_2.html | 1211 -
.../test/data/mysql_test_case_3.html | 339 -
.../test/data/ultraSlimDataTestWithVariables.json | 51 -
.../williamdes/mariadb-mysql-kbs/test/index.js | 12 -
.../williamdes/mariadb-mysql-kbs/test/parser.js | 129 -
.../williamdes/mariadb-mysql-kbs/test/phpunit.xml | 27 -
.../williamdes/mariadb-mysql-kbs/test/templates.js | 218 -
1427 files changed, 341079 deletions(-)
delete mode 100644 srcs/phpmyadmin/vendor/autoload.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/README.md
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitArray.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitMatrix.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitUtils.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/EcBlock.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/EcBlocks.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/ErrorCorrectionLevel.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/FormatInformation.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/ReedSolomonCodec.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Version.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/BlockPair.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/ByteMatrix.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/Encoder.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/MaskUtil.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/MatrixUtil.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/QrCode.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/ExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/InvalidArgumentException.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/OutOfBoundsException.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/RuntimeException.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/UnexpectedValueException.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/WriterException.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Alpha.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Cmyk.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/ColorInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Gray.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Rgb.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/CompositeEye.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/EyeInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/ModuleEye.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SimpleCircleEye.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SquareEye.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/EpsImageBackEnd.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/ImageBackEndInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/ImagickImageBackEnd.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/SvgImageBackEnd.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/TransformationMatrix.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/ImageRenderer.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/DotsModule.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/Edge.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/EdgeIterator.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/ModuleInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/RoundnessModule.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/SquareModule.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Close.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Curve.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/EllipticArc.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Line.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Move.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/OperationInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Path.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/PlainTextRenderer.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/EyeFill.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Fill.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Gradient.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/GradientType.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/RendererStyle.php
delete mode 100644 srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Writer.php
delete mode 120000 srcs/phpmyadmin/vendor/bin/highlight-query
delete mode 120000 srcs/phpmyadmin/vendor/bin/lint-query
delete mode 120000 srcs/phpmyadmin/vendor/bin/tokenize-query
delete mode 100644 srcs/phpmyadmin/vendor/composer/ClassLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/composer/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/composer/autoload_classmap.php
delete mode 100644 srcs/phpmyadmin/vendor/composer/autoload_files.php
delete mode 100644 srcs/phpmyadmin/vendor/composer/autoload_namespaces.php
delete mode 100644 srcs/phpmyadmin/vendor/composer/autoload_psr4.php
delete mode 100644 srcs/phpmyadmin/vendor/composer/autoload_real.php
delete mode 100644 srcs/phpmyadmin/vendor/composer/autoload_static.php
delete mode 100644 srcs/phpmyadmin/vendor/composer/installed.json
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/.coveralls.yml
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/.travis.yml
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/README.md
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/phpcs.xml
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/phpunit.xml.dist
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/AbstractEnum.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/EnumMap.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/CloneNotSupportedException.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/ExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/ExpectationException.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/IllegalArgumentException.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/MismatchException.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/SerializeNotSupportedException.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/UnserializeNotSupportedException.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/src/NullValue.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/test/AbstractEnumTest.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/test/EnumMapTest.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/test/NullValueTest.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/test/Planet.php
delete mode 100644 srcs/phpmyadmin/vendor/dasprid/enum/test/WeekDay.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/.github/ISSUE_TEMPLATE/bug_report.md
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/.travis.yml
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/ARCHITECTURE.md
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/CONTRIBUTING.md
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/README.md
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/app.yaml
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/phpunit.xml.dist
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/ReCaptcha.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Curl.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/CurlPost.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Socket.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/SocketPost.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestParameters.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/Response.php
delete mode 100644 srcs/phpmyadmin/vendor/google/recaptcha/src/autoload.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/.travis.yml
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/LICENSE.txt
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/README.md
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/phpunit.xml.dist
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/psalm.xml
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base32.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base32Hex.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64DotSlash.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64DotSlashOrdered.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64UrlSafe.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Binary.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/EncoderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Encoding.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Hex.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/RFC4648.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base32Test.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashOrderedTest.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashTest.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64Test.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64UrlSafeTest.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/EncodingTest.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/HexTest.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/RFC4648Test.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/random_compat/LICENSE
delete mode 100755 srcs/phpmyadmin/vendor/paragonie/random_compat/build-phar.sh
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/random_compat/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/random_compat/lib/random.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/random_compat/other/build_phar.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/random_compat/psalm-autoload.php
delete mode 100644 srcs/phpmyadmin/vendor/paragonie/random_compat/psalm.xml
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/.github/stale.yml
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/CHANGES.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/CONTRIBUTING.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/PERFORMANCE.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/README.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/codecov.yml
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/phpunit.xml
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/Loader.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/ReaderException.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/StringReader.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/Translator.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/functions.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/CONTRIBUTING.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/README.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/codecov.yml
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/phpunit.xml
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/ShapeFile.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/ShapeRecord.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/Util.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/.github/stale.yml
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/.weblate
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CODE_OF_CONDUCT.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CONTRIBUTING.md
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/LICENSE.txt
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/README.md
delete mode 100755 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/highlight-query
delete mode 100755 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/lint-query
delete mode 100755 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/tokenize-query
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/codecov.yml
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/af/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ar/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ast/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/az/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/be/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/be@latin/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/br/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/brx/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bs/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ca/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/da/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/de/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/el/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/en_GB/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/eo/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/es/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/et/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fa/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fi/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fr/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fy/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/gl/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/he/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hi/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/id/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/it/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ka/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/kk/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/km/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ko/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/li/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/lt/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/mk/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pl/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pt_BR/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ro/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/si/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sl/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sr@latin/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/te/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/th/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tr/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uk/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ur/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uz@latin/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/vi/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/zh_CN/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/zh_TW/LC_MESSAGES/sqlparser.mo
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpcs.xml.dist
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpstan.neon.dist
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpunit.xml.dist
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Component.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/AlterOperation.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Array2d.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ArrayObj.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/CaseExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Condition.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/DataType.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Expression.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ExpressionArray.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/FunctionCall.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/GroupKeyword.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/IndexHint.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/IntoKeyword.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/JoinKeyword.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Key.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Limit.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/LockExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/OptionsArray.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/OrderKeyword.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ParameterDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/PartitionDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Reference.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/RenameOperation.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/SetOperation.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/UnionKeyword.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Context.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100000.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100100.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100200.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100300.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50000.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50100.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50500.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50600.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50700.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql80000.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Core.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/LexerException.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/LoaderException.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/ParserException.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Lexer.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Parser.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/AlterStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/AnalyzeStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/BackupStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CallStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CheckStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ChecksumStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/DeleteStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/DropStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ExplainStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/InsertStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/LoadStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/LockStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/MaintenanceStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/NotImplementedStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/OptimizeStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/PurgeStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RenameStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RepairStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ReplaceStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RestoreStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/SelectStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/SetStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ShowStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/TransactionStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/TruncateStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/UpdateStatement.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Token.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/TokensList.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Translator.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/UtfString.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/BufferedQuery.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Error.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Misc.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Routine.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Table.php
delete mode 100644 srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Tokens.php
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/AUTHORS
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/BACKERS.md
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/README.md
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/appveyor.yml
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php
delete mode 100644 srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/openssl.cnf
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/.scrutinizer.yml
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/.travis.yml
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/LICENSE.md
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/README.md
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/composer.lock
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/phpunit.xml
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/src/Google2FA.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/.gitkeep
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/Constants.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/Google2FATest.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/bootstrap.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/.scrutinizer.yml
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/.travis.yml
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/LICENSE.md
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/README.md
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/RELICENSED.md
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/composer.lock
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/docs/playground.jpg
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/phpunit.xml
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/Contracts/Google2FA.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/Contracts/IncompatibleWithGoogleAuthenticator.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/Contracts/InvalidCharacters.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/Contracts/SecretKeyTooShort.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/Google2FAException.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/IncompatibleWithGoogleAuthenticatorException.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/InvalidCharactersException.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/SecretKeyTooShortException.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Google2FA.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Base32.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Constants.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/QRCode.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Url.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/tests/.gitkeep
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/tests/Constants.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/tests/Google2FATest.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/tests/bootstrap.php
delete mode 100644 srcs/phpmyadmin/vendor/pragmarx/google2fa/upgrading.md
delete mode 100644 srcs/phpmyadmin/vendor/psr/cache/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/psr/cache/LICENSE.txt
delete mode 100644 srcs/phpmyadmin/vendor/psr/cache/README.md
delete mode 100644 srcs/phpmyadmin/vendor/psr/cache/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/psr/cache/src/CacheException.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/cache/src/CacheItemInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/cache/src/CacheItemPoolInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/cache/src/InvalidArgumentException.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/container/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/psr/container/README.md
delete mode 100644 srcs/phpmyadmin/vendor/psr/container/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/psr/container/src/ContainerExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/container/src/ContainerInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/container/src/NotFoundExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/AbstractLogger.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/InvalidArgumentException.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/LogLevel.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/LoggerInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/LoggerTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/NullLogger.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/Psr/Log/Test/TestLogger.php
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/README.md
delete mode 100644 srcs/phpmyadmin/vendor/psr/log/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/samyoul/u2f-php-server/LICENCE.md
delete mode 100644 srcs/phpmyadmin/vendor/samyoul/u2f-php-server/README.md
delete mode 100644 srcs/phpmyadmin/vendor/samyoul/u2f-php-server/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/samyoul/u2f-php-server/src/Registration.php
delete mode 100644 srcs/phpmyadmin/vendor/samyoul/u2f-php-server/src/RegistrationRequest.php
delete mode 100644 srcs/phpmyadmin/vendor/samyoul/u2f-php-server/src/SignRequest.php
delete mode 100644 srcs/phpmyadmin/vendor/samyoul/u2f-php-server/src/U2FException.php
delete mode 100644 srcs/phpmyadmin/vendor/samyoul/u2f-php-server/src/U2FServer.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache-contracts/CacheInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache-contracts/CacheTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache-contracts/CallbackInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache-contracts/ItemInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache-contracts/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache-contracts/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache-contracts/TagAwareCacheInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache-contracts/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/AbstractAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/AbstractTagAwareAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/AdapterInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/ApcuAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/ArrayAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/ChainAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/DoctrineAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/FilesystemAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/FilesystemTagAwareAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/MemcachedAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/NullAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/PdoAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/PhpArrayAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/PhpFilesAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/ProxyAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/Psr16Adapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/RedisAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/RedisTagAwareAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/SimpleCacheAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/TagAwareAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/TagAwareAdapterInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/TraceableAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Adapter/TraceableTagAwareAdapter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/CacheItem.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/DataCollector/CacheDataCollector.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/DependencyInjection/CacheCollectorPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/DependencyInjection/CachePoolClearerPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/DependencyInjection/CachePoolPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/DependencyInjection/CachePoolPrunerPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/DoctrineProvider.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Exception/CacheException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Exception/InvalidArgumentException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Exception/LogicException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/LockRegistry.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Marshaller/DefaultMarshaller.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Marshaller/DeflateMarshaller.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Marshaller/MarshallerInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Marshaller/TagAwareMarshaller.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/PruneableInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Psr16Cache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/ResettableInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/AbstractCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/ApcuCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/ArrayCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/ChainCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/DoctrineCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/FilesystemCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/MemcachedCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/NullCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/PdoCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/PhpArrayCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/PhpFilesCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/Psr6Cache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/RedisCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Simple/TraceableCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/AbstractAdapterTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/AbstractTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/ApcuTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/ArrayTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/ContractsTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/DoctrineTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/FilesystemCommonTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/FilesystemTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/MemcachedTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/PdoTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/PhpArrayTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/PhpFilesTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/ProxyTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/RedisClusterProxy.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/RedisProxy.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/Traits/RedisTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/cache/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/ConfigCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/ConfigCacheFactory.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/ConfigCacheFactoryInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/ConfigCacheInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/ArrayNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/BaseNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/BooleanNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/ArrayNodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/BooleanNodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/BuilderAwareInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/EnumNodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/ExprBuilder.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/FloatNodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/IntegerNodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/MergeBuilder.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/NodeBuilder.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/NodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/NodeParentInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/NormalizationBuilder.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/NumericNodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/ParentNodeDefinitionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/ScalarNodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/TreeBuilder.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/ValidationBuilder.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Builder/VariableNodeDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/ConfigurationInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Dumper/XmlReferenceDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Dumper/YamlReferenceDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/EnumNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Exception/DuplicateKeyException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Exception/Exception.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Exception/ForbiddenOverwriteException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Exception/InvalidConfigurationException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Exception/InvalidDefinitionException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Exception/InvalidTypeException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Exception/TreeWithoutRootNodeException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Exception/UnsetKeyException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/FloatNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/IntegerNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/NodeInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/NumericNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/Processor.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/PrototypeNodeInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/PrototypedArrayNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/ScalarNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Definition/VariableNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Exception/FileLoaderImportCircularReferenceException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Exception/FileLoaderLoadException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Exception/FileLocatorFileNotFoundException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Exception/LoaderLoadException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/FileLocator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/FileLocatorInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Loader/DelegatingLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Loader/FileLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Loader/GlobFileLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Loader/Loader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Loader/LoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Loader/LoaderResolver.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Loader/LoaderResolverInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/ClassExistenceResource.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/ComposerResource.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/DirectoryResource.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/FileExistenceResource.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/FileResource.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/GlobResource.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/ReflectionClassResource.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/ResourceInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/SelfCheckingResourceChecker.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Resource/SelfCheckingResourceInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/ResourceCheckerConfigCache.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/ResourceCheckerConfigCacheFactory.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/ResourceCheckerInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Util/Exception/InvalidXmlException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Util/Exception/XmlParsingException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/Util/XmlUtils.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/config/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Alias.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/ArgumentInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/BoundArgument.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/IteratorArgument.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/ReferenceSetArgumentTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/RewindableGenerator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/ServiceClosureArgument.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/ServiceLocator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/ServiceLocatorArgument.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Argument/TaggedIteratorArgument.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ChildDefinition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/AutoAliasServicePass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/AutowirePass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/AutowireRequiredMethodsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/CheckArgumentsValidityPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/CheckCircularReferencesPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/CheckReferenceValidityPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/CheckTypeDeclarationsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/Compiler.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/CompilerPassInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ExtensionCompilerPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/PassConfig.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/PriorityTaggedServiceTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/RegisterEnvVarProcessorsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/RegisterReverseContainerPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/RegisterServiceSubscribersPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/RemovePrivateAliasesPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/RepeatablePassInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/RepeatedPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ReplaceAliasByActualDefinitionPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveBindingsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveChildDefinitionsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveClassPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveEnvPlaceholdersPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveFactoryClassPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveHotPathPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveInstanceofConditionalsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveInvalidReferencesPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveNamedArgumentsPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolvePrivatesPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveServiceSubscribersPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ResolveTaggedIteratorArgumentPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ServiceLocatorTagPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphEdge.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Compiler/ValidateEnvPlaceholdersPass.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Config/ContainerParametersResource.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Config/ContainerParametersResourceChecker.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Container.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ContainerAwareInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ContainerAwareTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ContainerBuilder.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ContainerInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Definition.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Dumper/Dumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Dumper/DumperInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Dumper/GraphvizDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Dumper/PhpDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Dumper/Preloader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Dumper/XmlDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Dumper/YamlDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/EnvVarLoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/EnvVarProcessor.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/EnvVarProcessorInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/AutowiringFailedException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/BadMethodCallException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/EnvNotFoundException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/EnvParameterException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/ExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/InvalidArgumentException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/InvalidParameterTypeException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/LogicException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/OutOfBoundsException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/ParameterCircularReferenceException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/ParameterNotFoundException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/RuntimeException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/ServiceCircularReferenceException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Exception/ServiceNotFoundException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ExpressionLanguage.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ExpressionLanguageProvider.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Extension/ConfigurationExtensionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Extension/Extension.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Extension/ExtensionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Extension/PrependExtensionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/DumperInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/NullDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/LazyProxy/ProxyHelper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/ClosureLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/AbstractConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/AbstractServiceConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/AliasConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/ContainerConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/DefaultsConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/InlineServiceConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/InstanceofConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/ParametersConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/PrototypeConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/ReferenceConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/ServiceConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/ServicesConfigurator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/AbstractTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/ArgumentTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/AutoconfigureTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/AutowireTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/BindTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/CallTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/ClassTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/ConfiguratorTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/DecorateTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/DeprecateTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/FactoryTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/FileTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/LazyTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/ParentTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/PropertyTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/PublicTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/ShareTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/SyntheticTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/Configurator/Traits/TagTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/DirectoryLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/FileLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/GlobFileLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/IniFileLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/PhpFileLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Loader/schema/dic/services/services-1.0.xsd
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Parameter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ParameterBag/ContainerBag.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ParameterBag/ContainerBagInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ParameterBag/FrozenParameterBag.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ParameterBag/ParameterBagInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Reference.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ResettableContainerInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ReverseContainer.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ServiceLocator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/ServiceSubscriberInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/TaggedContainerInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/TypedReference.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/Variable.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/dependency-injection/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Compiler.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Expression.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/ExpressionFunction.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/ExpressionFunctionProviderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/ExpressionLanguage.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Lexer.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/ArgumentsNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/ArrayNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/BinaryNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/ConditionalNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/ConstantNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/FunctionNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/GetAttrNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/NameNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/Node.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Node/UnaryNode.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/ParsedExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Parser.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/SerializedParsedExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/SyntaxError.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/Token.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/TokenStream.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/expression-language/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/Exception/ExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/Exception/FileNotFoundException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/Exception/IOException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/Exception/IOExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/Exception/InvalidArgumentException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/Filesystem.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/filesystem/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-ctype/Ctype.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-ctype/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-ctype/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-ctype/bootstrap.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-ctype/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-mbstring/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-mbstring/Mbstring.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-mbstring/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-mbstring/bootstrap.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-mbstring/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-php56/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-php56/Php56.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-php56/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-php56/bootstrap.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-php56/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/Binary.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryNoFuncOverload.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/BinaryOnFuncOverload.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListener.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV5.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV6.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerForV7.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/TestListenerTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/polyfill-util/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/ResetInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/ServiceLocatorTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/ServiceProviderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/ServiceSubscriberInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/ServiceSubscriberTrait.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/service-contracts/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Exception/ClassNotFoundException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Exception/ExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Exception/NotInstantiableTypeException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Instantiator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Internal/Exporter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Internal/Hydrator.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Internal/Reference.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Internal/Registry.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/Internal/Values.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/VarExporter.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/var-exporter/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Command/LintCommand.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Dumper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Escaper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Exception/DumpException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Exception/ExceptionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Exception/ParseException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Exception/RuntimeException.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Inline.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Parser.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/README.md
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Tag/TaggedValue.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Unescaper.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/Yaml.php
delete mode 100644 srcs/phpmyadmin/vendor/symfony/yaml/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/CHANGELOG.TXT
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/LICENSE.TXT
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/README.md
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/VERSION
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/config/tcpdf_config.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/AUTHORS
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/BUGS
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/NEWS
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/README
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/langcover.txt
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/status.txt
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.34/unicover.txt
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavusans.ctg.z
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavusans.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavusans.z
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavusansb.ctg.z
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavusansb.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/dejavusansb.z
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/fonts/helvetica.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/barcodes/datamatrix.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/barcodes/pdf417.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/barcodes/qrcode.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/tcpdf_colors.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/tcpdf_filters.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/tcpdf_font_data.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/tcpdf_fonts.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/tcpdf_images.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/include/tcpdf_static.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf_autoconfig.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf_barcodes_1d.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf_barcodes_2d.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf_import.php
delete mode 100644 srcs/phpmyadmin/vendor/tecnickcom/tcpdf/tcpdf_parser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/.travis.yml
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/README.rst
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Autoloader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Array.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Date.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/I18n.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Intl.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Extension/Text.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Arguments.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Array.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Body.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Boolean.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Constant.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Expression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Hash.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Number.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Optional.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Switch.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Grammar/Tag.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/GrammarInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/Node/Trans.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/SimpleTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/lib/Twig/Extensions/TokenParser/Trans.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/phpunit.xml.dist
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/src/ArrayExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/src/DateExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/src/I18nExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/src/IntlExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/src/Node/TransNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/src/TextExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/extensions/src/TokenParser/TransTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/.editorconfig
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/.php_cs.dist
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/.travis.yml
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/CHANGELOG
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/README.rst
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/composer.json
delete mode 100755 srcs/phpmyadmin/vendor/twig/twig/drupal_test.sh
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/BaseNodeVisitor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Cache/Filesystem.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Cache/Null.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/CacheInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Compiler.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/ContainerRuntimeLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Environment.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Error.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Error/Loader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Error/Runtime.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Error/Syntax.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/ExpressionParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/Core.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/Debug.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/Escaper.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/InitRuntimeInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/Optimizer.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/Profiler.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/Sandbox.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/Staging.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Extension/StringLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/ExtensionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/ExtensionSet.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/FactoryRuntimeLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Filter.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Function.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Lexer.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Loader/Array.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Loader/Chain.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Loader/Filesystem.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/LoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Markup.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/AutoEscape.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Block.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/BlockReference.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Body.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/CheckSecurity.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Deprecated.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Do.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Embed.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Array.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Call.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Constant.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Function.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Name.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/NullCoalesce.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Parent.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/TempName.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Test.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Unary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Flush.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/For.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/ForLoop.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/If.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Import.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Include.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Macro.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Module.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Print.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Sandbox.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Set.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Spaceless.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/Text.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Node/With.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/NodeCaptureInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/NodeOutputInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/NodeTraverser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/NodeVisitorInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Parser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Profiler/Dumper/Base.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Profiler/Profile.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/RuntimeLoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedMethodError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedPropertyError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/SimpleFilter.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/SimpleFunction.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/SimpleTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Source.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/SourceContextLoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Template.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TemplateWrapper.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Test.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Test/NodeTestCase.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Token.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Block.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Deprecated.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Do.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Embed.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Extends.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Filter.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Flush.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/For.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/From.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/If.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Import.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Include.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Macro.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Set.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/Use.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParser/With.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenParserInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/TokenStream.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Cache/CacheInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Cache/FilesystemCache.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Cache/NullCache.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Compiler.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Environment.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Error/Error.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Error/LoaderError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Error/RuntimeError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Error/SyntaxError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/ExpressionParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/AbstractExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/CoreExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/DebugExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/EscaperExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/ExtensionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/GlobalsInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/InitRuntimeInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/OptimizerExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/ProfilerExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/RuntimeExtensionInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/SandboxExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/StagingExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Extension/StringLoaderExtension.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/ExtensionSet.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/FileExtensionEscapingStrategy.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Lexer.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Loader/ArrayLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Loader/ChainLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Loader/ExistsLoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Loader/FilesystemLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Loader/LoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Loader/SourceContextLoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Markup.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/AutoEscapeNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/BlockNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/BlockReferenceNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/BodyNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/CheckSecurityNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/CheckToStringNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/DeprecatedNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/DoNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/EmbedNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/AbstractExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/ArrayExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/ArrowFunctionExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/AssignNameExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/AbstractBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/AddBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/AndBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/BitwiseAndBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/BitwiseOrBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/BitwiseXorBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/ConcatBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/DivBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/EndsWithBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/EqualBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/FloorDivBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/GreaterBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/GreaterEqualBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/InBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/LessBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/LessEqualBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/MatchesBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/ModBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/MulBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/NotEqualBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/NotInBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/OrBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/PowerBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/RangeBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/SpaceshipBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/StartsWithBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Binary/SubBinary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/BlockReferenceExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/CallExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/ConditionalExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/ConstantExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Filter/DefaultFilter.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/FilterExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/FunctionExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/GetAttrExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/InlinePrint.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/MethodCallExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/NameExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/NullCoalesceExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/ParentExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/TempNameExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Test/ConstantTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Test/DefinedTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Test/DivisiblebyTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Test/EvenTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Test/NullTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Test/OddTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Test/SameasTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/TestExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Unary/AbstractUnary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Unary/NegUnary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Unary/NotUnary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/Unary/PosUnary.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Expression/VariadicExpression.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/FlushNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/ForLoopNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/ForNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/IfNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/ImportNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/IncludeNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/MacroNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/ModuleNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/Node.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/NodeCaptureInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/NodeOutputInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/PrintNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/SandboxNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/SandboxedPrintNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/SetNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/SpacelessNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/TextNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Node/WithNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/NodeTraverser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/NodeVisitor/AbstractNodeVisitor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/NodeVisitor/EscaperNodeVisitor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/NodeVisitor/MacroAutoImportNodeVisitor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/NodeVisitor/NodeVisitorInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/NodeVisitor/OptimizerNodeVisitor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/NodeVisitor/SafeAnalysisNodeVisitor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/NodeVisitor/SandboxNodeVisitor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Parser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/BaseDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/BlackfireDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/HtmlDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Dumper/TextDumper.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Node/EnterProfileNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Node/LeaveProfileNode.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Profiler/Profile.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/RuntimeLoader/ContainerRuntimeLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/RuntimeLoader/FactoryRuntimeLoader.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/RuntimeLoader/RuntimeLoaderInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Sandbox/SecurityError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Sandbox/SecurityNotAllowedFilterError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Sandbox/SecurityNotAllowedFunctionError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Sandbox/SecurityNotAllowedMethodError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Sandbox/SecurityNotAllowedPropertyError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Sandbox/SecurityNotAllowedTagError.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Sandbox/SecurityPolicy.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Sandbox/SecurityPolicyInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Source.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Template.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TemplateWrapper.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Test/IntegrationTestCase.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Test/NodeTestCase.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Token.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/AbstractTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/ApplyTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/AutoEscapeTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/BlockTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/DeprecatedTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/DoTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/EmbedTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/ExtendsTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/FilterTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/FlushTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/ForTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/FromTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/IfTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/ImportTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/IncludeTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/MacroTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/SandboxTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/SetTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/SpacelessTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/TokenParserInterface.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/UseTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenParser/WithTokenParser.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TokenStream.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TwigFilter.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TwigFunction.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/TwigTest.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Util/DeprecationCollector.php
delete mode 100644 srcs/phpmyadmin/vendor/twig/twig/src/Util/TemplateDirIterator.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/.dependabot/config.yml
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/.editorconfig
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/.gitmodules
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/.jshintignore
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/.jshintrc
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/.npmignore
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/.prettierignore
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/.travis.yml
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/CHANGELOG.md
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/CODEOWNERS
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/LICENSE
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/README.md
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/SECURITY.md
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/composer.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-aria-server-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-aria-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-cassandra-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-cassandra-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-connect-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-galera-cluster-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-galera-cluster-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-gtid-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-mariadb-audit-plugin-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-mariadb-audit-plugin-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-mroonga-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-mroonga-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-myisam-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-myrocks-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-oqgraph-system-and-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-performance-schema-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-replication-and-binary-log-server-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-replication-and-binary-log-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-semisynchronous-replication-plugin-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-semisynchronous-replication-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-server-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-server-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-sphinx-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-spider-server-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-spider-server-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-ssltls-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-ssltls-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-thread-pool-system-and-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-tokudb-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-tokudb-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-versioned-tables-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-xtradbinnodb-server-status-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mariadb-xtradbinnodb-server-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-audit-log-reference.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-innodb-parameters.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-mysql-cluster-options-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-performance-schema-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-pluggable-authentication-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-replication-options-binary-log.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-replication-options-binary-log_5.7.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-replication-options-gtids.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-replication-options-master.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-replication-options-slave.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-replication-options.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-server-options.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-server-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-version-tokens-reference.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/data/mysql-x-plugin-options-system-variables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/dist/merged-raw.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/dist/merged-raw.md
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/dist/merged-slim.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/dist/merged-ultraslim.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/dist/merged-ultraslim.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/package-lock.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/package.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/phpcs.xml
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/phpstan.neon
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/schemas/doc-url.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/schemas/doc-version.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/schemas/linked-key-var-url.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/schemas/linked-key-var.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/schemas/merged-raw.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/schemas/merged-slim.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/schemas/merged-ultraslim.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/CHANGELOG.twig
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/apidoc-generate.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/changelog.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/ci-cron.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/ci-lint.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/ci-mocha.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/ci-phpcs.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/ci-phpcsbf.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/ci-phpstan.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/ci-phpunit.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/install-reporters.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/ci/install.sh
delete mode 100755 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/release.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/sami-config.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/sudo-bot/.sudobotignore
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/sudo-bot/keys.tar.enc
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/sudo-bot/pubkey.asc
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/scripts/sudo-bot/template.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/KBDocumentation.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/KBEntry.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/KBException.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/MariaDB.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/MySQL.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/Search.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/SlimData.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/cleaner.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/common.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/index.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/src/merge.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/DataTest.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/RefProvider.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SearchTest.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/SlimDataTest.php
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/cleaner.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_1.html
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_2.html
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/mysql_test_case_3.html
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/data/ultraSlimDataTestWithVariables.json
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/index.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/parser.js
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/phpunit.xml
delete mode 100644 srcs/phpmyadmin/vendor/williamdes/mariadb-mysql-kbs/test/templates.js
(limited to 'srcs/phpmyadmin/vendor')
diff --git a/srcs/phpmyadmin/vendor/autoload.php b/srcs/phpmyadmin/vendor/autoload.php
deleted file mode 100644
index b47b837..0000000
--- a/srcs/phpmyadmin/vendor/autoload.php
+++ /dev/null
@@ -1,7 +0,0 @@
-writeFile('Hello World!', 'qrcode.png');
-```
-
-## Available image renderer back ends
-BaconQrCode comes with multiple back ends for rendering images. Currently included are the following:
-
-- `ImagickImageBackEnd`: renders raster images using the Imagick library
-- `SvgImageBackEnd`: renders SVG files using XMLWriter
-- `EpsImageBackEnd`: renders EPS files
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/composer.json b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/composer.json
deleted file mode 100644
index d66d586..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/composer.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name": "bacon/bacon-qr-code",
- "description": "BaconQrCode is a QR code generator for PHP.",
- "license" : "BSD-2-Clause",
- "homepage": "https://github.com/Bacon/BaconQrCode",
- "require": {
- "php": "^7.1",
- "ext-iconv": "*",
- "dasprid/enum": "^1.0"
- },
- "suggest": {
- "ext-imagick": "to generate QR code images"
- },
- "authors": [
- {
- "name": "Ben Scholzen 'DASPRiD'",
- "email": "mail@dasprids.de",
- "homepage": "http://www.dasprids.de",
- "role": "Developer"
- }
- ],
- "autoload": {
- "psr-4": {
- "BaconQrCode\\": "src/"
- }
- },
- "require-dev": {
- "phpunit/phpunit": "^6.4",
- "squizlabs/php_codesniffer": "^3.1",
- "phly/keep-a-changelog": "^1.4"
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitArray.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitArray.php
deleted file mode 100644
index 158384f..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitArray.php
+++ /dev/null
@@ -1,372 +0,0 @@
-
- */
- private $bits;
-
- /**
- * Size of the bit array in bits.
- *
- * @var int
- */
- private $size;
-
- /**
- * Creates a new bit array with a given size.
- */
- public function __construct(int $size = 0)
- {
- $this->size = $size;
- $this->bits = SplFixedArray::fromArray(array_fill(0, ($this->size + 31) >> 3, 0));
- }
-
- /**
- * Gets the size in bits.
- */
- public function getSize() : int
- {
- return $this->size;
- }
-
- /**
- * Gets the size in bytes.
- */
- public function getSizeInBytes() : int
- {
- return ($this->size + 7) >> 3;
- }
-
- /**
- * Ensures that the array has a minimum capacity.
- */
- public function ensureCapacity(int $size) : void
- {
- if ($size > count($this->bits) << 5) {
- $this->bits->setSize(($size + 31) >> 5);
- }
- }
-
- /**
- * Gets a specific bit.
- */
- public function get(int $i) : bool
- {
- return 0 !== ($this->bits[$i >> 5] & (1 << ($i & 0x1f)));
- }
-
- /**
- * Sets a specific bit.
- */
- public function set(int $i) : void
- {
- $this->bits[$i >> 5] = $this->bits[$i >> 5] | 1 << ($i & 0x1f);
- }
-
- /**
- * Flips a specific bit.
- */
- public function flip(int $i) : void
- {
- $this->bits[$i >> 5] ^= 1 << ($i & 0x1f);
- }
-
- /**
- * Gets the next set bit position from a given position.
- */
- public function getNextSet(int $from) : int
- {
- if ($from >= $this->size) {
- return $this->size;
- }
-
- $bitsOffset = $from >> 5;
- $currentBits = $this->bits[$bitsOffset];
- $bitsLength = count($this->bits);
- $currentBits &= ~((1 << ($from & 0x1f)) - 1);
-
- while (0 === $currentBits) {
- if (++$bitsOffset === $bitsLength) {
- return $this->size;
- }
-
- $currentBits = $this->bits[$bitsOffset];
- }
-
- $result = ($bitsOffset << 5) + BitUtils::numberOfTrailingZeros($currentBits);
- return $result > $this->size ? $this->size : $result;
- }
-
- /**
- * Gets the next unset bit position from a given position.
- */
- public function getNextUnset(int $from) : int
- {
- if ($from >= $this->size) {
- return $this->size;
- }
-
- $bitsOffset = $from >> 5;
- $currentBits = ~$this->bits[$bitsOffset];
- $bitsLength = count($this->bits);
- $currentBits &= ~((1 << ($from & 0x1f)) - 1);
-
- while (0 === $currentBits) {
- if (++$bitsOffset === $bitsLength) {
- return $this->size;
- }
-
- $currentBits = ~$this->bits[$bitsOffset];
- }
-
- $result = ($bitsOffset << 5) + BitUtils::numberOfTrailingZeros($currentBits);
- return $result > $this->size ? $this->size : $result;
- }
-
- /**
- * Sets a bulk of bits.
- */
- public function setBulk(int $i, int $newBits) : void
- {
- $this->bits[$i >> 5] = $newBits;
- }
-
- /**
- * Sets a range of bits.
- *
- * @throws InvalidArgumentException if end is smaller than start
- */
- public function setRange(int $start, int $end) : void
- {
- if ($end < $start) {
- throw new InvalidArgumentException('End must be greater or equal to start');
- }
-
- if ($end === $start) {
- return;
- }
-
- --$end;
-
- $firstInt = $start >> 5;
- $lastInt = $end >> 5;
-
- for ($i = $firstInt; $i <= $lastInt; ++$i) {
- $firstBit = $i > $firstInt ? 0 : $start & 0x1f;
- $lastBit = $i < $lastInt ? 31 : $end & 0x1f;
-
- if (0 === $firstBit && 31 === $lastBit) {
- $mask = 0x7fffffff;
- } else {
- $mask = 0;
-
- for ($j = $firstBit; $j < $lastBit; ++$j) {
- $mask |= 1 << $j;
- }
- }
-
- $this->bits[$i] = $this->bits[$i] | $mask;
- }
- }
-
- /**
- * Clears the bit array, unsetting every bit.
- */
- public function clear() : void
- {
- $bitsLength = count($this->bits);
-
- for ($i = 0; $i < $bitsLength; ++$i) {
- $this->bits[$i] = 0;
- }
- }
-
- /**
- * Checks if a range of bits is set or not set.
-
- * @throws InvalidArgumentException if end is smaller than start
- */
- public function isRange(int $start, int $end, bool $value) : bool
- {
- if ($end < $start) {
- throw new InvalidArgumentException('End must be greater or equal to start');
- }
-
- if ($end === $start) {
- return true;
- }
-
- --$end;
-
- $firstInt = $start >> 5;
- $lastInt = $end >> 5;
-
- for ($i = $firstInt; $i <= $lastInt; ++$i) {
- $firstBit = $i > $firstInt ? 0 : $start & 0x1f;
- $lastBit = $i < $lastInt ? 31 : $end & 0x1f;
-
- if (0 === $firstBit && 31 === $lastBit) {
- $mask = 0x7fffffff;
- } else {
- $mask = 0;
-
- for ($j = $firstBit; $j <= $lastBit; ++$j) {
- $mask |= 1 << $j;
- }
- }
-
- if (($this->bits[$i] & $mask) !== ($value ? $mask : 0)) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Appends a bit to the array.
- */
- public function appendBit(bool $bit) : void
- {
- $this->ensureCapacity($this->size + 1);
-
- if ($bit) {
- $this->bits[$this->size >> 5] = $this->bits[$this->size >> 5] | (1 << ($this->size & 0x1f));
- }
-
- ++$this->size;
- }
-
- /**
- * Appends a number of bits (up to 32) to the array.
-
- * @throws InvalidArgumentException if num bits is not between 0 and 32
- */
- public function appendBits(int $value, int $numBits) : void
- {
- if ($numBits < 0 || $numBits > 32) {
- throw new InvalidArgumentException('Num bits must be between 0 and 32');
- }
-
- $this->ensureCapacity($this->size + $numBits);
-
- for ($numBitsLeft = $numBits; $numBitsLeft > 0; $numBitsLeft--) {
- $this->appendBit((($value >> ($numBitsLeft - 1)) & 0x01) === 1);
- }
- }
-
- /**
- * Appends another bit array to this array.
- */
- public function appendBitArray(self $other) : void
- {
- $otherSize = $other->getSize();
- $this->ensureCapacity($this->size + $other->getSize());
-
- for ($i = 0; $i < $otherSize; ++$i) {
- $this->appendBit($other->get($i));
- }
- }
-
- /**
- * Makes an exclusive-or comparision on the current bit array.
- *
- * @throws InvalidArgumentException if sizes don't match
- */
- public function xorBits(self $other) : void
- {
- $bitsLength = count($this->bits);
- $otherBits = $other->getBitArray();
-
- if ($bitsLength !== count($otherBits)) {
- throw new InvalidArgumentException('Sizes don\'t match');
- }
-
- for ($i = 0; $i < $bitsLength; ++$i) {
- $this->bits[$i] = $this->bits[$i] ^ $otherBits[$i];
- }
- }
-
- /**
- * Converts the bit array to a byte array.
- *
- * @return SplFixedArray
- */
- public function toBytes(int $bitOffset, int $numBytes) : SplFixedArray
- {
- $bytes = new SplFixedArray($numBytes);
-
- for ($i = 0; $i < $numBytes; ++$i) {
- $byte = 0;
-
- for ($j = 0; $j < 8; ++$j) {
- if ($this->get($bitOffset)) {
- $byte |= 1 << (7 - $j);
- }
-
- ++$bitOffset;
- }
-
- $bytes[$i] = $byte;
- }
-
- return $bytes;
- }
-
- /**
- * Gets the internal bit array.
- *
- * @return SplFixedArray
- */
- public function getBitArray() : SplFixedArray
- {
- return $this->bits;
- }
-
- /**
- * Reverses the array.
- */
- public function reverse() : void
- {
- $newBits = new SplFixedArray(count($this->bits));
-
- for ($i = 0; $i < $this->size; ++$i) {
- if ($this->get($this->size - $i - 1)) {
- $newBits[$i >> 5] = $newBits[$i >> 5] | (1 << ($i & 0x1f));
- }
- }
-
- $this->bits = $newBits;
- }
-
- /**
- * Returns a string representation of the bit array.
- */
- public function __toString() : string
- {
- $result = '';
-
- for ($i = 0; $i < $this->size; ++$i) {
- if (0 === ($i & 0x07)) {
- $result .= ' ';
- }
-
- $result .= $this->get($i) ? 'X' : '.';
- }
-
- return $result;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitMatrix.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitMatrix.php
deleted file mode 100644
index 10bf8fe..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitMatrix.php
+++ /dev/null
@@ -1,313 +0,0 @@
-
- */
- private $bits;
-
- /**
- * @throws InvalidArgumentException if a dimension is smaller than zero
- */
- public function __construct(int $width, int $height = null)
- {
- if (null === $height) {
- $height = $width;
- }
-
- if ($width < 1 || $height < 1) {
- throw new InvalidArgumentException('Both dimensions must be greater than zero');
- }
-
- $this->width = $width;
- $this->height = $height;
- $this->rowSize = ($width + 31) >> 5;
- $this->bits = SplFixedArray::fromArray(array_fill(0, $this->rowSize * $height, 0));
- }
-
- /**
- * Gets the requested bit, where true means black.
- */
- public function get(int $x, int $y) : bool
- {
- $offset = $y * $this->rowSize + ($x >> 5);
- return 0 !== (BitUtils::unsignedRightShift($this->bits[$offset], ($x & 0x1f)) & 1);
- }
-
- /**
- * Sets the given bit to true.
- */
- public function set(int $x, int $y) : void
- {
- $offset = $y * $this->rowSize + ($x >> 5);
- $this->bits[$offset] = $this->bits[$offset] | (1 << ($x & 0x1f));
- }
-
- /**
- * Flips the given bit.
- */
- public function flip(int $x, int $y) : void
- {
- $offset = $y * $this->rowSize + ($x >> 5);
- $this->bits[$offset] = $this->bits[$offset] ^ (1 << ($x & 0x1f));
- }
-
- /**
- * Clears all bits (set to false).
- */
- public function clear() : void
- {
- $max = count($this->bits);
-
- for ($i = 0; $i < $max; ++$i) {
- $this->bits[$i] = 0;
- }
- }
-
- /**
- * Sets a square region of the bit matrix to true.
- *
- * @throws InvalidArgumentException if left or top are negative
- * @throws InvalidArgumentException if width or height are smaller than 1
- * @throws InvalidArgumentException if region does not fit into the matix
- */
- public function setRegion(int $left, int $top, int $width, int $height) : void
- {
- if ($top < 0 || $left < 0) {
- throw new InvalidArgumentException('Left and top must be non-negative');
- }
-
- if ($height < 1 || $width < 1) {
- throw new InvalidArgumentException('Width and height must be at least 1');
- }
-
- $right = $left + $width;
- $bottom = $top + $height;
-
- if ($bottom > $this->height || $right > $this->width) {
- throw new InvalidArgumentException('The region must fit inside the matrix');
- }
-
- for ($y = $top; $y < $bottom; ++$y) {
- $offset = $y * $this->rowSize;
-
- for ($x = $left; $x < $right; ++$x) {
- $index = $offset + ($x >> 5);
- $this->bits[$index] = $this->bits[$index] | (1 << ($x & 0x1f));
- }
- }
- }
-
- /**
- * A fast method to retrieve one row of data from the matrix as a BitArray.
- */
- public function getRow(int $y, BitArray $row = null) : BitArray
- {
- if (null === $row || $row->getSize() < $this->width) {
- $row = new BitArray($this->width);
- }
-
- $offset = $y * $this->rowSize;
-
- for ($x = 0; $x < $this->rowSize; ++$x) {
- $row->setBulk($x << 5, $this->bits[$offset + $x]);
- }
-
- return $row;
- }
-
- /**
- * Sets a row of data from a BitArray.
- */
- public function setRow(int $y, BitArray $row) : void
- {
- $bits = $row->getBitArray();
-
- for ($i = 0; $i < $this->rowSize; ++$i) {
- $this->bits[$y * $this->rowSize + $i] = $bits[$i];
- }
- }
-
- /**
- * This is useful in detecting the enclosing rectangle of a 'pure' barcode.
- *
- * @return int[]|null
- */
- public function getEnclosingRectangle() : ?array
- {
- $left = $this->width;
- $top = $this->height;
- $right = -1;
- $bottom = -1;
-
- for ($y = 0; $y < $this->height; ++$y) {
- for ($x32 = 0; $x32 < $this->rowSize; ++$x32) {
- $bits = $this->bits[$y * $this->rowSize + $x32];
-
- if (0 !== $bits) {
- if ($y < $top) {
- $top = $y;
- }
-
- if ($y > $bottom) {
- $bottom = $y;
- }
-
- if ($x32 * 32 < $left) {
- $bit = 0;
-
- while (($bits << (31 - $bit)) === 0) {
- $bit++;
- }
-
- if (($x32 * 32 + $bit) < $left) {
- $left = $x32 * 32 + $bit;
- }
- }
- }
-
- if ($x32 * 32 + 31 > $right) {
- $bit = 31;
-
- while (0 === BitUtils::unsignedRightShift($bits, $bit)) {
- --$bit;
- }
-
- if (($x32 * 32 + $bit) > $right) {
- $right = $x32 * 32 + $bit;
- }
- }
- }
- }
-
- $width = $right - $left;
- $height = $bottom - $top;
-
- if ($width < 0 || $height < 0) {
- return null;
- }
-
- return [$left, $top, $width, $height];
- }
-
- /**
- * Gets the most top left set bit.
- *
- * This is useful in detecting a corner of a 'pure' barcode.
- *
- * @return int[]|null
- */
- public function getTopLeftOnBit() : ?array
- {
- $bitsOffset = 0;
-
- while ($bitsOffset < count($this->bits) && 0 === $this->bits[$bitsOffset]) {
- ++$bitsOffset;
- }
-
- if (count($this->bits) === $bitsOffset) {
- return null;
- }
-
- $x = intdiv($bitsOffset, $this->rowSize);
- $y = ($bitsOffset % $this->rowSize) << 5;
-
- $bits = $this->bits[$bitsOffset];
- $bit = 0;
-
- while (0 === ($bits << (31 - $bit))) {
- ++$bit;
- }
-
- $x += $bit;
-
- return [$x, $y];
- }
-
- /**
- * Gets the most bottom right set bit.
- *
- * This is useful in detecting a corner of a 'pure' barcode.
- *
- * @return int[]|null
- */
- public function getBottomRightOnBit() : ?array
- {
- $bitsOffset = count($this->bits) - 1;
-
- while ($bitsOffset >= 0 && 0 === $this->bits[$bitsOffset]) {
- --$bitsOffset;
- }
-
- if ($bitsOffset < 0) {
- return null;
- }
-
- $x = intdiv($bitsOffset, $this->rowSize);
- $y = ($bitsOffset % $this->rowSize) << 5;
-
- $bits = $this->bits[$bitsOffset];
- $bit = 0;
-
- while (0 === BitUtils::unsignedRightShift($bits, $bit)) {
- --$bit;
- }
-
- $x += $bit;
-
- return [$x, $y];
- }
-
- /**
- * Gets the width of the matrix,
- */
- public function getWidth() : int
- {
- return $this->width;
- }
-
- /**
- * Gets the height of the matrix.
- */
- public function getHeight() : int
- {
- return $this->height;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitUtils.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitUtils.php
deleted file mode 100644
index 0c575b4..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/BitUtils.php
+++ /dev/null
@@ -1,41 +0,0 @@
->>" in other
- * languages.
- */
- public static function unsignedRightShift(int $a, int $b) : int
- {
- return (
- $a >= 0
- ? $a >> $b
- : (($a & 0x7fffffff) >> $b) | (0x40000000 >> ($b - 1))
- );
- }
-
- /**
- * Gets the number of trailing zeros.
- */
- public static function numberOfTrailingZeros(int $i) : int
- {
- $lastPos = strrpos(str_pad(decbin($i), 32, '0', STR_PAD_LEFT), '1');
- return $lastPos === false ? 32 : 31 - $lastPos;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php
deleted file mode 100644
index 6dfff17..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/CharacterSetEci.php
+++ /dev/null
@@ -1,180 +0,0 @@
-|null
- */
- private static $valueToEci;
-
- /**
- * @var array|null
- */
- private static $nameToEci;
-
- public function __construct(array $values, string ...$otherEncodingNames)
- {
- $this->values = $values;
- $this->otherEncodingNames = $otherEncodingNames;
- }
-
- /**
- * Returns the primary value.
- */
- public function getValue() : int
- {
- return $this->values[0];
- }
-
- /**
- * Gets character set ECI by value.
- *
- * Returns the representing ECI of a given value, or null if it is legal but unsupported.
- *
- * @throws InvalidArgumentException if value is not between 0 and 900
- */
- public static function getCharacterSetEciByValue(int $value) : ?self
- {
- if ($value < 0 || $value >= 900) {
- throw new InvalidArgumentException('Value must be between 0 and 900');
- }
-
- $valueToEci = self::valueToEci();
-
- if (! array_key_exists($value, $valueToEci)) {
- return null;
- }
-
- return $valueToEci[$value];
- }
-
- /**
- * Returns character set ECI by name.
- *
- * Returns the representing ECI of a given name, or null if it is legal but unsupported
- */
- public static function getCharacterSetEciByName(string $name) : ?self
- {
- $nameToEci = self::nameToEci();
- $name = strtolower($name);
-
- if (! array_key_exists($name, $nameToEci)) {
- return null;
- }
-
- return $nameToEci[$name];
- }
-
- private static function valueToEci() : array
- {
- if (null !== self::$valueToEci) {
- return self::$valueToEci;
- }
-
- self::$valueToEci = [];
-
- foreach (self::values() as $eci) {
- foreach ($eci->values as $value) {
- self::$valueToEci[$value] = $eci;
- }
- }
-
- return self::$valueToEci;
- }
-
- private static function nameToEci() : array
- {
- if (null !== self::$nameToEci) {
- return self::$nameToEci;
- }
-
- self::$nameToEci = [];
-
- foreach (self::values() as $eci) {
- self::$nameToEci[strtolower($eci->name())] = $eci;
-
- foreach ($eci->otherEncodingNames as $name) {
- self::$nameToEci[strtolower($name)] = $eci;
- }
- }
-
- return self::$nameToEci;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/EcBlock.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/EcBlock.php
deleted file mode 100644
index a9a1d07..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/EcBlock.php
+++ /dev/null
@@ -1,49 +0,0 @@
-count = $count;
- $this->dataCodewords = $dataCodewords;
- }
-
- /**
- * Returns how many times the block is used.
- */
- public function getCount() : int
- {
- return $this->count;
- }
-
- /**
- * Returns the number of data codewords.
- */
- public function getDataCodewords() : int
- {
- return $this->dataCodewords;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/EcBlocks.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/EcBlocks.php
deleted file mode 100644
index 172b5f2..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/EcBlocks.php
+++ /dev/null
@@ -1,74 +0,0 @@
-ecCodewordsPerBlock = $ecCodewordsPerBlock;
- $this->ecBlocks = $ecBlocks;
- }
-
- /**
- * Returns the number of EC codewords per block.
- */
- public function getEcCodewordsPerBlock() : int
- {
- return $this->ecCodewordsPerBlock;
- }
-
- /**
- * Returns the total number of EC block appearances.
- */
- public function getNumBlocks() : int
- {
- $total = 0;
-
- foreach ($this->ecBlocks as $ecBlock) {
- $total += $ecBlock->getCount();
- }
-
- return $total;
- }
-
- /**
- * Returns the total count of EC codewords.
- */
- public function getTotalEcCodewords() : int
- {
- return $this->ecCodewordsPerBlock * $this->getNumBlocks();
- }
-
- /**
- * Returns the EC blocks included in this collection.
- *
- * @return EcBlock[]
- */
- public function getEcBlocks() : array
- {
- return $this->ecBlocks;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/ErrorCorrectionLevel.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/ErrorCorrectionLevel.php
deleted file mode 100644
index 9bbf440..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/ErrorCorrectionLevel.php
+++ /dev/null
@@ -1,63 +0,0 @@
-bits = $bits;
- }
-
- /**
- * @throws OutOfBoundsException if number of bits is invalid
- */
- public static function forBits(int $bits) : self
- {
- switch ($bits) {
- case 0:
- return self::M();
-
- case 1:
- return self::L();
-
- case 2:
- return self::H();
-
- case 3:
- return self::Q();
- }
-
- throw new OutOfBoundsException('Invalid number of bits');
- }
-
- /**
- * Returns the two bits used to encode this error correction level.
- */
- public function getBits() : int
- {
- return $this->bits;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/FormatInformation.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/FormatInformation.php
deleted file mode 100644
index 53e3541..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/FormatInformation.php
+++ /dev/null
@@ -1,203 +0,0 @@
-ecLevel = ErrorCorrectionLevel::forBits(($formatInfo >> 3) & 0x3);
- $this->dataMask = $formatInfo & 0x7;
- }
-
- /**
- * Checks how many bits are different between two integers.
- */
- public static function numBitsDiffering(int $a, int $b) : int
- {
- $a ^= $b;
-
- return (
- self::BITS_SET_IN_HALF_BYTE[$a & 0xf]
- + self::BITS_SET_IN_HALF_BYTE[(BitUtils::unsignedRightShift($a, 4) & 0xf)]
- + self::BITS_SET_IN_HALF_BYTE[(BitUtils::unsignedRightShift($a, 8) & 0xf)]
- + self::BITS_SET_IN_HALF_BYTE[(BitUtils::unsignedRightShift($a, 12) & 0xf)]
- + self::BITS_SET_IN_HALF_BYTE[(BitUtils::unsignedRightShift($a, 16) & 0xf)]
- + self::BITS_SET_IN_HALF_BYTE[(BitUtils::unsignedRightShift($a, 20) & 0xf)]
- + self::BITS_SET_IN_HALF_BYTE[(BitUtils::unsignedRightShift($a, 24) & 0xf)]
- + self::BITS_SET_IN_HALF_BYTE[(BitUtils::unsignedRightShift($a, 28) & 0xf)]
- );
- }
-
- /**
- * Decodes format information.
- */
- public static function decodeFormatInformation(int $maskedFormatInfo1, int $maskedFormatInfo2) : ?self
- {
- $formatInfo = self::doDecodeFormatInformation($maskedFormatInfo1, $maskedFormatInfo2);
-
- if (null !== $formatInfo) {
- return $formatInfo;
- }
-
- // Should return null, but, some QR codes apparently do not mask this info. Try again by actually masking the
- // pattern first.
- return self::doDecodeFormatInformation(
- $maskedFormatInfo1 ^ self::FORMAT_INFO_MASK_QR,
- $maskedFormatInfo2 ^ self::FORMAT_INFO_MASK_QR
- );
- }
-
- /**
- * Internal method for decoding format information.
- */
- private static function doDecodeFormatInformation(int $maskedFormatInfo1, int $maskedFormatInfo2) : ?self
- {
- $bestDifference = PHP_INT_MAX;
- $bestFormatInfo = 0;
-
- foreach (self::FORMAT_INFO_DECODE_LOOKUP as $decodeInfo) {
- $targetInfo = $decodeInfo[0];
-
- if ($targetInfo === $maskedFormatInfo1 || $targetInfo === $maskedFormatInfo2) {
- // Found an exact match
- return new self($decodeInfo[1]);
- }
-
- $bitsDifference = self::numBitsDiffering($maskedFormatInfo1, $targetInfo);
-
- if ($bitsDifference < $bestDifference) {
- $bestFormatInfo = $decodeInfo[1];
- $bestDifference = $bitsDifference;
- }
-
- if ($maskedFormatInfo1 !== $maskedFormatInfo2) {
- // Also try the other option
- $bitsDifference = self::numBitsDiffering($maskedFormatInfo2, $targetInfo);
-
- if ($bitsDifference < $bestDifference) {
- $bestFormatInfo = $decodeInfo[1];
- $bestDifference = $bitsDifference;
- }
- }
- }
-
- // Hamming distance of the 32 masked codes is 7, by construction, so <= 3 bits differing means we found a match.
- if ($bestDifference <= 3) {
- return new self($bestFormatInfo);
- }
-
- return null;
- }
-
- /**
- * Returns the error correction level.
- */
- public function getErrorCorrectionLevel() : ErrorCorrectionLevel
- {
- return $this->ecLevel;
- }
-
- /**
- * Returns the data mask.
- */
- public function getDataMask() : int
- {
- return $this->dataMask;
- }
-
- /**
- * Hashes the code of the EC level.
- */
- public function hashCode() : int
- {
- return ($this->ecLevel->getBits() << 3) | $this->dataMask;
- }
-
- /**
- * Verifies if this instance equals another one.
- */
- public function equals(self $other) : bool
- {
- return (
- $this->ecLevel === $other->ecLevel
- && $this->dataMask === $other->dataMask
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php
deleted file mode 100644
index 51e6c9a..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php
+++ /dev/null
@@ -1,76 +0,0 @@
-characterCountBitsForVersions = $characterCountBitsForVersions;
- $this->bits = $bits;
- }
-
- /**
- * Returns the number of bits used in a specific QR code version.
- */
- public function getCharacterCountBits(Version $version) : int
- {
- $number = $version->getVersionNumber();
-
- if ($number <= 9) {
- $offset = 0;
- } elseif ($number <= 26) {
- $offset = 1;
- } else {
- $offset = 2;
- }
-
- return $this->characterCountBitsForVersions[$offset];
- }
-
- /**
- * Returns the four bits used to encode this mode.
- */
- public function getBits() : int
- {
- return $this->bits;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/ReedSolomonCodec.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/ReedSolomonCodec.php
deleted file mode 100644
index a5aad0b..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/ReedSolomonCodec.php
+++ /dev/null
@@ -1,468 +0,0 @@
- 8) {
- throw new InvalidArgumentException('Symbol size must be between 0 and 8');
- }
-
- if ($firstRoot < 0 || $firstRoot >= (1 << $symbolSize)) {
- throw new InvalidArgumentException('First root must be between 0 and ' . (1 << $symbolSize));
- }
-
- if ($numRoots < 0 || $numRoots >= (1 << $symbolSize)) {
- throw new InvalidArgumentException('Num roots must be between 0 and ' . (1 << $symbolSize));
- }
-
- if ($padding < 0 || $padding >= ((1 << $symbolSize) - 1 - $numRoots)) {
- throw new InvalidArgumentException(
- 'Padding must be between 0 and ' . ((1 << $symbolSize) - 1 - $numRoots)
- );
- }
-
- $this->symbolSize = $symbolSize;
- $this->blockSize = (1 << $symbolSize) - 1;
- $this->padding = $padding;
- $this->alphaTo = SplFixedArray::fromArray(array_fill(0, $this->blockSize + 1, 0), false);
- $this->indexOf = SplFixedArray::fromArray(array_fill(0, $this->blockSize + 1, 0), false);
-
- // Generate galous field lookup table
- $this->indexOf[0] = $this->blockSize;
- $this->alphaTo[$this->blockSize] = 0;
-
- $sr = 1;
-
- for ($i = 0; $i < $this->blockSize; ++$i) {
- $this->indexOf[$sr] = $i;
- $this->alphaTo[$i] = $sr;
-
- $sr <<= 1;
-
- if ($sr & (1 << $symbolSize)) {
- $sr ^= $gfPoly;
- }
-
- $sr &= $this->blockSize;
- }
-
- if (1 !== $sr) {
- throw new RuntimeException('Field generator polynomial is not primitive');
- }
-
- // Form RS code generator polynomial from its roots
- $this->generatorPoly = SplFixedArray::fromArray(array_fill(0, $numRoots + 1, 0), false);
- $this->firstRoot = $firstRoot;
- $this->primitive = $primitive;
- $this->numRoots = $numRoots;
-
- // Find prim-th root of 1, used in decoding
- for ($iPrimitive = 1; ($iPrimitive % $primitive) !== 0; $iPrimitive += $this->blockSize) {
- }
-
- $this->iPrimitive = intdiv($iPrimitive, $primitive);
-
- $this->generatorPoly[0] = 1;
-
- for ($i = 0, $root = $firstRoot * $primitive; $i < $numRoots; ++$i, $root += $primitive) {
- $this->generatorPoly[$i + 1] = 1;
-
- for ($j = $i; $j > 0; $j--) {
- if ($this->generatorPoly[$j] !== 0) {
- $this->generatorPoly[$j] = $this->generatorPoly[$j - 1] ^ $this->alphaTo[
- $this->modNn($this->indexOf[$this->generatorPoly[$j]] + $root)
- ];
- } else {
- $this->generatorPoly[$j] = $this->generatorPoly[$j - 1];
- }
- }
-
- $this->generatorPoly[$j] = $this->alphaTo[$this->modNn($this->indexOf[$this->generatorPoly[0]] + $root)];
- }
-
- // Convert generator poly to index form for quicker encoding
- for ($i = 0; $i <= $numRoots; ++$i) {
- $this->generatorPoly[$i] = $this->indexOf[$this->generatorPoly[$i]];
- }
- }
-
- /**
- * Encodes data and writes result back into parity array.
- */
- public function encode(SplFixedArray $data, SplFixedArray $parity) : void
- {
- for ($i = 0; $i < $this->numRoots; ++$i) {
- $parity[$i] = 0;
- }
-
- $iterations = $this->blockSize - $this->numRoots - $this->padding;
-
- for ($i = 0; $i < $iterations; ++$i) {
- $feedback = $this->indexOf[$data[$i] ^ $parity[0]];
-
- if ($feedback !== $this->blockSize) {
- // Feedback term is non-zero
- $feedback = $this->modNn($this->blockSize - $this->generatorPoly[$this->numRoots] + $feedback);
-
- for ($j = 1; $j < $this->numRoots; ++$j) {
- $parity[$j] = $parity[$j] ^ $this->alphaTo[
- $this->modNn($feedback + $this->generatorPoly[$this->numRoots - $j])
- ];
- }
- }
-
- for ($j = 0; $j < $this->numRoots - 1; ++$j) {
- $parity[$j] = $parity[$j + 1];
- }
-
- if ($feedback !== $this->blockSize) {
- $parity[$this->numRoots - 1] = $this->alphaTo[$this->modNn($feedback + $this->generatorPoly[0])];
- } else {
- $parity[$this->numRoots - 1] = 0;
- }
- }
- }
-
- /**
- * Decodes received data.
- */
- public function decode(SplFixedArray $data, SplFixedArray $erasures = null) : ?int
- {
- // This speeds up the initialization a bit.
- $numRootsPlusOne = SplFixedArray::fromArray(array_fill(0, $this->numRoots + 1, 0), false);
- $numRoots = SplFixedArray::fromArray(array_fill(0, $this->numRoots, 0), false);
-
- $lambda = clone $numRootsPlusOne;
- $b = clone $numRootsPlusOne;
- $t = clone $numRootsPlusOne;
- $omega = clone $numRootsPlusOne;
- $root = clone $numRoots;
- $loc = clone $numRoots;
-
- $numErasures = (null !== $erasures ? count($erasures) : 0);
-
- // Form the Syndromes; i.e., evaluate data(x) at roots of g(x)
- $syndromes = SplFixedArray::fromArray(array_fill(0, $this->numRoots, $data[0]), false);
-
- for ($i = 1; $i < $this->blockSize - $this->padding; ++$i) {
- for ($j = 0; $j < $this->numRoots; ++$j) {
- if ($syndromes[$j] === 0) {
- $syndromes[$j] = $data[$i];
- } else {
- $syndromes[$j] = $data[$i] ^ $this->alphaTo[
- $this->modNn($this->indexOf[$syndromes[$j]] + ($this->firstRoot + $j) * $this->primitive)
- ];
- }
- }
- }
-
- // Convert syndromes to index form, checking for nonzero conditions
- $syndromeError = 0;
-
- for ($i = 0; $i < $this->numRoots; ++$i) {
- $syndromeError |= $syndromes[$i];
- $syndromes[$i] = $this->indexOf[$syndromes[$i]];
- }
-
- if (! $syndromeError) {
- // If syndrome is zero, data[] is a codeword and there are no errors to correct, so return data[]
- // unmodified.
- return 0;
- }
-
- $lambda[0] = 1;
-
- if ($numErasures > 0) {
- // Init lambda to be the erasure locator polynomial
- $lambda[1] = $this->alphaTo[$this->modNn($this->primitive * ($this->blockSize - 1 - $erasures[0]))];
-
- for ($i = 1; $i < $numErasures; ++$i) {
- $u = $this->modNn($this->primitive * ($this->blockSize - 1 - $erasures[$i]));
-
- for ($j = $i + 1; $j > 0; --$j) {
- $tmp = $this->indexOf[$lambda[$j - 1]];
-
- if ($tmp !== $this->blockSize) {
- $lambda[$j] = $lambda[$j] ^ $this->alphaTo[$this->modNn($u + $tmp)];
- }
- }
- }
- }
-
- for ($i = 0; $i <= $this->numRoots; ++$i) {
- $b[$i] = $this->indexOf[$lambda[$i]];
- }
-
- // Begin Berlekamp-Massey algorithm to determine error+erasure locator polynomial
- $r = $numErasures;
- $el = $numErasures;
-
- while (++$r <= $this->numRoots) {
- // Compute discrepancy at the r-th step in poly form
- $discrepancyR = 0;
-
- for ($i = 0; $i < $r; ++$i) {
- if ($lambda[$i] !== 0 && $syndromes[$r - $i - 1] !== $this->blockSize) {
- $discrepancyR ^= $this->alphaTo[
- $this->modNn($this->indexOf[$lambda[$i]] + $syndromes[$r - $i - 1])
- ];
- }
- }
-
- $discrepancyR = $this->indexOf[$discrepancyR];
-
- if ($discrepancyR === $this->blockSize) {
- $tmp = $b->toArray();
- array_unshift($tmp, $this->blockSize);
- array_pop($tmp);
- $b = SplFixedArray::fromArray($tmp, false);
- continue;
- }
-
- $t[0] = $lambda[0];
-
- for ($i = 0; $i < $this->numRoots; ++$i) {
- if ($b[$i] !== $this->blockSize) {
- $t[$i + 1] = $lambda[$i + 1] ^ $this->alphaTo[$this->modNn($discrepancyR + $b[$i])];
- } else {
- $t[$i + 1] = $lambda[$i + 1];
- }
- }
-
- if (2 * $el <= $r + $numErasures - 1) {
- $el = $r + $numErasures - $el;
-
- for ($i = 0; $i <= $this->numRoots; ++$i) {
- $b[$i] = (
- $lambda[$i] === 0
- ? $this->blockSize
- : $this->modNn($this->indexOf[$lambda[$i]] - $discrepancyR + $this->blockSize)
- );
- }
- } else {
- $tmp = $b->toArray();
- array_unshift($tmp, $this->blockSize);
- array_pop($tmp);
- $b = SplFixedArray::fromArray($tmp, false);
- }
-
- $lambda = clone $t;
- }
-
- // Convert lambda to index form and compute deg(lambda(x))
- $degLambda = 0;
-
- for ($i = 0; $i <= $this->numRoots; ++$i) {
- $lambda[$i] = $this->indexOf[$lambda[$i]];
-
- if ($lambda[$i] !== $this->blockSize) {
- $degLambda = $i;
- }
- }
-
- // Find roots of the error+erasure locator polynomial by Chien search.
- $reg = clone $lambda;
- $reg[0] = 0;
- $count = 0;
- $i = 1;
-
- for ($k = $this->iPrimitive - 1; $i <= $this->blockSize; ++$i, $k = $this->modNn($k + $this->iPrimitive)) {
- $q = 1;
-
- for ($j = $degLambda; $j > 0; $j--) {
- if ($reg[$j] !== $this->blockSize) {
- $reg[$j] = $this->modNn($reg[$j] + $j);
- $q ^= $this->alphaTo[$reg[$j]];
- }
- }
-
- if ($q !== 0) {
- // Not a root
- continue;
- }
-
- // Store root (index-form) and error location number
- $root[$count] = $i;
- $loc[$count] = $k;
-
- if (++$count === $degLambda) {
- break;
- }
- }
-
- if ($degLambda !== $count) {
- // deg(lambda) unequal to number of roots: uncorrectable error detected
- return null;
- }
-
- // Compute err+eras evaluate poly omega(x) = s(x)*lambda(x) (modulo x**numRoots). In index form. Also find
- // deg(omega).
- $degOmega = $degLambda - 1;
-
- for ($i = 0; $i <= $degOmega; ++$i) {
- $tmp = 0;
-
- for ($j = $i; $j >= 0; --$j) {
- if ($syndromes[$i - $j] !== $this->blockSize && $lambda[$j] !== $this->blockSize) {
- $tmp ^= $this->alphaTo[$this->modNn($syndromes[$i - $j] + $lambda[$j])];
- }
- }
-
- $omega[$i] = $this->indexOf[$tmp];
- }
-
- // Compute error values in poly-form. num1 = omega(inv(X(l))), num2 = inv(X(l))**(firstRoot-1) and
- // den = lambda_pr(inv(X(l))) all in poly form.
- for ($j = $count - 1; $j >= 0; --$j) {
- $num1 = 0;
-
- for ($i = $degOmega; $i >= 0; $i--) {
- if ($omega[$i] !== $this->blockSize) {
- $num1 ^= $this->alphaTo[$this->modNn($omega[$i] + $i * $root[$j])];
- }
- }
-
- $num2 = $this->alphaTo[$this->modNn($root[$j] * ($this->firstRoot - 1) + $this->blockSize)];
- $den = 0;
-
- // lambda[i+1] for i even is the formal derivativelambda_pr of lambda[i]
- for ($i = min($degLambda, $this->numRoots - 1) & ~1; $i >= 0; $i -= 2) {
- if ($lambda[$i + 1] !== $this->blockSize) {
- $den ^= $this->alphaTo[$this->modNn($lambda[$i + 1] + $i * $root[$j])];
- }
- }
-
- // Apply error to data
- if ($num1 !== 0 && $loc[$j] >= $this->padding) {
- $data[$loc[$j] - $this->padding] = $data[$loc[$j] - $this->padding] ^ (
- $this->alphaTo[
- $this->modNn(
- $this->indexOf[$num1] + $this->indexOf[$num2] + $this->blockSize - $this->indexOf[$den]
- )
- ]
- );
- }
- }
-
- if (null !== $erasures) {
- if (count($erasures) < $count) {
- $erasures->setSize($count);
- }
-
- for ($i = 0; $i < $count; $i++) {
- $erasures[$i] = $loc[$i];
- }
- }
-
- return $count;
- }
-
- /**
- * Computes $x % GF_SIZE, where GF_SIZE is 2**GF_BITS - 1, without a slow divide.
- */
- private function modNn(int $x) : int
- {
- while ($x >= $this->blockSize) {
- $x -= $this->blockSize;
- $x = ($x >> $this->symbolSize) + ($x & $this->blockSize);
- }
-
- return $x;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Version.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Version.php
deleted file mode 100644
index 917d048..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Version.php
+++ /dev/null
@@ -1,596 +0,0 @@
-|null
- */
- private static $versions;
-
- /**
- * @param int[] $alignmentPatternCenters
- */
- private function __construct(
- int $versionNumber,
- array $alignmentPatternCenters,
- EcBlocks ...$ecBlocks
- ) {
- $this->versionNumber = $versionNumber;
- $this->alignmentPatternCenters = $alignmentPatternCenters;
- $this->ecBlocks = $ecBlocks;
-
- $totalCodewords = 0;
- $ecCodewords = $ecBlocks[0]->getEcCodewordsPerBlock();
-
- foreach ($ecBlocks[0]->getEcBlocks() as $ecBlock) {
- $totalCodewords += $ecBlock->getCount() * ($ecBlock->getDataCodewords() + $ecCodewords);
- }
-
- $this->totalCodewords = $totalCodewords;
- }
-
- /**
- * Returns the version number.
- */
- public function getVersionNumber() : int
- {
- return $this->versionNumber;
- }
-
- /**
- * Returns the alignment pattern centers.
- *
- * @return int[]
- */
- public function getAlignmentPatternCenters() : array
- {
- return $this->alignmentPatternCenters;
- }
-
- /**
- * Returns the total number of codewords.
- */
- public function getTotalCodewords() : int
- {
- return $this->totalCodewords;
- }
-
- /**
- * Calculates the dimension for the current version.
- */
- public function getDimensionForVersion() : int
- {
- return 17 + 4 * $this->versionNumber;
- }
-
- /**
- * Returns the number of EC blocks for a specific EC level.
- */
- public function getEcBlocksForLevel(ErrorCorrectionLevel $ecLevel) : EcBlocks
- {
- return $this->ecBlocks[$ecLevel->ordinal()];
- }
-
- /**
- * Gets a provisional version number for a specific dimension.
- *
- * @throws InvalidArgumentException if dimension is not 1 mod 4
- */
- public static function getProvisionalVersionForDimension(int $dimension) : self
- {
- if (1 !== $dimension % 4) {
- throw new InvalidArgumentException('Dimension is not 1 mod 4');
- }
-
- return self::getVersionForNumber(intdiv($dimension - 17, 4));
- }
-
- /**
- * Gets a version instance for a specific version number.
- *
- * @throws InvalidArgumentException if version number is out of range
- */
- public static function getVersionForNumber(int $versionNumber) : self
- {
- if ($versionNumber < 1 || $versionNumber > 40) {
- throw new InvalidArgumentException('Version number must be between 1 and 40');
- }
-
- return self::versions()[$versionNumber - 1];
- }
-
- /**
- * Decodes version information from an integer and returns the version.
- */
- public static function decodeVersionInformation(int $versionBits) : ?self
- {
- $bestDifference = PHP_INT_MAX;
- $bestVersion = 0;
-
- foreach (self::VERSION_DECODE_INFO as $i => $targetVersion) {
- if ($targetVersion === $versionBits) {
- return self::getVersionForNumber($i + 7);
- }
-
- $bitsDifference = FormatInformation::numBitsDiffering($versionBits, $targetVersion);
-
- if ($bitsDifference < $bestDifference) {
- $bestVersion = $i + 7;
- $bestDifference = $bitsDifference;
- }
- }
-
- if ($bestDifference <= 3) {
- return self::getVersionForNumber($bestVersion);
- }
-
- return null;
- }
-
- /**
- * Builds the function pattern for the current version.
- */
- public function buildFunctionPattern() : BitMatrix
- {
- $dimension = $this->getDimensionForVersion();
- $bitMatrix = new BitMatrix($dimension);
-
- // Top left finder pattern + separator + format
- $bitMatrix->setRegion(0, 0, 9, 9);
- // Top right finder pattern + separator + format
- $bitMatrix->setRegion($dimension - 8, 0, 8, 9);
- // Bottom left finder pattern + separator + format
- $bitMatrix->setRegion(0, $dimension - 8, 9, 8);
-
- // Alignment patterns
- $max = count($this->alignmentPatternCenters);
-
- for ($x = 0; $x < $max; ++$x) {
- $i = $this->alignmentPatternCenters[$x] - 2;
-
- for ($y = 0; $y < $max; ++$y) {
- if (($x === 0 && ($y === 0 || $y === $max - 1)) || ($x === $max - 1 && $y === 0)) {
- // No alignment patterns near the three finder paterns
- continue;
- }
-
- $bitMatrix->setRegion($this->alignmentPatternCenters[$y] - 2, $i, 5, 5);
- }
- }
-
- // Vertical timing pattern
- $bitMatrix->setRegion(6, 9, 1, $dimension - 17);
- // Horizontal timing pattern
- $bitMatrix->setRegion(9, 6, $dimension - 17, 1);
-
- if ($this->versionNumber > 6) {
- // Version info, top right
- $bitMatrix->setRegion($dimension - 11, 0, 3, 6);
- // Version info, bottom left
- $bitMatrix->setRegion(0, $dimension - 11, 6, 3);
- }
-
- return $bitMatrix;
- }
-
- /**
- * Returns a string representation for the version.
- */
- public function __toString() : string
- {
- return (string) $this->versionNumber;
- }
-
- /**
- * Build and cache a specific version.
- *
- * See ISO 18004:2006 6.5.1 Table 9.
- *
- * @return array
- */
- private static function versions() : array
- {
- if (null !== self::$versions) {
- return self::$versions;
- }
-
- return self::$versions = [
- new self(
- 1,
- [],
- new EcBlocks(7, new EcBlock(1, 19)),
- new EcBlocks(10, new EcBlock(1, 16)),
- new EcBlocks(13, new EcBlock(1, 13)),
- new EcBlocks(17, new EcBlock(1, 9))
- ),
- new self(
- 2,
- [6, 18],
- new EcBlocks(10, new EcBlock(1, 34)),
- new EcBlocks(16, new EcBlock(1, 28)),
- new EcBlocks(22, new EcBlock(1, 22)),
- new EcBlocks(28, new EcBlock(1, 16))
- ),
- new self(
- 3,
- [6, 22],
- new EcBlocks(15, new EcBlock(1, 55)),
- new EcBlocks(26, new EcBlock(1, 44)),
- new EcBlocks(18, new EcBlock(2, 17)),
- new EcBlocks(22, new EcBlock(2, 13))
- ),
- new self(
- 4,
- [6, 26],
- new EcBlocks(20, new EcBlock(1, 80)),
- new EcBlocks(18, new EcBlock(2, 32)),
- new EcBlocks(26, new EcBlock(3, 24)),
- new EcBlocks(16, new EcBlock(4, 9))
- ),
- new self(
- 5,
- [6, 30],
- new EcBlocks(26, new EcBlock(1, 108)),
- new EcBlocks(24, new EcBlock(2, 43)),
- new EcBlocks(18, new EcBlock(2, 15), new EcBlock(2, 16)),
- new EcBlocks(22, new EcBlock(2, 11), new EcBlock(2, 12))
- ),
- new self(
- 6,
- [6, 34],
- new EcBlocks(18, new EcBlock(2, 68)),
- new EcBlocks(16, new EcBlock(4, 27)),
- new EcBlocks(24, new EcBlock(4, 19)),
- new EcBlocks(28, new EcBlock(4, 15))
- ),
- new self(
- 7,
- [6, 22, 38],
- new EcBlocks(20, new EcBlock(2, 78)),
- new EcBlocks(18, new EcBlock(4, 31)),
- new EcBlocks(18, new EcBlock(2, 14), new EcBlock(4, 15)),
- new EcBlocks(26, new EcBlock(4, 13), new EcBlock(1, 14))
- ),
- new self(
- 8,
- [6, 24, 42],
- new EcBlocks(24, new EcBlock(2, 97)),
- new EcBlocks(22, new EcBlock(2, 38), new EcBlock(2, 39)),
- new EcBlocks(22, new EcBlock(4, 18), new EcBlock(2, 19)),
- new EcBlocks(26, new EcBlock(4, 14), new EcBlock(2, 15))
- ),
- new self(
- 9,
- [6, 26, 46],
- new EcBlocks(30, new EcBlock(2, 116)),
- new EcBlocks(22, new EcBlock(3, 36), new EcBlock(2, 37)),
- new EcBlocks(20, new EcBlock(4, 16), new EcBlock(4, 17)),
- new EcBlocks(24, new EcBlock(4, 12), new EcBlock(4, 13))
- ),
- new self(
- 10,
- [6, 28, 50],
- new EcBlocks(18, new EcBlock(2, 68), new EcBlock(2, 69)),
- new EcBlocks(26, new EcBlock(4, 43), new EcBlock(1, 44)),
- new EcBlocks(24, new EcBlock(6, 19), new EcBlock(2, 20)),
- new EcBlocks(28, new EcBlock(6, 15), new EcBlock(2, 16))
- ),
- new self(
- 11,
- [6, 30, 54],
- new EcBlocks(20, new EcBlock(4, 81)),
- new EcBlocks(30, new EcBlock(1, 50), new EcBlock(4, 51)),
- new EcBlocks(28, new EcBlock(4, 22), new EcBlock(4, 23)),
- new EcBlocks(24, new EcBlock(3, 12), new EcBlock(8, 13))
- ),
- new self(
- 12,
- [6, 32, 58],
- new EcBlocks(24, new EcBlock(2, 92), new EcBlock(2, 93)),
- new EcBlocks(22, new EcBlock(6, 36), new EcBlock(2, 37)),
- new EcBlocks(26, new EcBlock(4, 20), new EcBlock(6, 21)),
- new EcBlocks(28, new EcBlock(7, 14), new EcBlock(4, 15))
- ),
- new self(
- 13,
- [6, 34, 62],
- new EcBlocks(26, new EcBlock(4, 107)),
- new EcBlocks(22, new EcBlock(8, 37), new EcBlock(1, 38)),
- new EcBlocks(24, new EcBlock(8, 20), new EcBlock(4, 21)),
- new EcBlocks(22, new EcBlock(12, 11), new EcBlock(4, 12))
- ),
- new self(
- 14,
- [6, 26, 46, 66],
- new EcBlocks(30, new EcBlock(3, 115), new EcBlock(1, 116)),
- new EcBlocks(24, new EcBlock(4, 40), new EcBlock(5, 41)),
- new EcBlocks(20, new EcBlock(11, 16), new EcBlock(5, 17)),
- new EcBlocks(24, new EcBlock(11, 12), new EcBlock(5, 13))
- ),
- new self(
- 15,
- [6, 26, 48, 70],
- new EcBlocks(22, new EcBlock(5, 87), new EcBlock(1, 88)),
- new EcBlocks(24, new EcBlock(5, 41), new EcBlock(5, 42)),
- new EcBlocks(30, new EcBlock(5, 24), new EcBlock(7, 25)),
- new EcBlocks(24, new EcBlock(11, 12), new EcBlock(7, 13))
- ),
- new self(
- 16,
- [6, 26, 50, 74],
- new EcBlocks(24, new EcBlock(5, 98), new EcBlock(1, 99)),
- new EcBlocks(28, new EcBlock(7, 45), new EcBlock(3, 46)),
- new EcBlocks(24, new EcBlock(15, 19), new EcBlock(2, 20)),
- new EcBlocks(30, new EcBlock(3, 15), new EcBlock(13, 16))
- ),
- new self(
- 17,
- [6, 30, 54, 78],
- new EcBlocks(28, new EcBlock(1, 107), new EcBlock(5, 108)),
- new EcBlocks(28, new EcBlock(10, 46), new EcBlock(1, 47)),
- new EcBlocks(28, new EcBlock(1, 22), new EcBlock(15, 23)),
- new EcBlocks(28, new EcBlock(2, 14), new EcBlock(17, 15))
- ),
- new self(
- 18,
- [6, 30, 56, 82],
- new EcBlocks(30, new EcBlock(5, 120), new EcBlock(1, 121)),
- new EcBlocks(26, new EcBlock(9, 43), new EcBlock(4, 44)),
- new EcBlocks(28, new EcBlock(17, 22), new EcBlock(1, 23)),
- new EcBlocks(28, new EcBlock(2, 14), new EcBlock(19, 15))
- ),
- new self(
- 19,
- [6, 30, 58, 86],
- new EcBlocks(28, new EcBlock(3, 113), new EcBlock(4, 114)),
- new EcBlocks(26, new EcBlock(3, 44), new EcBlock(11, 45)),
- new EcBlocks(26, new EcBlock(17, 21), new EcBlock(4, 22)),
- new EcBlocks(26, new EcBlock(9, 13), new EcBlock(16, 14))
- ),
- new self(
- 20,
- [6, 34, 62, 90],
- new EcBlocks(28, new EcBlock(3, 107), new EcBlock(5, 108)),
- new EcBlocks(26, new EcBlock(3, 41), new EcBlock(13, 42)),
- new EcBlocks(30, new EcBlock(15, 24), new EcBlock(5, 25)),
- new EcBlocks(28, new EcBlock(15, 15), new EcBlock(10, 16))
- ),
- new self(
- 21,
- [6, 28, 50, 72, 94],
- new EcBlocks(28, new EcBlock(4, 116), new EcBlock(4, 117)),
- new EcBlocks(26, new EcBlock(17, 42)),
- new EcBlocks(28, new EcBlock(17, 22), new EcBlock(6, 23)),
- new EcBlocks(30, new EcBlock(19, 16), new EcBlock(6, 17))
- ),
- new self(
- 22,
- [6, 26, 50, 74, 98],
- new EcBlocks(28, new EcBlock(2, 111), new EcBlock(7, 112)),
- new EcBlocks(28, new EcBlock(17, 46)),
- new EcBlocks(30, new EcBlock(7, 24), new EcBlock(16, 25)),
- new EcBlocks(24, new EcBlock(34, 13))
- ),
- new self(
- 23,
- [6, 30, 54, 78, 102],
- new EcBlocks(30, new EcBlock(4, 121), new EcBlock(5, 122)),
- new EcBlocks(28, new EcBlock(4, 47), new EcBlock(14, 48)),
- new EcBlocks(30, new EcBlock(11, 24), new EcBlock(14, 25)),
- new EcBlocks(30, new EcBlock(16, 15), new EcBlock(14, 16))
- ),
- new self(
- 24,
- [6, 28, 54, 80, 106],
- new EcBlocks(30, new EcBlock(6, 117), new EcBlock(4, 118)),
- new EcBlocks(28, new EcBlock(6, 45), new EcBlock(14, 46)),
- new EcBlocks(30, new EcBlock(11, 24), new EcBlock(16, 25)),
- new EcBlocks(30, new EcBlock(30, 16), new EcBlock(2, 17))
- ),
- new self(
- 25,
- [6, 32, 58, 84, 110],
- new EcBlocks(26, new EcBlock(8, 106), new EcBlock(4, 107)),
- new EcBlocks(28, new EcBlock(8, 47), new EcBlock(13, 48)),
- new EcBlocks(30, new EcBlock(7, 24), new EcBlock(22, 25)),
- new EcBlocks(30, new EcBlock(22, 15), new EcBlock(13, 16))
- ),
- new self(
- 26,
- [6, 30, 58, 86, 114],
- new EcBlocks(28, new EcBlock(10, 114), new EcBlock(2, 115)),
- new EcBlocks(28, new EcBlock(19, 46), new EcBlock(4, 47)),
- new EcBlocks(28, new EcBlock(28, 22), new EcBlock(6, 23)),
- new EcBlocks(30, new EcBlock(33, 16), new EcBlock(4, 17))
- ),
- new self(
- 27,
- [6, 34, 62, 90, 118],
- new EcBlocks(30, new EcBlock(8, 122), new EcBlock(4, 123)),
- new EcBlocks(28, new EcBlock(22, 45), new EcBlock(3, 46)),
- new EcBlocks(30, new EcBlock(8, 23), new EcBlock(26, 24)),
- new EcBlocks(30, new EcBlock(12, 15), new EcBlock(28, 16))
- ),
- new self(
- 28,
- [6, 26, 50, 74, 98, 122],
- new EcBlocks(30, new EcBlock(3, 117), new EcBlock(10, 118)),
- new EcBlocks(28, new EcBlock(3, 45), new EcBlock(23, 46)),
- new EcBlocks(30, new EcBlock(4, 24), new EcBlock(31, 25)),
- new EcBlocks(30, new EcBlock(11, 15), new EcBlock(31, 16))
- ),
- new self(
- 29,
- [6, 30, 54, 78, 102, 126],
- new EcBlocks(30, new EcBlock(7, 116), new EcBlock(7, 117)),
- new EcBlocks(28, new EcBlock(21, 45), new EcBlock(7, 46)),
- new EcBlocks(30, new EcBlock(1, 23), new EcBlock(37, 24)),
- new EcBlocks(30, new EcBlock(19, 15), new EcBlock(26, 16))
- ),
- new self(
- 30,
- [6, 26, 52, 78, 104, 130],
- new EcBlocks(30, new EcBlock(5, 115), new EcBlock(10, 116)),
- new EcBlocks(28, new EcBlock(19, 47), new EcBlock(10, 48)),
- new EcBlocks(30, new EcBlock(15, 24), new EcBlock(25, 25)),
- new EcBlocks(30, new EcBlock(23, 15), new EcBlock(25, 16))
- ),
- new self(
- 31,
- [6, 30, 56, 82, 108, 134],
- new EcBlocks(30, new EcBlock(13, 115), new EcBlock(3, 116)),
- new EcBlocks(28, new EcBlock(2, 46), new EcBlock(29, 47)),
- new EcBlocks(30, new EcBlock(42, 24), new EcBlock(1, 25)),
- new EcBlocks(30, new EcBlock(23, 15), new EcBlock(28, 16))
- ),
- new self(
- 32,
- [6, 34, 60, 86, 112, 138],
- new EcBlocks(30, new EcBlock(17, 115)),
- new EcBlocks(28, new EcBlock(10, 46), new EcBlock(23, 47)),
- new EcBlocks(30, new EcBlock(10, 24), new EcBlock(35, 25)),
- new EcBlocks(30, new EcBlock(19, 15), new EcBlock(35, 16))
- ),
- new self(
- 33,
- [6, 30, 58, 86, 114, 142],
- new EcBlocks(30, new EcBlock(17, 115), new EcBlock(1, 116)),
- new EcBlocks(28, new EcBlock(14, 46), new EcBlock(21, 47)),
- new EcBlocks(30, new EcBlock(29, 24), new EcBlock(19, 25)),
- new EcBlocks(30, new EcBlock(11, 15), new EcBlock(46, 16))
- ),
- new self(
- 34,
- [6, 34, 62, 90, 118, 146],
- new EcBlocks(30, new EcBlock(13, 115), new EcBlock(6, 116)),
- new EcBlocks(28, new EcBlock(14, 46), new EcBlock(23, 47)),
- new EcBlocks(30, new EcBlock(44, 24), new EcBlock(7, 25)),
- new EcBlocks(30, new EcBlock(59, 16), new EcBlock(1, 17))
- ),
- new self(
- 35,
- [6, 30, 54, 78, 102, 126, 150],
- new EcBlocks(30, new EcBlock(12, 121), new EcBlock(7, 122)),
- new EcBlocks(28, new EcBlock(12, 47), new EcBlock(26, 48)),
- new EcBlocks(30, new EcBlock(39, 24), new EcBlock(14, 25)),
- new EcBlocks(30, new EcBlock(22, 15), new EcBlock(41, 16))
- ),
- new self(
- 36,
- [6, 24, 50, 76, 102, 128, 154],
- new EcBlocks(30, new EcBlock(6, 121), new EcBlock(14, 122)),
- new EcBlocks(28, new EcBlock(6, 47), new EcBlock(34, 48)),
- new EcBlocks(30, new EcBlock(46, 24), new EcBlock(10, 25)),
- new EcBlocks(30, new EcBlock(2, 15), new EcBlock(64, 16))
- ),
- new self(
- 37,
- [6, 28, 54, 80, 106, 132, 158],
- new EcBlocks(30, new EcBlock(17, 122), new EcBlock(4, 123)),
- new EcBlocks(28, new EcBlock(29, 46), new EcBlock(14, 47)),
- new EcBlocks(30, new EcBlock(49, 24), new EcBlock(10, 25)),
- new EcBlocks(30, new EcBlock(24, 15), new EcBlock(46, 16))
- ),
- new self(
- 38,
- [6, 32, 58, 84, 110, 136, 162],
- new EcBlocks(30, new EcBlock(4, 122), new EcBlock(18, 123)),
- new EcBlocks(28, new EcBlock(13, 46), new EcBlock(32, 47)),
- new EcBlocks(30, new EcBlock(48, 24), new EcBlock(14, 25)),
- new EcBlocks(30, new EcBlock(42, 15), new EcBlock(32, 16))
- ),
- new self(
- 39,
- [6, 26, 54, 82, 110, 138, 166],
- new EcBlocks(30, new EcBlock(20, 117), new EcBlock(4, 118)),
- new EcBlocks(28, new EcBlock(40, 47), new EcBlock(7, 48)),
- new EcBlocks(30, new EcBlock(43, 24), new EcBlock(22, 25)),
- new EcBlocks(30, new EcBlock(10, 15), new EcBlock(67, 16))
- ),
- new self(
- 40,
- [6, 30, 58, 86, 114, 142, 170],
- new EcBlocks(30, new EcBlock(19, 118), new EcBlock(6, 119)),
- new EcBlocks(28, new EcBlock(18, 47), new EcBlock(31, 48)),
- new EcBlocks(30, new EcBlock(34, 24), new EcBlock(34, 25)),
- new EcBlocks(30, new EcBlock(20, 15), new EcBlock(61, 16))
- ),
- ];
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/BlockPair.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/BlockPair.php
deleted file mode 100644
index be54afa..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/BlockPair.php
+++ /dev/null
@@ -1,58 +0,0 @@
-
- */
- private $dataBytes;
-
- /**
- * Error correction bytes in the block.
- *
- * @var SplFixedArray
- */
- private $errorCorrectionBytes;
-
- /**
- * Creates a new block pair.
- *
- * @param SplFixedArray $data
- * @param SplFixedArray $errorCorrection
- */
- public function __construct(SplFixedArray $data, SplFixedArray $errorCorrection)
- {
- $this->dataBytes = $data;
- $this->errorCorrectionBytes = $errorCorrection;
- }
-
- /**
- * Gets the data bytes.
- *
- * @return SplFixedArray
- */
- public function getDataBytes() : SplFixedArray
- {
- return $this->dataBytes;
- }
-
- /**
- * Gets the error correction bytes.
- *
- * @return SplFixedArray
- */
- public function getErrorCorrectionBytes() : SplFixedArray
- {
- return $this->errorCorrectionBytes;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/ByteMatrix.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/ByteMatrix.php
deleted file mode 100644
index b58cc0a..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/ByteMatrix.php
+++ /dev/null
@@ -1,150 +0,0 @@
->
- */
- private $bytes;
-
- /**
- * Width of the matrix.
- *
- * @var int
- */
- private $width;
-
- /**
- * Height of the matrix.
- *
- * @var int
- */
- private $height;
-
- public function __construct(int $width, int $height)
- {
- $this->height = $height;
- $this->width = $width;
- $this->bytes = new SplFixedArray($height);
-
- for ($y = 0; $y < $height; ++$y) {
- $this->bytes[$y] = SplFixedArray::fromArray(array_fill(0, $width, 0));
- }
- }
-
- /**
- * Gets the width of the matrix.
- */
- public function getWidth() : int
- {
- return $this->width;
- }
-
- /**
- * Gets the height of the matrix.
- */
- public function getHeight() : int
- {
- return $this->height;
- }
-
- /**
- * Gets the internal representation of the matrix.
- *
- * @return SplFixedArray>
- */
- public function getArray() : SplFixedArray
- {
- return $this->bytes;
- }
-
- /**
- * @return Traversable
- */
- public function getBytes() : Traversable
- {
- foreach ($this->bytes as $row) {
- foreach ($row as $byte) {
- yield $byte;
- }
- }
- }
-
- /**
- * Gets the byte for a specific position.
- */
- public function get(int $x, int $y) : int
- {
- return $this->bytes[$y][$x];
- }
-
- /**
- * Sets the byte for a specific position.
- */
- public function set(int $x, int $y, int $value) : void
- {
- $this->bytes[$y][$x] = $value;
- }
-
- /**
- * Clears the matrix with a specific value.
- */
- public function clear(int $value) : void
- {
- for ($y = 0; $y < $this->height; ++$y) {
- for ($x = 0; $x < $this->width; ++$x) {
- $this->bytes[$y][$x] = $value;
- }
- }
- }
-
- public function __clone()
- {
- $this->bytes = clone $this->bytes;
-
- foreach ($this->bytes as $index => $row) {
- $this->bytes[$index] = clone $row;
- }
- }
-
- /**
- * Returns a string representation of the matrix.
- */
- public function __toString() : string
- {
- $result = '';
-
- for ($y = 0; $y < $this->height; $y++) {
- for ($x = 0; $x < $this->width; $x++) {
- switch ($this->bytes[$y][$x]) {
- case 0:
- $result .= ' 0';
- break;
-
- case 1:
- $result .= ' 1';
- break;
-
- default:
- $result .= ' ';
- break;
- }
- }
-
- $result .= "\n";
- }
-
- return $result;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/Encoder.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/Encoder.php
deleted file mode 100644
index 4345f57..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/Encoder.php
+++ /dev/null
@@ -1,652 +0,0 @@
-getSize()
- + $mode->getCharacterCountBits(Version::getVersionForNumber(1))
- + $dataBits->getSize();
- $provisionalVersion = self::chooseVersion($provisionalBitsNeeded, $ecLevel);
-
- // Use that guess to calculate the right version. I am still not sure
- // this works in 100% of cases.
- $bitsNeeded = $headerBits->getSize()
- + $mode->getCharacterCountBits($provisionalVersion)
- + $dataBits->getSize();
- $version = self::chooseVersion($bitsNeeded, $ecLevel);
-
- $headerAndDataBits = new BitArray();
- $headerAndDataBits->appendBitArray($headerBits);
-
- // Find "length" of main segment and write it.
- $numLetters = (Mode::BYTE() === $mode ? $dataBits->getSizeInBytes() : strlen($content));
- self::appendLengthInfo($numLetters, $version, $mode, $headerAndDataBits);
-
- // Put data together into the overall payload.
- $headerAndDataBits->appendBitArray($dataBits);
- $ecBlocks = $version->getEcBlocksForLevel($ecLevel);
- $numDataBytes = $version->getTotalCodewords() - $ecBlocks->getTotalEcCodewords();
-
- // Terminate the bits properly.
- self::terminateBits($numDataBytes, $headerAndDataBits);
-
- // Interleave data bits with error correction code.
- $finalBits = self::interleaveWithEcBytes(
- $headerAndDataBits,
- $version->getTotalCodewords(),
- $numDataBytes,
- $ecBlocks->getNumBlocks()
- );
-
- // Choose the mask pattern.
- $dimension = $version->getDimensionForVersion();
- $matrix = new ByteMatrix($dimension, $dimension);
- $maskPattern = self::chooseMaskPattern($finalBits, $ecLevel, $version, $matrix);
-
- // Build the matrix.
- MatrixUtil::buildMatrix($finalBits, $ecLevel, $version, $maskPattern, $matrix);
-
- return new QrCode($mode, $ecLevel, $version, $maskPattern, $matrix);
- }
-
- /**
- * Gets the alphanumeric code for a byte.
- */
- private static function getAlphanumericCode(int $code) : int
- {
- if (isset(self::ALPHANUMERIC_TABLE[$code])) {
- return self::ALPHANUMERIC_TABLE[$code];
- }
-
- return -1;
- }
-
- /**
- * Chooses the best mode for a given content.
- */
- private static function chooseMode(string $content, string $encoding = null) : Mode
- {
- if (null !== $encoding && 0 === strcasecmp($encoding, 'SHIFT-JIS')) {
- return self::isOnlyDoubleByteKanji($content) ? Mode::KANJI() : Mode::BYTE();
- }
-
- $hasNumeric = false;
- $hasAlphanumeric = false;
- $contentLength = strlen($content);
-
- for ($i = 0; $i < $contentLength; ++$i) {
- $char = $content[$i];
-
- if (ctype_digit($char)) {
- $hasNumeric = true;
- } elseif (-1 !== self::getAlphanumericCode(ord($char))) {
- $hasAlphanumeric = true;
- } else {
- return Mode::BYTE();
- }
- }
-
- if ($hasAlphanumeric) {
- return Mode::ALPHANUMERIC();
- } elseif ($hasNumeric) {
- return Mode::NUMERIC();
- }
-
- return Mode::BYTE();
- }
-
- /**
- * Calculates the mask penalty for a matrix.
- */
- private static function calculateMaskPenalty(ByteMatrix $matrix) : int
- {
- return (
- MaskUtil::applyMaskPenaltyRule1($matrix)
- + MaskUtil::applyMaskPenaltyRule2($matrix)
- + MaskUtil::applyMaskPenaltyRule3($matrix)
- + MaskUtil::applyMaskPenaltyRule4($matrix)
- );
- }
-
- /**
- * Checks if content only consists of double-byte kanji characters.
- */
- private static function isOnlyDoubleByteKanji(string $content) : bool
- {
- $bytes = @iconv('utf-8', 'SHIFT-JIS', $content);
-
- if (false === $bytes) {
- return false;
- }
-
- $length = strlen($bytes);
-
- if (0 !== $length % 2) {
- return false;
- }
-
- for ($i = 0; $i < $length; $i += 2) {
- $byte = $bytes[$i] & 0xff;
-
- if (($byte < 0x81 || $byte > 0x9f) && $byte < 0xe0 || $byte > 0xeb) {
- return false;
- }
- }
-
- return true;
- }
-
- /**
- * Chooses the best mask pattern for a matrix.
- */
- private static function chooseMaskPattern(
- BitArray $bits,
- ErrorCorrectionLevel $ecLevel,
- Version $version,
- ByteMatrix $matrix
- ) : int {
- $minPenalty = PHP_INT_MAX;
- $bestMaskPattern = -1;
-
- for ($maskPattern = 0; $maskPattern < QrCode::NUM_MASK_PATTERNS; ++$maskPattern) {
- MatrixUtil::buildMatrix($bits, $ecLevel, $version, $maskPattern, $matrix);
- $penalty = self::calculateMaskPenalty($matrix);
-
- if ($penalty < $minPenalty) {
- $minPenalty = $penalty;
- $bestMaskPattern = $maskPattern;
- }
- }
-
- return $bestMaskPattern;
- }
-
- /**
- * Chooses the best version for the input.
- *
- * @throws WriterException if data is too big
- */
- private static function chooseVersion(int $numInputBits, ErrorCorrectionLevel $ecLevel) : Version
- {
- for ($versionNum = 1; $versionNum <= 40; ++$versionNum) {
- $version = Version::getVersionForNumber($versionNum);
- $numBytes = $version->getTotalCodewords();
-
- $ecBlocks = $version->getEcBlocksForLevel($ecLevel);
- $numEcBytes = $ecBlocks->getTotalEcCodewords();
-
- $numDataBytes = $numBytes - $numEcBytes;
- $totalInputBytes = intdiv($numInputBits + 8, 8);
-
- if ($numDataBytes >= $totalInputBytes) {
- return $version;
- }
- }
-
- throw new WriterException('Data too big');
- }
-
- /**
- * Terminates the bits in a bit array.
- *
- * @throws WriterException if data bits cannot fit in the QR code
- * @throws WriterException if bits size does not equal the capacity
- */
- private static function terminateBits(int $numDataBytes, BitArray $bits) : void
- {
- $capacity = $numDataBytes << 3;
-
- if ($bits->getSize() > $capacity) {
- throw new WriterException('Data bits cannot fit in the QR code');
- }
-
- for ($i = 0; $i < 4 && $bits->getSize() < $capacity; ++$i) {
- $bits->appendBit(false);
- }
-
- $numBitsInLastByte = $bits->getSize() & 0x7;
-
- if ($numBitsInLastByte > 0) {
- for ($i = $numBitsInLastByte; $i < 8; ++$i) {
- $bits->appendBit(false);
- }
- }
-
- $numPaddingBytes = $numDataBytes - $bits->getSizeInBytes();
-
- for ($i = 0; $i < $numPaddingBytes; ++$i) {
- $bits->appendBits(0 === ($i & 0x1) ? 0xec : 0x11, 8);
- }
-
- if ($bits->getSize() !== $capacity) {
- throw new WriterException('Bits size does not equal capacity');
- }
- }
-
- /**
- * Gets number of data- and EC bytes for a block ID.
- *
- * @return int[]
- * @throws WriterException if block ID is too large
- * @throws WriterException if EC bytes mismatch
- * @throws WriterException if RS blocks mismatch
- * @throws WriterException if total bytes mismatch
- */
- private static function getNumDataBytesAndNumEcBytesForBlockId(
- int $numTotalBytes,
- int $numDataBytes,
- int $numRsBlocks,
- int $blockId
- ) : array {
- if ($blockId >= $numRsBlocks) {
- throw new WriterException('Block ID too large');
- }
-
- $numRsBlocksInGroup2 = $numTotalBytes % $numRsBlocks;
- $numRsBlocksInGroup1 = $numRsBlocks - $numRsBlocksInGroup2;
- $numTotalBytesInGroup1 = intdiv($numTotalBytes, $numRsBlocks);
- $numTotalBytesInGroup2 = $numTotalBytesInGroup1 + 1;
- $numDataBytesInGroup1 = intdiv($numDataBytes, $numRsBlocks);
- $numDataBytesInGroup2 = $numDataBytesInGroup1 + 1;
- $numEcBytesInGroup1 = $numTotalBytesInGroup1 - $numDataBytesInGroup1;
- $numEcBytesInGroup2 = $numTotalBytesInGroup2 - $numDataBytesInGroup2;
-
- if ($numEcBytesInGroup1 !== $numEcBytesInGroup2) {
- throw new WriterException('EC bytes mismatch');
- }
-
- if ($numRsBlocks !== $numRsBlocksInGroup1 + $numRsBlocksInGroup2) {
- throw new WriterException('RS blocks mismatch');
- }
-
- if ($numTotalBytes !==
- (($numDataBytesInGroup1 + $numEcBytesInGroup1) * $numRsBlocksInGroup1)
- + (($numDataBytesInGroup2 + $numEcBytesInGroup2) * $numRsBlocksInGroup2)
- ) {
- throw new WriterException('Total bytes mismatch');
- }
-
- if ($blockId < $numRsBlocksInGroup1) {
- return [$numDataBytesInGroup1, $numEcBytesInGroup1];
- } else {
- return [$numDataBytesInGroup2, $numEcBytesInGroup2];
- }
- }
-
- /**
- * Interleaves data with EC bytes.
- *
- * @throws WriterException if number of bits and data bytes does not match
- * @throws WriterException if data bytes does not match offset
- * @throws WriterException if an interleaving error occurs
- */
- private static function interleaveWithEcBytes(
- BitArray $bits,
- int $numTotalBytes,
- int $numDataBytes,
- int $numRsBlocks
- ) : BitArray {
- if ($bits->getSizeInBytes() !== $numDataBytes) {
- throw new WriterException('Number of bits and data bytes does not match');
- }
-
- $dataBytesOffset = 0;
- $maxNumDataBytes = 0;
- $maxNumEcBytes = 0;
-
- $blocks = new SplFixedArray($numRsBlocks);
-
- for ($i = 0; $i < $numRsBlocks; ++$i) {
- list($numDataBytesInBlock, $numEcBytesInBlock) = self::getNumDataBytesAndNumEcBytesForBlockId(
- $numTotalBytes,
- $numDataBytes,
- $numRsBlocks,
- $i
- );
-
- $size = $numDataBytesInBlock;
- $dataBytes = $bits->toBytes(8 * $dataBytesOffset, $size);
- $ecBytes = self::generateEcBytes($dataBytes, $numEcBytesInBlock);
- $blocks[$i] = new BlockPair($dataBytes, $ecBytes);
-
- $maxNumDataBytes = max($maxNumDataBytes, $size);
- $maxNumEcBytes = max($maxNumEcBytes, count($ecBytes));
- $dataBytesOffset += $numDataBytesInBlock;
- }
-
- if ($numDataBytes !== $dataBytesOffset) {
- throw new WriterException('Data bytes does not match offset');
- }
-
- $result = new BitArray();
-
- for ($i = 0; $i < $maxNumDataBytes; ++$i) {
- foreach ($blocks as $block) {
- $dataBytes = $block->getDataBytes();
-
- if ($i < count($dataBytes)) {
- $result->appendBits($dataBytes[$i], 8);
- }
- }
- }
-
- for ($i = 0; $i < $maxNumEcBytes; ++$i) {
- foreach ($blocks as $block) {
- $ecBytes = $block->getErrorCorrectionBytes();
-
- if ($i < count($ecBytes)) {
- $result->appendBits($ecBytes[$i], 8);
- }
- }
- }
-
- if ($numTotalBytes !== $result->getSizeInBytes()) {
- throw new WriterException(
- 'Interleaving error: ' . $numTotalBytes . ' and ' . $result->getSizeInBytes() . ' differ'
- );
- }
-
- return $result;
- }
-
- /**
- * Generates EC bytes for given data.
- *
- * @param SplFixedArray $dataBytes
- * @return SplFixedArray
- */
- private static function generateEcBytes(SplFixedArray $dataBytes, int $numEcBytesInBlock) : SplFixedArray
- {
- $numDataBytes = count($dataBytes);
- $toEncode = new SplFixedArray($numDataBytes + $numEcBytesInBlock);
-
- for ($i = 0; $i < $numDataBytes; $i++) {
- $toEncode[$i] = $dataBytes[$i] & 0xff;
- }
-
- $ecBytes = new SplFixedArray($numEcBytesInBlock);
- $codec = self::getCodec($numDataBytes, $numEcBytesInBlock);
- $codec->encode($toEncode, $ecBytes);
-
- return $ecBytes;
- }
-
- /**
- * Gets an RS codec and caches it.
- */
- private static function getCodec(int $numDataBytes, int $numEcBytesInBlock) : ReedSolomonCodec
- {
- $cacheId = $numDataBytes . '-' . $numEcBytesInBlock;
-
- if (isset(self::$codecs[$cacheId])) {
- return self::$codecs[$cacheId];
- }
-
- return self::$codecs[$cacheId] = new ReedSolomonCodec(
- 8,
- 0x11d,
- 0,
- 1,
- $numEcBytesInBlock,
- 255 - $numDataBytes - $numEcBytesInBlock
- );
- }
-
- /**
- * Appends mode information to a bit array.
- */
- private static function appendModeInfo(Mode $mode, BitArray $bits) : void
- {
- $bits->appendBits($mode->getBits(), 4);
- }
-
- /**
- * Appends length information to a bit array.
- *
- * @throws WriterException if num letters is bigger than expected
- */
- private static function appendLengthInfo(int $numLetters, Version $version, Mode $mode, BitArray $bits) : void
- {
- $numBits = $mode->getCharacterCountBits($version);
-
- if ($numLetters >= (1 << $numBits)) {
- throw new WriterException($numLetters . ' is bigger than ' . ((1 << $numBits) - 1));
- }
-
- $bits->appendBits($numLetters, $numBits);
- }
-
- /**
- * Appends bytes to a bit array in a specific mode.
- *
- * @throws WriterException if an invalid mode was supplied
- */
- private static function appendBytes(string $content, Mode $mode, BitArray $bits, string $encoding) : void
- {
- switch ($mode) {
- case Mode::NUMERIC():
- self::appendNumericBytes($content, $bits);
- break;
-
- case Mode::ALPHANUMERIC():
- self::appendAlphanumericBytes($content, $bits);
- break;
-
- case Mode::BYTE():
- self::append8BitBytes($content, $bits, $encoding);
- break;
-
- case Mode::KANJI():
- self::appendKanjiBytes($content, $bits);
- break;
-
- default:
- throw new WriterException('Invalid mode: ' . $mode);
- }
- }
-
- /**
- * Appends numeric bytes to a bit array.
- */
- private static function appendNumericBytes(string $content, BitArray $bits) : void
- {
- $length = strlen($content);
- $i = 0;
-
- while ($i < $length) {
- $num1 = (int) $content[$i];
-
- if ($i + 2 < $length) {
- // Encode three numeric letters in ten bits.
- $num2 = (int) $content[$i + 1];
- $num3 = (int) $content[$i + 2];
- $bits->appendBits($num1 * 100 + $num2 * 10 + $num3, 10);
- $i += 3;
- } elseif ($i + 1 < $length) {
- // Encode two numeric letters in seven bits.
- $num2 = (int) $content[$i + 1];
- $bits->appendBits($num1 * 10 + $num2, 7);
- $i += 2;
- } else {
- // Encode one numeric letter in four bits.
- $bits->appendBits($num1, 4);
- ++$i;
- }
- }
- }
-
- /**
- * Appends alpha-numeric bytes to a bit array.
- *
- * @throws WriterException if an invalid alphanumeric code was found
- */
- private static function appendAlphanumericBytes(string $content, BitArray $bits) : void
- {
- $length = strlen($content);
- $i = 0;
-
- while ($i < $length) {
- $code1 = self::getAlphanumericCode(ord($content[$i]));
-
- if (-1 === $code1) {
- throw new WriterException('Invalid alphanumeric code');
- }
-
- if ($i + 1 < $length) {
- $code2 = self::getAlphanumericCode(ord($content[$i + 1]));
-
- if (-1 === $code2) {
- throw new WriterException('Invalid alphanumeric code');
- }
-
- // Encode two alphanumeric letters in 11 bits.
- $bits->appendBits($code1 * 45 + $code2, 11);
- $i += 2;
- } else {
- // Encode one alphanumeric letter in six bits.
- $bits->appendBits($code1, 6);
- ++$i;
- }
- }
- }
-
- /**
- * Appends regular 8-bit bytes to a bit array.
- *
- * @throws WriterException if content cannot be encoded to target encoding
- */
- private static function append8BitBytes(string $content, BitArray $bits, string $encoding) : void
- {
- $bytes = @iconv('utf-8', $encoding, $content);
-
- if (false === $bytes) {
- throw new WriterException('Could not encode content to ' . $encoding);
- }
-
- $length = strlen($bytes);
-
- for ($i = 0; $i < $length; $i++) {
- $bits->appendBits(ord($bytes[$i]), 8);
- }
- }
-
- /**
- * Appends KANJI bytes to a bit array.
- *
- * @throws WriterException if content does not seem to be encoded in SHIFT-JIS
- * @throws WriterException if an invalid byte sequence occurs
- */
- private static function appendKanjiBytes(string $content, BitArray $bits) : void
- {
- if (strlen($content) % 2 > 0) {
- // We just do a simple length check here. The for loop will check
- // individual characters.
- throw new WriterException('Content does not seem to be encoded in SHIFT-JIS');
- }
-
- $length = strlen($content);
-
- for ($i = 0; $i < $length; $i += 2) {
- $byte1 = ord($content[$i]) & 0xff;
- $byte2 = ord($content[$i + 1]) & 0xff;
- $code = ($byte1 << 8) | $byte2;
-
- if ($code >= 0x8140 && $code <= 0x9ffc) {
- $subtracted = $code - 0x8140;
- } elseif ($code >= 0xe040 && $code <= 0xebbf) {
- $subtracted = $code - 0xc140;
- } else {
- throw new WriterException('Invalid byte sequence');
- }
-
- $encoded = (($subtracted >> 8) * 0xc0) + ($subtracted & 0xff);
-
- $bits->appendBits($encoded, 13);
- }
- }
-
- /**
- * Appends ECI information to a bit array.
- */
- private static function appendEci(CharacterSetEci $eci, BitArray $bits) : void
- {
- $mode = Mode::ECI();
- $bits->appendBits($mode->getBits(), 4);
- $bits->appendBits($eci->getValue(), 8);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/MaskUtil.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/MaskUtil.php
deleted file mode 100644
index 3baddbd..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/MaskUtil.php
+++ /dev/null
@@ -1,271 +0,0 @@
-getArray();
- $width = $matrix->getWidth();
- $height = $matrix->getHeight();
-
- for ($y = 0; $y < $height - 1; ++$y) {
- for ($x = 0; $x < $width - 1; ++$x) {
- $value = $array[$y][$x];
-
- if ($value === $array[$y][$x + 1]
- && $value === $array[$y + 1][$x]
- && $value === $array[$y + 1][$x + 1]
- ) {
- ++$penalty;
- }
- }
- }
-
- return self::N2 * $penalty;
- }
-
- /**
- * Applies mask penalty rule 3 and returns the penalty.
- *
- * Finds consecutive cells of 00001011101 or 10111010000, and gives penalty
- * to them. If we find patterns like 000010111010000, we give penalties
- * twice (i.e. 40 * 2).
- */
- public static function applyMaskPenaltyRule3(ByteMatrix $matrix) : int
- {
- $penalty = 0;
- $array = $matrix->getArray();
- $width = $matrix->getWidth();
- $height = $matrix->getHeight();
-
- for ($y = 0; $y < $height; ++$y) {
- for ($x = 0; $x < $width; ++$x) {
- if ($x + 6 < $width
- && 1 === $array[$y][$x]
- && 0 === $array[$y][$x + 1]
- && 1 === $array[$y][$x + 2]
- && 1 === $array[$y][$x + 3]
- && 1 === $array[$y][$x + 4]
- && 0 === $array[$y][$x + 5]
- && 1 === $array[$y][$x + 6]
- && (
- (
- $x + 10 < $width
- && 0 === $array[$y][$x + 7]
- && 0 === $array[$y][$x + 8]
- && 0 === $array[$y][$x + 9]
- && 0 === $array[$y][$x + 10]
- )
- || (
- $x - 4 >= 0
- && 0 === $array[$y][$x - 1]
- && 0 === $array[$y][$x - 2]
- && 0 === $array[$y][$x - 3]
- && 0 === $array[$y][$x - 4]
- )
- )
- ) {
- $penalty += self::N3;
- }
-
- if ($y + 6 < $height
- && 1 === $array[$y][$x]
- && 0 === $array[$y + 1][$x]
- && 1 === $array[$y + 2][$x]
- && 1 === $array[$y + 3][$x]
- && 1 === $array[$y + 4][$x]
- && 0 === $array[$y + 5][$x]
- && 1 === $array[$y + 6][$x]
- && (
- (
- $y + 10 < $height
- && 0 === $array[$y + 7][$x]
- && 0 === $array[$y + 8][$x]
- && 0 === $array[$y + 9][$x]
- && 0 === $array[$y + 10][$x]
- )
- || (
- $y - 4 >= 0
- && 0 === $array[$y - 1][$x]
- && 0 === $array[$y - 2][$x]
- && 0 === $array[$y - 3][$x]
- && 0 === $array[$y - 4][$x]
- )
- )
- ) {
- $penalty += self::N3;
- }
- }
- }
-
- return $penalty;
- }
-
- /**
- * Applies mask penalty rule 4 and returns the penalty.
- *
- * Calculates the ratio of dark cells and gives penalty if the ratio is far
- * from 50%. It gives 10 penalty for 5% distance.
- */
- public static function applyMaskPenaltyRule4(ByteMatrix $matrix) : int
- {
- $numDarkCells = 0;
-
- $array = $matrix->getArray();
- $width = $matrix->getWidth();
- $height = $matrix->getHeight();
-
- for ($y = 0; $y < $height; ++$y) {
- $arrayY = $array[$y];
-
- for ($x = 0; $x < $width; ++$x) {
- if (1 === $arrayY[$x]) {
- ++$numDarkCells;
- }
- }
- }
-
- $numTotalCells = $height * $width;
- $darkRatio = $numDarkCells / $numTotalCells;
- $fixedPercentVariances = (int) (abs($darkRatio - 0.5) * 20);
-
- return $fixedPercentVariances * self::N4;
- }
-
- /**
- * Returns the mask bit for "getMaskPattern" at "x" and "y".
- *
- * See 8.8 of JISX0510:2004 for mask pattern conditions.
- *
- * @throws InvalidArgumentException if an invalid mask pattern was supplied
- */
- public static function getDataMaskBit(int $maskPattern, int $x, int $y) : bool
- {
- switch ($maskPattern) {
- case 0:
- $intermediate = ($y + $x) & 0x1;
- break;
-
- case 1:
- $intermediate = $y & 0x1;
- break;
-
- case 2:
- $intermediate = $x % 3;
- break;
-
- case 3:
- $intermediate = ($y + $x) % 3;
- break;
-
- case 4:
- $intermediate = (BitUtils::unsignedRightShift($y, 1) + ($x / 3)) & 0x1;
- break;
-
- case 5:
- $temp = $y * $x;
- $intermediate = ($temp & 0x1) + ($temp % 3);
- break;
-
- case 6:
- $temp = $y * $x;
- $intermediate = (($temp & 0x1) + ($temp % 3)) & 0x1;
- break;
-
- case 7:
- $temp = $y * $x;
- $intermediate = (($temp % 3) + (($y + $x) & 0x1)) & 0x1;
- break;
-
- default:
- throw new InvalidArgumentException('Invalid mask pattern: ' . $maskPattern);
- }
-
- return 0 == $intermediate;
- }
-
- /**
- * Helper function for applyMaskPenaltyRule1.
- *
- * We need this for doing this calculation in both vertical and horizontal
- * orders respectively.
- */
- private static function applyMaskPenaltyRule1Internal(ByteMatrix $matrix, bool $isHorizontal) : int
- {
- $penalty = 0;
- $iLimit = $isHorizontal ? $matrix->getHeight() : $matrix->getWidth();
- $jLimit = $isHorizontal ? $matrix->getWidth() : $matrix->getHeight();
- $array = $matrix->getArray();
-
- for ($i = 0; $i < $iLimit; ++$i) {
- $numSameBitCells = 0;
- $prevBit = -1;
-
- for ($j = 0; $j < $jLimit; $j++) {
- $bit = $isHorizontal ? $array[$i][$j] : $array[$j][$i];
-
- if ($bit === $prevBit) {
- ++$numSameBitCells;
- } else {
- if ($numSameBitCells >= 5) {
- $penalty += self::N1 + ($numSameBitCells - 5);
- }
-
- $numSameBitCells = 1;
- $prevBit = $bit;
- }
- }
-
- if ($numSameBitCells >= 5) {
- $penalty += self::N1 + ($numSameBitCells - 5);
- }
- }
-
- return $penalty;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/MatrixUtil.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/MatrixUtil.php
deleted file mode 100644
index 0967e29..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/MatrixUtil.php
+++ /dev/null
@@ -1,513 +0,0 @@
-clear(-1);
- }
-
- /**
- * Builds a complete matrix.
- */
- public static function buildMatrix(
- BitArray $dataBits,
- ErrorCorrectionLevel $level,
- Version $version,
- int $maskPattern,
- ByteMatrix $matrix
- ) : void {
- self::clearMatrix($matrix);
- self::embedBasicPatterns($version, $matrix);
- self::embedTypeInfo($level, $maskPattern, $matrix);
- self::maybeEmbedVersionInfo($version, $matrix);
- self::embedDataBits($dataBits, $maskPattern, $matrix);
- }
-
- /**
- * Removes the position detection patterns from a matrix.
- *
- * This can be useful if you need to render those patterns separately.
- */
- public static function removePositionDetectionPatterns(ByteMatrix $matrix) : void
- {
- $pdpWidth = count(self::POSITION_DETECTION_PATTERN[0]);
-
- self::removePositionDetectionPattern(0, 0, $matrix);
- self::removePositionDetectionPattern($matrix->getWidth() - $pdpWidth, 0, $matrix);
- self::removePositionDetectionPattern(0, $matrix->getWidth() - $pdpWidth, $matrix);
- }
-
- /**
- * Embeds type information into a matrix.
- */
- private static function embedTypeInfo(ErrorCorrectionLevel $level, int $maskPattern, ByteMatrix $matrix) : void
- {
- $typeInfoBits = new BitArray();
- self::makeTypeInfoBits($level, $maskPattern, $typeInfoBits);
-
- $typeInfoBitsSize = $typeInfoBits->getSize();
-
- for ($i = 0; $i < $typeInfoBitsSize; ++$i) {
- $bit = $typeInfoBits->get($typeInfoBitsSize - 1 - $i);
-
- $x1 = self::TYPE_INFO_COORDINATES[$i][0];
- $y1 = self::TYPE_INFO_COORDINATES[$i][1];
-
- $matrix->set($x1, $y1, (int) $bit);
-
- if ($i < 8) {
- $x2 = $matrix->getWidth() - $i - 1;
- $y2 = 8;
- } else {
- $x2 = 8;
- $y2 = $matrix->getHeight() - 7 + ($i - 8);
- }
-
- $matrix->set($x2, $y2, (int) $bit);
- }
- }
-
- /**
- * Generates type information bits and appends them to a bit array.
- *
- * @throws RuntimeException if bit array resulted in invalid size
- */
- private static function makeTypeInfoBits(ErrorCorrectionLevel $level, int $maskPattern, BitArray $bits) : void
- {
- $typeInfo = ($level->getBits() << 3) | $maskPattern;
- $bits->appendBits($typeInfo, 5);
-
- $bchCode = self::calculateBchCode($typeInfo, self::TYPE_INFO_POLY);
- $bits->appendBits($bchCode, 10);
-
- $maskBits = new BitArray();
- $maskBits->appendBits(self::TYPE_INFO_MASK_PATTERN, 15);
- $bits->xorBits($maskBits);
-
- if (15 !== $bits->getSize()) {
- throw new RuntimeException('Bit array resulted in invalid size: ' . $bits->getSize());
- }
- }
-
- /**
- * Embeds version information if required.
- */
- private static function maybeEmbedVersionInfo(Version $version, ByteMatrix $matrix) : void
- {
- if ($version->getVersionNumber() < 7) {
- return;
- }
-
- $versionInfoBits = new BitArray();
- self::makeVersionInfoBits($version, $versionInfoBits);
-
- $bitIndex = 6 * 3 - 1;
-
- for ($i = 0; $i < 6; ++$i) {
- for ($j = 0; $j < 3; ++$j) {
- $bit = $versionInfoBits->get($bitIndex);
- --$bitIndex;
-
- $matrix->set($i, $matrix->getHeight() - 11 + $j, (int) $bit);
- $matrix->set($matrix->getHeight() - 11 + $j, $i, (int) $bit);
- }
- }
- }
-
- /**
- * Generates version information bits and appends them to a bit array.
- *
- * @throws RuntimeException if bit array resulted in invalid size
- */
- private static function makeVersionInfoBits(Version $version, BitArray $bits) : void
- {
- $bits->appendBits($version->getVersionNumber(), 6);
-
- $bchCode = self::calculateBchCode($version->getVersionNumber(), self::VERSION_INFO_POLY);
- $bits->appendBits($bchCode, 12);
-
- if (18 !== $bits->getSize()) {
- throw new RuntimeException('Bit array resulted in invalid size: ' . $bits->getSize());
- }
- }
-
- /**
- * Calculates the BCH code for a value and a polynomial.
- */
- private static function calculateBchCode(int $value, int $poly) : int
- {
- $msbSetInPoly = self::findMsbSet($poly);
- $value <<= $msbSetInPoly - 1;
-
- while (self::findMsbSet($value) >= $msbSetInPoly) {
- $value ^= $poly << (self::findMsbSet($value) - $msbSetInPoly);
- }
-
- return $value;
- }
-
- /**
- * Finds and MSB set.
- */
- private static function findMsbSet(int $value) : int
- {
- $numDigits = 0;
-
- while (0 !== $value) {
- $value >>= 1;
- ++$numDigits;
- }
-
- return $numDigits;
- }
-
- /**
- * Embeds basic patterns into a matrix.
- */
- private static function embedBasicPatterns(Version $version, ByteMatrix $matrix) : void
- {
- self::embedPositionDetectionPatternsAndSeparators($matrix);
- self::embedDarkDotAtLeftBottomCorner($matrix);
- self::maybeEmbedPositionAdjustmentPatterns($version, $matrix);
- self::embedTimingPatterns($matrix);
- }
-
- /**
- * Embeds position detection patterns and separators into a byte matrix.
- */
- private static function embedPositionDetectionPatternsAndSeparators(ByteMatrix $matrix) : void
- {
- $pdpWidth = count(self::POSITION_DETECTION_PATTERN[0]);
-
- self::embedPositionDetectionPattern(0, 0, $matrix);
- self::embedPositionDetectionPattern($matrix->getWidth() - $pdpWidth, 0, $matrix);
- self::embedPositionDetectionPattern(0, $matrix->getWidth() - $pdpWidth, $matrix);
-
- $hspWidth = 8;
-
- self::embedHorizontalSeparationPattern(0, $hspWidth - 1, $matrix);
- self::embedHorizontalSeparationPattern($matrix->getWidth() - $hspWidth, $hspWidth - 1, $matrix);
- self::embedHorizontalSeparationPattern(0, $matrix->getWidth() - $hspWidth, $matrix);
-
- $vspSize = 7;
-
- self::embedVerticalSeparationPattern($vspSize, 0, $matrix);
- self::embedVerticalSeparationPattern($matrix->getHeight() - $vspSize - 1, 0, $matrix);
- self::embedVerticalSeparationPattern($vspSize, $matrix->getHeight() - $vspSize, $matrix);
- }
-
- /**
- * Embeds a single position detection pattern into a byte matrix.
- */
- private static function embedPositionDetectionPattern(int $xStart, int $yStart, ByteMatrix $matrix) : void
- {
- for ($y = 0; $y < 7; ++$y) {
- for ($x = 0; $x < 7; ++$x) {
- $matrix->set($xStart + $x, $yStart + $y, self::POSITION_DETECTION_PATTERN[$y][$x]);
- }
- }
- }
-
- private static function removePositionDetectionPattern(int $xStart, int $yStart, ByteMatrix $matrix) : void
- {
- for ($y = 0; $y < 7; ++$y) {
- for ($x = 0; $x < 7; ++$x) {
- $matrix->set($xStart + $x, $yStart + $y, 0);
- }
- }
- }
-
- /**
- * Embeds a single horizontal separation pattern.
- *
- * @throws RuntimeException if a byte was already set
- */
- private static function embedHorizontalSeparationPattern(int $xStart, int $yStart, ByteMatrix $matrix) : void
- {
- for ($x = 0; $x < 8; $x++) {
- if (-1 !== $matrix->get($xStart + $x, $yStart)) {
- throw new RuntimeException('Byte already set');
- }
-
- $matrix->set($xStart + $x, $yStart, 0);
- }
- }
-
- /**
- * Embeds a single vertical separation pattern.
- *
- * @throws RuntimeException if a byte was already set
- */
- private static function embedVerticalSeparationPattern(int $xStart, int $yStart, ByteMatrix $matrix) : void
- {
- for ($y = 0; $y < 7; $y++) {
- if (-1 !== $matrix->get($xStart, $yStart + $y)) {
- throw new RuntimeException('Byte already set');
- }
-
- $matrix->set($xStart, $yStart + $y, 0);
- }
- }
-
- /**
- * Embeds a dot at the left bottom corner.
- *
- * @throws RuntimeException if a byte was already set to 0
- */
- private static function embedDarkDotAtLeftBottomCorner(ByteMatrix $matrix) : void
- {
- if (0 === $matrix->get(8, $matrix->getHeight() - 8)) {
- throw new RuntimeException('Byte already set to 0');
- }
-
- $matrix->set(8, $matrix->getHeight() - 8, 1);
- }
-
- /**
- * Embeds position adjustment patterns if required.
- */
- private static function maybeEmbedPositionAdjustmentPatterns(Version $version, ByteMatrix $matrix) : void
- {
- if ($version->getVersionNumber() < 2) {
- return;
- }
-
- $index = $version->getVersionNumber() - 1;
-
- $coordinates = self::POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[$index];
- $numCoordinates = count($coordinates);
-
- for ($i = 0; $i < $numCoordinates; ++$i) {
- for ($j = 0; $j < $numCoordinates; ++$j) {
- $y = $coordinates[$i];
- $x = $coordinates[$j];
-
- if (null === $x || null === $y) {
- continue;
- }
-
- if (-1 === $matrix->get($x, $y)) {
- self::embedPositionAdjustmentPattern($x - 2, $y - 2, $matrix);
- }
- }
- }
- }
-
- /**
- * Embeds a single position adjustment pattern.
- */
- private static function embedPositionAdjustmentPattern(int $xStart, int $yStart, ByteMatrix $matrix) : void
- {
- for ($y = 0; $y < 5; $y++) {
- for ($x = 0; $x < 5; $x++) {
- $matrix->set($xStart + $x, $yStart + $y, self::POSITION_ADJUSTMENT_PATTERN[$y][$x]);
- }
- }
- }
-
- /**
- * Embeds timing patterns into a matrix.
- */
- private static function embedTimingPatterns(ByteMatrix $matrix) : void
- {
- $matrixWidth = $matrix->getWidth();
-
- for ($i = 8; $i < $matrixWidth - 8; ++$i) {
- $bit = ($i + 1) % 2;
-
- if (-1 === $matrix->get($i, 6)) {
- $matrix->set($i, 6, $bit);
- }
-
- if (-1 === $matrix->get(6, $i)) {
- $matrix->set(6, $i, $bit);
- }
- }
- }
-
- /**
- * Embeds "dataBits" using "getMaskPattern".
- *
- * For debugging purposes, it skips masking process if "getMaskPattern" is -1. See 8.7 of JISX0510:2004 (p.38) for
- * how to embed data bits.
- *
- * @throws WriterException if not all bits could be consumed
- */
- private static function embedDataBits(BitArray $dataBits, int $maskPattern, ByteMatrix $matrix) : void
- {
- $bitIndex = 0;
- $direction = -1;
-
- // Start from the right bottom cell.
- $x = $matrix->getWidth() - 1;
- $y = $matrix->getHeight() - 1;
-
- while ($x > 0) {
- // Skip vertical timing pattern.
- if (6 === $x) {
- --$x;
- }
-
- while ($y >= 0 && $y < $matrix->getHeight()) {
- for ($i = 0; $i < 2; $i++) {
- $xx = $x - $i;
-
- // Skip the cell if it's not empty.
- if (-1 !== $matrix->get($xx, $y)) {
- continue;
- }
-
- if ($bitIndex < $dataBits->getSize()) {
- $bit = $dataBits->get($bitIndex);
- ++$bitIndex;
- } else {
- // Padding bit. If there is no bit left, we'll fill the
- // left cells with 0, as described in 8.4.9 of
- // JISX0510:2004 (p. 24).
- $bit = false;
- }
-
- // Skip masking if maskPattern is -1.
- if (-1 !== $maskPattern && MaskUtil::getDataMaskBit($maskPattern, $xx, $y)) {
- $bit = ! $bit;
- }
-
- $matrix->set($xx, $y, (int) $bit);
- }
-
- $y += $direction;
- }
-
- $direction = -$direction;
- $y += $direction;
- $x -= 2;
- }
-
- // All bits should be consumed
- if ($dataBits->getSize() !== $bitIndex) {
- throw new WriterException('Not all bits consumed (' . $bitIndex . ' out of ' . $dataBits->getSize() .')');
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/QrCode.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/QrCode.php
deleted file mode 100644
index f568e88..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Encoder/QrCode.php
+++ /dev/null
@@ -1,141 +0,0 @@
-mode = $mode;
- $this->errorCorrectionLevel = $errorCorrectionLevel;
- $this->version = $version;
- $this->maskPattern = $maskPattern;
- $this->matrix = $matrix;
- }
-
- /**
- * Gets the mode.
- */
- public function getMode() : Mode
- {
- return $this->mode;
- }
-
- /**
- * Gets the EC level.
- */
- public function getErrorCorrectionLevel() : ErrorCorrectionLevel
- {
- return $this->errorCorrectionLevel;
- }
-
- /**
- * Gets the version.
- */
- public function getVersion() : Version
- {
- return $this->version;
- }
-
- /**
- * Gets the mask pattern.
- */
- public function getMaskPattern() : int
- {
- return $this->maskPattern;
- }
-
- /**
- * Gets the matrix.
- *
- * @return ByteMatrix
- */
- public function getMatrix()
- {
- return $this->matrix;
- }
-
- /**
- * Validates whether a mask pattern is valid.
- */
- public static function isValidMaskPattern(int $maskPattern) : bool
- {
- return $maskPattern > 0 && $maskPattern < self::NUM_MASK_PATTERNS;
- }
-
- /**
- * Returns a string representation of the QR code.
- */
- public function __toString() : string
- {
- $result = "<<\n"
- . ' mode: ' . $this->mode . "\n"
- . ' ecLevel: ' . $this->errorCorrectionLevel . "\n"
- . ' version: ' . $this->version . "\n"
- . ' maskPattern: ' . $this->maskPattern . "\n";
-
- if ($this->matrix === null) {
- $result .= " matrix: null\n";
- } else {
- $result .= " matrix:\n";
- $result .= $this->matrix;
- }
-
- $result .= ">>\n";
-
- return $result;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/ExceptionInterface.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/ExceptionInterface.php
deleted file mode 100644
index 6f70c20..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,10 +0,0 @@
- 100) {
- throw new Exception\InvalidArgumentException('Alpha must be between 0 and 100');
- }
-
- $this->alpha = $alpha;
- $this->baseColor = $baseColor;
- }
-
- public function getAlpha() : int
- {
- return $this->alpha;
- }
-
- public function getBaseColor() : ColorInterface
- {
- return $this->baseColor;
- }
-
- public function toRgb() : Rgb
- {
- return $this->baseColor->toRgb();
- }
-
- public function toCmyk() : Cmyk
- {
- return $this->baseColor->toCmyk();
- }
-
- public function toGray() : Gray
- {
- return $this->baseColor->toGray();
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Cmyk.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Cmyk.php
deleted file mode 100644
index d6de390..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Cmyk.php
+++ /dev/null
@@ -1,103 +0,0 @@
- 100) {
- throw new Exception\InvalidArgumentException('Cyan must be between 0 and 100');
- }
-
- if ($magenta < 0 || $magenta > 100) {
- throw new Exception\InvalidArgumentException('Magenta must be between 0 and 100');
- }
-
- if ($yellow < 0 || $yellow > 100) {
- throw new Exception\InvalidArgumentException('Yellow must be between 0 and 100');
- }
-
- if ($black < 0 || $black > 100) {
- throw new Exception\InvalidArgumentException('Black must be between 0 and 100');
- }
-
- $this->cyan = $cyan;
- $this->magenta = $magenta;
- $this->yellow = $yellow;
- $this->black = $black;
- }
-
- public function getCyan() : int
- {
- return $this->cyan;
- }
-
- public function getMagenta() : int
- {
- return $this->magenta;
- }
-
- public function getYellow() : int
- {
- return $this->yellow;
- }
-
- public function getBlack() : int
- {
- return $this->black;
- }
-
- public function toRgb() : Rgb
- {
- $k = $this->black / 100;
- $c = (-$k * $this->cyan + $k * 100 + $this->cyan) / 100;
- $m = (-$k * $this->magenta + $k * 100 + $this->magenta) / 100;
- $y = (-$k * $this->yellow + $k * 100 + $this->yellow) / 100;
-
- return new Rgb(
- (int) (-$c * 255 + 255),
- (int) (-$m * 255 + 255),
- (int) (-$y * 255 + 255)
- );
- }
-
- public function toCmyk() : Cmyk
- {
- return $this;
- }
-
- public function toGray() : Gray
- {
- return $this->toRgb()->toGray();
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/ColorInterface.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/ColorInterface.php
deleted file mode 100644
index b50d1ca..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/ColorInterface.php
+++ /dev/null
@@ -1,22 +0,0 @@
- 100) {
- throw new Exception\InvalidArgumentException('Gray must be between 0 and 100');
- }
-
- $this->gray = (int) $gray;
- }
-
- public function getGray() : int
- {
- return $this->gray;
- }
-
- public function toRgb() : Rgb
- {
- return new Rgb((int) ($this->gray * 2.55), (int) ($this->gray * 2.55), (int) ($this->gray * 2.55));
- }
-
- public function toCmyk() : Cmyk
- {
- return new Cmyk(0, 0, 0, 100 - $this->gray);
- }
-
- public function toGray() : Gray
- {
- return $this;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Rgb.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Rgb.php
deleted file mode 100644
index 7935406..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Color/Rgb.php
+++ /dev/null
@@ -1,88 +0,0 @@
- 255) {
- throw new Exception\InvalidArgumentException('Red must be between 0 and 255');
- }
-
- if ($green < 0 || $green > 255) {
- throw new Exception\InvalidArgumentException('Green must be between 0 and 255');
- }
-
- if ($blue < 0 || $blue > 255) {
- throw new Exception\InvalidArgumentException('Blue must be between 0 and 255');
- }
-
- $this->red = $red;
- $this->green = $green;
- $this->blue = $blue;
- }
-
- public function getRed() : int
- {
- return $this->red;
- }
-
- public function getGreen() : int
- {
- return $this->green;
- }
-
- public function getBlue() : int
- {
- return $this->blue;
- }
-
- public function toRgb() : Rgb
- {
- return $this;
- }
-
- public function toCmyk() : Cmyk
- {
- $c = 1 - ($this->red / 255);
- $m = 1 - ($this->green / 255);
- $y = 1 - ($this->blue / 255);
- $k = min($c, $m, $y);
-
- return new Cmyk(
- (int) (100 * ($c - $k) / (1 - $k)),
- (int) (100 * ($m - $k) / (1 - $k)),
- (int) (100 * ($y - $k) / (1 - $k)),
- (int) (100 * $k)
- );
- }
-
- public function toGray() : Gray
- {
- return new Gray((int) (($this->red * 0.21 + $this->green * 0.71 + $this->blue * 0.07) / 2.55));
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/CompositeEye.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/CompositeEye.php
deleted file mode 100644
index a3e1909..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/CompositeEye.php
+++ /dev/null
@@ -1,38 +0,0 @@
-externalEye = $externalEye;
- $this->internalEye = $internalEye;
- }
-
- public function getExternalPath() : Path
- {
- return $this->externalEye->getExternalPath();
- }
-
- public function getInternalPath() : Path
- {
- return $this->externalEye->getInternalPath();
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/EyeInterface.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/EyeInterface.php
deleted file mode 100644
index ab68f3c..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/EyeInterface.php
+++ /dev/null
@@ -1,26 +0,0 @@
-module = $module;
- }
-
- public function getExternalPath() : Path
- {
- $matrix = new ByteMatrix(7, 7);
-
- for ($x = 0; $x < 7; ++$x) {
- $matrix->set($x, 0, 1);
- $matrix->set($x, 6, 1);
- }
-
- for ($y = 1; $y < 6; ++$y) {
- $matrix->set(0, $y, 1);
- $matrix->set(6, $y, 1);
- }
-
- return $this->module->createPath($matrix)->translate(-3.5, -3.5);
- }
-
- public function getInternalPath() : Path
- {
- $matrix = new ByteMatrix(3, 3);
-
- for ($x = 0; $x < 3; ++$x) {
- for ($y = 0; $y < 3; ++$y) {
- $matrix->set($x, $y, 1);
- }
- }
-
- return $this->module->createPath($matrix)->translate(-1.5, -1.5);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SimpleCircleEye.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SimpleCircleEye.php
deleted file mode 100644
index 64d54ee..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SimpleCircleEye.php
+++ /dev/null
@@ -1,54 +0,0 @@
-move(-3.5, -3.5)
- ->line(3.5, -3.5)
- ->line(3.5, 3.5)
- ->line(-3.5, 3.5)
- ->close()
- ->move(-2.5, -2.5)
- ->line(-2.5, 2.5)
- ->line(2.5, 2.5)
- ->line(2.5, -2.5)
- ->close()
- ;
- }
-
- public function getInternalPath() : Path
- {
- return (new Path())
- ->move(1.5, 0)
- ->ellipticArc(1.5, 1.5, 0., false, true, 0., 1.5)
- ->ellipticArc(1.5, 1.5, 0., false, true, -1.5, 0.)
- ->ellipticArc(1.5, 1.5, 0., false, true, 0., -1.5)
- ->ellipticArc(1.5, 1.5, 0., false, true, 1.5, 0.)
- ->close()
- ;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SquareEye.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SquareEye.php
deleted file mode 100644
index a3892b4..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Eye/SquareEye.php
+++ /dev/null
@@ -1,53 +0,0 @@
-move(-3.5, -3.5)
- ->line(3.5, -3.5)
- ->line(3.5, 3.5)
- ->line(-3.5, 3.5)
- ->close()
- ->move(-2.5, -2.5)
- ->line(-2.5, 2.5)
- ->line(2.5, 2.5)
- ->line(2.5, -2.5)
- ->close()
- ;
- }
-
- public function getInternalPath() : Path
- {
- return (new Path())
- ->move(-1.5, -1.5)
- ->line(1.5, -1.5)
- ->line(1.5, 1.5)
- ->line(-1.5, 1.5)
- ->close()
- ;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/EpsImageBackEnd.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/EpsImageBackEnd.php
deleted file mode 100644
index b581b54..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/EpsImageBackEnd.php
+++ /dev/null
@@ -1,376 +0,0 @@
-eps = "%!PS-Adobe-3.0 EPSF-3.0\n"
- . "%%Creator: BaconQrCode\n"
- . sprintf("%%%%BoundingBox: 0 0 %d %d \n", $size, $size)
- . "%%BeginProlog\n"
- . "save\n"
- . "50 dict begin\n"
- . "/q { gsave } bind def\n"
- . "/Q { grestore } bind def\n"
- . "/s { scale } bind def\n"
- . "/t { translate } bind def\n"
- . "/r { rotate } bind def\n"
- . "/n { newpath } bind def\n"
- . "/m { moveto } bind def\n"
- . "/l { lineto } bind def\n"
- . "/c { curveto } bind def\n"
- . "/z { closepath } bind def\n"
- . "/f { eofill } bind def\n"
- . "/rgb { setrgbcolor } bind def\n"
- . "/cmyk { setcmykcolor } bind def\n"
- . "/gray { setgray } bind def\n"
- . "%%EndProlog\n"
- . "1 -1 s\n"
- . sprintf("0 -%d t\n", $size);
-
- if ($backgroundColor instanceof Alpha && 0 === $backgroundColor->getAlpha()) {
- return;
- }
-
- $this->eps .= wordwrap(
- '0 0 m'
- . sprintf(' %s 0 l', (string) $size)
- . sprintf(' %s %s l', (string) $size, (string) $size)
- . sprintf(' 0 %s l', (string) $size)
- . ' z'
- . ' ' .$this->getColorSetString($backgroundColor) . " f\n",
- 75,
- "\n "
- );
- }
-
- public function scale(float $size) : void
- {
- if (null === $this->eps) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->eps .= sprintf("%1\$s %1\$s s\n", round($size, self::PRECISION));
- }
-
- public function translate(float $x, float $y) : void
- {
- if (null === $this->eps) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->eps .= sprintf("%s %s t\n", round($x, self::PRECISION), round($y, self::PRECISION));
- }
-
- public function rotate(int $degrees) : void
- {
- if (null === $this->eps) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->eps .= sprintf("%d r\n", $degrees);
- }
-
- public function push() : void
- {
- if (null === $this->eps) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->eps .= "q\n";
- }
-
- public function pop() : void
- {
- if (null === $this->eps) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->eps .= "Q\n";
- }
-
- public function drawPathWithColor(Path $path, ColorInterface $color) : void
- {
- if (null === $this->eps) {
- throw new RuntimeException('No image has been started');
- }
-
- $fromX = 0;
- $fromY = 0;
- $this->eps .= wordwrap(
- 'n '
- . $this->drawPathOperations($path, $fromX, $fromY)
- . ' ' . $this->getColorSetString($color) . " f\n",
- 75,
- "\n "
- );
- }
-
- public function drawPathWithGradient(
- Path $path,
- Gradient $gradient,
- float $x,
- float $y,
- float $width,
- float $height
- ) : void {
- if (null === $this->eps) {
- throw new RuntimeException('No image has been started');
- }
-
- $fromX = 0;
- $fromY = 0;
- $this->eps .= wordwrap(
- 'q n ' . $this->drawPathOperations($path, $fromX, $fromY) . "\n",
- 75,
- "\n "
- );
-
- $this->createGradientFill($gradient, $x, $y, $width, $height);
- }
-
- public function done() : string
- {
- if (null === $this->eps) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->eps .= "%%TRAILER\nend restore\n%%EOF";
- $blob = $this->eps;
- $this->eps = null;
-
- return $blob;
- }
-
- private function drawPathOperations(Iterable $ops, &$fromX, &$fromY) : string
- {
- $pathData = [];
-
- foreach ($ops as $op) {
- switch (true) {
- case $op instanceof Move:
- $fromX = $toX = round($op->getX(), self::PRECISION);
- $fromY = $toY = round($op->getY(), self::PRECISION);
- $pathData[] = sprintf('%s %s m', $toX, $toY);
- break;
-
- case $op instanceof Line:
- $fromX = $toX = round($op->getX(), self::PRECISION);
- $fromY = $toY = round($op->getY(), self::PRECISION);
- $pathData[] = sprintf('%s %s l', $toX, $toY);
- break;
-
- case $op instanceof EllipticArc:
- $pathData[] = $this->drawPathOperations($op->toCurves($fromX, $fromY), $fromX, $fromY);
- break;
-
- case $op instanceof Curve:
- $x1 = round($op->getX1(), self::PRECISION);
- $y1 = round($op->getY1(), self::PRECISION);
- $x2 = round($op->getX2(), self::PRECISION);
- $y2 = round($op->getY2(), self::PRECISION);
- $fromX = $x3 = round($op->getX3(), self::PRECISION);
- $fromY = $y3 = round($op->getY3(), self::PRECISION);
- $pathData[] = sprintf('%s %s %s %s %s %s c', $x1, $y1, $x2, $y2, $x3, $y3);
- break;
-
- case $op instanceof Close:
- $pathData[] = 'z';
- break;
-
- default:
- throw new RuntimeException('Unexpected draw operation: ' . get_class($op));
- }
- }
-
- return implode(' ', $pathData);
- }
-
- private function createGradientFill(Gradient $gradient, float $x, float $y, float $width, float $height) : void
- {
- $startColor = $gradient->getStartColor();
- $endColor = $gradient->getEndColor();
-
- if ($startColor instanceof Alpha) {
- $startColor = $startColor->getBaseColor();
- }
-
- $startColorType = get_class($startColor);
-
- if (! in_array($startColorType, [Rgb::class, Cmyk::class, Gray::class])) {
- $startColorType = Cmyk::class;
- $startColor = $startColor->toCmyk();
- }
-
- if (get_class($endColor) !== $startColorType) {
- switch ($startColorType) {
- case Cmyk::class:
- $endColor = $endColor->toCmyk();
- break;
-
- case Rgb::class:
- $endColor = $endColor->toRgb();
- break;
-
- case Gray::class:
- $endColor = $endColor->toGray();
- break;
- }
- }
-
- $this->eps .= "eoclip\n<<\n";
-
- if ($gradient->getType() === GradientType::RADIAL()) {
- $this->eps .= " /ShadingType 3\n";
- } else {
- $this->eps .= " /ShadingType 2\n";
- }
-
- $this->eps .= " /Extend [ true true ]\n"
- . " /AntiAlias true\n";
-
- switch ($startColorType) {
- case Cmyk::class:
- $this->eps .= " /ColorSpace /DeviceCMYK\n";
- break;
-
- case Rgb::class:
- $this->eps .= " /ColorSpace /DeviceRGB\n";
- break;
-
- case Gray::class:
- $this->eps .= " /ColorSpace /DeviceGray\n";
- break;
- }
-
- switch ($gradient->getType()) {
- case GradientType::HORIZONTAL():
- $this->eps .= sprintf(
- " /Coords [ %s %s %s %s ]\n",
- round($x, self::PRECISION),
- round($y, self::PRECISION),
- round($x + $width, self::PRECISION),
- round($y, self::PRECISION)
- );
- break;
-
- case GradientType::VERTICAL():
- $this->eps .= sprintf(
- " /Coords [ %s %s %s %s ]\n",
- round($x, self::PRECISION),
- round($y, self::PRECISION),
- round($x, self::PRECISION),
- round($y + $height, self::PRECISION)
- );
- break;
-
- case GradientType::DIAGONAL():
- $this->eps .= sprintf(
- " /Coords [ %s %s %s %s ]\n",
- round($x, self::PRECISION),
- round($y, self::PRECISION),
- round($x + $width, self::PRECISION),
- round($y + $height, self::PRECISION)
- );
- break;
-
- case GradientType::INVERSE_DIAGONAL():
- $this->eps .= sprintf(
- " /Coords [ %s %s %s %s ]\n",
- round($x, self::PRECISION),
- round($y + $height, self::PRECISION),
- round($x + $width, self::PRECISION),
- round($y, self::PRECISION)
- );
- break;
-
- case GradientType::RADIAL():
- $centerX = ($x + $width) / 2;
- $centerY = ($y + $height) / 2;
-
- $this->eps .= sprintf(
- " /Coords [ %s %s 0 %s %s %s ]\n",
- round($centerX, self::PRECISION),
- round($centerY, self::PRECISION),
- round($centerX, self::PRECISION),
- round($centerY, self::PRECISION),
- round(max($width, $height) / 2, self::PRECISION)
- );
- break;
- }
-
- $this->eps .= " /Function\n"
- . " <<\n"
- . " /FunctionType 2\n"
- . " /Domain [ 0 1 ]\n"
- . sprintf(" /C0 [ %s ]\n", $this->getColorString($startColor))
- . sprintf(" /C1 [ %s ]\n", $this->getColorString($endColor))
- . " /N 1\n"
- . " >>\n>>\nshfill\nQ\n";
- }
-
- private function getColorSetString(ColorInterface $color) : string
- {
- if ($color instanceof Rgb) {
- return $this->getColorString($color) . ' rgb';
- }
-
- if ($color instanceof Cmyk) {
- return $this->getColorString($color) . ' cmyk';
- }
-
- if ($color instanceof Gray) {
- return $this->getColorString($color) . ' gray';
- }
-
- return $this->getColorSetString($color->toCmyk());
- }
-
- private function getColorString(ColorInterface $color) : string
- {
- if ($color instanceof Rgb) {
- return sprintf('%s %s %s', $color->getRed() / 255, $color->getGreen() / 255, $color->getBlue() / 255);
- }
-
- if ($color instanceof Cmyk) {
- return sprintf(
- '%s %s %s %s',
- $color->getCyan() / 100,
- $color->getMagenta() / 100,
- $color->getYellow() / 100,
- $color->getBlack() / 100
- );
- }
-
- if ($color instanceof Gray) {
- return sprintf('%s', $color->getGray() / 100);
- }
-
- return $this->getColorString($color->toCmyk());
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/ImageBackEndInterface.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/ImageBackEndInterface.php
deleted file mode 100644
index 0935819..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/ImageBackEndInterface.php
+++ /dev/null
@@ -1,87 +0,0 @@
-imageFormat = $imageFormat;
- $this->compressionQuality = $compressionQuality;
- }
-
- public function new(int $size, ColorInterface $backgroundColor) : void
- {
- $this->image = new Imagick();
- $this->image->newImage($size, $size, $this->getColorPixel($backgroundColor));
- $this->image->setImageFormat($this->imageFormat);
- $this->image->setCompressionQuality($this->compressionQuality);
- $this->draw = new ImagickDraw();
- $this->gradientCount = 0;
- $this->matrices = [new TransformationMatrix()];
- $this->matrixIndex = 0;
- }
-
- public function scale(float $size) : void
- {
- if (null === $this->draw) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->draw->scale($size, $size);
- $this->matrices[$this->matrixIndex] = $this->matrices[$this->matrixIndex]
- ->multiply(TransformationMatrix::scale($size));
- }
-
- public function translate(float $x, float $y) : void
- {
- if (null === $this->draw) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->draw->translate($x, $y);
- $this->matrices[$this->matrixIndex] = $this->matrices[$this->matrixIndex]
- ->multiply(TransformationMatrix::translate($x, $y));
- }
-
- public function rotate(int $degrees) : void
- {
- if (null === $this->draw) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->draw->rotate($degrees);
- $this->matrices[$this->matrixIndex] = $this->matrices[$this->matrixIndex]
- ->multiply(TransformationMatrix::rotate($degrees));
- }
-
- public function push() : void
- {
- if (null === $this->draw) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->draw->push();
- $this->matrices[++$this->matrixIndex] = $this->matrices[$this->matrixIndex - 1];
- }
-
- public function pop() : void
- {
- if (null === $this->draw) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->draw->pop();
- unset($this->matrices[$this->matrixIndex--]);
- }
-
- public function drawPathWithColor(Path $path, ColorInterface $color) : void
- {
- if (null === $this->draw) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->draw->setFillColor($this->getColorPixel($color));
- $this->drawPath($path);
- }
-
- public function drawPathWithGradient(
- Path $path,
- Gradient $gradient,
- float $x,
- float $y,
- float $width,
- float $height
- ) : void {
- if (null === $this->draw) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->draw->setFillPatternURL('#' . $this->createGradientFill($gradient, $x, $y, $width, $height));
- $this->drawPath($path);
- }
-
- public function done() : string
- {
- if (null === $this->draw) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->image->drawImage($this->draw);
- $blob = $this->image->getImageBlob();
- $this->draw->clear();
- $this->image->clear();
- $this->draw = null;
- $this->image = null;
- $this->gradientCount = null;
-
- return $blob;
- }
-
- private function drawPath(Path $path) : void
- {
- $this->draw->pathStart();
-
- foreach ($path as $op) {
- switch (true) {
- case $op instanceof Move:
- $this->draw->pathMoveToAbsolute($op->getX(), $op->getY());
- break;
-
- case $op instanceof Line:
- $this->draw->pathLineToAbsolute($op->getX(), $op->getY());
- break;
-
- case $op instanceof EllipticArc:
- $this->draw->pathEllipticArcAbsolute(
- $op->getXRadius(),
- $op->getYRadius(),
- $op->getXAxisAngle(),
- $op->isLargeArc(),
- $op->isSweep(),
- $op->getX(),
- $op->getY()
- );
- break;
-
- case $op instanceof Curve:
- $this->draw->pathCurveToAbsolute(
- $op->getX1(),
- $op->getY1(),
- $op->getX2(),
- $op->getY2(),
- $op->getX3(),
- $op->getY3()
- );
- break;
-
- case $op instanceof Close:
- $this->draw->pathClose();
- break;
-
- default:
- throw new RuntimeException('Unexpected draw operation: ' . get_class($op));
- }
- }
-
- $this->draw->pathFinish();
- }
-
- private function createGradientFill(Gradient $gradient, float $x, float $y, float $width, float $height) : string
- {
- list($width, $height) = $this->matrices[$this->matrixIndex]->apply($x + $width, $y + $height);
- list($x, $y) = $this->matrices[$this->matrixIndex]->apply($x, $y);
- $width -= $x;
- $height -= $y;
-
- $startColor = $this->getColorPixel($gradient->getStartColor())->getColorAsString();
- $endColor = $this->getColorPixel($gradient->getEndColor())->getColorAsString();
- $gradientImage = new Imagick();
-
- switch ($gradient->getType()) {
- case GradientType::HORIZONTAL():
- $gradientImage->newPseudoImage((int) $height, (int) $width, sprintf(
- 'gradient:%s-%s',
- $startColor,
- $endColor
- ));
- $gradientImage->rotateImage('transparent', -90);
- break;
-
- case GradientType::VERTICAL():
- $gradientImage->newPseudoImage((int) $width, (int) $height, sprintf(
- 'gradient:%s-%s',
- $startColor,
- $endColor
- ));
- break;
-
- case GradientType::DIAGONAL():
- case GradientType::INVERSE_DIAGONAL():
- $gradientImage->newPseudoImage((int) ($width * sqrt(2)), (int) ($height * sqrt(2)), sprintf(
- 'gradient:%s-%s',
- $startColor,
- $endColor
- ));
-
- if (GradientType::DIAGONAL() === $gradient->getType()) {
- $gradientImage->rotateImage('transparent', -45);
- } else {
- $gradientImage->rotateImage('transparent', -135);
- }
-
- $rotatedWidth = $gradientImage->getImageWidth();
- $rotatedHeight = $gradientImage->getImageHeight();
-
- $gradientImage->setImagePage($rotatedWidth, $rotatedHeight, 0, 0);
- $gradientImage->cropImage(
- intdiv($rotatedWidth, 2) - 2,
- intdiv($rotatedHeight, 2) - 2,
- intdiv($rotatedWidth, 4) + 1,
- intdiv($rotatedWidth, 4) + 1
- );
- break;
-
- case GradientType::RADIAL():
- $gradientImage->newPseudoImage((int) $width, (int) $height, sprintf(
- 'radial-gradient:%s-%s',
- $startColor,
- $endColor
- ));
- break;
- }
-
- $id = sprintf('g%d', ++$this->gradientCount);
- $this->draw->pushPattern($id, 0, 0, $x + $width, $y + $height);
- $this->draw->composite(Imagick::COMPOSITE_COPY, $x, $y, $width, $height, $gradientImage);
- $this->draw->popPattern();
- return $id;
- }
-
- private function getColorPixel(ColorInterface $color) : ImagickPixel
- {
- $alpha = 100;
-
- if ($color instanceof Alpha) {
- $alpha = $color->getAlpha();
- $color = $color->getBaseColor();
- }
-
- if ($color instanceof Rgb) {
- return new ImagickPixel(sprintf(
- 'rgba(%d, %d, %d, %F)',
- $color->getRed(),
- $color->getGreen(),
- $color->getBlue(),
- $alpha / 100
- ));
- }
-
- if ($color instanceof Cmyk) {
- return new ImagickPixel(sprintf(
- 'cmyka(%d, %d, %d, %d, %F)',
- $color->getCyan(),
- $color->getMagenta(),
- $color->getYellow(),
- $color->getBlack(),
- $alpha / 100
- ));
- }
-
- if ($color instanceof Gray) {
- return new ImagickPixel(sprintf(
- 'graya(%d%%, %F)',
- $color->getGray(),
- $alpha / 100
- ));
- }
-
- return $this->getColorPixel(new Alpha($alpha, $color->toRgb()));
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/SvgImageBackEnd.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/SvgImageBackEnd.php
deleted file mode 100644
index 714da6e..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/SvgImageBackEnd.php
+++ /dev/null
@@ -1,369 +0,0 @@
-xmlWriter = new XMLWriter();
- $this->xmlWriter->openMemory();
-
- $this->xmlWriter->startDocument('1.0', 'UTF-8');
- $this->xmlWriter->startElement('svg');
- $this->xmlWriter->writeAttribute('xmlns', 'http://www.w3.org/2000/svg');
- $this->xmlWriter->writeAttribute('version', '1.1');
- $this->xmlWriter->writeAttribute('width', (string) $size);
- $this->xmlWriter->writeAttribute('height', (string) $size);
- $this->xmlWriter->writeAttribute('viewBox', '0 0 '. $size . ' ' . $size);
-
- $this->gradientCount = 0;
- $this->currentStack = 0;
- $this->stack[0] = 0;
-
- $alpha = 1;
-
- if ($backgroundColor instanceof Alpha) {
- $alpha = $backgroundColor->getAlpha() / 100;
- }
-
- if (0 === $alpha) {
- return;
- }
-
- $this->xmlWriter->startElement('rect');
- $this->xmlWriter->writeAttribute('x', '0');
- $this->xmlWriter->writeAttribute('y', '0');
- $this->xmlWriter->writeAttribute('width', (string) $size);
- $this->xmlWriter->writeAttribute('height', (string) $size);
- $this->xmlWriter->writeAttribute('fill', $this->getColorString($backgroundColor));
-
- if ($alpha < 1) {
- $this->xmlWriter->writeAttribute('fill-opacity', (string) $alpha);
- }
-
- $this->xmlWriter->endElement();
- }
-
- public function scale(float $size) : void
- {
- if (null === $this->xmlWriter) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->xmlWriter->startElement('g');
- $this->xmlWriter->writeAttribute(
- 'transform',
- sprintf('scale(%s)', round($size, self::PRECISION))
- );
- ++$this->stack[$this->currentStack];
- }
-
- public function translate(float $x, float $y) : void
- {
- if (null === $this->xmlWriter) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->xmlWriter->startElement('g');
- $this->xmlWriter->writeAttribute(
- 'transform',
- sprintf('translate(%s,%s)', round($x, self::PRECISION), round($y, self::PRECISION))
- );
- ++$this->stack[$this->currentStack];
- }
-
- public function rotate(int $degrees) : void
- {
- if (null === $this->xmlWriter) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->xmlWriter->startElement('g');
- $this->xmlWriter->writeAttribute('transform', sprintf('rotate(%d)', $degrees));
- ++$this->stack[$this->currentStack];
- }
-
- public function push() : void
- {
- if (null === $this->xmlWriter) {
- throw new RuntimeException('No image has been started');
- }
-
- $this->xmlWriter->startElement('g');
- $this->stack[] = 1;
- ++$this->currentStack;
- }
-
- public function pop() : void
- {
- if (null === $this->xmlWriter) {
- throw new RuntimeException('No image has been started');
- }
-
- for ($i = 0; $i < $this->stack[$this->currentStack]; ++$i) {
- $this->xmlWriter->endElement();
- }
-
- array_pop($this->stack);
- --$this->currentStack;
- }
-
- public function drawPathWithColor(Path $path, ColorInterface $color) : void
- {
- if (null === $this->xmlWriter) {
- throw new RuntimeException('No image has been started');
- }
-
- $alpha = 1;
-
- if ($color instanceof Alpha) {
- $alpha = $color->getAlpha() / 100;
- }
-
- $this->startPathElement($path);
- $this->xmlWriter->writeAttribute('fill', $this->getColorString($color));
-
- if ($alpha < 1) {
- $this->xmlWriter->writeAttribute('fill-opacity', (string) $alpha);
- }
-
- $this->xmlWriter->endElement();
- }
-
- public function drawPathWithGradient(
- Path $path,
- Gradient $gradient,
- float $x,
- float $y,
- float $width,
- float $height
- ) : void {
- if (null === $this->xmlWriter) {
- throw new RuntimeException('No image has been started');
- }
-
- $gradientId = $this->createGradientFill($gradient, $x, $y, $width, $height);
- $this->startPathElement($path);
- $this->xmlWriter->writeAttribute('fill', 'url(#' . $gradientId . ')');
- $this->xmlWriter->endElement();
- }
-
- public function done() : string
- {
- if (null === $this->xmlWriter) {
- throw new RuntimeException('No image has been started');
- }
-
- foreach ($this->stack as $openElements) {
- for ($i = $openElements; $i > 0; --$i) {
- $this->xmlWriter->endElement();
- }
- }
-
- $this->xmlWriter->endDocument();
- $blob = $this->xmlWriter->outputMemory(true);
- $this->xmlWriter = null;
- $this->stack = null;
- $this->currentStack = null;
- $this->gradientCount = null;
-
- return $blob;
- }
-
- private function startPathElement(Path $path) : void
- {
- $pathData = [];
-
- foreach ($path as $op) {
- switch (true) {
- case $op instanceof Move:
- $pathData[] = sprintf(
- 'M%s %s',
- round($op->getX(), self::PRECISION),
- round($op->getY(), self::PRECISION)
- );
- break;
-
- case $op instanceof Line:
- $pathData[] = sprintf(
- 'L%s %s',
- round($op->getX(), self::PRECISION),
- round($op->getY(), self::PRECISION)
- );
- break;
-
- case $op instanceof EllipticArc:
- $pathData[] = sprintf(
- 'A%s %s %s %u %u %s %s',
- round($op->getXRadius(), self::PRECISION),
- round($op->getYRadius(), self::PRECISION),
- round($op->getXAxisAngle(), self::PRECISION),
- $op->isLargeArc(),
- $op->isSweep(),
- round($op->getX(), self::PRECISION),
- round($op->getY(), self::PRECISION)
- );
- break;
-
- case $op instanceof Curve:
- $pathData[] = sprintf(
- 'C%s %s %s %s %s %s',
- round($op->getX1(), self::PRECISION),
- round($op->getY1(), self::PRECISION),
- round($op->getX2(), self::PRECISION),
- round($op->getY2(), self::PRECISION),
- round($op->getX3(), self::PRECISION),
- round($op->getY3(), self::PRECISION)
- );
- break;
-
- case $op instanceof Close:
- $pathData[] = 'Z';
- break;
-
- default:
- throw new RuntimeException('Unexpected draw operation: ' . get_class($op));
- }
- }
-
- $this->xmlWriter->startElement('path');
- $this->xmlWriter->writeAttribute('fill-rule', 'evenodd');
- $this->xmlWriter->writeAttribute('d', implode('', $pathData));
- }
-
- private function createGradientFill(Gradient $gradient, float $x, float $y, float $width, float $height) : string
- {
- $this->xmlWriter->startElement('defs');
-
- $startColor = $gradient->getStartColor();
- $endColor = $gradient->getEndColor();
-
- if ($gradient->getType() === GradientType::RADIAL()) {
- $this->xmlWriter->startElement('radialGradient');
- } else {
- $this->xmlWriter->startElement('linearGradient');
- }
-
- $this->xmlWriter->writeAttribute('gradientUnits', 'userSpaceOnUse');
-
- switch ($gradient->getType()) {
- case GradientType::HORIZONTAL():
- $this->xmlWriter->writeAttribute('x1', (string) round($x, self::PRECISION));
- $this->xmlWriter->writeAttribute('y1', (string) round($y, self::PRECISION));
- $this->xmlWriter->writeAttribute('x2', (string) round($x + $width, self::PRECISION));
- $this->xmlWriter->writeAttribute('y2', (string) round($y, self::PRECISION));
- break;
-
- case GradientType::VERTICAL():
- $this->xmlWriter->writeAttribute('x1', (string) round($x, self::PRECISION));
- $this->xmlWriter->writeAttribute('y1', (string) round($y, self::PRECISION));
- $this->xmlWriter->writeAttribute('x2', (string) round($x, self::PRECISION));
- $this->xmlWriter->writeAttribute('y2', (string) round($y + $height, self::PRECISION));
- break;
-
- case GradientType::DIAGONAL():
- $this->xmlWriter->writeAttribute('x1', (string) round($x, self::PRECISION));
- $this->xmlWriter->writeAttribute('y1', (string) round($y, self::PRECISION));
- $this->xmlWriter->writeAttribute('x2', (string) round($x + $width, self::PRECISION));
- $this->xmlWriter->writeAttribute('y2', (string) round($y + $height, self::PRECISION));
- break;
-
- case GradientType::INVERSE_DIAGONAL():
- $this->xmlWriter->writeAttribute('x1', (string) round($x, self::PRECISION));
- $this->xmlWriter->writeAttribute('y1', (string) round($y + $height, self::PRECISION));
- $this->xmlWriter->writeAttribute('x2', (string) round($x + $width, self::PRECISION));
- $this->xmlWriter->writeAttribute('y2', (string) round($y, self::PRECISION));
- break;
-
- case GradientType::RADIAL():
- $this->xmlWriter->writeAttribute('cx', (string) round(($x + $width) / 2, self::PRECISION));
- $this->xmlWriter->writeAttribute('cy', (string) round(($y + $height) / 2, self::PRECISION));
- $this->xmlWriter->writeAttribute('r', (string) round(max($width, $height) / 2, self::PRECISION));
- break;
- }
-
- $id = sprintf('g%d', ++$this->gradientCount);
- $this->xmlWriter->writeAttribute('id', $id);
-
- $this->xmlWriter->startElement('stop');
- $this->xmlWriter->writeAttribute('offset', '0%');
- $this->xmlWriter->writeAttribute('stop-color', $this->getColorString($startColor));
-
- if ($startColor instanceof Alpha) {
- $this->xmlWriter->writeAttribute('stop-opacity', $startColor->getAlpha());
- }
-
- $this->xmlWriter->endElement();
-
- $this->xmlWriter->startElement('stop');
- $this->xmlWriter->writeAttribute('offset', '100%');
- $this->xmlWriter->writeAttribute('stop-color', $this->getColorString($endColor));
-
- if ($endColor instanceof Alpha) {
- $this->xmlWriter->writeAttribute('stop-opacity', $endColor->getAlpha());
- }
-
- $this->xmlWriter->endElement();
-
- $this->xmlWriter->endElement();
- $this->xmlWriter->endElement();
-
- return $id;
- }
-
- private function getColorString(ColorInterface $color) : string
- {
- $color = $color->toRgb();
-
- return sprintf(
- '#%02x%02x%02x',
- $color->getRed(),
- $color->getGreen(),
- $color->getBlue()
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/TransformationMatrix.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/TransformationMatrix.php
deleted file mode 100644
index b41ee09..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Image/TransformationMatrix.php
+++ /dev/null
@@ -1,67 +0,0 @@
-values = [1, 0, 0, 1, 0, 0];
- }
-
- public function multiply(self $other) : self
- {
- $matrix = new self();
- $matrix->values[0] = $this->values[0] * $other->values[0] + $this->values[2] * $other->values[1];
- $matrix->values[1] = $this->values[1] * $other->values[0] + $this->values[3] * $other->values[1];
- $matrix->values[2] = $this->values[0] * $other->values[2] + $this->values[2] * $other->values[3];
- $matrix->values[3] = $this->values[1] * $other->values[2] + $this->values[3] * $other->values[3];
- $matrix->values[4] = $this->values[0] * $other->values[4] + $this->values[2] * $other->values[5]
- + $this->values[4];
- $matrix->values[5] = $this->values[1] * $other->values[4] + $this->values[3] * $other->values[5]
- + $this->values[5];
-
- return $matrix;
- }
-
- public static function scale(float $size) : self
- {
- $matrix = new self();
- $matrix->values = [$size, 0, 0, $size, 0, 0];
- return $matrix;
- }
-
- public static function translate(float $x, float $y) : self
- {
- $matrix = new self();
- $matrix->values = [1, 0, 0, 1, $x, $y];
- return $matrix;
- }
-
- public static function rotate(int $degrees) : self
- {
- $matrix = new self();
- $matrix->values = [cos($degrees), sin($degrees), -sin($degrees), cos($degrees), 0, 0];
- return $matrix;
- }
-
-
- /**
- * Applies this matrix onto a point and returns the resulting viewport point.
- *
- * @return float[]
- */
- public function apply(float $x, float $y) : array
- {
- return [
- $x * $this->values[0] + $y * $this->values[2] + $this->values[4],
- $x * $this->values[2] + $x * $this->values[3] + $this->values[5],
- ];
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/ImageRenderer.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/ImageRenderer.php
deleted file mode 100644
index ab16276..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/ImageRenderer.php
+++ /dev/null
@@ -1,152 +0,0 @@
-rendererStyle = $rendererStyle;
- $this->imageBackEnd = $imageBackEnd;
- }
-
- /**
- * @throws InvalidArgumentException if matrix width doesn't match height
- */
- public function render(QrCode $qrCode) : string
- {
- $size = $this->rendererStyle->getSize();
- $margin = $this->rendererStyle->getMargin();
- $matrix = $qrCode->getMatrix();
- $matrixSize = $matrix->getWidth();
-
- if ($matrixSize !== $matrix->getHeight()) {
- throw new InvalidArgumentException('Matrix must have the same width and height');
- }
-
- $totalSize = $matrixSize + ($margin * 2);
- $moduleSize = $size / $totalSize;
- $fill = $this->rendererStyle->getFill();
-
- $this->imageBackEnd->new($size, $fill->getBackgroundColor());
- $this->imageBackEnd->scale((float) $moduleSize);
- $this->imageBackEnd->translate((float) $margin, (float) $margin);
-
- $module = $this->rendererStyle->getModule();
- $moduleMatrix = clone $matrix;
- MatrixUtil::removePositionDetectionPatterns($moduleMatrix);
- $modulePath = $this->drawEyes($matrixSize, $module->createPath($moduleMatrix));
-
- if ($fill->hasGradientFill()) {
- $this->imageBackEnd->drawPathWithGradient(
- $modulePath,
- $fill->getForegroundGradient(),
- 0,
- 0,
- $matrixSize,
- $matrixSize
- );
- } else {
- $this->imageBackEnd->drawPathWithColor($modulePath, $fill->getForegroundColor());
- }
-
- return $this->imageBackEnd->done();
- }
-
- private function drawEyes(int $matrixSize, Path $modulePath) : Path
- {
- $fill = $this->rendererStyle->getFill();
-
- $eye = $this->rendererStyle->getEye();
- $externalPath = $eye->getExternalPath();
- $internalPath = $eye->getInternalPath();
-
- $modulePath = $this->drawEye(
- $externalPath,
- $internalPath,
- $fill->getTopLeftEyeFill(),
- 3.5,
- 3.5,
- 0,
- $modulePath
- );
- $modulePath = $this->drawEye(
- $externalPath,
- $internalPath,
- $fill->getTopRightEyeFill(),
- $matrixSize - 3.5,
- 3.5,
- 90,
- $modulePath
- );
- $modulePath = $this->drawEye(
- $externalPath,
- $internalPath,
- $fill->getBottomLeftEyeFill(),
- 3.5,
- $matrixSize - 3.5,
- -90,
- $modulePath
- );
-
- return $modulePath;
- }
-
- private function drawEye(
- Path $externalPath,
- Path $internalPath,
- EyeFill $fill,
- float $xTranslation,
- float $yTranslation,
- int $rotation,
- Path $modulePath
- ) : Path {
- if ($fill->inheritsBothColors()) {
- return $modulePath
- ->append($externalPath->translate($xTranslation, $yTranslation))
- ->append($internalPath->translate($xTranslation, $yTranslation));
- }
-
- $this->imageBackEnd->push();
- $this->imageBackEnd->translate($xTranslation, $yTranslation);
-
- if (0 !== $rotation) {
- $this->imageBackEnd->rotate($rotation);
- }
-
- if ($fill->inheritsExternalColor()) {
- $modulePath = $modulePath->append($externalPath->translate($xTranslation, $yTranslation));
- } else {
- $this->imageBackEnd->drawPathWithColor($externalPath, $fill->getExternalColor());
- }
-
- if ($fill->inheritsInternalColor()) {
- $modulePath = $modulePath->append($internalPath->translate($xTranslation, $yTranslation));
- } else {
- $this->imageBackEnd->drawPathWithColor($internalPath, $fill->getInternalColor());
- }
-
- $this->imageBackEnd->pop();
-
- return $modulePath;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/DotsModule.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/DotsModule.php
deleted file mode 100644
index f536e5a..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/DotsModule.php
+++ /dev/null
@@ -1,63 +0,0 @@
- 1) {
- throw new InvalidArgumentException('Size must between 0 (exclusive) and 1 (inclusive)');
- }
-
- $this->size = $size;
- }
-
- public function createPath(ByteMatrix $matrix) : Path
- {
- $width = $matrix->getWidth();
- $height = $matrix->getHeight();
- $path = new Path();
- $halfSize = $this->size / 2;
- $margin = (1 - $this->size) / 2;
-
- for ($y = 0; $y < $height; ++$y) {
- for ($x = 0; $x < $width; ++$x) {
- if (! $matrix->get($x, $y)) {
- continue;
- }
-
- $pathX = $x + $margin;
- $pathY = $y + $margin;
-
- $path = $path
- ->move($pathX + $this->size, $pathY + $halfSize)
- ->ellipticArc($halfSize, $halfSize, 0, false, true, $pathX + $halfSize, $pathY + $this->size)
- ->ellipticArc($halfSize, $halfSize, 0, false, true, $pathX, $pathY + $halfSize)
- ->ellipticArc($halfSize, $halfSize, 0, false, true, $pathX + $halfSize, $pathY)
- ->ellipticArc($halfSize, $halfSize, 0, false, true, $pathX + $this->size, $pathY + $halfSize)
- ->close()
- ;
- }
- }
-
- return $path;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/Edge.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/Edge.php
deleted file mode 100644
index 90482f2..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/Edge.php
+++ /dev/null
@@ -1,100 +0,0 @@
-
- */
- private $points = [];
-
- /**
- * @var array|null
- */
- private $simplifiedPoints;
-
- /**
- * @var int
- */
- private $minX = PHP_INT_MAX;
-
- /**
- * @var int
- */
- private $minY = PHP_INT_MAX;
-
- /**
- * @var int
- */
- private $maxX = -1;
-
- /**
- * @var int
- */
- private $maxY = -1;
-
- public function __construct(bool $positive)
- {
- $this->positive = $positive;
- }
-
- public function addPoint(int $x, int $y) : void
- {
- $this->points[] = [$x, $y];
- $this->minX = min($this->minX, $x);
- $this->minY = min($this->minY, $y);
- $this->maxX = max($this->maxX, $x);
- $this->maxY = max($this->maxY, $y);
- }
-
- public function isPositive() : bool
- {
- return $this->positive;
- }
-
- /**
- * @return array
- */
- public function getPoints() : array
- {
- return $this->points;
- }
-
- public function getMaxX() : int
- {
- return $this->maxX;
- }
-
- public function getSimplifiedPoints() : array
- {
- if (null !== $this->simplifiedPoints) {
- return $this->simplifiedPoints;
- }
-
- $points = [];
- $length = count($this->points);
-
- for ($i = 0; $i < $length; ++$i) {
- $previousPoint = $this->points[(0 === $i ? $length : $i) - 1];
- $nextPoint = $this->points[($length - 1 === $i ? -1 : $i) + 1];
- $currentPoint = $this->points[$i];
-
- if (($previousPoint[0] === $currentPoint[0] && $currentPoint[0] === $nextPoint[0])
- || ($previousPoint[1] === $currentPoint[1] && $currentPoint[1] === $nextPoint[1])
- ) {
- continue;
- }
-
- $points[] = $currentPoint;
- }
-
- return $this->simplifiedPoints = $points;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/EdgeIterator.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/EdgeIterator.php
deleted file mode 100644
index af52d52..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/EdgeIterator/EdgeIterator.php
+++ /dev/null
@@ -1,169 +0,0 @@
-bytes = iterator_to_array($matrix->getBytes());
- $this->size = count($this->bytes);
- $this->width = $matrix->getWidth();
- $this->height = $matrix->getHeight();
- }
-
- /**
- * @return Edge[]
- */
- public function getIterator() : Traversable
- {
- $originalBytes = $this->bytes;
- $point = $this->findNext(0, 0);
-
- while (null !== $point) {
- $edge = $this->findEdge($point[0], $point[1]);
- $this->xorEdge($edge);
-
- yield $edge;
-
- $point = $this->findNext($point[0], $point[1]);
- }
-
- $this->bytes = $originalBytes;
- }
-
- /**
- * @return int[]|null
- */
- private function findNext(int $x, int $y) : ?array
- {
- $i = $this->width * $y + $x;
-
- while ($i < $this->size && 1 !== $this->bytes[$i]) {
- ++$i;
- }
-
- if ($i < $this->size) {
- return $this->pointOf($i);
- }
-
- return null;
- }
-
- private function findEdge(int $x, int $y) : Edge
- {
- $edge = new Edge($this->isSet($x, $y));
- $startX = $x;
- $startY = $y;
- $dirX = 0;
- $dirY = 1;
-
- while (true) {
- $edge->addPoint($x, $y);
- $x += $dirX;
- $y += $dirY;
-
- if ($x === $startX && $y === $startY) {
- break;
- }
-
- $left = $this->isSet($x + ($dirX + $dirY - 1 ) / 2, $y + ($dirY - $dirX - 1) / 2);
- $right = $this->isSet($x + ($dirX - $dirY - 1) / 2, $y + ($dirY + $dirX - 1) / 2);
-
- if ($right && ! $left) {
- $tmp = $dirX;
- $dirX = -$dirY;
- $dirY = $tmp;
- } elseif ($right) {
- $tmp = $dirX;
- $dirX = -$dirY;
- $dirY = $tmp;
- } elseif (! $left) {
- $tmp = $dirX;
- $dirX = $dirY;
- $dirY = -$tmp;
- }
- }
-
- return $edge;
- }
-
- private function xorEdge(Edge $path) : void
- {
- $points = $path->getPoints();
- $y1 = $points[0][1];
- $length = count($points);
- $maxX = $path->getMaxX();
-
- for ($i = 1; $i < $length; ++$i) {
- $y = $points[$i][1];
-
- if ($y === $y1) {
- continue;
- }
-
- $x = $points[$i][0];
- $minY = min($y1, $y);
-
- for ($j = $x; $j < $maxX; ++$j) {
- $this->flip($j, $minY);
- }
-
- $y1 = $y;
- }
- }
-
- private function isSet(int $x, int $y) : bool
- {
- return (
- $x >= 0
- && $x < $this->width
- && $y >= 0
- && $y < $this->height
- ) && 1 === $this->bytes[$this->width * $y + $x];
- }
-
- /**
- * @return int[]
- */
- private function pointOf(int $i) : array
- {
- $y = intdiv($i, $this->width);
- return [$i - $y * $this->width, $y];
- }
-
- private function flip(int $x, int $y) : void
- {
- $this->bytes[$this->width * $y + $x] = (
- $this->isSet($x, $y) ? 0 : 1
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/ModuleInterface.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/ModuleInterface.php
deleted file mode 100644
index 0ccb0e0..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/ModuleInterface.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 1) {
- throw new InvalidArgumentException('Intensity must between 0 (exclusive) and 1 (inclusive)');
- }
-
- $this->intensity = $intensity / 2;
- }
-
- public function createPath(ByteMatrix $matrix) : Path
- {
- $path = new Path();
-
- foreach (new EdgeIterator($matrix) as $edge) {
- $points = $edge->getSimplifiedPoints();
- $length = count($points);
-
- $currentPoint = $points[0];
- $nextPoint = $points[1];
- $horizontal = ($currentPoint[1] === $nextPoint[1]);
-
- if ($horizontal) {
- $right = $nextPoint[0] > $currentPoint[0];
- $path = $path->move(
- $currentPoint[0] + ($right ? $this->intensity : -$this->intensity),
- $currentPoint[1]
- );
- } else {
- $up = $nextPoint[0] < $currentPoint[0];
- $path = $path->move(
- $currentPoint[0],
- $currentPoint[1] + ($up ? -$this->intensity : $this->intensity)
- );
- }
-
- for ($i = 1; $i <= $length; ++$i) {
- if ($i === $length) {
- $previousPoint = $points[$length - 1];
- $currentPoint = $points[0];
- $nextPoint = $points[1];
- } else {
- $previousPoint = $points[(0 === $i ? $length : $i) - 1];
- $currentPoint = $points[$i];
- $nextPoint = $points[($length - 1 === $i ? -1 : $i) + 1];
- }
-
- $horizontal = ($previousPoint[1] === $currentPoint[1]);
-
- if ($horizontal) {
- $right = $previousPoint[0] < $currentPoint[0];
- $up = $nextPoint[1] < $currentPoint[1];
- $sweep = ($up xor $right);
-
- if ($this->intensity < 0.5
- || ($right && $previousPoint[0] !== $currentPoint[0] - 1)
- || (! $right && $previousPoint[0] - 1 !== $currentPoint[0])
- ) {
- $path = $path->line(
- $currentPoint[0] + ($right ? -$this->intensity : $this->intensity),
- $currentPoint[1]
- );
- }
-
- $path = $path->ellipticArc(
- $this->intensity,
- $this->intensity,
- 0,
- false,
- $sweep,
- $currentPoint[0],
- $currentPoint[1] + ($up ? -$this->intensity : $this->intensity)
- );
- } else {
- $up = $previousPoint[1] > $currentPoint[1];
- $right = $nextPoint[0] > $currentPoint[0];
- $sweep = ! ($up xor $right);
-
- if ($this->intensity < 0.5
- || ($up && $previousPoint[1] !== $currentPoint[1] + 1)
- || (! $up && $previousPoint[0] + 1 !== $currentPoint[0])
- ) {
- $path = $path->line(
- $currentPoint[0],
- $currentPoint[1] + ($up ? $this->intensity : -$this->intensity)
- );
- }
-
- $path = $path->ellipticArc(
- $this->intensity,
- $this->intensity,
- 0,
- false,
- $sweep,
- $currentPoint[0] + ($right ? $this->intensity : -$this->intensity),
- $currentPoint[1]
- );
- }
- }
-
- $path = $path->close();
- }
-
- return $path;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/SquareModule.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/SquareModule.php
deleted file mode 100644
index 9ab4607..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Module/SquareModule.php
+++ /dev/null
@@ -1,47 +0,0 @@
-getSimplifiedPoints();
- $length = count($points);
- $path = $path->move($points[0][0], $points[0][1]);
-
- for ($i = 1; $i < $length; ++$i) {
- $path = $path->line($points[$i][0], $points[$i][1]);
- }
-
- $path = $path->close();
- }
-
- return $path;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Close.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Close.php
deleted file mode 100644
index b07feb0..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Close.php
+++ /dev/null
@@ -1,29 +0,0 @@
-x1 = $x1;
- $this->y1 = $y1;
- $this->x2 = $x2;
- $this->y2 = $y2;
- $this->x3 = $x3;
- $this->y3 = $y3;
- }
-
- public function getX1() : float
- {
- return $this->x1;
- }
-
- public function getY1() : float
- {
- return $this->y1;
- }
-
- public function getX2() : float
- {
- return $this->x2;
- }
-
- public function getY2() : float
- {
- return $this->y2;
- }
-
- public function getX3() : float
- {
- return $this->x3;
- }
-
- public function getY3() : float
- {
- return $this->y3;
- }
-
- /**
- * @return self
- */
- public function translate(float $x, float $y) : OperationInterface
- {
- return new self(
- $this->x1 + $x,
- $this->y1 + $y,
- $this->x2 + $x,
- $this->y2 + $y,
- $this->x3 + $x,
- $this->y3 + $y
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/EllipticArc.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/EllipticArc.php
deleted file mode 100644
index eff7deb..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/EllipticArc.php
+++ /dev/null
@@ -1,278 +0,0 @@
-xRadius = abs($xRadius);
- $this->yRadius = abs($yRadius);
- $this->xAxisAngle = $xAxisAngle % 360;
- $this->largeArc = $largeArc;
- $this->sweep = $sweep;
- $this->x = $x;
- $this->y = $y;
- }
-
- public function getXRadius() : float
- {
- return $this->xRadius;
- }
-
- public function getYRadius() : float
- {
- return $this->yRadius;
- }
-
- public function getXAxisAngle() : float
- {
- return $this->xAxisAngle;
- }
-
- public function isLargeArc() : bool
- {
- return $this->largeArc;
- }
-
- public function isSweep() : bool
- {
- return $this->sweep;
- }
-
- public function getX() : float
- {
- return $this->x;
- }
-
- public function getY() : float
- {
- return $this->y;
- }
-
- /**
- * @return self
- */
- public function translate(float $x, float $y) : OperationInterface
- {
- return new self(
- $this->xRadius,
- $this->yRadius,
- $this->xAxisAngle,
- $this->largeArc,
- $this->sweep,
- $this->x + $x,
- $this->y + $y
- );
- }
-
- /**
- * Converts the elliptic arc to multiple curves.
- *
- * Since not all image back ends support elliptic arcs, this method allows to convert the arc into multiple curves
- * resembling the same result.
- *
- * @see https://mortoray.com/2017/02/16/rendering-an-svg-elliptical-arc-as-bezier-curves/
- * @return array
- */
- public function toCurves(float $fromX, float $fromY) : array
- {
- if (sqrt(($fromX - $this->x) ** 2 + ($fromY - $this->y) ** 2) < self::ZERO_TOLERANCE) {
- return [];
- }
-
- if ($this->xRadius < self::ZERO_TOLERANCE || $this->yRadius < self::ZERO_TOLERANCE) {
- return [new Line($this->x, $this->y)];
- }
-
- return $this->createCurves($fromX, $fromY);
- }
-
- /**
- * @return Curve[]
- */
- private function createCurves(float $fromX, $fromY) : array
- {
- $xAngle = deg2rad($this->xAxisAngle);
- list($centerX, $centerY, $radiusX, $radiusY, $startAngle, $deltaAngle) =
- $this->calculateCenterPointParameters($fromX, $fromY, $xAngle);
-
- $s = $startAngle;
- $e = $s + $deltaAngle;
- $sign = ($e < $s) ? -1 : 1;
- $remain = abs($e - $s);
- $p1 = self::point($centerX, $centerY, $radiusX, $radiusY, $xAngle, $s);
- $curves = [];
-
- while ($remain > self::ZERO_TOLERANCE) {
- $step = min($remain, pi() / 2);
- $signStep = $step * $sign;
- $p2 = self::point($centerX, $centerY, $radiusX, $radiusY, $xAngle, $s + $signStep);
-
- $alphaT = tan($signStep / 2);
- $alpha = sin($signStep) * (sqrt(4 + 3 * $alphaT ** 2) - 1) / 3;
- $d1 = self::derivative($radiusX, $radiusY, $xAngle, $s);
- $d2 = self::derivative($radiusX, $radiusY, $xAngle, $s + $signStep);
-
- $curves[] = new Curve(
- $p1[0] + $alpha * $d1[0],
- $p1[1] + $alpha * $d1[1],
- $p2[0] - $alpha * $d2[0],
- $p2[1] - $alpha * $d2[1],
- $p2[0],
- $p2[1]
- );
-
- $s += $signStep;
- $remain -= $step;
- $p1 = $p2;
- }
-
- return $curves;
- }
-
- /**
- * @return float[]
- */
- private function calculateCenterPointParameters(float $fromX, float $fromY, float $xAngle)
- {
- $rX = $this->xRadius;
- $rY = $this->yRadius;
-
- // F.6.5.1
- $dx2 = ($fromX - $this->x) / 2;
- $dy2 = ($fromY - $this->y) / 2;
- $x1p = cos($xAngle) * $dx2 + sin($xAngle) * $dy2;
- $y1p = -sin($xAngle) * $dx2 + cos($xAngle) * $dy2;
-
- // F.6.5.2
- $rxs = $rX ** 2;
- $rys = $rY ** 2;
- $x1ps = $x1p ** 2;
- $y1ps = $y1p ** 2;
- $cr = $x1ps / $rxs + $y1ps / $rys;
-
- if ($cr > 1) {
- $s = sqrt($cr);
- $rX *= $s;
- $rY *= $s;
- $rxs = $rX ** 2;
- $rys = $rY ** 2;
- }
-
- $dq = ($rxs * $y1ps + $rys * $x1ps);
- $pq = ($rxs * $rys - $dq) / $dq;
- $q = sqrt(max(0, $pq));
-
- if ($this->largeArc === $this->sweep) {
- $q = -$q;
- }
-
- $cxp = $q * $rX * $y1p / $rY;
- $cyp = -$q * $rY * $x1p / $rX;
-
- // F.6.5.3
- $cx = cos($xAngle) * $cxp - sin($xAngle) * $cyp + ($fromX + $this->x) / 2;
- $cy = sin($xAngle) * $cxp + cos($xAngle) * $cyp + ($fromY + $this->y) / 2;
-
- // F.6.5.5
- $theta = self::angle(1, 0, ($x1p - $cxp) / $rX, ($y1p - $cyp) / $rY);
-
- // F.6.5.6
- $delta = self::angle(($x1p - $cxp) / $rX, ($y1p - $cyp) / $rY, (-$x1p - $cxp) / $rX, (-$y1p - $cyp) / $rY);
- $delta = fmod($delta, pi() * 2);
-
- if (! $this->sweep) {
- $delta -= 2 * pi();
- }
-
- return [$cx, $cy, $rX, $rY, $theta, $delta];
- }
-
- private static function angle(float $ux, float $uy, float $vx, float $vy) : float
- {
- // F.6.5.4
- $dot = $ux * $vx + $uy * $vy;
- $length = sqrt($ux ** 2 + $uy ** 2) * sqrt($vx ** 2 + $vy ** 2);
- $angle = acos(min(1, max(-1, $dot / $length)));
-
- if (($ux * $vy - $uy * $vx) < 0) {
- return -$angle;
- }
-
- return $angle;
- }
-
- /**
- * @return float[]
- */
- private static function point(
- float $centerX,
- float $centerY,
- float $radiusX,
- float $radiusY,
- float $xAngle,
- float $angle
- ) : array {
- return [
- $centerX + $radiusX * cos($xAngle) * cos($angle) - $radiusY * sin($xAngle) * sin($angle),
- $centerY + $radiusX * sin($xAngle) * cos($angle) + $radiusY * cos($xAngle) * sin($angle),
- ];
- }
-
- /**
- * @return float[]
- */
- private static function derivative(float $radiusX, float $radiusY, float $xAngle, float $angle) : array
- {
- return [
- -$radiusX * cos($xAngle) * sin($angle) - $radiusY * sin($xAngle) * cos($angle),
- -$radiusX * sin($xAngle) * sin($angle) + $radiusY * cos($xAngle) * cos($angle),
- ];
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Line.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Line.php
deleted file mode 100644
index 3149a39..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Line.php
+++ /dev/null
@@ -1,41 +0,0 @@
-x = $x;
- $this->y = $y;
- }
-
- public function getX() : float
- {
- return $this->x;
- }
-
- public function getY() : float
- {
- return $this->y;
- }
-
- /**
- * @return self
- */
- public function translate(float $x, float $y) : OperationInterface
- {
- return new self($this->x + $x, $this->y + $y);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Move.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Move.php
deleted file mode 100644
index 007b77c..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/Move.php
+++ /dev/null
@@ -1,41 +0,0 @@
-x = $x;
- $this->y = $y;
- }
-
- public function getX() : float
- {
- return $this->x;
- }
-
- public function getY() : float
- {
- return $this->y;
- }
-
- /**
- * @return self
- */
- public function translate(float $x, float $y) : OperationInterface
- {
- return new self($this->x + $x, $this->x + $y);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/OperationInterface.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/OperationInterface.php
deleted file mode 100644
index a5fa0ed..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/Path/OperationInterface.php
+++ /dev/null
@@ -1,12 +0,0 @@
-operations[] = new Move($x, $y);
- return $path;
- }
-
- /**
- * Draws a line from the current position to another position.
- */
- public function line(float $x, float $y) : self
- {
- $path = clone $this;
- $path->operations[] = new Line($x, $y);
- return $path;
- }
-
- /**
- * Draws an elliptic arc from the current position to another position.
- */
- public function ellipticArc(
- float $xRadius,
- float $yRadius,
- float $xAxisRotation,
- bool $largeArc,
- bool $sweep,
- float $x,
- float $y
- ) : self {
- $path = clone $this;
- $path->operations[] = new EllipticArc($xRadius, $yRadius, $xAxisRotation, $largeArc, $sweep, $x, $y);
- return $path;
- }
-
- /**
- * Draws a curve from the current position to another position.
- */
- public function curve(float $x1, float $y1, float $x2, float $y2, float $x3, float $y3) : self
- {
- $path = clone $this;
- $path->operations[] = new Curve($x1, $y1, $x2, $y2, $x3, $y3);
- return $path;
- }
-
- /**
- * Closes a sub-path.
- */
- public function close() : self
- {
- $path = clone $this;
- $path->operations[] = Close::instance();
- return $path;
- }
-
- /**
- * Appends another path to this one.
- */
- public function append(self $other) : self
- {
- $path = clone $this;
- $path->operations = array_merge($this->operations, $other->operations);
- return $path;
- }
-
- public function translate(float $x, float $y) : self
- {
- $path = new self();
-
- foreach ($this->operations as $operation) {
- $path->operations[] = $operation->translate($x, $y);
- }
-
- return $path;
- }
-
- /**
- * @return OperationInterface[]|Traversable
- */
- public function getIterator() : Traversable
- {
- foreach ($this->operations as $operation) {
- yield $operation;
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/PlainTextRenderer.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/PlainTextRenderer.php
deleted file mode 100644
index 8aa7652..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/PlainTextRenderer.php
+++ /dev/null
@@ -1,86 +0,0 @@
-margin = $margin;
- }
-
- /**
- * @throws InvalidArgumentException if matrix width doesn't match height
- */
- public function render(QrCode $qrCode) : string
- {
- $matrix = $qrCode->getMatrix();
- $matrixSize = $matrix->getWidth();
-
- if ($matrixSize !== $matrix->getHeight()) {
- throw new InvalidArgumentException('Matrix must have the same width and height');
- }
-
- $rows = $matrix->getArray()->toArray();
-
- if (0 !== $matrixSize % 2) {
- $rows[] = array_fill(0, $matrixSize, 0);
- }
-
- $horizontalMargin = str_repeat(self::EMPTY_BLOCK, $this->margin);
- $result = str_repeat("\n", (int) ceil($this->margin / 2));
-
- for ($i = 0; $i < $matrixSize; $i += 2) {
- $result .= $horizontalMargin;
-
- $upperRow = $rows[$i];
- $lowerRow = $rows[$i + 1];
-
- for ($j = 0; $j < $matrixSize; ++$j) {
- $upperBit = $upperRow[$j];
- $lowerBit = $lowerRow[$j];
-
- if ($upperBit) {
- $result .= $lowerBit ? self::FULL_BLOCK : self::UPPER_HALF_BLOCK;
- } else {
- $result .= $lowerBit ? self::LOWER_HALF_BLOCK : self::EMPTY_BLOCK;
- }
- }
-
- $result .= $horizontalMargin . "\n";
- }
-
- $result .= str_repeat("\n", (int) ceil($this->margin / 2));
-
- return $result;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererInterface.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererInterface.php
deleted file mode 100644
index b0aae39..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererInterface.php
+++ /dev/null
@@ -1,11 +0,0 @@
-externalColor = $externalColor;
- $this->internalColor = $internalColor;
- }
-
- public static function uniform(ColorInterface $color) : self
- {
- return new self($color, $color);
- }
-
- public static function inherit() : self
- {
- return self::$inherit ?: self::$inherit = new self(null, null);
- }
-
- public function inheritsBothColors() : bool
- {
- return null === $this->externalColor && null === $this->internalColor;
- }
-
- public function inheritsExternalColor() : bool
- {
- return null === $this->externalColor;
- }
-
- public function inheritsInternalColor() : bool
- {
- return null === $this->internalColor;
- }
-
- public function getExternalColor() : ColorInterface
- {
- if (null === $this->externalColor) {
- throw new RuntimeException('External eye color inherits foreground color');
- }
-
- return $this->externalColor;
- }
-
- public function getInternalColor() : ColorInterface
- {
- if (null === $this->internalColor) {
- throw new RuntimeException('Internal eye color inherits foreground color');
- }
-
- return $this->internalColor;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Fill.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Fill.php
deleted file mode 100644
index d54268e..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Fill.php
+++ /dev/null
@@ -1,168 +0,0 @@
-backgroundColor = $backgroundColor;
- $this->foregroundColor = $foregroundColor;
- $this->foregroundGradient = $foregroundGradient;
- $this->topLeftEyeFill = $topLeftEyeFill;
- $this->topRightEyeFill = $topRightEyeFill;
- $this->bottomLeftEyeFill = $bottomLeftEyeFill;
- }
-
- public static function default() : self
- {
- return self::$default ?: self::$default = self::uniformColor(new Gray(100), new Gray(0));
- }
-
- public static function withForegroundColor(
- ColorInterface $backgroundColor,
- ColorInterface $foregroundColor,
- EyeFill $topLeftEyeFill,
- EyeFill $topRightEyeFill,
- EyeFill $bottomLeftEyeFill
- ) : self {
- return new self(
- $backgroundColor,
- $foregroundColor,
- null,
- $topLeftEyeFill,
- $topRightEyeFill,
- $bottomLeftEyeFill
- );
- }
-
- public static function withForegroundGradient(
- ColorInterface $backgroundColor,
- Gradient $foregroundGradient,
- EyeFill $topLeftEyeFill,
- EyeFill $topRightEyeFill,
- EyeFill $bottomLeftEyeFill
- ) : self {
- return new self(
- $backgroundColor,
- null,
- $foregroundGradient,
- $topLeftEyeFill,
- $topRightEyeFill,
- $bottomLeftEyeFill
- );
- }
-
- public static function uniformColor(ColorInterface $backgroundColor, ColorInterface $foregroundColor) : self
- {
- return new self(
- $backgroundColor,
- $foregroundColor,
- null,
- EyeFill::inherit(),
- EyeFill::inherit(),
- EyeFill::inherit()
- );
- }
-
- public static function uniformGradient(ColorInterface $backgroundColor, Gradient $foregroundGradient) : self
- {
- return new self(
- $backgroundColor,
- null,
- $foregroundGradient,
- EyeFill::inherit(),
- EyeFill::inherit(),
- EyeFill::inherit()
- );
- }
-
- public function hasGradientFill() : bool
- {
- return null !== $this->foregroundGradient;
- }
-
- public function getBackgroundColor() : ColorInterface
- {
- return $this->backgroundColor;
- }
-
- public function getForegroundColor() : ColorInterface
- {
- if (null === $this->foregroundColor) {
- throw new RuntimeException('Fill uses a gradient, thus no foreground color is available');
- }
-
- return $this->foregroundColor;
- }
-
- public function getForegroundGradient() : Gradient
- {
- if (null === $this->foregroundGradient) {
- throw new RuntimeException('Fill uses a single color, thus no foreground gradient is available');
- }
-
- return $this->foregroundGradient;
- }
-
- public function getTopLeftEyeFill() : EyeFill
- {
- return $this->topLeftEyeFill;
- }
-
- public function getTopRightEyeFill() : EyeFill
- {
- return $this->topRightEyeFill;
- }
-
- public function getBottomLeftEyeFill() : EyeFill
- {
- return $this->bottomLeftEyeFill;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Gradient.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Gradient.php
deleted file mode 100644
index 3813dfd..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/Gradient.php
+++ /dev/null
@@ -1,46 +0,0 @@
-startColor = $startColor;
- $this->endColor = $endColor;
- $this->type = $type;
- }
-
- public function getStartColor() : ColorInterface
- {
- return $this->startColor;
- }
-
- public function getEndColor() : ColorInterface
- {
- return $this->endColor;
- }
-
- public function getType() : GradientType
- {
- return $this->type;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/GradientType.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/GradientType.php
deleted file mode 100644
index c1ca754..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Renderer/RendererStyle/GradientType.php
+++ /dev/null
@@ -1,22 +0,0 @@
-margin = $margin;
- $this->size = $size;
- $this->module = $module ?: SquareModule::instance();
- $this->eye = $eye ?: new ModuleEye($this->module);
- $this->fill = $fill ?: Fill::default();
- }
-
- public function withSize(int $size) : self
- {
- $style = clone $this;
- $style->size = $size;
- return $style;
- }
-
- public function withMargin(int $margin) : self
- {
- $style = clone $this;
- $style->margin = $margin;
- return $style;
- }
-
- public function getSize() : int
- {
- return $this->size;
- }
-
- public function getMargin() : int
- {
- return $this->margin;
- }
-
- public function getModule() : ModuleInterface
- {
- return $this->module;
- }
-
- public function getEye() : EyeInterface
- {
- return $this->eye;
- }
-
- public function getFill() : Fill
- {
- return $this->fill;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Writer.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Writer.php
deleted file mode 100644
index 6688901..0000000
--- a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Writer.php
+++ /dev/null
@@ -1,68 +0,0 @@
-renderer = $renderer;
- }
-
- /**
- * Writes QR code and returns it as string.
- *
- * Content is a string which *should* be encoded in UTF-8, in case there are
- * non ASCII-characters present.
- *
- * @throws InvalidArgumentException if the content is empty
- */
- public function writeString(
- string $content,
- string $encoding = Encoder::DEFAULT_BYTE_MODE_ECODING,
- ?ErrorCorrectionLevel $ecLevel = null
- ) : string {
- if (strlen($content) === 0) {
- throw new InvalidArgumentException('Found empty contents');
- }
-
- if (null === $ecLevel) {
- $ecLevel = ErrorCorrectionLevel::L();
- }
-
- return $this->renderer->render(Encoder::encode($content, $ecLevel, $encoding));
- }
-
- /**
- * Writes QR code to a file.
- *
- * @see Writer::writeString()
- */
- public function writeFile(
- string $content,
- string $filename,
- string $encoding = Encoder::DEFAULT_BYTE_MODE_ECODING,
- ?ErrorCorrectionLevel $ecLevel = null
- ) : void {
- file_put_contents($filename, $this->writeString($content, $encoding, $ecLevel));
- }
-}
diff --git a/srcs/phpmyadmin/vendor/bin/highlight-query b/srcs/phpmyadmin/vendor/bin/highlight-query
deleted file mode 120000
index 7c1bba7..0000000
--- a/srcs/phpmyadmin/vendor/bin/highlight-query
+++ /dev/null
@@ -1 +0,0 @@
-../phpmyadmin/sql-parser/bin/highlight-query
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/bin/lint-query b/srcs/phpmyadmin/vendor/bin/lint-query
deleted file mode 120000
index f337e79..0000000
--- a/srcs/phpmyadmin/vendor/bin/lint-query
+++ /dev/null
@@ -1 +0,0 @@
-../phpmyadmin/sql-parser/bin/lint-query
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/bin/tokenize-query b/srcs/phpmyadmin/vendor/bin/tokenize-query
deleted file mode 120000
index 56dc163..0000000
--- a/srcs/phpmyadmin/vendor/bin/tokenize-query
+++ /dev/null
@@ -1 +0,0 @@
-../phpmyadmin/sql-parser/bin/tokenize-query
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/composer/ClassLoader.php b/srcs/phpmyadmin/vendor/composer/ClassLoader.php
deleted file mode 100644
index fce8549..0000000
--- a/srcs/phpmyadmin/vendor/composer/ClassLoader.php
+++ /dev/null
@@ -1,445 +0,0 @@
-
- * Jordi Boggiano
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Composer\Autoload;
-
-/**
- * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
- *
- * $loader = new \Composer\Autoload\ClassLoader();
- *
- * // register classes with namespaces
- * $loader->add('Symfony\Component', __DIR__.'/component');
- * $loader->add('Symfony', __DIR__.'/framework');
- *
- * // activate the autoloader
- * $loader->register();
- *
- * // to enable searching the include path (eg. for PEAR packages)
- * $loader->setUseIncludePath(true);
- *
- * In this example, if you try to use a class in the Symfony\Component
- * namespace or one of its children (Symfony\Component\Console for instance),
- * the autoloader will first look for the class under the component/
- * directory, and it will then fallback to the framework/ directory if not
- * found before giving up.
- *
- * This class is loosely based on the Symfony UniversalClassLoader.
- *
- * @author Fabien Potencier
- * @author Jordi Boggiano
- * @see http://www.php-fig.org/psr/psr-0/
- * @see http://www.php-fig.org/psr/psr-4/
- */
-class ClassLoader
-{
- // PSR-4
- private $prefixLengthsPsr4 = array();
- private $prefixDirsPsr4 = array();
- private $fallbackDirsPsr4 = array();
-
- // PSR-0
- private $prefixesPsr0 = array();
- private $fallbackDirsPsr0 = array();
-
- private $useIncludePath = false;
- private $classMap = array();
- private $classMapAuthoritative = false;
- private $missingClasses = array();
- private $apcuPrefix;
-
- public function getPrefixes()
- {
- if (!empty($this->prefixesPsr0)) {
- return call_user_func_array('array_merge', $this->prefixesPsr0);
- }
-
- return array();
- }
-
- public function getPrefixesPsr4()
- {
- return $this->prefixDirsPsr4;
- }
-
- public function getFallbackDirs()
- {
- return $this->fallbackDirsPsr0;
- }
-
- public function getFallbackDirsPsr4()
- {
- return $this->fallbackDirsPsr4;
- }
-
- public function getClassMap()
- {
- return $this->classMap;
- }
-
- /**
- * @param array $classMap Class to filename map
- */
- public function addClassMap(array $classMap)
- {
- if ($this->classMap) {
- $this->classMap = array_merge($this->classMap, $classMap);
- } else {
- $this->classMap = $classMap;
- }
- }
-
- /**
- * Registers a set of PSR-0 directories for a given prefix, either
- * appending or prepending to the ones previously set for this prefix.
- *
- * @param string $prefix The prefix
- * @param array|string $paths The PSR-0 root directories
- * @param bool $prepend Whether to prepend the directories
- */
- public function add($prefix, $paths, $prepend = false)
- {
- if (!$prefix) {
- if ($prepend) {
- $this->fallbackDirsPsr0 = array_merge(
- (array) $paths,
- $this->fallbackDirsPsr0
- );
- } else {
- $this->fallbackDirsPsr0 = array_merge(
- $this->fallbackDirsPsr0,
- (array) $paths
- );
- }
-
- return;
- }
-
- $first = $prefix[0];
- if (!isset($this->prefixesPsr0[$first][$prefix])) {
- $this->prefixesPsr0[$first][$prefix] = (array) $paths;
-
- return;
- }
- if ($prepend) {
- $this->prefixesPsr0[$first][$prefix] = array_merge(
- (array) $paths,
- $this->prefixesPsr0[$first][$prefix]
- );
- } else {
- $this->prefixesPsr0[$first][$prefix] = array_merge(
- $this->prefixesPsr0[$first][$prefix],
- (array) $paths
- );
- }
- }
-
- /**
- * Registers a set of PSR-4 directories for a given namespace, either
- * appending or prepending to the ones previously set for this namespace.
- *
- * @param string $prefix The prefix/namespace, with trailing '\\'
- * @param array|string $paths The PSR-4 base directories
- * @param bool $prepend Whether to prepend the directories
- *
- * @throws \InvalidArgumentException
- */
- public function addPsr4($prefix, $paths, $prepend = false)
- {
- if (!$prefix) {
- // Register directories for the root namespace.
- if ($prepend) {
- $this->fallbackDirsPsr4 = array_merge(
- (array) $paths,
- $this->fallbackDirsPsr4
- );
- } else {
- $this->fallbackDirsPsr4 = array_merge(
- $this->fallbackDirsPsr4,
- (array) $paths
- );
- }
- } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
- // Register directories for a new namespace.
- $length = strlen($prefix);
- if ('\\' !== $prefix[$length - 1]) {
- throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
- }
- $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
- $this->prefixDirsPsr4[$prefix] = (array) $paths;
- } elseif ($prepend) {
- // Prepend directories for an already registered namespace.
- $this->prefixDirsPsr4[$prefix] = array_merge(
- (array) $paths,
- $this->prefixDirsPsr4[$prefix]
- );
- } else {
- // Append directories for an already registered namespace.
- $this->prefixDirsPsr4[$prefix] = array_merge(
- $this->prefixDirsPsr4[$prefix],
- (array) $paths
- );
- }
- }
-
- /**
- * Registers a set of PSR-0 directories for a given prefix,
- * replacing any others previously set for this prefix.
- *
- * @param string $prefix The prefix
- * @param array|string $paths The PSR-0 base directories
- */
- public function set($prefix, $paths)
- {
- if (!$prefix) {
- $this->fallbackDirsPsr0 = (array) $paths;
- } else {
- $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
- }
- }
-
- /**
- * Registers a set of PSR-4 directories for a given namespace,
- * replacing any others previously set for this namespace.
- *
- * @param string $prefix The prefix/namespace, with trailing '\\'
- * @param array|string $paths The PSR-4 base directories
- *
- * @throws \InvalidArgumentException
- */
- public function setPsr4($prefix, $paths)
- {
- if (!$prefix) {
- $this->fallbackDirsPsr4 = (array) $paths;
- } else {
- $length = strlen($prefix);
- if ('\\' !== $prefix[$length - 1]) {
- throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
- }
- $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
- $this->prefixDirsPsr4[$prefix] = (array) $paths;
- }
- }
-
- /**
- * Turns on searching the include path for class files.
- *
- * @param bool $useIncludePath
- */
- public function setUseIncludePath($useIncludePath)
- {
- $this->useIncludePath = $useIncludePath;
- }
-
- /**
- * Can be used to check if the autoloader uses the include path to check
- * for classes.
- *
- * @return bool
- */
- public function getUseIncludePath()
- {
- return $this->useIncludePath;
- }
-
- /**
- * Turns off searching the prefix and fallback directories for classes
- * that have not been registered with the class map.
- *
- * @param bool $classMapAuthoritative
- */
- public function setClassMapAuthoritative($classMapAuthoritative)
- {
- $this->classMapAuthoritative = $classMapAuthoritative;
- }
-
- /**
- * Should class lookup fail if not found in the current class map?
- *
- * @return bool
- */
- public function isClassMapAuthoritative()
- {
- return $this->classMapAuthoritative;
- }
-
- /**
- * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
- *
- * @param string|null $apcuPrefix
- */
- public function setApcuPrefix($apcuPrefix)
- {
- $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
- }
-
- /**
- * The APCu prefix in use, or null if APCu caching is not enabled.
- *
- * @return string|null
- */
- public function getApcuPrefix()
- {
- return $this->apcuPrefix;
- }
-
- /**
- * Registers this instance as an autoloader.
- *
- * @param bool $prepend Whether to prepend the autoloader or not
- */
- public function register($prepend = false)
- {
- spl_autoload_register(array($this, 'loadClass'), true, $prepend);
- }
-
- /**
- * Unregisters this instance as an autoloader.
- */
- public function unregister()
- {
- spl_autoload_unregister(array($this, 'loadClass'));
- }
-
- /**
- * Loads the given class or interface.
- *
- * @param string $class The name of the class
- * @return bool|null True if loaded, null otherwise
- */
- public function loadClass($class)
- {
- if ($file = $this->findFile($class)) {
- includeFile($file);
-
- return true;
- }
- }
-
- /**
- * Finds the path to the file where the class is defined.
- *
- * @param string $class The name of the class
- *
- * @return string|false The path if found, false otherwise
- */
- public function findFile($class)
- {
- // class map lookup
- if (isset($this->classMap[$class])) {
- return $this->classMap[$class];
- }
- if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
- return false;
- }
- if (null !== $this->apcuPrefix) {
- $file = apcu_fetch($this->apcuPrefix.$class, $hit);
- if ($hit) {
- return $file;
- }
- }
-
- $file = $this->findFileWithExtension($class, '.php');
-
- // Search for Hack files if we are running on HHVM
- if (false === $file && defined('HHVM_VERSION')) {
- $file = $this->findFileWithExtension($class, '.hh');
- }
-
- if (null !== $this->apcuPrefix) {
- apcu_add($this->apcuPrefix.$class, $file);
- }
-
- if (false === $file) {
- // Remember that this class does not exist.
- $this->missingClasses[$class] = true;
- }
-
- return $file;
- }
-
- private function findFileWithExtension($class, $ext)
- {
- // PSR-4 lookup
- $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
-
- $first = $class[0];
- if (isset($this->prefixLengthsPsr4[$first])) {
- $subPath = $class;
- while (false !== $lastPos = strrpos($subPath, '\\')) {
- $subPath = substr($subPath, 0, $lastPos);
- $search = $subPath . '\\';
- if (isset($this->prefixDirsPsr4[$search])) {
- $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
- foreach ($this->prefixDirsPsr4[$search] as $dir) {
- if (file_exists($file = $dir . $pathEnd)) {
- return $file;
- }
- }
- }
- }
- }
-
- // PSR-4 fallback dirs
- foreach ($this->fallbackDirsPsr4 as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
- return $file;
- }
- }
-
- // PSR-0 lookup
- if (false !== $pos = strrpos($class, '\\')) {
- // namespaced class name
- $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
- . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
- } else {
- // PEAR-like class name
- $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
- }
-
- if (isset($this->prefixesPsr0[$first])) {
- foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
- if (0 === strpos($class, $prefix)) {
- foreach ($dirs as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
- return $file;
- }
- }
- }
- }
- }
-
- // PSR-0 fallback dirs
- foreach ($this->fallbackDirsPsr0 as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
- return $file;
- }
- }
-
- // PSR-0 include paths.
- if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
- return $file;
- }
-
- return false;
- }
-}
-
-/**
- * Scope isolated include.
- *
- * Prevents access to $this/self from included files.
- */
-function includeFile($file)
-{
- include $file;
-}
diff --git a/srcs/phpmyadmin/vendor/composer/LICENSE b/srcs/phpmyadmin/vendor/composer/LICENSE
deleted file mode 100644
index f27399a..0000000
--- a/srcs/phpmyadmin/vendor/composer/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-
-Copyright (c) Nils Adermann, Jordi Boggiano
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
diff --git a/srcs/phpmyadmin/vendor/composer/autoload_classmap.php b/srcs/phpmyadmin/vendor/composer/autoload_classmap.php
deleted file mode 100644
index 2b89e59..0000000
--- a/srcs/phpmyadmin/vendor/composer/autoload_classmap.php
+++ /dev/null
@@ -1,23 +0,0 @@
- $vendorDir . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php',
- 'PDF417' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/pdf417.php',
- 'QRcode' => $vendorDir . '/tecnickcom/tcpdf/include/barcodes/qrcode.php',
- 'TCPDF' => $vendorDir . '/tecnickcom/tcpdf/tcpdf.php',
- 'TCPDF2DBarcode' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_barcodes_2d.php',
- 'TCPDFBarcode' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_barcodes_1d.php',
- 'TCPDF_COLORS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_colors.php',
- 'TCPDF_FILTERS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_filters.php',
- 'TCPDF_FONTS' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_fonts.php',
- 'TCPDF_FONT_DATA' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_font_data.php',
- 'TCPDF_IMAGES' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_images.php',
- 'TCPDF_IMPORT' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_import.php',
- 'TCPDF_PARSER' => $vendorDir . '/tecnickcom/tcpdf/tcpdf_parser.php',
- 'TCPDF_STATIC' => $vendorDir . '/tecnickcom/tcpdf/include/tcpdf_static.php',
-);
diff --git a/srcs/phpmyadmin/vendor/composer/autoload_files.php b/srcs/phpmyadmin/vendor/composer/autoload_files.php
deleted file mode 100644
index b647401..0000000
--- a/srcs/phpmyadmin/vendor/composer/autoload_files.php
+++ /dev/null
@@ -1,13 +0,0 @@
- $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
- '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
- 'bd9634f2d41831496de0d3dfe4c94881' => $vendorDir . '/symfony/polyfill-php56/bootstrap.php',
- 'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
-);
diff --git a/srcs/phpmyadmin/vendor/composer/autoload_namespaces.php b/srcs/phpmyadmin/vendor/composer/autoload_namespaces.php
deleted file mode 100644
index dcc18b2..0000000
--- a/srcs/phpmyadmin/vendor/composer/autoload_namespaces.php
+++ /dev/null
@@ -1,11 +0,0 @@
- array($vendorDir . '/twig/extensions/lib'),
- 'Twig_' => array($vendorDir . '/twig/twig/lib'),
-);
diff --git a/srcs/phpmyadmin/vendor/composer/autoload_psr4.php b/srcs/phpmyadmin/vendor/composer/autoload_psr4.php
deleted file mode 100644
index 36ec64e..0000000
--- a/srcs/phpmyadmin/vendor/composer/autoload_psr4.php
+++ /dev/null
@@ -1,42 +0,0 @@
- array($vendorDir . '/phpseclib/phpseclib/phpseclib'),
- 'Williamdes\\MariaDBMySQLKBS\\' => array($vendorDir . '/williamdes/mariadb-mysql-kbs/src'),
- 'Twig\\Extensions\\' => array($vendorDir . '/twig/extensions/src'),
- 'Twig\\' => array($vendorDir . '/twig/twig/src'),
- 'Symfony\\Polyfill\\Util\\' => array($vendorDir . '/symfony/polyfill-util'),
- 'Symfony\\Polyfill\\Php56\\' => array($vendorDir . '/symfony/polyfill-php56'),
- 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
- 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
- 'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'),
- 'Symfony\\Contracts\\Cache\\' => array($vendorDir . '/symfony/cache-contracts'),
- 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
- 'Symfony\\Component\\VarExporter\\' => array($vendorDir . '/symfony/var-exporter'),
- 'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'),
- 'Symfony\\Component\\ExpressionLanguage\\' => array($vendorDir . '/symfony/expression-language'),
- 'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'),
- 'Symfony\\Component\\Config\\' => array($vendorDir . '/symfony/config'),
- 'Symfony\\Component\\Cache\\' => array($vendorDir . '/symfony/cache'),
- 'Samyoul\\U2F\\U2FServer\\' => array($vendorDir . '/samyoul/u2f-php-server/src'),
- 'ReCaptcha\\' => array($vendorDir . '/google/recaptcha/src/ReCaptcha'),
- 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
- 'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
- 'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
- 'PragmaRX\\Google2FA\\Tests\\' => array($vendorDir . '/pragmarx/google2fa/tests'),
- 'PragmaRX\\Google2FA\\' => array($vendorDir . '/pragmarx/google2fa/src'),
- 'PragmaRX\\Google2FAQRCode\\Tests\\' => array($vendorDir . '/pragmarx/google2fa-qrcode/tests'),
- 'PragmaRX\\Google2FAQRCode\\' => array($vendorDir . '/pragmarx/google2fa-qrcode/src'),
- 'PhpMyAdmin\\SqlParser\\' => array($vendorDir . '/phpmyadmin/sql-parser/src'),
- 'PhpMyAdmin\\ShapeFile\\' => array($vendorDir . '/phpmyadmin/shapefile/src'),
- 'PhpMyAdmin\\MoTranslator\\' => array($vendorDir . '/phpmyadmin/motranslator/src'),
- 'PhpMyAdmin\\' => array($baseDir . '/libraries/classes'),
- 'ParagonIE\\ConstantTime\\' => array($vendorDir . '/paragonie/constant_time_encoding/src'),
- 'DASPRiD\\Enum\\' => array($vendorDir . '/dasprid/enum/src'),
- 'BaconQrCode\\' => array($vendorDir . '/bacon/bacon-qr-code/src'),
-);
diff --git a/srcs/phpmyadmin/vendor/composer/autoload_real.php b/srcs/phpmyadmin/vendor/composer/autoload_real.php
deleted file mode 100644
index b9a0918..0000000
--- a/srcs/phpmyadmin/vendor/composer/autoload_real.php
+++ /dev/null
@@ -1,70 +0,0 @@
-= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
- if ($useStaticLoader) {
- require_once __DIR__ . '/autoload_static.php';
-
- call_user_func(\Composer\Autoload\ComposerStaticInitcffcd61e9798dd817f367505fcb2aeb1::getInitializer($loader));
- } else {
- $map = require __DIR__ . '/autoload_namespaces.php';
- foreach ($map as $namespace => $path) {
- $loader->set($namespace, $path);
- }
-
- $map = require __DIR__ . '/autoload_psr4.php';
- foreach ($map as $namespace => $path) {
- $loader->setPsr4($namespace, $path);
- }
-
- $classMap = require __DIR__ . '/autoload_classmap.php';
- if ($classMap) {
- $loader->addClassMap($classMap);
- }
- }
-
- $loader->register(true);
-
- if ($useStaticLoader) {
- $includeFiles = Composer\Autoload\ComposerStaticInitcffcd61e9798dd817f367505fcb2aeb1::$files;
- } else {
- $includeFiles = require __DIR__ . '/autoload_files.php';
- }
- foreach ($includeFiles as $fileIdentifier => $file) {
- composerRequirecffcd61e9798dd817f367505fcb2aeb1($fileIdentifier, $file);
- }
-
- return $loader;
- }
-}
-
-function composerRequirecffcd61e9798dd817f367505fcb2aeb1($fileIdentifier, $file)
-{
- if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
- require $file;
-
- $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/composer/autoload_static.php b/srcs/phpmyadmin/vendor/composer/autoload_static.php
deleted file mode 100644
index f9d9a00..0000000
--- a/srcs/phpmyadmin/vendor/composer/autoload_static.php
+++ /dev/null
@@ -1,252 +0,0 @@
- __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
- '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
- 'bd9634f2d41831496de0d3dfe4c94881' => __DIR__ . '/..' . '/symfony/polyfill-php56/bootstrap.php',
- 'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
- );
-
- public static $prefixLengthsPsr4 = array (
- 'p' =>
- array (
- 'phpseclib\\' => 10,
- ),
- 'W' =>
- array (
- 'Williamdes\\MariaDBMySQLKBS\\' => 27,
- ),
- 'T' =>
- array (
- 'Twig\\Extensions\\' => 16,
- 'Twig\\' => 5,
- ),
- 'S' =>
- array (
- 'Symfony\\Polyfill\\Util\\' => 22,
- 'Symfony\\Polyfill\\Php56\\' => 23,
- 'Symfony\\Polyfill\\Mbstring\\' => 26,
- 'Symfony\\Polyfill\\Ctype\\' => 23,
- 'Symfony\\Contracts\\Service\\' => 26,
- 'Symfony\\Contracts\\Cache\\' => 24,
- 'Symfony\\Component\\Yaml\\' => 23,
- 'Symfony\\Component\\VarExporter\\' => 30,
- 'Symfony\\Component\\Filesystem\\' => 29,
- 'Symfony\\Component\\ExpressionLanguage\\' => 37,
- 'Symfony\\Component\\DependencyInjection\\' => 38,
- 'Symfony\\Component\\Config\\' => 25,
- 'Symfony\\Component\\Cache\\' => 24,
- 'Samyoul\\U2F\\U2FServer\\' => 22,
- ),
- 'R' =>
- array (
- 'ReCaptcha\\' => 10,
- ),
- 'P' =>
- array (
- 'Psr\\Log\\' => 8,
- 'Psr\\Container\\' => 14,
- 'Psr\\Cache\\' => 10,
- 'PragmaRX\\Google2FA\\Tests\\' => 25,
- 'PragmaRX\\Google2FA\\' => 19,
- 'PragmaRX\\Google2FAQRCode\\Tests\\' => 31,
- 'PragmaRX\\Google2FAQRCode\\' => 25,
- 'PhpMyAdmin\\SqlParser\\' => 21,
- 'PhpMyAdmin\\ShapeFile\\' => 21,
- 'PhpMyAdmin\\MoTranslator\\' => 24,
- 'PhpMyAdmin\\' => 11,
- 'ParagonIE\\ConstantTime\\' => 23,
- ),
- 'D' =>
- array (
- 'DASPRiD\\Enum\\' => 13,
- ),
- 'B' =>
- array (
- 'BaconQrCode\\' => 12,
- ),
- );
-
- public static $prefixDirsPsr4 = array (
- 'phpseclib\\' =>
- array (
- 0 => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib',
- ),
- 'Williamdes\\MariaDBMySQLKBS\\' =>
- array (
- 0 => __DIR__ . '/..' . '/williamdes/mariadb-mysql-kbs/src',
- ),
- 'Twig\\Extensions\\' =>
- array (
- 0 => __DIR__ . '/..' . '/twig/extensions/src',
- ),
- 'Twig\\' =>
- array (
- 0 => __DIR__ . '/..' . '/twig/twig/src',
- ),
- 'Symfony\\Polyfill\\Util\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-util',
- ),
- 'Symfony\\Polyfill\\Php56\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-php56',
- ),
- 'Symfony\\Polyfill\\Mbstring\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
- ),
- 'Symfony\\Polyfill\\Ctype\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
- ),
- 'Symfony\\Contracts\\Service\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/service-contracts',
- ),
- 'Symfony\\Contracts\\Cache\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/cache-contracts',
- ),
- 'Symfony\\Component\\Yaml\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/yaml',
- ),
- 'Symfony\\Component\\VarExporter\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/var-exporter',
- ),
- 'Symfony\\Component\\Filesystem\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/filesystem',
- ),
- 'Symfony\\Component\\ExpressionLanguage\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/expression-language',
- ),
- 'Symfony\\Component\\DependencyInjection\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/dependency-injection',
- ),
- 'Symfony\\Component\\Config\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/config',
- ),
- 'Symfony\\Component\\Cache\\' =>
- array (
- 0 => __DIR__ . '/..' . '/symfony/cache',
- ),
- 'Samyoul\\U2F\\U2FServer\\' =>
- array (
- 0 => __DIR__ . '/..' . '/samyoul/u2f-php-server/src',
- ),
- 'ReCaptcha\\' =>
- array (
- 0 => __DIR__ . '/..' . '/google/recaptcha/src/ReCaptcha',
- ),
- 'Psr\\Log\\' =>
- array (
- 0 => __DIR__ . '/..' . '/psr/log/Psr/Log',
- ),
- 'Psr\\Container\\' =>
- array (
- 0 => __DIR__ . '/..' . '/psr/container/src',
- ),
- 'Psr\\Cache\\' =>
- array (
- 0 => __DIR__ . '/..' . '/psr/cache/src',
- ),
- 'PragmaRX\\Google2FA\\Tests\\' =>
- array (
- 0 => __DIR__ . '/..' . '/pragmarx/google2fa/tests',
- ),
- 'PragmaRX\\Google2FA\\' =>
- array (
- 0 => __DIR__ . '/..' . '/pragmarx/google2fa/src',
- ),
- 'PragmaRX\\Google2FAQRCode\\Tests\\' =>
- array (
- 0 => __DIR__ . '/..' . '/pragmarx/google2fa-qrcode/tests',
- ),
- 'PragmaRX\\Google2FAQRCode\\' =>
- array (
- 0 => __DIR__ . '/..' . '/pragmarx/google2fa-qrcode/src',
- ),
- 'PhpMyAdmin\\SqlParser\\' =>
- array (
- 0 => __DIR__ . '/..' . '/phpmyadmin/sql-parser/src',
- ),
- 'PhpMyAdmin\\ShapeFile\\' =>
- array (
- 0 => __DIR__ . '/..' . '/phpmyadmin/shapefile/src',
- ),
- 'PhpMyAdmin\\MoTranslator\\' =>
- array (
- 0 => __DIR__ . '/..' . '/phpmyadmin/motranslator/src',
- ),
- 'PhpMyAdmin\\' =>
- array (
- 0 => __DIR__ . '/../..' . '/libraries/classes',
- ),
- 'ParagonIE\\ConstantTime\\' =>
- array (
- 0 => __DIR__ . '/..' . '/paragonie/constant_time_encoding/src',
- ),
- 'DASPRiD\\Enum\\' =>
- array (
- 0 => __DIR__ . '/..' . '/dasprid/enum/src',
- ),
- 'BaconQrCode\\' =>
- array (
- 0 => __DIR__ . '/..' . '/bacon/bacon-qr-code/src',
- ),
- );
-
- public static $prefixesPsr0 = array (
- 'T' =>
- array (
- 'Twig_Extensions_' =>
- array (
- 0 => __DIR__ . '/..' . '/twig/extensions/lib',
- ),
- 'Twig_' =>
- array (
- 0 => __DIR__ . '/..' . '/twig/twig/lib',
- ),
- ),
- );
-
- public static $classMap = array (
- 'Datamatrix' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/datamatrix.php',
- 'PDF417' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/pdf417.php',
- 'QRcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/barcodes/qrcode.php',
- 'TCPDF' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf.php',
- 'TCPDF2DBarcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_barcodes_2d.php',
- 'TCPDFBarcode' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_barcodes_1d.php',
- 'TCPDF_COLORS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_colors.php',
- 'TCPDF_FILTERS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_filters.php',
- 'TCPDF_FONTS' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_fonts.php',
- 'TCPDF_FONT_DATA' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_font_data.php',
- 'TCPDF_IMAGES' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_images.php',
- 'TCPDF_IMPORT' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_import.php',
- 'TCPDF_PARSER' => __DIR__ . '/..' . '/tecnickcom/tcpdf/tcpdf_parser.php',
- 'TCPDF_STATIC' => __DIR__ . '/..' . '/tecnickcom/tcpdf/include/tcpdf_static.php',
- );
-
- public static function getInitializer(ClassLoader $loader)
- {
- return \Closure::bind(function () use ($loader) {
- $loader->prefixLengthsPsr4 = ComposerStaticInitcffcd61e9798dd817f367505fcb2aeb1::$prefixLengthsPsr4;
- $loader->prefixDirsPsr4 = ComposerStaticInitcffcd61e9798dd817f367505fcb2aeb1::$prefixDirsPsr4;
- $loader->prefixesPsr0 = ComposerStaticInitcffcd61e9798dd817f367505fcb2aeb1::$prefixesPsr0;
- $loader->classMap = ComposerStaticInitcffcd61e9798dd817f367505fcb2aeb1::$classMap;
-
- }, null, ClassLoader::class);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/composer/installed.json b/srcs/phpmyadmin/vendor/composer/installed.json
deleted file mode 100644
index 9f904de..0000000
--- a/srcs/phpmyadmin/vendor/composer/installed.json
+++ /dev/null
@@ -1,1884 +0,0 @@
-[
- {
- "name": "bacon/bacon-qr-code",
- "version": "2.0.0",
- "version_normalized": "2.0.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Bacon/BaconQrCode.git",
- "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/eaac909da3ccc32b748a65b127acd8918f58d9b0",
- "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0",
- "shasum": ""
- },
- "require": {
- "dasprid/enum": "^1.0",
- "ext-iconv": "*",
- "php": "^7.1"
- },
- "require-dev": {
- "phly/keep-a-changelog": "^1.4",
- "phpunit/phpunit": "^6.4",
- "squizlabs/php_codesniffer": "^3.1"
- },
- "suggest": {
- "ext-imagick": "to generate QR code images"
- },
- "time": "2018-04-25T17:53:56+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "BaconQrCode\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Ben Scholzen 'DASPRiD'",
- "email": "mail@dasprids.de",
- "homepage": "http://www.dasprids.de",
- "role": "Developer"
- }
- ],
- "description": "BaconQrCode is a QR code generator for PHP.",
- "homepage": "https://github.com/Bacon/BaconQrCode"
- },
- {
- "name": "dasprid/enum",
- "version": "1.0.0",
- "version_normalized": "1.0.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/DASPRiD/Enum.git",
- "reference": "631ef6e638e9494b0310837fa531bedd908fc22b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/631ef6e638e9494b0310837fa531bedd908fc22b",
- "reference": "631ef6e638e9494b0310837fa531bedd908fc22b",
- "shasum": ""
- },
- "require-dev": {
- "phpunit/phpunit": "^6.4",
- "squizlabs/php_codesniffer": "^3.1"
- },
- "time": "2017-10-25T22:45:27+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "DASPRiD\\Enum\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Ben Scholzen 'DASPRiD'",
- "email": "mail@dasprids.de",
- "homepage": "https://dasprids.de/"
- }
- ],
- "description": "PHP 7.1 enum implementation",
- "keywords": [
- "enum",
- "map"
- ]
- },
- {
- "name": "google/recaptcha",
- "version": "1.2.3",
- "version_normalized": "1.2.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/google/recaptcha.git",
- "reference": "98c4a6573b27e8b0990ea8789c74ea378795134c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/google/recaptcha/zipball/98c4a6573b27e8b0990ea8789c74ea378795134c",
- "reference": "98c4a6573b27e8b0990ea8789c74ea378795134c",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^2.2.20|^2.15",
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^4.8.36|^5.7.27|^6.59|^7.5.11"
- },
- "time": "2019-08-16T15:48:25+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "ReCaptcha\\": "src/ReCaptcha"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "Client library for reCAPTCHA, a free service that protects websites from spam and abuse.",
- "homepage": "https://www.google.com/recaptcha/",
- "keywords": [
- "Abuse",
- "captcha",
- "recaptcha",
- "spam"
- ]
- },
- {
- "name": "paragonie/constant_time_encoding",
- "version": "v2.3.0",
- "version_normalized": "2.3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "47a1cedd2e4d52688eb8c96469c05ebc8fd28fa2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/47a1cedd2e4d52688eb8c96469c05ebc8fd28fa2",
- "reference": "47a1cedd2e4d52688eb8c96469c05ebc8fd28fa2",
- "shasum": ""
- },
- "require": {
- "php": "^7|^8"
- },
- "require-dev": {
- "phpunit/phpunit": "^6|^7",
- "vimeo/psalm": "^1|^2|^3"
- },
- "time": "2019-11-06T19:20:29+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "ParagonIE\\ConstantTime\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com",
- "role": "Maintainer"
- },
- {
- "name": "Steve 'Sc00bz' Thomas",
- "email": "steve@tobtu.com",
- "homepage": "https://www.tobtu.com",
- "role": "Original Developer"
- }
- ],
- "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
- "keywords": [
- "base16",
- "base32",
- "base32_decode",
- "base32_encode",
- "base64",
- "base64_decode",
- "base64_encode",
- "bin2hex",
- "encoding",
- "hex",
- "hex2bin",
- "rfc4648"
- ]
- },
- {
- "name": "paragonie/random_compat",
- "version": "v9.99.99",
- "version_normalized": "9.99.99.0",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "shasum": ""
- },
- "require": {
- "php": "^7"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*|5.*",
- "vimeo/psalm": "^1"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
- },
- "time": "2018-07-02T15:55:56+00:00",
- "type": "library",
- "installation-source": "dist",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
- }
- ],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
- "keywords": [
- "csprng",
- "polyfill",
- "pseudorandom",
- "random"
- ]
- },
- {
- "name": "phpmyadmin/motranslator",
- "version": "4.0",
- "version_normalized": "4.0.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpmyadmin/motranslator.git",
- "reference": "fcb370254998fda7eeccfd7c787b4deb71b0d77c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpmyadmin/motranslator/zipball/fcb370254998fda7eeccfd7c787b4deb71b0d77c",
- "reference": "fcb370254998fda7eeccfd7c787b4deb71b0d77c",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0",
- "symfony/expression-language": "^4.0 || ^3.2 || ^2.8"
- },
- "require-dev": {
- "apigen/apigen": "^4.1",
- "phpunit/php-code-coverage": "*",
- "phpunit/phpunit": "~4.8 || ~5.7 || ~6.5"
- },
- "time": "2018-02-12T13:22:52+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "PhpMyAdmin\\MoTranslator\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "GPL-2.0-or-later"
- ],
- "authors": [
- {
- "name": "The phpMyAdmin Team",
- "email": "developers@phpmyadmin.net",
- "homepage": "https://www.phpmyadmin.net/team/"
- }
- ],
- "description": "Translation API for PHP using Gettext MO files",
- "homepage": "https://github.com/phpmyadmin/motranslator",
- "keywords": [
- "gettext",
- "i18n",
- "mo",
- "translator"
- ]
- },
- {
- "name": "phpmyadmin/shapefile",
- "version": "2.1",
- "version_normalized": "2.1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpmyadmin/shapefile.git",
- "reference": "e23b767f2a81f61fee3fc09fc062879985f3e224"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpmyadmin/shapefile/zipball/e23b767f2a81f61fee3fc09fc062879985f3e224",
- "reference": "e23b767f2a81f61fee3fc09fc062879985f3e224",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.0"
- },
- "require-dev": {
- "phpunit/php-code-coverage": "*",
- "phpunit/phpunit": "~4.8 || ~5.7"
- },
- "suggest": {
- "ext-dbase": "For dbf files parsing"
- },
- "time": "2017-05-15T08:31:47+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "PhpMyAdmin\\ShapeFile\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "GPL-2.0+"
- ],
- "authors": [
- {
- "name": "The phpMyAdmin Team",
- "email": "developers@phpmyadmin.net",
- "homepage": "https://www.phpmyadmin.net/team/"
- }
- ],
- "description": "ESRI ShapeFile library for PHP",
- "homepage": "https://github.com/phpmyadmin/shapefile",
- "keywords": [
- "ESRI",
- "Shapefile",
- "dbf",
- "geo",
- "geospatial",
- "shape",
- "shp"
- ]
- },
- {
- "name": "phpmyadmin/sql-parser",
- "version": "5.2.0",
- "version_normalized": "5.2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpmyadmin/sql-parser.git",
- "reference": "bddaf056f8f43621e94b29284c98f35db8b6d93e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/bddaf056f8f43621e94b29284c98f35db8b6d93e",
- "reference": "bddaf056f8f43621e94b29284c98f35db8b6d93e",
- "shasum": ""
- },
- "require": {
- "php": "^7.1",
- "symfony/polyfill-mbstring": "^1.3"
- },
- "conflict": {
- "phpmyadmin/motranslator": "<3.0"
- },
- "require-dev": {
- "phpmyadmin/coding-standard": "^1.0",
- "phpmyadmin/motranslator": "^4.0",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12.3",
- "phpstan/phpstan-phpunit": "^0.12.1",
- "phpunit/php-code-coverage": "*",
- "phpunit/phpunit": "^7.4 || ^8"
- },
- "suggest": {
- "ext-mbstring": "For best performance",
- "phpmyadmin/motranslator": "Translate messages to your favorite locale"
- },
- "time": "2020-01-07T23:24:46+00:00",
- "bin": [
- "bin/highlight-query",
- "bin/lint-query",
- "bin/tokenize-query"
- ],
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "PhpMyAdmin\\SqlParser\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "GPL-2.0-or-later"
- ],
- "authors": [
- {
- "name": "The phpMyAdmin Team",
- "email": "developers@phpmyadmin.net",
- "homepage": "https://www.phpmyadmin.net/team/"
- }
- ],
- "description": "A validating SQL lexer and parser with a focus on MySQL dialect.",
- "homepage": "https://github.com/phpmyadmin/sql-parser",
- "keywords": [
- "analysis",
- "lexer",
- "parser",
- "sql"
- ]
- },
- {
- "name": "phpseclib/phpseclib",
- "version": "2.0.23",
- "version_normalized": "2.0.23.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/c78eb5058d5bb1a183133c36d4ba5b6675dfa099",
- "reference": "c78eb5058d5bb1a183133c36d4ba5b6675dfa099",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phing/phing": "~2.7",
- "phpunit/phpunit": "^4.8.35|^5.7|^6.0",
- "sami/sami": "~2.0",
- "squizlabs/php_codesniffer": "~2.0"
- },
- "suggest": {
- "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
- "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
- "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
- "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
- },
- "time": "2019-09-17T03:41:22+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "files": [
- "phpseclib/bootstrap.php"
- ],
- "psr-4": {
- "phpseclib\\": "phpseclib/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jim Wigginton",
- "email": "terrafrost@php.net",
- "role": "Lead Developer"
- },
- {
- "name": "Patrick Monnerat",
- "email": "pm@datasphere.ch",
- "role": "Developer"
- },
- {
- "name": "Andreas Fischer",
- "email": "bantu@phpbb.com",
- "role": "Developer"
- },
- {
- "name": "Hans-Jürgen Petrich",
- "email": "petrich@tronic-media.com",
- "role": "Developer"
- },
- {
- "name": "Graham Campbell",
- "email": "graham@alt-three.com",
- "role": "Developer"
- }
- ],
- "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
- "homepage": "http://phpseclib.sourceforge.net",
- "keywords": [
- "BigInteger",
- "aes",
- "asn.1",
- "asn1",
- "blowfish",
- "crypto",
- "cryptography",
- "encryption",
- "rsa",
- "security",
- "sftp",
- "signature",
- "signing",
- "ssh",
- "twofish",
- "x.509",
- "x509"
- ]
- },
- {
- "name": "pragmarx/google2fa",
- "version": "v6.0.1",
- "version_normalized": "6.0.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/antonioribeiro/google2fa.git",
- "reference": "8df7d8fe0734c7ddad5fce2251adf4b3e9218643"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/8df7d8fe0734c7ddad5fce2251adf4b3e9218643",
- "reference": "8df7d8fe0734c7ddad5fce2251adf4b3e9218643",
- "shasum": ""
- },
- "require": {
- "paragonie/constant_time_encoding": "~1.0|~2.0",
- "paragonie/random_compat": ">=1",
- "php": ">=5.4",
- "symfony/polyfill-php56": "~1.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~4|~5|~6|~7|~8"
- },
- "time": "2019-09-18T22:34:47+00:00",
- "type": "library",
- "extra": {
- "component": "package",
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "PragmaRX\\Google2FA\\": "src/",
- "PragmaRX\\Google2FA\\Tests\\": "tests/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Antonio Carlos Ribeiro",
- "email": "acr@antoniocarlosribeiro.com",
- "role": "Creator & Designer"
- }
- ],
- "description": "A One Time Password Authentication package, compatible with Google Authenticator.",
- "keywords": [
- "2fa",
- "Authentication",
- "Two Factor Authentication",
- "google2fa"
- ]
- },
- {
- "name": "pragmarx/google2fa-qrcode",
- "version": "v1.0.3",
- "version_normalized": "1.0.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/antonioribeiro/google2fa-qrcode.git",
- "reference": "fd5ff0531a48b193a659309cc5fb882c14dbd03f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/fd5ff0531a48b193a659309cc5fb882c14dbd03f",
- "reference": "fd5ff0531a48b193a659309cc5fb882c14dbd03f",
- "shasum": ""
- },
- "require": {
- "bacon/bacon-qr-code": "~1.0|~2.0",
- "php": ">=5.4",
- "pragmarx/google2fa": ">=4.0"
- },
- "require-dev": {
- "khanamiryan/qrcode-detector-decoder": "^1.0",
- "phpunit/phpunit": "~4|~5|~6|~7"
- },
- "time": "2019-03-20T16:42:58+00:00",
- "type": "library",
- "extra": {
- "component": "package",
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "PragmaRX\\Google2FAQRCode\\": "src/",
- "PragmaRX\\Google2FAQRCode\\Tests\\": "tests/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Antonio Carlos Ribeiro",
- "email": "acr@antoniocarlosribeiro.com",
- "role": "Creator & Designer"
- }
- ],
- "description": "QR Code package for Google2FA",
- "keywords": [
- "2fa",
- "Authentication",
- "Two Factor Authentication",
- "google2fa",
- "qr code",
- "qrcode"
- ]
- },
- {
- "name": "psr/cache",
- "version": "1.0.1",
- "version_normalized": "1.0.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/cache.git",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "time": "2016-08-06T20:24:11+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Psr\\Cache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for caching libraries",
- "keywords": [
- "cache",
- "psr",
- "psr-6"
- ]
- },
- {
- "name": "psr/container",
- "version": "1.0.0",
- "version_normalized": "1.0.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "time": "2017-02-14T16:28:37+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Psr\\Container\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
- "keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
- ]
- },
- {
- "name": "psr/log",
- "version": "1.1.2",
- "version_normalized": "1.1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
- "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "time": "2019-11-01T11:05:21+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "Psr/Log/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ]
- },
- {
- "name": "samyoul/u2f-php-server",
- "version": "v1.1.4",
- "version_normalized": "1.1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Samyoul/U2F-php-server.git",
- "reference": "0625202c79d570e58525ed6c4ae38500ea3f0883"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Samyoul/U2F-php-server/zipball/0625202c79d570e58525ed6c4ae38500ea3f0883",
- "reference": "0625202c79d570e58525ed6c4ae38500ea3f0883",
- "shasum": ""
- },
- "require": {
- "ext-openssl": "*"
- },
- "time": "2018-10-26T12:43:39+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Samyoul\\U2F\\U2FServer\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Samuel Hawksby-Robinson",
- "email": "samuel@samyoul.com"
- }
- ],
- "description": "Server side handling class for FIDO U2F registration and authentication"
- },
- {
- "name": "symfony/cache",
- "version": "v4.4.2",
- "version_normalized": "4.4.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/cache.git",
- "reference": "6af64bab165e588300378a87bcd2df3c7c31c144"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/6af64bab165e588300378a87bcd2df3c7c31c144",
- "reference": "6af64bab165e588300378a87bcd2df3c7c31c144",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "psr/cache": "~1.0",
- "psr/log": "~1.0",
- "symfony/cache-contracts": "^1.1.7|^2",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.2|^5.0"
- },
- "conflict": {
- "doctrine/dbal": "<2.5",
- "symfony/dependency-injection": "<3.4",
- "symfony/http-kernel": "<4.4",
- "symfony/var-dumper": "<4.4"
- },
- "provide": {
- "psr/cache-implementation": "1.0",
- "psr/simple-cache-implementation": "1.0",
- "symfony/cache-implementation": "1.0"
- },
- "require-dev": {
- "cache/integration-tests": "dev-master",
- "doctrine/cache": "~1.6",
- "doctrine/dbal": "~2.5",
- "predis/predis": "~1.1",
- "psr/simple-cache": "^1.0",
- "symfony/config": "^4.2|^5.0",
- "symfony/dependency-injection": "^3.4|^4.1|^5.0",
- "symfony/var-dumper": "^4.4|^5.0"
- },
- "time": "2019-12-16T10:45:21+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Cache\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Cache component with PSR-6, PSR-16, and tags",
- "homepage": "https://symfony.com",
- "keywords": [
- "caching",
- "psr6"
- ]
- },
- {
- "name": "symfony/cache-contracts",
- "version": "v1.1.7",
- "version_normalized": "1.1.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/cache-contracts.git",
- "reference": "af50d14ada9e4e82cfabfabdc502d144f89be0a1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/af50d14ada9e4e82cfabfabdc502d144f89be0a1",
- "reference": "af50d14ada9e4e82cfabfabdc502d144f89be0a1",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "psr/cache": "^1.0"
- },
- "suggest": {
- "symfony/cache-implementation": ""
- },
- "time": "2019-10-04T21:43:27+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Cache\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to caching",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ]
- },
- {
- "name": "symfony/config",
- "version": "v4.4.2",
- "version_normalized": "4.4.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/config.git",
- "reference": "6911d432edd5b50822986604fd5a5be3af856d30"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/6911d432edd5b50822986604fd5a5be3af856d30",
- "reference": "6911d432edd5b50822986604fd5a5be3af856d30",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/filesystem": "^3.4|^4.0|^5.0",
- "symfony/polyfill-ctype": "~1.8"
- },
- "conflict": {
- "symfony/finder": "<3.4"
- },
- "require-dev": {
- "symfony/event-dispatcher": "^3.4|^4.0|^5.0",
- "symfony/finder": "^3.4|^4.0|^5.0",
- "symfony/messenger": "^4.1|^5.0",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/yaml": "^3.4|^4.0|^5.0"
- },
- "suggest": {
- "symfony/yaml": "To use the yaml reference dumper"
- },
- "time": "2019-12-18T12:00:29+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Config\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Config Component",
- "homepage": "https://symfony.com"
- },
- {
- "name": "symfony/dependency-injection",
- "version": "v4.4.2",
- "version_normalized": "4.4.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/dependency-injection.git",
- "reference": "79b0358207a3571cc3af02a57d0321927921f539"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/79b0358207a3571cc3af02a57d0321927921f539",
- "reference": "79b0358207a3571cc3af02a57d0321927921f539",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "psr/container": "^1.0",
- "symfony/service-contracts": "^1.1.6|^2"
- },
- "conflict": {
- "symfony/config": "<4.3|>=5.0",
- "symfony/finder": "<3.4",
- "symfony/proxy-manager-bridge": "<3.4",
- "symfony/yaml": "<3.4"
- },
- "provide": {
- "psr/container-implementation": "1.0",
- "symfony/service-implementation": "1.0"
- },
- "require-dev": {
- "symfony/config": "^4.3",
- "symfony/expression-language": "^3.4|^4.0|^5.0",
- "symfony/yaml": "^3.4|^4.0|^5.0"
- },
- "suggest": {
- "symfony/config": "",
- "symfony/expression-language": "For using expressions in service container configuration",
- "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
- "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
- "symfony/yaml": ""
- },
- "time": "2019-12-19T16:00:02+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\DependencyInjection\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony DependencyInjection Component",
- "homepage": "https://symfony.com"
- },
- {
- "name": "symfony/expression-language",
- "version": "v4.4.2",
- "version_normalized": "4.4.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/expression-language.git",
- "reference": "539e7ff0b635c8b90d8127bc929da781a96eab2d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/539e7ff0b635c8b90d8127bc929da781a96eab2d",
- "reference": "539e7ff0b635c8b90d8127bc929da781a96eab2d",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/cache": "^3.4|^4.0|^5.0",
- "symfony/service-contracts": "^1.1|^2"
- },
- "time": "2019-12-10T10:33:21+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\ExpressionLanguage\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony ExpressionLanguage Component",
- "homepage": "https://symfony.com"
- },
- {
- "name": "symfony/filesystem",
- "version": "v4.4.2",
- "version_normalized": "4.4.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "40c2606131d56eff6f193b6e2ceb92414653b591"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/40c2606131d56eff6f193b6e2ceb92414653b591",
- "reference": "40c2606131d56eff6f193b6e2ceb92414653b591",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8"
- },
- "time": "2019-11-26T23:16:41+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Filesystem\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Filesystem Component",
- "homepage": "https://symfony.com"
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
- "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "time": "2019-11-27T13:56:44+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.13-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ]
- },
- {
- "name": "symfony/polyfill-mbstring",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
- "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-mbstring": "For best performance"
- },
- "time": "2019-11-27T14:18:11+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.13-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for the Mbstring extension",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "mbstring",
- "polyfill",
- "portable",
- "shim"
- ]
- },
- {
- "name": "symfony/polyfill-php56",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php56.git",
- "reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/53dd1cdf3cb986893ccf2b96665b25b3abb384f4",
- "reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "symfony/polyfill-util": "~1.0"
- },
- "time": "2019-11-27T13:56:44+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.13-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php56\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ]
- },
- {
- "name": "symfony/polyfill-util",
- "version": "v1.13.1",
- "version_normalized": "1.13.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-util.git",
- "reference": "964a67f293b66b95883a5ed918a65354fcd2258f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/964a67f293b66b95883a5ed918a65354fcd2258f",
- "reference": "964a67f293b66b95883a5ed918a65354fcd2258f",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "time": "2019-11-27T13:56:44+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.13-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Util\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony utilities for portability of PHP codes",
- "homepage": "https://symfony.com",
- "keywords": [
- "compat",
- "compatibility",
- "polyfill",
- "shim"
- ]
- },
- {
- "name": "symfony/service-contracts",
- "version": "v1.1.8",
- "version_normalized": "1.1.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/service-contracts.git",
- "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffc7f5692092df31515df2a5ecf3b7302b3ddacf",
- "reference": "ffc7f5692092df31515df2a5ecf3b7302b3ddacf",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "psr/container": "^1.0"
- },
- "suggest": {
- "symfony/service-implementation": ""
- },
- "time": "2019-10-14T12:27:06+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Service\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to writing services",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ]
- },
- {
- "name": "symfony/var-exporter",
- "version": "v4.4.2",
- "version_normalized": "4.4.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/var-exporter.git",
- "reference": "e566070effe60b8d16b99e958cdbd92aa2e470cb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/e566070effe60b8d16b99e958cdbd92aa2e470cb",
- "reference": "e566070effe60b8d16b99e958cdbd92aa2e470cb",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3"
- },
- "require-dev": {
- "symfony/var-dumper": "^4.1.1|^5.0"
- },
- "time": "2019-12-01T08:39:58+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\VarExporter\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "A blend of var_export() + serialize() to turn any serializable data structure to plain PHP code",
- "homepage": "https://symfony.com",
- "keywords": [
- "clone",
- "construct",
- "export",
- "hydrate",
- "instantiate",
- "serialize"
- ]
- },
- {
- "name": "symfony/yaml",
- "version": "v4.4.2",
- "version_normalized": "4.4.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "a08832b974dd5fafe3085a66d41fe4c84bb2628c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/a08832b974dd5fafe3085a66d41fe4c84bb2628c",
- "reference": "a08832b974dd5fafe3085a66d41fe4c84bb2628c",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8"
- },
- "conflict": {
- "symfony/console": "<3.4"
- },
- "require-dev": {
- "symfony/console": "^3.4|^4.0|^5.0"
- },
- "suggest": {
- "symfony/console": "For validating YAML files using the lint command"
- },
- "time": "2019-12-10T10:33:21+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.4-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Yaml Component",
- "homepage": "https://symfony.com"
- },
- {
- "name": "tecnickcom/tcpdf",
- "version": "6.3.2",
- "version_normalized": "6.3.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/tecnickcom/TCPDF.git",
- "reference": "9fde7bb9b404b945e7ea88fb7eccd23d9a4e324b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/tecnickcom/TCPDF/zipball/9fde7bb9b404b945e7ea88fb7eccd23d9a4e324b",
- "reference": "9fde7bb9b404b945e7ea88fb7eccd23d9a4e324b",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "time": "2019-09-20T09:35:01+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "classmap": [
- "config",
- "include",
- "tcpdf.php",
- "tcpdf_parser.php",
- "tcpdf_import.php",
- "tcpdf_barcodes_1d.php",
- "tcpdf_barcodes_2d.php",
- "include/tcpdf_colors.php",
- "include/tcpdf_filters.php",
- "include/tcpdf_font_data.php",
- "include/tcpdf_fonts.php",
- "include/tcpdf_images.php",
- "include/tcpdf_static.php",
- "include/barcodes/datamatrix.php",
- "include/barcodes/pdf417.php",
- "include/barcodes/qrcode.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "LGPL-3.0"
- ],
- "authors": [
- {
- "name": "Nicola Asuni",
- "email": "info@tecnick.com",
- "role": "lead"
- }
- ],
- "description": "TCPDF is a PHP class for generating PDF documents and barcodes.",
- "homepage": "http://www.tcpdf.org/",
- "keywords": [
- "PDFD32000-2008",
- "TCPDF",
- "barcodes",
- "datamatrix",
- "pdf",
- "pdf417",
- "qrcode"
- ]
- },
- {
- "name": "twig/extensions",
- "version": "v1.5.4",
- "version_normalized": "1.5.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/twigphp/Twig-extensions.git",
- "reference": "57873c8b0c1be51caa47df2cdb824490beb16202"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/57873c8b0c1be51caa47df2cdb824490beb16202",
- "reference": "57873c8b0c1be51caa47df2cdb824490beb16202",
- "shasum": ""
- },
- "require": {
- "twig/twig": "^1.27|^2.0"
- },
- "require-dev": {
- "symfony/phpunit-bridge": "^3.4",
- "symfony/translation": "^2.7|^3.4"
- },
- "suggest": {
- "symfony/translation": "Allow the time_diff output to be translated"
- },
- "time": "2018-12-05T18:34:18+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.5-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-0": {
- "Twig_Extensions_": "lib/"
- },
- "psr-4": {
- "Twig\\Extensions\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- }
- ],
- "description": "Common additional features for Twig that do not directly belong in core",
- "keywords": [
- "i18n",
- "text"
- ]
- },
- {
- "name": "twig/twig",
- "version": "v2.12.3",
- "version_normalized": "2.12.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/twigphp/Twig.git",
- "reference": "97b6311585cae66a26833b14b33785f5797f7d39"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/97b6311585cae66a26833b14b33785f5797f7d39",
- "reference": "97b6311585cae66a26833b14b33785f5797f7d39",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "^1.3"
- },
- "require-dev": {
- "psr/container": "^1.0",
- "symfony/phpunit-bridge": "^4.4|^5.0"
- },
- "time": "2019-12-28T07:12:03+00:00",
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.12-dev"
- }
- },
- "installation-source": "dist",
- "autoload": {
- "psr-0": {
- "Twig_": "lib/"
- },
- "psr-4": {
- "Twig\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com",
- "homepage": "http://fabien.potencier.org",
- "role": "Lead Developer"
- },
- {
- "name": "Twig Team",
- "role": "Contributors"
- },
- {
- "name": "Armin Ronacher",
- "email": "armin.ronacher@active-4.com",
- "role": "Project Founder"
- }
- ],
- "description": "Twig, the flexible, fast, and secure template language for PHP",
- "homepage": "https://twig.symfony.com",
- "keywords": [
- "templating"
- ]
- },
- {
- "name": "williamdes/mariadb-mysql-kbs",
- "version": "1.2.8",
- "version_normalized": "1.2.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/williamdes/mariadb-mysql-kbs.git",
- "reference": "ebae1986d3dec93df3bdf9ae5c664485c12d2b94"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/williamdes/mariadb-mysql-kbs/zipball/ebae1986d3dec93df3bdf9ae5c664485c12d2b94",
- "reference": "ebae1986d3dec93df3bdf9ae5c664485c12d2b94",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "php-school/cli-menu": "^3.0",
- "phpstan/phpstan": "^0.11.3",
- "phpunit/phpunit": "^7.0 || ^8.0",
- "slevomat/coding-standard": "^5.0",
- "squizlabs/php_codesniffer": "^3.3",
- "swaggest/json-schema": "^0.12.9"
- },
- "time": "2019-11-10T13:56:20+00:00",
- "type": "library",
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Williamdes\\MariaDBMySQLKBS\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MPL-2.0"
- ],
- "authors": [
- {
- "name": "William Desportes",
- "email": "williamdes@wdes.fr"
- }
- ],
- "description": "An index of the MariaDB and MySQL Knowledge bases",
- "homepage": "https://github.com/williamdes/mariadb-mysql-kbs",
- "keywords": [
- "composer-package",
- "dataset",
- "json",
- "kb",
- "knowledge-base",
- "library",
- "mariadb",
- "mariadb-knowledge-bases",
- "mysql",
- "mysql-knowledge-bases",
- "npm-package"
- ]
- }
-]
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/.coveralls.yml b/srcs/phpmyadmin/vendor/dasprid/enum/.coveralls.yml
deleted file mode 100644
index bc71b62..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/.coveralls.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-coverage_clover: clover.xml
-json_path: coveralls-upload.json
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/.travis.yml b/srcs/phpmyadmin/vendor/dasprid/enum/.travis.yml
deleted file mode 100644
index e4c6453..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/.travis.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-sudo: false
-
-language: php
-
-cache:
- directories:
- - $HOME/.composer/cache
- - $HOME/.local
- - vendor
-
-matrix:
- fast_finish: true
- include:
- - php: 7.1
- env:
- - EXECUTE_CS_CHECK=true
- - EXECUTE_TEST_COVERALLS=true
- - PATH="$HOME/.local/bin:$PATH"
- - php: nightly
- allow_failures:
- - php: nightly
-
-before_install:
- - if [[ $EXECUTE_TEST_COVERALLS != 'true' ]]; then phpenv config-rm xdebug.ini || return 0 ; fi
- - composer self-update
- - if [[ $EXECUTE_TEST_COVERALLS == 'true' ]]; then composer require --dev --no-update satooshi/php-coveralls:dev-master ; fi
-
-install:
- - travis_retry composer install --no-interaction
- - composer info -i
-
-script:
- - if [[ $EXECUTE_TEST_COVERALLS == 'true' ]]; then vendor/bin/phpunit --coverage-clover clover.xml ; fi
- - if [[ $EXECUTE_TEST_COVERALLS != 'true' ]]; then vendor/bin/phpunit ; fi
- - if [[ $EXECUTE_CS_CHECK == 'true' ]]; then vendor/bin/phpcs ; fi
-
-after_script:
- - if [[ $EXECUTE_TEST_COVERALLS == 'true' ]]; then vendor/bin/coveralls ; fi
-
-notifications:
- email: true
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/README.md b/srcs/phpmyadmin/vendor/dasprid/enum/README.md
deleted file mode 100644
index 9e9ca12..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/README.md
+++ /dev/null
@@ -1,164 +0,0 @@
-# PHP 7.1 enums
-
-[](https://travis-ci.org/DASPRiD/Enum)
-[](https://coveralls.io/github/DASPRiD/Enum?branch=master)
-[](https://packagist.org/packages/dasprid/enum)
-[](https://packagist.org/packages/dasprid/enum)
-[](https://packagist.org/packages/dasprid/enum)
-
-It is a well known fact that PHP is missing a basic enum type, ignoring the rather incomplete `SplEnum` implementation
-which is only available as a PECL extension. There are also quite a few other userland enum implementations around,
-but all of them have one or another compromise. This library tries to close that gap as far as PHP allows it to.
-
-## Usage
-
-### Basics
-
-At its core, there is the `DASPRiD\Enum\AbstractEnum` class, which by default will work with constants like any other
-enum implementation you might know. The first clear difference is that you should define all the constants as protected
-(so nobody outside your class can read them but the `AbstractEnum` can still do so). The other even mightier difference
-is that, for simple enums, the value of the constant doesn't matter at all. Let's have a look at a simple example:
-
-```php
-use DASPRiD\Enum\AbstractEnum;
-
-/**
- * @method static self MONDAY()
- * @method static self TUESDAY()
- * @method static self WEDNESDAY()
- * @method static self THURSDAY()
- * @method static self FRIDAY()
- * @method static self SATURDAY()
- * @method static self SUNDAY()
- */
-final class WeekDay extends AbstractEnum
-{
- protected const MONDAY = null;
- protected const TUESDAY = null;
- protected const WEDNESDAY = null;
- protected const THURSDAY = null;
- protected const FRIDAY = null;
- protected const SATURDAY = null;
- protected const SUNDAY = null;
-}
-```
-
-If you need to provide constants for either internal use or public use, you can mark them as either private or public,
-in which case they will be ignored by the enum, which only considers protected constants as valid values. As you can
-see, we specifically defined the generated magic methods in a class level doc block, so anyone using this class will
-automatically have proper auto-completion in their IDE. Now since you have defined the enum, you can simply use it like
-that:
-
-```php
-function tellItLikeItIs(WeekDay $weekDay)
-{
- switch ($weekDay) {
- case WeekDay::MONDAY():
- echo 'Mondays are bad.';
- break;
-
- case WeekDay::FRIDAY():
- echo 'Fridays are better.';
- break;
-
- case WeekDay::SATURDAY():
- case WeekDay::SUNDAY():
- echo 'Weekends are best.';
- break;
-
- default:
- echo 'Midweek days are so-so.';
- }
-}
-
-tellItLikeItIs(WeekDay::MONDAY());
-tellItLikeItIs(WeekDay::WEDNESDAY());
-tellItLikeItIs(WeekDay::FRIDAY());
-tellItLikeItIs(WeekDay::SATURDAY());
-tellItLikeItIs(WeekDay::SUNDAY());
-```
-
-### More complex example
-
-Of course, all enums are singletons, which are not cloneable or serializable. Thus you can be sure that there is always
-just one instance of the same type. Of course, the values of constants are not completely useless, let's have a look at
-a more complex example:
-
-```php
-use DASPRiD\Enum\AbstractEnum;
-
-/**
- * @method static self MERCURY()
- * @method static self VENUS()
- * @method static self EARTH()
- * @method static self MARS()
- * @method static self JUPITER()
- * @method static self SATURN()
- * @method static self URANUS()
- * @method static self NEPTUNE()
- */
-final class Planet extends AbstractEnum
-{
- protected const MERCURY = [3.303e+23, 2.4397e6];
- protected const VENUS = [4.869e+24, 6.0518e6];
- protected const EARTH = [5.976e+24, 6.37814e6];
- protected const MARS = [6.421e+23, 3.3972e6];
- protected const JUPITER = [1.9e+27, 7.1492e7];
- protected const SATURN = [5.688e+26, 6.0268e7];
- protected const URANUS = [8.686e+25, 2.5559e7];
- protected const NEPTUNE = [1.024e+26, 2.4746e7];
-
- /**
- * Universal gravitational constant.
- *
- * @var float
- */
- private const G = 6.67300E-11;
-
- /**
- * Mass in kilograms.
- *
- * @var float
- */
- private $mass;
-
- /**
- * Radius in meters.
- *
- * @var float
- */
- private $radius;
-
- protected function __construct(float $mass, float $radius)
- {
- $this->mass = $mass;
- $this->radius = $radius;
- }
-
- public function mass() : float
- {
- return $this->mass;
- }
-
- public function radius() : float
- {
- return $this->radius;
- }
-
- public function surfaceGravity() : float
- {
- return self::G * $this->mass / ($this->radius * $this->radius);
- }
-
- public function surfaceWeight(float $otherMass) : float
- {
- return $otherMass * $this->surfaceGravity();
- }
-}
-
-$myMass = 80;
-
-foreach (Planet::values() as $planet) {
- printf("Your weight on %s is %f\n", $planet, $planet->surfaceWeight($myMass));
-}
-```
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/composer.json b/srcs/phpmyadmin/vendor/dasprid/enum/composer.json
deleted file mode 100644
index 41184d3..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/composer.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "name": "dasprid/enum",
- "description": "PHP 7.1 enum implementation",
- "license": "BSD-2-Clause",
- "authors": [
- {
- "name": "Ben Scholzen 'DASPRiD'",
- "homepage": "https://dasprids.de/",
- "email": "mail@dasprids.de"
- }
- ],
- "keywords": [
- "enum",
- "map"
- ],
- "require-dev": {
- "phpunit/phpunit": "^6.4",
- "squizlabs/php_codesniffer": "^3.1"
- },
- "autoload": {
- "psr-4": {
- "DASPRiD\\Enum\\": "src/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "DASPRiD\\EnumTest\\": "test/"
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/phpcs.xml b/srcs/phpmyadmin/vendor/dasprid/enum/phpcs.xml
deleted file mode 100644
index a184db8..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/phpcs.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
- Enum coding standard
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- src
- test
-
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/phpunit.xml.dist b/srcs/phpmyadmin/vendor/dasprid/enum/phpunit.xml.dist
deleted file mode 100644
index 307a430..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/phpunit.xml.dist
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- ./test
-
-
-
-
-
- src
-
-
-
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/src/AbstractEnum.php b/srcs/phpmyadmin/vendor/dasprid/enum/src/AbstractEnum.php
deleted file mode 100644
index bc36119..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/src/AbstractEnum.php
+++ /dev/null
@@ -1,241 +0,0 @@
->
- */
- private static $values = [];
-
- /**
- * @var array
- */
- private static $allValuesLoaded = [];
-
- /**
- * @var array
- */
- private static $constants = [];
-
- /**
- * The constructor is private by default to avoid arbitrary enum creation.
- *
- * When creating your own constructor for a parameterized enum, make sure to declare it as protected, so that
- * the static methods are able to construct it. Avoid making it public, as that would allow creation of
- * non-singleton enum instances.
- */
- private function __construct()
- {
- }
-
- /**
- * Magic getter which forwards all calls to {@see self::valueOf()}.
- *
- * @return static
- */
- final public static function __callStatic(string $name, array $arguments) : self
- {
- return static::valueOf($name);
- }
-
- /**
- * Returns an enum with the specified name.
- *
- * The name must match exactly an identifier used to declare an enum in this type (extraneous whitespace characters
- * are not permitted).
- *
- * @return static
- * @throws IllegalArgumentException if the enum has no constant with the specified name
- */
- final public static function valueOf(string $name) : self
- {
- if (isset(self::$values[static::class][$name])) {
- return self::$values[static::class][$name];
- }
-
- $constants = self::constants();
-
- if (array_key_exists($name, $constants)) {
- return self::createValue($name, $constants[$name][0], $constants[$name][1]);
- }
-
- throw new IllegalArgumentException(sprintf('No enum constant %s::%s', static::class, $name));
- }
-
- /**
- * @return static
- */
- final private static function createValue(string $name, int $ordinal, array $arguments) : self
- {
- $instance = new static(...$arguments);
- $instance->name = $name;
- $instance->ordinal = $ordinal;
- self::$values[static::class][$name] = $instance;
- return $instance;
- }
-
- /**
- * Obtains all possible types defined by this enum.
- *
- * @return static[]
- */
- final public static function values() : array
- {
- if (isset(self::$allValuesLoaded[static::class])) {
- return self::$values[static::class];
- }
-
- if (! isset(self::$values[static::class])) {
- self::$values[static::class] = [];
- }
-
- foreach (self::constants() as $name => $constant) {
- if (array_key_exists($name, self::$values[static::class])) {
- continue;
- }
-
- static::createValue($name, $constant[0], $constant[1]);
- }
-
- uasort(self::$values[static::class], function (self $a, self $b) {
- return $a->ordinal() <=> $b->ordinal();
- });
-
- self::$allValuesLoaded[static::class] = true;
- return self::$values[static::class];
- }
-
- final private static function constants() : array
- {
- if (isset(self::$constants[static::class])) {
- return self::$constants[static::class];
- }
-
- self::$constants[static::class] = [];
- $reflectionClass = new ReflectionClass(static::class);
- $ordinal = -1;
-
- foreach ($reflectionClass->getReflectionConstants() as $reflectionConstant) {
- if (! $reflectionConstant->isProtected()) {
- continue;
- }
-
- $value = $reflectionConstant->getValue();
-
- self::$constants[static::class][$reflectionConstant->name] = [
- ++$ordinal,
- is_array($value) ? $value : []
- ];
- }
-
- return self::$constants[static::class];
- }
-
- /**
- * Returns the name of this enum constant, exactly as declared in its enum declaration.
- *
- * Most programmers should use the {@see self::__toString()} method in preference to this one, as the toString
- * method may return a more user-friendly name. This method is designed primarily for use in specialized situations
- * where correctness depends on getting the exact name, which will not vary from release to release.
- */
- final public function name() : string
- {
- return $this->name;
- }
-
- /**
- * Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial
- * constant is assigned an ordinal of zero).
- *
- * Most programmers will have no use for this method. It is designed for use by sophisticated enum-based data
- * structures.
- */
- final public function ordinal() : int
- {
- return $this->ordinal;
- }
-
- /**
- * Compares this enum with the specified object for order.
- *
- * Returns negative integer, zero or positive integer as this object is less than, equal to or greater than the
- * specified object.
- *
- * Enums are only comparable to other enums of the same type. The natural order implemented by this method is the
- * order in which the constants are declared.
- *
- * @throws MismatchException if the passed enum is not of the same type
- */
- final public function compareTo(self $other) : int
- {
- if (! $other instanceof static) {
- throw new MismatchException(sprintf(
- 'The passed enum %s is not of the same type as %s',
- get_class($other),
- static::class
- ));
- }
-
- return $this->ordinal - $other->ordinal;
- }
-
- /**
- * Forbid cloning enums.
- *
- * @throws CloneNotSupportedException
- */
- final public function __clone()
- {
- throw new CloneNotSupportedException();
- }
-
- /**
- * Forbid serializing enums.
- *
- * @throws SerializeNotSupportedException
- */
- final public function __sleep() : void
- {
- throw new SerializeNotSupportedException();
- }
-
- /**
- * Forbid unserializing enums.
- *
- * @throws UnserializeNotSupportedException
- */
- final public function __wakeup() : void
- {
- throw new UnserializeNotSupportedException();
- }
-
- /**
- * Turns the enum into a string representation.
- *
- * You may override this method to give a more user-friendly version.
- */
- public function __toString() : string
- {
- return $this->name;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/src/EnumMap.php b/srcs/phpmyadmin/vendor/dasprid/enum/src/EnumMap.php
deleted file mode 100644
index 77c5f35..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/src/EnumMap.php
+++ /dev/null
@@ -1,375 +0,0 @@
-
- */
- private $keyUniverse;
-
- /**
- * Array representation of this map. The ith element is the value to which universe[i] is currently mapped, or null
- * if it isn't mapped to anything, or NullValue if it's mapped to null.
- *
- * @var array
- */
- private $values;
-
- /**
- * @var int
- */
- private $size = 0;
-
- /**
- * Creates a new enum map.
- *
- * @param string $keyType the type of the keys, must extend AbstractEnum
- * @param string $valueType the type of the values
- * @param bool $allowNullValues whether to allow null values
- * @throws IllegalArgumentException when key type does not extend AbstractEnum
- */
- public function __construct(string $keyType, string $valueType, bool $allowNullValues)
- {
- if (! is_subclass_of($keyType, AbstractEnum::class)) {
- throw new IllegalArgumentException(sprintf(
- 'Class %s does not extend %s',
- $keyType,
- AbstractEnum::class
- ));
- }
-
- $this->keyType = $keyType;
- $this->valueType = $valueType;
- $this->allowNullValues = $allowNullValues;
- $this->keyUniverse = $keyType::values();
- $this->values = array_fill(0, count($this->keyUniverse), null);
- }
-
- /**
- * Checks whether the map types match the supplied ones.
- *
- * You should call this method when an EnumMap is passed to you and you want to ensure that it's made up of the
- * correct types.
- *
- * @throws ExpectationException when supplied key type mismatches local key type
- * @throws ExpectationException when supplied value type mismatches local value type
- * @throws ExpectationException when the supplied map allows null values, abut should not
- */
- public function expect(string $keyType, string $valueType, bool $allowNullValues) : void
- {
- if ($keyType !== $this->keyType) {
- throw new ExpectationException(sprintf(
- 'Callee expected an EnumMap with key type %s, but got %s',
- $keyType,
- $this->keyType
- ));
- }
-
- if ($valueType !== $this->valueType) {
- throw new ExpectationException(sprintf(
- 'Callee expected an EnumMap with value type %s, but got %s',
- $keyType,
- $this->keyType
- ));
- }
-
- if ($allowNullValues !== $this->allowNullValues) {
- throw new ExpectationException(sprintf(
- 'Callee expected an EnumMap with nullable flag %s, but got %s',
- ($allowNullValues ? 'true' : 'false'),
- ($this->allowNullValues ? 'true' : 'false')
- ));
- }
- }
-
- /**
- * Returns the number of key-value mappings in this map.
- */
- public function size() : int
- {
- return $this->size;
- }
-
- /**
- * Returns true if this map maps one or more keys to the specified value.
- */
- public function containsValue($value) : bool
- {
- return in_array($this->maskNull($value), $this->values, true);
- }
-
- /**
- * Returns true if this map contains a mapping for the specified key.
- */
- public function containsKey(AbstractEnum $key) : bool
- {
- $this->checkKeyType($key);
- return null !== $this->values[$key->ordinal()];
- }
-
- /**
- * Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key.
- *
- * More formally, if this map contains a mapping from a key to a value, then this method returns the value;
- * otherwise it returns null (there can be at most one such mapping).
- *
- * A return value of null does not necessarily indicate that the map contains no mapping for the key; it's also
- * possible that hte map explicitly maps the key to null. The {@see self::containsKey()} operation may be used to
- * distinguish these two cases.
- *
- * @return mixed
- */
- public function get(AbstractEnum $key)
- {
- $this->checkKeyType($key);
- return $this->unmaskNull($this->values[$key->ordinal()]);
- }
-
- /**
- * Associates the specified value with the specified key in this map.
- *
- * If the map previously contained a mapping for this key, the old value is replaced.
- *
- * @return mixed the previous value associated with the specified key, or null if there was no mapping for the key.
- * (a null return can also indicate that the map previously associated null with the specified key.)
- * @throws IllegalArgumentException when the passed values does not match the internal value type
- */
- public function put(AbstractEnum $key, $value)
- {
- $this->checkKeyType($key);
-
- if (! $this->isValidValue($value)) {
- throw new IllegalArgumentException(sprintf('Value is not of type %s', $this->valueType));
- }
-
- $index = $key->ordinal();
- $oldValue = $this->values[$index];
- $this->values[$index] = $this->maskNull($value);
-
- if (null === $oldValue) {
- ++$this->size;
- }
-
- return $this->unmaskNull($oldValue);
- }
-
- /**
- * Removes the mapping for this key frm this map if present.
- *
- * @return mixed the previous value associated with the specified key, or null if there was no mapping for the key.
- * (a null return can also indicate that the map previously associated null with the specified key.)
- */
- public function remove(AbstractEnum $key)
- {
- $this->checkKeyType($key);
-
- $index = $key->ordinal();
- $oldValue = $this->values[$index];
- $this->values[$index] = null;
-
- if (null !== $oldValue) {
- --$this->size;
- }
-
- return $this->unmaskNull($oldValue);
- }
-
- /**
- * Removes all mappings from this map.
- */
- public function clear() : void
- {
- $this->values = array_fill(0, count($this->keyUniverse), null);
- $this->size = 0;
- }
-
- /**
- * Compares the specified map with this map for quality.
- *
- * Returns true if the two maps represent the same mappings.
- */
- public function equals(self $other) : bool
- {
- if ($this === $other) {
- return true;
- }
-
- if ($this->size !== $other->size) {
- return false;
- }
-
- return $this->values === $other->values;
- }
-
- /**
- * Returns the values contained in this map.
- *
- * The array will contain the values in the order their corresponding keys appear in the map, which is their natural
- * order (the order in which the num constants are declared).
- */
- public function values() : array
- {
- return array_values(array_map(function ($value) {
- return $this->unmaskNull($value);
- }, array_filter($this->values, function ($value) : bool {
- return null !== $value;
- })));
- }
-
- public function serialize() : string
- {
- $values = [];
-
- foreach ($this->values as $ordinal => $value) {
- if (null === $value) {
- continue;
- }
-
- $values[$ordinal] = $this->unmaskNull($value);
- }
-
- return serialize([
- 'keyType' => $this->keyType,
- 'valueType' => $this->valueType,
- 'allowNullValues' => $this->allowNullValues,
- 'values' => $values,
- ]);
- }
-
- public function unserialize($serialized) : void
- {
- $data = unserialize($serialized);
- $this->__construct($data['keyType'], $data['valueType'], $data['allowNullValues']);
-
- foreach ($this->keyUniverse as $key) {
- if (array_key_exists($key->ordinal(), $data['values'])) {
- $this->put($key, $data['values'][$key->ordinal()]);
- }
- }
- }
-
- public function getIterator() : Traversable
- {
- foreach ($this->keyUniverse as $key) {
- if (null === $this->values[$key->ordinal()]) {
- continue;
- }
-
- yield $key => $this->unmaskNull($this->values[$key->ordinal()]);
- }
- }
-
- private function maskNull($value)
- {
- if (null === $value) {
- return NullValue::instance();
- }
-
- return $value;
- }
-
- private function unmaskNull($value)
- {
- if ($value instanceof NullValue) {
- return null;
- }
-
- return $value;
- }
-
- /**
- * @throws IllegalArgumentException when the passed key does not match the internal key type
- */
- private function checkKeyType(AbstractEnum $key) : void
- {
- if (get_class($key) !== $this->keyType) {
- throw new IllegalArgumentException(sprintf(
- 'Object of type %s is not the same type as %s',
- get_class($key),
- $this->keyType
- ));
- }
- }
-
- private function isValidValue($value) : bool
- {
- if (null === $value) {
- if ($this->allowNullValues) {
- return true;
- }
-
- return false;
- }
-
- switch ($this->valueType) {
- case 'mixed':
- return true;
-
- case 'bool':
- case 'boolean':
- return is_bool($value);
-
- case 'int':
- case 'integer':
- return is_int($value);
-
- case 'float':
- case 'double':
- return is_float($value);
-
- case 'string':
- return is_string($value);
-
- case 'object':
- return is_object($value);
-
- case 'array':
- return is_array($value);
- }
-
- return $value instanceof $this->valueType;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/CloneNotSupportedException.php b/srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/CloneNotSupportedException.php
deleted file mode 100644
index 4b37dbe..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/src/Exception/CloneNotSupportedException.php
+++ /dev/null
@@ -1,10 +0,0 @@
-getProperty('constants');
- $constantsProperty->setAccessible(true);
- $constantsProperty->setValue([]);
-
- $valuesProperty = $reflectionClass->getProperty('values');
- $valuesProperty->setAccessible(true);
- $valuesProperty->setValue([]);
-
- $allValuesLoadedProperty = $reflectionClass->getProperty('allValuesLoaded');
- $allValuesLoadedProperty->setAccessible(true);
- $allValuesLoadedProperty->setValue([]);
- }
-
- public function testToString() : void
- {
- $weekday = WeekDay::FRIDAY();
- self::assertSame('FRIDAY', (string) $weekday);
- }
-
- public function testName() : void
- {
- $this->assertSame('WEDNESDAY', WeekDay::WEDNESDAY()->name());
- }
-
- public function testOrdinal() : void
- {
- $this->assertSame(2, WeekDay::WEDNESDAY()->ordinal());
- }
-
- public function testSameInstanceIsReturned() : void
- {
- self::assertSame(WeekDay::FRIDAY(), WeekDay::FRIDAY());
- }
-
- public static function testValueOf() : void
- {
- self::assertSame(WeekDay::FRIDAY(), WeekDay::valueOf('FRIDAY'));
- }
-
- public function testValueOfInvalidConstant() : void
- {
- $this->expectException(IllegalArgumentException::class);
- WeekDay::valueOf('CATURDAY');
- }
-
- public function testExceptionOnCloneAttempt() : void
- {
- $this->expectException(CloneNotSupportedException::class);
- clone WeekDay::FRIDAY();
- }
-
- public function testExceptionOnSerializeAttempt() : void
- {
- $this->expectException(SerializeNotSupportedException::class);
- serialize(WeekDay::FRIDAY());
- }
-
- public function testExceptionOnUnserializeAttempt() : void
- {
- $this->expectException(UnserializeNotSupportedException::class);
- unserialize('O:24:"DASPRiD\\EnumTest\\WeekDay":0:{}');
- }
-
- public function testReturnValueOfValuesIsSortedByOrdinal() : void
- {
- // Initialize some week days out of order
- WeekDay::SATURDAY();
- WeekDay::TUESDAY();
-
- $ordinals = array_values(array_map(function (WeekDay $weekDay) : int {
- return $weekDay->ordinal();
- }, WeekDay::values()));
-
- self::assertSame([0, 1, 2, 3, 4, 5, 6], $ordinals);
-
- $cachedOrdinals = array_values(array_map(function (WeekDay $weekDay) : int {
- return $weekDay->ordinal();
- }, WeekDay::values()));
- $this->assertSame($ordinals, $cachedOrdinals);
- }
-
- public function testCompareTo() : void
- {
- $this->assertSame(-4, WeekDay::WEDNESDAY()->compareTo(WeekDay::SUNDAY()));
- $this->assertSame(4, WeekDay::SUNDAY()->compareTo(WeekDay::WEDNESDAY()));
- $this->assertSame(0, WeekDay::WEDNESDAY()->compareTo(WeekDay::WEDNESDAY()));
- }
-
- public function testCompareToWrongEnum() : void
- {
- $this->expectException(MismatchException::class);
- WeekDay::MONDAY()->compareTo(Planet::EARTH());
- }
-
- public function testParameterizedEnum() : void
- {
- $planet = Planet::EARTH();
- $this->assertSame(5.976e+24, $planet->mass());
- $this->assertSame(6.37814e6, $planet->radius());
- }
-}
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/test/EnumMapTest.php b/srcs/phpmyadmin/vendor/dasprid/enum/test/EnumMapTest.php
deleted file mode 100644
index d51a86c..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/test/EnumMapTest.php
+++ /dev/null
@@ -1,243 +0,0 @@
-expectException(IllegalArgumentException::class);
- new EnumMap(stdClass::class, 'string', false);
- }
-
- public function testUnexpectedKeyType() : void
- {
- $this->expectException(ExpectationException::class);
- $map = new EnumMap(WeekDay::class, 'string', false);
- $map->expect(Planet::class, 'string', false);
- }
-
- public function testUnexpectedValueType() : void
- {
- $this->expectException(ExpectationException::class);
- $map = new EnumMap(WeekDay::class, 'string', false);
- $map->expect(WeekDay::class, 'int', false);
- }
-
- public function testUnexpectedNullableValueType() : void
- {
- $this->expectException(ExpectationException::class);
- $map = new EnumMap(WeekDay::class, 'string', true);
- $map->expect(WeekDay::class, 'string', false);
- }
-
- public function testExpectedTypes() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $map->expect(WeekDay::class, 'string', true);
- $this->addToAssertionCount(1);
- }
-
- public function testSize() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $this->assertSame(0, $map->size());
- $map->put(WeekDay::MONDAY(), 'foo');
- $this->assertSame(1, $map->size());
- }
-
- public function testContainsValue() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $this->assertFalse($map->containsValue('foo'));
- $map->put(WeekDay::TUESDAY(), 'foo');
- $this->assertTrue($map->containsValue('foo'));
- $this->assertFalse($map->containsValue(null));
- $map->put(WeekDay::WEDNESDAY(), null);
- $this->assertTrue($map->containsValue(null));
- }
-
- public function testContainsKey() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $this->assertFalse($map->containsKey(WeekDay::TUESDAY()));
- $map->put(WeekDay::TUESDAY(), 'foo');
- $this->assertTrue($map->containsKey(WeekDay::TUESDAY()));
- $map->put(WeekDay::WEDNESDAY(), null);
- $this->assertTrue($map->containsKey(WeekDay::WEDNESDAY()));
- }
-
- public function testPutAndGet() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $map->put(WeekDay::TUESDAY(), 'foo');
- $map->put(WeekDay::FRIDAY(), null);
- $this->assertSame('foo', $map->get(WeekDay::TUESDAY()));
- $this->assertSame(null, $map->get(WeekDay::WEDNESDAY()));
- $this->assertSame(null, $map->get(WeekDay::FRIDAY()));
- }
-
- public function testPutInvalidKey() : void
- {
- $this->expectException(IllegalArgumentException::class);
- $map = new EnumMap(WeekDay::class, 'string', true);
- $map->put(Planet::MARS(), 'foo');
- }
-
- public function invalidValues() : array
- {
- return [
- ['bool', null, false],
- ['bool', 0],
- ['boolean', 0],
- ['int', 2.4],
- ['integer', 5.3],
- ['float', 3],
- ['double', 7],
- ['string', 1],
- ['object', 1],
- ['array', 1],
- [stdClass::class, 1],
- ];
- }
-
- /**
- * @dataProvider invalidValues
- * @param mixed $value
- */
- public function testPutInvalidValue(string $valueType, $value, bool $allowNull = true) : void
- {
- $this->expectException(IllegalArgumentException::class);
- $map = new EnumMap(WeekDay::class, $valueType, $allowNull);
- $map->put(WeekDay::TUESDAY(), $value);
- }
-
- public function validValues() : array
- {
- return [
- ['bool', null],
- ['mixed', 'foo'],
- ['mixed', 1],
- ['mixed', new stdClass()],
- ['bool', true],
- ['boolean', false],
- ['int', 1],
- ['integer', 4],
- ['float', 2.5],
- ['double', 6.4],
- ['string', 'foo'],
- ['object', new stdClass()],
- ['array', ['foo']],
- [stdClass::class, new stdClass()],
- ];
- }
-
- /**
- * @dataProvider validValues
- * @param mixed $value
- */
- public function testPutValidValue(string $valueType, $value, bool $allowNull = true) : void
- {
- $map = new EnumMap(WeekDay::class, $valueType, $allowNull);
- $map->put(WeekDay::TUESDAY(), $value);
- $this->addToAssertionCount(1);
- }
-
- public function testRemove() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $map->put(WeekDay::TUESDAY(), 'foo');
- $map->remove(WeekDay::TUESDAY());
- $map->remove(WeekDay::WEDNESDAY());
- $this->assertSame(null, $map->get(WeekDay::TUESDAY()));
- $this->assertSame(0, $map->size());
- }
-
- public function testClear() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $map->put(WeekDay::TUESDAY(), 'foo');
- $map->clear();
- $this->assertSame(null, $map->get(WeekDay::TUESDAY()));
- $this->assertSame(0, $map->size());
- }
-
- public function testEqualsWithSameInstance() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $this->assertTrue($map->equals($map));
- }
-
- public function testEqualsWithDifferentSize() : void
- {
- $mapA = new EnumMap(WeekDay::class, 'string', true);
- $mapB = new EnumMap(WeekDay::class, 'string', true);
- $mapB->put(WeekDay::MONDAY(), 'foo');
-
- $this->assertFalse($mapA->equals($mapB));
- }
-
- public function testEqualsWithDifferentValues() : void
- {
- $mapA = new EnumMap(WeekDay::class, 'string', true);
- $mapA->put(WeekDay::MONDAY(), 'foo');
- $mapB = new EnumMap(WeekDay::class, 'string', true);
- $mapB->put(WeekDay::MONDAY(), 'bar');
-
- $this->assertFalse($mapA->equals($mapB));
- }
-
- public function testEqualsWithDifferentConstants() : void
- {
- $mapA = new EnumMap(WeekDay::class, 'string', true);
- $mapA->put(WeekDay::MONDAY(), 'foo');
- $mapB = new EnumMap(WeekDay::class, 'string', true);
- $mapB->put(WeekDay::TUESDAY(), 'foo');
-
- $this->assertFalse($mapA->equals($mapB));
- }
-
- public function testValues() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $this->assertSame([], $map->values());
-
- $map->put(WeekDay::FRIDAY(), 'foo');
- $map->put(WeekDay::TUESDAY(), 'bar');
- $map->put(WeekDay::SUNDAY(), null);
-
- $this->assertSame(['bar', 'foo', null], $map->values());
- }
-
- public function testSerializeAndUnserialize() : void
- {
- $mapA = new EnumMap(WeekDay::class, 'string', true);
- $mapA->put(WeekDay::MONDAY(), 'foo');
- $mapB = unserialize(serialize($mapA));
-
- $this->assertTrue($mapA->equals($mapB));
- }
-
- public function testIterator() : void
- {
- $map = new EnumMap(WeekDay::class, 'string', true);
- $map->put(WeekDay::FRIDAY(), 'foo');
- $map->put(WeekDay::TUESDAY(), 'bar');
- $map->put(WeekDay::SUNDAY(), null);
-
- $result = [];
-
- foreach ($map as $key => $value) {
- $result[$key->ordinal()] = $value;
- }
-
- $this->assertSame([1 => 'bar', 4 => 'foo', 6 => null], $result);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/test/NullValueTest.php b/srcs/phpmyadmin/vendor/dasprid/enum/test/NullValueTest.php
deleted file mode 100644
index 9f70640..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/test/NullValueTest.php
+++ /dev/null
@@ -1,31 +0,0 @@
-expectException(CloneNotSupportedException::class);
- clone NullValue::instance();
- }
-
- public function testExceptionOnSerializeAttempt() : void
- {
- $this->expectException(SerializeNotSupportedException::class);
- serialize(NullValue::instance());
- }
-
- public function testExceptionOnUnserializeAttempt() : void
- {
- $this->expectException(UnserializeNotSupportedException::class);
- unserialize('O:22:"DASPRiD\\Enum\\NullValue":0:{}');
- }
-}
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/test/Planet.php b/srcs/phpmyadmin/vendor/dasprid/enum/test/Planet.php
deleted file mode 100644
index 3c44c1d..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/test/Planet.php
+++ /dev/null
@@ -1,73 +0,0 @@
-mass = $mass;
- $this->radius = $radius;
- }
-
- public function mass() : float
- {
- return $this->mass;
- }
-
- public function radius() : float
- {
- return $this->radius;
- }
-
- public function surfaceGravity() : float
- {
- return self::G * $this->mass / ($this->radius * $this->radius);
- }
-
- public function surfaceWeight(float $otherMass) : float
- {
- return $otherMass * $this->surfaceGravity();
- }
-}
diff --git a/srcs/phpmyadmin/vendor/dasprid/enum/test/WeekDay.php b/srcs/phpmyadmin/vendor/dasprid/enum/test/WeekDay.php
deleted file mode 100644
index 70b8db5..0000000
--- a/srcs/phpmyadmin/vendor/dasprid/enum/test/WeekDay.php
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-**Environment**
-
-
- * OS name and version:
- * PHP version:
- * Web server name and version:
- * `google/recaptcha` version:
- * Browser name and version:
-
-**Reproducing the issue**
-
-
- * URL (optional):
- * Code (optional):
-
- ***User steps***
-
-
- 1. Visit page...
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/.travis.yml b/srcs/phpmyadmin/vendor/google/recaptcha/.travis.yml
deleted file mode 100644
index a625795..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/.travis.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-dist: trusty
-
-language: php
-
-sudo: false
-
-php:
- - '5.5'
- - '5.6'
- - '7.0'
- - '7.1'
- - '7.2'
- - '7.3'
-
-before_script:
- - composer install
- - phpenv version-name | grep ^5.[34] && echo "extension=apc.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; true
- - phpenv version-name | grep ^5.[34] && echo "apc.enable_cli=1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini ; true
-
-script:
- - mkdir -p build/logs
- - composer run-script lint
- - composer run-script test
-
-after_success:
- - travis_retry php vendor/bin/php-coveralls
-
-cache:
- directories:
- - "$HOME/.composer/cache/files"
-
-git:
- depth: 5
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/ARCHITECTURE.md b/srcs/phpmyadmin/vendor/google/recaptcha/ARCHITECTURE.md
deleted file mode 100644
index 13add26..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/ARCHITECTURE.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# Architecture
-
-The general pattern of usage is to instantiate the `ReCaptcha` class with your
-secret key, specify any additional validation rules, and then call `verify()`
-with the reCAPTCHA response and user's IP address. For example:
-
-```php
-setExpectedHostname('recaptcha-demo.appspot.com')
- ->verify($gRecaptchaResponse, $remoteIp);
-if ($resp->isSuccess()) {
- // Verified!
-} else {
- $errors = $resp->getErrorCodes();
-}
-```
-
-By default, this will use the
-[`stream_context_create()`](https://secure.php.net/stream_context_create) and
-[`file_get_contents()`](https://secure.php.net/file_get_contents) to make a POST
-request to the reCAPTCHA service. This is handled by the
-[`RequestMethod\Post`](./src/ReCaptcha/RequestMethod/Post.php) class.
-
-## Alternate request methods
-
-You may need to use other methods for making requests in your environment. The
-[`ReCaptcha`](./src/ReCaptcha/ReCaptcha.php) class allows an optional
-[`RequestMethod`](./src/ReCaptcha/RequestMethod.php) instance to configure this.
-For example, if you want to use [cURL](https://secure.php.net/curl) instead you
-can do this:
-
-```php
-setExpectedHostname('recaptcha-demo.appspot.com')
- ->verify($gRecaptchaResponse, $remoteIp);
-if ($resp->isSuccess()) {
- // Verified!
-} else {
- $errors = $resp->getErrorCodes();
-}
-```
-
-The following methods are available:
-
-- `setExpectedHostname($hostname)`: ensures the hostname matches. You must do
- this if you have disabled "Domain/Package Name Validation" for your
- credentials.
-- `setExpectedApkPackageName($apkPackageName)`: if you're verifying a response
- from an Android app. Again, you must do this if you have disabled
- "Domain/Package Name Validation" for your credentials.
-- `setExpectedAction($action)`: ensures the action matches for the v3 API.
-- `setScoreThreshold($threshold)`: set a score theshold for responses from the
- v3 API
-- `setChallengeTimeout($timeoutSeconds)`: set a timeout between the user passing
- the reCAPTCHA and your server processing it.
-
-Each of the `set`\*`()` methods return the `ReCaptcha` instance so you can chain
-them together. For example:
-
-```php
-setExpectedHostname('recaptcha-demo.appspot.com')
- ->setExpectedAction('homepage')
- ->setScoreThreshold(0.5)
- ->verify($gRecaptchaResponse, $remoteIp);
-
-if ($resp->isSuccess()) {
- // Verified!
-} else {
- $errors = $resp->getErrorCodes();
-}
-```
-
-You can find the constants for the libraries error codes in the `ReCaptcha`
-class constants, e.g. `ReCaptcha::E_HOSTNAME_MISMATCH`
-
-For more details on usage and structure, see [ARCHITECTURE](ARCHITECTURE.md).
-
-### Examples
-
-You can see examples of each reCAPTCHA type in [examples/](examples/). You can
-run the examples locally by using the Composer script:
-
-```sh
-composer run-script serve-examples
-```
-
-This makes use of the in-built PHP dev server to host the examples at
-http://localhost:8080/
-
-These are also hosted on Google AppEngine Flexible environment at
-https://recaptcha-demo.appspot.com/. This is configured by
-[`app.yaml`](./app.yaml) which you can also use to [deploy to your own AppEngine
-project](https://cloud.google.com/appengine/docs/flexible/php/download).
-
-## Contributing
-
-No one ever has enough engineers, so we're very happy to accept contributions
-via Pull Requests. For details, see [CONTRIBUTING](CONTRIBUTING.md)
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/app.yaml b/srcs/phpmyadmin/vendor/google/recaptcha/app.yaml
deleted file mode 100644
index b6ccaf1..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/app.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-runtime: php
-env: flex
-
-skip_files:
-- tests
-
-runtime_config:
- document_root: examples
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/composer.json b/srcs/phpmyadmin/vendor/google/recaptcha/composer.json
deleted file mode 100644
index ab6b4f1..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/composer.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "name": "google/recaptcha",
- "description": "Client library for reCAPTCHA, a free service that protects websites from spam and abuse.",
- "type": "library",
- "keywords": ["recaptcha", "captcha", "spam", "abuse"],
- "homepage": "https://www.google.com/recaptcha/",
- "license": "BSD-3-Clause",
- "support": {
- "forum": "https://groups.google.com/forum/#!forum/recaptcha",
- "source": "https://github.com/google/recaptcha"
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36|^5.7.27|^6.59|^7.5.11",
- "friendsofphp/php-cs-fixer": "^2.2.20|^2.15",
- "php-coveralls/php-coveralls": "^2.1"
- },
- "autoload": {
- "psr-4": {
- "ReCaptcha\\": "src/ReCaptcha"
- }
- },
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "scripts": {
- "lint": "vendor/bin/php-cs-fixer -vvv fix --using-cache=no --dry-run .",
- "lint-fix": "vendor/bin/php-cs-fixer -vvv fix --using-cache=no .",
- "test": "vendor/bin/phpunit --colors=always",
- "serve-examples": "@php -S localhost:8080 -t examples"
- },
- "config": {
- "process-timeout": 0
- }
-}
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/phpunit.xml.dist b/srcs/phpmyadmin/vendor/google/recaptcha/phpunit.xml.dist
deleted file mode 100644
index ae86610..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/phpunit.xml.dist
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- tests/ReCaptcha/
-
-
-
-
- src/ReCaptcha/
-
-
-
-
-
-
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/ReCaptcha.php b/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/ReCaptcha.php
deleted file mode 100644
index 177fa44..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/ReCaptcha.php
+++ /dev/null
@@ -1,269 +0,0 @@
-secret = $secret;
- $this->requestMethod = (is_null($requestMethod)) ? new RequestMethod\Post() : $requestMethod;
- }
-
- /**
- * Calls the reCAPTCHA siteverify API to verify whether the user passes
- * CAPTCHA test and additionally runs any specified additional checks
- *
- * @param string $response The user response token provided by reCAPTCHA, verifying the user on your site.
- * @param string $remoteIp The end user's IP address.
- * @return Response Response from the service.
- */
- public function verify($response, $remoteIp = null)
- {
- // Discard empty solution submissions
- if (empty($response)) {
- $recaptchaResponse = new Response(false, array(self::E_MISSING_INPUT_RESPONSE));
- return $recaptchaResponse;
- }
-
- $params = new RequestParameters($this->secret, $response, $remoteIp, self::VERSION);
- $rawResponse = $this->requestMethod->submit($params);
- $initialResponse = Response::fromJson($rawResponse);
- $validationErrors = array();
-
- if (isset($this->hostname) && strcasecmp($this->hostname, $initialResponse->getHostname()) !== 0) {
- $validationErrors[] = self::E_HOSTNAME_MISMATCH;
- }
-
- if (isset($this->apkPackageName) && strcasecmp($this->apkPackageName, $initialResponse->getApkPackageName()) !== 0) {
- $validationErrors[] = self::E_APK_PACKAGE_NAME_MISMATCH;
- }
-
- if (isset($this->action) && strcasecmp($this->action, $initialResponse->getAction()) !== 0) {
- $validationErrors[] = self::E_ACTION_MISMATCH;
- }
-
- if (isset($this->threshold) && $this->threshold > $initialResponse->getScore()) {
- $validationErrors[] = self::E_SCORE_THRESHOLD_NOT_MET;
- }
-
- if (isset($this->timeoutSeconds)) {
- $challengeTs = strtotime($initialResponse->getChallengeTs());
-
- if ($challengeTs > 0 && time() - $challengeTs > $this->timeoutSeconds) {
- $validationErrors[] = self::E_CHALLENGE_TIMEOUT;
- }
- }
-
- if (empty($validationErrors)) {
- return $initialResponse;
- }
-
- return new Response(
- false,
- array_merge($initialResponse->getErrorCodes(), $validationErrors),
- $initialResponse->getHostname(),
- $initialResponse->getChallengeTs(),
- $initialResponse->getApkPackageName(),
- $initialResponse->getScore(),
- $initialResponse->getAction()
- );
- }
-
- /**
- * Provide a hostname to match against in verify()
- * This should be without a protocol or trailing slash, e.g. www.google.com
- *
- * @param string $hostname Expected hostname
- * @return ReCaptcha Current instance for fluent interface
- */
- public function setExpectedHostname($hostname)
- {
- $this->hostname = $hostname;
- return $this;
- }
-
- /**
- * Provide an APK package name to match against in verify()
- *
- * @param string $apkPackageName Expected APK package name
- * @return ReCaptcha Current instance for fluent interface
- */
- public function setExpectedApkPackageName($apkPackageName)
- {
- $this->apkPackageName = $apkPackageName;
- return $this;
- }
-
- /**
- * Provide an action to match against in verify()
- * This should be set per page.
- *
- * @param string $action Expected action
- * @return ReCaptcha Current instance for fluent interface
- */
- public function setExpectedAction($action)
- {
- $this->action = $action;
- return $this;
- }
-
- /**
- * Provide a threshold to meet or exceed in verify()
- * Threshold should be a float between 0 and 1 which will be tested as response >= threshold.
- *
- * @param float $threshold Expected threshold
- * @return ReCaptcha Current instance for fluent interface
- */
- public function setScoreThreshold($threshold)
- {
- $this->threshold = floatval($threshold);
- return $this;
- }
-
- /**
- * Provide a timeout in seconds to test against the challenge timestamp in verify()
- *
- * @param int $timeoutSeconds Expected hostname
- * @return ReCaptcha Current instance for fluent interface
- */
- public function setChallengeTimeout($timeoutSeconds)
- {
- $this->timeoutSeconds = $timeoutSeconds;
- return $this;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod.php b/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod.php
deleted file mode 100644
index 0a2a671..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod.php
+++ /dev/null
@@ -1,50 +0,0 @@
-curl = (is_null($curl)) ? new Curl() : $curl;
- $this->siteVerifyUrl = (is_null($siteVerifyUrl)) ? ReCaptcha::SITE_VERIFY_URL : $siteVerifyUrl;
- }
-
- /**
- * Submit the cURL request with the specified parameters.
- *
- * @param RequestParameters $params Request parameters
- * @return string Body of the reCAPTCHA response
- */
- public function submit(RequestParameters $params)
- {
- $handle = $this->curl->init($this->siteVerifyUrl);
-
- $options = array(
- CURLOPT_POST => true,
- CURLOPT_POSTFIELDS => $params->toQueryString(),
- CURLOPT_HTTPHEADER => array(
- 'Content-Type: application/x-www-form-urlencoded'
- ),
- CURLINFO_HEADER_OUT => false,
- CURLOPT_HEADER => false,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_SSL_VERIFYPEER => true
- );
- $this->curl->setoptArray($handle, $options);
-
- $response = $this->curl->exec($handle);
- $this->curl->close($handle);
-
- if ($response !== false) {
- return $response;
- }
-
- return '{"success": false, "error-codes": ["'.ReCaptcha::E_CONNECTION_FAILED.'"]}';
- }
-}
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php b/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php
deleted file mode 100644
index a4ff716..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php
+++ /dev/null
@@ -1,88 +0,0 @@
-siteVerifyUrl = (is_null($siteVerifyUrl)) ? ReCaptcha::SITE_VERIFY_URL : $siteVerifyUrl;
- }
-
- /**
- * Submit the POST request with the specified parameters.
- *
- * @param RequestParameters $params Request parameters
- * @return string Body of the reCAPTCHA response
- */
- public function submit(RequestParameters $params)
- {
- $options = array(
- 'http' => array(
- 'header' => "Content-type: application/x-www-form-urlencoded\r\n",
- 'method' => 'POST',
- 'content' => $params->toQueryString(),
- // Force the peer to validate (not needed in 5.6.0+, but still works)
- 'verify_peer' => true,
- ),
- );
- $context = stream_context_create($options);
- $response = file_get_contents($this->siteVerifyUrl, false, $context);
-
- if ($response !== false) {
- return $response;
- }
-
- return '{"success": false, "error-codes": ["'.ReCaptcha::E_CONNECTION_FAILED.'"]}';
- }
-}
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Socket.php b/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Socket.php
deleted file mode 100644
index 236bd5f..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Socket.php
+++ /dev/null
@@ -1,112 +0,0 @@
-handle = fsockopen($hostname, $port, $errno, $errstr, (is_null($timeout) ? ini_get("default_socket_timeout") : $timeout));
-
- if ($this->handle != false && $errno === 0 && $errstr === '') {
- return $this->handle;
- }
- return false;
- }
-
- /**
- * fwrite
- *
- * @see http://php.net/fwrite
- * @param string $string
- * @param int $length
- * @return int | bool
- */
- public function fwrite($string, $length = null)
- {
- return fwrite($this->handle, $string, (is_null($length) ? strlen($string) : $length));
- }
-
- /**
- * fgets
- *
- * @see http://php.net/fgets
- * @param int $length
- * @return string
- */
- public function fgets($length = null)
- {
- return fgets($this->handle, $length);
- }
-
- /**
- * feof
- *
- * @see http://php.net/feof
- * @return bool
- */
- public function feof()
- {
- return feof($this->handle);
- }
-
- /**
- * fclose
- *
- * @see http://php.net/fclose
- * @return bool
- */
- public function fclose()
- {
- return fclose($this->handle);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/SocketPost.php b/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/SocketPost.php
deleted file mode 100644
index 7edffb8..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestMethod/SocketPost.php
+++ /dev/null
@@ -1,108 +0,0 @@
-socket = (is_null($socket)) ? new Socket() : $socket;
- $this->siteVerifyUrl = (is_null($siteVerifyUrl)) ? ReCaptcha::SITE_VERIFY_URL : $siteVerifyUrl;
- }
-
- /**
- * Submit the POST request with the specified parameters.
- *
- * @param RequestParameters $params Request parameters
- * @return string Body of the reCAPTCHA response
- */
- public function submit(RequestParameters $params)
- {
- $errno = 0;
- $errstr = '';
- $urlParsed = parse_url($this->siteVerifyUrl);
-
- if (false === $this->socket->fsockopen('ssl://' . $urlParsed['host'], 443, $errno, $errstr, 30)) {
- return '{"success": false, "error-codes": ["'.ReCaptcha::E_CONNECTION_FAILED.'"]}';
- }
-
- $content = $params->toQueryString();
-
- $request = "POST " . $urlParsed['path'] . " HTTP/1.1\r\n";
- $request .= "Host: " . $urlParsed['host'] . "\r\n";
- $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
- $request .= "Content-length: " . strlen($content) . "\r\n";
- $request .= "Connection: close\r\n\r\n";
- $request .= $content . "\r\n\r\n";
-
- $this->socket->fwrite($request);
- $response = '';
-
- while (!$this->socket->feof()) {
- $response .= $this->socket->fgets(4096);
- }
-
- $this->socket->fclose();
-
- if (0 !== strpos($response, 'HTTP/1.1 200 OK')) {
- return '{"success": false, "error-codes": ["'.ReCaptcha::E_BAD_RESPONSE.'"]}';
- }
-
- $parts = preg_split("#\n\s*\n#Uis", $response);
-
- return $parts[1];
- }
-}
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestParameters.php b/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestParameters.php
deleted file mode 100644
index e9ba453..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/RequestParameters.php
+++ /dev/null
@@ -1,111 +0,0 @@
-secret = $secret;
- $this->response = $response;
- $this->remoteIp = $remoteIp;
- $this->version = $version;
- }
-
- /**
- * Array representation.
- *
- * @return array Array formatted parameters.
- */
- public function toArray()
- {
- $params = array('secret' => $this->secret, 'response' => $this->response);
-
- if (!is_null($this->remoteIp)) {
- $params['remoteip'] = $this->remoteIp;
- }
-
- if (!is_null($this->version)) {
- $params['version'] = $this->version;
- }
-
- return $params;
- }
-
- /**
- * Query string representation for HTTP request.
- *
- * @return string Query string formatted parameters.
- */
- public function toQueryString()
- {
- return http_build_query($this->toArray(), '', '&');
- }
-}
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/Response.php b/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/Response.php
deleted file mode 100644
index 55838c0..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/src/ReCaptcha/Response.php
+++ /dev/null
@@ -1,218 +0,0 @@
-success = $success;
- $this->hostname = $hostname;
- $this->challengeTs = $challengeTs;
- $this->apkPackageName = $apkPackageName;
- $this->score = $score;
- $this->action = $action;
- $this->errorCodes = $errorCodes;
- }
-
- /**
- * Is success?
- *
- * @return boolean
- */
- public function isSuccess()
- {
- return $this->success;
- }
-
- /**
- * Get error codes.
- *
- * @return array
- */
- public function getErrorCodes()
- {
- return $this->errorCodes;
- }
-
- /**
- * Get hostname.
- *
- * @return string
- */
- public function getHostname()
- {
- return $this->hostname;
- }
-
- /**
- * Get challenge timestamp
- *
- * @return string
- */
- public function getChallengeTs()
- {
- return $this->challengeTs;
- }
-
- /**
- * Get APK package name
- *
- * @return string
- */
- public function getApkPackageName()
- {
- return $this->apkPackageName;
- }
- /**
- * Get score
- *
- * @return float
- */
- public function getScore()
- {
- return $this->score;
- }
-
- /**
- * Get action
- *
- * @return string
- */
- public function getAction()
- {
- return $this->action;
- }
-
- public function toArray()
- {
- return array(
- 'success' => $this->isSuccess(),
- 'hostname' => $this->getHostname(),
- 'challenge_ts' => $this->getChallengeTs(),
- 'apk_package_name' => $this->getApkPackageName(),
- 'score' => $this->getScore(),
- 'action' => $this->getAction(),
- 'error-codes' => $this->getErrorCodes(),
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/google/recaptcha/src/autoload.php b/srcs/phpmyadmin/vendor/google/recaptcha/src/autoload.php
deleted file mode 100644
index 7947a10..0000000
--- a/srcs/phpmyadmin/vendor/google/recaptcha/src/autoload.php
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
- ./tests
-
-
-
-
- ./src
-
-
-
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/psalm.xml b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/psalm.xml
deleted file mode 100644
index 0a17264..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/psalm.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base32.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base32.php
deleted file mode 100644
index 18c0ac9..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base32.php
+++ /dev/null
@@ -1,471 +0,0 @@
- 96 && $src < 123) $ret += $src - 97 + 1; // -64
- $ret += (((0x60 - $src) & ($src - 0x7b)) >> 8) & ($src - 96);
-
- // if ($src > 0x31 && $src < 0x38) $ret += $src - 24 + 1; // -23
- $ret += (((0x31 - $src) & ($src - 0x38)) >> 8) & ($src - 23);
-
- return $ret;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 5-bit integers
- * into 8-bit integers.
- *
- * Uppercase variant.
- *
- * @param int $src
- * @return int
- */
- protected static function decode5BitsUpper(int $src): int
- {
- $ret = -1;
-
- // if ($src > 64 && $src < 91) $ret += $src - 65 + 1; // -64
- $ret += (((0x40 - $src) & ($src - 0x5b)) >> 8) & ($src - 64);
-
- // if ($src > 0x31 && $src < 0x38) $ret += $src - 24 + 1; // -23
- $ret += (((0x31 - $src) & ($src - 0x38)) >> 8) & ($src - 23);
-
- return $ret;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 8-bit integers
- * into 5-bit integers.
- *
- * @param int $src
- * @return string
- */
- protected static function encode5Bits(int $src): string
- {
- $diff = 0x61;
-
- // if ($src > 25) $ret -= 72;
- $diff -= ((25 - $src) >> 8) & 73;
-
- return \pack('C', $src + $diff);
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 8-bit integers
- * into 5-bit integers.
- *
- * Uppercase variant.
- *
- * @param int $src
- * @return string
- */
- protected static function encode5BitsUpper(int $src): string
- {
- $diff = 0x41;
-
- // if ($src > 25) $ret -= 40;
- $diff -= ((25 - $src) >> 8) & 41;
-
- return \pack('C', $src + $diff);
- }
-
-
- /**
- * Base32 decoding
- *
- * @param string $src
- * @param bool $upper
- * @param bool $strictPadding
- * @return string
- * @throws \TypeError
- * @psalm-suppress RedundantCondition
- */
- protected static function doDecode(string $src, bool $upper = false, bool $strictPadding = false): string
- {
- // We do this to reduce code duplication:
- $method = $upper
- ? 'decode5BitsUpper'
- : 'decode5Bits';
-
- // Remove padding
- $srcLen = Binary::safeStrlen($src);
- if ($srcLen === 0) {
- return '';
- }
- if ($strictPadding) {
- if (($srcLen & 7) === 0) {
- for ($j = 0; $j < 7; ++$j) {
- if ($src[$srcLen - 1] === '=') {
- $srcLen--;
- } else {
- break;
- }
- }
- }
- if (($srcLen & 7) === 1) {
- throw new \RangeException(
- 'Incorrect padding'
- );
- }
- } else {
- $src = \rtrim($src, '=');
- $srcLen = Binary::safeStrlen($src);
- }
-
- $err = 0;
- $dest = '';
- // Main loop (no padding):
- for ($i = 0; $i + 8 <= $srcLen; $i += 8) {
- /** @var array $chunk */
- $chunk = \unpack('C*', Binary::safeSubstr($src, $i, 8));
- /** @var int $c0 */
- $c0 = static::$method($chunk[1]);
- /** @var int $c1 */
- $c1 = static::$method($chunk[2]);
- /** @var int $c2 */
- $c2 = static::$method($chunk[3]);
- /** @var int $c3 */
- $c3 = static::$method($chunk[4]);
- /** @var int $c4 */
- $c4 = static::$method($chunk[5]);
- /** @var int $c5 */
- $c5 = static::$method($chunk[6]);
- /** @var int $c6 */
- $c6 = static::$method($chunk[7]);
- /** @var int $c7 */
- $c7 = static::$method($chunk[8]);
-
- $dest .= \pack(
- 'CCCCC',
- (($c0 << 3) | ($c1 >> 2) ) & 0xff,
- (($c1 << 6) | ($c2 << 1) | ($c3 >> 4)) & 0xff,
- (($c3 << 4) | ($c4 >> 1) ) & 0xff,
- (($c4 << 7) | ($c5 << 2) | ($c6 >> 3)) & 0xff,
- (($c6 << 5) | ($c7 ) ) & 0xff
- );
- $err |= ($c0 | $c1 | $c2 | $c3 | $c4 | $c5 | $c6 | $c7) >> 8;
- }
- // The last chunk, which may have padding:
- if ($i < $srcLen) {
- /** @var array $chunk */
- $chunk = \unpack('C*', Binary::safeSubstr($src, $i, $srcLen - $i));
- /** @var int $c0 */
- $c0 = static::$method($chunk[1]);
-
- if ($i + 6 < $srcLen) {
- /** @var int $c1 */
- $c1 = static::$method($chunk[2]);
- /** @var int $c2 */
- $c2 = static::$method($chunk[3]);
- /** @var int $c3 */
- $c3 = static::$method($chunk[4]);
- /** @var int $c4 */
- $c4 = static::$method($chunk[5]);
- /** @var int $c5 */
- $c5 = static::$method($chunk[6]);
- /** @var int $c6 */
- $c6 = static::$method($chunk[7]);
-
- $dest .= \pack(
- 'CCCC',
- (($c0 << 3) | ($c1 >> 2) ) & 0xff,
- (($c1 << 6) | ($c2 << 1) | ($c3 >> 4)) & 0xff,
- (($c3 << 4) | ($c4 >> 1) ) & 0xff,
- (($c4 << 7) | ($c5 << 2) | ($c6 >> 3)) & 0xff
- );
- $err |= ($c0 | $c1 | $c2 | $c3 | $c4 | $c5 | $c6) >> 8;
- } elseif ($i + 5 < $srcLen) {
- /** @var int $c1 */
- $c1 = static::$method($chunk[2]);
- /** @var int $c2 */
- $c2 = static::$method($chunk[3]);
- /** @var int $c3 */
- $c3 = static::$method($chunk[4]);
- /** @var int $c4 */
- $c4 = static::$method($chunk[5]);
- /** @var int $c5 */
- $c5 = static::$method($chunk[6]);
-
- $dest .= \pack(
- 'CCCC',
- (($c0 << 3) | ($c1 >> 2) ) & 0xff,
- (($c1 << 6) | ($c2 << 1) | ($c3 >> 4)) & 0xff,
- (($c3 << 4) | ($c4 >> 1) ) & 0xff,
- (($c4 << 7) | ($c5 << 2) ) & 0xff
- );
- $err |= ($c0 | $c1 | $c2 | $c3 | $c4 | $c5) >> 8;
- } elseif ($i + 4 < $srcLen) {
- /** @var int $c1 */
- $c1 = static::$method($chunk[2]);
- /** @var int $c2 */
- $c2 = static::$method($chunk[3]);
- /** @var int $c3 */
- $c3 = static::$method($chunk[4]);
- /** @var int $c4 */
- $c4 = static::$method($chunk[5]);
-
- $dest .= \pack(
- 'CCC',
- (($c0 << 3) | ($c1 >> 2) ) & 0xff,
- (($c1 << 6) | ($c2 << 1) | ($c3 >> 4)) & 0xff,
- (($c3 << 4) | ($c4 >> 1) ) & 0xff
- );
- $err |= ($c0 | $c1 | $c2 | $c3 | $c4) >> 8;
- } elseif ($i + 3 < $srcLen) {
- /** @var int $c1 */
- $c1 = static::$method($chunk[2]);
- /** @var int $c2 */
- $c2 = static::$method($chunk[3]);
- /** @var int $c3 */
- $c3 = static::$method($chunk[4]);
-
- $dest .= \pack(
- 'CC',
- (($c0 << 3) | ($c1 >> 2) ) & 0xff,
- (($c1 << 6) | ($c2 << 1) | ($c3 >> 4)) & 0xff
- );
- $err |= ($c0 | $c1 | $c2 | $c3) >> 8;
- } elseif ($i + 2 < $srcLen) {
- /** @var int $c1 */
- $c1 = static::$method($chunk[2]);
- /** @var int $c2 */
- $c2 = static::$method($chunk[3]);
-
- $dest .= \pack(
- 'CC',
- (($c0 << 3) | ($c1 >> 2) ) & 0xff,
- (($c1 << 6) | ($c2 << 1) ) & 0xff
- );
- $err |= ($c0 | $c1 | $c2) >> 8;
- } elseif ($i + 1 < $srcLen) {
- /** @var int $c1 */
- $c1 = static::$method($chunk[2]);
-
- $dest .= \pack(
- 'C',
- (($c0 << 3) | ($c1 >> 2) ) & 0xff
- );
- $err |= ($c0 | $c1) >> 8;
- } else {
- $dest .= \pack(
- 'C',
- (($c0 << 3) ) & 0xff
- );
- $err |= ($c0) >> 8;
- }
- }
- /** @var bool $check */
- $check = ($err === 0);
- if (!$check) {
- throw new \RangeException(
- 'Base32::doDecode() only expects characters in the correct base32 alphabet'
- );
- }
- return $dest;
- }
-
- /**
- * Base32 Encoding
- *
- * @param string $src
- * @param bool $upper
- * @param bool $pad
- * @return string
- * @throws \TypeError
- */
- protected static function doEncode(string $src, bool $upper = false, $pad = true): string
- {
- // We do this to reduce code duplication:
- $method = $upper
- ? 'encode5BitsUpper'
- : 'encode5Bits';
-
- $dest = '';
- $srcLen = Binary::safeStrlen($src);
-
- // Main loop (no padding):
- for ($i = 0; $i + 5 <= $srcLen; $i += 5) {
- /** @var array $chunk */
- $chunk = \unpack('C*', Binary::safeSubstr($src, $i, 5));
- $b0 = $chunk[1];
- $b1 = $chunk[2];
- $b2 = $chunk[3];
- $b3 = $chunk[4];
- $b4 = $chunk[5];
- $dest .=
- static::$method( ($b0 >> 3) & 31) .
- static::$method((($b0 << 2) | ($b1 >> 6)) & 31) .
- static::$method((($b1 >> 1) ) & 31) .
- static::$method((($b1 << 4) | ($b2 >> 4)) & 31) .
- static::$method((($b2 << 1) | ($b3 >> 7)) & 31) .
- static::$method((($b3 >> 2) ) & 31) .
- static::$method((($b3 << 3) | ($b4 >> 5)) & 31) .
- static::$method( $b4 & 31);
- }
- // The last chunk, which may have padding:
- if ($i < $srcLen) {
- /** @var array $chunk */
- $chunk = \unpack('C*', Binary::safeSubstr($src, $i, $srcLen - $i));
- $b0 = $chunk[1];
- if ($i + 3 < $srcLen) {
- $b1 = $chunk[2];
- $b2 = $chunk[3];
- $b3 = $chunk[4];
- $dest .=
- static::$method( ($b0 >> 3) & 31) .
- static::$method((($b0 << 2) | ($b1 >> 6)) & 31) .
- static::$method((($b1 >> 1) ) & 31) .
- static::$method((($b1 << 4) | ($b2 >> 4)) & 31) .
- static::$method((($b2 << 1) | ($b3 >> 7)) & 31) .
- static::$method((($b3 >> 2) ) & 31) .
- static::$method((($b3 << 3) ) & 31);
- if ($pad) {
- $dest .= '=';
- }
- } elseif ($i + 2 < $srcLen) {
- $b1 = $chunk[2];
- $b2 = $chunk[3];
- $dest .=
- static::$method( ($b0 >> 3) & 31) .
- static::$method((($b0 << 2) | ($b1 >> 6)) & 31) .
- static::$method((($b1 >> 1) ) & 31) .
- static::$method((($b1 << 4) | ($b2 >> 4)) & 31) .
- static::$method((($b2 << 1) ) & 31);
- if ($pad) {
- $dest .= '===';
- }
- } elseif ($i + 1 < $srcLen) {
- $b1 = $chunk[2];
- $dest .=
- static::$method( ($b0 >> 3) & 31) .
- static::$method((($b0 << 2) | ($b1 >> 6)) & 31) .
- static::$method((($b1 >> 1) ) & 31) .
- static::$method((($b1 << 4) ) & 31);
- if ($pad) {
- $dest .= '====';
- }
- } else {
- $dest .=
- static::$method( ($b0 >> 3) & 31) .
- static::$method( ($b0 << 2) & 31);
- if ($pad) {
- $dest .= '======';
- }
- }
- }
- return $dest;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base32Hex.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base32Hex.php
deleted file mode 100644
index 68fdad5..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base32Hex.php
+++ /dev/null
@@ -1,111 +0,0 @@
- 0x30 && $src < 0x3a) ret += $src - 0x2e + 1; // -47
- $ret += (((0x2f - $src) & ($src - 0x3a)) >> 8) & ($src - 47);
-
- // if ($src > 0x60 && $src < 0x77) ret += $src - 0x61 + 10 + 1; // -86
- $ret += (((0x60 - $src) & ($src - 0x77)) >> 8) & ($src - 86);
-
- return $ret;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 5-bit integers
- * into 8-bit integers.
- *
- * @param int $src
- * @return int
- */
- protected static function decode5BitsUpper(int $src): int
- {
- $ret = -1;
-
- // if ($src > 0x30 && $src < 0x3a) ret += $src - 0x2e + 1; // -47
- $ret += (((0x2f - $src) & ($src - 0x3a)) >> 8) & ($src - 47);
-
- // if ($src > 0x40 && $src < 0x57) ret += $src - 0x41 + 10 + 1; // -54
- $ret += (((0x40 - $src) & ($src - 0x57)) >> 8) & ($src - 54);
-
- return $ret;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 8-bit integers
- * into 5-bit integers.
- *
- * @param int $src
- * @return string
- */
- protected static function encode5Bits(int $src): string
- {
- $src += 0x30;
-
- // if ($src > 0x39) $src += 0x61 - 0x3a; // 39
- $src += ((0x39 - $src) >> 8) & 39;
-
- return \pack('C', $src);
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 8-bit integers
- * into 5-bit integers.
- *
- * Uppercase variant.
- *
- * @param int $src
- * @return string
- */
- protected static function encode5BitsUpper(int $src): string
- {
- $src += 0x30;
-
- // if ($src > 0x39) $src += 0x41 - 0x3a; // 7
- $src += ((0x39 - $src) >> 8) & 7;
-
- return \pack('C', $src);
- }
-}
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64.php
deleted file mode 100644
index b806909..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64.php
+++ /dev/null
@@ -1,271 +0,0 @@
- $chunk */
- $chunk = \unpack('C*', Binary::safeSubstr($src, $i, 3));
- $b0 = $chunk[1];
- $b1 = $chunk[2];
- $b2 = $chunk[3];
-
- $dest .=
- static::encode6Bits( $b0 >> 2 ) .
- static::encode6Bits((($b0 << 4) | ($b1 >> 4)) & 63) .
- static::encode6Bits((($b1 << 2) | ($b2 >> 6)) & 63) .
- static::encode6Bits( $b2 & 63);
- }
- // The last chunk, which may have padding:
- if ($i < $srcLen) {
- /** @var array $chunk */
- $chunk = \unpack('C*', Binary::safeSubstr($src, $i, $srcLen - $i));
- $b0 = $chunk[1];
- if ($i + 1 < $srcLen) {
- $b1 = $chunk[2];
- $dest .=
- static::encode6Bits($b0 >> 2) .
- static::encode6Bits((($b0 << 4) | ($b1 >> 4)) & 63) .
- static::encode6Bits(($b1 << 2) & 63);
- if ($pad) {
- $dest .= '=';
- }
- } else {
- $dest .=
- static::encode6Bits( $b0 >> 2) .
- static::encode6Bits(($b0 << 4) & 63);
- if ($pad) {
- $dest .= '==';
- }
- }
- }
- return $dest;
- }
-
- /**
- * decode from base64 into binary
- *
- * Base64 character set "./[A-Z][a-z][0-9]"
- *
- * @param string $src
- * @param bool $strictPadding
- * @return string
- * @throws \RangeException
- * @throws \TypeError
- * @psalm-suppress RedundantCondition
- */
- public static function decode(string $src, bool $strictPadding = false): string
- {
- // Remove padding
- $srcLen = Binary::safeStrlen($src);
- if ($srcLen === 0) {
- return '';
- }
-
- if ($strictPadding) {
- if (($srcLen & 3) === 0) {
- if ($src[$srcLen - 1] === '=') {
- $srcLen--;
- if ($src[$srcLen - 1] === '=') {
- $srcLen--;
- }
- }
- }
- if (($srcLen & 3) === 1) {
- throw new \RangeException(
- 'Incorrect padding'
- );
- }
- if ($src[$srcLen - 1] === '=') {
- throw new \RangeException(
- 'Incorrect padding'
- );
- }
- } else {
- $src = \rtrim($src, '=');
- $srcLen = Binary::safeStrlen($src);
- }
-
- $err = 0;
- $dest = '';
- // Main loop (no padding):
- for ($i = 0; $i + 4 <= $srcLen; $i += 4) {
- /** @var array $chunk */
- $chunk = \unpack('C*', Binary::safeSubstr($src, $i, 4));
- $c0 = static::decode6Bits($chunk[1]);
- $c1 = static::decode6Bits($chunk[2]);
- $c2 = static::decode6Bits($chunk[3]);
- $c3 = static::decode6Bits($chunk[4]);
-
- $dest .= \pack(
- 'CCC',
- ((($c0 << 2) | ($c1 >> 4)) & 0xff),
- ((($c1 << 4) | ($c2 >> 2)) & 0xff),
- ((($c2 << 6) | $c3 ) & 0xff)
- );
- $err |= ($c0 | $c1 | $c2 | $c3) >> 8;
- }
- // The last chunk, which may have padding:
- if ($i < $srcLen) {
- /** @var array $chunk */
- $chunk = \unpack('C*', Binary::safeSubstr($src, $i, $srcLen - $i));
- $c0 = static::decode6Bits($chunk[1]);
-
- if ($i + 2 < $srcLen) {
- $c1 = static::decode6Bits($chunk[2]);
- $c2 = static::decode6Bits($chunk[3]);
- $dest .= \pack(
- 'CC',
- ((($c0 << 2) | ($c1 >> 4)) & 0xff),
- ((($c1 << 4) | ($c2 >> 2)) & 0xff)
- );
- $err |= ($c0 | $c1 | $c2) >> 8;
- } elseif ($i + 1 < $srcLen) {
- $c1 = static::decode6Bits($chunk[2]);
- $dest .= \pack(
- 'C',
- ((($c0 << 2) | ($c1 >> 4)) & 0xff)
- );
- $err |= ($c0 | $c1) >> 8;
- } elseif ($i < $srcLen && $strictPadding) {
- $err |= 1;
- }
- }
- /** @var bool $check */
- $check = ($err === 0);
- if (!$check) {
- throw new \RangeException(
- 'Base64::decode() only expects characters in the correct base64 alphabet'
- );
- }
- return $dest;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 6-bit integers
- * into 8-bit integers.
- *
- * Base64 character set:
- * [A-Z] [a-z] [0-9] + /
- * 0x41-0x5a, 0x61-0x7a, 0x30-0x39, 0x2b, 0x2f
- *
- * @param int $src
- * @return int
- */
- protected static function decode6Bits(int $src): int
- {
- $ret = -1;
-
- // if ($src > 0x40 && $src < 0x5b) $ret += $src - 0x41 + 1; // -64
- $ret += (((0x40 - $src) & ($src - 0x5b)) >> 8) & ($src - 64);
-
- // if ($src > 0x60 && $src < 0x7b) $ret += $src - 0x61 + 26 + 1; // -70
- $ret += (((0x60 - $src) & ($src - 0x7b)) >> 8) & ($src - 70);
-
- // if ($src > 0x2f && $src < 0x3a) $ret += $src - 0x30 + 52 + 1; // 5
- $ret += (((0x2f - $src) & ($src - 0x3a)) >> 8) & ($src + 5);
-
- // if ($src == 0x2b) $ret += 62 + 1;
- $ret += (((0x2a - $src) & ($src - 0x2c)) >> 8) & 63;
-
- // if ($src == 0x2f) ret += 63 + 1;
- $ret += (((0x2e - $src) & ($src - 0x30)) >> 8) & 64;
-
- return $ret;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 8-bit integers
- * into 6-bit integers.
- *
- * @param int $src
- * @return string
- */
- protected static function encode6Bits(int $src): string
- {
- $diff = 0x41;
-
- // if ($src > 25) $diff += 0x61 - 0x41 - 26; // 6
- $diff += ((25 - $src) >> 8) & 6;
-
- // if ($src > 51) $diff += 0x30 - 0x61 - 26; // -75
- $diff -= ((51 - $src) >> 8) & 75;
-
- // if ($src > 61) $diff += 0x2b - 0x30 - 10; // -15
- $diff -= ((61 - $src) >> 8) & 15;
-
- // if ($src > 62) $diff += 0x2f - 0x2b - 1; // 3
- $diff += ((62 - $src) >> 8) & 3;
-
- return \pack('C', $src + $diff);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64DotSlash.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64DotSlash.php
deleted file mode 100644
index 8ad2e2b..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64DotSlash.php
+++ /dev/null
@@ -1,88 +0,0 @@
- 0x2d && $src < 0x30) ret += $src - 0x2e + 1; // -45
- $ret += (((0x2d - $src) & ($src - 0x30)) >> 8) & ($src - 45);
-
- // if ($src > 0x40 && $src < 0x5b) ret += $src - 0x41 + 2 + 1; // -62
- $ret += (((0x40 - $src) & ($src - 0x5b)) >> 8) & ($src - 62);
-
- // if ($src > 0x60 && $src < 0x7b) ret += $src - 0x61 + 28 + 1; // -68
- $ret += (((0x60 - $src) & ($src - 0x7b)) >> 8) & ($src - 68);
-
- // if ($src > 0x2f && $src < 0x3a) ret += $src - 0x30 + 54 + 1; // 7
- $ret += (((0x2f - $src) & ($src - 0x3a)) >> 8) & ($src + 7);
-
- return $ret;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 8-bit integers
- * into 6-bit integers.
- *
- * @param int $src
- * @return string
- */
- protected static function encode6Bits(int $src): string
- {
- $src += 0x2e;
-
- // if ($src > 0x2f) $src += 0x41 - 0x30; // 17
- $src += ((0x2f - $src) >> 8) & 17;
-
- // if ($src > 0x5a) $src += 0x61 - 0x5b; // 6
- $src += ((0x5a - $src) >> 8) & 6;
-
- // if ($src > 0x7a) $src += 0x30 - 0x7b; // -75
- $src -= ((0x7a - $src) >> 8) & 75;
-
- return \pack('C', $src);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64DotSlashOrdered.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64DotSlashOrdered.php
deleted file mode 100644
index dd1459e..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64DotSlashOrdered.php
+++ /dev/null
@@ -1,82 +0,0 @@
- 0x2d && $src < 0x3a) ret += $src - 0x2e + 1; // -45
- $ret += (((0x2d - $src) & ($src - 0x3a)) >> 8) & ($src - 45);
-
- // if ($src > 0x40 && $src < 0x5b) ret += $src - 0x41 + 12 + 1; // -52
- $ret += (((0x40 - $src) & ($src - 0x5b)) >> 8) & ($src - 52);
-
- // if ($src > 0x60 && $src < 0x7b) ret += $src - 0x61 + 38 + 1; // -58
- $ret += (((0x60 - $src) & ($src - 0x7b)) >> 8) & ($src - 58);
-
- return $ret;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 8-bit integers
- * into 6-bit integers.
- *
- * @param int $src
- * @return string
- */
- protected static function encode6Bits(int $src): string
- {
- $src += 0x2e;
-
- // if ($src > 0x39) $src += 0x41 - 0x3a; // 7
- $src += ((0x39 - $src) >> 8) & 7;
-
- // if ($src > 0x5a) $src += 0x61 - 0x5b; // 6
- $src += ((0x5a - $src) >> 8) & 6;
-
- return \pack('C', $src);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64UrlSafe.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64UrlSafe.php
deleted file mode 100644
index 1a41075..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Base64UrlSafe.php
+++ /dev/null
@@ -1,95 +0,0 @@
- 0x40 && $src < 0x5b) $ret += $src - 0x41 + 1; // -64
- $ret += (((0x40 - $src) & ($src - 0x5b)) >> 8) & ($src - 64);
-
- // if ($src > 0x60 && $src < 0x7b) $ret += $src - 0x61 + 26 + 1; // -70
- $ret += (((0x60 - $src) & ($src - 0x7b)) >> 8) & ($src - 70);
-
- // if ($src > 0x2f && $src < 0x3a) $ret += $src - 0x30 + 52 + 1; // 5
- $ret += (((0x2f - $src) & ($src - 0x3a)) >> 8) & ($src + 5);
-
- // if ($src == 0x2c) $ret += 62 + 1;
- $ret += (((0x2c - $src) & ($src - 0x2e)) >> 8) & 63;
-
- // if ($src == 0x5f) ret += 63 + 1;
- $ret += (((0x5e - $src) & ($src - 0x60)) >> 8) & 64;
-
- return $ret;
- }
-
- /**
- * Uses bitwise operators instead of table-lookups to turn 8-bit integers
- * into 6-bit integers.
- *
- * @param int $src
- * @return string
- */
- protected static function encode6Bits(int $src): string
- {
- $diff = 0x41;
-
- // if ($src > 25) $diff += 0x61 - 0x41 - 26; // 6
- $diff += ((25 - $src) >> 8) & 6;
-
- // if ($src > 51) $diff += 0x30 - 0x61 - 26; // -75
- $diff -= ((51 - $src) >> 8) & 75;
-
- // if ($src > 61) $diff += 0x2d - 0x30 - 10; // -13
- $diff -= ((61 - $src) >> 8) & 13;
-
- // if ($src > 62) $diff += 0x5f - 0x2b - 1; // 3
- $diff += ((62 - $src) >> 8) & 49;
-
- return \pack('C', $src + $diff);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Binary.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Binary.php
deleted file mode 100644
index 38c3ec8..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/Binary.php
+++ /dev/null
@@ -1,85 +0,0 @@
- $chunk */
- $chunk = \unpack('C', Binary::safeSubstr($binString, $i, 1));
- /** @var int $c */
- $c = $chunk[1] & 0xf;
- /** @var int $b */
- $b = $chunk[1] >> 4;
-
- $hex .= pack(
- 'CC',
- (87 + $b + ((($b - 10) >> 8) & ~38)),
- (87 + $c + ((($c - 10) >> 8) & ~38))
- );
- }
- return $hex;
- }
-
- /**
- * Convert a binary string into a hexadecimal string without cache-timing
- * leaks, returning uppercase letters (as per RFC 4648)
- *
- * @param string $binString (raw binary)
- * @return string
- * @throws \TypeError
- */
- public static function encodeUpper(string $binString): string
- {
- /** @var string $hex */
- $hex = '';
- /** @var int $len */
- $len = Binary::safeStrlen($binString);
-
- for ($i = 0; $i < $len; ++$i) {
- /** @var array $chunk */
- $chunk = \unpack('C', Binary::safeSubstr($binString, $i, 2));
- /** @var int $c */
- $c = $chunk[1] & 0xf;
- /** @var int $b */
- $b = $chunk[1] >> 4;
-
- $hex .= pack(
- 'CC',
- (55 + $b + ((($b - 10) >> 8) & ~6)),
- (55 + $c + ((($c - 10) >> 8) & ~6))
- );
- }
- return $hex;
- }
-
- /**
- * Convert a hexadecimal string into a binary string without cache-timing
- * leaks
- *
- * @param string $hexString
- * @param bool $strictPadding
- * @return string (raw binary)
- * @throws \RangeException
- */
- public static function decode(string $hexString, bool $strictPadding = false): string
- {
- /** @var int $hex_pos */
- $hex_pos = 0;
- /** @var string $bin */
- $bin = '';
- /** @var int $c_acc */
- $c_acc = 0;
- /** @var int $hex_len */
- $hex_len = Binary::safeStrlen($hexString);
- /** @var int $state */
- $state = 0;
- if (($hex_len & 1) !== 0) {
- if ($strictPadding) {
- throw new \RangeException(
- 'Expected an even number of hexadecimal characters'
- );
- } else {
- $hexString = '0' . $hexString;
- ++$hex_len;
- }
- }
-
- /** @var array $chunk */
- $chunk = \unpack('C*', $hexString);
- while ($hex_pos < $hex_len) {
- ++$hex_pos;
- /** @var int $c */
- $c = $chunk[$hex_pos];
- /** @var int $c_num */
- $c_num = $c ^ 48;
- /** @var int $c_num0 */
- $c_num0 = ($c_num - 10) >> 8;
- /** @var int $c_alpha */
- $c_alpha = ($c & ~32) - 55;
- /** @var int $c_alpha0 */
- $c_alpha0 = (($c_alpha - 10) ^ ($c_alpha - 16)) >> 8;
-
- if (($c_num0 | $c_alpha0) === 0) {
- throw new \RangeException(
- 'hexEncode() only expects hexadecimal characters'
- );
- }
- /** @var int $c_val */
- $c_val = ($c_num0 & $c_num) | ($c_alpha & $c_alpha0);
- if ($state === 0) {
- $c_acc = $c_val * 16;
- } else {
- $bin .= \pack('C', $c_acc | $c_val);
- }
- $state ^= 1;
- }
- return $bin;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/RFC4648.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/RFC4648.php
deleted file mode 100644
index 492cad0..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/src/RFC4648.php
+++ /dev/null
@@ -1,175 +0,0 @@
- "Zm9v"
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base64Encode(string $str): string
- {
- return Base64::encode($str);
- }
-
- /**
- * RFC 4648 Base64 decoding
- *
- * "Zm9v" -> "foo"
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base64Decode(string $str): string
- {
- return Base64::decode($str, true);
- }
-
- /**
- * RFC 4648 Base64 (URL Safe) encoding
- *
- * "foo" -> "Zm9v"
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base64UrlSafeEncode(string $str): string
- {
- return Base64UrlSafe::encode($str);
- }
-
- /**
- * RFC 4648 Base64 (URL Safe) decoding
- *
- * "Zm9v" -> "foo"
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base64UrlSafeDecode(string $str): string
- {
- return Base64UrlSafe::decode($str, true);
- }
-
- /**
- * RFC 4648 Base32 encoding
- *
- * "foo" -> "MZXW6==="
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base32Encode(string $str): string
- {
- return Base32::encodeUpper($str);
- }
-
- /**
- * RFC 4648 Base32 encoding
- *
- * "MZXW6===" -> "foo"
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base32Decode(string $str): string
- {
- return Base32::decodeUpper($str, true);
- }
-
- /**
- * RFC 4648 Base32-Hex encoding
- *
- * "foo" -> "CPNMU==="
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base32HexEncode(string $str): string
- {
- return Base32::encodeUpper($str);
- }
-
- /**
- * RFC 4648 Base32-Hex decoding
- *
- * "CPNMU===" -> "foo"
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base32HexDecode(string $str): string
- {
- return Base32::decodeUpper($str, true);
- }
-
- /**
- * RFC 4648 Base16 decoding
- *
- * "foo" -> "666F6F"
- *
- * @param string $str
- * @return string
- * @throws \TypeError
- */
- public static function base16Encode(string $str): string
- {
- return Hex::encodeUpper($str);
- }
-
- /**
- * RFC 4648 Base16 decoding
- *
- * "666F6F" -> "foo"
- *
- * @param string $str
- * @return string
- */
- public static function base16Decode(string $str): string
- {
- return Hex::decode($str, true);
- }
-}
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php
deleted file mode 100644
index ed19f33..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base32HexTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-assertSame(
- $random,
- Base32Hex::decode($enc)
- );
- $unpadded = \rtrim($enc, '=');
- $this->assertSame(
- $unpadded,
- Base32Hex::encodeUnpadded($random)
- );
- $this->assertSame(
- $random,
- Base32Hex::decode($unpadded)
- );
-
- $enc = Base32Hex::encodeUpper($random);
- $this->assertSame(
- $random,
- Base32Hex::decodeUpper($enc)
- ); $unpadded = \rtrim($enc, '=');
- $this->assertSame(
- $unpadded,
- Base32Hex::encodeUpperUnpadded($random)
- );
- $this->assertSame(
- $random,
- Base32Hex::decodeUpper($unpadded)
- );
- }
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base32Test.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base32Test.php
deleted file mode 100644
index 65e8e7c..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base32Test.php
+++ /dev/null
@@ -1,50 +0,0 @@
-assertSame(
- $random,
- Base32::decode($enc)
- );
- $unpadded = \rtrim($enc, '=');
- $this->assertSame(
- $unpadded,
- Base32::encodeUnpadded($random)
- );
- $this->assertSame(
- $random,
- Base32::decode($unpadded)
- );
-
- $enc = Base32::encodeUpper($random);
- $this->assertSame(
- $random,
- Base32::decodeUpper($enc)
- );
- $unpadded = \rtrim($enc, '=');
- $this->assertSame(
- $unpadded,
- Base32::encodeUpperUnpadded($random)
- );
- $this->assertSame(
- $random,
- Base32::decodeUpper($unpadded)
- );
- }
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashOrderedTest.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashOrderedTest.php
deleted file mode 100644
index f7dc828..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashOrderedTest.php
+++ /dev/null
@@ -1,34 +0,0 @@
-assertSame(
- $random,
- Base64DotSlashOrdered::decode($enc)
- );
-
- $unpadded = \rtrim($enc, '=');
- $this->assertSame(
- $random,
- Base64DotSlashOrdered::decode($unpadded)
- );
- $this->assertSame(
- $random,
- Base64DotSlashOrdered::decode($unpadded)
- );
- }
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashTest.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashTest.php
deleted file mode 100644
index 257a3d5..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64DotSlashTest.php
+++ /dev/null
@@ -1,34 +0,0 @@
-assertSame(
- $random,
- Base64DotSlash::decode($enc)
- );
-
- $unpadded = \rtrim($enc, '=');
- $this->assertSame(
- $random,
- Base64DotSlash::decode($unpadded)
- );
- $this->assertSame(
- $random,
- Base64DotSlash::decode($unpadded)
- );
- }
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64Test.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64Test.php
deleted file mode 100644
index 16ab47d..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64Test.php
+++ /dev/null
@@ -1,79 +0,0 @@
-assertSame(
- $random,
- Base64::decode($enc)
- );
- $this->assertSame(
- \base64_encode($random),
- $enc
- );
-
- $unpadded = \rtrim($enc, '=');
- $this->assertSame(
- $random,
- Base64::decode($unpadded)
- );
- $this->assertSame(
- $random,
- Base64::decode($unpadded)
- );
- }
- }
- $str = 'MIIFzzCCBLegAwIBAgIDAfdlMA0GCSqGSIb3DQEBBQUAMHMxCzAJBgNVBAYTAlBM' .
- 'MSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMSQwIgYDVQQ' .
- 'DDBtDT1BFIFNaQUZJUiAtIEt3YWxpZmlrb3dhbnkxFDASBgNVBAUTC05yIHdwaXN1Oi' .
- 'A2MB4XDTExMTEwOTA2MDAwMFoXDTEzMTEwOTA2MDAwMFowgdkxCzAJBgNVBAYTAlBMM' .
- 'RwwGgYDVQQKDBNVcnrEhWQgTWlhc3RhIEdkeW5pMRswGQYDVQQFExJQRVNFTDogNjEw' .
- 'NjA2MDMxMTgxGTAXBgNVBAMMEEplcnp5IFByemV3b3Jza2kxTzBNBgNVBBAwRgwiQWw' .
- 'uIE1hcnN6YcWCa2EgUGnFgnN1ZHNraWVnbyA1Mi81NAwNODEtMzgyIEdkeW5pYQwGUG' .
- '9sc2thDAlwb21vcnNraWUxDjAMBgNVBCoMBUplcnp5MRMwEQYDVQQEDApQcnpld29yc' .
- '2tpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCMm5vjGqHPthJCMqKpqssSISRo' .
- 's0PYDTcEQzyyurfX67EJWKtZj6HNwuDMEGJ02iBNZfjUl7r8dIi28bSKhNlsfycXZKY' .
- 'RcIjp0+r5RqtR2auo9GQ6veKb61DEAGIqaR+uLLcJVTHCu0w9oXLGbRlGth5eNoj03C' .
- 'xXVAH2IfhbNwIDAQABo4IChzCCAoMwDAYDVR0TAQH/BAIwADCCAUgGA1UdIAEB/wSCA' .
- 'TwwggE4MIIBNAYJKoRoAYb3IwEBMIIBJTCB3QYIKwYBBQUHAgIwgdAMgc1EZWtsYXJh' .
- 'Y2phIHRhIGplc3Qgb8Wbd2lhZGN6ZW5pZW0gd3lkYXdjeSwgxbxlIHRlbiBjZXJ0eWZ' .
- 'pa2F0IHpvc3RhxYIgd3lkYW55IGpha28gY2VydHlmaWthdCBrd2FsaWZpa293YW55IH' .
- 'pnb2RuaWUgeiB3eW1hZ2FuaWFtaSB1c3Rhd3kgbyBwb2RwaXNpZSBlbGVrdHJvbmlje' .
- 'm55bSBvcmF6IHRvd2FyenlzesSFY3ltaSBqZWogcm96cG9yesSFZHplbmlhbWkuMEMG' .
- 'CCsGAQUFBwIBFjdodHRwOi8vd3d3Lmtpci5jb20ucGwvY2VydHlmaWthY2phX2tsdWN' .
- '6eS9wb2xpdHlrYS5odG1sMAkGA1UdCQQCMAAwIQYDVR0RBBowGIEWai5wcnpld29yc2' .
- 'tpQGdkeW5pYS5wbDAOBgNVHQ8BAf8EBAMCBkAwgZ4GA1UdIwSBljCBk4AU3TGldJXip' .
- 'N4oGS3ZYmnBDMFs8gKhd6R1MHMxCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dh' .
- 'IEl6YmEgUm96bGljemVuaW93YSBTLkEuMSQwIgYDVQQDDBtDT1BFIFNaQUZJUiAtIEt' .
- '3YWxpZmlrb3dhbnkxFDASBgNVBAUTC05yIHdwaXN1OiA2ggJb9jBIBgNVHR8EQTA/MD' .
- '2gO6A5hjdodHRwOi8vd3d3Lmtpci5jb20ucGwvY2VydHlmaWthY2phX2tsdWN6eS9DU' .
- 'kxfT1pLMzIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQBYPIqnAreyeql7/opJjcar/qWZ' .
- 'y9ruhB2q0lZFsJOhwgMnbQXzp/4vv93YJqcHGAXdHP6EO8FQX47mjo2ZKQmi+cIHJHL' .
- 'ONdX/3Im+M17V0iNAh7Z1lOSfTRT+iiwe/F8phcEaD5q2RmvYusR7zXZq/cLL0If0hX' .
- 'oPZ/EHQxjN8pxzxiUx6bJAgturnIMEfRNesxwghdr1dkUjOhGLf3kHVzgM6j3VAM7oF' .
- 'mMUb5y5s96Bzl10DodWitjOEH0vvnIcsppSxH1C1dCAi0o9f/1y2XuLNhBNHMAyTqpY' .
- 'PX8Yvav1c+Z50OMaSXHAnTa20zv8UtiHbaAhwlifCelUMj93S';
-
- try {
- Base64::decode($str, true);
- $this->fail('Strict padding not enforced');
- } catch (\Exception $ex) {
-
- $this->assertSame(
- Base64::decode($str),
- \base64_decode($str)
- );
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64UrlSafeTest.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64UrlSafeTest.php
deleted file mode 100644
index 136ed61..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/Base64UrlSafeTest.php
+++ /dev/null
@@ -1,58 +0,0 @@
-assertSame(
- $random,
- Base64UrlSafe::decode($enc)
- );
- $this->assertSame(
- \strtr(\base64_encode($random), '+/', '-_'),
- $enc
- );
-
- $unpadded = \rtrim($enc, '=');
- $this->assertSame(
- $unpadded,
- Base64UrlSafe::encodeUnpadded($random)
- );
- $this->assertSame(
- $random,
- Base64UrlSafe::decode($unpadded)
- );
- }
- }
-
- $random = \random_bytes(1 << 20);
- $enc = Base64UrlSafe::encode($random);
- $this->assertTrue(Binary::safeStrlen($enc) > 65536);
- $this->assertSame(
- $random,
- Base64UrlSafe::decode($enc)
- );
- $this->assertSame(
- \strtr(\base64_encode($random), '+/', '-_'),
- $enc
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/EncodingTest.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/EncodingTest.php
deleted file mode 100644
index 6f774d8..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/EncodingTest.php
+++ /dev/null
@@ -1,307 +0,0 @@
-assertSame(
- Encoding::base32Encode("\x00"),
- 'aa======'
- );
- $this->assertSame(
- Encoding::base32Encode("\x00\x00"),
- 'aaaa===='
- );
- $this->assertSame(
- Encoding::base32Encode("\x00\x00\x00"),
- 'aaaaa==='
- );
- $this->assertSame(
- Encoding::base32Encode("\x00\x00\x00\x00"),
- 'aaaaaaa='
- );
- $this->assertSame(
- Encoding::base32Encode("\x00\x00\x00\x00\x00"),
- 'aaaaaaaa'
- );
- $this->assertSame(
- Encoding::base32Encode("\x00\x00\x0F\xFF\xFF"),
- 'aaaa7777'
- );
- $this->assertSame(
- Encoding::base32Encode("\xFF\xFF\xF0\x00\x00"),
- '7777aaaa'
- );
-
- $this->assertSame(
- Encoding::base32Encode("\xce\x73\x9c\xe7\x39"),
- 'zzzzzzzz'
- );
- $this->assertSame(
- Encoding::base32Encode("\xd6\xb5\xad\x6b\x5a"),
- '22222222'
- );
- $this->assertSame(
- Base32::encodeUpper("\x00"),
- 'AA======'
- );
- $this->assertSame(
- Base32::encodeUpper("\x00\x00"),
- 'AAAA===='
- );
- $this->assertSame(
- Base32::encodeUpper("\x00\x00\x00"),
- 'AAAAA==='
- );
- $this->assertSame(
- Base32::encodeUpper("\x00\x00\x00\x00"),
- 'AAAAAAA='
- );
- $this->assertSame(
- Base32::encodeUpper("\x00\x00\x00\x00\x00"),
- 'AAAAAAAA'
- );
- $this->assertSame(
- Base32::encodeUpper("\x00\x00\x0F\xFF\xFF"),
- 'AAAA7777'
- );
- $this->assertSame(
- Base32::encodeUpper("\xFF\xFF\xF0\x00\x00"),
- '7777AAAA'
- );
-
- $this->assertSame(
- Base32::encodeUpper("\xce\x73\x9c\xe7\x39"),
- 'ZZZZZZZZ'
- );
- $this->assertSame(
- Base32::encodeUpper("\xd6\xb5\xad\x6b\x5a"),
- '22222222'
- );
- }
-
- public function testBase32Hex()
- {
- $this->assertSame(
- Base32Hex::encode("\x00"),
- '00======'
- );
- $this->assertSame(
- Base32Hex::encode("\x00\x00"),
- '0000===='
- );
- $this->assertSame(
- Base32Hex::encode("\x00\x00\x00"),
- '00000==='
- );
- $this->assertSame(
- Base32Hex::encode("\x00\x00\x00\x00"),
- '0000000='
- );
- $this->assertSame(
- Base32Hex::encode("\x00\x00\x00\x00\x00"),
- '00000000'
- );
- $this->assertSame(
- Base32Hex::encode("\x00\x00\x0F\xFF\xFF"),
- '0000vvvv'
- );
- $this->assertSame(
- Base32Hex::encode("\xFF\xFF\xF0\x00\x00"),
- 'vvvv0000'
- );
-
-
- }
-
- /**
- * Based on test vectors from RFC 4648
- */
- public function testBase32Decode()
- {
- $this->assertSame(
- "\x00\x00\x00\x00\x00\x00",
- Encoding::base32Decode('aaaaaaaaaa======')
- );
- $this->assertSame(
- "\x00\x00\x00\x00\x00\x00\x00",
- Encoding::base32Decode('aaaaaaaaaaaa====')
- );
- $this->assertSame(
- "\x00\x00\x00\x00\x00\x00\x00\x00",
- Encoding::base32Decode('aaaaaaaaaaaaa===')
- );
- $this->assertSame(
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00",
- Encoding::base32Decode('aaaaaaaaaaaaaaa=')
- );
- $this->assertSame(
- "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
- Encoding::base32Decode('aaaaaaaaaaaaaaaa')
- );
- $this->assertSame(
- "\x00",
- Encoding::base32Decode('aa======')
- );
- $this->assertSame(
- "\x00\x00",
- Encoding::base32Decode('aaaa====')
- );
- $this->assertSame(
- "\x00\x00\x00",
- Encoding::base32Decode('aaaaa===')
- );
- $this->assertSame(
- "\x00\x00\x00\x00",
- Encoding::base32Decode('aaaaaaa=')
- );
- $this->assertSame(
- "\x00\x00\x00\x00\x00",
- Encoding::base32Decode('aaaaaaaa')
- );
- $this->assertSame(
- "\x00\x00\x0F\xFF\xFF",
- Encoding::base32Decode('aaaa7777')
- );
- $this->assertSame(
- "\xFF\xFF\xF0\x00\x00",
- Encoding::base32Decode('7777aaaa')
- );
- $this->assertSame(
- "\xce\x73\x9c\xe7\x39",
- Encoding::base32Decode('zzzzzzzz')
- );
- $this->assertSame(
- "\xd6\xb5\xad\x6b\x5a",
- Encoding::base32Decode('22222222')
- );
- $this->assertSame(
- 'foobar',
- Encoding::base32Decode('mzxw6ytboi======')
- );
-
- $rand = random_bytes(9);
- $enc = Encoding::base32Encode($rand);
-
- $this->assertSame(
- Encoding::base32Encode($rand),
- Encoding::base32Encode(Encoding::base32Decode($enc))
- );
- $this->assertSame(
- $rand,
- Encoding::base32Decode($enc)
- );
- }
-
- /**
- * @covers Encoding::hexDecode()
- * @covers Encoding::hexEncode()
- * @covers Encoding::base32Decode()
- * @covers Encoding::base32Encode()
- * @covers Encoding::base64Decode()
- * @covers Encoding::base64Encode()
- * @covers Encoding::base64DotSlashDecode()
- * @covers Encoding::base64DotSlashEncode()
- * @covers Encoding::base64DotSlashOrderedDecode()
- * @covers Encoding::base64DotSlashOrderedEncode()
- */
- public function testBasicEncoding()
- {
- // Re-run the test at least 3 times for each length
- for ($j = 0; $j < 3; ++$j) {
- for ($i = 1; $i < 84; ++$i) {
- $rand = random_bytes($i);
- $enc = Encoding::hexEncode($rand);
- $this->assertSame(
- \bin2hex($rand),
- $enc,
- "Hex Encoding - Length: " . $i
- );
- $this->assertSame(
- $rand,
- Encoding::hexDecode($enc),
- "Hex Encoding - Length: " . $i
- );
-
- // Uppercase variant:
- $enc = Hex::encodeUpper($rand);
- $this->assertSame(
- \strtoupper(\bin2hex($rand)),
- $enc,
- "Hex Encoding - Length: " . $i
- );
- $this->assertSame(
- $rand,
- Hex::decode($enc),
- "HexUpper Encoding - Length: " . $i
- );
-
- $enc = Encoding::base32Encode($rand);
- $this->assertSame(
- $rand,
- Encoding::base32Decode($enc),
- "Base32 Encoding - Length: " . $i
- );
-
- $enc = Encoding::base32EncodeUpper($rand);
- $this->assertSame(
- $rand,
- Encoding::base32DecodeUpper($enc),
- "Base32Upper Encoding - Length: " . $i
- );
-
- $enc = Encoding::base32HexEncode($rand);
- $this->assertSame(
- bin2hex($rand),
- bin2hex(Encoding::base32HexDecode($enc)),
- "Base32Hex Encoding - Length: " . $i
- );
-
- $enc = Encoding::base32HexEncodeUpper($rand);
- $this->assertSame(
- bin2hex($rand),
- bin2hex(Encoding::base32HexDecodeUpper($enc)),
- "Base32HexUpper Encoding - Length: " . $i
- );
-
- $enc = Encoding::base64Encode($rand);
- $this->assertSame(
- $rand,
- Encoding::base64Decode($enc),
- "Base64 Encoding - Length: " . $i
- );
-
- $enc = Encoding::base64EncodeDotSlash($rand);
- $this->assertSame(
- $rand,
- Encoding::base64DecodeDotSlash($enc),
- "Base64 DotSlash Encoding - Length: " . $i
- );
- $enc = Encoding::base64EncodeDotSlashOrdered($rand);
- $this->assertSame(
- $rand,
- Encoding::base64DecodeDotSlashOrdered($enc),
- "Base64 Ordered DotSlash Encoding - Length: " . $i
- );
-
- $enc = Base64UrlSafe::encode($rand);
- $this->assertSame(
- \strtr(\base64_encode($rand), '+/', '-_'),
- $enc
- );
- $this->assertSame(
- $rand,
- Base64UrlSafe::decode($enc)
- );
- }
- }
- }
-}
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/HexTest.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/HexTest.php
deleted file mode 100644
index 5c31f6d..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/HexTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-assertSame(
- $random,
- Hex::decode($enc)
- );
- $this->assertSame(
- \bin2hex($random),
- $enc
- );
-
- $enc = Hex::encodeUpper($random);
- $this->assertSame(
- $random,
- Hex::decode($enc)
- );
- $this->assertSame(
- \strtoupper(\bin2hex($random)),
- $enc
- );
- }
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/RFC4648Test.php b/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/RFC4648Test.php
deleted file mode 100644
index a6653de..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/constant_time_encoding/tests/RFC4648Test.php
+++ /dev/null
@@ -1,84 +0,0 @@
-assertSame(Base64::encode(''), '');
- $this->assertSame(Base64::encode('f'), 'Zg==');
- $this->assertSame(Base64::encode('fo'), 'Zm8=');
- $this->assertSame(Base64::encode('foo'), 'Zm9v');
- $this->assertSame(Base64::encode('foob'), 'Zm9vYg==');
- $this->assertSame(Base64::encode('fooba'), 'Zm9vYmE=');
- $this->assertSame(Base64::encode('foobar'), 'Zm9vYmFy');
- }
-
- public function testVectorBase32()
- {
- $this->assertSame(Base32::encode(''), '');
- $this->assertSame(Base32::encode('f'), 'my======');
- $this->assertSame(Base32::encode('fo'), 'mzxq====');
- $this->assertSame(Base32::encode('foo'), 'mzxw6===');
- $this->assertSame(Base32::encode('foob'), 'mzxw6yq=');
- $this->assertSame(Base32::encode('fooba'), 'mzxw6ytb');
- $this->assertSame(Base32::encode('foobar'), 'mzxw6ytboi======');
-
- $this->assertSame(Base32::encodeUpper(''), '');
- $this->assertSame(Base32::encodeUpper('f'), 'MY======');
- $this->assertSame(Base32::encodeUpper('fo'), 'MZXQ====');
- $this->assertSame(Base32::encodeUpper('foo'), 'MZXW6===');
- $this->assertSame(Base32::encodeUpper('foob'), 'MZXW6YQ=');
- $this->assertSame(Base32::encodeUpper('fooba'), 'MZXW6YTB');
- $this->assertSame(Base32::encodeUpper('foobar'), 'MZXW6YTBOI======');
- }
-
- public function testVectorBase32Hex()
- {
- $this->assertSame(Base32Hex::encode(''), '');
- $this->assertSame(Base32Hex::encode('f'), 'co======');
- $this->assertSame(Base32Hex::encode('fo'), 'cpng====');
- $this->assertSame(Base32Hex::encode('foo'), 'cpnmu===');
- $this->assertSame(Base32Hex::encode('foob'), 'cpnmuog=');
- $this->assertSame(Base32Hex::encode('fooba'), 'cpnmuoj1');
- $this->assertSame(Base32Hex::encode('foobar'), 'cpnmuoj1e8======');
-
- $this->assertSame(Base32Hex::encodeUpper(''), '');
- $this->assertSame(Base32Hex::encodeUpper('f'), 'CO======');
- $this->assertSame(Base32Hex::encodeUpper('fo'), 'CPNG====');
- $this->assertSame(Base32Hex::encodeUpper('foo'), 'CPNMU===');
- $this->assertSame(Base32Hex::encodeUpper('foob'), 'CPNMUOG=');
- $this->assertSame(Base32Hex::encodeUpper('fooba'), 'CPNMUOJ1');
- $this->assertSame(Base32Hex::encodeUpper('foobar'), 'CPNMUOJ1E8======');
- }
-
- public function testVectorBase16()
- {
- $this->assertSame(Hex::encode(''), '');
- $this->assertSame(Hex::encode('f'), '66');
- $this->assertSame(Hex::encode('fo'), '666f');
- $this->assertSame(Hex::encode('foo'), '666f6f');
- $this->assertSame(Hex::encode('foob'), '666f6f62');
- $this->assertSame(Hex::encode('fooba'), '666f6f6261');
- $this->assertSame(Hex::encode('foobar'), '666f6f626172');
-
- $this->assertSame(Hex::encodeUpper(''), '');
- $this->assertSame(Hex::encodeUpper('f'), '66');
- $this->assertSame(Hex::encodeUpper('fo'), '666F');
- $this->assertSame(Hex::encodeUpper('foo'), '666F6F');
- $this->assertSame(Hex::encodeUpper('foob'), '666F6F62');
- $this->assertSame(Hex::encodeUpper('fooba'), '666F6F6261');
- $this->assertSame(Hex::encodeUpper('foobar'), '666F6F626172');
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/random_compat/LICENSE b/srcs/phpmyadmin/vendor/paragonie/random_compat/LICENSE
deleted file mode 100644
index 45c7017..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/random_compat/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Paragon Initiative Enterprises
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
diff --git a/srcs/phpmyadmin/vendor/paragonie/random_compat/build-phar.sh b/srcs/phpmyadmin/vendor/paragonie/random_compat/build-phar.sh
deleted file mode 100755
index b4a5ba3..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/random_compat/build-phar.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-basedir=$( dirname $( readlink -f ${BASH_SOURCE[0]} ) )
-
-php -dphar.readonly=0 "$basedir/other/build_phar.php" $*
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/paragonie/random_compat/composer.json b/srcs/phpmyadmin/vendor/paragonie/random_compat/composer.json
deleted file mode 100644
index 1fa8de9..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/random_compat/composer.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "name": "paragonie/random_compat",
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
- "keywords": [
- "csprng",
- "random",
- "polyfill",
- "pseudorandom"
- ],
- "license": "MIT",
- "type": "library",
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
- }
- ],
- "support": {
- "issues": "https://github.com/paragonie/random_compat/issues",
- "email": "info@paragonie.com",
- "source": "https://github.com/paragonie/random_compat"
- },
- "require": {
- "php": "^7"
- },
- "require-dev": {
- "vimeo/psalm": "^1",
- "phpunit/phpunit": "4.*|5.*"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey b/srcs/phpmyadmin/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey
deleted file mode 100644
index eb50ebf..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey
+++ /dev/null
@@ -1,5 +0,0 @@
------BEGIN PUBLIC KEY-----
-MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEd+wCqJDrx5B4OldM0dQE0ZMX+lx1ZWm
-pui0SUqD4G29L3NGsz9UhJ/0HjBdbnkhIK5xviT0X5vtjacF6ajgcCArbTB+ds+p
-+h7Q084NuSuIpNb6YPfoUFgC/CL9kAoc
------END PUBLIC KEY-----
diff --git a/srcs/phpmyadmin/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc b/srcs/phpmyadmin/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc
deleted file mode 100644
index 6a1d7f3..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.22 (MingW32)
-
-iQEcBAABAgAGBQJWtW1hAAoJEGuXocKCZATaJf0H+wbZGgskK1dcRTsuVJl9IWip
-QwGw/qIKI280SD6/ckoUMxKDCJiFuPR14zmqnS36k7N5UNPnpdTJTS8T11jttSpg
-1LCmgpbEIpgaTah+cELDqFCav99fS+bEiAL5lWDAHBTE/XPjGVCqeehyPYref4IW
-NDBIEsvnHPHPLsn6X5jq4+Yj5oUixgxaMPiR+bcO4Sh+RzOVB6i2D0upWfRXBFXA
-NNnsg9/zjvoC7ZW73y9uSH+dPJTt/Vgfeiv52/v41XliyzbUyLalf02GNPY+9goV
-JHG1ulEEBJOCiUD9cE1PUIJwHA/HqyhHIvV350YoEFiHl8iSwm7SiZu5kPjaq74=
-=B6+8
------END PGP SIGNATURE-----
diff --git a/srcs/phpmyadmin/vendor/paragonie/random_compat/lib/random.php b/srcs/phpmyadmin/vendor/paragonie/random_compat/lib/random.php
deleted file mode 100644
index c7731a5..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/random_compat/lib/random.php
+++ /dev/null
@@ -1,32 +0,0 @@
-buildFromDirectory(dirname(__DIR__).'/lib');
-rename(
- dirname(__DIR__).'/lib/index.php',
- dirname(__DIR__).'/lib/random.php'
-);
-
-/**
- * If we pass an (optional) path to a private key as a second argument, we will
- * sign the Phar with OpenSSL.
- *
- * If you leave this out, it will produce an unsigned .phar!
- */
-if ($argc > 1) {
- if (!@is_readable($argv[1])) {
- echo 'Could not read the private key file:', $argv[1], "\n";
- exit(255);
- }
- $pkeyFile = file_get_contents($argv[1]);
-
- $private = openssl_get_privatekey($pkeyFile);
- if ($private !== false) {
- $pkey = '';
- openssl_pkey_export($private, $pkey);
- $phar->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
-
- /**
- * Save the corresponding public key to the file
- */
- if (!@is_readable($dist.'/random_compat.phar.pubkey')) {
- $details = openssl_pkey_get_details($private);
- file_put_contents(
- $dist.'/random_compat.phar.pubkey',
- $details['key']
- );
- }
- } else {
- echo 'An error occurred reading the private key from OpenSSL.', "\n";
- exit(255);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/paragonie/random_compat/psalm-autoload.php b/srcs/phpmyadmin/vendor/paragonie/random_compat/psalm-autoload.php
deleted file mode 100644
index d71d1b8..0000000
--- a/srcs/phpmyadmin/vendor/paragonie/random_compat/psalm-autoload.php
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/.github/stale.yml b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/.github/stale.yml
deleted file mode 100644
index 8ed0f30..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/.github/stale.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Configuration for probot-stale - https://github.com/probot/stale
-
-# Number of days of inactivity before an Issue or Pull Request becomes stale
-daysUntilStale: 60
-# Number of days of inactivity before a stale Issue or Pull Request is closed
-daysUntilClose: 7
-# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
-exemptLabels:
- - pinned
- - security
-# Label to use when marking as stale
-staleLabel: wontfix
-# Comment to post when marking as stale. Set to `false` to disable
-markComment: >
- This issue has been automatically marked as stale because it has not had
- recent activity. It will be closed if no further activity occurs. Thank you
- for your contributions.
-# Comment to post when removing the stale label. Set to `false` to disable
-unmarkComment: false
-# Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable
-closeComment: false
-# Limit to only `issues` or `pulls`
-only: pulls
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/CHANGES.md b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/CHANGES.md
deleted file mode 100644
index 6a8a1c7..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/CHANGES.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# Version 4.0
-
-* Released on 2018-02-12.
-* The library no longer changes system locales.
-
-# Version 3.4
-
-* Released on 2017-12-15.
-* Added Translator::setTranslation method.
-
-# Version 3.3
-
-* Released on 2017-06-01.
-* Add support for switching locales for Loader instance.
-
-# Version 3.2
-
-* Released on 2017-05-23.
-* Various fixes when handling corrupted mo files.
-
-# Version 3.1
-
-* Released on 2017-05-15.
-* Documentation improvements.
-
-# Version 3.0
-
-* Released on 2017-01-23.
-* All classes moved to the PhpMyAdmin namespace.
-
-# Version 2.2
-
-* Released on 2017-01-07.
-* Coding style cleanup.
-* Avoid installing tests using composer.
-
-# Version 2.1
-
-* Released on 2016-12-21.
-* Various code cleanups.
-* Added support for PHP 5.3.
-
-# Version 2.0
-
-* Released on 2016-10-13.
-* Consistently use camelCase in API.
-* No more relies on using eval().
-* Depends on symfony/expression-language for calculations.
-
-# Version 1.2
-
-* Released on 2016-09-22.
-* Stricter validation of plural expression.
-
-# Version 1.1
-
-* Released on 2016-08-29.
-* Improved handling of corrupted mo files.
-* Minor performance improvements.
-* Stricter validation of plural expression.
-
-# Version 1.0
-
-* Released on 2016-04-27.
-* Documentation improvements.
-* Testsuite improvements.
-
-# Version 0.4
-
-* Released on 2016-03-02.
-* Fixed test failures with hhvm due to broken putenv.
-
-# Version 0.3
-
-* Released on 2016-03-01.
-* Added Loader::detectlocale method.
-
-# Version 0.2
-
-* Released on 2016-02-24.
-* Marked PHP 5.4 and 5.5 as supported.
-
-# Version 0.1
-
-* Released on 2016-02-23.
-* Initial release.
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/CONTRIBUTING.md b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/CONTRIBUTING.md
deleted file mode 100644
index e211ff2..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/CONTRIBUTING.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributing to motranslator
-
-## Reporting issues
-
-Our issue tracker is hosted at GitHub:
-
-https://github.com/phpmyadmin/motranslator/issues
-
-Please search for existing issues before reporting new ones.
-
-## Working with Git checkout
-
-The dependencies are managed by Composer, to get them all installed (or update
-on consequent runs) do:
-
-```
-composer update
-```
-
-## Submitting patches
-
-Please submit your patches using GitHub pull requests, this allows us to review
-them and to run automated tests on the code.
-
-## Coding standards
-
-We do follow PSR-1 and PSR-2 coding standards.
-
-You can use php-cs-fixer to fix the code to match our expectations:
-
-```
-php-cs-fixer fix .
-```
-
-## Testsuite
-
-Our code comes with quite comprehensive testsuite, it is automatically executed
-on every commit and pull request, you can also run it locally:
-
-```
-./vendor/bin/phpunit -c phpunit.xml
-```
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/LICENSE b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/LICENSE
deleted file mode 100644
index 23cb790..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- {description}
- Copyright (C) {year} {fullname}
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- {signature of Ty Coon}, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/PERFORMANCE.md b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/PERFORMANCE.md
deleted file mode 100644
index 334c5b7..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/PERFORMANCE.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Performance
-
-This library was tweaked for best performance for single use - translating
-application with many strings using mo file. Current benchmarks show it's about
-four times faster than original php-gettext.
-
-There are two benchmark scripts in the code:
-
-* ``benchmark-context.php`` - benchmarks context usage
-* ``benchmark-plural.php`` - benchmarks plural evaluation
-* ``benchmark.php`` - benchmarks file parsing
-
-## Performance measurements
-
-The performance improvements based on individual changes in the code:
-
-| Stage | Seconds |
-| -------------- | --------------- |
-| Original code | 4.7929680347443 |
-| Remove nocache | 4.6308250427246 |
-| Direct endian | 4.5883052349091 |
-| Remove attribs | 4.5297479629517 |
-| String reader | 1.8148958683014 |
-| No offset | 1.2436759471893 |
-| Less attribs | 1.1722540855408 |
-| Remove shift | 1.0970499515533 |
-| Magic order | 1.0868430137634 |
-
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/README.md b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/README.md
deleted file mode 100644
index 470df2d..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/README.md
+++ /dev/null
@@ -1,147 +0,0 @@
-# motranslator
-
-Translation API for PHP using Gettext MO files.
-
-[](https://travis-ci.org/phpmyadmin/motranslator)
-[](https://codecov.io/github/phpmyadmin/motranslator?branch=master)
-[](https://scrutinizer-ci.com/g/phpmyadmin/motranslator/?branch=master)
-[](https://packagist.org/packages/phpmyadmin/motranslator)
-
-## Features
-
-* All strings are stored in memory for fast lookup
-* Fast loading of MO files
-* Low level API for reading MO files
-* Emulation of Gettext API
-* No use of `eval()` for plural equation
-
-## Limitations
-
-* Not suitable for huge MO files which you don't want to store in memory
-* Input and output encoding has to match (preferably UTF-8)
-
-## Installation
-
-Please use [Composer][1] to install:
-
-```
-composer require phpmyadmin/motranslator
-```
-
-## Documentation
-
-The API documentation is available at
-.
-
-
-## Object API usage
-
-```php
-// Create loader object
-$loader = new PhpMyAdmin\MoTranslator\Loader();
-
-// Set locale
-$loader->setlocale('cs');
-
-// Set default text domain
-$loader->textdomain('domain');
-
-// Set path where to look for a domain
-$loader->bindtextdomain('domain', __DIR__ . '/data/locale/');
-
-// Get translator
-$translator = $loader->getTranslator();
-
-// Now you can use Translator API (see below)
-```
-
-## Low level API usage
-
-```php
-// Directly load the mo file
-$translator = new PhpMyAdmin\MoTranslator\Translator('./path/to/file.mo');
-
-// Now you can use Translator API (see below)
-```
-
-## Translator API usage
-
-```php
-// Translate string
-echo $translator->gettext('String');
-
-// Translate plural string
-echo $translator->ngettext('String', 'Plural string', $count);
-
-// Translate string with context
-echo $translator->pgettext('Context', 'String');
-
-// Translate plural string with context
-echo $translator->npgettext('Context', 'String', 'Plural string', $count);
-```
-
-## Gettext compatibility usage
-
-```php
-// Load compatibility layer
-PhpMyAdmin\MoTranslator\Loader::loadFunctions();
-
-// Configure
-_setlocale(LC_MESSAGES, 'cs');
-_textdomain('phpmyadmin');
-_bindtextdomain('phpmyadmin', __DIR__ . '/data/locale/');
-_bind_textdomain_codeset('phpmyadmin', 'UTF-8');
-
-// Use functions
-echo _gettext('Type');
-echo __('Type');
-
-// It also support other Gettext functions
-_dnpgettext($domain, $msgctxt, $msgid, $msgidPlural, $number);
-_dngettext($domain, $msgid, $msgidPlural, $number);
-_npgettext($msgctxt, $msgid, $msgidPlural, $number);
-_ngettext($msgid, $msgidPlural, $number);
-_dpgettext($domain, $msgctxt, $msgid);
-_dgettext($domain, $msgid);
-_pgettext($msgctxt, $msgid);
-```
-
-## History
-
-This library is based on [php-gettext][2]. It adds some performance
-improvements and ability to install using [Composer][1].
-
-## Motivation
-
-Motivation for this library includes:
-
-* The [php-gettext][2] library is not maintained anymore
-* It doesn't work with recent PHP version (phpMyAdmin has patched version)
-* It relies on `eval()` function for plural equations what can have severe security implications, see CVE-2016-6175
-* It's not possible to install it using [Composer][1]
-* There was place for performance improvements in the library
-
-### Why not to use native gettext in PHP?
-
-We've tried that, but it's not a viable solution:
-
-* You can not use locales not known to system, what is something you can not
- control from web application. This gets even more tricky with minimalist
- virtualisation containers.
-* Changing the MO file usually leads to PHP segmentation fault. It (or rather
- Gettext library) caches headers of MO file and if it's content is changed
- (for example new version is uploaded to server) it tries to access new data
- with old references. This is bug known for ages:
- https://bugs.php.net/bug.php?id=45943
-
-### Why use Gettext and not JSON, YAML or whatever?
-
-We want translators to be able to use their favorite tools and we want us to be
-able to use wide range of tools available with Gettext as well such as
-[web based translation using Weblate][3]. Using custom format usually adds
-another barrier for translators and we want to make it easy for them to
-contribute.
-
-[1]:https://getcomposer.org/
-[2]:https://launchpad.net/php-gettext
-[3]:https://weblate.org/
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/codecov.yml b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/codecov.yml
deleted file mode 100644
index 99d09da..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/codecov.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-comment:
- layout: header, changes, diff
-coverage: {}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/composer.json b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/composer.json
deleted file mode 100644
index f7726f8..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/composer.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "phpmyadmin/motranslator",
- "description": "Translation API for PHP using Gettext MO files",
- "license": "GPL-2.0-or-later",
- "keywords": ["gettext", "mo", "translator", "i18n"],
- "homepage": "https://github.com/phpmyadmin/motranslator",
- "authors": [
- {
- "name": "The phpMyAdmin Team",
- "email": "developers@phpmyadmin.net",
- "homepage": "https://www.phpmyadmin.net/team/"
- }
- ],
- "support": {
- "issues": "https://github.com/phpmyadmin/motranslator/issues",
- "source": "https://github.com/phpmyadmin/motranslator"
- },
- "require": {
- "php": ">=5.3.0",
- "symfony/expression-language": "^4.0 || ^3.2 || ^2.8"
- },
- "require-dev": {
- "apigen/apigen": "^4.1",
- "phpunit/php-code-coverage": "*",
- "phpunit/phpunit": "~4.8 || ~5.7 || ~6.5"
- },
- "autoload": {
- "psr-4": {
- "PhpMyAdmin\\MoTranslator\\": "src"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "PhpMyAdmin\\MoTranslator\\Tests\\": "tests"
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/phpunit.xml b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/phpunit.xml
deleted file mode 100644
index 85c5abd..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/phpunit.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
- ./tests
-
-
-
-
- src/
-
-
-
-
-
-
-
-
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/Loader.php b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/Loader.php
deleted file mode 100644
index e32d7c4..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/Loader.php
+++ /dev/null
@@ -1,247 +0,0 @@
-
- Copyright (c) 2009 Danilo Segan
- Copyright (c) 2016 Michal Čihař
-
- This file is part of MoTranslator.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-*/
-
-namespace PhpMyAdmin\MoTranslator;
-
-class Loader
-{
- /**
- * Loader instance.
- *
- * @static
- *
- * @var Loader
- */
- private static $_instance;
-
- /**
- * Default gettext domain to use.
- *
- * @var string
- */
- private $default_domain = '';
-
- /**
- * Configured locale.
- *
- * @var string
- */
- private $locale = '';
-
- /**
- * Loaded domains.
- *
- * @var array
- */
- private $domains = array();
-
- /**
- * Bound paths for domains.
- *
- * @var array
- */
- private $paths = array('' => './');
-
- /**
- * Returns the singleton Loader object.
- *
- * @return Loader object
- */
- public static function getInstance()
- {
- if (empty(self::$_instance)) {
- self::$_instance = new self();
- }
-
- return self::$_instance;
- }
-
- /**
- * Loads global localizaton functions.
- */
- public static function loadFunctions()
- {
- require_once __DIR__ . '/functions.php';
- }
-
- /**
- * Figure out all possible locale names and start with the most
- * specific ones. I.e. for sr_CS.UTF-8@latin, look through all of
- * sr_CS.UTF-8@latin, sr_CS@latin, sr@latin, sr_CS.UTF-8, sr_CS, sr.
- *
- * @param string $locale Locale code
- *
- * @return array list of locales to try for any POSIX-style locale specification
- */
- public static function listLocales($locale)
- {
- $locale_names = array();
-
- $lang = null;
- $country = null;
- $charset = null;
- $modifier = null;
-
- if ($locale) {
- if (preg_match('/^(?P[a-z]{2,3})' // language code
- . '(?:_(?P[A-Z]{2}))?' // country code
- . '(?:\\.(?P[-A-Za-z0-9_]+))?' // charset
- . '(?:@(?P[-A-Za-z0-9_]+))?$/', // @ modifier
- $locale, $matches)) {
- extract($matches);
-
- if ($modifier) {
- if ($country) {
- if ($charset) {
- array_push($locale_names, "${lang}_$country.$charset@$modifier");
- }
- array_push($locale_names, "${lang}_$country@$modifier");
- } elseif ($charset) {
- array_push($locale_names, "${lang}.$charset@$modifier");
- }
- array_push($locale_names, "$lang@$modifier");
- }
- if ($country) {
- if ($charset) {
- array_push($locale_names, "${lang}_$country.$charset");
- }
- array_push($locale_names, "${lang}_$country");
- } elseif ($charset) {
- array_push($locale_names, "${lang}.$charset");
- }
- array_push($locale_names, $lang);
- }
-
- // If the locale name doesn't match POSIX style, just include it as-is.
- if (!in_array($locale, $locale_names)) {
- array_push($locale_names, $locale);
- }
- }
-
- return $locale_names;
- }
-
- /**
- * Returns Translator object for domain or for default domain.
- *
- * @param string $domain Translation domain
- *
- * @return Translator
- */
- public function getTranslator($domain = '')
- {
- if (empty($domain)) {
- $domain = $this->default_domain;
- }
-
- if (!isset($this->domains[$this->locale])) {
- $this->domains[$this->locale] = array();
- }
-
- if (!isset($this->domains[$this->locale][$domain])) {
- if (isset($this->paths[$domain])) {
- $base = $this->paths[$domain];
- } else {
- $base = './';
- }
-
- $locale_names = $this->listLocales($this->locale);
-
- $filename = '';
- foreach ($locale_names as $locale) {
- $filename = "$base/$locale/LC_MESSAGES/$domain.mo";
- if (file_exists($filename)) {
- break;
- }
- }
-
- // We don't care about invalid path, we will get fallback
- // translator here
- $this->domains[$this->locale][$domain] = new Translator($filename);
- }
-
- return $this->domains[$this->locale][$domain];
- }
-
- /**
- * Sets the path for a domain.
- *
- * @param string $domain Domain name
- * @param string $path Path where to find locales
- */
- public function bindtextdomain($domain, $path)
- {
- $this->paths[$domain] = $path;
- }
-
- /**
- * Sets the default domain.
- *
- * @param string $domain Domain name
- */
- public function textdomain($domain)
- {
- $this->default_domain = $domain;
- }
-
- /**
- * Sets a requested locale.
- *
- * @param string $locale Locale name
- *
- * @return string Set or current locale
- */
- public function setlocale($locale)
- {
- if (!empty($locale)) {
- $this->locale = $locale;
- }
-
- return $this->locale;
- }
-
- /**
- * Detects currently configured locale.
- *
- * It checks:
- *
- * - global lang variable
- * - environment for LC_ALL, LC_MESSAGES and LANG
- *
- * @return string with locale name
- */
- public function detectlocale()
- {
- if (isset($GLOBALS['lang'])) {
- return $GLOBALS['lang'];
- } elseif (getenv('LC_ALL')) {
- return getenv('LC_ALL');
- } elseif (getenv('LC_MESSAGES')) {
- return getenv('LC_MESSAGES');
- } elseif (getenv('LANG')) {
- return getenv('LANG');
- }
-
- return 'en';
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/ReaderException.php b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/ReaderException.php
deleted file mode 100644
index e2b18bc..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/ReaderException.php
+++ /dev/null
@@ -1,30 +0,0 @@
-.
- Copyright (c) 2016 Michal Čihař
-
- This file is part of MoTranslator.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-*/
-
-namespace PhpMyAdmin\MoTranslator;
-
-/**
- * Exception thrown when file can not be read.
- */
-class ReaderException extends \Exception
-{
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/StringReader.php b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/StringReader.php
deleted file mode 100644
index 06d1916..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/StringReader.php
+++ /dev/null
@@ -1,97 +0,0 @@
-.
- Copyright (c) 2016 Michal Čihař
-
- This file is part of MoTranslator.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-*/
-
-namespace PhpMyAdmin\MoTranslator;
-
-/**
- * Simple wrapper around string buffer for
- * random access and values parsing.
- */
-class StringReader
-{
- private $_str;
- private $_len;
-
- /**
- * Constructor.
- *
- * @param string $filename Name of file to load
- */
- public function __construct($filename)
- {
- $this->_str = file_get_contents($filename);
- $this->_len = strlen($this->_str);
- }
-
- /**
- * Read number of bytes from given offset.
- *
- * @param int $pos Offset
- * @param int $bytes Number of bytes to read
- *
- * @return string
- */
- public function read($pos, $bytes)
- {
- if ($pos + $bytes > $this->_len) {
- throw new ReaderException('Not enough bytes!');
- }
-
- return substr($this->_str, $pos, $bytes);
- }
-
- /**
- * Reads a 32bit integer from the stream.
- *
- * @param string $unpack Unpack string
- * @param int $pos Position
- *
- * @return int Ingerer from the stream
- */
- public function readint($unpack, $pos)
- {
- $data = unpack($unpack, $this->read($pos, 4));
- $result = $data[1];
-
- /* We're reading unsigned int, but PHP will happily
- * give us negative number on 32-bit platforms.
- *
- * See also documentation:
- * https://secure.php.net/manual/en/function.unpack.php#refsect1-function.unpack-notes
- */
- return $result < 0 ? PHP_INT_MAX : $result;
- }
-
- /**
- * Reads an array of integers from the stream.
- *
- * @param string $unpack Unpack string
- * @param int $pos Position
- * @param int $count How many elements should be read
- *
- * @return array Array of Integers
- */
- public function readintarray($unpack, $pos, $count)
- {
- return unpack($unpack . $count, $this->read($pos, 4 * $count));
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/Translator.php b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/Translator.php
deleted file mode 100644
index 53a66a6..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/Translator.php
+++ /dev/null
@@ -1,375 +0,0 @@
-.
- Copyright (c) 2005 Nico Kaiser
- Copyright (c) 2016 Michal Čihař
-
- This file is part of MoTranslator.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-*/
-
-namespace PhpMyAdmin\MoTranslator;
-
-use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
-
-/**
- * Provides a simple gettext replacement that works independently from
- * the system's gettext abilities.
- * It can read MO files and use them for translating strings.
- *
- * It caches ll strings and translations to speed up the string lookup.
- */
-class Translator
-{
- /**
- * None error.
- */
- const ERROR_NONE = 0;
- /**
- * File does not exist.
- */
- const ERROR_DOES_NOT_EXIST = 1;
- /**
- * File has bad magic number.
- */
- const ERROR_BAD_MAGIC = 2;
- /**
- * Error while reading file, probably too short.
- */
- const ERROR_READING = 3;
-
- /**
- * Big endian mo file magic bytes.
- */
- const MAGIC_BE = "\x95\x04\x12\xde";
- /**
- * Little endian mo file magic bytes.
- */
- const MAGIC_LE = "\xde\x12\x04\x95";
-
- /**
- * Parse error code (0 if no error).
- *
- * @var int
- */
- public $error = self::ERROR_NONE;
-
- /**
- * Cache header field for plural forms.
- *
- * @var string|null
- */
- private $pluralequation = null;
- /**
- * @var ExpressionLanguage|null Evaluator for plurals
- */
- private $pluralexpression = null;
- /**
- * @var int|null number of plurals
- */
- private $pluralcount = null;
- /**
- * Array with original -> translation mapping.
- *
- * @var array
- */
- private $cache_translations = array();
-
- /**
- * Constructor.
- *
- * @param string $filename Name of mo file to load
- */
- public function __construct($filename)
- {
- if (!is_readable($filename)) {
- $this->error = self::ERROR_DOES_NOT_EXIST;
-
- return;
- }
-
- $stream = new StringReader($filename);
-
- try {
- $magic = $stream->read(0, 4);
- if (strcmp($magic, self::MAGIC_LE) == 0) {
- $unpack = 'V';
- } elseif (strcmp($magic, self::MAGIC_BE) == 0) {
- $unpack = 'N';
- } else {
- $this->error = self::ERROR_BAD_MAGIC;
-
- return;
- }
-
- /* Parse header */
- $total = $stream->readint($unpack, 8);
- $originals = $stream->readint($unpack, 12);
- $translations = $stream->readint($unpack, 16);
-
- /* get original and translations tables */
- $table_originals = $stream->readintarray($unpack, $originals, $total * 2);
- $table_translations = $stream->readintarray($unpack, $translations, $total * 2);
-
- /* read all strings to the cache */
- for ($i = 0; $i < $total; ++$i) {
- $original = $stream->read($table_originals[$i * 2 + 2], $table_originals[$i * 2 + 1]);
- $translation = $stream->read($table_translations[$i * 2 + 2], $table_translations[$i * 2 + 1]);
- $this->cache_translations[$original] = $translation;
- }
- } catch (ReaderException $e) {
- $this->error = self::ERROR_READING;
-
- return;
- }
- }
-
- /**
- * Translates a string.
- *
- * @param string $msgid String to be translated
- *
- * @return string translated string (or original, if not found)
- */
- public function gettext($msgid)
- {
- if (array_key_exists($msgid, $this->cache_translations)) {
- return $this->cache_translations[$msgid];
- }
-
- return $msgid;
- }
-
- /**
- * Check if a string is translated.
- *
- * @param string $msgid String to be checked
- *
- * @return bool
- */
- public function exists($msgid)
- {
- return array_key_exists($msgid, $this->cache_translations);
- }
-
- /**
- * Sanitize plural form expression for use in ExpressionLanguage.
- *
- * @param string $expr Expression to sanitize
- *
- * @return string sanitized plural form expression
- */
- public static function sanitizePluralExpression($expr)
- {
- // Parse equation
- $expr = explode(';', $expr);
- if (count($expr) >= 2) {
- $expr = $expr[1];
- } else {
- $expr = $expr[0];
- }
- $expr = trim(strtolower($expr));
- // Strip plural prefix
- if (substr($expr, 0, 6) === 'plural') {
- $expr = ltrim(substr($expr, 6));
- }
- // Strip equals
- if (substr($expr, 0, 1) === '=') {
- $expr = ltrim(substr($expr, 1));
- }
-
- // Cleanup from unwanted chars
- $expr = preg_replace('@[^n0-9:\(\)\?=!<>/%&| ]@', '', $expr);
-
- return $expr;
- }
-
- /**
- * Extracts number of plurals from plurals form expression.
- *
- * @param string $expr Expression to process
- *
- * @return int Total number of plurals
- */
- public static function extractPluralCount($expr)
- {
- $parts = explode(';', $expr, 2);
- $nplurals = explode('=', trim($parts[0]), 2);
- if (strtolower(rtrim($nplurals[0])) != 'nplurals') {
- return 1;
- }
- if (count($nplurals) == 1) {
- return 1;
- }
-
- return intval($nplurals[1]);
- }
-
- /**
- * Parse full PO header and extract only plural forms line.
- *
- * @param string $header Gettext header
- *
- * @return string verbatim plural form header field
- */
- public static function extractPluralsForms($header)
- {
- $headers = explode("\n", $header);
- $expr = 'nplurals=2; plural=n == 1 ? 0 : 1;';
- foreach ($headers as $header) {
- if (stripos($header, 'Plural-Forms:') === 0) {
- $expr = substr($header, 13);
- }
- }
-
- return $expr;
- }
-
- /**
- * Get possible plural forms from MO header.
- *
- * @return string plural form header
- */
- private function getPluralForms()
- {
- // lets assume message number 0 is header
- // this is true, right?
-
- // cache header field for plural forms
- if (is_null($this->pluralequation)) {
- if (isset($this->cache_translations[''])) {
- $header = $this->cache_translations[''];
- } else {
- $header = '';
- }
- $expr = $this->extractPluralsForms($header);
- $this->pluralequation = $this->sanitizePluralExpression($expr);
- $this->pluralcount = $this->extractPluralCount($expr);
- }
-
- return $this->pluralequation;
- }
-
- /**
- * Detects which plural form to take.
- *
- * @param int $n count of objects
- *
- * @return int array index of the right plural form
- */
- private function selectString($n)
- {
- if (is_null($this->pluralexpression)) {
- $this->pluralexpression = new ExpressionLanguage();
- }
- try {
- $plural = $this->pluralexpression->evaluate(
- $this->getPluralForms(), array('n' => $n)
- );
- } catch (\Exception $e) {
- $plural = 0;
- }
-
- if ($plural >= $this->pluralcount) {
- $plural = $this->pluralcount - 1;
- }
-
- return $plural;
- }
-
- /**
- * Plural version of gettext.
- *
- * @param string $msgid Single form
- * @param string $msgidPlural Plural form
- * @param int $number Number of objects
- *
- * @return string translated plural form
- */
- public function ngettext($msgid, $msgidPlural, $number)
- {
- // this should contains all strings separated by NULLs
- $key = implode(chr(0), array($msgid, $msgidPlural));
- if (!array_key_exists($key, $this->cache_translations)) {
- return ($number != 1) ? $msgidPlural : $msgid;
- }
-
- // find out the appropriate form
- $select = $this->selectString($number);
-
- $result = $this->cache_translations[$key];
- $list = explode(chr(0), $result);
-
- if (!isset($list[$select])) {
- return $list[0];
- }
-
- return $list[$select];
- }
-
- /**
- * Translate with context.
- *
- * @param string $msgctxt Context
- * @param string $msgid String to be translated
- *
- * @return string translated plural form
- */
- public function pgettext($msgctxt, $msgid)
- {
- $key = implode(chr(4), array($msgctxt, $msgid));
- $ret = $this->gettext($key);
- if (strpos($ret, chr(4)) !== false) {
- return $msgid;
- }
-
- return $ret;
- }
-
- /**
- * Plural version of pgettext.
- *
- * @param string $msgctxt Context
- * @param string $msgid Single form
- * @param string $msgidPlural Plural form
- * @param int $number Number of objects
- *
- * @return string translated plural form
- */
- public function npgettext($msgctxt, $msgid, $msgidPlural, $number)
- {
- $key = implode(chr(4), array($msgctxt, $msgid));
- $ret = $this->ngettext($key, $msgidPlural, $number);
- if (strpos($ret, chr(4)) !== false) {
- return $msgid;
- }
-
- return $ret;
- }
-
- /**
- * Set translation in place
- *
- * @param string $msgid String to be set
- * @param string $msgstr Translation
- *
- * @return void
- */
- public function setTranslation($msgid, $msgstr)
- {
- $this->cache_translations[$msgid] = $msgstr;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/functions.php b/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/functions.php
deleted file mode 100644
index 559715a..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/motranslator/src/functions.php
+++ /dev/null
@@ -1,215 +0,0 @@
-
- Copyright (c) 2009 Danilo Segan
- Copyright (c) 2016 Michal Čihař
-
- This file is part of MoTranslator.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-*/
-
-use PhpMyAdmin\MoTranslator\Loader;
-
-/**
- * Sets a requested locale.
- *
- * @param int $category Locale category, ignored
- * @param string $locale Locale name
- *
- * @return string Set or current locale
- */
-function _setlocale($category, $locale)
-{
- return Loader::getInstance()->setlocale($locale);
-}
-
-/**
- * Sets the path for a domain.
- *
- * @param string $domain Domain name
- * @param string $path Path where to find locales
- */
-function _bindtextdomain($domain, $path)
-{
- Loader::getInstance()->bindtextdomain($domain, $path);
-}
-
-/**
- * Dummy compatibility function, MoTranslator assumes
- * everything is using same character set on input and
- * output.
- *
- * Generally it is wise to output in UTF-8 and have
- * mo files in UTF-8.
- *
- * @param mixed $domain Domain where to set character set
- * @param mixed $codeset Character set to set
- */
-function _bind_textdomain_codeset($domain, $codeset)
-{
-}
-
-/**
- * Sets the default domain.
- *
- * @param string $domain Domain name
- */
-function _textdomain($domain)
-{
- Loader::getInstance()->textdomain($domain);
-}
-
-/**
- * Translates a string.
- *
- * @param string $msgid String to be translated
- *
- * @return string translated string (or original, if not found)
- */
-function _gettext($msgid)
-{
- return Loader::getInstance()->getTranslator()->gettext(
- $msgid
- );
-}
-
-/**
- * Translates a string, alias for _gettext.
- *
- * @param string $msgid String to be translated
- *
- * @return string translated string (or original, if not found)
- */
-function __($msgid)
-{
- return Loader::getInstance()->getTranslator()->gettext(
- $msgid
- );
-}
-
-/**
- * Plural version of gettext.
- *
- * @param string $msgid Single form
- * @param string $msgidPlural Plural form
- * @param int $number Number of objects
- *
- * @return string translated plural form
- */
-function _ngettext($msgid, $msgidPlural, $number)
-{
- return Loader::getInstance()->getTranslator()->ngettext(
- $msgid, $msgidPlural, $number
- );
-}
-
-/**
- * Translate with context.
- *
- * @param string $msgctxt Context
- * @param string $msgid String to be translated
- *
- * @return string translated plural form
- */
-function _pgettext($msgctxt, $msgid)
-{
- return Loader::getInstance()->getTranslator()->pgettext(
- $msgctxt, $msgid
- );
-}
-
-/**
- * Plural version of pgettext.
- *
- * @param string $msgctxt Context
- * @param string $msgid Single form
- * @param string $msgidPlural Plural form
- * @param int $number Number of objects
- *
- * @return string translated plural form
- */
-function _npgettext($msgctxt, $msgid, $msgidPlural, $number)
-{
- return Loader::getInstance()->getTranslator()->npgettext(
- $msgctxt, $msgid, $msgidPlural, $number
- );
-}
-
-/**
- * Translates a string.
- *
- * @param string $domain Domain to use
- * @param string $msgid String to be translated
- *
- * @return string translated string (or original, if not found)
- */
-function _dgettext($domain, $msgid)
-{
- return Loader::getInstance()->getTranslator($domain)->gettext(
- $msgid
- );
-}
-
-/**
- * Plural version of gettext.
- *
- * @param string $domain Domain to use
- * @param string $msgid Single form
- * @param string $msgidPlural Plural form
- * @param int $number Number of objects
- *
- * @return string translated plural form
- */
-function _dngettext($domain, $msgid, $msgidPlural, $number)
-{
- return Loader::getInstance()->getTranslator($domain)->ngettext(
- $msgid, $msgidPlural, $number
- );
-}
-
-/**
- * Translate with context.
- *
- * @param string $domain Domain to use
- * @param string $msgctxt Context
- * @param string $msgid String to be translated
- *
- * @return string translated plural form
- */
-function _dpgettext($domain, $msgctxt, $msgid)
-{
- return Loader::getInstance()->getTranslator($domain)->pgettext(
- $msgctxt, $msgid
- );
-}
-
-/**
- * Plural version of pgettext.
- *
- * @param string $domain Domain to use
- * @param string $msgctxt Context
- * @param string $msgid Single form
- * @param string $msgidPlural Plural form
- * @param int $number Number of objects
- *
- * @return string translated plural form
- */
-function _dnpgettext($domain, $msgctxt, $msgid, $msgidPlural, $number)
-{
- return Loader::getInstance()->getTranslator($domain)->npgettext(
- $msgctxt, $msgid, $msgidPlural, $number
- );
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/CHANGELOG.md b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/CHANGELOG.md
deleted file mode 100644
index c572456..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/CHANGELOG.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# Change Log
-
-## [2.1] - 2017-05-15
-
-* Documentation improvements.
-
-## [2.0] - 2017-01-23
-
-* Switched to PhpMyAdmin vendor namespace to follow PSR-4.
-
-## [1.2] - 2017-01-07
-
-* Coding style cleanup.
-* PHP 7.2 support.
-* Avoid installing tests and test data using composer.
-
-## [1.1] - 2016-11-21
-
-* Fixed adjusting of record bouding box
-
-## [1.0] - 2016-11-21
-
-* Documentation improvements
-* Code cleanups
-
-## [0.12] - 2016-11-17
-
-* Fixed DBF search
-* Improved test coverage
-
-## [0.11] - 2016-11-16
-
-* Code cleanups
-* Fixed behavior without configured DBF header
-
-## [0.11] - 2016-11-16
-
-* Fixed saving Polygon/Polyline creation with multiple parts
-* Fixed saving Multipont records
-
-## [0.10] - 2016-09-05
-
-* Improved error handling on loading
-
-## [0.9] - 2016-08-04
-
-* Code cleanups
-
-## [0.8] - 2016-06-24
-
-* Code cleanups
-* Fixed loading of records with optional data
-
-## [0.7] - 2016-06-24
-
-* Properly fail on loading corrupted files
-
-## [0.6] - 2016-06-24
-
-* Fixed detection of end of file when loading
-
-## [0.5] - 2016-06-24
-
-* Added getShapeName method to ShapeFile
-
-## [0.4] - 2016-06-24
-
-* Make API work even without real file open
-
-## [0.3] - 2016-06-24
-
-* Better support for subclassing
-
-## [0.2] - 2016-06-24
-
-* Make the dbase extension optional dependency
-
-## [0.1] - 2016-06-14
-
-* Inital release based on bfShapeFiles
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/CONTRIBUTING.md b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/CONTRIBUTING.md
deleted file mode 100644
index d5d8705..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/CONTRIBUTING.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributing to shapefile
-
-## Reporting issues
-
-Our issue tracker is hosted at GitHub:
-
-https://github.com/phpmyadmin/shapefile/issues
-
-Please search for existing issues before reporting new ones.
-
-## Working with Git checkout
-
-The dependencies are managed by Composer, to get them all installed (or update
-on consequent runs) do:
-
-```
-composer update
-```
-
-## Submitting patches
-
-Please submit your patches using GitHub pull requests, this allows us to review
-them and to run automated tests on the code.
-
-## Coding standards
-
-We do follow PSR-1 and PSR-2 coding standards.
-
-You can use php-cs-fixer to fix the code to match our expectations:
-
-```
-php-cs-fixer fix .
-```
-
-## Testsuite
-
-Our code comes with quite comprehensive testsuite, it is automatically executed
-on every commit and pull request, you can also run it locally:
-
-```
-./vendor/bin/phpunit -c phpunit.xml
-```
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/LICENSE b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/LICENSE
deleted file mode 100644
index 23cb790..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/LICENSE
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- {description}
- Copyright (C) {year} {fullname}
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- {signature of Ty Coon}, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/README.md b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/README.md
deleted file mode 100644
index 3e0bf23..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/README.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# shapefile
-ShapeFile library for PHP
-
-[](https://travis-ci.org/phpmyadmin/shapefile)
-[](https://codecov.io/github/phpmyadmin/shapefile?branch=master)
-[](https://scrutinizer-ci.com/g/phpmyadmin/shapefile/?branch=master)
-[](https://packagist.org/packages/phpmyadmin/shapefile)
-
-## Features
-
-Currently the 2D and 3D variants except MultiPatch of the ShapeFile format as
-defined in https://www.esri.com/library/whitepapers/pdfs/shapefile.pdf. The
-library currently supports reading and editing of ShapeFiles and the Associated
-information (DBF file). There are a lot of things that can be improved in the
-code, if you are interested in developing, helping with the documentation,
-making translations or offering new ideas please contact us.
-
-## Installation
-
-Please use [Composer][1] to install:
-
-```
-composer require phpmyadmin/shapefile
-```
-
-To be able to read and write the associated DBF file, you need ``dbase``
-extension:
-
-```
-pecl install dbase
-echo "extension=dbase.so" > /etc/php5/conf.d/dbase.ini
-```
-
-## Documentation
-
-The API documentation is available at
-.
-
-## Usage
-
-To read shape file:
-
-```php
-$shp = new \PhpMyAdmin\ShapeFile\ShapeFile(0);
-$shp->loadFromFile('path/file.*');
-```
-
-## History
-
-This library is based on BytesFall ShapeFiles library written by Ovidio (ovidio
-AT users.sourceforge.net). The library has been embedded in phpMyAdmin for
-years and slowly developed there. At one point people started to use our
-version rather than the original library and that was the point we decided to
-make it separate package.
-
-[1]:https://getcomposer.org/
-
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/codecov.yml b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/codecov.yml
deleted file mode 100644
index 99d09da..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/codecov.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-comment:
- layout: header, changes, diff
-coverage: {}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/composer.json b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/composer.json
deleted file mode 100644
index b4968ec..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/composer.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "phpmyadmin/shapefile",
- "description": "ESRI ShapeFile library for PHP",
- "license": "GPL-2.0+",
- "keywords": ["shapefile", "shp", "geo", "geospatial", "dbf", "ESRI", "shape"],
- "homepage": "https://github.com/phpmyadmin/shapefile",
- "authors": [
- {
- "name": "The phpMyAdmin Team",
- "email": "developers@phpmyadmin.net",
- "homepage": "https://www.phpmyadmin.net/team/"
- }
- ],
- "support": {
- "issues": "https://github.com/phpmyadmin/shapefile/issues",
- "source": "https://github.com/phpmyadmin/shapefile"
- },
- "require": {
- "php": ">=5.4.0"
- },
- "suggest": {
- "ext-dbase": "For dbf files parsing"
- },
- "require-dev": {
- "phpunit/php-code-coverage": "*",
- "phpunit/phpunit": "~4.8 || ~5.7"
- },
- "autoload": {
- "psr-4": {
- "PhpMyAdmin\\ShapeFile\\": "src"
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/phpunit.xml b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/phpunit.xml
deleted file mode 100644
index 77935db..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/phpunit.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
- ./tests
-
-
-
-
- src/
-
-
-
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/ShapeFile.php b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/ShapeFile.php
deleted file mode 100644
index 5995a82..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/ShapeFile.php
+++ /dev/null
@@ -1,647 +0,0 @@
-.
- *
- * Copyright 2006-2007 Ovidio
- * Copyright 2016 - 2017 Michal Čihař
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, you can download one from
- * https://www.gnu.org/copyleft/gpl.html.
- */
-
-namespace PhpMyAdmin\ShapeFile;
-
-/**
- * ShapeFile class.
- */
-class ShapeFile
-{
- const MAGIC = 0x270a;
-
- public $FileName;
-
- private $SHPFile = null;
- private $SHXFile = null;
- private $DBFFile = null;
-
- private $DBFHeader;
-
- public $lastError = '';
-
- public $boundingBox = array('xmin' => 0.0, 'ymin' => 0.0, 'xmax' => 0.0, 'ymax' => 0.0);
- private $fileLength = 0;
- public $shapeType = 0;
-
- public $records = array();
-
- /**
- * Checks whether dbase manipuations are supported.
- *
- * @return bool
- */
- public static function supports_dbase()
- {
- return extension_loaded('dbase');
- }
-
- /**
- * @param int $shapeType File shape type, should be same as all records
- * @param array $boundingBox File bounding box
- * @param null|mixed $FileName File name
- */
- public function __construct($shapeType, $boundingBox = array('xmin' => 0.0, 'ymin' => 0.0, 'xmax' => 0.0, 'ymax' => 0.0), $FileName = null)
- {
- $this->shapeType = $shapeType;
- $this->boundingBox = $boundingBox;
- $this->FileName = $FileName;
- $this->fileLength = 50; // The value for file length is the total length of the file in 16-bit words (including the fifty 16-bit words that make up the header).
- }
-
- /**
- * Loads shapefile and dbase (if supported).
- *
- * @param string $FileName File mask to load (eg. example.*)
- */
- public function loadFromFile($FileName)
- {
- if (!empty($FileName)) {
- $this->FileName = $FileName;
- $result = $this->_openSHPFile();
- } else {
- /* We operate on buffer emulated by readSHP / eofSHP */
- $result = true;
- }
-
- if ($result && ($this->_openDBFFile())) {
- if (!$this->_loadHeaders()) {
- $this->_closeSHPFile();
- $this->_closeDBFFile();
-
- return false;
- }
- if (!$this->_loadRecords()) {
- $this->_closeSHPFile();
- $this->_closeDBFFile();
-
- return false;
- }
- $this->_closeSHPFile();
- $this->_closeDBFFile();
-
- return true;
- }
-
- return false;
- }
-
- /**
- * Saves shapefile.
- *
- * @param string|null $FileName Name of file, otherwise existing is used
- */
- public function saveToFile($FileName = null)
- {
- if (!is_null($FileName)) {
- $this->FileName = $FileName;
- }
-
- if (($this->_openSHPFile(true)) && ($this->_openSHXFile(true)) && ($this->_createDBFFile())) {
- $this->_saveHeaders();
- $this->_saveRecords();
- $this->_closeSHPFile();
- $this->_closeSHXFile();
- $this->_closeDBFFile();
- } else {
- return false;
- }
- }
-
- /**
- * Generates filename with given extension.
- *
- * @param string $extension Extension to use (including dot)
- *
- * @return string
- */
- private function _getFilename($extension)
- {
- return str_replace('.*', $extension, $this->FileName);
- }
-
- /**
- * Updates bounding box based on SHPData.
- *
- * @param string $type Type of box
- * @param array $data ShapeRecord SHPData
- */
- private function updateBBox($type, $data)
- {
- $min = $type . 'min';
- $max = $type . 'max';
-
- if (!isset($this->boundingBox[$min]) || $this->boundingBox[$min] == 0.0 || ($this->boundingBox[$min] > $data[$min])) {
- $this->boundingBox[$min] = $data[$min];
- }
- if (!isset($this->boundingBox[$max]) || $this->boundingBox[$max] == 0.0 || ($this->boundingBox[$max] < $data[$max])) {
- $this->boundingBox[$max] = $data[$max];
- }
- }
-
- /**
- * Adds record to shape file.
- *
- * @param ShapeRecord $record
- *
- * @return int Number of added record
- */
- public function addRecord($record)
- {
- if ((isset($this->DBFHeader)) && (is_array($this->DBFHeader))) {
- $record->updateDBFInfo($this->DBFHeader);
- }
-
- $this->fileLength += ($record->getContentLength() + 4);
- $this->records[] = $record;
- $this->records[count($this->records) - 1]->recordNumber = count($this->records);
-
- $this->updateBBox('x', $record->SHPData);
- $this->updateBBox('y', $record->SHPData);
-
- if (in_array($this->shapeType, array(11, 13, 15, 18, 21, 23, 25, 28))) {
- $this->updateBBox('m', $record->SHPData);
- }
-
- if (in_array($this->shapeType, array(11, 13, 15, 18))) {
- $this->updateBBox('z', $record->SHPData);
- }
-
- return count($this->records) - 1;
- }
-
- /**
- * Deletes record from shapefile.
- *
- * @param int $index
- */
- public function deleteRecord($index)
- {
- if (isset($this->records[$index])) {
- $this->fileLength -= ($this->records[$index]->getContentLength() + 4);
- $count = count($this->records) - 1;
- for ($i = $index; $i < $count; ++$i) {
- $this->records[$i] = $this->records[$i + 1];
- }
- unset($this->records[count($this->records) - 1]);
- $this->_deleteRecordFromDBF($index);
- }
- }
-
- /**
- * Returns array defining fields in DBF file.
- *
- * @return array see setDBFHeader for more information
- */
- public function getDBFHeader()
- {
- return $this->DBFHeader;
- }
-
- /**
- * Changes array defining fields in DBF file, used in dbase_create call.
- *
- * @param array $header An array of arrays, each array describing the
- * format of one field of the database. Each
- * field consists of a name, a character indicating
- * the field type, and optionally, a length,
- * a precision and a nullable flag.
- */
- public function setDBFHeader($header)
- {
- $this->DBFHeader = $header;
-
- $count = count($this->records);
- for ($i = 0; $i < $count; ++$i) {
- $this->records[$i]->updateDBFInfo($header);
- }
- }
-
- /**
- * Lookups value in the DBF file and returs index.
- *
- * @param string $field Field to match
- * @param mixed $value Value to match
- *
- * @return int
- */
- public function getIndexFromDBFData($field, $value)
- {
- foreach ($this->records as $index => $record) {
- if (isset($record->DBFData[$field]) &&
- (trim(strtoupper($record->DBFData[$field])) == strtoupper($value))
- ) {
- return $index;
- }
- }
-
- return -1;
- }
-
- /**
- * Loads DBF metadata.
- */
- private function _loadDBFHeader()
- {
- $DBFFile = fopen($this->_getFilename('.dbf'), 'r');
-
- $result = array();
- $i = 1;
- $inHeader = true;
-
- while ($inHeader) {
- if (!feof($DBFFile)) {
- $buff32 = fread($DBFFile, 32);
- if ($i > 1) {
- if (substr($buff32, 0, 1) == chr(13)) {
- $inHeader = false;
- } else {
- $pos = strpos(substr($buff32, 0, 10), chr(0));
- $pos = ($pos == 0 ? 10 : $pos);
-
- $fieldName = substr($buff32, 0, $pos);
- $fieldType = substr($buff32, 11, 1);
- $fieldLen = ord(substr($buff32, 16, 1));
- $fieldDec = ord(substr($buff32, 17, 1));
-
- array_push($result, array($fieldName, $fieldType, $fieldLen, $fieldDec));
- }
- }
- ++$i;
- } else {
- $inHeader = false;
- }
- }
-
- fclose($DBFFile);
-
- return $result;
- }
-
- /**
- * Deletes record from the DBF file.
- *
- * @param int $index
- */
- private function _deleteRecordFromDBF($index)
- {
- if (@dbase_delete_record($this->DBFFile, $index)) {
- dbase_pack($this->DBFFile);
- }
- }
-
- /**
- * Loads SHP file metadata.
- *
- * @return bool
- */
- private function _loadHeaders()
- {
- if (Util::loadData('N', $this->readSHP(4)) != self::MAGIC) {
- $this->setError('Not a SHP file (file code mismatch)');
-
- return false;
- }
-
- /* Skip 20 unused bytes */
- $this->readSHP(20);
-
- $this->fileLength = Util::loadData('N', $this->readSHP(4));
-
- /* We currently ignore version */
- $this->readSHP(4);
-
- $this->shapeType = Util::loadData('V', $this->readSHP(4));
-
- $this->boundingBox = array();
- $this->boundingBox['xmin'] = Util::loadData('d', $this->readSHP(8));
- $this->boundingBox['ymin'] = Util::loadData('d', $this->readSHP(8));
- $this->boundingBox['xmax'] = Util::loadData('d', $this->readSHP(8));
- $this->boundingBox['ymax'] = Util::loadData('d', $this->readSHP(8));
- $this->boundingBox['zmin'] = Util::loadData('d', $this->readSHP(8));
- $this->boundingBox['zmax'] = Util::loadData('d', $this->readSHP(8));
- $this->boundingBox['mmin'] = Util::loadData('d', $this->readSHP(8));
- $this->boundingBox['mmax'] = Util::loadData('d', $this->readSHP(8));
-
- if (self::supports_dbase()) {
- $this->DBFHeader = $this->_loadDBFHeader();
- }
-
- return true;
- }
-
- /**
- * Saves bounding box record, possibly using 0 instead of not set values.
- *
- * @param file $file File object
- * @param string $type Bounding box dimension (eg. xmax, mmin...)
- */
- private function _saveBBoxRecord($file, $type)
- {
- fwrite($file, Util::packDouble(
- isset($this->boundingBox[$type]) ? $this->boundingBox[$type] : 0)
- );
- }
-
- /**
- * Saves bounding box to a file.
- *
- * @param file $file File object
- */
- private function _saveBBox($file)
- {
- $this->_saveBBoxRecord($file, 'xmin');
- $this->_saveBBoxRecord($file, 'ymin');
- $this->_saveBBoxRecord($file, 'xmax');
- $this->_saveBBoxRecord($file, 'ymax');
- $this->_saveBBoxRecord($file, 'zmin');
- $this->_saveBBoxRecord($file, 'zmax');
- $this->_saveBBoxRecord($file, 'mmin');
- $this->_saveBBoxRecord($file, 'mmax');
- }
-
- /**
- * Saves SHP and SHX file metadata.
- */
- private function _saveHeaders()
- {
- fwrite($this->SHPFile, pack('NNNNNN', self::MAGIC, 0, 0, 0, 0, 0));
- fwrite($this->SHPFile, pack('N', $this->fileLength));
- fwrite($this->SHPFile, pack('V', 1000));
- fwrite($this->SHPFile, pack('V', $this->shapeType));
- $this->_saveBBox($this->SHPFile);
-
- fwrite($this->SHXFile, pack('NNNNNN', self::MAGIC, 0, 0, 0, 0, 0));
- fwrite($this->SHXFile, pack('N', 50 + 4 * count($this->records)));
- fwrite($this->SHXFile, pack('V', 1000));
- fwrite($this->SHXFile, pack('V', $this->shapeType));
- $this->_saveBBox($this->SHXFile);
- }
-
- /**
- * Loads records from SHP file (and DBF).
- *
- * @return bool
- */
- private function _loadRecords()
- {
- /* Need to start at offset 100 */
- while (!$this->eofSHP()) {
- $record = new ShapeRecord(-1);
- $record->loadFromFile($this, $this->SHPFile, $this->DBFFile);
- if ($record->lastError != '') {
- $this->setError($record->lastError);
-
- return false;
- }
- if (($record->shapeType === false || $record->shapeType === '') && $this->eofSHP()) {
- break;
- }
-
- $this->records[] = $record;
- }
-
- return true;
- }
-
- /**
- * Saves records to SHP and SHX files.
- */
- private function _saveRecords()
- {
- $offset = 50;
- if (is_array($this->records) && (count($this->records) > 0)) {
- foreach ($this->records as $index => $record) {
- //Save the record to the .shp file
- $record->saveToFile($this->SHPFile, $this->DBFFile, $index + 1);
-
- //Save the record to the .shx file
- fwrite($this->SHXFile, pack('N', $offset));
- fwrite($this->SHXFile, pack('N', $record->getContentLength()));
- $offset += (4 + $record->getContentLength());
- }
- }
- }
-
- /**
- * Generic interface to open files.
- *
- * @param bool $toWrite Whether file should be opened for writing
- * @param string $extension File extension
- * @param string $name Verbose file name to report errors
- *
- * @return file|false File handle
- */
- private function _openFile($toWrite, $extension, $name)
- {
- $shp_name = $this->_getFilename($extension);
- $result = @fopen($shp_name, ($toWrite ? 'wb+' : 'rb'));
- if (!$result) {
- $this->setError(sprintf('It wasn\'t possible to open the %s file "%s"', $name, $shp_name));
-
- return false;
- }
-
- return $result;
- }
-
- /**
- * Opens SHP file.
- *
- * @param bool $toWrite Whether file should be opened for writing
- *
- * @return bool
- */
- private function _openSHPFile($toWrite = false)
- {
- $this->SHPFile = $this->_openFile($toWrite, '.shp', 'Shape');
- if (!$this->SHPFile) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Closes SHP file.
- */
- private function _closeSHPFile()
- {
- if ($this->SHPFile) {
- fclose($this->SHPFile);
- $this->SHPFile = null;
- }
- }
-
- /**
- * Opens SHX file.
- *
- * @param bool $toWrite Whether file should be opened for writing
- *
- * @return bool
- */
- private function _openSHXFile($toWrite = false)
- {
- $this->SHXFile = $this->_openFile($toWrite, '.shx', 'Index');
- if (!$this->SHXFile) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Closes SHX file.
- */
- private function _closeSHXFile()
- {
- if ($this->SHXFile) {
- fclose($this->SHXFile);
- $this->SHXFile = null;
- }
- }
-
- /**
- * Creates DBF file.
- *
- * @return bool
- */
- private function _createDBFFile()
- {
- if (!self::supports_dbase() || !is_array($this->DBFHeader) || count($this->DBFHeader) == 0) {
- $this->DBFFile = null;
-
- return true;
- }
- $dbf_name = $this->_getFilename('.dbf');
-
- /* Unlink existing file */
- if (file_exists($dbf_name)) {
- unlink($dbf_name);
- }
-
- /* Create new file */
- $this->DBFFile = @dbase_create($dbf_name, $this->DBFHeader);
- if ($this->DBFFile === false) {
- $this->setError(sprintf('It wasn\'t possible to create the DBase file "%s"', $dbf_name));
-
- return false;
- }
-
- return true;
- }
-
- /**
- * Loads DBF file if supported.
- *
- * @return bool
- */
- private function _openDBFFile()
- {
- if (!self::supports_dbase()) {
- $this->DBFFile = null;
-
- return true;
- }
- $dbf_name = $this->_getFilename('.dbf');
- if (is_readable($dbf_name)) {
- $this->DBFFile = @dbase_open($dbf_name, 0);
- if (!$this->DBFFile) {
- $this->setError(sprintf('It wasn\'t possible to open the DBase file "%s"', $dbf_name));
-
- return false;
- }
- } else {
- $this->setError(sprintf('It wasn\'t possible to find the DBase file "%s"', $dbf_name));
-
- return false;
- }
-
- return true;
- }
-
- /**
- * Closes DBF file.
- */
- private function _closeDBFFile()
- {
- if ($this->DBFFile) {
- dbase_close($this->DBFFile);
- $this->DBFFile = null;
- }
- }
-
- /**
- * Sets error message.
- *
- * @param string $error
- */
- public function setError($error)
- {
- $this->lastError = $error;
- }
-
- /**
- * Reads given number of bytes from SHP file.
- *
- * @param int $bytes
- *
- * @return string
- */
- public function readSHP($bytes)
- {
- return fread($this->SHPFile, $bytes);
- }
-
- /**
- * Checks whether file is at EOF.
- *
- * @return bool
- */
- public function eofSHP()
- {
- return feof($this->SHPFile);
- }
-
- /**
- * Returns shape name.
- *
- * @return string
- */
- public function getShapeName()
- {
- return Util::nameShape($this->shapeType);
- }
-
- /**
- * Check whether file contains measure data.
- *
- * For some reason this is distinguished by zero bounding box in the
- * specification.
- *
- * @return bool
- */
- public function hasMeasure()
- {
- return $this->boundingBox['mmin'] != 0 || $this->boundingBox['mmax'] != 0;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/ShapeRecord.php b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/ShapeRecord.php
deleted file mode 100644
index 0d5cfe7..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/ShapeRecord.php
+++ /dev/null
@@ -1,849 +0,0 @@
-.
- *
- * Copyright 2006-2007 Ovidio
- * Copyright 2016 - 2017 Michal Čihař
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, you can download one from
- * https://www.gnu.org/copyleft/gpl.html.
- */
-
-namespace PhpMyAdmin\ShapeFile;
-
-/**
- * ShapeFile record class.
- */
-class ShapeRecord
-{
- private $SHPFile = null;
- private $DBFFile = null;
- private $ShapeFile = null;
-
- private $size = 0;
- private $read = 0;
-
- public $recordNumber = null;
- public $shapeType = null;
-
- public $lastError = '';
-
- public $SHPData = array();
- public $DBFData = array();
-
- /**
- * @param int $shapeType
- */
- public function __construct($shapeType)
- {
- $this->shapeType = $shapeType;
- }
-
- /**
- * Loads record from files.
- *
- * @param ShapeFile $ShapeFile
- * @param file &$SHPFile Opened SHP file
- * @param file &$DBFFile Opened DBF file
- */
- public function loadFromFile(&$ShapeFile, &$SHPFile, &$DBFFile)
- {
- $this->ShapeFile = $ShapeFile;
- $this->SHPFile = $SHPFile;
- $this->DBFFile = $DBFFile;
- $this->_loadHeaders();
-
- /* No header read */
- if ($this->read == 0) {
- return;
- }
-
- switch ($this->shapeType) {
- case 0:
- $this->_loadNullRecord();
- break;
- case 1:
- $this->_loadPointRecord();
- break;
- case 21:
- $this->_loadPointMRecord();
- break;
- case 11:
- $this->_loadPointZRecord();
- break;
- case 3:
- $this->_loadPolyLineRecord();
- break;
- case 23:
- $this->_loadPolyLineMRecord();
- break;
- case 13:
- $this->_loadPolyLineZRecord();
- break;
- case 5:
- $this->_loadPolygonRecord();
- break;
- case 25:
- $this->_loadPolygonMRecord();
- break;
- case 15:
- $this->_loadPolygonZRecord();
- break;
- case 8:
- $this->_loadMultiPointRecord();
- break;
- case 28:
- $this->_loadMultiPointMRecord();
- break;
- case 18:
- $this->_loadMultiPointZRecord();
- break;
- default:
- $this->setError(sprintf('The Shape Type "%s" is not supported.', $this->shapeType));
- break;
- }
-
- /* We need to skip rest of the record */
- while ($this->read < $this->size) {
- $this->_loadData('V', 4);
- }
-
- /* Check if we didn't read too much */
- if ($this->read != $this->size) {
- $this->setError(sprintf('Failed to parse record, read=%d, size=%d', $this->read, $this->size));
- }
-
- if (ShapeFile::supports_dbase() && isset($this->DBFFile)) {
- $this->_loadDBFData();
- }
- }
-
- /**
- * Saves record to files.
- *
- * @param file &$SHPFile Opened SHP file
- * @param file &$DBFFile Opened DBF file
- * @param int $recordNumber Record number
- */
- public function saveToFile(&$SHPFile, &$DBFFile, $recordNumber)
- {
- $this->SHPFile = $SHPFile;
- $this->DBFFile = $DBFFile;
- $this->recordNumber = $recordNumber;
- $this->_saveHeaders();
-
- switch ($this->shapeType) {
- case 0:
- // Nothing to save
- break;
- case 1:
- $this->_savePointRecord();
- break;
- case 21:
- $this->_savePointMRecord();
- break;
- case 11:
- $this->_savePointZRecord();
- break;
- case 3:
- $this->_savePolyLineRecord();
- break;
- case 23:
- $this->_savePolyLineMRecord();
- break;
- case 13:
- $this->_savePolyLineZRecord();
- break;
- case 5:
- $this->_savePolygonRecord();
- break;
- case 25:
- $this->_savePolygonMRecord();
- break;
- case 15:
- $this->_savePolygonZRecord();
- break;
- case 8:
- $this->_saveMultiPointRecord();
- break;
- case 28:
- $this->_saveMultiPointMRecord();
- break;
- case 18:
- $this->_saveMultiPointZRecord();
- break;
- default:
- $this->setError(sprintf('The Shape Type "%s" is not supported.', $this->shapeType));
- break;
- }
- if (ShapeFile::supports_dbase() && !is_null($this->DBFFile)) {
- $this->_saveDBFData();
- }
- }
-
- /**
- * Updates DBF data to match header.
- *
- * @param array $header DBF structure header
- */
- public function updateDBFInfo($header)
- {
- $tmp = $this->DBFData;
- unset($this->DBFData);
- $this->DBFData = array();
- foreach ($header as $value) {
- $this->DBFData[$value[0]] = (isset($tmp[$value[0]])) ? $tmp[$value[0]] : '';
- }
- }
-
- /**
- * Reads data.
- *
- * @param string $type type for unpack()
- * @param int $count number of bytes
- *
- * @return mixed
- */
- private function _loadData($type, $count)
- {
- $data = $this->ShapeFile->readSHP($count);
- if ($data === false) {
- return false;
- }
- $this->read += strlen($data);
-
- return Util::loadData($type, $data);
- }
-
- /**
- * Loads metadata header from a file.
- */
- private function _loadHeaders()
- {
- $this->shapeType = false;
- $this->recordNumber = $this->_loadData('N', 4);
- if ($this->recordNumber === false) {
- return;
- }
- // We read the length of the record
- $this->size = $this->_loadData('N', 4);
- if ($this->size === false) {
- return;
- }
- $this->size = $this->size * 2 + 8;
- $this->shapeType = $this->_loadData('V', 4);
- }
-
- /**
- * Saves metadata header to a file.
- */
- private function _saveHeaders()
- {
- fwrite($this->SHPFile, pack('N', $this->recordNumber));
- fwrite($this->SHPFile, pack('N', $this->getContentLength()));
- fwrite($this->SHPFile, pack('V', $this->shapeType));
- }
-
- private function _loadPoint()
- {
- $data = array();
-
- $data['x'] = $this->_loadData('d', 8);
- $data['y'] = $this->_loadData('d', 8);
-
- return $data;
- }
-
- private function _loadPointM()
- {
- $data = $this->_loadPoint();
-
- $data['m'] = $this->_loadData('d', 8);
-
- return $data;
- }
-
- private function _loadPointZ()
- {
- $data = $this->_loadPoint();
-
- $data['z'] = $this->_loadData('d', 8);
- $data['m'] = $this->_loadData('d', 8);
-
- return $data;
- }
-
- private function _savePoint($data)
- {
- fwrite($this->SHPFile, Util::packDouble($data['x']));
- fwrite($this->SHPFile, Util::packDouble($data['y']));
- }
-
- private function _savePointM($data)
- {
- fwrite($this->SHPFile, Util::packDouble($data['x']));
- fwrite($this->SHPFile, Util::packDouble($data['y']));
- fwrite($this->SHPFile, Util::packDouble($data['m']));
- }
-
- private function _savePointZ($data)
- {
- fwrite($this->SHPFile, Util::packDouble($data['x']));
- fwrite($this->SHPFile, Util::packDouble($data['y']));
- fwrite($this->SHPFile, Util::packDouble($data['z']));
- fwrite($this->SHPFile, Util::packDouble($data['m']));
- }
-
- private function _loadNullRecord()
- {
- $this->SHPData = array();
- }
-
- private function _loadPointRecord()
- {
- $this->SHPData = $this->_loadPoint();
- }
-
- private function _loadPointMRecord()
- {
- $this->SHPData = $this->_loadPointM();
- }
-
- private function _loadPointZRecord()
- {
- $this->SHPData = $this->_loadPointZ();
- }
-
- private function _savePointRecord()
- {
- $this->_savePoint($this->SHPData);
- }
-
- private function _savePointMRecord()
- {
- $this->_savePointM($this->SHPData);
- }
-
- private function _savePointZRecord()
- {
- $this->_savePointZ($this->SHPData);
- }
-
- private function _loadBBox()
- {
- $this->SHPData['xmin'] = $this->_loadData('d', 8);
- $this->SHPData['ymin'] = $this->_loadData('d', 8);
- $this->SHPData['xmax'] = $this->_loadData('d', 8);
- $this->SHPData['ymax'] = $this->_loadData('d', 8);
- }
-
- private function _loadMultiPointRecord()
- {
- $this->SHPData = array();
- $this->_loadBBox();
-
- $this->SHPData['numpoints'] = $this->_loadData('V', 4);
-
- for ($i = 0; $i < $this->SHPData['numpoints']; ++$i) {
- $this->SHPData['points'][] = $this->_loadPoint();
- }
- }
-
- /**
- * @param string $type
- */
- private function _loadMultiPointMZRecord($type)
- {
- /* The m dimension is optional, depends on bounding box data */
- if ($type == 'm' && !$this->ShapeFile->hasMeasure()) {
- return;
- }
-
- $this->SHPData[$type . 'min'] = $this->_loadData('d', 8);
- $this->SHPData[$type . 'max'] = $this->_loadData('d', 8);
-
- for ($i = 0; $i < $this->SHPData['numpoints']; ++$i) {
- $this->SHPData['points'][$i][$type] = $this->_loadData('d', 8);
- }
- }
-
- private function _loadMultiPointMRecord()
- {
- $this->_loadMultiPointRecord();
-
- $this->_loadMultiPointMZRecord('m');
- }
-
- private function _loadMultiPointZRecord()
- {
- $this->_loadMultiPointRecord();
-
- $this->_loadMultiPointMZRecord('z');
- $this->_loadMultiPointMZRecord('m');
- }
-
- private function _saveMultiPointRecord()
- {
- fwrite($this->SHPFile, pack('dddd', $this->SHPData['xmin'], $this->SHPData['ymin'], $this->SHPData['xmax'], $this->SHPData['ymax']));
-
- fwrite($this->SHPFile, pack('V', $this->SHPData['numpoints']));
-
- for ($i = 0; $i < $this->SHPData['numpoints']; ++$i) {
- $this->_savePoint($this->SHPData['points'][$i]);
- }
- }
-
- /**
- * @param string $type
- */
- private function _saveMultiPointMZRecord($type)
- {
- fwrite($this->SHPFile, pack('dd', $this->SHPData[$type . 'min'], $this->SHPData[$type . 'max']));
-
- for ($i = 0; $i < $this->SHPData['numpoints']; ++$i) {
- fwrite($this->SHPFile, Util::packDouble($this->SHPData['points'][$i][$type]));
- }
- }
-
- private function _saveMultiPointMRecord()
- {
- $this->_saveMultiPointRecord();
-
- $this->_saveMultiPointMZRecord('m');
- }
-
- private function _saveMultiPointZRecord()
- {
- $this->_saveMultiPointRecord();
-
- $this->_saveMultiPointMZRecord('z');
- $this->_saveMultiPointMZRecord('m');
- }
-
- private function _loadPolyLineRecord()
- {
- $this->SHPData = array();
- $this->_loadBBox();
-
- $this->SHPData['numparts'] = $this->_loadData('V', 4);
- $this->SHPData['numpoints'] = $this->_loadData('V', 4);
-
- $numparts = $this->SHPData['numparts'];
- $numpoints = $this->SHPData['numpoints'];
-
- for ($i = 0; $i < $numparts; ++$i) {
- $this->SHPData['parts'][$i] = $this->_loadData('V', 4);
- }
-
- $part = 0;
- for ($i = 0; $i < $numpoints; ++$i) {
- if ($part + 1 < $numparts && $this->SHPData['parts'][$part + 1] == $i) {
- ++$part;
- }
- if (!isset($this->SHPData['parts'][$part]['points']) || !is_array($this->SHPData['parts'][$part]['points'])) {
- $this->SHPData['parts'][$part] = array('points' => array());
- }
- $this->SHPData['parts'][$part]['points'][] = $this->_loadPoint();
- }
- }
-
- /**
- * @param string $type
- */
- private function _loadPolyLineMZRecord($type)
- {
- /* The m dimension is optional, depends on bounding box data */
- if ($type == 'm' && !$this->ShapeFile->hasMeasure()) {
- return;
- }
-
- $this->SHPData[$type . 'min'] = $this->_loadData('d', 8);
- $this->SHPData[$type . 'max'] = $this->_loadData('d', 8);
-
- $numparts = $this->SHPData['numparts'];
- $numpoints = $this->SHPData['numpoints'];
-
- $part = 0;
- for ($i = 0; $i < $numpoints; ++$i) {
- if ($part + 1 < $numparts && $this->SHPData['parts'][$part + 1] == $i) {
- ++$part;
- }
- $this->SHPData['parts'][$part]['points'][$i][$type] = $this->_loadData('d', 8);
- }
- }
-
- private function _loadPolyLineMRecord()
- {
- $this->_loadPolyLineRecord();
-
- $this->_loadPolyLineMZRecord('m');
- }
-
- private function _loadPolyLineZRecord()
- {
- $this->_loadPolyLineRecord();
-
- $this->_loadPolyLineMZRecord('z');
- $this->_loadPolyLineMZRecord('m');
- }
-
- private function _savePolyLineRecord()
- {
- fwrite($this->SHPFile, pack('dddd', $this->SHPData['xmin'], $this->SHPData['ymin'], $this->SHPData['xmax'], $this->SHPData['ymax']));
-
- fwrite($this->SHPFile, pack('VV', $this->SHPData['numparts'], $this->SHPData['numpoints']));
-
- $part_index = 0;
- for ($i = 0; $i < $this->SHPData['numparts']; ++$i) {
- fwrite($this->SHPFile, pack('V', $part_index));
- $part_index += count($this->SHPData['parts'][$i]['points']);
- }
-
- foreach ($this->SHPData['parts'] as $partData) {
- foreach ($partData['points'] as $pointData) {
- $this->_savePoint($pointData);
- }
- }
- }
-
- /**
- * @param string $type
- */
- private function _savePolyLineMZRecord($type)
- {
- fwrite($this->SHPFile, pack('dd', $this->SHPData[$type . 'min'], $this->SHPData[$type . 'max']));
-
- foreach ($this->SHPData['parts'] as $partData) {
- foreach ($partData['points'] as $pointData) {
- fwrite($this->SHPFile, Util::packDouble($pointData[$type]));
- }
- }
- }
-
- private function _savePolyLineMRecord()
- {
- $this->_savePolyLineRecord();
-
- $this->_savePolyLineMZRecord('m');
- }
-
- private function _savePolyLineZRecord()
- {
- $this->_savePolyLineRecord();
-
- $this->_savePolyLineMZRecord('z');
- $this->_savePolyLineMZRecord('m');
- }
-
- private function _loadPolygonRecord()
- {
- $this->_loadPolyLineRecord();
- }
-
- private function _loadPolygonMRecord()
- {
- $this->_loadPolyLineMRecord();
- }
-
- private function _loadPolygonZRecord()
- {
- $this->_loadPolyLineZRecord();
- }
-
- private function _savePolygonRecord()
- {
- $this->_savePolyLineRecord();
- }
-
- private function _savePolygonMRecord()
- {
- $this->_savePolyLineMRecord();
- }
-
- private function _savePolygonZRecord()
- {
- $this->_savePolyLineZRecord();
- }
-
- private function _adjustBBox($point)
- {
- // Adjusts bounding box based on point
- $directions = array('x', 'y', 'z', 'm');
- foreach ($directions as $direction) {
- if (!isset($point[$direction])) {
- continue;
- }
- $min = $direction . 'min';
- $max = $direction . 'max';
- if (!isset($this->SHPData[$min]) || ($this->SHPData[$min] > $point[$direction])) {
- $this->SHPData[$min] = $point[$direction];
- }
- if (!isset($this->SHPData[$max]) || ($this->SHPData[$max] < $point[$direction])) {
- $this->SHPData[$max] = $point[$direction];
- }
- }
- }
-
- /**
- * Sets dimension to 0 if not set.
- *
- * @param array $point Point to check
- * @param string $dimension Dimension to check
- *
- * @return array
- */
- private function _fixPoint($point, $dimension)
- {
- if (!isset($point[$dimension])) {
- $point[$dimension] = 0.0; // no_value
- }
-
- return $point;
- }
-
- /**
- * Adjust point and bounding box when adding point.
- *
- * @param array $point Point data
- *
- * @return array Fixed point data
- */
- private function _adjustPoint($point)
- {
- $type = $this->shapeType / 10;
- if ($type >= 2) {
- $point = $this->_fixPoint($point, 'm');
- } elseif ($type >= 1) {
- $point = $this->_fixPoint($point, 'z');
- $point = $this->_fixPoint($point, 'm');
- }
-
- return $point;
- }
-
- /**
- * Adds point to a record.
- *
- * @param array $point Point data
- * @param int $partIndex Part index
- */
- public function addPoint($point, $partIndex = 0)
- {
- $point = $this->_adjustPoint($point);
- switch ($this->shapeType) {
- case 0:
- //Don't add anything
- return;
- case 1:
- case 11:
- case 21:
- //Substitutes the value of the current point
- $this->SHPData = $point;
- break;
- case 3:
- case 5:
- case 13:
- case 15:
- case 23:
- case 25:
- //Adds a new point to the selected part
- $this->SHPData['parts'][$partIndex]['points'][] = $point;
- $this->SHPData['numparts'] = count($this->SHPData['parts']);
- $this->SHPData['numpoints'] = 1 + (isset($this->SHPData['numpoints']) ? $this->SHPData['numpoints'] : 0);
- break;
- case 8:
- case 18:
- case 28:
- //Adds a new point
- $this->SHPData['points'][] = $point;
- $this->SHPData['numpoints'] = 1 + (isset($this->SHPData['numpoints']) ? $this->SHPData['numpoints'] : 0);
- break;
- default:
- $this->setError(sprintf('The Shape Type "%s" is not supported.', $this->shapeType));
-
- return;
- }
- $this->_adjustBBox($point);
- }
-
- /**
- * Deletes point from a record.
- *
- * @param int $pointIndex Point index
- * @param int $partIndex Part index
- */
- public function deletePoint($pointIndex = 0, $partIndex = 0)
- {
- switch ($this->shapeType) {
- case 0:
- //Don't delete anything
- break;
- case 1:
- case 11:
- case 21:
- //Sets the value of the point to zero
- $this->SHPData['x'] = 0.0;
- $this->SHPData['y'] = 0.0;
- if (in_array($this->shapeType, array(11, 21))) {
- $this->SHPData['m'] = 0.0;
- }
- if (in_array($this->shapeType, array(11))) {
- $this->SHPData['z'] = 0.0;
- }
- break;
- case 3:
- case 5:
- case 13:
- case 15:
- case 23:
- case 25:
- //Deletes the point from the selected part, if exists
- if (isset($this->SHPData['parts'][$partIndex]) && isset($this->SHPData['parts'][$partIndex]['points'][$pointIndex])) {
- $count = count($this->SHPData['parts'][$partIndex]['points']) - 1;
- for ($i = $pointIndex; $i < $count; ++$i) {
- $this->SHPData['parts'][$partIndex]['points'][$i] = $this->SHPData['parts'][$partIndex]['points'][$i + 1];
- }
- unset($this->SHPData['parts'][$partIndex]['points'][count($this->SHPData['parts'][$partIndex]['points']) - 1]);
-
- $this->SHPData['numparts'] = count($this->SHPData['parts']);
- --$this->SHPData['numpoints'];
- }
- break;
- case 8:
- case 18:
- case 28:
- //Deletes the point, if exists
- if (isset($this->SHPData['points'][$pointIndex])) {
- $count = count($this->SHPData['points']) - 1;
- for ($i = $pointIndex; $i < $count; ++$i) {
- $this->SHPData['points'][$i] = $this->SHPData['points'][$i + 1];
- }
- unset($this->SHPData['points'][count($this->SHPData['points']) - 1]);
-
- --$this->SHPData['numpoints'];
- }
- break;
- default:
- $this->setError(sprintf('The Shape Type "%s" is not supported.', $this->shapeType));
- break;
- }
- }
-
- /**
- * Returns length of content.
- *
- * @return int
- */
- public function getContentLength()
- {
- // The content length for a record is the length of the record contents section measured in 16-bit words.
- // one coordinate makes 4 16-bit words (64 bit double)
- switch ($this->shapeType) {
- case 0:
- $result = 0;
- break;
- case 1:
- $result = 10;
- break;
- case 21:
- $result = 10 + 4;
- break;
- case 11:
- $result = 10 + 8;
- break;
- case 3:
- case 5:
- $count = count($this->SHPData['parts']);
- $result = 22 + 2 * $count;
- for ($i = 0; $i < $count; ++$i) {
- $result += 8 * count($this->SHPData['parts'][$i]['points']);
- }
- break;
- case 23:
- case 25:
- $count = count($this->SHPData['parts']);
- $result = 22 + (2 * 4) + 2 * $count;
- for ($i = 0; $i < $count; ++$i) {
- $result += (8 + 4) * count($this->SHPData['parts'][$i]['points']);
- }
- break;
- case 13:
- case 15:
- $count = count($this->SHPData['parts']);
- $result = 22 + (4 * 4) + 2 * $count;
- for ($i = 0; $i < $count; ++$i) {
- $result += (8 + 8) * count($this->SHPData['parts'][$i]['points']);
- }
- break;
- case 8:
- $result = 20 + 8 * count($this->SHPData['points']);
- break;
- case 28:
- $result = 20 + (2 * 4) + (8 + 4) * count($this->SHPData['points']);
- break;
- case 18:
- $result = 20 + (4 * 4) + (8 + 8) * count($this->SHPData['points']);
- break;
- default:
- $result = false;
- $this->setError(sprintf('The Shape Type "%s" is not supported.', $this->shapeType));
- break;
- }
-
- return $result;
- }
-
- private function _loadDBFData()
- {
- $this->DBFData = @dbase_get_record_with_names($this->DBFFile, $this->recordNumber);
- unset($this->DBFData['deleted']);
- }
-
- private function _saveDBFData()
- {
- if (count($this->DBFData) == 0) {
- return;
- }
- unset($this->DBFData['deleted']);
- if ($this->recordNumber <= dbase_numrecords($this->DBFFile)) {
- if (!dbase_replace_record($this->DBFFile, array_values($this->DBFData), $this->recordNumber)) {
- $this->setError('I wasn\'t possible to update the information in the DBF file.');
- }
- } else {
- if (!dbase_add_record($this->DBFFile, array_values($this->DBFData))) {
- $this->setError('I wasn\'t possible to add the information to the DBF file.');
- }
- }
- }
-
- /**
- * Sets error message.
- *
- * @param string $error
- */
- public function setError($error)
- {
- $this->lastError = $error;
- }
-
- /**
- * Returns shape name.
- *
- * @return string
- */
- public function getShapeName()
- {
- return Util::nameShape($this->shapeType);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/Util.php b/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/Util.php
deleted file mode 100644
index f4e2878..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/shapefile/src/Util.php
+++ /dev/null
@@ -1,118 +0,0 @@
-.
- *
- * Copyright 2006-2007 Ovidio
- * Copyright 2016 - 2017 Michal Čihař
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, you can download one from
- * https://www.gnu.org/copyleft/gpl.html.
- */
-
-namespace PhpMyAdmin\ShapeFile;
-
-class Util
-{
- private static $little_endian = null;
-
- private static $shape_names = array(
- 0 => 'Null Shape',
- 1 => 'Point',
- 3 => 'PolyLine',
- 5 => 'Polygon',
- 8 => 'MultiPoint',
- 11 => 'PointZ',
- 13 => 'PolyLineZ',
- 15 => 'PolygonZ',
- 18 => 'MultiPointZ',
- 21 => 'PointM',
- 23 => 'PolyLineM',
- 25 => 'PolygonM',
- 28 => 'MultiPointM',
- 31 => 'MultiPatch',
- );
-
- /**
- * Reads data.
- *
- * @param string $type type for unpack()
- * @param string $data Data to process
- *
- * @return mixed
- */
- public static function loadData($type, $data)
- {
- if ($data === false || strlen($data) == 0) {
- return false;
- }
- $tmp = unpack($type, $data);
-
- return current($tmp);
- }
-
- /**
- * Changes endianity.
- *
- * @param string $binValue Binary value
- *
- * @return string
- */
- public static function swap($binValue)
- {
- $result = $binValue[strlen($binValue) - 1];
- for ($i = strlen($binValue) - 2; $i >= 0; --$i) {
- $result .= $binValue[$i];
- }
-
- return $result;
- }
-
- /**
- * Encodes double value to correct endianity.
- *
- * @param float $value Value to pack
- *
- * @return string
- */
- public static function packDouble($value)
- {
- $bin = pack('d', (float) $value);
-
- if (is_null(self::$little_endian)) {
- self::$little_endian = (pack('L', 1) == pack('V', 1));
- }
-
- if (self::$little_endian) {
- return $bin;
- }
-
- return self::swap($bin);
- }
-
- /**
- * Returns shape name.
- *
- * @param int $type
- *
- * @return string
- */
- public static function nameShape($type)
- {
- if (isset(self::$shape_names[$type])) {
- return self::$shape_names[$type];
- }
-
- return sprintf('Shape %d', $type);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/.github/stale.yml b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/.github/stale.yml
deleted file mode 100644
index 8ed0f30..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/.github/stale.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-# Configuration for probot-stale - https://github.com/probot/stale
-
-# Number of days of inactivity before an Issue or Pull Request becomes stale
-daysUntilStale: 60
-# Number of days of inactivity before a stale Issue or Pull Request is closed
-daysUntilClose: 7
-# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
-exemptLabels:
- - pinned
- - security
-# Label to use when marking as stale
-staleLabel: wontfix
-# Comment to post when marking as stale. Set to `false` to disable
-markComment: >
- This issue has been automatically marked as stale because it has not had
- recent activity. It will be closed if no further activity occurs. Thank you
- for your contributions.
-# Comment to post when removing the stale label. Set to `false` to disable
-unmarkComment: false
-# Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable
-closeComment: false
-# Limit to only `issues` or `pulls`
-only: pulls
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/.weblate b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/.weblate
deleted file mode 100644
index 62f698f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/.weblate
+++ /dev/null
@@ -1,3 +0,0 @@
-[weblate]
-url = https://hosted.weblate.org/api/
-translation = phpmyadmin/sql-parser
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CHANGELOG.md b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CHANGELOG.md
deleted file mode 100644
index 2648fa8..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CHANGELOG.md
+++ /dev/null
@@ -1,382 +0,0 @@
-# Change Log
-
-## [5.2.0] - 2020-01-07
-
-* Fix ALTER TABLE ... PRIMARY/UNIQUE KEY results in error (#267)
-* Prevent overwrite of offset in Limit clause by parenthesis (#275)
-* Allow SCHEMA to be used in CREATE Database statement (#231)
-* Add missing options in SET statement (#255)
-* Add support for DROP USER statement (#259)
-* Fix php error "undefined index" when replacing a non existing clause (#249)
-
-## [5.1.0] - 2019-11-12
-
-* Fix for PHP deprecations messages about implode for php 7.4+ (#258)
-* Parse CHECK keyword on table definition (#264)
-* Parse truncate statement (#221)
-* Fix wrong parsing of partitions (#265)
-
-## [5.0.0] - 2019-05-09
-
-* Drop support for PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, PHP 7.0 and HHVM
-* Enable strict mode on PHP files
-* Fix redundant whitespaces in build() outputs (#228)
-* Fix incorrect error on DEFAULT keyword in ALTER operation (#229)
-* Fix incorrect outputs from Query::getClause (#233)
-* Add support for reading an SQL file from stdin
-* Fix for missing tokenize-query in Composer's vendor/bin/ directory
-* Fix for PHP warnings with an incomplete CASE expression (#241)
-* Fix for error message with multiple CALL statements (#223)
-* Recognize the question mark character as a parameter (#242)
-
-## [4.4.0] - 2019-11-12
-
-* Fix for PHP deprecations messages about implode for php 7.4+ (#258)
-* Parse CHECK keyword on table definition (#264)
-* Parse truncate statement (#221)
-* Fix wrong parsing of partitions (#265)
-
-## [4.3.2] - 2019-06-03
-
-Backport fixes from 5.0.0 to QA branch:
-
-* Fix redundant whitespaces in build() outputs (#228)
-* Fix incorrect error on DEFAULT keyword in ALTER operation (#229)
-* Fix incorrect outputs from Query::getClause (#233)
-* Add support for reading an SQL file from stdin
-* Fix for missing tokenize-query in Composer's vendor/bin/ directory
-* Fix for PHP warnings with an incomplete CASE expression (#241)
-* Fix for error message with multiple CALL statements (#223)
-* Recognize the question mark character as a parameter (#242)
-
-## [4.3.1] - 2019-01-05
-
-* Fixed incorrect error thrown on DEFAULT keyword in ALTER statement (#218)
-
-## [4.3.0] - 2018-12-25
-
-* Add support for aliases on CASE expressions (#162 and #192)
-* Add support for INDEX hints in SELECT statement (#199)
-* Add support for LOCK and UNLOCK TABLES statement (#180)
-* Add detection of extraneous comma in UPDATE statement (#160)
-* Add detection of a missing comma between two ALTER operations (#189)
-* Add missing support for STRAIGHT_JOIN (#196)
-* Add support for end options in SET statement (#190)
-* Fix building of RENAME statements (#201)
-* Add support for PURGE statements (#207)
-* Add support for COLLATE keyword (#190)
-
-## [4.2.5] - 2018-10-31
-
-* Fix issue with CREATE OR REPLACE VIEW.
-
-## [4.2.4] - 2017-12-06
-
-* Fix parsing of CREATE TABLE with per field COLLATE.
-* Improved Context::loadClosest to better deal with corner cases.
-* Localizaton updates.
-
-## [4.2.3] - 2017-10-10
-
-* Make mbstring extension optional (though Symfony polyfill).
-* Fixed build CREATE TABLE query with PARTITIONS having ENGINE but not VALUES.
-
-## [4.2.2] - 2017-09-28
-
-* Added support for binding parameters.
-
-## [4.2.1] - 2017-09-08
-
-* Fixed minor bug in Query::getFlags.
-* Localizaton updates.
-
-## [4.2.0] - 2017-08-30
-
-* Initial support for MariaDB SQL contexts.
-* Add support for MariaDB 10.3 INTERSECT and EXCEPT.
-
-## [4.1.10] - 2017-08-21
-
-* Use custom LoaderException for context loading errors.
-
-## [4.1.9] - 2017-07-12
-
-* Various code cleanups.
-* Improved error handling of several invalid statements.
-
-## [4.1.8] - 2017-07-09
-
-* Fixed parsing SQL comment at the end of query.
-* Improved handing of non utf-8 strings.
-* Added query flag for SET queries.
-
-## [4.1.7] - 2017-06-06
-
-* Fixed setting combination SQL Modes.
-
-## [4.1.6] - 2017-06-01
-
-* Fixed building query with GROUP BY clause.
-
-## [4.1.5] - 2017-05-15
-
-* Fixed invalid lexing of queries with : in strings.
-* Properly handle maximal length of delimiter.
-
-## [4.1.4] - 2017-05-05
-
-* Fixed wrong extract of string tokens with escaped characters.
-* Properly handle lowercase begin statement.
-
-## [4.1.3] - 2017-04-06
-
-* Added support for DELETE ... JOIN clauses.
-* Changed BufferedQuery to include comments in output.
-* Fixed parsing of inline comments.
-
-## [4.1.2] - 2017-02-20
-
-* Coding style improvements.
-* Chinese localization.
-* Improved order validatin for JOIN clauses.
-* Improved pretty printing of JOIN clauses.
-* Added support for LOAD DATA statements.
-
-## [4.1.1] - 2017-02-07
-
-* Localization using phpmyadmin/motranslator is now optional.
-* Improved testsuite.
-* Better handling of non upper cased not reserved keywords.
-* Minor performance and coding style improvements.
-
-## [4.1.0] - 2017-01-23
-
-* Use phpmyadmin/motranslator to localize messages.
-
-## [4.0.1] - 2017-01-23
-
-* Fixed CLI wrappers for new API.
-* Fixed README for new API.
-
-## [4.0.0] - 2017-01-23
-
-* Added PhpMyAdmin namespace prefix to follow PSR-4.
-
-## [3.4.17] - 2017-01-20
-
-* Coding style fixes.
-* Fixed indentation in HTML formatting.
-* Fixed parsing of unterminated variables.
-* Improved comments lexing.
-
-## [3.4.16] - 2017-01-06
-
-* Coding style fixes.
-* Properly handle operators AND, NOT, OR, XOR, DIV, MOD
-
-## [3.4.15] - 2017-01-02
-
-* Fix return value of Formatter.toString() when type is text
-* Fix parsing of FIELDS and LINES options in SELECT..INTO
-* PHP 7.2 compatibility.
-* Better parameter passing to query formatter.
-
-## [3.4.14] - 2016-11-30
-
-* Improved parsing of UNION queries.
-* Recognize BINARY function.
-
-## [3.4.13] - 2016-11-15
-
-* Fix broken incorrect clause order detection for Joins.
-* Add parsing of end options in Select statements.
-
-## [3.4.12] - 2016-11-09
-
-* Added verification order of SELECT statement clauses.
-
-## [3.4.11] - 2016-10-25
-
-* Fixed parsing of ON UPDATE option in field definition of TIMESTAMP type with precision
-* Fixed parsing of NATURAL JOIN, CROSS JOIN and related joins.
-* Fixed parsing of BEGIN/END labels.
-
-## [3.4.10] - 2016-10-03
-
-* Fixed API regression on DELETE statement
-
-## [3.4.9] - 2016-10-03
-
-* Added support for CASE expressions
-* Support for parsing and building DELETE statement
-* Support for parsing subqueries in FROM clause
-
-## [3.4.8] - 2016-09-22
-
-* No change release to sync GitHub releases with Packagist
-
-## [3.4.7] - 2016-09-20
-
-* Fix parsing of DEFINER without backquotes
-* Fixed escaping HTML entities in HTML formatter
-* Fixed escaping of control chars in CLI formatter
-
-## [3.4.6] - 2016-09-13
-
-* Fix parsing of REPLACE INTO ...
-* Fix parsing of INSERT ... ON DUPLICATE KEY UPDATE ...
-* Extended testsuite
-* Re-enabled PHP 5.3 support
-
-## [3.4.5] - 2016-09-13
-
-* Fix parsing of INSERT...SELECT and INSERT...SET syntax
-* Fix parsing of CREATE TABLE ... PARTITION
-* Fix parsing of SET CHARACTER SET, CHARSET, NAMES
-* Add Support for 'CREATE TABLE `table_copy` LIKE `table`
-
-## [3.4.4] - 2016-04-26
-
-* Add support for FULL OUTER JOIN
-
-## [3.4.3] - 2016-04-19
-
-* Fix parsing of query with \
-
-## [3.4.2] - 2016-04-07
-
-* Recognize UNION DISTINCT
-* Recognize REGEXP and RLIKE operators
-
-## [3.4.1] - 2016-04-06
-
-* Add FULLTEXT and SPATIAL keywords
-* Properly parse CREATE TABLE [AS] SELECT
-* Fix parsing of table with DEFAULT and COMMENT
-
-## [3.4.0] - 2016-02-23
-
-* Fix parsing DEFAULT value on CREATE
-* Fix parsing of ALTER VIEW
-
-## [3.3.1] - 2016-02-12
-
-* Condition: Allow keyword `INTERVAL`.
-
-## [3.3.0] - 2016-02-12
-
-* Expression: Refactored parsing options.
-
-## [3.2.0] - 2016-02-11
-
-* Context: Added custom mode that avoids escaping when possible.
-
-## [3.1.0] - 2016-02-10
-
-* ArrayObj: Handle more complex expressions in arrays.
-* BufferedQuery: Backslashes in comments escaped characters in comments.
-* Condition: Allow `IF` in conditions.
-* Context: Add `;` as operator.
-* Context: Updated contexts to contain `BIT` data type.
-* CreateStatement: The `DEFAULT` option may be an expression.
-* DescribeStatement: Added `DESC` as alias for `DESCRIBE`.
-* Expression: Rewrote expression parsing.
-* Misc: Added PHPUnit's Code Coverage 3.0 as a dependency.
-* Misc: Added support for PHP 5.4 back.
-* Misc: Removed dependency to Ctype.
-* Misc: Repository transferred from @udan11 to @phpMyAdmin.
-* Misc: Updated `.gitignore` to ignore `composer.lock`.
-* Misc: Updated Composer and Travis configuration for PHP 7 and PHPUnit 5.
-* Tools: Documented tags in `ContextGenerator`.
-
-## [3.0.8] - 2015-12-18
-
-* Allow `NULL` in expressions.
-* Downgraded PHPUnit to 4.8. Removed old PHP versions.
-* Updated PHPUnit to 5.1 and fixed some of the tests.
-* Added `UNION ALL` as a type of `UNION`.
-* Expressions are permitted in `SET` operations.
-* Added `STRAIGHT_JOIN` as a known type of join.
-* Added missing definitions for `MATCH` and `AGAINST`.
-* Added missing statement (`FLUSH` and `DEALLOCATE`).
-
-## [3.0.7] - 2015-11-12
-
-* Expressions may begin with a function that is also a reserved keyword (e.g. `IF`).
-
-## [3.0.6] - 2015-11-12
-
-* Fixed a bug where formatter split the function name and the parameters list.
-
-## [3.0.5] - 2015-11-08
-
-* Add GRANT as known statement.
-* Use JOIN expressions for flag detection.
-* Fix the order of clauses in SELECT statements involving UNIONs.
-* Added dummy parsers for CREATE USER and SET PASSWORD statements.
-* Accept NOT operator in conditions.
-* Fixed DELIMITER statements in BufferedQuery.
-* Added INSERT statement builder.
-
-## [3.0.4] - 2015-10-21
-
-* Fix error message in `SqlParser\Components\OptionsArray`.
-
-## [3.0.3] - 2015-10-10
-
-* Avoid building a field multiple times if clause has synonyms.
-
-## [3.0.2] - 2015-10-10
-
-* Add EXISTS as an acceptable keyword in conditions.
-
-## [3.0.1] - 2015-10-06
-
-* Handle backslashes separately for `SqlParser\Utils\BufferedQuery`. Fixes a bug where backslashes in combination with strings weren't handled properly.
-
-## [3.0.0] - 2015-10-02
-
-__Breaking changes:__
-
-* `SqlParser\Components\Reference::$table` is now an instance of `SqlParser\Components\Expression` to support references from other tables.
-
-## [2.1.3] - 2015-10-02
-
-* Add definitions for all JOIN clauses.
-
-## [2.1.2] - 2015-10-02
-
-* Properly parse options when the value of the option is '='.
-
-## [2.1.1] - 2015-09-30
-
-* Only RANGE and LIST type partitions support VALUES.
-
-## [2.1.0] - 2015-09-30
-
-* Added utilities for handling tokens and tokens list.
-
-## [2.0.3] - 2015-09-30
-
-* Added missing NOT IN operator. This caused troubles when parsing conditions that contained the `NOT IN` operator.
-
-## [2.0.2] - 2015-09-30
-
-* Added support for `OUTER` as an optional keyword in joins.
-
-## [2.0.1] - 2015-09-30
-
-* Fixed a bug related to (sub)partitions options not being included in the built component. Also, the option `ENGINE` was unrecognized.
-
-## [2.0.0] - 2015-09-25
-
-* Better parsing for CREATE TABLE statements (related to breaking change 1).
-* Added support for JSON data type.
-* Refactoring and minor documentation improvements.
-
-__Breaking changes:__
-* `SqlParser\Components\Key::$columns` is now an array of arrays. Each array must contain a `name` key which represents the name of the column and an optional `length` key which represents the length of the column.
-
-## [1.0.0] - 2015-08-20
-
-* First release of this library.
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CODE_OF_CONDUCT.md b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CODE_OF_CONDUCT.md
deleted file mode 100644
index 4c40291..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, sex characteristics, gender identity and expression,
-level of experience, education, socio-economic status, nationality, personal
-appearance, race, religion, or sexual identity and orientation.
-
-## Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-* The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
-
-## Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-## Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at info@phpmyadmin.net. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
-
-[homepage]: https://www.contributor-covenant.org
-
-For answers to common questions about this code of conduct, see
-https://www.contributor-covenant.org/faq
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CONTRIBUTING.md b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CONTRIBUTING.md
deleted file mode 100644
index b05cad8..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/CONTRIBUTING.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# Contributing to SQL Parser
-
-## Reporting issues
-
-Our issue tracker is hosted at GitHub:
-
-https://github.com/phpmyadmin/sql-parser/issues
-
-Please search for existing issues before reporting new ones.
-
-## Working with Git checkout
-
-The dependencies are managed by Composer, to get them all installed (or update
-on consequent runs) do:
-
-```
-composer update
-```
-
-## Submitting patches
-
-Please submit your patches using GitHub pull requests, this allows us to review
-them and to run automated tests on the code.
-
-## Coding standards
-
-We do follow PSR-1 and PSR-2 coding standards.
-
-You can use phpcbf to fix the code to match our expectations:
-
-```
-./vendor/bin/phpcbf
-```
-
-## Testsuite
-
-Our code comes with quite comprehensive testsuite, it is automatically executed
-on every commit and pull request, you can also run it locally:
-
-```
-./vendor/bin/phpunit
-```
-
-The testsuite relies on fixtures of parser states, in case you need to
-regenerate some of these there are helper scripts in tools directory:
-
-```
-# Remove file you want to regenerate
-rm tests/data/parser/parse.out
-
-# Run the generator in the tools directory
-cd tools
-./run_generators.sh
-```
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/LICENSE.txt b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/LICENSE.txt
deleted file mode 100644
index d159169..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/LICENSE.txt
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/README.md b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/README.md
deleted file mode 100644
index 04ee442..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/README.md
+++ /dev/null
@@ -1,131 +0,0 @@
-# SQL Parser
-
-A validating SQL lexer and parser with a focus on MySQL dialect.
-
-## Code status
-
-[](https://travis-ci.org/phpmyadmin/sql-parser)
-[](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/?branch=master)
-[](https://codecov.io/github/phpmyadmin/sql-parser?branch=master)
-[](https://scrutinizer-ci.com/g/phpmyadmin/sql-parser/?branch=master)
-[](https://hosted.weblate.org/engage/phpmyadmin/?utm_source=widget)
-[](https://packagist.org/packages/phpmyadmin/sql-parser)
-[](https://www.codetriage.com/phpmyadmin/sql-parser)
-
-## Installation
-
-Please use [Composer][1] to install:
-
-```
-composer require phpmyadmin/sql-parser
-```
-
-## Documentation
-
-The API documentation is available at
-.
-
-## Usage
-
-### Command line utilities
-
-Command line utility to syntax highlight SQL query:
-
-```sh
-./vendor/bin/highlight-query --query "SELECT 1"
-```
-
-Command line utility to lint SQL query:
-
-```sh
-./vendor/bin/lint-query --query "SELECT 1"
-```
-
-Command line utility to tokenize SQL query:
-
-```sh
-./vendor/bin/tokenize-query --query "SELECT 1"
-```
-
-All commands are able to parse input from stdin (standard in), such as:
-
-```sh
-echo "SELECT 1" | ./vendor/bin/highlight-query
-cat example.sql | ./vendor/bin/lint-query
-```
-### Formatting SQL query
-
-```php
-echo PhpMyAdmin\SqlParser\Utils\Formatter::format($query, ['type' => 'html']);
-```
-
-### Discoverying query type
-
-```php
-use PhpMyAdmin\SqlParser\Parser;
-use PhpMyAdmin\SqlParser\Utils\Query;
-
-$query = 'OPTIMIZE TABLE tbl';
-$parser = new Parser($query);
-$flags = Query::getFlags($parser->statements[0]);
-
-echo $flags['querytype'];
-```
-
-### Parsing and building SQL query
-
-```php
-require __DIR__."/vendor/autoload.php";
-
-$query1 = "select * from a";
-$parser = new PhpMyAdmin\SqlParser\Parser($query1);
-
-// inspect query
-var_dump($parser->statements[0]); // outputs object(PhpMyAdmin\SqlParser\Statements\SelectStatement)
-
-// modify query by replacing table a with table b
-$table2 = new \PhpMyAdmin\SqlParser\Components\Expression("", "b", "", "");
-$parser->statements[0]->from[0] = $table2;
-
-// build query again from an array of object(PhpMyAdmin\SqlParser\Statements\SelectStatement) to a string
-$statement = $parser->statements[0];
-$query2 = $statement->build();
-var_dump($query2); // outputs string(19) "SELECT * FROM `b` "
-
-// Change SQL mode
-PhpMyAdmin\SqlParser\Context::setMode('ANSI_QUOTES');
-
-// build the query again using different quotes
-$query2 = $statement->build();
-var_dump($query2); // outputs string(19) "SELECT * FROM "b" "
-```
-
-## Localization
-
-You can localize error messages installing `phpmyadmin/motranslator` version `3.0` or newer:
-```sh
-composer require phpmyadmin/motranslator:^3.0
-```
-
-The locale is automatically detected from your enrivonment, you can also set a different locale
-
-**From cli**:
-```sh
-LC_ALL=pl ./vendor/bin/lint-query --query "SELECT 1"
-```
-
-**From php**:
-```php
-require __DIR__."/vendor/autoload.php";
-
-$GLOBALS['lang'] = 'pl';
-
-$query1 = "select * from a";
-$parser = new PhpMyAdmin\SqlParser\Parser($query1);
-```
-
-## More information
-
-This library was originally created during the Google Summer of Code 2015 and has been used by phpMyAdmin since version 4.5.
-
-[1]:https://getcomposer.org/
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/highlight-query b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/highlight-query
deleted file mode 100755
index 53d380f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/highlight-query
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env php
-runHighlight());
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/lint-query b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/lint-query
deleted file mode 100755
index 1fe12f2..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/lint-query
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env php
-runLint());
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/tokenize-query b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/tokenize-query
deleted file mode 100755
index e1a55f6..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/bin/tokenize-query
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env php
-runTokenize());
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/codecov.yml b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/codecov.yml
deleted file mode 100644
index 99d09da..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/codecov.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-comment:
- layout: header, changes, diff
-coverage: {}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/composer.json b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/composer.json
deleted file mode 100644
index 51a13f6..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/composer.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "phpmyadmin/sql-parser",
- "description": "A validating SQL lexer and parser with a focus on MySQL dialect.",
- "license": "GPL-2.0-or-later",
- "keywords": ["sql", "lexer", "parser", "analysis"],
- "homepage": "https://github.com/phpmyadmin/sql-parser",
- "authors": [
- {
- "name": "The phpMyAdmin Team",
- "email": "developers@phpmyadmin.net",
- "homepage": "https://www.phpmyadmin.net/team/"
- }
- ],
- "support": {
- "issues": "https://github.com/phpmyadmin/sql-parser/issues",
- "source": "https://github.com/phpmyadmin/sql-parser"
- },
- "require": {
- "php": "^7.1",
- "symfony/polyfill-mbstring": "^1.3"
- },
- "require-dev": {
- "phpmyadmin/coding-standard": "^1.0",
- "phpmyadmin/motranslator": "^4.0",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12.3",
- "phpstan/phpstan-phpunit": "^0.12.1",
- "phpunit/php-code-coverage": "*",
- "phpunit/phpunit": "^7.4 || ^8"
- },
- "conflict": {
- "phpmyadmin/motranslator": "<3.0"
- },
- "suggest": {
- "ext-mbstring": "For best performance",
- "phpmyadmin/motranslator": "Translate messages to your favorite locale"
- },
- "bin": [
- "bin/highlight-query",
- "bin/lint-query",
- "bin/tokenize-query"
- ],
- "autoload": {
- "psr-4": {
- "PhpMyAdmin\\SqlParser\\": "src"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "PhpMyAdmin\\SqlParser\\Tests\\": "tests"
- }
- },
- "config":{
- "sort-packages": true
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/af/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/af/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 51f466c..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/af/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ar/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ar/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 71c7686..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ar/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ast/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ast/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index a4ef8de..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ast/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/az/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/az/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 013c273..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/az/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/be/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/be/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 08adf11..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/be/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/be@latin/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/be@latin/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index f985708..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/be@latin/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 2201811..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bg/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 30c0d62..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bn/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/br/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/br/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 1efc086..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/br/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/brx/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/brx/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 5cee1dd..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/brx/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bs/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bs/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 831fa44..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/bs/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ca/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ca/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 4df19d2..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ca/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 3ea16c3..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ckb/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index d90e509..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/cs/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index b57e1d0..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/cy/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/da/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/da/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 6332c56..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/da/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/de/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/de/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index bc7e60a..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/de/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/el/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/el/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 8a6ceb3..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/el/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/en_GB/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/en_GB/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 40ba959..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/en_GB/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/eo/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/eo/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 3f4f65a..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/eo/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/es/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/es/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index aec2a26..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/es/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/et/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/et/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 45098b2..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/et/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 831ffa8..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/eu/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fa/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fa/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index acc1cdb..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fa/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fi/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fi/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index fa60e3e..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fi/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fr/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fr/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index f348d3e..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fr/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fy/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fy/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 94ab1f1..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/fy/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/gl/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/gl/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 80242e2..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/gl/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 84b897d..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/gu/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/he/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/he/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 2fda426..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/he/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hi/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hi/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 781fe5e..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hi/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 265163f..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hr/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 27db8b5..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hu/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index ba09bc9..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/hy/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index acfca6f..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ia/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/id/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/id/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index ca04a13..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/id/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/it/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/it/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 05b2da8..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/it/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 836f25d..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ja/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ka/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ka/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 67b95ea..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ka/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/kk/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/kk/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 86d6c2e..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/kk/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/km/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/km/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 0701c80..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/km/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 6ff4ed9..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/kn/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ko/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ko/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 0eefb17..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ko/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 3d6d131..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ksh/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index e455f0a..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ky/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/li/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/li/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 487866f..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/li/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/lt/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/lt/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 5d19aea..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/lt/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index f288727..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/lv/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/mk/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/mk/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index e622229..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/mk/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 5fb194e..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ml/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index d38bdc1..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/mn/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 87965e1..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ms/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index ec0c1c6..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/nb/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index fae4322..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ne/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index b002cfd..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/nl/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index dfa4270..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pa/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pl/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pl/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index ba6d7f7..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pl/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index d540173..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pt/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pt_BR/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pt_BR/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 8a05f24..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/pt_BR/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ro/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ro/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 9cf4b16..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ro/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 550cd11..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ru/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/si/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/si/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index ce5d946..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/si/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index eb55db6..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sk/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sl/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sl/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 9f2f909..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sl/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 06e2f54..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sq/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot
deleted file mode 100644
index 0d1e1e2..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sqlparser.pot
+++ /dev/null
@@ -1,217 +0,0 @@
-# phpMyAdmin SQL parser translation.
-# Copyright (C) 2015 - 2017 phpMyAdmin devel team
-# This file is distributed under the same license as the SQL parser package.
-# FIRST AUTHOR , YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: SQL parser 0\n"
-"Report-Msgid-Bugs-To: translators@phpmyadmin.net\n"
-"POT-Creation-Date: 2017-08-21 12:54+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: LANGUAGE \n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src/Component.php:43 src/Component.php:63
-msgid "Not implemented yet."
-msgstr ""
-
-#: src/Components/AlterOperation.php:241 src/Statement.php:334
-msgid ""
-"A new statement was found, but no delimiter between it and the previous one."
-msgstr ""
-
-#: src/Components/AlterOperation.php:253
-msgid "Unrecognized alter operation."
-msgstr ""
-
-#: src/Components/Array2d.php:88
-#, php-format
-msgid "%1$d values were expected, but found %2$d."
-msgstr ""
-
-#: src/Components/Array2d.php:111
-msgid "An opening bracket followed by a set of values was expected."
-msgstr ""
-
-#: src/Components/ArrayObj.php:114 src/Components/CreateDefinition.php:201
-msgid "An opening bracket was expected."
-msgstr ""
-
-#: src/Components/CaseExpression.php:135 src/Components/CaseExpression.php:164
-#: src/Components/CaseExpression.php:176 src/Components/CaseExpression.php:190
-#: src/Statements/DeleteStatement.php:227
-#: src/Statements/DeleteStatement.php:244
-#: src/Statements/DeleteStatement.php:292
-#: src/Statements/DeleteStatement.php:303
-#: src/Statements/DeleteStatement.php:333
-#: src/Statements/DeleteStatement.php:344
-#: src/Statements/InsertStatement.php:189
-#: src/Statements/InsertStatement.php:217 src/Statements/LoadStatement.php:258
-#: src/Statements/ReplaceStatement.php:155
-#: src/Statements/ReplaceStatement.php:182
-msgid "Unexpected keyword."
-msgstr ""
-
-#: src/Components/CaseExpression.php:199
-msgid "Unexpected end of CASE expression"
-msgstr ""
-
-#: src/Components/CreateDefinition.php:223
-msgid ""
-"A symbol name was expected! A reserved keyword can not be used as a column "
-"name without backquotes."
-msgstr ""
-
-#: src/Components/CreateDefinition.php:237
-msgid "A symbol name was expected!"
-msgstr ""
-
-#: src/Components/CreateDefinition.php:270
-msgid "A comma or a closing bracket was expected."
-msgstr ""
-
-#: src/Components/CreateDefinition.php:286
-msgid "A closing bracket was expected."
-msgstr ""
-
-#: src/Components/DataType.php:123
-msgid "Unrecognized data type."
-msgstr ""
-
-#: src/Components/Expression.php:244 src/Components/Expression.php:394
-msgid "An alias was expected."
-msgstr ""
-
-#: src/Components/Expression.php:332 src/Components/Expression.php:351
-#: src/Components/Expression.php:383
-msgid "An alias was previously found."
-msgstr ""
-
-#: src/Components/Expression.php:364
-msgid "Unexpected dot."
-msgstr ""
-
-#: src/Components/ExpressionArray.php:102
-msgid "An expression was expected."
-msgstr ""
-
-#: src/Components/Limit.php:86 src/Components/Limit.php:108
-msgid "An offset was expected."
-msgstr ""
-
-#: src/Components/OptionsArray.php:143
-#, php-format
-msgid "This option conflicts with \"%1$s\"."
-msgstr ""
-
-#: src/Components/RenameOperation.php:109
-msgid "The old name of the table was expected."
-msgstr ""
-
-#: src/Components/RenameOperation.php:119
-msgid "Keyword \"TO\" was expected."
-msgstr ""
-
-#: src/Components/RenameOperation.php:135
-msgid "The new name of the table was expected."
-msgstr ""
-
-#: src/Components/RenameOperation.php:153
-msgid "A rename operation was expected."
-msgstr ""
-
-#: src/Components/SetOperation.php:117
-msgid "Missing expression."
-msgstr ""
-
-#: src/Lexer.php:237
-msgid "Unexpected character."
-msgstr ""
-
-#: src/Lexer.php:278
-msgid "Expected whitespace(s) before delimiter."
-msgstr ""
-
-#: src/Lexer.php:296 src/Lexer.php:314
-msgid "Expected delimiter."
-msgstr ""
-
-#: src/Lexer.php:843
-#, php-format
-msgid "Ending quote %1$s was expected."
-msgstr ""
-
-#: src/Lexer.php:884
-msgid "Variable name was expected."
-msgstr ""
-
-#: src/Parser.php:423
-msgid "Unexpected beginning of statement."
-msgstr ""
-
-#: src/Parser.php:442
-msgid "Unrecognized statement type."
-msgstr ""
-
-#: src/Parser.php:527
-msgid "No transaction was previously started."
-msgstr ""
-
-#: src/Statement.php:242 src/Statements/DeleteStatement.php:254
-#: src/Statements/DeleteStatement.php:306
-#: src/Statements/InsertStatement.php:226
-#: src/Statements/InsertStatement.php:246 src/Statements/LoadStatement.php:261
-#: src/Statements/LoadStatement.php:291 src/Statements/LoadStatement.php:310
-#: src/Statements/ReplaceStatement.php:190
-msgid "Unexpected token."
-msgstr ""
-
-#: src/Statement.php:306
-msgid "This type of clause was previously parsed."
-msgstr ""
-
-#: src/Statement.php:366
-msgid "Unrecognized keyword."
-msgstr ""
-
-#: src/Statement.php:377
-msgid "Keyword at end of statement."
-msgstr ""
-
-#: src/Statement.php:503
-msgid "Unexpected ordering of clauses."
-msgstr ""
-
-#: src/Statements/CreateStatement.php:375
-msgid "The name of the entity was expected."
-msgstr ""
-
-#: src/Statements/CreateStatement.php:430
-msgid "A table name was expected."
-msgstr ""
-
-#: src/Statements/CreateStatement.php:438
-msgid "At least one column definition was expected."
-msgstr ""
-
-#: src/Statements/CreateStatement.php:550
-msgid "A \"RETURNS\" keyword was expected."
-msgstr ""
-
-#: src/Statements/DeleteStatement.php:314
-msgid "This type of clause is not valid in Multi-table queries."
-msgstr ""
-
-#: tests/Lexer/LexerTest.php:19 tests/Parser/ParserTest.php:58
-msgid "error #1"
-msgstr ""
-
-#: tests/Lexer/LexerTest.php:46 tests/Parser/ParserTest.php:80
-msgid "strict error"
-msgstr ""
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 815f3d4..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sr/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sr@latin/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sr@latin/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index a9592f7..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sr@latin/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index d0b01c1..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/sv/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 406863d..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ta/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/te/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/te/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 7ca8ae7..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/te/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/th/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/th/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 0e1293c..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/th/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 91144a3..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tk/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tr/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tr/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index c684db5..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tr/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index ccddede..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/tt/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index d8bd2e8..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ug/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uk/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uk/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 0503299..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uk/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ur/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ur/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 81aea0b..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/ur/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 9f13bd4..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uz/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uz@latin/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uz@latin/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index ddb2b40..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/uz@latin/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/vi/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/vi/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index cf65110..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/vi/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 30fcbed..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/vls/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/zh_CN/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/zh_CN/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index 700ea4a..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/zh_CN/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/zh_TW/LC_MESSAGES/sqlparser.mo b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/zh_TW/LC_MESSAGES/sqlparser.mo
deleted file mode 100644
index ebe8e5c..0000000
Binary files a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/locale/zh_TW/LC_MESSAGES/sqlparser.mo and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpcs.xml.dist b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpcs.xml.dist
deleted file mode 100644
index 81b5c0c..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpcs.xml.dist
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
-
-
- */src/Contexts/*
-
-
-
- 4
-
-
- 4
-
-
- 4
-
-
- 4
-
-
-
-
-
-
- */tools/sami-config.php
-
- src
- tests
- tools
-
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpstan.neon.dist b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpstan.neon.dist
deleted file mode 100644
index 9fc98c0..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpstan.neon.dist
+++ /dev/null
@@ -1,10 +0,0 @@
-parameters:
- level: 2
- paths:
- - src
- - tests
- - bin
- reportUnmatchedIgnoredErrors: true
- inferPrivatePropertyTypeFromConstructor: true
- ignoreErrors:
- - '#Unsafe usage of new static\(\)\.#'
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpunit.xml.dist b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpunit.xml.dist
deleted file mode 100644
index 36faf50..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/phpunit.xml.dist
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
- ./tests/Builder
-
-
- ./tests/Components
-
-
- ./tests/Lexer
-
-
- ./tests/Misc
-
-
- ./tests/Parser
-
-
- ./tests/Utils
-
-
-
-
- src/
-
-
-
-
-
-
-
-
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Component.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Component.php
deleted file mode 100644
index 656d318..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Component.php
+++ /dev/null
@@ -1,75 +0,0 @@
- [
- 1,
- 'var',
- ],
- 'CHARSET' => [
- 1,
- 'var',
- ],
- 'DEFAULT CHARACTER SET' => [
- 1,
- 'var',
- ],
- 'DEFAULT CHARSET' => [
- 1,
- 'var',
- ],
- 'UPGRADE' => [
- 1,
- 'var',
- ],
- 'COLLATE' => [
- 2,
- 'var',
- ],
- 'DEFAULT COLLATE' => [
- 2,
- 'var',
- ],
- ];
-
- /**
- * All table options.
- *
- * @var array
- */
- public static $TABLE_OPTIONS = [
- 'ENGINE' => [
- 1,
- 'var=',
- ],
- 'AUTO_INCREMENT' => [
- 1,
- 'var=',
- ],
- 'AVG_ROW_LENGTH' => [
- 1,
- 'var',
- ],
- 'MAX_ROWS' => [
- 1,
- 'var',
- ],
- 'ROW_FORMAT' => [
- 1,
- 'var',
- ],
- 'COMMENT' => [
- 1,
- 'var',
- ],
- 'ADD' => 1,
- 'ALTER' => 1,
- 'ANALYZE' => 1,
- 'CHANGE' => 1,
- 'CHECK' => 1,
- 'COALESCE' => 1,
- 'CONVERT' => 1,
- 'DISABLE' => 1,
- 'DISCARD' => 1,
- 'DROP' => 1,
- 'ENABLE' => 1,
- 'IMPORT' => 1,
- 'MODIFY' => 1,
- 'OPTIMIZE' => 1,
- 'ORDER' => 1,
- 'PARTITION' => 1,
- 'REBUILD' => 1,
- 'REMOVE' => 1,
- 'RENAME' => 1,
- 'REORGANIZE' => 1,
- 'REPAIR' => 1,
- 'UPGRADE' => 1,
-
- 'COLUMN' => 2,
- 'CONSTRAINT' => 2,
- 'DEFAULT' => 2,
- 'TO' => 2,
- 'BY' => 2,
- 'FOREIGN' => 2,
- 'FULLTEXT' => 2,
- 'KEY' => 2,
- 'KEYS' => 2,
- 'PARTITIONING' => 2,
- 'PRIMARY KEY' => 2,
- 'SPATIAL' => 2,
- 'TABLESPACE' => 2,
- 'INDEX' => 2,
- ];
-
- /**
- * All view options.
- *
- * @var array
- */
- public static $VIEW_OPTIONS = [
- 'AS' => 1,
- ];
-
- /**
- * Options of this operation.
- *
- * @var OptionsArray
- */
- public $options;
-
- /**
- * The altered field.
- *
- * @var Expression
- */
- public $field;
-
- /**
- * Unparsed tokens.
- *
- * @var Token[]|string
- */
- public $unknown = [];
-
- /**
- * @param OptionsArray $options options of alter operation
- * @param Expression $field altered field
- * @param array $unknown unparsed tokens found at the end of operation
- */
- public function __construct(
- $options = null,
- $field = null,
- $unknown = []
- ) {
- $this->options = $options;
- $this->field = $field;
- $this->unknown = $unknown;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return AlterOperation
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * Counts brackets.
- *
- * @var int
- */
- $brackets = 0;
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------------[ options ]---------------------> 1
- *
- * 1 ----------------------[ field ]----------------------> 2
- *
- * 2 -------------------------[ , ]-----------------------> 0
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping comments.
- if ($token->type === Token::TYPE_COMMENT) {
- continue;
- }
-
- // Skipping whitespaces.
- if ($token->type === Token::TYPE_WHITESPACE) {
- if ($state === 2) {
- // When parsing the unknown part, the whitespaces are
- // included to not break anything.
- $ret->unknown[] = $token;
- }
- continue;
- }
-
- if ($state === 0) {
- $ret->options = OptionsArray::parse($parser, $list, $options);
-
- if ($ret->options->has('AS')) {
- for (; $list->idx < $list->count; ++$list->idx) {
- if ($list->tokens[$list->idx]->type === Token::TYPE_DELIMITER) {
- break;
- }
- $ret->unknown[] = $list->tokens[$list->idx];
- }
- break;
- }
-
- $state = 1;
- } elseif ($state === 1) {
- $ret->field = Expression::parse(
- $parser,
- $list,
- [
- 'breakOnAlias' => true,
- 'parseField' => 'column',
- ]
- );
- if ($ret->field === null) {
- // No field was read. We go back one token so the next
- // iteration will parse the same token, but in state 2.
- --$list->idx;
- }
- $state = 2;
- } elseif ($state === 2) {
- if ($token->type === Token::TYPE_OPERATOR) {
- if ($token->value === '(') {
- ++$brackets;
- } elseif ($token->value === ')') {
- --$brackets;
- } elseif (($token->value === ',') && ($brackets === 0)) {
- break;
- }
- } elseif (! empty(Parser::$STATEMENT_PARSERS[$token->value])) {
- // We have reached the end of ALTER operation and suddenly found
- // a start to new statement, but have not find a delimiter between them
-
- if (! ($token->value === 'SET' && $list->tokens[$list->idx - 1]->value === 'CHARACTER')) {
- $parser->error(
- 'A new statement was found, but no delimiter between it and the previous one.',
- $token
- );
- break;
- }
- } elseif ((array_key_exists($token->value, self::$DB_OPTIONS)
- || array_key_exists($token->value, self::$TABLE_OPTIONS))
- && ! self::checkIfColumnDefinitionKeyword($token->value)
- ) {
- // This alter operation has finished, which means a comma was missing before start of new alter operation
- $parser->error(
- 'Missing comma before start of a new alter operation.',
- $token
- );
- break;
- }
- $ret->unknown[] = $token;
- }
- }
-
- if ($ret->options->isEmpty()) {
- $parser->error(
- 'Unrecognized alter operation.',
- $list->tokens[$list->idx]
- );
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param AlterOperation $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- $ret = $component->options . ' ';
- if (isset($component->field) && ($component->field !== '')) {
- $ret .= $component->field . ' ';
- }
- $ret .= TokensList::build($component->unknown);
-
- return $ret;
- }
-
- /**
- * Check if token's value is one of the common keywords
- * between column and table alteration
- *
- * @param string $tokenValue Value of current token
- *
- * @return bool
- */
- private static function checkIfColumnDefinitionKeyword($tokenValue)
- {
- $common_options = [
- 'AUTO_INCREMENT',
- 'COMMENT',
- 'DEFAULT',
- 'CHARACTER SET',
- 'COLLATE',
- 'PRIMARY',
- 'UNIQUE',
- 'PRIMARY KEY',
- 'UNIQUE KEY',
- ];
- // Since these options can be used for
- // both table as well as a specific column in the table
- return in_array($tokenValue, $common_options);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Array2d.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Array2d.php
deleted file mode 100644
index 1ae5c30..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Array2d.php
+++ /dev/null
@@ -1,127 +0,0 @@
- 1
- *
- * 1 ------------------------[ , ]------------------------> 0
- * 1 -----------------------[ else ]----------------------> (END)
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- // No keyword is expected.
- if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) {
- break;
- }
-
- if ($state === 0) {
- if ($token->value === '(') {
- $arr = ArrayObj::parse($parser, $list, $options);
- $arrCount = count($arr->values);
- if ($count === -1) {
- $count = $arrCount;
- } elseif ($arrCount !== $count) {
- $parser->error(
- sprintf(
- Translator::gettext('%1$d values were expected, but found %2$d.'),
- $count,
- $arrCount
- ),
- $token
- );
- }
- $ret[] = $arr;
- $state = 1;
- } else {
- break;
- }
- } elseif ($state === 1) {
- if ($token->value === ',') {
- $state = 0;
- } else {
- break;
- }
- }
- }
-
- if ($state === 0) {
- $parser->error(
- 'An opening bracket followed by a set of values was expected.',
- $list->tokens[$list->idx]
- );
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param ArrayObj[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- return ArrayObj::build($component);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ArrayObj.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ArrayObj.php
deleted file mode 100644
index ab1ad61..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ArrayObj.php
+++ /dev/null
@@ -1,182 +0,0 @@
-raw = $raw;
- $this->values = $values;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return ArrayObj|Component[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = empty($options['type']) ? new static() : [];
-
- /**
- * The last raw expression.
- *
- * @var string
- */
- $lastRaw = '';
-
- /**
- * The last value.
- *
- * @var string
- */
- $lastValue = '';
-
- /**
- * Counts brackets.
- *
- * @var int
- */
- $brackets = 0;
-
- /**
- * Last separator (bracket or comma).
- *
- * @var bool
- */
- $isCommaLast = false;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE)
- || ($token->type === Token::TYPE_COMMENT)
- ) {
- $lastRaw .= $token->token;
- $lastValue = trim($lastValue) . ' ';
- continue;
- }
-
- if (($brackets === 0)
- && (($token->type !== Token::TYPE_OPERATOR)
- || ($token->value !== '('))
- ) {
- $parser->error('An opening bracket was expected.', $token);
- break;
- }
-
- if ($token->type === Token::TYPE_OPERATOR) {
- if ($token->value === '(') {
- if (++$brackets === 1) { // 1 is the base level.
- continue;
- }
- } elseif ($token->value === ')') {
- if (--$brackets === 0) { // Array ended.
- break;
- }
- } elseif ($token->value === ',') {
- if ($brackets === 1) {
- $isCommaLast = true;
- if (empty($options['type'])) {
- $ret->raw[] = trim($lastRaw);
- $ret->values[] = trim($lastValue);
- $lastRaw = $lastValue = '';
- }
- }
- continue;
- }
- }
-
- if (empty($options['type'])) {
- $lastRaw .= $token->token;
- $lastValue .= $token->value;
- } else {
- $ret[] = $options['type']::parse(
- $parser,
- $list,
- empty($options['typeOptions']) ? [] : $options['typeOptions']
- );
- }
- }
-
- // Handling last element.
- //
- // This is treated differently to treat the following cases:
- //
- // => []
- // [,] => ['', '']
- // [] => []
- // [a,] => ['a', '']
- // [a] => ['a']
- $lastRaw = trim($lastRaw);
- if (empty($options['type'])
- && ((strlen($lastRaw) > 0) || ($isCommaLast))
- ) {
- $ret->raw[] = $lastRaw;
- $ret->values[] = trim($lastValue);
- }
-
- return $ret;
- }
-
- /**
- * @param ArrayObj|ArrayObj[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(', ', $component);
- } elseif (! empty($component->raw)) {
- return '(' . implode(', ', $component->raw) . ')';
- }
-
- return '(' . implode(', ', $component->values) . ')';
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/CaseExpression.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/CaseExpression.php
deleted file mode 100644
index 26c044f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/CaseExpression.php
+++ /dev/null
@@ -1,307 +0,0 @@
-idx; // Skip 'CASE'
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE)
- || ($token->type === Token::TYPE_COMMENT)
- ) {
- continue;
- }
-
- if ($state === 0) {
- if ($token->type === Token::TYPE_KEYWORD) {
- switch ($token->keyword) {
- case 'WHEN':
- ++$list->idx; // Skip 'WHEN'
- $new_condition = Condition::parse($parser, $list);
- $type = 1;
- $state = 1;
- $ret->conditions[] = $new_condition;
- break;
- case 'ELSE':
- ++$list->idx; // Skip 'ELSE'
- $ret->else_result = Expression::parse($parser, $list);
- $state = 0; // last clause of CASE expression
- break;
- case 'END':
- $state = 3; // end of CASE expression
- ++$list->idx;
- break 2;
- default:
- $parser->error('Unexpected keyword.', $token);
- break 2;
- }
- } else {
- $ret->value = Expression::parse($parser, $list);
- $type = 0;
- $state = 1;
- }
- } elseif ($state === 1) {
- if ($type === 0) {
- if ($token->type === Token::TYPE_KEYWORD) {
- switch ($token->keyword) {
- case 'WHEN':
- ++$list->idx; // Skip 'WHEN'
- $new_value = Expression::parse($parser, $list);
- $state = 2;
- $ret->compare_values[] = $new_value;
- break;
- case 'ELSE':
- ++$list->idx; // Skip 'ELSE'
- $ret->else_result = Expression::parse($parser, $list);
- $state = 0; // last clause of CASE expression
- break;
- case 'END':
- $state = 3; // end of CASE expression
- ++$list->idx;
- break 2;
- default:
- $parser->error('Unexpected keyword.', $token);
- break 2;
- }
- }
- } else {
- if ($token->type === Token::TYPE_KEYWORD
- && $token->keyword === 'THEN'
- ) {
- ++$list->idx; // Skip 'THEN'
- $new_result = Expression::parse($parser, $list);
- $state = 0;
- $ret->results[] = $new_result;
- } elseif ($token->type === Token::TYPE_KEYWORD) {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- }
- } elseif ($state === 2) {
- if ($type === 0) {
- if ($token->type === Token::TYPE_KEYWORD
- && $token->keyword === 'THEN'
- ) {
- ++$list->idx; // Skip 'THEN'
- $new_result = Expression::parse($parser, $list);
- $ret->results[] = $new_result;
- $state = 1;
- } elseif ($token->type === Token::TYPE_KEYWORD) {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- }
- }
- }
-
- if ($state !== 3) {
- $parser->error(
- 'Unexpected end of CASE expression',
- $list->tokens[$list->idx - 1]
- );
- } else {
- // Parse for alias of CASE expression
- $asFound = false;
- for (; $list->idx < $list->count; ++$list->idx) {
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE)
- || ($token->type === Token::TYPE_COMMENT)
- ) {
- continue;
- }
-
- // Handle optional AS keyword before alias
- if ($token->type === Token::TYPE_KEYWORD
- && $token->keyword === 'AS') {
- if ($asFound || ! empty($ret->alias)) {
- $parser->error('Potential duplicate alias of CASE expression.', $token);
- break;
- }
- $asFound = true;
- continue;
- }
-
- if ($asFound
- && $token->type === Token::TYPE_KEYWORD
- && ($token->flags & Token::FLAG_KEYWORD_RESERVED || $token->flags & Token::FLAG_KEYWORD_FUNCTION)) {
- $parser->error('An alias expected after AS but got ' . $token->value, $token);
- $asFound = false;
- break;
- }
-
- if ($asFound
- || $token->type === Token::TYPE_STRING
- || ($token->type === Token::TYPE_SYMBOL && ! $token->flags & Token::FLAG_SYMBOL_VARIABLE)
- || $token->type === Token::TYPE_NONE
- ) {
- // An alias is expected (the keyword `AS` was previously found).
- if (! empty($ret->alias)) {
- $parser->error('An alias was previously found.', $token);
- break;
- }
- $ret->alias = $token->value;
- $asFound = false;
-
- continue;
- }
-
- break;
- }
- if ($asFound) {
- $parser->error('An alias was expected after AS.', $list->tokens[$list->idx - 1]);
- }
-
- $ret->expr = self::build($ret);
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param CaseExpression $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- $ret = 'CASE ';
- if (isset($component->value)) {
- // Syntax type 0
- $ret .= $component->value . ' ';
- $val_cnt = count($component->compare_values);
- $res_cnt = count($component->results);
- for ($i = 0; $i < $val_cnt && $i < $res_cnt; ++$i) {
- $ret .= 'WHEN ' . $component->compare_values[$i] . ' ';
- $ret .= 'THEN ' . $component->results[$i] . ' ';
- }
- } else {
- // Syntax type 1
- $val_cnt = count($component->conditions);
- $res_cnt = count($component->results);
- for ($i = 0; $i < $val_cnt && $i < $res_cnt; ++$i) {
- $ret .= 'WHEN ' . Condition::build($component->conditions[$i]) . ' ';
- $ret .= 'THEN ' . $component->results[$i] . ' ';
- }
- }
- if (isset($component->else_result)) {
- $ret .= 'ELSE ' . $component->else_result . ' ';
- }
- $ret .= 'END';
-
- if ($component->alias) {
- $ret .= ' AS ' . Context::escape($component->alias);
- }
-
- return $ret;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Condition.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Condition.php
deleted file mode 100644
index b719b28..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Condition.php
+++ /dev/null
@@ -1,227 +0,0 @@
- 1,
- 'AND' => 1,
- 'BETWEEN' => 1,
- 'EXISTS' => 1,
- 'IF' => 1,
- 'IN' => 1,
- 'INTERVAL' => 1,
- 'IS' => 1,
- 'LIKE' => 1,
- 'MATCH' => 1,
- 'NOT IN' => 1,
- 'NOT NULL' => 1,
- 'NOT' => 1,
- 'NULL' => 1,
- 'OR' => 1,
- 'REGEXP' => 1,
- 'RLIKE' => 1,
- 'XOR' => 1,
- ];
-
- /**
- * Identifiers recognized.
- *
- * @var array
- */
- public $identifiers = [];
-
- /**
- * Whether this component is an operator.
- *
- * @var bool
- */
- public $isOperator = false;
-
- /**
- * The condition.
- *
- * @var string
- */
- public $expr;
-
- /**
- * @param string $expr the condition or the operator
- */
- public function __construct($expr = null)
- {
- $this->expr = trim((string) $expr);
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return Condition[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
-
- $expr = new static();
-
- /**
- * Counts brackets.
- *
- * @var int
- */
- $brackets = 0;
-
- /**
- * Whether there was a `BETWEEN` keyword before or not.
- *
- * It is required to keep track of them because their structure contains
- * the keyword `AND`, which is also an operator that delimits
- * expressions.
- *
- * @var bool
- */
- $betweenBefore = false;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if ($token->type === Token::TYPE_COMMENT) {
- continue;
- }
-
- // Replacing all whitespaces (new lines, tabs, etc.) with a single
- // space character.
- if ($token->type === Token::TYPE_WHITESPACE) {
- $expr->expr .= ' ';
- continue;
- }
-
- // Conditions are delimited by logical operators.
- if (in_array($token->value, static::$DELIMITERS, true)) {
- if ($betweenBefore && ($token->value === 'AND')) {
- // The syntax of keyword `BETWEEN` is hard-coded.
- $betweenBefore = false;
- } else {
- // The expression ended.
- $expr->expr = trim($expr->expr);
- if (! empty($expr->expr)) {
- $ret[] = $expr;
- }
-
- // Adding the operator.
- $expr = new static($token->value);
- $expr->isOperator = true;
- $ret[] = $expr;
-
- // Preparing to parse another condition.
- $expr = new static();
- continue;
- }
- }
-
- if (($token->type === Token::TYPE_KEYWORD)
- && ($token->flags & Token::FLAG_KEYWORD_RESERVED)
- && ! ($token->flags & Token::FLAG_KEYWORD_FUNCTION)
- ) {
- if ($token->value === 'BETWEEN') {
- $betweenBefore = true;
- }
- if (($brackets === 0) && empty(static::$ALLOWED_KEYWORDS[$token->value])) {
- break;
- }
- }
-
- if ($token->type === Token::TYPE_OPERATOR) {
- if ($token->value === '(') {
- ++$brackets;
- } elseif ($token->value === ')') {
- if ($brackets === 0) {
- break;
- }
- --$brackets;
- }
- }
-
- $expr->expr .= $token->token;
- if (($token->type === Token::TYPE_NONE)
- || (($token->type === Token::TYPE_KEYWORD)
- && (! ($token->flags & Token::FLAG_KEYWORD_RESERVED)))
- || ($token->type === Token::TYPE_STRING)
- || ($token->type === Token::TYPE_SYMBOL)
- ) {
- if (! in_array($token->value, $expr->identifiers)) {
- $expr->identifiers[] = $token->value;
- }
- }
- }
-
- // Last iteration was not processed.
- $expr->expr = trim($expr->expr);
- if (! empty($expr->expr)) {
- $ret[] = $expr;
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param Condition[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(' ', $component);
- }
-
- return $component->expr;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php
deleted file mode 100644
index 0cd29c9..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/CreateDefinition.php
+++ /dev/null
@@ -1,363 +0,0 @@
- true,
-
- 'NOT NULL' => 1,
- 'NULL' => 1,
- 'DEFAULT' => [
- 2,
- 'expr',
- ['breakOnAlias' => true],
- ],
- /* Following are not according to grammar, but MySQL happily accepts
- * these at any location */
- 'CHARSET' => [
- 2,
- 'var',
- ],
- 'COLLATE' => [
- 3,
- 'var',
- ],
- 'AUTO_INCREMENT' => 3,
- 'PRIMARY' => 4,
- 'PRIMARY KEY' => 4,
- 'UNIQUE' => 4,
- 'UNIQUE KEY' => 4,
- 'COMMENT' => [
- 5,
- 'var',
- ],
- 'COLUMN_FORMAT' => [
- 6,
- 'var',
- ],
- 'ON UPDATE' => [
- 7,
- 'expr',
- ],
-
- // Generated columns options.
- 'GENERATED ALWAYS' => 8,
- 'AS' => [
- 9,
- 'expr',
- ['parenthesesDelimited' => true],
- ],
- 'VIRTUAL' => 10,
- 'PERSISTENT' => 11,
- 'STORED' => 11,
- 'CHECK' => [
- 12,
- 'expr',
- ['parenthesesDelimited' => true],
- ],
- // Common entries.
- //
- // NOTE: Some of the common options are not in the same order which
- // causes troubles when checking if the options are in the right order.
- // I should find a way to define multiple sets of options and make the
- // parser select the right set.
- //
- // 'UNIQUE' => 4,
- // 'UNIQUE KEY' => 4,
- // 'COMMENT' => [5, 'var'],
- // 'NOT NULL' => 1,
- // 'NULL' => 1,
- // 'PRIMARY' => 4,
- // 'PRIMARY KEY' => 4,
- ];
-
- /**
- * The name of the new column.
- *
- * @var string
- */
- public $name;
-
- /**
- * Whether this field is a constraint or not.
- *
- * @var bool
- */
- public $isConstraint;
-
- /**
- * The data type of thew new column.
- *
- * @var DataType
- */
- public $type;
-
- /**
- * The key.
- *
- * @var Key
- */
- public $key;
-
- /**
- * The table that is referenced.
- *
- * @var Reference
- */
- public $references;
-
- /**
- * The options of this field.
- *
- * @var OptionsArray
- */
- public $options;
-
- /**
- * @param string $name the name of the field
- * @param OptionsArray $options the options of this field
- * @param DataType|Key $type the data type of this field or the key
- * @param bool $isConstraint whether this field is a constraint or not
- * @param Reference $references references
- */
- public function __construct(
- $name = null,
- $options = null,
- $type = null,
- $isConstraint = false,
- $references = null
- ) {
- $this->name = $name;
- $this->options = $options;
- if ($type instanceof DataType) {
- $this->type = $type;
- } elseif ($type instanceof Key) {
- $this->key = $type;
- $this->isConstraint = $isConstraint;
- $this->references = $references;
- }
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return CreateDefinition[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
-
- $expr = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 -----------------------[ ( ]------------------------> 1
- *
- * 1 --------------------[ CONSTRAINT ]------------------> 1
- * 1 -----------------------[ key ]----------------------> 2
- * 1 -------------[ constraint / column name ]-----------> 2
- *
- * 2 --------------------[ data type ]-------------------> 3
- *
- * 3 ---------------------[ options ]--------------------> 4
- *
- * 4 --------------------[ REFERENCES ]------------------> 4
- *
- * 5 ------------------------[ , ]-----------------------> 1
- * 5 ------------------------[ ) ]-----------------------> 6 (-1)
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- $state = 1;
- } else {
- $parser->error(
- 'An opening bracket was expected.',
- $token
- );
-
- break;
- }
- } elseif ($state === 1) {
- if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'CONSTRAINT') {
- $expr->isConstraint = true;
- } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_KEY)) {
- $expr->key = Key::parse($parser, $list);
- $state = 4;
- } elseif ($token->type === Token::TYPE_SYMBOL || $token->type === Token::TYPE_NONE) {
- $expr->name = $token->value;
- if (! $expr->isConstraint) {
- $state = 2;
- }
- } elseif ($token->type === Token::TYPE_KEYWORD) {
- if ($token->flags & Token::FLAG_KEYWORD_RESERVED) {
- // Reserved keywords can't be used
- // as field names without backquotes
- $parser->error(
- 'A symbol name was expected! '
- . 'A reserved keyword can not be used '
- . 'as a column name without backquotes.',
- $token
- );
-
- return $ret;
- }
-
- // Non-reserved keywords are allowed without backquotes
- $expr->name = $token->value;
- $state = 2;
- } else {
- $parser->error(
- 'A symbol name was expected!',
- $token
- );
-
- return $ret;
- }
- } elseif ($state === 2) {
- $expr->type = DataType::parse($parser, $list);
- $state = 3;
- } elseif ($state === 3) {
- $expr->options = OptionsArray::parse($parser, $list, static::$FIELD_OPTIONS);
- $state = 4;
- } elseif ($state === 4) {
- if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'REFERENCES') {
- ++$list->idx; // Skipping keyword 'REFERENCES'.
- $expr->references = Reference::parse($parser, $list);
- } else {
- --$list->idx;
- }
- $state = 5;
- } elseif ($state === 5) {
- if (! empty($expr->type) || ! empty($expr->key)) {
- $ret[] = $expr;
- }
- $expr = new static();
- if ($token->value === ',') {
- $state = 1;
- } elseif ($token->value === ')') {
- $state = 6;
- ++$list->idx;
- break;
- } else {
- $parser->error(
- 'A comma or a closing bracket was expected.',
- $token
- );
- $state = 0;
- break;
- }
- }
- }
-
- // Last iteration was not saved.
- if (! empty($expr->type) || ! empty($expr->key)) {
- $ret[] = $expr;
- }
-
- if (($state !== 0) && ($state !== 6)) {
- $parser->error(
- 'A closing bracket was expected.',
- $list->tokens[$list->idx - 1]
- );
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param CreateDefinition|CreateDefinition[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return "(\n " . implode(",\n ", $component) . "\n)";
- }
-
- $tmp = '';
-
- if ($component->isConstraint) {
- $tmp .= 'CONSTRAINT ';
- }
-
- if (isset($component->name) && ($component->name !== '')) {
- $tmp .= Context::escape($component->name) . ' ';
- }
-
- if (! empty($component->type)) {
- $tmp .= DataType::build(
- $component->type,
- ['lowercase' => true]
- ) . ' ';
- }
-
- if (! empty($component->key)) {
- $tmp .= $component->key . ' ';
- }
-
- if (! empty($component->references)) {
- $tmp .= 'REFERENCES ' . $component->references . ' ';
- }
-
- $tmp .= $component->options;
-
- return trim($tmp);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/DataType.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/DataType.php
deleted file mode 100644
index 484e559..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/DataType.php
+++ /dev/null
@@ -1,169 +0,0 @@
- 1,
- 'CHARACTER SET' => [
- 2,
- 'var',
- ],
- 'CHARSET' => [
- 2,
- 'var',
- ],
- 'COLLATE' => [
- 3,
- 'var',
- ],
- 'UNSIGNED' => 4,
- 'ZEROFILL' => 5,
- ];
-
- /**
- * The name of the data type.
- *
- * @var string
- */
- public $name;
-
- /**
- * The parameters of this data type.
- *
- * Some data types have no parameters.
- * Numeric types might have parameters for the maximum number of digits,
- * precision, etc.
- * String types might have parameters for the maximum length stored.
- * `ENUM` and `SET` have parameters for possible values.
- *
- * For more information, check the MySQL manual.
- *
- * @var array
- */
- public $parameters = [];
-
- /**
- * The options of this data type.
- *
- * @var OptionsArray
- */
- public $options;
-
- /**
- * @param string $name the name of this data type
- * @param array $parameters the parameters (size or possible values)
- * @param OptionsArray $options the options of this data type
- */
- public function __construct(
- $name = null,
- array $parameters = [],
- $options = null
- ) {
- $this->name = $name;
- $this->parameters = $parameters;
- $this->options = $options;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return DataType|null
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 -------------------[ data type ]--------------------> 1
- *
- * 1 ----------------[ size and options ]----------------> 2
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $ret->name = strtoupper((string) $token->value);
- if (($token->type !== Token::TYPE_KEYWORD) || (! ($token->flags & Token::FLAG_KEYWORD_DATA_TYPE))) {
- $parser->error('Unrecognized data type.', $token);
- }
- $state = 1;
- } elseif ($state === 1) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- $parameters = ArrayObj::parse($parser, $list);
- ++$list->idx;
- $ret->parameters = ($ret->name === 'ENUM') || ($ret->name === 'SET') ?
- $parameters->raw : $parameters->values;
- }
- $ret->options = OptionsArray::parse($parser, $list, static::$DATA_TYPE_OPTIONS);
- ++$list->idx;
- break;
- }
- }
-
- if (empty($ret->name)) {
- return null;
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param DataType $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- $name = empty($options['lowercase']) ?
- $component->name : strtolower($component->name);
-
- $parameters = '';
- if (! empty($component->parameters)) {
- $parameters = '(' . implode(',', $component->parameters) . ')';
- }
-
- return trim($name . $parameters . ' ' . $component->options);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Expression.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Expression.php
deleted file mode 100644
index bf97937..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Expression.php
+++ /dev/null
@@ -1,455 +0,0 @@
- 1,
- 'DUAL' => 1,
- 'NULL' => 1,
- 'REGEXP' => 1,
- 'CASE' => 1,
- 'DIV' => 1,
- 'AND' => 1,
- 'OR' => 1,
- 'XOR' => 1,
- 'NOT' => 1,
- 'MOD' => 1,
- ];
-
- /**
- * The name of this database.
- *
- * @var string
- */
- public $database;
-
- /**
- * The name of this table.
- *
- * @var string
- */
- public $table;
-
- /**
- * The name of the column.
- *
- * @var string
- */
- public $column;
-
- /**
- * The sub-expression.
- *
- * @var string
- */
- public $expr = '';
-
- /**
- * The alias of this expression.
- *
- * @var string
- */
- public $alias;
-
- /**
- * The name of the function.
- *
- * @var mixed
- */
- public $function;
-
- /**
- * The type of subquery.
- *
- * @var string
- */
- public $subquery;
-
- /**
- * Syntax:
- * new Expression('expr')
- * new Expression('expr', 'alias')
- * new Expression('database', 'table', 'column')
- * new Expression('database', 'table', 'column', 'alias')
- *
- * If the database, table or column name is not required, pass an empty
- * string.
- *
- * @param string $database The name of the database or the the expression.
- * the the expression.
- * @param string $table The name of the table or the alias of the expression.
- * the alias of the expression.
- * @param string $column the name of the column
- * @param string $alias the name of the alias
- */
- public function __construct($database = null, $table = null, $column = null, $alias = null)
- {
- if (($column === null) && ($alias === null)) {
- $this->expr = $database; // case 1
- $this->alias = $table; // case 2
- } else {
- $this->database = $database; // case 3
- $this->table = $table; // case 3
- $this->column = $column; // case 3
- $this->alias = $alias; // case 4
- }
- }
-
- /**
- * Possible options:.
- *
- * `field`
- *
- * First field to be filled.
- * If this is not specified, it takes the value of `parseField`.
- *
- * `parseField`
- *
- * Specifies the type of the field parsed. It may be `database`,
- * `table` or `column`. These expressions may not include
- * parentheses.
- *
- * `breakOnAlias`
- *
- * If not empty, breaks when the alias occurs (it is not included).
- *
- * `breakOnParentheses`
- *
- * If not empty, breaks when the first parentheses occurs.
- *
- * `parenthesesDelimited`
- *
- * If not empty, breaks after last parentheses occurred.
- *
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return Expression|null
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * Whether current tokens make an expression or a table reference.
- *
- * @var bool
- */
- $isExpr = false;
-
- /**
- * Whether a period was previously found.
- *
- * @var bool
- */
- $dot = false;
-
- /**
- * Whether an alias is expected. Is 2 if `AS` keyword was found.
- *
- * @var bool
- */
- $alias = false;
-
- /**
- * Counts brackets.
- *
- * @var int
- */
- $brackets = 0;
-
- /**
- * Keeps track of the last two previous tokens.
- *
- * @var Token[]
- */
- $prev = [
- null,
- null,
- ];
-
- // When a field is parsed, no parentheses are expected.
- if (! empty($options['parseField'])) {
- $options['breakOnParentheses'] = true;
- $options['field'] = $options['parseField'];
- }
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE)
- || ($token->type === Token::TYPE_COMMENT)
- ) {
- if ($isExpr) {
- $ret->expr .= $token->token;
- }
- continue;
- }
-
- if ($token->type === Token::TYPE_KEYWORD) {
- if (($brackets > 0) && empty($ret->subquery)
- && ! empty(Parser::$STATEMENT_PARSERS[$token->keyword])
- ) {
- // A `(` was previously found and this keyword is the
- // beginning of a statement, so this is a subquery.
- $ret->subquery = $token->keyword;
- } elseif (($token->flags & Token::FLAG_KEYWORD_FUNCTION)
- && (empty($options['parseField'])
- && ! $alias)
- ) {
- $isExpr = true;
- } elseif (($token->flags & Token::FLAG_KEYWORD_RESERVED)
- && ($brackets === 0)
- ) {
- if (empty(self::$ALLOWED_KEYWORDS[$token->keyword])) {
- // A reserved keyword that is not allowed in the
- // expression was found so the expression must have
- // ended and a new clause is starting.
- break;
- }
- if ($token->keyword === 'AS') {
- if (! empty($options['breakOnAlias'])) {
- break;
- }
- if ($alias) {
- $parser->error(
- 'An alias was expected.',
- $token
- );
- break;
- }
- $alias = true;
- continue;
- } elseif ($token->keyword === 'CASE') {
- // For a use of CASE like
- // 'SELECT a = CASE .... END, b=1, `id`, ... FROM ...'
- $tempCaseExpr = CaseExpression::parse($parser, $list);
- $ret->expr .= CaseExpression::build($tempCaseExpr);
- $isExpr = true;
- continue;
- }
- $isExpr = true;
- } elseif ($brackets === 0 && strlen((string) $ret->expr) > 0 && ! $alias) {
- /* End of expression */
- break;
- }
- }
-
- if (($token->type === Token::TYPE_NUMBER)
- || ($token->type === Token::TYPE_BOOL)
- || (($token->type === Token::TYPE_SYMBOL)
- && ($token->flags & Token::FLAG_SYMBOL_VARIABLE))
- || (($token->type === Token::TYPE_SYMBOL)
- && ($token->flags & Token::FLAG_SYMBOL_PARAMETER))
- || (($token->type === Token::TYPE_OPERATOR)
- && ($token->value !== '.'))
- ) {
- if (! empty($options['parseField'])) {
- break;
- }
-
- // Numbers, booleans and operators (except dot) are usually part
- // of expressions.
- $isExpr = true;
- }
-
- if ($token->type === Token::TYPE_OPERATOR) {
- if (! empty($options['breakOnParentheses'])
- && (($token->value === '(') || ($token->value === ')'))
- ) {
- // No brackets were expected.
- break;
- }
- if ($token->value === '(') {
- ++$brackets;
- if (empty($ret->function) && ($prev[1] !== null)
- && (($prev[1]->type === Token::TYPE_NONE)
- || ($prev[1]->type === Token::TYPE_SYMBOL)
- || (($prev[1]->type === Token::TYPE_KEYWORD)
- && ($prev[1]->flags & Token::FLAG_KEYWORD_FUNCTION)))
- ) {
- $ret->function = $prev[1]->value;
- }
- } elseif ($token->value === ')') {
- if ($brackets === 0) {
- // Not our bracket
- break;
- } else {
- --$brackets;
- if ($brackets === 0) {
- if (! empty($options['parenthesesDelimited'])) {
- // The current token is the last bracket, the next
- // one will be outside the expression.
- $ret->expr .= $token->token;
- ++$list->idx;
- break;
- }
- } elseif ($brackets < 0) {
- // $parser->error('Unexpected closing bracket.', $token);
- // $brackets = 0;
- break;
- }
- }
- } elseif ($token->value === ',') {
- // Expressions are comma-delimited.
- if ($brackets === 0) {
- break;
- }
- }
- }
-
- // Saving the previous tokens.
- $prev[0] = $prev[1];
- $prev[1] = $token;
-
- if ($alias) {
- // An alias is expected (the keyword `AS` was previously found).
- if (! empty($ret->alias)) {
- $parser->error('An alias was previously found.', $token);
- break;
- }
- $ret->alias = $token->value;
- $alias = false;
- } elseif ($isExpr) {
- // Handling aliases.
- if (/* (empty($ret->alias)) && */ ($brackets === 0)
- && (($prev[0] === null)
- || ((($prev[0]->type !== Token::TYPE_OPERATOR)
- || ($prev[0]->token === ')'))
- && (($prev[0]->type !== Token::TYPE_KEYWORD)
- || (! ($prev[0]->flags & Token::FLAG_KEYWORD_RESERVED)))))
- && (($prev[1]->type === Token::TYPE_STRING)
- || (($prev[1]->type === Token::TYPE_SYMBOL)
- && (! ($prev[1]->flags & Token::FLAG_SYMBOL_VARIABLE)))
- || ($prev[1]->type === Token::TYPE_NONE))
- ) {
- if (! empty($ret->alias)) {
- $parser->error('An alias was previously found.', $token);
- break;
- }
- $ret->alias = $prev[1]->value;
- } else {
- $ret->expr .= $token->token;
- }
- } elseif (! $isExpr) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '.')) {
- // Found a `.` which means we expect a column name and
- // the column name we parsed is actually the table name
- // and the table name is actually a database name.
- if (! empty($ret->database) || $dot) {
- $parser->error('Unexpected dot.', $token);
- }
- $ret->database = $ret->table;
- $ret->table = $ret->column;
- $ret->column = null;
- $dot = true;
- $ret->expr .= $token->token;
- } else {
- $field = empty($options['field']) ? 'column' : $options['field'];
- if (empty($ret->$field)) {
- $ret->$field = $token->value;
- $ret->expr .= $token->token;
- $dot = false;
- } else {
- // No alias is expected.
- if (! empty($options['breakOnAlias'])) {
- break;
- }
- if (! empty($ret->alias)) {
- $parser->error('An alias was previously found.', $token);
- break;
- }
- $ret->alias = $token->value;
- }
- }
- }
- }
-
- if ($alias) {
- $parser->error(
- 'An alias was expected.',
- $list->tokens[$list->idx - 1]
- );
- }
-
- // White-spaces might be added at the end.
- $ret->expr = trim((string) $ret->expr);
-
- if ($ret->expr === '') {
- return null;
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param Expression|Expression[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(', ', $component);
- }
-
- if ($component->expr !== '' && $component->expr !== null) {
- $ret = $component->expr;
- } else {
- $fields = [];
- if (isset($component->database) && ($component->database !== '')) {
- $fields[] = $component->database;
- }
- if (isset($component->table) && ($component->table !== '')) {
- $fields[] = $component->table;
- }
- if (isset($component->column) && ($component->column !== '')) {
- $fields[] = $component->column;
- }
- $ret = implode('.', Context::escape($fields));
- }
-
- if (! empty($component->alias)) {
- $ret .= ' AS ' . Context::escape($component->alias);
- }
-
- return $ret;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ExpressionArray.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ExpressionArray.php
deleted file mode 100644
index 186693d..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ExpressionArray.php
+++ /dev/null
@@ -1,123 +0,0 @@
- 1
- *
- * 1 ------------------------[ , ]------------------------> 0
- * 1 -----------------------[ else ]----------------------> (END)
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if (($token->type === Token::TYPE_KEYWORD)
- && ($token->flags & Token::FLAG_KEYWORD_RESERVED)
- && ((~$token->flags & Token::FLAG_KEYWORD_FUNCTION))
- && ($token->value !== 'DUAL')
- && ($token->value !== 'NULL')
- && ($token->value !== 'CASE')
- ) {
- // No keyword is expected.
- break;
- }
-
- if ($state === 0) {
- if ($token->type === Token::TYPE_KEYWORD
- && $token->value === 'CASE'
- ) {
- $expr = CaseExpression::parse($parser, $list, $options);
- } else {
- $expr = Expression::parse($parser, $list, $options);
- }
-
- if ($expr === null) {
- break;
- }
- $ret[] = $expr;
- $state = 1;
- } elseif ($state === 1) {
- if ($token->value === ',') {
- $state = 0;
- } else {
- break;
- }
- }
- }
-
- if ($state === 0) {
- $parser->error(
- 'An expression was expected.',
- $list->tokens[$list->idx]
- );
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param ExpressionArray[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- $ret = [];
- foreach ($component as $frag) {
- $ret[] = $frag::build($frag);
- }
-
- return implode(', ', $ret);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/FunctionCall.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/FunctionCall.php
deleted file mode 100644
index b41e6b2..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/FunctionCall.php
+++ /dev/null
@@ -1,113 +0,0 @@
-name = $name;
- if (is_array($parameters)) {
- $this->parameters = new ArrayObj($parameters);
- } elseif ($parameters instanceof ArrayObj) {
- $this->parameters = $parameters;
- }
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return FunctionCall
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ----------------------[ name ]-----------------------> 1
- *
- * 1 --------------------[ parameters ]-------------------> (END)
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $ret->name = $token->value;
- $state = 1;
- } elseif ($state === 1) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- $ret->parameters = ArrayObj::parse($parser, $list);
- }
- break;
- }
- }
-
- return $ret;
- }
-
- /**
- * @param FunctionCall $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- return $component->name . $component->parameters;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/GroupKeyword.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/GroupKeyword.php
deleted file mode 100644
index 888fb89..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/GroupKeyword.php
+++ /dev/null
@@ -1,127 +0,0 @@
-expr = $expr;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return GroupKeyword[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
-
- $expr = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 --------------------[ expression ]-------------------> 1
- *
- * 1 ------------------------[ , ]------------------------> 0
- * 1 -------------------[ ASC / DESC ]--------------------> 1
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $expr->expr = Expression::parse($parser, $list);
- $state = 1;
- } elseif ($state === 1) {
- if (($token->type === Token::TYPE_KEYWORD)
- && (($token->keyword === 'ASC') || ($token->keyword === 'DESC'))
- ) {
- $expr->type = $token->keyword;
- } elseif (($token->type === Token::TYPE_OPERATOR)
- && ($token->value === ',')
- ) {
- if (! empty($expr->expr)) {
- $ret[] = $expr;
- }
- $expr = new static();
- $state = 0;
- } else {
- break;
- }
- }
- }
-
- // Last iteration was not processed.
- if (! empty($expr->expr)) {
- $ret[] = $expr;
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param GroupKeyword|GroupKeyword[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(', ', $component);
- }
-
- return trim((string) $component->expr);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/IndexHint.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/IndexHint.php
deleted file mode 100644
index 9b2f44e..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/IndexHint.php
+++ /dev/null
@@ -1,188 +0,0 @@
-type = $type;
- $this->indexOrKey = $indexOrKey;
- $this->for = $for;
- $this->indexes = $indexes;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return IndexHint|Component[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
- $expr = new static();
- $expr->type = isset($options['type']) ? $options['type'] : null;
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- * 0 ----------------- [ USE/IGNORE/FORCE ]-----------------> 1
- * 1 -------------------- [ INDEX/KEY ] --------------------> 2
- * 2 ----------------------- [ FOR ] -----------------------> 3
- * 2 -------------------- [ expr_list ] --------------------> 0
- * 3 -------------- [ JOIN/GROUP BY/ORDER BY ] -------------> 4
- * 4 -------------------- [ expr_list ] --------------------> 0
- *
- * @var int
- */
- $state = 0;
-
- // By design, the parser will parse first token after the keyword. So, the keyword
- // must be analyzed too, in order to determine the type of this index hint.
- if ($list->idx > 0) {
- --$list->idx;
- }
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- switch ($state) {
- case 0:
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'USE' || $token->keyword === 'IGNORE' || $token->keyword === 'FORCE') {
- $expr->type = $token->keyword;
- $state = 1;
- } else {
- break 2;
- }
- }
- break;
- case 1:
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'INDEX' || $token->keyword === 'KEY') {
- $expr->indexOrKey = $token->keyword;
- } else {
- $parser->error('Unexpected keyword.', $token);
- }
- $state = 2;
- } else {
- // we expect the token to be a keyword
- $parser->error('Unexpected token.', $token);
- }
- break;
- case 2:
- if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'FOR') {
- $state = 3;
- } else {
- $expr->indexes = ExpressionArray::parse($parser, $list);
- $state = 0;
- $ret[] = $expr;
- $expr = new static();
- }
- break;
- case 3:
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'JOIN' || $token->keyword === 'GROUP BY' || $token->keyword === 'ORDER BY') {
- $expr->for = $token->keyword;
- } else {
- $parser->error('Unexpected keyword.', $token);
- }
- $state = 4;
- } else {
- // we expect the token to be a keyword
- $parser->error('Unexpected token.', $token);
- }
- break;
- case 4:
- $expr->indexes = ExpressionArray::parse($parser, $list);
- $state = 0;
- $ret[] = $expr;
- $expr = new static();
- break;
- }
- }
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param IndexHint|IndexHint[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(' ', $component);
- }
-
- $ret = $component->type . ' ' . $component->indexOrKey . ' ';
- if ($component->for !== null) {
- $ret .= 'FOR ' . $component->for . ' ';
- }
- return $ret . ExpressionArray::build($component->indexes);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/IntoKeyword.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/IntoKeyword.php
deleted file mode 100644
index c3f8a43..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/IntoKeyword.php
+++ /dev/null
@@ -1,291 +0,0 @@
- [
- 1,
- 'expr',
- ],
- 'OPTIONALLY' => 2,
- 'ENCLOSED BY' => [
- 3,
- 'expr',
- ],
- 'ESCAPED BY' => [
- 4,
- 'expr',
- ],
- ];
-
- /**
- * LINES Options for `SELECT...INTO` statements.
- *
- * @var array
- */
- public static $LINES_OPTIONS = [
- 'STARTING BY' => [
- 1,
- 'expr',
- ],
- 'TERMINATED BY' => [
- 2,
- 'expr',
- ],
- ];
-
- /**
- * Type of target (OUTFILE or SYMBOL).
- *
- * @var string
- */
- public $type;
-
- /**
- * The destination, which can be a table or a file.
- *
- * @var string|Expression
- */
- public $dest;
-
- /**
- * The name of the columns.
- *
- * @var array
- */
- public $columns;
-
- /**
- * The values to be selected into (SELECT .. INTO @var1).
- *
- * @var Expression[]
- */
- public $values;
-
- /**
- * Options for FIELDS/COLUMNS keyword.
- *
- * @see static::$FIELDS_OPTIONS
- *
- * @var OptionsArray
- */
- public $fields_options;
-
- /**
- * Whether to use `FIELDS` or `COLUMNS` while building.
- *
- * @var bool
- */
- public $fields_keyword;
-
- /**
- * Options for OPTIONS keyword.
- *
- * @see static::$LINES_OPTIONS
- *
- * @var OptionsArray
- */
- public $lines_options;
-
- /**
- * @param string $type type of destination (may be OUTFILE)
- * @param string|Expression $dest actual destination
- * @param array $columns column list of destination
- * @param array $values selected fields
- * @param OptionsArray $fields_options options for FIELDS/COLUMNS keyword
- * @param bool $fields_keyword options for OPTIONS keyword
- */
- public function __construct(
- $type = null,
- $dest = null,
- $columns = null,
- $values = null,
- $fields_options = null,
- $fields_keyword = null
- ) {
- $this->type = $type;
- $this->dest = $dest;
- $this->columns = $columns;
- $this->values = $values;
- $this->fields_options = $fields_options;
- $this->fields_keyword = $fields_keyword;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return IntoKeyword
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 -----------------------[ name ]----------------------> 1
- * 0 ---------------------[ OUTFILE ]---------------------> 2
- *
- * 1 ------------------------[ ( ]------------------------> (END)
- *
- * 2 ---------------------[ filename ]--------------------> 1
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) {
- if (($state === 0) && ($token->keyword === 'OUTFILE')) {
- $ret->type = 'OUTFILE';
- $state = 2;
- continue;
- }
-
- // No other keyword is expected except for $state = 4, which expects `LINES`
- if ($state !== 4) {
- break;
- }
- }
-
- if ($state === 0) {
- if ((isset($options['fromInsert'])
- && $options['fromInsert'])
- || (isset($options['fromReplace'])
- && $options['fromReplace'])
- ) {
- $ret->dest = Expression::parse(
- $parser,
- $list,
- [
- 'parseField' => 'table',
- 'breakOnAlias' => true,
- ]
- );
- } else {
- $ret->values = ExpressionArray::parse($parser, $list);
- }
- $state = 1;
- } elseif ($state === 1) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- $ret->columns = ArrayObj::parse($parser, $list)->values;
- ++$list->idx;
- }
- break;
- } elseif ($state === 2) {
- $ret->dest = $token->value;
-
- $state = 3;
- } elseif ($state === 3) {
- $ret->parseFileOptions($parser, $list, $token->value);
- $state = 4;
- } elseif ($state === 4) {
- if ($token->type === Token::TYPE_KEYWORD && $token->keyword !== 'LINES') {
- break;
- }
-
- $ret->parseFileOptions($parser, $list, $token->value);
- $state = 5;
- }
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- public function parseFileOptions(Parser $parser, TokensList $list, $keyword = 'FIELDS')
- {
- ++$list->idx;
-
- if ($keyword === 'FIELDS' || $keyword === 'COLUMNS') {
- // parse field options
- $this->fields_options = OptionsArray::parse(
- $parser,
- $list,
- static::$FIELDS_OPTIONS
- );
-
- $this->fields_keyword = ($keyword === 'FIELDS');
- } else {
- // parse line options
- $this->lines_options = OptionsArray::parse(
- $parser,
- $list,
- static::$LINES_OPTIONS
- );
- }
- }
-
- /**
- * @param IntoKeyword $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if ($component->dest instanceof Expression) {
- $columns = ! empty($component->columns) ? '(`' . implode('`, `', $component->columns) . '`)' : '';
-
- return $component->dest . $columns;
- } elseif (isset($component->values)) {
- return ExpressionArray::build($component->values);
- }
-
- $ret = 'OUTFILE "' . $component->dest . '"';
-
- $fields_options_str = OptionsArray::build($component->fields_options);
- if (trim($fields_options_str) !== '') {
- $ret .= $component->fields_keyword ? ' FIELDS' : ' COLUMNS';
- $ret .= ' ' . $fields_options_str;
- }
-
- $lines_options_str = OptionsArray::build($component->lines_options, ['expr' => true]);
- if (trim($lines_options_str) !== '') {
- $ret .= ' LINES ' . $lines_options_str;
- }
-
- return $ret;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/JoinKeyword.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/JoinKeyword.php
deleted file mode 100644
index 91bab01..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/JoinKeyword.php
+++ /dev/null
@@ -1,222 +0,0 @@
- 'CROSS',
- 'FULL JOIN' => 'FULL',
- 'FULL OUTER JOIN' => 'FULL',
- 'INNER JOIN' => 'INNER',
- 'JOIN' => 'JOIN',
- 'LEFT JOIN' => 'LEFT',
- 'LEFT OUTER JOIN' => 'LEFT',
- 'RIGHT JOIN' => 'RIGHT',
- 'RIGHT OUTER JOIN' => 'RIGHT',
- 'NATURAL JOIN' => 'NATURAL',
- 'NATURAL LEFT JOIN' => 'NATURAL LEFT',
- 'NATURAL RIGHT JOIN' => 'NATURAL RIGHT',
- 'NATURAL LEFT OUTER JOIN' => 'NATURAL LEFT OUTER',
- 'NATURAL RIGHT OUTER JOIN' => 'NATURAL RIGHT OUTER',
- 'STRAIGHT_JOIN' => 'STRAIGHT',
- ];
-
- /**
- * Type of this join.
- *
- * @see static::$JOINS
- *
- * @var string
- */
- public $type;
-
- /**
- * Join expression.
- *
- * @var Expression
- */
- public $expr;
-
- /**
- * Join conditions.
- *
- * @var Condition[]
- */
- public $on;
-
- /**
- * Columns in Using clause.
- *
- * @var ArrayObj
- */
- public $using;
-
- /**
- * @see JoinKeyword::$JOINS
- *
- * @param string $type Join type
- * @param Expression $expr join expression
- * @param Condition[] $on join conditions
- * @param ArrayObj $using columns joined
- */
- public function __construct($type = null, $expr = null, $on = null, $using = null)
- {
- $this->type = $type;
- $this->expr = $expr;
- $this->on = $on;
- $this->using = $using;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return JoinKeyword[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
-
- $expr = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 -----------------------[ JOIN ]----------------------> 1
- *
- * 1 -----------------------[ expr ]----------------------> 2
- *
- * 2 ------------------------[ ON ]-----------------------> 3
- * 2 -----------------------[ USING ]---------------------> 4
- *
- * 3 --------------------[ conditions ]-------------------> 0
- *
- * 4 ----------------------[ columns ]--------------------> 0
- *
- * @var int
- */
- $state = 0;
-
- // By design, the parser will parse first token after the keyword.
- // In this case, the keyword must be analyzed too, in order to determine
- // the type of this join.
- if ($list->idx > 0) {
- --$list->idx;
- }
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- if (($token->type === Token::TYPE_KEYWORD)
- && ! empty(static::$JOINS[$token->keyword])
- ) {
- $expr->type = static::$JOINS[$token->keyword];
- $state = 1;
- } else {
- break;
- }
- } elseif ($state === 1) {
- $expr->expr = Expression::parse($parser, $list, ['field' => 'table']);
- $state = 2;
- } elseif ($state === 2) {
- if ($token->type === Token::TYPE_KEYWORD) {
- switch ($token->keyword) {
- case 'ON':
- $state = 3;
- break;
- case 'USING':
- $state = 4;
- break;
- default:
- if (! empty(static::$JOINS[$token->keyword])
- ) {
- $ret[] = $expr;
- $expr = new static();
- $expr->type = static::$JOINS[$token->keyword];
- $state = 1;
- } else {
- /* Next clause is starting */
- break 2;
- }
- break;
- }
- }
- } elseif ($state === 3) {
- $expr->on = Condition::parse($parser, $list);
- $ret[] = $expr;
- $expr = new static();
- $state = 0;
- } elseif ($state === 4) {
- $expr->using = ArrayObj::parse($parser, $list);
- $ret[] = $expr;
- $expr = new static();
- $state = 0;
- }
- }
-
- if (! empty($expr->type)) {
- $ret[] = $expr;
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param JoinKeyword[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- $ret = [];
- foreach ($component as $c) {
- $ret[] = array_search($c->type, static::$JOINS) . ' ' . $c->expr
- . (! empty($c->on)
- ? ' ON ' . Condition::build($c->on) : '')
- . (! empty($c->using)
- ? ' USING ' . ArrayObj::build($c->using) : '');
- }
-
- return implode(' ', $ret);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Key.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Key.php
deleted file mode 100644
index 669a7c0..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Key.php
+++ /dev/null
@@ -1,211 +0,0 @@
- [
- 1,
- 'var',
- ],
- 'USING' => [
- 2,
- 'var',
- ],
- 'WITH PARSER' => [
- 3,
- 'var',
- ],
- 'COMMENT' => [
- 4,
- 'var=',
- ],
- ];
-
- /**
- * The name of this key.
- *
- * @var string
- */
- public $name;
-
- /**
- * Columns.
- *
- * @var array
- */
- public $columns;
-
- /**
- * The type of this key.
- *
- * @var string
- */
- public $type;
-
- /**
- * The options of this key.
- *
- * @var OptionsArray
- */
- public $options;
-
- /**
- * @param string $name the name of the key
- * @param array $columns the columns covered by this key
- * @param string $type the type of this key
- * @param OptionsArray $options the options of this key
- */
- public function __construct(
- $name = null,
- array $columns = [],
- $type = null,
- $options = null
- ) {
- $this->name = $name;
- $this->columns = $columns;
- $this->type = $type;
- $this->options = $options;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return Key
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * Last parsed column.
- *
- * @var array
- */
- $lastColumn = [];
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ----------------------[ type ]-----------------------> 1
- *
- * 1 ----------------------[ name ]-----------------------> 1
- * 1 ---------------------[ columns ]---------------------> 2
- *
- * 2 ---------------------[ options ]---------------------> 3
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $ret->type = $token->value;
- $state = 1;
- } elseif ($state === 1) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- $state = 2;
- } else {
- $ret->name = $token->value;
- }
- } elseif ($state === 2) {
- if ($token->type === Token::TYPE_OPERATOR) {
- if ($token->value === '(') {
- $state = 3;
- } elseif (($token->value === ',') || ($token->value === ')')) {
- $state = $token->value === ',' ? 2 : 4;
- if (! empty($lastColumn)) {
- $ret->columns[] = $lastColumn;
- $lastColumn = [];
- }
- }
- } else {
- $lastColumn['name'] = $token->value;
- }
- } elseif ($state === 3) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ')')) {
- $state = 2;
- } else {
- $lastColumn['length'] = $token->value;
- }
- } elseif ($state === 4) {
- $ret->options = OptionsArray::parse($parser, $list, static::$KEY_OPTIONS);
- ++$list->idx;
- break;
- }
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param Key $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- $ret = $component->type . ' ';
- if (! empty($component->name)) {
- $ret .= Context::escape($component->name) . ' ';
- }
-
- $columns = [];
- foreach ($component->columns as $column) {
- $tmp = Context::escape($column['name']);
- if (isset($column['length'])) {
- $tmp .= '(' . $column['length'] . ')';
- }
- $columns[] = $tmp;
- }
-
- $ret .= '(' . implode(',', $columns) . ') ' . $component->options;
-
- return trim($ret);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Limit.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Limit.php
deleted file mode 100644
index 16dad29..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Limit.php
+++ /dev/null
@@ -1,127 +0,0 @@
-rowCount = $rowCount;
- $this->offset = $offset;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return Limit
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- $offset = false;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if (($token->type === Token::TYPE_KEYWORD) && ($token->flags & Token::FLAG_KEYWORD_RESERVED)) {
- break;
- }
-
- if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'OFFSET') {
- if ($offset) {
- $parser->error('An offset was expected.', $token);
- }
- $offset = true;
- continue;
- }
-
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',')) {
- $ret->offset = $ret->rowCount;
- $ret->rowCount = 0;
- continue;
- }
-
- // Skip if not a number
- if (($token->type !== Token::TYPE_NUMBER)) {
- break;
- }
-
- if ($offset) {
- $ret->offset = $token->value;
- $offset = false;
- } else {
- $ret->rowCount = $token->value;
- }
- }
-
- if ($offset) {
- $parser->error(
- 'An offset was expected.',
- $list->tokens[$list->idx - 1]
- );
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param Limit $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- return $component->offset . ', ' . $component->rowCount;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/LockExpression.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/LockExpression.php
deleted file mode 100644
index 6184f2e..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/LockExpression.php
+++ /dev/null
@@ -1,200 +0,0 @@
- 1
- * 1 ---------------- [ lock_type ] ----------------> 2
- * 2 -------------------- [ , ] --------------------> break
- *
- * @var int
- */
- $state = 0;
-
- $prevToken = null;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER
- || ($token->type === Token::TYPE_OPERATOR
- && $token->value === ',')
- ) {
- break;
- }
-
- if ($state === 0) {
- $ret->table = Expression::parse($parser, $list, ['parseField' => 'table']);
- $state = 1;
- } elseif ($state === 1) {
- // parse lock type
- $ret->type = self::parseLockType($parser, $list);
- $state = 2;
- }
- $prevToken = $token;
- }
-
- // 2 is the only valid end state
- if ($state !== 2) {
- $parser->error('Unexpected end of LOCK expression.', $prevToken);
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param LockExpression|LockExpression[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(', ', $component);
- }
-
- return $component->table . ' ' . $component->type;
- }
-
- private static function parseLockType(Parser $parser, TokensList $list)
- {
- $lockType = '';
-
- /**
- * The state of the parser while parsing for lock type.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------- [ READ ] -----------------> 1
- * 0 ------------- [ LOW_PRIORITY ] ------------> 2
- * 0 ---------------- [ WRITE ] ----------------> 3
- * 1 ---------------- [ LOCAL ] ----------------> 3
- * 2 ---------------- [ WRITE ] ----------------> 3
- *
- * @var int
- */
- $state = 0;
-
- $prevToken = null;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER
- || ($token->type === Token::TYPE_OPERATOR
- && $token->value === ',')
- ) {
- --$list->idx;
- break;
- }
-
- // Skipping whitespaces and comments.
- if ($token->type === Token::TYPE_WHITESPACE || $token->type === Token::TYPE_COMMENT) {
- continue;
- }
-
- // We only expect keywords
- if ($token->type !== Token::TYPE_KEYWORD) {
- $parser->error('Unexpected token.', $token);
- break;
- }
-
- if ($state === 0) {
- if ($token->keyword === 'READ') {
- $state = 1;
- } elseif ($token->keyword === 'LOW_PRIORITY') {
- $state = 2;
- } elseif ($token->keyword === 'WRITE') {
- $state = 3;
- } else {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- $lockType .= $token->keyword;
- } elseif ($state === 1) {
- if ($token->keyword === 'LOCAL') {
- $lockType .= ' ' . $token->keyword;
- $state = 3;
- } else {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- } elseif ($state === 2) {
- if ($token->keyword === 'WRITE') {
- $lockType .= ' ' . $token->keyword;
- $state = 3; // parsing over
- } else {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- }
-
- $prevToken = $token;
- }
-
- // Only two possible end states
- if ($state !== 1 && $state !== 3) {
- $parser->error('Unexpected end of Lock expression.', $prevToken);
- }
-
- return $lockType;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/OptionsArray.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/OptionsArray.php
deleted file mode 100644
index da73dc6..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/OptionsArray.php
+++ /dev/null
@@ -1,367 +0,0 @@
-options = $options;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return OptionsArray
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * The ID that will be assigned to duplicate options.
- *
- * @var int
- */
- $lastAssignedId = count($options) + 1;
-
- /**
- * The option that was processed last time.
- *
- * @var array
- */
- $lastOption = null;
-
- /**
- * The index of the option that was processed last time.
- *
- * @var int
- */
- $lastOptionId = 0;
-
- /**
- * Counts brackets.
- *
- * @var int
- */
- $brackets = 0;
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------------[ option ]----------------------> 1
- *
- * 1 -------------------[ = (optional) ]------------------> 2
- *
- * 2 ----------------------[ value ]----------------------> 0
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping comments.
- if ($token->type === Token::TYPE_COMMENT) {
- continue;
- }
-
- // Skipping whitespace if not parsing value.
- if (($token->type === Token::TYPE_WHITESPACE) && ($brackets === 0)) {
- continue;
- }
-
- if ($lastOption === null) {
- $upper = strtoupper($token->token);
- if (isset($options[$upper])) {
- $lastOption = $options[$upper];
- $lastOptionId = is_array($lastOption) ?
- $lastOption[0] : $lastOption;
- $state = 0;
-
- // Checking for option conflicts.
- // For example, in `SELECT` statements the keywords `ALL`
- // and `DISTINCT` conflict and if used together, they
- // produce an invalid query.
- //
- // Usually, tokens can be identified in the array by the
- // option ID, but if conflicts occur, a generated option ID
- // is used.
- //
- // The first pseudo duplicate ID is the maximum value of the
- // real options (e.g. if there are 5 options, the first
- // fake ID is 6).
- if (isset($ret->options[$lastOptionId])) {
- $parser->error(
- sprintf(
- Translator::gettext('This option conflicts with "%1$s".'),
- is_array($ret->options[$lastOptionId])
- ? $ret->options[$lastOptionId]['name']
- : $ret->options[$lastOptionId]
- ),
- $token
- );
- $lastOptionId = $lastAssignedId++;
- }
- } else {
- // There is no option to be processed.
- break;
- }
- }
-
- if ($state === 0) {
- if (! is_array($lastOption)) {
- // This is a just keyword option without any value.
- // This is the beginning and the end of it.
- $ret->options[$lastOptionId] = $token->value;
- $lastOption = null;
- $state = 0;
- } elseif (($lastOption[1] === 'var') || ($lastOption[1] === 'var=')) {
- // This is a keyword that is followed by a value.
- // This is only the beginning. The value is parsed in state
- // 1 and 2. State 1 is used to skip the first equals sign
- // and state 2 to parse the actual value.
- $ret->options[$lastOptionId] = [
- // @var string The name of the option.
- 'name' => $token->value,
- // @var bool Whether it contains an equal sign.
- // This is used by the builder to rebuild it.
- 'equals' => $lastOption[1] === 'var=',
- // @var string Raw value.
- 'expr' => '',
- // @var string Processed value.
- 'value' => '',
- ];
- $state = 1;
- } elseif ($lastOption[1] === 'expr' || $lastOption[1] === 'expr=') {
- // This is a keyword that is followed by an expression.
- // The expression is used by the specialized parser.
-
- // Skipping this option in order to parse the expression.
- ++$list->idx;
- $ret->options[$lastOptionId] = [
- // @var string The name of the option.
- 'name' => $token->value,
- // @var bool Whether it contains an equal sign.
- // This is used by the builder to rebuild it.
- 'equals' => $lastOption[1] === 'expr=',
- // @var Expression The parsed expression.
- 'expr' => '',
- ];
- $state = 1;
- }
- } elseif ($state === 1) {
- $state = 2;
- if ($token->token === '=') {
- $ret->options[$lastOptionId]['equals'] = true;
- continue;
- }
- }
-
- // This is outside the `elseif` group above because the change might
- // change this iteration.
- if ($state === 2) {
- if ($lastOption[1] === 'expr' || $lastOption[1] === 'expr=') {
- $ret->options[$lastOptionId]['expr'] = Expression::parse(
- $parser,
- $list,
- empty($lastOption[2]) ? [] : $lastOption[2]
- );
- $ret->options[$lastOptionId]['value']
- = $ret->options[$lastOptionId]['expr']->expr;
- $lastOption = null;
- $state = 0;
- } else {
- if ($token->token === '(') {
- ++$brackets;
- } elseif ($token->token === ')') {
- --$brackets;
- }
-
- $ret->options[$lastOptionId]['expr'] .= $token->token;
-
- if (! ((($token->token === '(') && ($brackets === 1))
- || (($token->token === ')') && ($brackets === 0)))
- ) {
- // First pair of brackets is being skipped.
- $ret->options[$lastOptionId]['value'] .= $token->value;
- }
-
- // Checking if we finished parsing.
- if ($brackets === 0) {
- $lastOption = null;
- }
- }
- }
- }
-
- /*
- * We reached the end of statement without getting a value
- * for an option for which a value was required
- */
- if ($state === 1
- && $lastOption
- && ($lastOption[1] === 'expr'
- || $lastOption[1] === 'var'
- || $lastOption[1] === 'var='
- || $lastOption[1] === 'expr=')
- ) {
- $parser->error(
- sprintf(
- 'Value/Expression for the option %1$s was expected.',
- $ret->options[$lastOptionId]['name']
- ),
- $list->tokens[$list->idx - 1]
- );
- }
-
- if (empty($options['_UNSORTED'])) {
- ksort($ret->options);
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param OptionsArray $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (empty($component->options)) {
- return '';
- }
-
- $options = [];
- foreach ($component->options as $option) {
- if (! is_array($option)) {
- $options[] = $option;
- } else {
- $options[] = $option['name']
- . (! empty($option['equals']) && $option['equals'] ? '=' : ' ')
- . (! empty($option['expr']) ? $option['expr'] : $option['value']);
- }
- }
-
- return implode(' ', $options);
- }
-
- /**
- * Checks if it has the specified option and returns it value or true.
- *
- * @param string $key the key to be checked
- * @param bool $getExpr Gets the expression instead of the value.
- * The value is the processed form of the expression.
- *
- * @return mixed
- */
- public function has($key, $getExpr = false)
- {
- foreach ($this->options as $option) {
- if (is_array($option)) {
- if (! strcasecmp($key, $option['name'])) {
- return $getExpr ? $option['expr'] : $option['value'];
- }
- } elseif (! strcasecmp($key, $option)) {
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Removes the option from the array.
- *
- * @param string $key the key to be removed
- *
- * @return bool whether the key was found and deleted or not
- */
- public function remove($key)
- {
- foreach ($this->options as $idx => $option) {
- if (is_array($option)) {
- if (! strcasecmp($key, $option['name'])) {
- unset($this->options[$idx]);
-
- return true;
- }
- } elseif (! strcasecmp($key, $option)) {
- unset($this->options[$idx]);
-
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Merges the specified options with these ones. Values with same ID will be
- * replaced.
- *
- * @param array|OptionsArray $options the options to be merged
- */
- public function merge($options)
- {
- if (is_array($options)) {
- $this->options = array_merge_recursive($this->options, $options);
- } elseif ($options instanceof self) {
- $this->options = array_merge_recursive($this->options, $options->options);
- }
- }
-
- /**
- * Checks tf there are no options set.
- *
- * @return bool
- */
- public function isEmpty()
- {
- return empty($this->options);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/OrderKeyword.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/OrderKeyword.php
deleted file mode 100644
index 966758e..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/OrderKeyword.php
+++ /dev/null
@@ -1,134 +0,0 @@
-expr = $expr;
- $this->type = $type;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return OrderKeyword[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
-
- $expr = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 --------------------[ expression ]-------------------> 1
- *
- * 1 ------------------------[ , ]------------------------> 0
- * 1 -------------------[ ASC / DESC ]--------------------> 1
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $expr->expr = Expression::parse($parser, $list);
- $state = 1;
- } elseif ($state === 1) {
- if (($token->type === Token::TYPE_KEYWORD)
- && (($token->keyword === 'ASC') || ($token->keyword === 'DESC'))
- ) {
- $expr->type = $token->keyword;
- } elseif (($token->type === Token::TYPE_OPERATOR)
- && ($token->value === ',')
- ) {
- if (! empty($expr->expr)) {
- $ret[] = $expr;
- }
- $expr = new static();
- $state = 0;
- } else {
- break;
- }
- }
- }
-
- // Last iteration was not processed.
- if (! empty($expr->expr)) {
- $ret[] = $expr;
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param OrderKeyword|OrderKeyword[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(', ', $component);
- }
-
- return $component->expr . ' ' . $component->type;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ParameterDefinition.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ParameterDefinition.php
deleted file mode 100644
index d7aa293..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/ParameterDefinition.php
+++ /dev/null
@@ -1,165 +0,0 @@
-name = $name;
- $this->inOut = $inOut;
- $this->type = $type;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return ParameterDefinition[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
-
- $expr = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 -----------------------[ ( ]------------------------> 1
- *
- * 1 ----------------[ IN / OUT / INOUT ]----------------> 1
- * 1 ----------------------[ name ]----------------------> 2
- *
- * 2 -------------------[ data type ]--------------------> 3
- *
- * 3 ------------------------[ , ]-----------------------> 1
- * 3 ------------------------[ ) ]-----------------------> (END)
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- $state = 1;
- }
- continue;
- } elseif ($state === 1) {
- if (($token->value === 'IN') || ($token->value === 'OUT') || ($token->value === 'INOUT')) {
- $expr->inOut = $token->value;
- ++$list->idx;
- } elseif ($token->value === ')') {
- ++$list->idx;
- break;
- } else {
- $expr->name = $token->value;
- $state = 2;
- }
- } elseif ($state === 2) {
- $expr->type = DataType::parse($parser, $list);
- $state = 3;
- } elseif ($state === 3) {
- $ret[] = $expr;
- $expr = new static();
- if ($token->value === ',') {
- $state = 1;
- } elseif ($token->value === ')') {
- ++$list->idx;
- break;
- }
- }
- }
-
- // Last iteration was not saved.
- if (isset($expr->name) && ($expr->name !== '')) {
- $ret[] = $expr;
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param ParameterDefinition[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return '(' . implode(', ', $component) . ')';
- }
-
- $tmp = '';
- if (! empty($component->inOut)) {
- $tmp .= $component->inOut . ' ';
- }
-
- return trim(
- $tmp . Context::escape($component->name) . ' ' . $component->type
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/PartitionDefinition.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/PartitionDefinition.php
deleted file mode 100644
index e67e92f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/PartitionDefinition.php
+++ /dev/null
@@ -1,249 +0,0 @@
- [
- 1,
- 'var',
- ],
- 'ENGINE' => [
- 1,
- 'var',
- ],
- 'COMMENT' => [
- 2,
- 'var',
- ],
- 'DATA DIRECTORY' => [
- 3,
- 'var',
- ],
- 'INDEX DIRECTORY' => [
- 4,
- 'var',
- ],
- 'MAX_ROWS' => [
- 5,
- 'var',
- ],
- 'MIN_ROWS' => [
- 6,
- 'var',
- ],
- 'TABLESPACE' => [
- 7,
- 'var',
- ],
- 'NODEGROUP' => [
- 8,
- 'var',
- ],
- ];
-
- /**
- * Whether this entry is a subpartition or a partition.
- *
- * @var bool
- */
- public $isSubpartition;
-
- /**
- * The name of this partition.
- *
- * @var string
- */
- public $name;
-
- /**
- * The type of this partition (what follows the `VALUES` keyword).
- *
- * @var string
- */
- public $type;
-
- /**
- * The expression used to defined this partition.
- *
- * @var Expression|string
- */
- public $expr;
-
- /**
- * The subpartitions of this partition.
- *
- * @var PartitionDefinition[]
- */
- public $subpartitions;
-
- /**
- * The options of this field.
- *
- * @var OptionsArray
- */
- public $options;
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return PartitionDefinition
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 -------------[ PARTITION | SUBPARTITION ]------------> 1
- *
- * 1 -----------------------[ name ]----------------------> 2
- *
- * 2 ----------------------[ VALUES ]---------------------> 3
- *
- * 3 ---------------------[ LESS THAN ]-------------------> 4
- * 3 ------------------------[ IN ]-----------------------> 4
- *
- * 4 -----------------------[ expr ]----------------------> 5
- *
- * 5 ----------------------[ options ]--------------------> 6
- *
- * 6 ------------------[ subpartitions ]------------------> (END)
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $ret->isSubpartition = ($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'SUBPARTITION');
- $state = 1;
- } elseif ($state === 1) {
- $ret->name = $token->value;
-
- // Looking ahead for a 'VALUES' keyword.
- // Loop until the end of the partition name (delimited by a whitespace)
- while ($nextToken = $list->tokens[++$list->idx]) {
- if ($nextToken->type !== Token::TYPE_NONE) {
- break;
- }
- $ret->name .= $nextToken->value;
- }
- $idx = $list->idx--;
- // Get the first token after the white space.
- $nextToken = $list->tokens[++$idx];
-
- $state = ($nextToken->type === Token::TYPE_KEYWORD)
- && ($nextToken->value === 'VALUES')
- ? 2 : 5;
- } elseif ($state === 2) {
- $state = 3;
- } elseif ($state === 3) {
- $ret->type = $token->value;
- $state = 4;
- } elseif ($state === 4) {
- if ($token->value === 'MAXVALUE') {
- $ret->expr = $token->value;
- } else {
- $ret->expr = Expression::parse(
- $parser,
- $list,
- [
- 'parenthesesDelimited' => true,
- 'breakOnAlias' => true,
- ]
- );
- }
- $state = 5;
- } elseif ($state === 5) {
- $ret->options = OptionsArray::parse($parser, $list, static::$OPTIONS);
- $state = 6;
- } elseif ($state === 6) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- $ret->subpartitions = ArrayObj::parse(
- $parser,
- $list,
- [
- 'type' => 'PhpMyAdmin\\SqlParser\\Components\\PartitionDefinition',
- ]
- );
- ++$list->idx;
- }
- break;
- }
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param PartitionDefinition|PartitionDefinition[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return "(\n" . implode(",\n", $component) . "\n)";
- }
-
- if ($component->isSubpartition) {
- return trim('SUBPARTITION ' . $component->name . ' ' . $component->options);
- }
-
- $subpartitions = empty($component->subpartitions) ? '' : ' ' . self::build($component->subpartitions);
-
- return trim(
- 'PARTITION ' . $component->name
- . (empty($component->type) ? '' : ' VALUES ' . $component->type . ' ' . $component->expr . ' ')
- . (! empty($component->options) && ! empty($component->type) ? '' : ' ') . $component->options . $subpartitions
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Reference.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Reference.php
deleted file mode 100644
index 759f3ad..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/Reference.php
+++ /dev/null
@@ -1,156 +0,0 @@
- [
- 1,
- 'var',
- ],
- 'ON DELETE' => [
- 2,
- 'var',
- ],
- 'ON UPDATE' => [
- 3,
- 'var',
- ],
- ];
-
- /**
- * The referenced table.
- *
- * @var Expression
- */
- public $table;
-
- /**
- * The referenced columns.
- *
- * @var array
- */
- public $columns;
-
- /**
- * The options of the referencing.
- *
- * @var OptionsArray
- */
- public $options;
-
- /**
- * @param Expression $table the name of the table referenced
- * @param array $columns the columns referenced
- * @param OptionsArray $options the options
- */
- public function __construct($table = null, array $columns = [], $options = null)
- {
- $this->table = $table;
- $this->columns = $columns;
- $this->options = $options;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return Reference
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ----------------------[ table ]---------------------> 1
- *
- * 1 ---------------------[ columns ]--------------------> 2
- *
- * 2 ---------------------[ options ]--------------------> (END)
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $ret->table = Expression::parse(
- $parser,
- $list,
- [
- 'parseField' => 'table',
- 'breakOnAlias' => true,
- ]
- );
- $state = 1;
- } elseif ($state === 1) {
- $ret->columns = ArrayObj::parse($parser, $list)->values;
- $state = 2;
- } elseif ($state === 2) {
- $ret->options = OptionsArray::parse($parser, $list, static::$REFERENCES_OPTIONS);
- ++$list->idx;
- break;
- }
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param Reference $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- return trim(
- $component->table
- . ' (' . implode(', ', Context::escape($component->columns)) . ') '
- . $component->options
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/RenameOperation.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/RenameOperation.php
deleted file mode 100644
index a2a8d1f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/RenameOperation.php
+++ /dev/null
@@ -1,176 +0,0 @@
-old = $old;
- $this->new = $new;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return RenameOperation[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
-
- $expr = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------------[ old name ]--------------------> 1
- *
- * 1 ------------------------[ TO ]-----------------------> 2
- *
- * 2 ---------------------[ new name ]--------------------> 3
- *
- * 3 ------------------------[ , ]------------------------> 0
- * 3 -----------------------[ else ]----------------------> (END)
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $expr->old = Expression::parse(
- $parser,
- $list,
- [
- 'breakOnAlias' => true,
- 'parseField' => 'table',
- ]
- );
- if (empty($expr->old)) {
- $parser->error(
- 'The old name of the table was expected.',
- $token
- );
- }
- $state = 1;
- } elseif ($state === 1) {
- if ($token->type === Token::TYPE_KEYWORD && $token->keyword === 'TO') {
- $state = 2;
- } else {
- $parser->error(
- 'Keyword "TO" was expected.',
- $token
- );
- break;
- }
- } elseif ($state === 2) {
- $expr->new = Expression::parse(
- $parser,
- $list,
- [
- 'breakOnAlias' => true,
- 'parseField' => 'table',
- ]
- );
- if (empty($expr->new)) {
- $parser->error(
- 'The new name of the table was expected.',
- $token
- );
- }
- $state = 3;
- } elseif ($state === 3) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',')) {
- $ret[] = $expr;
- $expr = new static();
- $state = 0;
- } else {
- break;
- }
- }
- }
-
- if ($state !== 3) {
- $parser->error(
- 'A rename operation was expected.',
- $list->tokens[$list->idx - 1]
- );
- }
-
- // Last iteration was not saved.
- if (! empty($expr->old)) {
- $ret[] = $expr;
- }
-
- --$list->idx;
-
- return $ret;
- }
-
- /**
- * @param RenameOperation $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(', ', $component);
- }
-
- return $component->old . ' TO ' . $component->new;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/SetOperation.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/SetOperation.php
deleted file mode 100644
index 1e44650..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/SetOperation.php
+++ /dev/null
@@ -1,155 +0,0 @@
-column = $column;
- $this->value = $value;
- }
-
- /**
- * @param Parser $parser the parser that serves as context
- * @param TokensList $list the list of tokens that are being parsed
- * @param array $options parameters for parsing
- *
- * @return SetOperation[]
- */
- public static function parse(Parser $parser, TokensList $list, array $options = [])
- {
- $ret = [];
-
- $expr = new static();
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------------[ col_name ]--------------------> 0
- * 0 ------------------------[ = ]------------------------> 1
- * 1 -----------------------[ value ]---------------------> 1
- * 1 ------------------------[ , ]------------------------> 0
- *
- * @var int
- */
- $state = 0;
-
- /**
- * Token when the parser has seen the latest comma
- *
- * @var Token
- */
- $commaLastSeenAt = null;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- // No keyword is expected.
- if (($token->type === Token::TYPE_KEYWORD)
- && ($token->flags & Token::FLAG_KEYWORD_RESERVED)
- && ($state === 0)
- ) {
- break;
- }
-
- if ($state === 0) {
- if ($token->token === '=') {
- $state = 1;
- } elseif ($token->value !== ',') {
- $expr->column .= $token->token;
- } elseif ($token->value === ',') {
- $commaLastSeenAt = $token;
- }
- } elseif ($state === 1) {
- $tmp = Expression::parse(
- $parser,
- $list,
- [
- 'breakOnAlias' => true,
- ]
- );
- if ($tmp === null) {
- $parser->error('Missing expression.', $token);
- break;
- }
- $expr->column = trim($expr->column);
- $expr->value = $tmp->expr;
- $ret[] = $expr;
- $expr = new static();
- $state = 0;
- $commaLastSeenAt = null;
- }
- }
- --$list->idx;
-
- // We saw a comma, but didn't see a column-value pair after it
- if ($commaLastSeenAt !== null) {
- $parser->error('Unexpected token.', $commaLastSeenAt);
- }
-
- return $ret;
- }
-
- /**
- * @param SetOperation|SetOperation[] $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- if (is_array($component)) {
- return implode(', ', $component);
- }
-
- return $component->column . ' = ' . $component->value;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/UnionKeyword.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/UnionKeyword.php
deleted file mode 100644
index 55c9e29..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Components/UnionKeyword.php
+++ /dev/null
@@ -1,31 +0,0 @@
- $component the component to be built
- * @param array $options parameters for building
- *
- * @return string
- */
- public static function build($component, array $options = [])
- {
- $tmp = [];
- foreach ($component as $componentPart) {
- $tmp[] = $componentPart[0] . ' ' . $componentPart[1];
- }
-
- return implode(' ', $tmp);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Context.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Context.php
deleted file mode 100644
index 138c5c5..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Context.php
+++ /dev/null
@@ -1,581 +0,0 @@
- 1,
- '*' => 1,
- '+' => 1,
- '-' => 1,
- '/' => 1,
-
- // @see Token::FLAG_OPERATOR_LOGICAL
- '!' => 2,
- '!=' => 2,
- '&&' => 2,
- '<' => 2,
- '<=' => 2,
- '<=>' => 2,
- '<>' => 2,
- '=' => 2,
- '>' => 2,
- '>=' => 2,
- '||' => 2,
-
- // @see Token::FLAG_OPERATOR_BITWISE
- '&' => 4,
- '<<' => 4,
- '>>' => 4,
- '^' => 4,
- '|' => 4,
- '~' => 4,
-
- // @see Token::FLAG_OPERATOR_ASSIGNMENT
- ':=' => 8,
-
- // @see Token::FLAG_OPERATOR_SQL
- '(' => 16,
- ')' => 16,
- '.' => 16,
- ',' => 16,
- ';' => 16,
- ];
-
- /**
- * The mode of the MySQL server that will be used in lexing, parsing and
- * building the statements.
- *
- * @var int
- */
- public static $MODE = 0;
-
- /*
- * Server SQL Modes
- * https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html
- */
-
- // Compatibility mode for Microsoft's SQL server.
- // This is the equivalent of ANSI_QUOTES.
- const SQL_MODE_COMPAT_MYSQL = 2;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_allow_invalid_dates
- const SQL_MODE_ALLOW_INVALID_DATES = 1;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_ansi_quotes
- const SQL_MODE_ANSI_QUOTES = 2;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_error_for_division_by_zero
- const SQL_MODE_ERROR_FOR_DIVISION_BY_ZERO = 4;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_high_not_precedence
- const SQL_MODE_HIGH_NOT_PRECEDENCE = 8;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_ignore_space
- const SQL_MODE_IGNORE_SPACE = 16;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_auto_create_user
- const SQL_MODE_NO_AUTO_CREATE_USER = 32;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_auto_value_on_zero
- const SQL_MODE_NO_AUTO_VALUE_ON_ZERO = 64;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_backslash_escapes
- const SQL_MODE_NO_BACKSLASH_ESCAPES = 128;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_dir_in_create
- const SQL_MODE_NO_DIR_IN_CREATE = 256;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_dir_in_create
- const SQL_MODE_NO_ENGINE_SUBSTITUTION = 512;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_field_options
- const SQL_MODE_NO_FIELD_OPTIONS = 1024;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_key_options
- const SQL_MODE_NO_KEY_OPTIONS = 2048;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_table_options
- const SQL_MODE_NO_TABLE_OPTIONS = 4096;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_unsigned_subtraction
- const SQL_MODE_NO_UNSIGNED_SUBTRACTION = 8192;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_zero_date
- const SQL_MODE_NO_ZERO_DATE = 16384;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_no_zero_in_date
- const SQL_MODE_NO_ZERO_IN_DATE = 32768;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_only_full_group_by
- const SQL_MODE_ONLY_FULL_GROUP_BY = 65536;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_pipes_as_concat
- const SQL_MODE_PIPES_AS_CONCAT = 131072;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_real_as_float
- const SQL_MODE_REAL_AS_FLOAT = 262144;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables
- const SQL_MODE_STRICT_ALL_TABLES = 524288;
-
- // https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sqlmode_strict_trans_tables
- const SQL_MODE_STRICT_TRANS_TABLES = 1048576;
-
- // Custom modes.
-
- // The table and column names and any other field that must be escaped will
- // not be.
- // Reserved keywords are being escaped regardless this mode is used or not.
- const SQL_MODE_NO_ENCLOSING_QUOTES = 1073741824;
-
- /*
- * Combination SQL Modes
- * https://dev.mysql.com/doc/refman/5.0/en/sql-mode.html#sql-mode-combo
- */
-
- // REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE
- const SQL_MODE_ANSI = 393234;
-
- // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS,
- // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS,
- const SQL_MODE_DB2 = 138258;
-
- // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS,
- // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER
- const SQL_MODE_MAXDB = 138290;
-
- // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS,
- // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS
- const SQL_MODE_MSSQL = 138258;
-
- // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS,
- // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER
- const SQL_MODE_ORACLE = 138290;
-
- // PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS,
- // NO_TABLE_OPTIONS, NO_FIELD_OPTIONS
- const SQL_MODE_POSTGRESQL = 138258;
-
- // STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE,
- // ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER
- const SQL_MODE_TRADITIONAL = 1622052;
-
- // -------------------------------------------------------------------------
- // Keyword.
-
- /**
- * Checks if the given string is a keyword.
- *
- * @param string $str string to be checked
- * @param bool $isReserved checks if the keyword is reserved
- *
- * @return int|null
- */
- public static function isKeyword($str, $isReserved = false)
- {
- $str = strtoupper($str);
-
- if (isset(static::$KEYWORDS[$str])) {
- if ($isReserved && ! (static::$KEYWORDS[$str] & Token::FLAG_KEYWORD_RESERVED)) {
- return null;
- }
-
- return static::$KEYWORDS[$str];
- }
-
- return null;
- }
-
- // -------------------------------------------------------------------------
- // Operator.
-
- /**
- * Checks if the given string is an operator.
- *
- * @param string $str string to be checked
- *
- * @return int|null the appropriate flag for the operator
- */
- public static function isOperator($str)
- {
- if (! isset(static::$OPERATORS[$str])) {
- return null;
- }
-
- return static::$OPERATORS[$str];
- }
-
- // -------------------------------------------------------------------------
- // Whitespace.
-
- /**
- * Checks if the given character is a whitespace.
- *
- * @param string $str string to be checked
- *
- * @return bool
- */
- public static function isWhitespace($str)
- {
- return ($str === ' ') || ($str === "\r") || ($str === "\n") || ($str === "\t");
- }
-
- // -------------------------------------------------------------------------
- // Comment.
-
- /**
- * Checks if the given string is the beginning of a whitespace.
- *
- * @param string $str string to be checked
- * @param mixed $end
- *
- * @return int|null the appropriate flag for the comment type
- */
- public static function isComment($str, $end = false)
- {
- $len = strlen($str);
- if ($len === 0) {
- return null;
- }
- if ($str[0] === '#') {
- return Token::FLAG_COMMENT_BASH;
- } elseif (($len > 1) && ($str[0] === '/') && ($str[1] === '*')) {
- return ($len > 2) && ($str[2] === '!') ?
- Token::FLAG_COMMENT_MYSQL_CMD : Token::FLAG_COMMENT_C;
- } elseif (($len > 1) && ($str[0] === '*') && ($str[1] === '/')) {
- return Token::FLAG_COMMENT_C;
- } elseif (($len > 2) && ($str[0] === '-')
- && ($str[1] === '-') && static::isWhitespace($str[2])
- ) {
- return Token::FLAG_COMMENT_SQL;
- } elseif (($len === 2) && $end && ($str[0] === '-') && ($str[1] === '-')) {
- return Token::FLAG_COMMENT_SQL;
- }
-
- return null;
- }
-
- // -------------------------------------------------------------------------
- // Bool.
-
- /**
- * Checks if the given string is a boolean value.
- * This actually check only for `TRUE` and `FALSE` because `1` or `0` are
- * actually numbers and are parsed by specific methods.
- *
- * @param string $str string to be checked
- *
- * @return bool
- */
- public static function isBool($str)
- {
- $str = strtoupper($str);
-
- return ($str === 'TRUE') || ($str === 'FALSE');
- }
-
- // -------------------------------------------------------------------------
- // Number.
-
- /**
- * Checks if the given character can be a part of a number.
- *
- * @param string $str string to be checked
- *
- * @return bool
- */
- public static function isNumber($str)
- {
- return ($str >= '0') && ($str <= '9') || ($str === '.')
- || ($str === '-') || ($str === '+') || ($str === 'e') || ($str === 'E');
- }
-
- // -------------------------------------------------------------------------
- // Symbol.
-
- /**
- * Checks if the given character is the beginning of a symbol. A symbol
- * can be either a variable or a field name.
- *
- * @param string $str string to be checked
- *
- * @return int|null the appropriate flag for the symbol type
- */
- public static function isSymbol($str)
- {
- if (strlen($str) === 0) {
- return null;
- }
- if ($str[0] === '@') {
- return Token::FLAG_SYMBOL_VARIABLE;
- } elseif ($str[0] === '`') {
- return Token::FLAG_SYMBOL_BACKTICK;
- } elseif ($str[0] === ':' || $str[0] === '?') {
- return Token::FLAG_SYMBOL_PARAMETER;
- }
-
- return null;
- }
-
- // -------------------------------------------------------------------------
- // String.
-
- /**
- * Checks if the given character is the beginning of a string.
- *
- * @param string $str string to be checked
- *
- * @return int|null the appropriate flag for the string type
- */
- public static function isString($str)
- {
- if (strlen($str) === 0) {
- return null;
- }
- if ($str[0] === '\'') {
- return Token::FLAG_STRING_SINGLE_QUOTES;
- } elseif ($str[0] === '"') {
- return Token::FLAG_STRING_DOUBLE_QUOTES;
- }
-
- return null;
- }
-
- // -------------------------------------------------------------------------
- // Delimiter.
-
- /**
- * Checks if the given character can be a separator for two lexeme.
- *
- * @param string $str string to be checked
- *
- * @return bool
- */
- public static function isSeparator($str)
- {
- // NOTES: Only non alphanumeric ASCII characters may be separators.
- // `~` is the last printable ASCII character.
- return ($str <= '~') && ($str !== '_')
- && (($str < '0') || ($str > '9'))
- && (($str < 'a') || ($str > 'z'))
- && (($str < 'A') || ($str > 'Z'));
- }
-
- /**
- * Loads the specified context.
- *
- * Contexts may be used by accessing the context directly.
- *
- * @param string $context name of the context or full class name that
- * defines the context
- *
- * @throws LoaderException if the specified context doesn't exist.
- */
- public static function load($context = '')
- {
- if (empty($context)) {
- $context = self::$defaultContext;
- }
- if ($context[0] !== '\\') {
- // Short context name (must be formatted into class name).
- $context = self::$contextPrefix . $context;
- }
- if (! class_exists($context)) {
- throw @new LoaderException(
- 'Specified context ("' . $context . '") does not exist.',
- $context
- );
- }
- self::$loadedContext = $context;
- self::$KEYWORDS = $context::$KEYWORDS;
- }
-
- /**
- * Loads the context with the closest version to the one specified.
- *
- * The closest context is found by replacing last digits with zero until one
- * is loaded successfully.
- *
- * @see Context::load()
- *
- * @param string $context name of the context or full class name that
- * defines the context
- *
- * @return string|null The loaded context. `null` if no context was loaded.
- */
- public static function loadClosest($context = '')
- {
- $length = strlen($context);
- for ($i = $length; $i > 0;) {
- try {
- /* Trying to load the new context */
- static::load($context);
- return $context;
- } catch (LoaderException $e) {
- /* Replace last two non zero digits by zeroes */
- do {
- $i -= 2;
- $part = substr($context, $i, 2);
- /* No more numeric parts to strip */
- if (! is_numeric($part)) {
- break 2;
- }
- } while (intval($part) === 0 && $i > 0);
- $context = substr($context, 0, $i) . '00' . substr($context, $i + 2);
- }
- }
- /* Fallback to loading at least matching engine */
- if (strncmp($context, 'MariaDb', 7) === 0) {
- return static::loadClosest('MariaDb100300');
- } elseif (strncmp($context, 'MySql', 5) === 0) {
- return static::loadClosest('MySql50700');
- }
- return null;
- }
-
- /**
- * Sets the SQL mode.
- *
- * @param string $mode The list of modes. If empty, the mode is reset.
- */
- public static function setMode($mode = '')
- {
- static::$MODE = 0;
- if (empty($mode)) {
- return;
- }
- $mode = explode(',', $mode);
- foreach ($mode as $m) {
- static::$MODE |= constant('static::SQL_MODE_' . $m);
- }
- }
-
- /**
- * Escapes the symbol by adding surrounding backticks.
- *
- * @param array|string $str the string to be escaped
- * @param string $quote quote to be used when escaping
- *
- * @return string|array
- */
- public static function escape($str, $quote = '`')
- {
- if (is_array($str)) {
- foreach ($str as $key => $value) {
- $str[$key] = static::escape($value);
- }
-
- return $str;
- }
-
- if ((static::$MODE & self::SQL_MODE_NO_ENCLOSING_QUOTES)
- && (! static::isKeyword($str, true))
- ) {
- return $str;
- }
-
- if (static::$MODE & self::SQL_MODE_ANSI_QUOTES) {
- $quote = '"';
- }
-
- return $quote . str_replace($quote, $quote . $quote, $str) . $quote;
- }
-}
-
-// Initializing the default context.
-Context::load();
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100000.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100000.php
deleted file mode 100644
index b6646bb..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100000.php
+++ /dev/null
@@ -1,312 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1,
- 'ONE' => 1, 'ROW' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1,
- 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1,
- 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1,
- 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1,
- 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1,
- 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1,
- 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1,
- 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1,
- 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
- 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
- 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1,
- 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1,
- 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1,
- 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1,
- 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1,
- 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1,
- 'STRING' => 1, 'TABLES' => 1,
- 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1,
- 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1,
- 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1,
- 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1,
- 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1,
- 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1,
- 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1,
- 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXTENDED' => 1, 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1,
- 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
- 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
- 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
- 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1,
- 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
- 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1,
- 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1,
- 'TABLESPACE' => 1, 'TABLE_NAME' => 1,
- 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1,
- 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1,
- 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1,
- 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1,
- 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MESSAGE_TEXT' => 1,
- 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1,
- 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1,
- 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1,
- 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1,
- 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1,
- 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1,
- 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
- 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1,
- 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1,
- 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1,
- 'CONSTRAINT_CATALOG' => 1,
- 'SQL_TSI_FRAC_SECOND' => 1,
- 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1,
- 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1,
- 'MASTER_HEARTBEAT_PERIOD' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3,
- 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3,
- 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3,
- 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3,
- 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3,
- 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
- 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3,
- 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33,
- 'USER' => 33, 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33,
- 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33,
- 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33,
- 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33,
- 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33,
- 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33,
- 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33,
- 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33,
- 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33,
- 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33,
- 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33,
- 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33,
- 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33,
- 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33,
- 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33,
- 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33,
- 'SUBSTRING' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33,
- 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33,
- 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33,
- 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33,
- 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33,
- 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33,
- 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33,
- 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33,
- 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33,
- 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33,
- 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33,
- 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33,
- 'TIMESTAMPDIFF' => 33,
- 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33,
- 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33,
- 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'NUMINTERIORRINGS' => 33,
- 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33,
- 'MULTIPOINTFROMTEXT' => 33,
- 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33,
- 'MULTIPOLYGONFROMTEXT' => 33,
- 'MULTILINESTRINGFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33,
- 'GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'GEOMETRYCOLLECTIONFROMTEXT' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100100.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100100.php
deleted file mode 100644
index 9eca83a..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100100.php
+++ /dev/null
@@ -1,361 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1,
- 'ONE' => 1, 'ROW' => 1, 'XID' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1,
- 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1,
- 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1,
- 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1,
- 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1,
- 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1,
- 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1,
- 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1,
- 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1,
- 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1,
- 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1,
- 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1,
- 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1,
- 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1,
- 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1,
- 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1,
- 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1,
- 'TABLES' => 1,
- 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1,
- 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1,
- 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1,
- 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1,
- 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1,
- 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1,
- 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1,
- 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1,
- 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1,
- 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
- 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
- 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
- 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1,
- 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
- 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1,
- 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1,
- 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1,
- 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1,
- 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1,
- 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1,
- 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1,
- 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1,
- 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1,
- 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1,
- 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1,
- 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1,
- 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1,
- 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
- 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
- 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1,
- 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1,
- 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1,
- 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1,
- 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1,
- 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1,
- 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1,
- 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1,
- 'STATS_SAMPLE_PAGES' => 1,
- 'REPLICATE_IGNORE_DB' => 1,
- 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1,
- 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1,
- 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1,
- 'REPLICATE_IGNORE_TABLE' => 1,
- 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'REPLICATE_WILD_IGNORE_TABLE' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3,
- 'USE' => 3, 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3,
- 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3,
- 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3,
- 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3,
- 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
- 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'MIDDLEINT' => 3,
- 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3,
- 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'MASTER_BIND' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33,
- 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33,
- 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33,
- 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33,
- 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33,
- 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33,
- 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33,
- 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33,
- 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33,
- 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33,
- 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33,
- 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33,
- 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33,
- 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33,
- 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33,
- 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33,
- 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33,
- 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33,
- 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33,
- 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33,
- 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33,
- 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33,
- 'TO_BASE64' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33,
- 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33,
- 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33,
- 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33,
- 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33,
- 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33,
- 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33,
- 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33,
- 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33,
- 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33,
- 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33,
- 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33,
- 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33,
- 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33,
- 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33,
- 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33,
- 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33,
- 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33,
- 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33,
- 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33,
- 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33,
- 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33,
- 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33,
- 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33,
- 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33,
- 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33,
- 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33,
- 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33,
- 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33,
- 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33,
- 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33,
- 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33,
- 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33,
- 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33,
- 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33,
- 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33,
- 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33,
- 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33,
- 'ST_POLYGONFROMWKB' => 33,
- 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33,
- 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33,
- 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33,
- 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33,
- 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33,
- 'UNCOMPRESSED_LENGTH' => 33,
- 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33,
- 'ST_MULTIPOINTFROMWKB' => 33,
- 'ST_MULTIPOINTFROMTEXT' => 33,
- 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33,
- 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33,
- 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33,
- 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33,
- 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100200.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100200.php
deleted file mode 100644
index 8f088aa..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100200.php
+++ /dev/null
@@ -1,361 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1,
- 'ONE' => 1, 'ROW' => 1, 'XID' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1,
- 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1,
- 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1,
- 'PORT' => 1, 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1,
- 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1,
- 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1,
- 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1,
- 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1,
- 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1,
- 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1,
- 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1,
- 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1,
- 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1,
- 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1,
- 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1,
- 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1,
- 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1,
- 'TABLES' => 1,
- 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1,
- 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1,
- 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1,
- 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1,
- 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1,
- 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1,
- 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1,
- 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1,
- 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1,
- 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
- 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
- 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
- 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1,
- 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
- 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1,
- 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1,
- 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1,
- 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1,
- 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1,
- 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1,
- 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1,
- 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1,
- 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1,
- 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1,
- 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1,
- 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1,
- 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1,
- 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
- 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
- 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1,
- 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1,
- 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1,
- 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1,
- 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1,
- 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1,
- 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1,
- 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1,
- 'STATS_SAMPLE_PAGES' => 1,
- 'REPLICATE_IGNORE_DB' => 1,
- 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1,
- 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1,
- 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1,
- 'REPLICATE_IGNORE_TABLE' => 1,
- 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'REPLICATE_WILD_IGNORE_TABLE' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3,
- 'USE' => 3, 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3,
- 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3,
- 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3,
- 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3,
- 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
- 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'MIDDLEINT' => 3,
- 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'RECURSIVE' => 3,
- 'SENSITIVE' => 3, 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'MASTER_BIND' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33,
- 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33,
- 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33,
- 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33,
- 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33,
- 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33,
- 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33,
- 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33,
- 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33,
- 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33,
- 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33,
- 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33,
- 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33,
- 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33,
- 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33,
- 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33,
- 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33,
- 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33,
- 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33,
- 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33,
- 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33,
- 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33,
- 'TO_BASE64' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33,
- 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33,
- 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33,
- 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33,
- 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33,
- 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33,
- 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33,
- 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33,
- 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33,
- 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33,
- 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33,
- 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33,
- 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33,
- 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33,
- 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33,
- 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33,
- 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33,
- 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33,
- 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33,
- 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33,
- 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33,
- 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33,
- 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33,
- 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33,
- 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33,
- 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33,
- 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33,
- 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33,
- 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33,
- 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33,
- 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33,
- 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33,
- 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33,
- 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33,
- 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33,
- 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33,
- 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33,
- 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33,
- 'ST_POLYGONFROMWKB' => 33,
- 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33,
- 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33,
- 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33,
- 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33,
- 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33,
- 'UNCOMPRESSED_LENGTH' => 33,
- 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33,
- 'ST_MULTIPOINTFROMWKB' => 33,
- 'ST_MULTIPOINTFROMTEXT' => 33,
- 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33,
- 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33,
- 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33,
- 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33,
- 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100300.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100300.php
deleted file mode 100644
index c631731..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMariaDb100300.php
+++ /dev/null
@@ -1,361 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1,
- 'ONE' => 1, 'ROW' => 1, 'XID' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1,
- 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1,
- 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1,
- 'PORT' => 1, 'PREV' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1,
- 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1,
- 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1,
- 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1,
- 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1,
- 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1,
- 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1,
- 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1,
- 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1,
- 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1,
- 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1,
- 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1,
- 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1,
- 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1,
- 'TABLES' => 1,
- 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1,
- 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1,
- 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1,
- 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1,
- 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1,
- 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1,
- 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1,
- 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1,
- 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1,
- 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
- 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
- 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SEQUENCE' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1,
- 'SWITCHES' => 1, 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1,
- 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
- 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1,
- 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1,
- 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1,
- 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1,
- 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1,
- 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1,
- 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1,
- 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1,
- 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1,
- 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1,
- 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1,
- 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1,
- 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1,
- 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
- 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
- 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1,
- 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1,
- 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1,
- 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1,
- 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1,
- 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1,
- 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1,
- 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1,
- 'STATS_SAMPLE_PAGES' => 1,
- 'REPLICATE_IGNORE_DB' => 1,
- 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1,
- 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1,
- 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1,
- 'REPLICATE_IGNORE_TABLE' => 1,
- 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'REPLICATE_WILD_IGNORE_TABLE' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3,
- 'USE' => 3, 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'ROWS' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3,
- 'UNDO' => 3, 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXCEPT' => 3, 'EXISTS' => 3, 'FLOAT4' => 3,
- 'FLOAT8' => 3, 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3,
- 'OPTION' => 3, 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3,
- 'SELECT' => 3, 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3,
- 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
- 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'INTERSECT' => 3,
- 'MIDDLEINT' => 3, 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3,
- 'RECURSIVE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'MASTER_BIND' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33,
- 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33,
- 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33,
- 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33,
- 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33,
- 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33,
- 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33,
- 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33,
- 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33,
- 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33,
- 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33,
- 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33,
- 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33,
- 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33,
- 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33,
- 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33,
- 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33,
- 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33,
- 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33,
- 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33,
- 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33,
- 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33,
- 'TO_BASE64' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33,
- 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33,
- 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33,
- 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33,
- 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33,
- 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33,
- 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33,
- 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33,
- 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33,
- 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33,
- 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33,
- 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33,
- 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33,
- 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33,
- 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33,
- 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33,
- 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33,
- 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33,
- 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33,
- 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33,
- 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33,
- 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33,
- 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33,
- 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33,
- 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33,
- 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33,
- 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33,
- 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33,
- 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33,
- 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33,
- 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33,
- 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33,
- 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33,
- 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33,
- 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33,
- 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33,
- 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33,
- 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33,
- 'ST_POLYGONFROMWKB' => 33,
- 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33,
- 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33,
- 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33,
- 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33,
- 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33,
- 'UNCOMPRESSED_LENGTH' => 33,
- 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33,
- 'ST_MULTIPOINTFROMWKB' => 33,
- 'ST_MULTIPOINTFROMTEXT' => 33,
- 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33,
- 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33,
- 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33,
- 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33,
- 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50000.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50000.php
deleted file mode 100644
index 7621623..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50000.php
+++ /dev/null
@@ -1,282 +0,0 @@
- 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'BDB' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1,
- 'NEW' => 1, 'ONE' => 1, 'ROW' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'FAST' => 1,
- 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1, 'LAST' => 1, 'LOGS' => 1,
- 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1,
- 'PREV' => 1, 'ROWS' => 1, 'SOME' => 1, 'STOP' => 1, 'TYPE' => 1, 'VIEW' => 1,
- 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1,
- 'FOUND' => 1, 'HOSTS' => 1, 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1,
- 'MERGE' => 1, 'MUTEX' => 1, 'NAMES' => 1, 'NCHAR' => 1, 'PHASE' => 1,
- 'QUERY' => 1, 'QUICK' => 1, 'RAID0' => 1, 'RESET' => 1, 'RTREE' => 1,
- 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1,
- 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
- 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
- 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1,
- 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1,
- 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'RELOAD' => 1,
- 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SIGNED' => 1, 'SIMPLE' => 1,
- 'SOUNDS' => 1, 'SOURCE' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1,
- 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1,
- 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1,
- 'EXECUTE' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INVOKER' => 1, 'MIGRATE' => 1,
- 'PARTIAL' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'RECOVER' => 1, 'RESTORE' => 1,
- 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'STRIPED' => 1,
- 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1,
- 'USE_FRM' => 1, 'VIRTUAL' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DUMPFILE' => 1, 'EXTENDED' => 1,
- 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1, 'MAX_ROWS' => 1,
- 'MIN_ROWS' => 1, 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1,
- 'PROFILES' => 1, 'ROLLBACK' => 1, 'SECURITY' => 1, 'SHUTDOWN' => 1,
- 'SNAPSHOT' => 1, 'SWITCHES' => 1, 'TRIGGERS' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'PACK_KEYS' => 1, 'RAID_TYPE' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1,
- 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1,
- 'VARIABLES' => 1,
- 'BERKELEYDB' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1,
- 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1,
- 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1,
- 'PROCESSLIST' => 1, 'RAID_CHUNKS' => 1, 'REPLICATION' => 1, 'SQL_TSI_DAY' => 1,
- 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'DES_KEY_FILE' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1,
- 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1,
- 'SQL_TSI_YEAR' => 1,
- 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1,
- 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'MASTER_LOG_POS' => 1,
- 'MASTER_SSL_KEY' => 1, 'RAID_CHUNKSIZE' => 1, 'RELAY_LOG_FILE' => 1,
- 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'USER_RESOURCES' => 1,
- 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1,
- 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1,
- 'MASTER_SERVER_ID' => 1,
- 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1,
- 'SQL_TSI_FRAC_SECOND' => 1,
- 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1,
- 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3,
- 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3,
- 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3, 'UNION' => 3,
- 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3, 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'OPTION' => 3, 'REGEXP' => 3,
- 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3, 'SONAME' => 3,
- 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESTRICT' => 3,
- 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3,
- 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PRECISION' => 3,
- 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3,
- 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3, 'DAY_SECOND' => 3,
- 'OPTIONALLY' => 3, 'REFERENCES' => 3, 'SQLWARNING' => 3, 'TERMINATED' => 3,
- 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, 'USER' => 33,
- 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ATAN2' => 33, 'COUNT' => 33, 'CRC32' => 33, 'FIELD' => 33,
- 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33,
- 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33,
- 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33,
- 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33,
- 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33,
- 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33,
- 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33,
- 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33,
- 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33,
- 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33,
- 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33,
- 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33,
- 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33,
- 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33,
- 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33,
- 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33,
- 'SUBSTRING' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33,
- 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'UNCOMPRESS' => 33, 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33,
- 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33,
- 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33,
- 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'GEOMETRYTYPE' => 33,
- 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33, 'IS_FREE_LOCK' => 33,
- 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33, 'MLINEFROMWKB' => 33,
- 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33,
- 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33,
- 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33,
- 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33,
- 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33,
- 'TIMESTAMPDIFF' => 33,
- 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'NUMINTERIORRINGS' => 33,
- 'UNCOMPRESSED_LENGTH' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50100.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50100.php
deleted file mode 100644
index dbf8f86..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50100.php
+++ /dev/null
@@ -1,307 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'BDB' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1,
- 'NEW' => 1, 'ONE' => 1, 'ROW' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'GOTO' => 1, 'HASH' => 1,
- 'HELP' => 1, 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1,
- 'MODE' => 1, 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1,
- 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1,
- 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'EVENT' => 1, 'EVERY' => 1, 'FIRST' => 1,
- 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1, 'LABEL' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'QUERY' => 1,
- 'QUICK' => 1, 'RAID0' => 1, 'RESET' => 1, 'RTREE' => 1, 'SHARE' => 1,
- 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1, 'TYPES' => 1,
- 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
- 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
- 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1,
- 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1,
- 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1,
- 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1,
- 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1,
- 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1,
- 'STRING' => 1, 'TABLES' => 1,
- 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1,
- 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1,
- 'ENGINES' => 1, 'EXECUTE' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1,
- 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1,
- 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1,
- 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1,
- 'STORAGE' => 1, 'STRIPED' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1,
- 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXTENDED' => 1, 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1,
- 'MAXVALUE' => 1, 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1,
- 'NATIONAL' => 1, 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1,
- 'PROFILES' => 1, 'REDOFILE' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
- 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'PARTITION' => 1, 'RAID_TYPE' => 1,
- 'READ_ONLY' => 1, 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SCHEDULER' => 1,
- 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1, 'UNDEFINED' => 1,
- 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'BERKELEYDB' => 1, 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1,
- 'CONNECTION' => 1, 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1,
- 'MASTER_SSL' => 1, 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1,
- 'PRIVILEGES' => 1, 'REORGANISE' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1,
- 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1, 'TABLESPACE' => 1,
- 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1,
- 'MASTER_USER' => 1, 'PROCESSLIST' => 1, 'RAID_CHUNKS' => 1, 'REPLICATION' => 1,
- 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CONTRIBUTORS' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1,
- 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1,
- 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1,
- 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1,
- 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'PAGE_CHECKSUM' => 1,
- 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'TRANSACTIONAL' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RAID_CHUNKSIZE' => 1,
- 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
- 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'DELAY_KEY_WRITE' => 1, 'MASTER_LOG_FILE' => 1,
- 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1, 'SQL_TSI_QUARTER' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1,
- 'SQL_TSI_FRAC_SECOND' => 1,
- 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1,
- 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3,
- 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3,
- 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3,
- 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3,
- 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3, 'RESTRICT' => 3,
- 'SPECIFIC' => 3, 'SQLSTATE' => 3, 'STARTING' => 3, 'TRAILING' => 3,
- 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PRECISION' => 3,
- 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33, 'USER' => 33,
- 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'DECOD' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33,
- 'LCASE' => 33, 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33,
- 'MONTH' => 33, 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33,
- 'SLEEP' => 33, 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'ENCODE' => 33, 'EQUALS' => 33,
- 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33, 'LOCATE' => 33,
- 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33, 'STDDEV' => 33,
- 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33,
- 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33,
- 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33,
- 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33,
- 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33,
- 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33,
- 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33,
- 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33,
- 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33,
- 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33,
- 'SUBSTRING' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33,
- 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33,
- 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33,
- 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33,
- 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33,
- 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33,
- 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33,
- 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33,
- 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33,
- 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33,
- 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33,
- 'TIMESTAMPDIFF' => 33,
- 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33,
- 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33,
- 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'NUMINTERIORRINGS' => 33,
- 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33,
- 'MULTIPOINTFROMTEXT' => 33,
- 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33,
- 'MULTIPOLYGONFROMTEXT' => 33,
- 'MULTILINESTRINGFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33,
- 'GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'GEOMETRYCOLLECTIONFROMTEXT' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50500.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50500.php
deleted file mode 100644
index b5b0f26..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50500.php
+++ /dev/null
@@ -1,312 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1,
- 'ONE' => 1, 'ROW' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1,
- 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1,
- 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'OPEN' => 1, 'PAGE' => 1, 'PORT' => 1,
- 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1, 'THAN' => 1,
- 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1,
- 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1,
- 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1,
- 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1,
- 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
- 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
- 'EVENTS' => 1, 'FAULTS' => 1, 'FIELDS' => 1, 'GLOBAL' => 1, 'GRANTS' => 1,
- 'IMPORT' => 1, 'INNODB' => 1, 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1,
- 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'OFFSET' => 1, 'PARSER' => 1,
- 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1,
- 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1,
- 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1,
- 'STRING' => 1, 'TABLES' => 1,
- 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1, 'COMPACT' => 1,
- 'CONTEXT' => 1, 'DEFINER' => 1, 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1,
- 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1,
- 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1,
- 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1,
- 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1,
- 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1,
- 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'VIRTUAL' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXTENDED' => 1, 'FUNCTION' => 1, 'INNOBASE' => 1, 'LANGUAGE' => 1,
- 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
- 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
- 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
- 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'PARTITION' => 1, 'READ_ONLY' => 1,
- 'REDUNDANT' => 1, 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1,
- 'TEMPTABLE' => 1, 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PRIVILEGES' => 1,
- 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1, 'SQL_THREAD' => 1,
- 'TABLESPACE' => 1, 'TABLE_NAME' => 1,
- 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'EXTENT_SIZE' => 1, 'FRAC_SECOND' => 1,
- 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1,
- 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1,
- 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1,
- 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MESSAGE_TEXT' => 1,
- 'PARTITIONING' => 1, 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1,
- 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1,
- 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1,
- 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1, 'RELAY_LOG_POS' => 1,
- 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_KEY' => 1, 'RELAY_LOG_FILE' => 1,
- 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1, 'TABLE_CHECKSUM' => 1,
- 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
- 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1,
- 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1,
- 'MASTER_SSL_CIPHER' => 1, 'SQL_BUFFER_RESULT' => 1,
- 'CONSTRAINT_CATALOG' => 1,
- 'SQL_TSI_FRAC_SECOND' => 1,
- 'MASTER_CONNECT_RETRY' => 1, 'MAX_QUERIES_PER_HOUR' => 1,
- 'MAX_UPDATES_PER_HOUR' => 1, 'MAX_USER_CONNECTIONS' => 1,
- 'MASTER_HEARTBEAT_PERIOD' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3, 'USE' => 3,
- 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3,
- 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3,
- 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3,
- 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3,
- 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
- 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PRECISION' => 3,
- 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'TRIM' => 33,
- 'USER' => 33, 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33,
- 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33,
- 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33,
- 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'CONCAT' => 33, 'DECODE' => 33, 'ENCODE' => 33,
- 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33, 'LENGTH' => 33,
- 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33, 'SECOND' => 33,
- 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'QUARTER' => 33, 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33,
- 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33,
- 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33,
- 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33,
- 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33,
- 'PASSWORD' => 33, 'POSITION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33,
- 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33,
- 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33,
- 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33,
- 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33,
- 'SUBSTRING' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33,
- 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INTERSECTS' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33, 'UUID_SHORT' => 33,
- 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'GEOMFROMWKB' => 33,
- 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33,
- 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33,
- 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33,
- 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33,
- 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33,
- 'POLYFROMTEXT' => 33, 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33,
- 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'INTERIORRINGN' => 33,
- 'MBRINTERSECTS' => 33, 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33,
- 'MPOLYFROMTEXT' => 33, 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33,
- 'TIMESTAMPDIFF' => 33,
- 'LAST_INSERT_ID' => 33, 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33,
- 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33,
- 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'NUMINTERIORRINGS' => 33,
- 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33,
- 'MULTIPOINTFROMTEXT' => 33,
- 'MULTIPOLYGONFROMWKB' => 33, 'UNCOMPRESSED_LENGTH' => 33,
- 'MULTIPOLYGONFROMTEXT' => 33,
- 'MULTILINESTRINGFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33,
- 'GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'GEOMETRYCOLLECTIONFROMTEXT' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50600.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50600.php
deleted file mode 100644
index f60ae05..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50600.php
+++ /dev/null
@@ -1,341 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1,
- 'ONE' => 1, 'ROW' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1,
- 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1,
- 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1,
- 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1,
- 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1,
- 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'OWNER' => 1, 'PHASE' => 1, 'PROXY' => 1,
- 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1, 'RTREE' => 1,
- 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1, 'SWAPS' => 1,
- 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1, 'CLIENT' => 1,
- 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1, 'ESCAPE' => 1,
- 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1, 'FIELDS' => 1,
- 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1, 'ISSUER' => 1, 'LEAVES' => 1,
- 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1, 'MODIFY' => 1, 'NUMBER' => 1,
- 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1, 'RELOAD' => 1, 'REMOVE' => 1,
- 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1, 'SERVER' => 1, 'SIGNED' => 1,
- 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1, 'SOUNDS' => 1, 'SOURCE' => 1,
- 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1, 'TABLES' => 1,
- 'ANALYSE' => 1, 'AUTHORS' => 1, 'CHANGED' => 1, 'COLUMNS' => 1, 'COMMENT' => 1,
- 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1, 'DISABLE' => 1,
- 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1, 'GENERAL' => 1,
- 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1, 'INVOKER' => 1, 'LOGFILE' => 1,
- 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1, 'PARTIAL' => 1, 'PLUGINS' => 1,
- 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1, 'RECOVER' => 1, 'RESTORE' => 1,
- 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1, 'STORAGE' => 1, 'SUBJECT' => 1,
- 'SUSPEND' => 1, 'UNICODE' => 1, 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1,
- 'VIRTUAL' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1,
- 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
- 'NVARCHAR' => 1, 'ONE_SHOT' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
- 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
- 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1,
- 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
- 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1,
- 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1,
- 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1,
- 'COLUMN_NAME' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1, 'EXTENT_SIZE' => 1,
- 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1, 'MYSQL_ERRNO' => 1,
- 'PROCESSLIST' => 1, 'REPLICATION' => 1, 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1,
- 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'CONTRIBUTORS' => 1,
- 'DEFAULT_AUTH' => 1, 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1,
- 'MASTER_DELAY' => 1, 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1,
- 'RELAY_THREAD' => 1, 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1,
- 'SQL_TSI_HOUR' => 1, 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1,
- 'SUBPARTITION' => 1,
- 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1,
- 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1,
- 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
- 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
- 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1, 'MASTER_SSL_CERT' => 1,
- 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1,
- 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'CONSTRAINT_SCHEMA' => 1, 'IGNORE_SERVER_IDS' => 1, 'MASTER_SSL_CAPATH' => 1,
- 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1, 'SQL_BUFFER_RESULT' => 1,
- 'STATS_AUTO_RECALC' => 1,
- 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1,
- 'SQL_AFTER_MTS_GAPS' => 1, 'STATS_SAMPLE_PAGES' => 1,
- 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1,
- 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1,
- 'MAX_USER_CONNECTIONS' => 1,
- 'MASTER_HEARTBEAT_PERIOD' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3,
- 'USE' => 3, 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3,
- 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3,
- 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3,
- 'SIGNAL' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3,
- 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
- 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'MIDDLEINT' => 3, 'PARTITION' => 3,
- 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3, 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'MASTER_BIND' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33,
- 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33,
- 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33,
- 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33,
- 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33,
- 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33,
- 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33,
- 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33,
- 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33,
- 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33,
- 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33, 'GET_LOCK' => 33,
- 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33, 'MAKEDATE' => 33,
- 'MAKETIME' => 33, 'MAKE_SET' => 33, 'MBREQUAL' => 33, 'OVERLAPS' => 33,
- 'PASSWORD' => 33, 'POSITION' => 33, 'ST_ASWKB' => 33, 'ST_ASWKT' => 33,
- 'ST_UNION' => 33, 'TIMEDIFF' => 33, 'TRUNCATE' => 33, 'VARIANCE' => 33,
- 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33, 'CONCAT_WS' => 33,
- 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33, 'FROM_DAYS' => 33,
- 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33, 'LOAD_FILE' => 33,
- 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33, 'ROW_COUNT' => 33,
- 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33, 'ST_POINTN' => 33,
- 'ST_WITHIN' => 33, 'SUBSTRING' => 33, 'TO_BASE64' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'DAYOFMONTH' => 33, 'EXPORT_SET' => 33,
- 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33, 'INET6_NTOA' => 33,
- 'INTERSECTS' => 33, 'MBRTOUCHES' => 33, 'MULTIPOINT' => 33, 'NAME_CONST' => 33,
- 'PERIOD_ADD' => 33, 'STARTPOINT' => 33, 'STDDEV_POP' => 33, 'ST_CROSSES' => 33,
- 'ST_ISEMPTY' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33,
- 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33,
- 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33,
- 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33,
- 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33,
- 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33,
- 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33,
- 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'LINEFROMTEXT' => 33,
- 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33, 'MULTIPOLYGON' => 33,
- 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33, 'POINTFROMWKB' => 33,
- 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33, 'RELEASE_LOCK' => 33,
- 'SESSION_USER' => 33, 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33,
- 'ST_NUMPOINTS' => 33, 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'CREATE_DIGEST' => 33, 'FROM_UNIXTIME' => 33,
- 'GTID_SUBTRACT' => 33, 'INTERIORRINGN' => 33, 'MBRINTERSECTS' => 33,
- 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33,
- 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_DIFFERENCE' => 33,
- 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33, 'TIMESTAMPDIFF' => 33,
- 'WEIGHT_STRING' => 33,
- 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33,
- 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33,
- 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33,
- 'ASYMMETRIC_SIGN' => 33, 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33,
- 'POLYGONFROMTEXT' => 33, 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33,
- 'ST_GEOMFROMTEXT' => 33, 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33,
- 'ST_POINTFROMWKB' => 33, 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33, 'ST_NUMGEOMETRIES' => 33,
- 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33,
- 'ASYMMETRIC_DERIVE' => 33, 'ASYMMETRIC_VERIFY' => 33, 'LINESTRINGFROMWKB' => 33,
- 'MULTIPOINTFROMWKB' => 33, 'ST_POLYGONFROMWKB' => 33,
- 'ASYMMETRIC_DECRYPT' => 33, 'ASYMMETRIC_ENCRYPT' => 33, 'MULTIPOINTFROMTEXT' => 33,
- 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33, 'ST_POLYGONFROMTEXT' => 33,
- 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33, 'ST_GEOMETRYFROMTEXT' => 33,
- 'ST_NUMINTERIORRINGS' => 33, 'UNCOMPRESSED_LENGTH' => 33,
- 'CREATE_DH_PARAMETERS' => 33, 'MULTIPOLYGONFROMTEXT' => 33,
- 'ST_LINESTRINGFROMWKB' => 33,
- 'MULTILINESTRINGFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33,
- 'CREATE_ASYMMETRIC_PUB_KEY' => 33, 'GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'CREATE_ASYMMETRIC_PRIV_KEY' => 33, 'GEOMETRYCOLLECTIONFROMTEXT' => 33,
- 'VALIDATE_PASSWORD_STRENGTH' => 33,
- 'SQL_THREAD_WAIT_AFTER_GTIDS' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33,
- 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50700.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50700.php
deleted file mode 100644
index 412c25b..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql50700.php
+++ /dev/null
@@ -1,361 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1,
- 'ONE' => 1, 'ROW' => 1, 'XID' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1,
- 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1,
- 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1,
- 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1,
- 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1,
- 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1,
- 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1,
- 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1,
- 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1,
- 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1,
- 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1,
- 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1,
- 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1,
- 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1,
- 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1,
- 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1,
- 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1,
- 'TABLES' => 1,
- 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1,
- 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1,
- 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1,
- 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1,
- 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1,
- 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1,
- 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1,
- 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1,
- 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1,
- 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
- 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
- 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
- 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1,
- 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
- 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1,
- 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1,
- 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1,
- 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1,
- 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1,
- 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1,
- 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1,
- 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1,
- 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1,
- 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1,
- 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1,
- 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1,
- 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1,
- 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
- 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
- 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1,
- 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1,
- 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1,
- 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1,
- 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1,
- 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1,
- 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1,
- 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1,
- 'STATS_SAMPLE_PAGES' => 1,
- 'REPLICATE_IGNORE_DB' => 1,
- 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1,
- 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1,
- 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1,
- 'REPLICATE_IGNORE_TABLE' => 1,
- 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'REPLICATE_WILD_IGNORE_TABLE' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3,
- 'USE' => 3, 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3,
- 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3,
- 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3,
- 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3,
- 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
- 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'MIDDLEINT' => 3,
- 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3,
- 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'MASTER_BIND' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33,
- 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33,
- 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33,
- 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33,
- 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33,
- 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33,
- 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33,
- 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'QUARTER' => 33, 'RADIANS' => 33,
- 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33, 'SUBDATE' => 33,
- 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33, 'VAR_POP' => 33,
- 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33,
- 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33,
- 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33,
- 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33,
- 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33,
- 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33,
- 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33,
- 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33,
- 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33,
- 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33,
- 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33,
- 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33,
- 'TO_BASE64' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33,
- 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33,
- 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33,
- 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33,
- 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33,
- 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'CHAR_LENGTH' => 33, 'DATE_FORMAT' => 33,
- 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33, 'FROM_BASE64' => 33,
- 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33, 'JSON_LENGTH' => 33,
- 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33, 'JSON_SEARCH' => 33,
- 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33, 'MBROVERLAPS' => 33,
- 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33, 'SEC_TO_TIME' => 33,
- 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33, 'ST_CENTROID' => 33,
- 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33, 'ST_ENDPOINT' => 33,
- 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33, 'ST_OVERLAPS' => 33,
- 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33, 'TIME_FORMAT' => 33,
- 'TIME_TO_SEC' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33,
- 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33,
- 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33,
- 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33,
- 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33,
- 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33,
- 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33,
- 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33,
- 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33,
- 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33,
- 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33,
- 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33,
- 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33,
- 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33,
- 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33,
- 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33,
- 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33,
- 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33,
- 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33,
- 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33,
- 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33,
- 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33,
- 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33,
- 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33,
- 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33,
- 'ST_POLYGONFROMWKB' => 33,
- 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33,
- 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33,
- 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33,
- 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33,
- 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33,
- 'UNCOMPRESSED_LENGTH' => 33,
- 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33,
- 'ST_MULTIPOINTFROMWKB' => 33,
- 'ST_MULTIPOINTFROMTEXT' => 33,
- 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33,
- 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33,
- 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33,
- 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33,
- 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql80000.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql80000.php
deleted file mode 100644
index bfc265f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Contexts/ContextMySql80000.php
+++ /dev/null
@@ -1,361 +0,0 @@
- 1, 'DO' => 1, 'IO' => 1, 'NO' => 1, 'XA' => 1,
- 'ANY' => 1, 'CPU' => 1, 'END' => 1, 'IPC' => 1, 'NDB' => 1, 'NEW' => 1,
- 'ONE' => 1, 'ROW' => 1, 'XID' => 1,
- 'BOOL' => 1, 'BYTE' => 1, 'CODE' => 1, 'CUBE' => 1, 'DATA' => 1, 'DISK' => 1,
- 'ENDS' => 1, 'FAST' => 1, 'FILE' => 1, 'FULL' => 1, 'HASH' => 1, 'HELP' => 1,
- 'HOST' => 1, 'LAST' => 1, 'LESS' => 1, 'LIST' => 1, 'LOGS' => 1, 'MODE' => 1,
- 'NAME' => 1, 'NEXT' => 1, 'NONE' => 1, 'ONLY' => 1, 'OPEN' => 1, 'PAGE' => 1,
- 'PORT' => 1, 'PREV' => 1, 'ROWS' => 1, 'SLOW' => 1, 'SOME' => 1, 'STOP' => 1,
- 'THAN' => 1, 'TYPE' => 1, 'VIEW' => 1, 'WAIT' => 1, 'WORK' => 1, 'X509' => 1,
- 'AFTER' => 1, 'BEGIN' => 1, 'BLOCK' => 1, 'BTREE' => 1, 'CACHE' => 1,
- 'CHAIN' => 1, 'CLOSE' => 1, 'ERROR' => 1, 'EVENT' => 1, 'EVERY' => 1,
- 'FIRST' => 1, 'FIXED' => 1, 'FLUSH' => 1, 'FOUND' => 1, 'HOSTS' => 1,
- 'LEVEL' => 1, 'LOCAL' => 1, 'LOCKS' => 1, 'MERGE' => 1, 'MUTEX' => 1,
- 'NAMES' => 1, 'NCHAR' => 1, 'NEVER' => 1, 'OWNER' => 1, 'PHASE' => 1,
- 'PROXY' => 1, 'QUERY' => 1, 'QUICK' => 1, 'RELAY' => 1, 'RESET' => 1,
- 'RTREE' => 1, 'SHARE' => 1, 'SLAVE' => 1, 'START' => 1, 'SUPER' => 1,
- 'SWAPS' => 1, 'TYPES' => 1, 'UNTIL' => 1, 'VALUE' => 1,
- 'ACTION' => 1, 'ALWAYS' => 1, 'BACKUP' => 1, 'BINLOG' => 1, 'CIPHER' => 1,
- 'CLIENT' => 1, 'COMMIT' => 1, 'ENABLE' => 1, 'ENGINE' => 1, 'ERRORS' => 1,
- 'ESCAPE' => 1, 'EVENTS' => 1, 'EXPIRE' => 1, 'EXPORT' => 1, 'FAULTS' => 1,
- 'FIELDS' => 1, 'FILTER' => 1, 'GLOBAL' => 1, 'GRANTS' => 1, 'IMPORT' => 1,
- 'ISSUER' => 1, 'LEAVES' => 1, 'MASTER' => 1, 'MEDIUM' => 1, 'MEMORY' => 1,
- 'MODIFY' => 1, 'NUMBER' => 1, 'OFFSET' => 1, 'PARSER' => 1, 'PLUGIN' => 1,
- 'RELOAD' => 1, 'REMOVE' => 1, 'REPAIR' => 1, 'RESUME' => 1, 'ROLLUP' => 1,
- 'SERVER' => 1, 'SIGNED' => 1, 'SIMPLE' => 1, 'SOCKET' => 1, 'SONAME' => 1,
- 'SOUNDS' => 1, 'SOURCE' => 1, 'STARTS' => 1, 'STATUS' => 1, 'STRING' => 1,
- 'TABLES' => 1,
- 'ACCOUNT' => 1, 'ANALYSE' => 1, 'CHANGED' => 1, 'CHANNEL' => 1, 'COLUMNS' => 1,
- 'COMMENT' => 1, 'COMPACT' => 1, 'CONTEXT' => 1, 'CURRENT' => 1, 'DEFINER' => 1,
- 'DISABLE' => 1, 'DISCARD' => 1, 'DYNAMIC' => 1, 'ENGINES' => 1, 'EXECUTE' => 1,
- 'FOLLOWS' => 1, 'GENERAL' => 1, 'HANDLER' => 1, 'INDEXES' => 1, 'INSTALL' => 1,
- 'INVOKER' => 1, 'LOGFILE' => 1, 'MIGRATE' => 1, 'NO_WAIT' => 1, 'OPTIONS' => 1,
- 'PARTIAL' => 1, 'PLUGINS' => 1, 'PREPARE' => 1, 'PROFILE' => 1, 'REBUILD' => 1,
- 'RECOVER' => 1, 'RESTORE' => 1, 'RETURNS' => 1, 'ROUTINE' => 1, 'SESSION' => 1,
- 'STACKED' => 1, 'STORAGE' => 1, 'SUBJECT' => 1, 'SUSPEND' => 1, 'UNICODE' => 1,
- 'UNKNOWN' => 1, 'UPGRADE' => 1, 'USE_FRM' => 1, 'WITHOUT' => 1, 'WRAPPER' => 1,
- 'CASCADED' => 1, 'CHECKSUM' => 1, 'DATAFILE' => 1, 'DUMPFILE' => 1,
- 'EXCHANGE' => 1, 'EXTENDED' => 1, 'FUNCTION' => 1, 'LANGUAGE' => 1,
- 'MAX_ROWS' => 1, 'MAX_SIZE' => 1, 'MIN_ROWS' => 1, 'NATIONAL' => 1,
- 'NVARCHAR' => 1, 'PRECEDES' => 1, 'PRESERVE' => 1, 'PROFILES' => 1,
- 'REDOFILE' => 1, 'RELAYLOG' => 1, 'ROLLBACK' => 1, 'SCHEDULE' => 1,
- 'SECURITY' => 1, 'SHUTDOWN' => 1, 'SNAPSHOT' => 1, 'SWITCHES' => 1,
- 'TRIGGERS' => 1, 'UNDOFILE' => 1, 'WARNINGS' => 1,
- 'AGGREGATE' => 1, 'ALGORITHM' => 1, 'COMMITTED' => 1, 'DIRECTORY' => 1,
- 'DUPLICATE' => 1, 'EXPANSION' => 1, 'IO_THREAD' => 1, 'ISOLATION' => 1,
- 'NODEGROUP' => 1, 'PACK_KEYS' => 1, 'READ_ONLY' => 1, 'REDUNDANT' => 1,
- 'SAVEPOINT' => 1, 'SQL_CACHE' => 1, 'TEMPORARY' => 1, 'TEMPTABLE' => 1,
- 'UNDEFINED' => 1, 'UNINSTALL' => 1, 'VARIABLES' => 1,
- 'COMPLETION' => 1, 'COMPRESSED' => 1, 'CONCURRENT' => 1, 'CONNECTION' => 1,
- 'CONSISTENT' => 1, 'DEALLOCATE' => 1, 'IDENTIFIED' => 1, 'MASTER_SSL' => 1,
- 'NDBCLUSTER' => 1, 'PARTITIONS' => 1, 'PERSISTENT' => 1, 'PLUGIN_DIR' => 1,
- 'PRIVILEGES' => 1, 'REORGANIZE' => 1, 'REPEATABLE' => 1, 'ROW_FORMAT' => 1,
- 'SQL_THREAD' => 1, 'TABLESPACE' => 1, 'TABLE_NAME' => 1, 'VALIDATION' => 1,
- 'COLUMN_NAME' => 1, 'COMPRESSION' => 1, 'CURSOR_NAME' => 1, 'DIAGNOSTICS' => 1,
- 'EXTENT_SIZE' => 1, 'MASTER_HOST' => 1, 'MASTER_PORT' => 1, 'MASTER_USER' => 1,
- 'MYSQL_ERRNO' => 1, 'NONBLOCKING' => 1, 'PROCESSLIST' => 1, 'REPLICATION' => 1,
- 'SCHEMA_NAME' => 1, 'SQL_TSI_DAY' => 1, 'TRANSACTION' => 1, 'UNCOMMITTED' => 1,
- 'CATALOG_NAME' => 1, 'CLASS_ORIGIN' => 1, 'DEFAULT_AUTH' => 1,
- 'DES_KEY_FILE' => 1, 'INITIAL_SIZE' => 1, 'MASTER_DELAY' => 1,
- 'MESSAGE_TEXT' => 1, 'PARTITIONING' => 1, 'RELAY_THREAD' => 1,
- 'SERIALIZABLE' => 1, 'SQL_NO_CACHE' => 1, 'SQL_TSI_HOUR' => 1,
- 'SQL_TSI_WEEK' => 1, 'SQL_TSI_YEAR' => 1, 'SUBPARTITION' => 1,
- 'COLUMN_FORMAT' => 1, 'INSERT_METHOD' => 1, 'MASTER_SSL_CA' => 1,
- 'RELAY_LOG_POS' => 1, 'SQL_TSI_MONTH' => 1, 'SUBPARTITIONS' => 1,
- 'AUTO_INCREMENT' => 1, 'AVG_ROW_LENGTH' => 1, 'KEY_BLOCK_SIZE' => 1,
- 'MASTER_LOG_POS' => 1, 'MASTER_SSL_CRL' => 1, 'MASTER_SSL_KEY' => 1,
- 'RELAY_LOG_FILE' => 1, 'SQL_TSI_MINUTE' => 1, 'SQL_TSI_SECOND' => 1,
- 'TABLE_CHECKSUM' => 1, 'USER_RESOURCES' => 1,
- 'AUTOEXTEND_SIZE' => 1, 'CONSTRAINT_NAME' => 1, 'DELAY_KEY_WRITE' => 1,
- 'FILE_BLOCK_SIZE' => 1, 'MASTER_LOG_FILE' => 1, 'MASTER_PASSWORD' => 1,
- 'MASTER_SSL_CERT' => 1, 'PARSE_GCOL_EXPR' => 1, 'REPLICATE_DO_DB' => 1,
- 'SQL_AFTER_GTIDS' => 1, 'SQL_TSI_QUARTER' => 1, 'SUBCLASS_ORIGIN' => 1,
- 'MASTER_SERVER_ID' => 1, 'REDO_BUFFER_SIZE' => 1, 'SQL_BEFORE_GTIDS' => 1,
- 'STATS_PERSISTENT' => 1, 'UNDO_BUFFER_SIZE' => 1,
- 'CONSTRAINT_SCHEMA' => 1, 'GROUP_REPLICATION' => 1, 'IGNORE_SERVER_IDS' => 1,
- 'MASTER_SSL_CAPATH' => 1, 'MASTER_SSL_CIPHER' => 1, 'RETURNED_SQLSTATE' => 1,
- 'SQL_BUFFER_RESULT' => 1, 'STATS_AUTO_RECALC' => 1,
- 'CONSTRAINT_CATALOG' => 1, 'MASTER_RETRY_COUNT' => 1, 'MASTER_SSL_CRLPATH' => 1,
- 'MAX_STATEMENT_TIME' => 1, 'REPLICATE_DO_TABLE' => 1, 'SQL_AFTER_MTS_GAPS' => 1,
- 'STATS_SAMPLE_PAGES' => 1,
- 'REPLICATE_IGNORE_DB' => 1,
- 'MASTER_AUTO_POSITION' => 1, 'MASTER_CONNECT_RETRY' => 1,
- 'MAX_QUERIES_PER_HOUR' => 1, 'MAX_UPDATES_PER_HOUR' => 1,
- 'MAX_USER_CONNECTIONS' => 1, 'REPLICATE_REWRITE_DB' => 1,
- 'REPLICATE_IGNORE_TABLE' => 1,
- 'MASTER_HEARTBEAT_PERIOD' => 1, 'REPLICATE_WILD_DO_TABLE' => 1,
- 'MAX_CONNECTIONS_PER_HOUR' => 1,
- 'REPLICATE_WILD_IGNORE_TABLE' => 1,
-
- 'AS' => 3, 'BY' => 3, 'IS' => 3, 'ON' => 3, 'OR' => 3, 'TO' => 3,
- 'ADD' => 3, 'ALL' => 3, 'AND' => 3, 'ASC' => 3, 'DEC' => 3, 'DIV' => 3,
- 'FOR' => 3, 'GET' => 3, 'NOT' => 3, 'OUT' => 3, 'SQL' => 3, 'SSL' => 3,
- 'USE' => 3, 'XOR' => 3,
- 'BOTH' => 3, 'CALL' => 3, 'CASE' => 3, 'DESC' => 3, 'DROP' => 3, 'DUAL' => 3,
- 'EACH' => 3, 'ELSE' => 3, 'EXIT' => 3, 'FROM' => 3, 'INT1' => 3, 'INT2' => 3,
- 'INT3' => 3, 'INT4' => 3, 'INT8' => 3, 'INTO' => 3, 'JOIN' => 3, 'KEYS' => 3,
- 'KILL' => 3, 'LIKE' => 3, 'LOAD' => 3, 'LOCK' => 3, 'LONG' => 3, 'LOOP' => 3,
- 'NULL' => 3, 'READ' => 3, 'SHOW' => 3, 'THEN' => 3, 'TRUE' => 3, 'UNDO' => 3,
- 'WHEN' => 3, 'WITH' => 3,
- 'ALTER' => 3, 'CHECK' => 3, 'CROSS' => 3, 'FALSE' => 3, 'FETCH' => 3,
- 'FORCE' => 3, 'GRANT' => 3, 'GROUP' => 3, 'INNER' => 3, 'INOUT' => 3,
- 'LEAVE' => 3, 'LIMIT' => 3, 'LINES' => 3, 'ORDER' => 3, 'OUTER' => 3,
- 'PURGE' => 3, 'RANGE' => 3, 'READS' => 3, 'RLIKE' => 3, 'TABLE' => 3,
- 'UNION' => 3, 'USAGE' => 3, 'USING' => 3, 'WHERE' => 3, 'WHILE' => 3,
- 'WRITE' => 3,
- 'BEFORE' => 3, 'CHANGE' => 3, 'COLUMN' => 3, 'CREATE' => 3, 'CURSOR' => 3,
- 'DELETE' => 3, 'ELSEIF' => 3, 'EXISTS' => 3, 'FLOAT4' => 3, 'FLOAT8' => 3,
- 'HAVING' => 3, 'IGNORE' => 3, 'INFILE' => 3, 'LINEAR' => 3, 'OPTION' => 3,
- 'REGEXP' => 3, 'RENAME' => 3, 'RETURN' => 3, 'REVOKE' => 3, 'SELECT' => 3,
- 'SIGNAL' => 3, 'STORED' => 3, 'UNLOCK' => 3, 'UPDATE' => 3,
- 'ANALYZE' => 3, 'BETWEEN' => 3, 'CASCADE' => 3, 'COLLATE' => 3, 'DECLARE' => 3,
- 'DELAYED' => 3, 'ESCAPED' => 3, 'EXPLAIN' => 3, 'FOREIGN' => 3, 'ITERATE' => 3,
- 'LEADING' => 3, 'NATURAL' => 3, 'OUTFILE' => 3, 'PRIMARY' => 3, 'RELEASE' => 3,
- 'REQUIRE' => 3, 'SCHEMAS' => 3, 'TRIGGER' => 3, 'VARYING' => 3, 'VIRTUAL' => 3,
- 'CONTINUE' => 3, 'DAY_HOUR' => 3, 'DESCRIBE' => 3, 'DISTINCT' => 3,
- 'ENCLOSED' => 3, 'MAXVALUE' => 3, 'MODIFIES' => 3, 'OPTIMIZE' => 3,
- 'RESIGNAL' => 3, 'RESTRICT' => 3, 'SPECIFIC' => 3, 'SQLSTATE' => 3,
- 'STARTING' => 3, 'TRAILING' => 3, 'UNSIGNED' => 3, 'ZEROFILL' => 3,
- 'CONDITION' => 3, 'DATABASES' => 3, 'GENERATED' => 3, 'MIDDLEINT' => 3,
- 'PARTITION' => 3, 'PRECISION' => 3, 'PROCEDURE' => 3, 'SENSITIVE' => 3,
- 'SEPARATOR' => 3,
- 'ACCESSIBLE' => 3, 'ASENSITIVE' => 3, 'CONSTRAINT' => 3, 'DAY_MINUTE' => 3,
- 'DAY_SECOND' => 3, 'OPTIONALLY' => 3, 'READ_WRITE' => 3, 'REFERENCES' => 3,
- 'SQLWARNING' => 3, 'TERMINATED' => 3, 'YEAR_MONTH' => 3,
- 'DISTINCTROW' => 3, 'HOUR_MINUTE' => 3, 'HOUR_SECOND' => 3, 'INSENSITIVE' => 3,
- 'MASTER_BIND' => 3,
- 'LOW_PRIORITY' => 3, 'SQLEXCEPTION' => 3, 'VARCHARACTER' => 3,
- 'DETERMINISTIC' => 3, 'HIGH_PRIORITY' => 3, 'MINUTE_SECOND' => 3,
- 'STRAIGHT_JOIN' => 3,
- 'IO_AFTER_GTIDS' => 3, 'SQL_BIG_RESULT' => 3,
- 'DAY_MICROSECOND' => 3, 'IO_BEFORE_GTIDS' => 3, 'OPTIMIZER_COSTS' => 3,
- 'HOUR_MICROSECOND' => 3, 'SQL_SMALL_RESULT' => 3,
- 'MINUTE_MICROSECOND' => 3, 'NO_WRITE_TO_BINLOG' => 3, 'SECOND_MICROSECOND' => 3,
- 'SQL_CALC_FOUND_ROWS' => 3,
- 'MASTER_SSL_VERIFY_SERVER_CERT' => 3,
-
- 'GROUP BY' => 7, 'NOT NULL' => 7, 'ORDER BY' => 7, 'SET NULL' => 7,
- 'AND CHAIN' => 7, 'FULL JOIN' => 7, 'IF EXISTS' => 7, 'LEFT JOIN' => 7,
- 'LESS THAN' => 7, 'LOAD DATA' => 7, 'NO ACTION' => 7, 'ON DELETE' => 7,
- 'ON UPDATE' => 7, 'UNION ALL' => 7,
- 'CROSS JOIN' => 7, 'ESCAPED BY' => 7, 'FOR UPDATE' => 7, 'INNER JOIN' => 7,
- 'LINEAR KEY' => 7, 'NO RELEASE' => 7, 'OR REPLACE' => 7, 'RIGHT JOIN' => 7,
- 'ENCLOSED BY' => 7, 'LINEAR HASH' => 7, 'STARTING BY' => 7,
- 'AND NO CHAIN' => 7, 'FOR EACH ROW' => 7, 'NATURAL JOIN' => 7,
- 'PARTITION BY' => 7, 'SET PASSWORD' => 7, 'SQL SECURITY' => 7,
- 'CHARACTER SET' => 7, 'IF NOT EXISTS' => 7, 'TERMINATED BY' => 7,
- 'DATA DIRECTORY' => 7, 'UNION DISTINCT' => 7,
- 'DEFAULT CHARSET' => 7, 'DEFAULT COLLATE' => 7, 'FULL OUTER JOIN' => 7,
- 'INDEX DIRECTORY' => 7, 'LEFT OUTER JOIN' => 7, 'SUBPARTITION BY' => 7,
- 'GENERATED ALWAYS' => 7, 'RIGHT OUTER JOIN' => 7,
- 'NATURAL LEFT JOIN' => 7, 'START TRANSACTION' => 7,
- 'LOCK IN SHARE MODE' => 7, 'NATURAL RIGHT JOIN' => 7, 'SELECT TRANSACTION' => 7,
- 'DEFAULT CHARACTER SET' => 7,
- 'NATURAL LEFT OUTER JOIN' => 7,
- 'NATURAL RIGHT OUTER JOIN' => 7, 'WITH CONSISTENT SNAPSHOT' => 7,
-
- 'BIT' => 9, 'XML' => 9,
- 'ENUM' => 9, 'JSON' => 9, 'TEXT' => 9,
- 'ARRAY' => 9,
- 'SERIAL' => 9,
- 'BOOLEAN' => 9,
- 'DATETIME' => 9, 'GEOMETRY' => 9, 'MULTISET' => 9,
- 'MULTILINEPOINT' => 9,
- 'MULTILINEPOLYGON' => 9,
-
- 'INT' => 11, 'SET' => 11,
- 'BLOB' => 11, 'REAL' => 11,
- 'FLOAT' => 11,
- 'BIGINT' => 11, 'DOUBLE' => 11,
- 'DECIMAL' => 11, 'INTEGER' => 11, 'NUMERIC' => 11, 'TINYINT' => 11, 'VARCHAR' => 11,
- 'LONGBLOB' => 11, 'LONGTEXT' => 11, 'SMALLINT' => 11, 'TINYBLOB' => 11,
- 'TINYTEXT' => 11,
- 'CHARACTER' => 11, 'MEDIUMINT' => 11, 'VARBINARY' => 11,
- 'MEDIUMBLOB' => 11, 'MEDIUMTEXT' => 11,
-
- 'BINARY VARYING' => 15,
-
- 'KEY' => 19,
- 'INDEX' => 19,
- 'UNIQUE' => 19,
- 'SPATIAL' => 19,
- 'FULLTEXT' => 19,
-
- 'INDEX KEY' => 23,
- 'UNIQUE KEY' => 23,
- 'FOREIGN KEY' => 23, 'PRIMARY KEY' => 23, 'SPATIAL KEY' => 23,
- 'FULLTEXT KEY' => 23, 'UNIQUE INDEX' => 23,
- 'SPATIAL INDEX' => 23,
- 'FULLTEXT INDEX' => 23,
-
- 'X' => 33, 'Y' => 33,
- 'LN' => 33, 'PI' => 33,
- 'ABS' => 33, 'AVG' => 33, 'BIN' => 33, 'COS' => 33, 'COT' => 33, 'DAY' => 33,
- 'ELT' => 33, 'EXP' => 33, 'HEX' => 33, 'LOG' => 33, 'MAX' => 33, 'MD5' => 33,
- 'MID' => 33, 'MIN' => 33, 'NOW' => 33, 'OCT' => 33, 'ORD' => 33, 'POW' => 33,
- 'SHA' => 33, 'SIN' => 33, 'STD' => 33, 'SUM' => 33, 'TAN' => 33,
- 'ACOS' => 33, 'AREA' => 33, 'ASIN' => 33, 'ATAN' => 33, 'CAST' => 33, 'CEIL' => 33,
- 'CONV' => 33, 'HOUR' => 33, 'LOG2' => 33, 'LPAD' => 33, 'RAND' => 33, 'RPAD' => 33,
- 'SHA1' => 33, 'SHA2' => 33, 'SIGN' => 33, 'SQRT' => 33, 'SRID' => 33, 'ST_X' => 33,
- 'ST_Y' => 33, 'TRIM' => 33, 'USER' => 33, 'UUID' => 33, 'WEEK' => 33,
- 'ASCII' => 33, 'ASWKB' => 33, 'ASWKT' => 33, 'ATAN2' => 33, 'COUNT' => 33,
- 'CRC32' => 33, 'FIELD' => 33, 'FLOOR' => 33, 'INSTR' => 33, 'LCASE' => 33,
- 'LEAST' => 33, 'LOG10' => 33, 'LOWER' => 33, 'LTRIM' => 33, 'MONTH' => 33,
- 'POWER' => 33, 'QUOTE' => 33, 'ROUND' => 33, 'RTRIM' => 33, 'SLEEP' => 33,
- 'SPACE' => 33, 'UCASE' => 33, 'UNHEX' => 33, 'UPPER' => 33,
- 'ASTEXT' => 33, 'BIT_OR' => 33, 'BUFFER' => 33, 'CONCAT' => 33, 'DECODE' => 33,
- 'ENCODE' => 33, 'EQUALS' => 33, 'FORMAT' => 33, 'IFNULL' => 33, 'ISNULL' => 33,
- 'LENGTH' => 33, 'LOCATE' => 33, 'MINUTE' => 33, 'NULLIF' => 33, 'POINTN' => 33,
- 'SECOND' => 33, 'STDDEV' => 33, 'STRCMP' => 33, 'SUBSTR' => 33, 'WITHIN' => 33,
- 'ADDDATE' => 33, 'ADDTIME' => 33, 'AGAINST' => 33, 'BIT_AND' => 33, 'BIT_XOR' => 33,
- 'CEILING' => 33, 'CHARSET' => 33, 'CROSSES' => 33, 'CURDATE' => 33, 'CURTIME' => 33,
- 'DAYNAME' => 33, 'DEGREES' => 33, 'ENCRYPT' => 33, 'EXTRACT' => 33, 'GLENGTH' => 33,
- 'ISEMPTY' => 33, 'IS_IPV4' => 33, 'IS_IPV6' => 33, 'IS_UUID' => 33, 'QUARTER' => 33,
- 'RADIANS' => 33, 'REVERSE' => 33, 'SOUNDEX' => 33, 'ST_AREA' => 33, 'ST_SRID' => 33,
- 'SUBDATE' => 33, 'SUBTIME' => 33, 'SYSDATE' => 33, 'TOUCHES' => 33, 'TO_DAYS' => 33,
- 'VAR_POP' => 33, 'VERSION' => 33, 'WEEKDAY' => 33,
- 'ASBINARY' => 33, 'CENTROID' => 33, 'COALESCE' => 33, 'COMPRESS' => 33,
- 'CONTAINS' => 33, 'DATEDIFF' => 33, 'DATE_ADD' => 33, 'DATE_SUB' => 33,
- 'DISJOINT' => 33, 'DISTANCE' => 33, 'ENDPOINT' => 33, 'ENVELOPE' => 33,
- 'GET_LOCK' => 33, 'GREATEST' => 33, 'ISCLOSED' => 33, 'ISSIMPLE' => 33,
- 'JSON_SET' => 33, 'MAKEDATE' => 33, 'MAKETIME' => 33, 'MAKE_SET' => 33,
- 'MBREQUAL' => 33, 'OVERLAPS' => 33, 'PASSWORD' => 33, 'POSITION' => 33,
- 'ST_ASWKB' => 33, 'ST_ASWKT' => 33, 'ST_UNION' => 33, 'TIMEDIFF' => 33,
- 'TRUNCATE' => 33, 'VARIANCE' => 33, 'VAR_SAMP' => 33, 'YEARWEEK' => 33,
- 'ANY_VALUE' => 33, 'BENCHMARK' => 33, 'BIT_COUNT' => 33, 'COLLATION' => 33,
- 'CONCAT_WS' => 33, 'DAYOFWEEK' => 33, 'DAYOFYEAR' => 33, 'DIMENSION' => 33,
- 'FROM_DAYS' => 33, 'GEOMETRYN' => 33, 'INET_ATON' => 33, 'INET_NTOA' => 33,
- 'JSON_KEYS' => 33, 'JSON_TYPE' => 33, 'LOAD_FILE' => 33, 'MBRCOVERS' => 33,
- 'MBREQUALS' => 33, 'MBRWITHIN' => 33, 'MONTHNAME' => 33, 'NUMPOINTS' => 33,
- 'ROW_COUNT' => 33, 'ST_ASTEXT' => 33, 'ST_BUFFER' => 33, 'ST_EQUALS' => 33,
- 'ST_LENGTH' => 33, 'ST_POINTN' => 33, 'ST_WITHIN' => 33, 'SUBSTRING' => 33,
- 'TO_BASE64' => 33, 'UPDATEXML' => 33,
- 'BIT_LENGTH' => 33, 'CONVERT_TZ' => 33, 'CONVEXHULL' => 33, 'DAYOFMONTH' => 33,
- 'EXPORT_SET' => 33, 'FOUND_ROWS' => 33, 'GET_FORMAT' => 33, 'INET6_ATON' => 33,
- 'INET6_NTOA' => 33, 'INTERSECTS' => 33, 'JSON_ARRAY' => 33, 'JSON_DEPTH' => 33,
- 'JSON_MERGE' => 33, 'JSON_QUOTE' => 33, 'JSON_VALID' => 33, 'MBRTOUCHES' => 33,
- 'MULTIPOINT' => 33, 'NAME_CONST' => 33, 'PERIOD_ADD' => 33, 'STARTPOINT' => 33,
- 'STDDEV_POP' => 33, 'ST_CROSSES' => 33, 'ST_GEOHASH' => 33, 'ST_ISEMPTY' => 33,
- 'ST_ISVALID' => 33, 'ST_TOUCHES' => 33, 'TO_SECONDS' => 33, 'UNCOMPRESS' => 33,
- 'UUID_SHORT' => 33, 'WEEKOFYEAR' => 33,
- 'AES_DECRYPT' => 33, 'AES_ENCRYPT' => 33, 'BIN_TO_UUID' => 33, 'CHAR_LENGTH' => 33,
- 'DATE_FORMAT' => 33, 'DES_DECRYPT' => 33, 'DES_ENCRYPT' => 33, 'FIND_IN_SET' => 33,
- 'FROM_BASE64' => 33, 'GEOMFROMWKB' => 33, 'GTID_SUBSET' => 33, 'JSON_INSERT' => 33,
- 'JSON_LENGTH' => 33, 'JSON_OBJECT' => 33, 'JSON_PRETTY' => 33, 'JSON_REMOVE' => 33,
- 'JSON_SEARCH' => 33, 'LINEFROMWKB' => 33, 'MBRCONTAINS' => 33, 'MBRDISJOINT' => 33,
- 'MBROVERLAPS' => 33, 'MICROSECOND' => 33, 'PERIOD_DIFF' => 33, 'POLYFROMWKB' => 33,
- 'SEC_TO_TIME' => 33, 'STDDEV_SAMP' => 33, 'STR_TO_DATE' => 33, 'ST_ASBINARY' => 33,
- 'ST_CENTROID' => 33, 'ST_CONTAINS' => 33, 'ST_DISJOINT' => 33, 'ST_DISTANCE' => 33,
- 'ST_ENDPOINT' => 33, 'ST_ENVELOPE' => 33, 'ST_ISCLOSED' => 33, 'ST_ISSIMPLE' => 33,
- 'ST_OVERLAPS' => 33, 'ST_SIMPLIFY' => 33, 'ST_VALIDATE' => 33, 'SYSTEM_USER' => 33,
- 'TIME_FORMAT' => 33, 'TIME_TO_SEC' => 33, 'UUID_TO_BIN' => 33,
- 'COERCIBILITY' => 33, 'EXTERIORRING' => 33, 'EXTRACTVALUE' => 33,
- 'GEOMETRYTYPE' => 33, 'GEOMFROMTEXT' => 33, 'GROUP_CONCAT' => 33,
- 'IS_FREE_LOCK' => 33, 'IS_USED_LOCK' => 33, 'JSON_EXTRACT' => 33,
- 'JSON_REPLACE' => 33, 'JSON_UNQUOTE' => 33, 'LINEFROMTEXT' => 33,
- 'MBRCOVEREDBY' => 33, 'MLINEFROMWKB' => 33, 'MPOLYFROMWKB' => 33,
- 'MULTIPOLYGON' => 33, 'OCTET_LENGTH' => 33, 'OLD_PASSWORD' => 33,
- 'POINTFROMWKB' => 33, 'POLYFROMTEXT' => 33, 'RANDOM_BYTES' => 33,
- 'RELEASE_LOCK' => 33, 'SESSION_USER' => 33, 'ST_ASGEOJSON' => 33,
- 'ST_DIMENSION' => 33, 'ST_GEOMETRYN' => 33, 'ST_NUMPOINTS' => 33,
- 'TIMESTAMPADD' => 33,
- 'CONNECTION_ID' => 33, 'FROM_UNIXTIME' => 33, 'GTID_SUBTRACT' => 33,
- 'INTERIORRINGN' => 33, 'JSON_CONTAINS' => 33, 'MBRINTERSECTS' => 33,
- 'MLINEFROMTEXT' => 33, 'MPOINTFROMWKB' => 33, 'MPOLYFROMTEXT' => 33,
- 'NUMGEOMETRIES' => 33, 'POINTFROMTEXT' => 33, 'ST_CONVEXHULL' => 33,
- 'ST_DIFFERENCE' => 33, 'ST_INTERSECTS' => 33, 'ST_STARTPOINT' => 33,
- 'TIMESTAMPDIFF' => 33, 'WEIGHT_STRING' => 33,
- 'IS_IPV4_COMPAT' => 33, 'IS_IPV4_MAPPED' => 33, 'LAST_INSERT_ID' => 33,
- 'MPOINTFROMTEXT' => 33, 'POLYGONFROMWKB' => 33, 'ST_GEOMFROMWKB' => 33,
- 'ST_LINEFROMWKB' => 33, 'ST_POLYFROMWKB' => 33, 'UNIX_TIMESTAMP' => 33,
- 'GEOMCOLLFROMWKB' => 33, 'MASTER_POS_WAIT' => 33, 'POLYGONFROMTEXT' => 33,
- 'ST_EXTERIORRING' => 33, 'ST_GEOMETRYTYPE' => 33, 'ST_GEOMFROMTEXT' => 33,
- 'ST_INTERSECTION' => 33, 'ST_LINEFROMTEXT' => 33, 'ST_MAKEENVELOPE' => 33,
- 'ST_MLINEFROMWKB' => 33, 'ST_MPOLYFROMWKB' => 33, 'ST_POINTFROMWKB' => 33,
- 'ST_POLYFROMTEXT' => 33, 'SUBSTRING_INDEX' => 33,
- 'CHARACTER_LENGTH' => 33, 'GEOMCOLLFROMTEXT' => 33, 'GEOMETRYFROMTEXT' => 33,
- 'JSON_MERGE_PATCH' => 33, 'NUMINTERIORRINGS' => 33, 'ST_INTERIORRINGN' => 33,
- 'ST_MLINEFROMTEXT' => 33, 'ST_MPOINTFROMWKB' => 33, 'ST_MPOLYFROMTEXT' => 33,
- 'ST_NUMGEOMETRIES' => 33, 'ST_POINTFROMTEXT' => 33, 'ST_SYMDIFFERENCE' => 33,
- 'JSON_ARRAY_APPEND' => 33, 'JSON_ARRAY_INSERT' => 33, 'JSON_STORAGE_FREE' => 33,
- 'JSON_STORAGE_SIZE' => 33, 'LINESTRINGFROMWKB' => 33, 'MULTIPOINTFROMWKB' => 33,
- 'RELEASE_ALL_LOCKS' => 33, 'ST_LATFROMGEOHASH' => 33, 'ST_MPOINTFROMTEXT' => 33,
- 'ST_POLYGONFROMWKB' => 33,
- 'JSON_CONTAINS_PATH' => 33, 'MULTIPOINTFROMTEXT' => 33, 'ST_BUFFER_STRATEGY' => 33,
- 'ST_DISTANCE_SPHERE' => 33, 'ST_GEOMCOLLFROMTXT' => 33, 'ST_GEOMCOLLFROMWKB' => 33,
- 'ST_GEOMFROMGEOJSON' => 33, 'ST_LONGFROMGEOHASH' => 33, 'ST_POLYGONFROMTEXT' => 33,
- 'JSON_MERGE_PRESERVE' => 33, 'MULTIPOLYGONFROMWKB' => 33, 'ST_GEOMCOLLFROMTEXT' => 33,
- 'ST_GEOMETRYFROMTEXT' => 33, 'ST_NUMINTERIORRINGS' => 33, 'ST_POINTFROMGEOHASH' => 33,
- 'UNCOMPRESSED_LENGTH' => 33,
- 'MULTIPOLYGONFROMTEXT' => 33, 'ST_LINESTRINGFROMWKB' => 33,
- 'ST_MULTIPOINTFROMWKB' => 33,
- 'ST_MULTIPOINTFROMTEXT' => 33,
- 'MULTILINESTRINGFROMWKB' => 33, 'ST_MULTIPOLYGONFROMWKB' => 33,
- 'MULTILINESTRINGFROMTEXT' => 33, 'ST_MULTIPOLYGONFROMTEXT' => 33,
- 'GEOMETRYCOLLECTIONFROMWKB' => 33, 'ST_MULTILINESTRINGFROMWKB' => 33,
- 'GEOMETRYCOLLECTIONFROMTEXT' => 33, 'ST_MULTILINESTRINGFROMTEXT' => 33,
- 'VALIDATE_PASSWORD_STRENGTH' => 33, 'WAIT_FOR_EXECUTED_GTID_SET' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMWKB' => 33,
- 'ST_GEOMETRYCOLLECTIONFROMTEXT' => 33,
- 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS' => 33,
-
- 'IF' => 35, 'IN' => 35,
- 'MOD' => 35,
- 'LEFT' => 35,
- 'MATCH' => 35, 'RIGHT' => 35,
- 'INSERT' => 35, 'REPEAT' => 35, 'SCHEMA' => 35, 'VALUES' => 35,
- 'CONVERT' => 35, 'DEFAULT' => 35, 'REPLACE' => 35,
- 'DATABASE' => 35, 'UTC_DATE' => 35, 'UTC_TIME' => 35,
- 'LOCALTIME' => 35,
- 'CURRENT_DATE' => 35, 'CURRENT_TIME' => 35, 'CURRENT_USER' => 35,
- 'UTC_TIMESTAMP' => 35,
- 'LOCALTIMESTAMP' => 35,
- 'CURRENT_TIMESTAMP' => 35,
-
- 'NOT IN' => 39,
-
- 'DATE' => 41, 'TIME' => 41, 'YEAR' => 41,
- 'POINT' => 41,
- 'POLYGON' => 41,
- 'TIMESTAMP' => 41,
- 'LINESTRING' => 41,
- 'MULTILINESTRING' => 41,
- 'GEOMETRYCOLLECTION' => 41,
-
- 'CHAR' => 43,
- 'BINARY' => 43,
- 'INTERVAL' => 43,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Core.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Core.php
deleted file mode 100644
index 1d3eeea..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Core.php
+++ /dev/null
@@ -1,49 +0,0 @@
-strict) {
- throw $error;
- }
- $this->errors[] = $error;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/LexerException.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/LexerException.php
deleted file mode 100644
index 9731575..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/LexerException.php
+++ /dev/null
@@ -1,42 +0,0 @@
-ch = $ch;
- $this->pos = $pos;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/LoaderException.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/LoaderException.php
deleted file mode 100644
index 54b9234..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/LoaderException.php
+++ /dev/null
@@ -1,33 +0,0 @@
-name = $name;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/ParserException.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/ParserException.php
deleted file mode 100644
index ae63f07..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Exceptions/ParserException.php
+++ /dev/null
@@ -1,34 +0,0 @@
-token = $token;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Lexer.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Lexer.php
deleted file mode 100644
index 2479410..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Lexer.php
+++ /dev/null
@@ -1,942 +0,0 @@
-list;
- }
-
- /**
- * @param string|UtfString $str the query to be lexed
- * @param bool $strict whether strict mode should be
- * enabled or not
- * @param string $delimiter the delimiter to be used
- */
- public function __construct($str, $strict = false, $delimiter = null)
- {
- // `strlen` is used instead of `mb_strlen` because the lexer needs to
- // parse each byte of the input.
- $len = $str instanceof UtfString ? $str->length() : strlen($str);
-
- // For multi-byte strings, a new instance of `UtfString` is
- // initialized (only if `UtfString` usage is forced.
- if (! $str instanceof UtfString && USE_UTF_STRINGS && $len !== mb_strlen($str, 'UTF-8')) {
- $str = new UtfString($str);
- }
-
- $this->str = $str;
- $this->len = $str instanceof UtfString ? $str->length() : $len;
-
- $this->strict = $strict;
-
- // Setting the delimiter.
- $this->setDelimiter(
- ! empty($delimiter) ? $delimiter : static::$DEFAULT_DELIMITER
- );
-
- $this->lex();
- }
-
- /**
- * Sets the delimiter.
- *
- * @param string $delimiter the new delimiter
- */
- public function setDelimiter($delimiter)
- {
- $this->delimiter = $delimiter;
- $this->delimiterLen = strlen($delimiter);
- }
-
- /**
- * Parses the string and extracts lexemes.
- */
- public function lex()
- {
- // TODO: Sometimes, static::parse* functions make unnecessary calls to
- // is* functions. For a better performance, some rules can be deduced
- // from context.
- // For example, in `parseBool` there is no need to compare the token
- // every time with `true` and `false`. The first step would be to
- // compare with 'true' only and just after that add another letter from
- // context and compare again with `false`.
- // Another example is `parseComment`.
-
- $list = new TokensList();
-
- /**
- * Last processed token.
- *
- * @var Token
- */
- $lastToken = null;
-
- for ($this->last = 0, $lastIdx = 0; $this->last < $this->len; $lastIdx = ++$this->last) {
- /**
- * The new token.
- *
- * @var Token
- */
- $token = null;
-
- foreach (static::$PARSER_METHODS as $method) {
- if ($token = $this->$method()) {
- break;
- }
- }
-
- if ($token === null) {
- // @assert($this->last === $lastIdx);
- $token = new Token($this->str[$this->last]);
- $this->error(
- 'Unexpected character.',
- $this->str[$this->last],
- $this->last
- );
- } elseif ($lastToken !== null
- && $token->type === Token::TYPE_SYMBOL
- && $token->flags & Token::FLAG_SYMBOL_VARIABLE
- && (
- $lastToken->type === Token::TYPE_STRING
- || (
- $lastToken->type === Token::TYPE_SYMBOL
- && $lastToken->flags & Token::FLAG_SYMBOL_BACKTICK
- )
- )
- ) {
- // Handles ```... FROM 'user'@'%' ...```.
- $lastToken->token .= $token->token;
- $lastToken->type = Token::TYPE_SYMBOL;
- $lastToken->flags = Token::FLAG_SYMBOL_USER;
- $lastToken->value .= '@' . $token->value;
- continue;
- } elseif ($lastToken !== null
- && $token->type === Token::TYPE_KEYWORD
- && $lastToken->type === Token::TYPE_OPERATOR
- && $lastToken->value === '.'
- ) {
- // Handles ```... tbl.FROM ...```. In this case, FROM is not
- // a reserved word.
- $token->type = Token::TYPE_NONE;
- $token->flags = 0;
- $token->value = $token->token;
- }
-
- $token->position = $lastIdx;
-
- $list->tokens[$list->count++] = $token;
-
- // Handling delimiters.
- if ($token->type === Token::TYPE_NONE && $token->value === 'DELIMITER') {
- if ($this->last + 1 >= $this->len) {
- $this->error(
- 'Expected whitespace(s) before delimiter.',
- '',
- $this->last + 1
- );
- continue;
- }
-
- // Skipping last R (from `delimiteR`) and whitespaces between
- // the keyword `DELIMITER` and the actual delimiter.
- $pos = ++$this->last;
- if (($token = $this->parseWhitespace()) !== null) {
- $token->position = $pos;
- $list->tokens[$list->count++] = $token;
- }
-
- // Preparing the token that holds the new delimiter.
- if ($this->last + 1 >= $this->len) {
- $this->error(
- 'Expected delimiter.',
- '',
- $this->last + 1
- );
- continue;
- }
- $pos = $this->last + 1;
-
- // Parsing the delimiter.
- $this->delimiter = null;
- $delimiterLen = 0;
- while (++$this->last < $this->len && ! Context::isWhitespace($this->str[$this->last]) && $delimiterLen < 15) {
- $this->delimiter .= $this->str[$this->last];
- ++$delimiterLen;
- }
-
- if (empty($this->delimiter)) {
- $this->error(
- 'Expected delimiter.',
- '',
- $this->last
- );
- $this->delimiter = ';';
- }
-
- --$this->last;
-
- // Saving the delimiter and its token.
- $this->delimiterLen = strlen($this->delimiter);
- $token = new Token($this->delimiter, Token::TYPE_DELIMITER);
- $token->position = $pos;
- $list->tokens[$list->count++] = $token;
- }
-
- $lastToken = $token;
- }
-
- // Adding a final delimiter to mark the ending.
- $list->tokens[$list->count++] = new Token(null, Token::TYPE_DELIMITER);
-
- // Saving the tokens list.
- $this->list = $list;
- }
-
- /**
- * Creates a new error log.
- *
- * @param string $msg the error message
- * @param string $str the character that produced the error
- * @param int $pos the position of the character
- * @param int $code the code of the error
- *
- * @throws LexerException throws the exception, if strict mode is enabled.
- */
- public function error($msg, $str = '', $pos = 0, $code = 0)
- {
- $error = new LexerException(
- Translator::gettext($msg),
- $str,
- $pos,
- $code
- );
- parent::error($error);
- }
-
- /**
- * Parses a keyword.
- *
- * @return null|Token
- */
- public function parseKeyword()
- {
- $token = '';
-
- /**
- * Value to be returned.
- *
- * @var Token
- */
- $ret = null;
-
- /**
- * The value of `$this->last` where `$token` ends in `$this->str`.
- *
- * @var int
- */
- $iEnd = $this->last;
-
- /**
- * Whether last parsed character is a whitespace.
- *
- * @var bool
- */
- $lastSpace = false;
-
- for ($j = 1; $j < Context::KEYWORD_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) {
- // Composed keywords shouldn't have more than one whitespace between
- // keywords.
- if (Context::isWhitespace($this->str[$this->last])) {
- if ($lastSpace) {
- --$j; // The size of the keyword didn't increase.
- continue;
- }
- $lastSpace = true;
- } else {
- $lastSpace = false;
- }
-
- $token .= $this->str[$this->last];
- if (($this->last + 1 === $this->len || Context::isSeparator($this->str[$this->last + 1]))
- && $flags = Context::isKeyword($token)
- ) {
- $ret = new Token($token, Token::TYPE_KEYWORD, $flags);
- $iEnd = $this->last;
-
- // We don't break so we find longest keyword.
- // For example, `OR` and `ORDER` have a common prefix `OR`.
- // If we stopped at `OR`, the parsing would be invalid.
- }
- }
-
- $this->last = $iEnd;
-
- return $ret;
- }
-
- /**
- * Parses a label.
- *
- * @return null|Token
- */
- public function parseLabel()
- {
- $token = '';
-
- /**
- * Value to be returned.
- *
- * @var Token
- */
- $ret = null;
-
- /**
- * The value of `$this->last` where `$token` ends in `$this->str`.
- *
- * @var int
- */
- $iEnd = $this->last;
- for ($j = 1; $j < Context::LABEL_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) {
- if ($this->str[$this->last] === ':' && $j > 1) {
- // End of label
- $token .= $this->str[$this->last];
- $ret = new Token($token, Token::TYPE_LABEL);
- $iEnd = $this->last;
- break;
- } elseif (Context::isWhitespace($this->str[$this->last]) && $j > 1) {
- // Whitespace between label and :
- // The size of the keyword didn't increase.
- --$j;
- } elseif (Context::isSeparator($this->str[$this->last])) {
- // Any other separator
- break;
- }
- $token .= $this->str[$this->last];
- }
-
- $this->last = $iEnd;
-
- return $ret;
- }
-
- /**
- * Parses an operator.
- *
- * @return null|Token
- */
- public function parseOperator()
- {
- $token = '';
-
- /**
- * Value to be returned.
- *
- * @var Token
- */
- $ret = null;
-
- /**
- * The value of `$this->last` where `$token` ends in `$this->str`.
- *
- * @var int
- */
- $iEnd = $this->last;
-
- for ($j = 1; $j < Context::OPERATOR_MAX_LENGTH && $this->last < $this->len; ++$j, ++$this->last) {
- $token .= $this->str[$this->last];
- if ($flags = Context::isOperator($token)) {
- $ret = new Token($token, Token::TYPE_OPERATOR, $flags);
- $iEnd = $this->last;
- }
- }
-
- $this->last = $iEnd;
-
- return $ret;
- }
-
- /**
- * Parses a whitespace.
- *
- * @return null|Token
- */
- public function parseWhitespace()
- {
- $token = $this->str[$this->last];
-
- if (! Context::isWhitespace($token)) {
- return null;
- }
-
- while (++$this->last < $this->len && Context::isWhitespace($this->str[$this->last])) {
- $token .= $this->str[$this->last];
- }
-
- --$this->last;
-
- return new Token($token, Token::TYPE_WHITESPACE);
- }
-
- /**
- * Parses a comment.
- *
- * @return null|Token
- */
- public function parseComment()
- {
- $iBak = $this->last;
- $token = $this->str[$this->last];
-
- // Bash style comments. (#comment\n)
- if (Context::isComment($token)) {
- while (++$this->last < $this->len
- && $this->str[$this->last] !== "\n"
- ) {
- $token .= $this->str[$this->last];
- }
- // Include trailing \n as whitespace token
- if ($this->last < $this->len) {
- --$this->last;
- }
-
- return new Token($token, Token::TYPE_COMMENT, Token::FLAG_COMMENT_BASH);
- }
-
- // C style comments. (/*comment*\/)
- if (++$this->last < $this->len) {
- $token .= $this->str[$this->last];
- if (Context::isComment($token)) {
- $flags = Token::FLAG_COMMENT_C;
-
- // This comment already ended. It may be a part of a
- // previous MySQL specific command.
- if ($token === '*/') {
- return new Token($token, Token::TYPE_COMMENT, $flags);
- }
-
- // Checking if this is a MySQL-specific command.
- if ($this->last + 1 < $this->len
- && $this->str[$this->last + 1] === '!'
- ) {
- $flags |= Token::FLAG_COMMENT_MYSQL_CMD;
- $token .= $this->str[++$this->last];
-
- while (++$this->last < $this->len
- && $this->str[$this->last] >= '0'
- && $this->str[$this->last] <= '9'
- ) {
- $token .= $this->str[$this->last];
- }
- --$this->last;
-
- // We split this comment and parse only its beginning
- // here.
- return new Token($token, Token::TYPE_COMMENT, $flags);
- }
-
- // Parsing the comment.
- while (++$this->last < $this->len
- && (
- $this->str[$this->last - 1] !== '*'
- || $this->str[$this->last] !== '/'
- )
- ) {
- $token .= $this->str[$this->last];
- }
-
- // Adding the ending.
- if ($this->last < $this->len) {
- $token .= $this->str[$this->last];
- }
-
- return new Token($token, Token::TYPE_COMMENT, $flags);
- }
- }
-
- // SQL style comments. (-- comment\n)
- if (++$this->last < $this->len) {
- $token .= $this->str[$this->last];
- $end = false;
- } else {
- --$this->last;
- $end = true;
- }
- if (Context::isComment($token, $end)) {
- // Checking if this comment did not end already (```--\n```).
- if ($this->str[$this->last] !== "\n") {
- while (++$this->last < $this->len
- && $this->str[$this->last] !== "\n"
- ) {
- $token .= $this->str[$this->last];
- }
- }
- // Include trailing \n as whitespace token
- if ($this->last < $this->len) {
- --$this->last;
- }
-
- return new Token($token, Token::TYPE_COMMENT, Token::FLAG_COMMENT_SQL);
- }
-
- $this->last = $iBak;
-
- return null;
- }
-
- /**
- * Parses a boolean.
- *
- * @return null|Token
- */
- public function parseBool()
- {
- if ($this->last + 3 >= $this->len) {
- // At least `min(strlen('TRUE'), strlen('FALSE'))` characters are
- // required.
- return null;
- }
-
- $iBak = $this->last;
- $token = $this->str[$this->last] . $this->str[++$this->last]
- . $this->str[++$this->last] . $this->str[++$this->last]; // _TRUE_ or _FALS_e
-
- if (Context::isBool($token)) {
- return new Token($token, Token::TYPE_BOOL);
- } elseif (++$this->last < $this->len) {
- $token .= $this->str[$this->last]; // fals_E_
- if (Context::isBool($token)) {
- return new Token($token, Token::TYPE_BOOL, 1);
- }
- }
-
- $this->last = $iBak;
-
- return null;
- }
-
- /**
- * Parses a number.
- *
- * @return null|Token
- */
- public function parseNumber()
- {
- // A rudimentary state machine is being used to parse numbers due to
- // the various forms of their notation.
- //
- // Below are the states of the machines and the conditions to change
- // the state.
- //
- // 1 --------------------[ + or - ]-------------------> 1
- // 1 -------------------[ 0x or 0X ]------------------> 2
- // 1 --------------------[ 0 to 9 ]-------------------> 3
- // 1 -----------------------[ . ]---------------------> 4
- // 1 -----------------------[ b ]---------------------> 7
- //
- // 2 --------------------[ 0 to F ]-------------------> 2
- //
- // 3 --------------------[ 0 to 9 ]-------------------> 3
- // 3 -----------------------[ . ]---------------------> 4
- // 3 --------------------[ e or E ]-------------------> 5
- //
- // 4 --------------------[ 0 to 9 ]-------------------> 4
- // 4 --------------------[ e or E ]-------------------> 5
- //
- // 5 ---------------[ + or - or 0 to 9 ]--------------> 6
- //
- // 7 -----------------------[ ' ]---------------------> 8
- //
- // 8 --------------------[ 0 or 1 ]-------------------> 8
- // 8 -----------------------[ ' ]---------------------> 9
- //
- // State 1 may be reached by negative numbers.
- // State 2 is reached only by hex numbers.
- // State 4 is reached only by float numbers.
- // State 5 is reached only by numbers in approximate form.
- // State 7 is reached only by numbers in bit representation.
- //
- // Valid final states are: 2, 3, 4 and 6. Any parsing that finished in a
- // state other than these is invalid.
- $iBak = $this->last;
- $token = '';
- $flags = 0;
- $state = 1;
- for (; $this->last < $this->len; ++$this->last) {
- if ($state === 1) {
- if ($this->str[$this->last] === '-') {
- $flags |= Token::FLAG_NUMBER_NEGATIVE;
- } elseif ($this->last + 1 < $this->len
- && $this->str[$this->last] === '0'
- && (
- $this->str[$this->last + 1] === 'x'
- || $this->str[$this->last + 1] === 'X'
- )
- ) {
- $token .= $this->str[$this->last++];
- $state = 2;
- } elseif ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9') {
- $state = 3;
- } elseif ($this->str[$this->last] === '.') {
- $state = 4;
- } elseif ($this->str[$this->last] === 'b') {
- $state = 7;
- } elseif ($this->str[$this->last] !== '+') {
- // `+` is a valid character in a number.
- break;
- }
- } elseif ($state === 2) {
- $flags |= Token::FLAG_NUMBER_HEX;
- if (! (
- ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9')
- || ($this->str[$this->last] >= 'A' && $this->str[$this->last] <= 'F')
- || ($this->str[$this->last] >= 'a' && $this->str[$this->last] <= 'f')
- )
- ) {
- break;
- }
- } elseif ($state === 3) {
- if ($this->str[$this->last] === '.') {
- $state = 4;
- } elseif ($this->str[$this->last] === 'e' || $this->str[$this->last] === 'E') {
- $state = 5;
- } elseif ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') {
- // Just digits and `.`, `e` and `E` are valid characters.
- break;
- }
- } elseif ($state === 4) {
- $flags |= Token::FLAG_NUMBER_FLOAT;
- if ($this->str[$this->last] === 'e' || $this->str[$this->last] === 'E') {
- $state = 5;
- } elseif ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') {
- // Just digits, `e` and `E` are valid characters.
- break;
- }
- } elseif ($state === 5) {
- $flags |= Token::FLAG_NUMBER_APPROXIMATE;
- if ($this->str[$this->last] === '+' || $this->str[$this->last] === '-'
- || ($this->str[$this->last] >= '0' && $this->str[$this->last] <= '9')
- ) {
- $state = 6;
- } else {
- break;
- }
- } elseif ($state === 6) {
- if ($this->str[$this->last] < '0' || $this->str[$this->last] > '9') {
- // Just digits are valid characters.
- break;
- }
- } elseif ($state === 7) {
- $flags |= Token::FLAG_NUMBER_BINARY;
- if ($this->str[$this->last] === '\'') {
- $state = 8;
- } else {
- break;
- }
- } elseif ($state === 8) {
- if ($this->str[$this->last] === '\'') {
- $state = 9;
- } elseif ($this->str[$this->last] !== '0'
- && $this->str[$this->last] !== '1'
- ) {
- break;
- }
- } elseif ($state === 9) {
- break;
- }
- $token .= $this->str[$this->last];
- }
- if ($state === 2 || $state === 3
- || ($token !== '.' && $state === 4)
- || $state === 6 || $state === 9
- ) {
- --$this->last;
-
- return new Token($token, Token::TYPE_NUMBER, $flags);
- }
- $this->last = $iBak;
-
- return null;
- }
-
- /**
- * Parses a string.
- *
- * @param string $quote additional starting symbol
- *
- * @return null|Token
- */
- public function parseString($quote = '')
- {
- $token = $this->str[$this->last];
- if (! ($flags = Context::isString($token)) && $token !== $quote) {
- return null;
- }
- $quote = $token;
-
- while (++$this->last < $this->len) {
- if ($this->last + 1 < $this->len
- && (
- ($this->str[$this->last] === $quote && $this->str[$this->last + 1] === $quote)
- || ($this->str[$this->last] === '\\' && $quote !== '`')
- )
- ) {
- $token .= $this->str[$this->last] . $this->str[++$this->last];
- } else {
- if ($this->str[$this->last] === $quote) {
- break;
- }
- $token .= $this->str[$this->last];
- }
- }
-
- if ($this->last >= $this->len || $this->str[$this->last] !== $quote) {
- $this->error(
- sprintf(
- Translator::gettext('Ending quote %1$s was expected.'),
- $quote
- ),
- '',
- $this->last
- );
- } else {
- $token .= $this->str[$this->last];
- }
-
- return new Token($token, Token::TYPE_STRING, $flags);
- }
-
- /**
- * Parses a symbol.
- *
- * @return null|Token
- */
- public function parseSymbol()
- {
- $token = $this->str[$this->last];
- if (! ($flags = Context::isSymbol($token))) {
- return null;
- }
-
- if ($flags & Token::FLAG_SYMBOL_VARIABLE) {
- if ($this->last + 1 < $this->len && $this->str[++$this->last] === '@') {
- // This is a system variable (e.g. `@@hostname`).
- $token .= $this->str[$this->last++];
- $flags |= Token::FLAG_SYMBOL_SYSTEM;
- }
- } elseif ($flags & Token::FLAG_SYMBOL_PARAMETER) {
- if ($token !== '?' && $this->last + 1 < $this->len) {
- ++$this->last;
- }
- } else {
- $token = '';
- }
-
- $str = null;
-
- if ($this->last < $this->len) {
- if (($str = $this->parseString('`')) === null) {
- if (($str = $this->parseUnknown()) === null) {
- $this->error(
- 'Variable name was expected.',
- $this->str[$this->last],
- $this->last
- );
- }
- }
- }
-
- if ($str !== null) {
- $token .= $str->token;
- }
-
- return new Token($token, Token::TYPE_SYMBOL, $flags);
- }
-
- /**
- * Parses unknown parts of the query.
- *
- * @return null|Token
- */
- public function parseUnknown()
- {
- $token = $this->str[$this->last];
- if (Context::isSeparator($token)) {
- return null;
- }
-
- while (++$this->last < $this->len && ! Context::isSeparator($this->str[$this->last])) {
- $token .= $this->str[$this->last];
- }
- --$this->last;
-
- return new Token($token);
- }
-
- /**
- * Parses the delimiter of the query.
- *
- * @return null|Token
- */
- public function parseDelimiter()
- {
- $idx = 0;
-
- while ($idx < $this->delimiterLen && $this->last + $idx < $this->len) {
- if ($this->delimiter[$idx] !== $this->str[$this->last + $idx]) {
- return null;
- }
- ++$idx;
- }
-
- $this->last += $this->delimiterLen - 1;
-
- return new Token($this->delimiter, Token::TYPE_DELIMITER);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Parser.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Parser.php
deleted file mode 100644
index 902fa49..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Parser.php
+++ /dev/null
@@ -1,605 +0,0 @@
- 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement',
- 'DESC' => 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement',
- 'EXPLAIN' => 'PhpMyAdmin\\SqlParser\\Statements\\ExplainStatement',
- 'FLUSH' => '',
- 'GRANT' => '',
- 'HELP' => '',
- 'SET PASSWORD' => '',
- 'STATUS' => '',
- 'USE' => '',
-
- // Table Maintenance Statements
- // https://dev.mysql.com/doc/refman/5.7/en/table-maintenance-sql.html
- 'ANALYZE' => 'PhpMyAdmin\\SqlParser\\Statements\\AnalyzeStatement',
- 'BACKUP' => 'PhpMyAdmin\\SqlParser\\Statements\\BackupStatement',
- 'CHECK' => 'PhpMyAdmin\\SqlParser\\Statements\\CheckStatement',
- 'CHECKSUM' => 'PhpMyAdmin\\SqlParser\\Statements\\ChecksumStatement',
- 'OPTIMIZE' => 'PhpMyAdmin\\SqlParser\\Statements\\OptimizeStatement',
- 'REPAIR' => 'PhpMyAdmin\\SqlParser\\Statements\\RepairStatement',
- 'RESTORE' => 'PhpMyAdmin\\SqlParser\\Statements\\RestoreStatement',
-
- // Database Administration Statements
- // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-server-administration.html
- 'SET' => 'PhpMyAdmin\\SqlParser\\Statements\\SetStatement',
- 'SHOW' => 'PhpMyAdmin\\SqlParser\\Statements\\ShowStatement',
-
- // Data Definition Statements.
- // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-data-definition.html
- 'ALTER' => 'PhpMyAdmin\\SqlParser\\Statements\\AlterStatement',
- 'CREATE' => 'PhpMyAdmin\\SqlParser\\Statements\\CreateStatement',
- 'DROP' => 'PhpMyAdmin\\SqlParser\\Statements\\DropStatement',
- 'RENAME' => 'PhpMyAdmin\\SqlParser\\Statements\\RenameStatement',
- 'TRUNCATE' => 'PhpMyAdmin\\SqlParser\\Statements\\TruncateStatement',
-
- // Data Manipulation Statements.
- // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-data-manipulation.html
- 'CALL' => 'PhpMyAdmin\\SqlParser\\Statements\\CallStatement',
- 'DELETE' => 'PhpMyAdmin\\SqlParser\\Statements\\DeleteStatement',
- 'DO' => '',
- 'HANDLER' => '',
- 'INSERT' => 'PhpMyAdmin\\SqlParser\\Statements\\InsertStatement',
- 'LOAD DATA' => 'PhpMyAdmin\\SqlParser\\Statements\\LoadStatement',
- 'REPLACE' => 'PhpMyAdmin\\SqlParser\\Statements\\ReplaceStatement',
- 'SELECT' => 'PhpMyAdmin\\SqlParser\\Statements\\SelectStatement',
- 'UPDATE' => 'PhpMyAdmin\\SqlParser\\Statements\\UpdateStatement',
-
- // Prepared Statements.
- // https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
- 'DEALLOCATE' => '',
- 'EXECUTE' => '',
- 'PREPARE' => '',
-
- // Transactional and Locking Statements
- // https://dev.mysql.com/doc/refman/5.7/en/commit.html
- 'BEGIN' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement',
- 'COMMIT' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement',
- 'ROLLBACK' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement',
- 'START TRANSACTION' => 'PhpMyAdmin\\SqlParser\\Statements\\TransactionStatement',
-
- 'PURGE' => 'PhpMyAdmin\\SqlParser\\Statements\\PurgeStatement',
-
- // Lock statements
- // https://dev.mysql.com/doc/refman/5.7/en/lock-tables.html
- 'LOCK' => 'PhpMyAdmin\\SqlParser\\Statements\\LockStatement',
- 'UNLOCK' => 'PhpMyAdmin\\SqlParser\\Statements\\LockStatement',
- ];
-
- /**
- * Array of classes that are used in parsing SQL components.
- *
- * @var array
- */
- public static $KEYWORD_PARSERS = [
- // This is not a proper keyword and was added here to help the
- // formatter.
- 'PARTITION BY' => [],
- 'SUBPARTITION BY' => [],
-
- // This is not a proper keyword and was added here to help the
- // builder.
- '_OPTIONS' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OptionsArray',
- 'field' => 'options',
- ],
- '_END_OPTIONS' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OptionsArray',
- 'field' => 'end_options',
- ],
-
- 'INTERSECT' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword',
- 'field' => 'union',
- ],
- 'EXCEPT' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword',
- 'field' => 'union',
- ],
- 'UNION' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword',
- 'field' => 'union',
- ],
- 'UNION ALL' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword',
- 'field' => 'union',
- ],
- 'UNION DISTINCT' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\UnionKeyword',
- 'field' => 'union',
- ],
-
- // Actual clause parsers.
- 'ALTER' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression',
- 'field' => 'table',
- 'options' => ['parseField' => 'table'],
- ],
- 'ANALYZE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'tables',
- 'options' => ['parseField' => 'table'],
- ],
- 'BACKUP' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'tables',
- 'options' => ['parseField' => 'table'],
- ],
- 'CALL' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\FunctionCall',
- 'field' => 'call',
- ],
- 'CHECK' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'tables',
- 'options' => ['parseField' => 'table'],
- ],
- 'CHECKSUM' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'tables',
- 'options' => ['parseField' => 'table'],
- ],
- 'CROSS JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'DROP' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'fields',
- 'options' => ['parseField' => 'table'],
- ],
- 'FORCE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IndexHint',
- 'field' => 'index_hints',
- ],
- 'FROM' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'from',
- 'options' => ['field' => 'table'],
- ],
- 'GROUP BY' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\GroupKeyword',
- 'field' => 'group',
- ],
- 'HAVING' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Condition',
- 'field' => 'having',
- ],
- 'IGNORE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IndexHint',
- 'field' => 'index_hints',
- ],
- 'INTO' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IntoKeyword',
- 'field' => 'into',
- ],
- 'JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'LEFT JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'LEFT OUTER JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'ON' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression',
- 'field' => 'table',
- 'options' => ['parseField' => 'table'],
- ],
- 'RIGHT JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'RIGHT OUTER JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'INNER JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'FULL JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'FULL OUTER JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'NATURAL JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'NATURAL LEFT JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'NATURAL RIGHT JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'NATURAL LEFT OUTER JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'NATURAL RIGHT OUTER JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'STRAIGHT_JOIN' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\JoinKeyword',
- 'field' => 'join',
- ],
- 'LIMIT' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Limit',
- 'field' => 'limit',
- ],
- 'OPTIMIZE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'tables',
- 'options' => ['parseField' => 'table'],
- ],
- 'ORDER BY' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\OrderKeyword',
- 'field' => 'order',
- ],
- 'PARTITION' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ArrayObj',
- 'field' => 'partition',
- ],
- 'PROCEDURE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\FunctionCall',
- 'field' => 'procedure',
- ],
- 'RENAME' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\RenameOperation',
- 'field' => 'renames',
- ],
- 'REPAIR' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'tables',
- 'options' => ['parseField' => 'table'],
- ],
- 'RESTORE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'tables',
- 'options' => ['parseField' => 'table'],
- ],
- 'SET' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\SetOperation',
- 'field' => 'set',
- ],
- 'SELECT' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'expr',
- ],
- 'TRUNCATE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Expression',
- 'field' => 'table',
- 'options' => ['parseField' => 'table'],
- ],
- 'UPDATE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\ExpressionArray',
- 'field' => 'tables',
- 'options' => ['parseField' => 'table'],
- ],
- 'USE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\IndexHint',
- 'field' => 'index_hints',
- ],
- 'VALUE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Array2d',
- 'field' => 'values',
- ],
- 'VALUES' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Array2d',
- 'field' => 'values',
- ],
- 'WHERE' => [
- 'class' => 'PhpMyAdmin\\SqlParser\\Components\\Condition',
- 'field' => 'where',
- ],
- ];
-
- /**
- * The list of tokens that are parsed.
- *
- * @var TokensList
- */
- public $list;
-
- /**
- * List of statements parsed.
- *
- * @var Statement[]
- */
- public $statements = [];
-
- /**
- * The number of opened brackets.
- *
- * @var int
- */
- public $brackets = 0;
-
- /**
- * @param string|UtfString|TokensList $list the list of tokens to be parsed
- * @param bool $strict whether strict mode should be enabled or not
- */
- public function __construct($list = null, $strict = false)
- {
- if (is_string($list) || ($list instanceof UtfString)) {
- $lexer = new Lexer($list, $strict);
- $this->list = $lexer->list;
- } elseif ($list instanceof TokensList) {
- $this->list = $list;
- }
-
- $this->strict = $strict;
-
- if ($list !== null) {
- $this->parse();
- }
- }
-
- /**
- * Builds the parse trees.
- */
- public function parse()
- {
- /**
- * Last transaction.
- *
- * @var TransactionStatement
- */
- $lastTransaction = null;
-
- /**
- * Last parsed statement.
- *
- * @var Statement
- */
- $lastStatement = null;
-
- /**
- * Union's type or false for no union.
- *
- * @var bool|string
- */
- $unionType = false;
-
- /**
- * The index of the last token from the last statement.
- *
- * @var int
- */
- $prevLastIdx = -1;
-
- /**
- * The list of tokens.
- *
- * @var TokensList
- */
- $list = &$this->list;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // `DELIMITER` is not an actual statement and it requires
- // special handling.
- if (($token->type === Token::TYPE_NONE)
- && (strtoupper($token->token) === 'DELIMITER')
- ) {
- // Skipping to the end of this statement.
- $list->getNextOfType(Token::TYPE_DELIMITER);
- $prevLastIdx = $list->idx;
- continue;
- }
-
- // Counting the brackets around statements.
- if ($token->value === '(') {
- ++$this->brackets;
- continue;
- }
-
- // Statements can start with keywords only.
- // Comments, whitespaces, etc. are ignored.
- if ($token->type !== Token::TYPE_KEYWORD) {
- if (($token->type !== Token::TYPE_COMMENT)
- && ($token->type !== Token::TYPE_WHITESPACE)
- && ($token->type !== Token::TYPE_OPERATOR) // `(` and `)`
- && ($token->type !== Token::TYPE_DELIMITER)
- ) {
- $this->error(
- 'Unexpected beginning of statement.',
- $token
- );
- }
- continue;
- }
-
- if (($token->keyword === 'UNION') ||
- ($token->keyword === 'UNION ALL') ||
- ($token->keyword === 'UNION DISTINCT') ||
- ($token->keyword === 'EXCEPT') ||
- ($token->keyword === 'INTERSECT')
- ) {
- $unionType = $token->keyword;
- continue;
- }
-
- // Checking if it is a known statement that can be parsed.
- if (empty(static::$STATEMENT_PARSERS[$token->keyword])) {
- if (! isset(static::$STATEMENT_PARSERS[$token->keyword])) {
- // A statement is considered recognized if the parser
- // is aware that it is a statement, but it does not have
- // a parser for it yet.
- $this->error(
- 'Unrecognized statement type.',
- $token
- );
- }
- // Skipping to the end of this statement.
- $list->getNextOfType(Token::TYPE_DELIMITER);
- $prevLastIdx = $list->idx;
- continue;
- }
-
- /**
- * The name of the class that is used for parsing.
- *
- * @var string
- */
- $class = static::$STATEMENT_PARSERS[$token->keyword];
-
- /**
- * Processed statement.
- *
- * @var Statement
- */
- $statement = new $class($this, $this->list);
-
- // The first token that is a part of this token is the next token
- // unprocessed by the previous statement.
- // There might be brackets around statements and this shouldn't
- // affect the parser
- $statement->first = $prevLastIdx + 1;
-
- // Storing the index of the last token parsed and updating the old
- // index.
- $statement->last = $list->idx;
- $prevLastIdx = $list->idx;
-
- // Handles unions.
- if (! empty($unionType)
- && ($lastStatement instanceof SelectStatement)
- && ($statement instanceof SelectStatement)
- ) {
- /*
- * This SELECT statement.
- *
- * @var SelectStatement $statement
- */
-
- /*
- * Last SELECT statement.
- *
- * @var SelectStatement $lastStatement
- */
- $lastStatement->union[] = [
- $unionType,
- $statement,
- ];
-
- // if there are no no delimiting brackets, the `ORDER` and
- // `LIMIT` keywords actually belong to the first statement.
- $lastStatement->order = $statement->order;
- $lastStatement->limit = $statement->limit;
- $statement->order = [];
- $statement->limit = null;
-
- // The statement actually ends where the last statement in
- // union ends.
- $lastStatement->last = $statement->last;
-
- $unionType = false;
-
- // Validate clause order
- $statement->validateClauseOrder($this, $list);
- continue;
- }
-
- // Handles transactions.
- if ($statement instanceof TransactionStatement) {
- /*
- * @var TransactionStatement
- */
- if ($statement->type === TransactionStatement::TYPE_BEGIN) {
- $lastTransaction = $statement;
- $this->statements[] = $statement;
- } elseif ($statement->type === TransactionStatement::TYPE_END) {
- if ($lastTransaction === null) {
- // Even though an error occurred, the query is being
- // saved.
- $this->statements[] = $statement;
- $this->error(
- 'No transaction was previously started.',
- $token
- );
- } else {
- $lastTransaction->end = $statement;
- }
- $lastTransaction = null;
- }
-
- // Validate clause order
- $statement->validateClauseOrder($this, $list);
- continue;
- }
-
- // Validate clause order
- $statement->validateClauseOrder($this, $list);
-
- // Finally, storing the statement.
- if ($lastTransaction !== null) {
- $lastTransaction->statements[] = $statement;
- } else {
- $this->statements[] = $statement;
- }
- $lastStatement = $statement;
- }
- }
-
- /**
- * Creates a new error log.
- *
- * @param string $msg the error message
- * @param Token $token the token that produced the error
- * @param int $code the code of the error
- *
- * @throws ParserException throws the exception, if strict mode is enabled.
- */
- public function error($msg, Token $token = null, $code = 0)
- {
- $error = new ParserException(
- Translator::gettext($msg),
- $token,
- $code
- );
- parent::error($error);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statement.php
deleted file mode 100644
index 6617da7..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statement.php
+++ /dev/null
@@ -1,554 +0,0 @@
-parse($parser, $list);
- }
- }
-
- /**
- * Builds the string representation of this statement.
- *
- * @return string
- */
- public function build()
- {
- /**
- * Query to be returned.
- *
- * @var string
- */
- $query = '';
-
- /**
- * Clauses which were built already.
- *
- * It is required to keep track of built clauses because some fields,
- * for example `join` is used by multiple clauses (`JOIN`, `LEFT JOIN`,
- * `LEFT OUTER JOIN`, etc.). The same happens for `VALUE` and `VALUES`.
- *
- * A clause is considered built just after fields' value
- * (`$this->field`) was used in building.
- *
- * @var array
- */
- $built = [];
-
- /**
- * Statement's clauses.
- *
- * @var array
- */
- $clauses = $this->getClauses();
-
- foreach ($clauses as $clause) {
- /**
- * The name of the clause.
- *
- * @var string
- */
- $name = $clause[0];
-
- /**
- * The type of the clause.
- *
- * @see self::$CLAUSES
- *
- * @var int
- */
- $type = $clause[1];
-
- /**
- * The builder (parser) of this clause.
- *
- * @var Component
- */
- $class = Parser::$KEYWORD_PARSERS[$name]['class'];
-
- /**
- * The name of the field that is used as source for the builder.
- * Same field is used to store the result of parsing.
- *
- * @var string
- */
- $field = Parser::$KEYWORD_PARSERS[$name]['field'];
-
- // The field is empty, there is nothing to be built.
- if (empty($this->$field)) {
- continue;
- }
-
- // Checking if this field was already built.
- if ($type & 1) {
- if (! empty($built[$field])) {
- continue;
- }
- $built[$field] = true;
- }
-
- // Checking if the name of the clause should be added.
- if ($type & 2) {
- $query = trim($query) . ' ' . $name;
- }
-
- // Checking if the result of the builder should be added.
- if ($type & 1) {
- $query = trim($query) . ' ' . $class::build($this->$field);
- }
- }
-
- return $query;
- }
-
- /**
- * Parses the statements defined by the tokens list.
- *
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- /**
- * Array containing all list of clauses parsed.
- * This is used to check for duplicates.
- *
- * @var array
- */
- $parsedClauses = [];
-
- // This may be corrected by the parser.
- $this->first = $list->idx;
-
- /**
- * Whether options were parsed or not.
- * For statements that do not have any options this is set to `true` by
- * default.
- *
- * @var bool
- */
- $parsedOptions = empty(static::$OPTIONS);
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Checking if this closing bracket is the pair for a bracket
- // outside the statement.
- if (($token->value === ')') && ($parser->brackets > 0)) {
- --$parser->brackets;
- continue;
- }
-
- // Only keywords are relevant here. Other parts of the query are
- // processed in the functions below.
- if ($token->type !== Token::TYPE_KEYWORD) {
- if (($token->type !== Token::TYPE_COMMENT)
- && ($token->type !== Token::TYPE_WHITESPACE)
- ) {
- $parser->error('Unexpected token.', $token);
- }
- continue;
- }
-
- // Unions are parsed by the parser because they represent more than
- // one statement.
- if (($token->keyword === 'UNION') ||
- ($token->keyword === 'UNION ALL') ||
- ($token->keyword === 'UNION DISTINCT') ||
- ($token->keyword === 'EXCEPT') ||
- ($token->keyword === 'INTERSECT')
- ) {
- break;
- }
-
- $lastIdx = $list->idx;
-
- // ON DUPLICATE KEY UPDATE ...
- // has to be parsed in parent statement (INSERT or REPLACE)
- // so look for it and break
- if ($this instanceof Statements\SelectStatement
- && $token->value === 'ON'
- ) {
- ++$list->idx; // Skip ON
-
- // look for ON DUPLICATE KEY UPDATE
- $first = $list->getNextOfType(Token::TYPE_KEYWORD);
- $second = $list->getNextOfType(Token::TYPE_KEYWORD);
- $third = $list->getNextOfType(Token::TYPE_KEYWORD);
-
- if ($first && $second && $third
- && $first->value === 'DUPLICATE'
- && $second->value === 'KEY'
- && $third->value === 'UPDATE'
- ) {
- $list->idx = $lastIdx;
- break;
- }
- }
- $list->idx = $lastIdx;
-
- /**
- * The name of the class that is used for parsing.
- *
- * @var Component
- */
- $class = null;
-
- /**
- * The name of the field where the result of the parsing is stored.
- *
- * @var string
- */
- $field = null;
-
- /**
- * Parser's options.
- *
- * @var array
- */
- $options = [];
-
- // Looking for duplicated clauses.
- if (! empty(Parser::$KEYWORD_PARSERS[$token->value])
- || ! empty(Parser::$STATEMENT_PARSERS[$token->value])
- ) {
- if (! empty($parsedClauses[$token->value])) {
- $parser->error(
- 'This type of clause was previously parsed.',
- $token
- );
- break;
- }
- $parsedClauses[$token->value] = true;
- }
-
- // Checking if this is the beginning of a clause.
- // Fix Issue #221: As `truncate` is not a keyword
- // but it might be the beginning of a statement of truncate,
- // so let the value use the keyword field for truncate type.
- $token_value = in_array($token->keyword, ['TRUNCATE']) ? $token->keyword : $token->value;
- if (! empty(Parser::$KEYWORD_PARSERS[$token_value]) && $list->idx < $list->count) {
- $class = Parser::$KEYWORD_PARSERS[$token_value]['class'];
- $field = Parser::$KEYWORD_PARSERS[$token_value]['field'];
- if (! empty(Parser::$KEYWORD_PARSERS[$token_value]['options'])) {
- $options = Parser::$KEYWORD_PARSERS[$token_value]['options'];
- }
- }
-
- // Checking if this is the beginning of the statement.
- if (! empty(Parser::$STATEMENT_PARSERS[$token->keyword])) {
- if (! empty(static::$CLAUSES) // Undefined for some statements.
- && empty(static::$CLAUSES[$token->value])
- ) {
- // Some keywords (e.g. `SET`) may be the beginning of a
- // statement and a clause.
- // If such keyword was found and it cannot be a clause of
- // this statement it means it is a new statement, but no
- // delimiter was found between them.
- $parser->error(
- 'A new statement was found, but no delimiter between it and the previous one.',
- $token
- );
- break;
- }
- if (! $parsedOptions) {
- if (empty(static::$OPTIONS[$token->value])) {
- // Skipping keyword because if it is not a option.
- ++$list->idx;
- }
- $this->options = OptionsArray::parse(
- $parser,
- $list,
- static::$OPTIONS
- );
- $parsedOptions = true;
- }
- } elseif ($class === null) {
- if ($this instanceof Statements\SelectStatement
- && ($token->value === 'FOR UPDATE'
- || $token->value === 'LOCK IN SHARE MODE')
- ) {
- // Handle special end options in Select statement
- // See Statements\SelectStatement::$END_OPTIONS
- $this->end_options = OptionsArray::parse(
- $parser,
- $list,
- static::$END_OPTIONS
- );
- } elseif ($this instanceof Statements\SetStatement
- && ($token->value === 'COLLATE'
- || $token->value === 'DEFAULT')
- ) {
- // Handle special end options in SET statement
- // See Statements\SetStatement::$END_OPTIONS
- $this->end_options = OptionsArray::parse(
- $parser,
- $list,
- static::$END_OPTIONS
- );
- } else {
- // There is no parser for this keyword and isn't the beginning
- // of a statement (so no options) either.
- $parser->error('Unrecognized keyword.', $token);
- continue;
- }
- }
-
- $this->before($parser, $list, $token);
-
- // Parsing this keyword.
- if ($class !== null) {
- // We can't parse keyword at the end of statement
- if ($list->idx >= $list->count) {
- $parser->error('Keyword at end of statement.', $token);
- continue;
- }
- ++$list->idx; // Skipping keyword or last option.
- $this->$field = $class::parse($parser, $list, $options);
- }
-
- $this->after($parser, $list, $token);
-
- // #223 Here may make a patch, if last is delimiter, back one
- if ($class !== null) {
- if ((new $class()) instanceof FunctionCall) {
- if ($list->offsetGet($list->idx)->type === Token::TYPE_DELIMITER) {
- --$list->idx;
- }
- }
- }
- }
-
- // This may be corrected by the parser.
- $this->last = --$list->idx; // Go back to last used token.
- }
-
- /**
- * Function called before the token is processed.
- *
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- * @param Token $token the token that is being parsed
- */
- public function before(Parser $parser, TokensList $list, Token $token)
- {
- }
-
- /**
- * Function called after the token was processed.
- *
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- * @param Token $token the token that is being parsed
- */
- public function after(Parser $parser, TokensList $list, Token $token)
- {
- }
-
- /**
- * Gets the clauses of this statement.
- *
- * @return array
- */
- public function getClauses()
- {
- return static::$CLAUSES;
- }
-
- /**
- * Builds the string representation of this statement.
- *
- * @see static::build
- *
- * @return string
- */
- public function __toString()
- {
- return $this->build();
- }
-
- /**
- * Validates the order of the clauses in parsed statement
- * Ideally this should be called after successfully
- * completing the parsing of each statement.
- *
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- *
- * @return bool
- */
- public function validateClauseOrder($parser, $list)
- {
- $clauses = array_flip(array_keys($this->getClauses()));
-
- if (empty($clauses) || count($clauses) === 0) {
- return true;
- }
-
- $minIdx = -1;
-
- /**
- * For tracking JOIN clauses in a query
- * = 0 - JOIN not found till now
- * > 0 - Index of first JOIN clause in the statement.
- *
- * @var int
- */
- $minJoin = 0;
-
- /**
- * For tracking JOIN clauses in a query
- * = 0 - JOIN not found till now
- * > 0 - Index of last JOIN clause
- * (which appears together with other JOINs)
- * in the statement.
- *
- * @var int
- */
- $maxJoin = 0;
-
- $error = 0;
- $lastIdx = 0;
- foreach ($clauses as $clauseType => $index) {
- $clauseStartIdx = Utils\Query::getClauseStartOffset(
- $this,
- $list,
- $clauseType
- );
-
- if ($clauseStartIdx !== -1
- && $this instanceof Statements\SelectStatement
- && ($clauseType === 'FORCE'
- || $clauseType === 'IGNORE'
- || $clauseType === 'USE')
- ) {
- // TODO: ordering of clauses in a SELECT statement with
- // Index hints is not supported
- return true;
- }
-
- // Handle ordering of Multiple Joins in a query
- if ($clauseStartIdx !== -1) {
- if ($minJoin === 0 && stripos($clauseType, 'JOIN')) {
- // First JOIN clause is detected
- $minJoin = $maxJoin = $clauseStartIdx;
- } elseif ($minJoin !== 0 && ! stripos($clauseType, 'JOIN')) {
- // After a previous JOIN clause, a non-JOIN clause has been detected
- $maxJoin = $lastIdx;
- } elseif ($maxJoin < $clauseStartIdx && stripos($clauseType, 'JOIN')) {
- $error = 1;
- }
- }
-
- if ($clauseStartIdx !== -1 && $clauseStartIdx < $minIdx) {
- if ($minJoin === 0 || $error === 1) {
- $token = $list->tokens[$clauseStartIdx];
- $parser->error(
- 'Unexpected ordering of clauses.',
- $token
- );
-
- return false;
- }
- $minIdx = $clauseStartIdx;
- } elseif ($clauseStartIdx !== -1) {
- $minIdx = $clauseStartIdx;
- }
-
- $lastIdx = $clauseStartIdx !== -1 ? $clauseStartIdx : $lastIdx;
- }
-
- return true;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/AlterStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/AlterStatement.php
deleted file mode 100644
index a03b2fc..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/AlterStatement.php
+++ /dev/null
@@ -1,146 +0,0 @@
- 1,
- 'OFFLINE' => 1,
- 'IGNORE' => 2,
-
- 'DATABASE' => 3,
- 'EVENT' => 3,
- 'FUNCTION' => 3,
- 'PROCEDURE' => 3,
- 'SERVER' => 3,
- 'TABLE' => 3,
- 'TABLESPACE' => 3,
- 'VIEW' => 3,
- ];
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- ++$list->idx; // Skipping `ALTER`.
- $this->options = OptionsArray::parse(
- $parser,
- $list,
- static::$OPTIONS
- );
- ++$list->idx;
-
- // Parsing affected table.
- $this->table = Expression::parse(
- $parser,
- $list,
- [
- 'parseField' => 'table',
- 'breakOnAlias' => true,
- ]
- );
- ++$list->idx; // Skipping field.
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 -----------------[ alter operation ]-----------------> 1
- *
- * 1 -------------------------[ , ]-----------------------> 0
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- $options = [];
- if ($this->options->has('DATABASE')) {
- $options = AlterOperation::$DB_OPTIONS;
- } elseif ($this->options->has('TABLE')) {
- $options = AlterOperation::$TABLE_OPTIONS;
- } elseif ($this->options->has('VIEW')) {
- $options = AlterOperation::$VIEW_OPTIONS;
- }
-
- $this->altered[] = AlterOperation::parse($parser, $list, $options);
- $state = 1;
- } elseif ($state === 1) {
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === ',')) {
- $state = 0;
- }
- }
- }
- }
-
- /**
- * @return string
- */
- public function build()
- {
- $tmp = [];
- foreach ($this->altered as $altered) {
- $tmp[] = $altered::build($altered);
- }
-
- return 'ALTER ' . OptionsArray::build($this->options)
- . ' ' . Expression::build($this->table)
- . ' ' . implode(', ', $tmp);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/AnalyzeStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/AnalyzeStatement.php
deleted file mode 100644
index b14b891..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/AnalyzeStatement.php
+++ /dev/null
@@ -1,38 +0,0 @@
- 1,
-
- 'NO_WRITE_TO_BINLOG' => 2,
- 'LOCAL' => 3,
- ];
-
- /**
- * Analyzed tables.
- *
- * @var Expression[]
- */
- public $tables;
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/BackupStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/BackupStatement.php
deleted file mode 100644
index 3fab2de..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/BackupStatement.php
+++ /dev/null
@@ -1,32 +0,0 @@
- 1,
-
- 'NO_WRITE_TO_BINLOG' => 2,
- 'LOCAL' => 3,
-
- 'TO' => [
- 4,
- 'var',
- ],
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CallStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CallStatement.php
deleted file mode 100644
index 6a3de69..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CallStatement.php
+++ /dev/null
@@ -1,39 +0,0 @@
-call->name . '(' . ($this->call->parameters ? implode(',', $this->call->parameters->raw) : '') . ')';
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CheckStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CheckStatement.php
deleted file mode 100644
index c112f0a..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CheckStatement.php
+++ /dev/null
@@ -1,31 +0,0 @@
- 1,
-
- 'FOR UPGRADE' => 2,
- 'QUICK' => 3,
- 'FAST' => 4,
- 'MEDIUM' => 5,
- 'EXTENDED' => 6,
- 'CHANGED' => 7,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ChecksumStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ChecksumStatement.php
deleted file mode 100644
index 259f287..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ChecksumStatement.php
+++ /dev/null
@@ -1,27 +0,0 @@
- 1,
-
- 'QUICK' => 2,
- 'EXTENDED' => 3,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php
deleted file mode 100644
index 64ea57d..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/CreateStatement.php
+++ /dev/null
@@ -1,741 +0,0 @@
- 1,
-
- // CREATE VIEW
- 'OR REPLACE' => 2,
- 'ALGORITHM' => [
- 3,
- 'var=',
- ],
- // `DEFINER` is also used for `CREATE FUNCTION / PROCEDURE`
- 'DEFINER' => [
- 4,
- 'expr=',
- ],
- 'SQL SECURITY' => [
- 5,
- 'var',
- ],
-
- 'DATABASE' => 6,
- 'EVENT' => 6,
- 'FUNCTION' => 6,
- 'INDEX' => 6,
- 'UNIQUE INDEX' => 6,
- 'FULLTEXT INDEX' => 6,
- 'SPATIAL INDEX' => 6,
- 'PROCEDURE' => 6,
- 'SERVER' => 6,
- 'TABLE' => 6,
- 'TABLESPACE' => 6,
- 'TRIGGER' => 6,
- 'USER' => 6,
- 'VIEW' => 6,
- 'SCHEMA' => 6,
-
- // CREATE TABLE
- 'IF NOT EXISTS' => 7,
- ];
-
- /**
- * All database options.
- *
- * @var array
- */
- public static $DB_OPTIONS = [
- 'CHARACTER SET' => [
- 1,
- 'var=',
- ],
- 'CHARSET' => [
- 1,
- 'var=',
- ],
- 'DEFAULT CHARACTER SET' => [
- 1,
- 'var=',
- ],
- 'DEFAULT CHARSET' => [
- 1,
- 'var=',
- ],
- 'DEFAULT COLLATE' => [
- 2,
- 'var=',
- ],
- 'COLLATE' => [
- 2,
- 'var=',
- ],
- ];
-
- /**
- * All table options.
- *
- * @var array
- */
- public static $TABLE_OPTIONS = [
- 'ENGINE' => [
- 1,
- 'var=',
- ],
- 'AUTO_INCREMENT' => [
- 2,
- 'var=',
- ],
- 'AVG_ROW_LENGTH' => [
- 3,
- 'var',
- ],
- 'CHARACTER SET' => [
- 4,
- 'var=',
- ],
- 'CHARSET' => [
- 4,
- 'var=',
- ],
- 'DEFAULT CHARACTER SET' => [
- 4,
- 'var=',
- ],
- 'DEFAULT CHARSET' => [
- 4,
- 'var=',
- ],
- 'CHECKSUM' => [
- 5,
- 'var',
- ],
- 'DEFAULT COLLATE' => [
- 6,
- 'var=',
- ],
- 'COLLATE' => [
- 6,
- 'var=',
- ],
- 'COMMENT' => [
- 7,
- 'var=',
- ],
- 'CONNECTION' => [
- 8,
- 'var',
- ],
- 'DATA DIRECTORY' => [
- 9,
- 'var',
- ],
- 'DELAY_KEY_WRITE' => [
- 10,
- 'var',
- ],
- 'INDEX DIRECTORY' => [
- 11,
- 'var',
- ],
- 'INSERT_METHOD' => [
- 12,
- 'var',
- ],
- 'KEY_BLOCK_SIZE' => [
- 13,
- 'var',
- ],
- 'MAX_ROWS' => [
- 14,
- 'var',
- ],
- 'MIN_ROWS' => [
- 15,
- 'var',
- ],
- 'PACK_KEYS' => [
- 16,
- 'var',
- ],
- 'PASSWORD' => [
- 17,
- 'var',
- ],
- 'ROW_FORMAT' => [
- 18,
- 'var',
- ],
- 'TABLESPACE' => [
- 19,
- 'var',
- ],
- 'STORAGE' => [
- 20,
- 'var',
- ],
- 'UNION' => [
- 21,
- 'var',
- ],
- ];
-
- /**
- * All function options.
- *
- * @var array
- */
- public static $FUNC_OPTIONS = [
- 'COMMENT' => [
- 1,
- 'var=',
- ],
- 'LANGUAGE SQL' => 2,
- 'DETERMINISTIC' => 3,
- 'NOT DETERMINISTIC' => 3,
- 'CONTAINS SQL' => 4,
- 'NO SQL' => 4,
- 'READS SQL DATA' => 4,
- 'MODIFIES SQL DATA' => 4,
- 'SQL SECURITY DEFINER' => [
- 5,
- 'var',
- ],
- ];
-
- /**
- * All trigger options.
- *
- * @var array
- */
- public static $TRIGGER_OPTIONS = [
- 'BEFORE' => 1,
- 'AFTER' => 1,
- 'INSERT' => 2,
- 'UPDATE' => 2,
- 'DELETE' => 2,
- ];
-
- /**
- * The name of the entity that is created.
- *
- * Used by all `CREATE` statements.
- *
- * @var Expression
- */
- public $name;
-
- /**
- * The options of the entity (table, procedure, function, etc.).
- *
- * Used by `CREATE TABLE`, `CREATE FUNCTION` and `CREATE PROCEDURE`.
- *
- * @see static::$TABLE_OPTIONS
- * @see static::$FUNC_OPTIONS
- * @see static::$TRIGGER_OPTIONS
- *
- * @var OptionsArray
- */
- public $entityOptions;
-
- /**
- * If `CREATE TABLE`, a list of columns and keys.
- * If `CREATE VIEW`, a list of columns.
- *
- * Used by `CREATE TABLE` and `CREATE VIEW`.
- *
- * @var CreateDefinition[]|ArrayObj
- */
- public $fields;
-
- /**
- * If `CREATE TABLE ... SELECT`.
- *
- * Used by `CREATE TABLE`
- *
- * @var SelectStatement
- */
- public $select;
-
- /**
- * If `CREATE TABLE ... LIKE`.
- *
- * Used by `CREATE TABLE`
- *
- * @var Expression
- */
- public $like;
-
- /**
- * Expression used for partitioning.
- *
- * @var string
- */
- public $partitionBy;
-
- /**
- * The number of partitions.
- *
- * @var int
- */
- public $partitionsNum;
-
- /**
- * Expression used for subpartitioning.
- *
- * @var string
- */
- public $subpartitionBy;
-
- /**
- * The number of subpartitions.
- *
- * @var int
- */
- public $subpartitionsNum;
-
- /**
- * The partition of the new table.
- *
- * @var PartitionDefinition[]
- */
- public $partitions;
-
- /**
- * If `CREATE TRIGGER` the name of the table.
- *
- * Used by `CREATE TRIGGER`.
- *
- * @var Expression
- */
- public $table;
-
- /**
- * The return data type of this routine.
- *
- * Used by `CREATE FUNCTION`.
- *
- * @var DataType
- */
- public $return;
-
- /**
- * The parameters of this routine.
- *
- * Used by `CREATE FUNCTION` and `CREATE PROCEDURE`.
- *
- * @var ParameterDefinition[]
- */
- public $parameters;
-
- /**
- * The body of this function or procedure. For views, it is the select
- * statement that gets the.
- *
- * Used by `CREATE FUNCTION`, `CREATE PROCEDURE` and `CREATE VIEW`.
- *
- * @var Token[]|string
- */
- public $body = [];
-
- /**
- * @return string
- */
- public function build()
- {
- $fields = '';
- if (! empty($this->fields)) {
- if (is_array($this->fields)) {
- $fields = CreateDefinition::build($this->fields) . ' ';
- } elseif ($this->fields instanceof ArrayObj) {
- $fields = ArrayObj::build($this->fields);
- }
- }
- if ($this->options->has('DATABASE') || $this->options->has('SCHEMA')) {
- return 'CREATE '
- . OptionsArray::build($this->options) . ' '
- . Expression::build($this->name) . ' '
- . OptionsArray::build($this->entityOptions);
- } elseif ($this->options->has('TABLE')) {
- if ($this->select !== null) {
- return 'CREATE '
- . OptionsArray::build($this->options) . ' '
- . Expression::build($this->name) . ' '
- . $this->select->build();
- } elseif ($this->like !== null) {
- return 'CREATE '
- . OptionsArray::build($this->options) . ' '
- . Expression::build($this->name) . ' LIKE '
- . Expression::build($this->like);
- } else {
- $partition = '';
-
- if (! empty($this->partitionBy)) {
- $partition .= "\nPARTITION BY " . $this->partitionBy;
- }
- if (! empty($this->partitionsNum)) {
- $partition .= "\nPARTITIONS " . $this->partitionsNum;
- }
- if (! empty($this->subpartitionBy)) {
- $partition .= "\nSUBPARTITION BY " . $this->subpartitionBy;
- }
- if (! empty($this->subpartitionsNum)) {
- $partition .= "\nSUBPARTITIONS " . $this->subpartitionsNum;
- }
- if (! empty($this->partitions)) {
- $partition .= "\n" . PartitionDefinition::build($this->partitions);
- }
-
- return 'CREATE '
- . OptionsArray::build($this->options) . ' '
- . Expression::build($this->name) . ' '
- . $fields
- . OptionsArray::build($this->entityOptions)
- . $partition;
- }
- } elseif ($this->options->has('VIEW')) {
- return 'CREATE '
- . OptionsArray::build($this->options) . ' '
- . Expression::build($this->name) . ' '
- . $fields . ' AS ' . TokensList::build($this->body) . ' '
- . OptionsArray::build($this->entityOptions);
- } elseif ($this->options->has('TRIGGER')) {
- return 'CREATE '
- . OptionsArray::build($this->options) . ' '
- . Expression::build($this->name) . ' '
- . OptionsArray::build($this->entityOptions) . ' '
- . 'ON ' . Expression::build($this->table) . ' '
- . 'FOR EACH ROW ' . TokensList::build($this->body);
- } elseif ($this->options->has('PROCEDURE')
- || $this->options->has('FUNCTION')
- ) {
- $tmp = '';
- if ($this->options->has('FUNCTION')) {
- $tmp = 'RETURNS ' . DataType::build($this->return);
- }
-
- return 'CREATE '
- . OptionsArray::build($this->options) . ' '
- . Expression::build($this->name) . ' '
- . ParameterDefinition::build($this->parameters) . ' '
- . $tmp . ' ' . TokensList::build($this->body);
- }
-
- return 'CREATE '
- . OptionsArray::build($this->options) . ' '
- . Expression::build($this->name) . ' '
- . TokensList::build($this->body);
- }
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- ++$list->idx; // Skipping `CREATE`.
-
- // Parsing options.
- $this->options = OptionsArray::parse($parser, $list, static::$OPTIONS);
- ++$list->idx; // Skipping last option.
-
- $isDatabase = $this->options->has('DATABASE') || $this->options->has('SCHEMA');
- $fieldName = $isDatabase ? 'database' : 'table';
-
- // Parsing the field name.
- $this->name = Expression::parse(
- $parser,
- $list,
- [
- 'parseField' => $fieldName,
- 'breakOnAlias' => true,
- ]
- );
-
- if (! isset($this->name) || ($this->name === '')) {
- $parser->error(
- 'The name of the entity was expected.',
- $list->tokens[$list->idx]
- );
- } else {
- ++$list->idx; // Skipping field.
- }
-
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
- $nextidx = $list->idx + 1;
- while ($nextidx < $list->count && $list->tokens[$nextidx]->type === Token::TYPE_WHITESPACE) {
- ++$nextidx;
- }
-
- if ($isDatabase) {
- $this->entityOptions = OptionsArray::parse(
- $parser,
- $list,
- static::$DB_OPTIONS
- );
- } elseif ($this->options->has('TABLE')) {
- if (($token->type === Token::TYPE_KEYWORD)
- && ($token->keyword === 'SELECT')) {
- /* CREATE TABLE ... SELECT */
- $this->select = new SelectStatement($parser, $list);
- } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'AS')
- && ($list->tokens[$nextidx]->type === Token::TYPE_KEYWORD)
- && ($list->tokens[$nextidx]->value === 'SELECT')) {
- /* CREATE TABLE ... AS SELECT */
- $list->idx = $nextidx;
- $this->select = new SelectStatement($parser, $list);
- } elseif ($token->type === Token::TYPE_KEYWORD
- && $token->keyword === 'LIKE') {
- /* CREATE TABLE `new_tbl` LIKE 'orig_tbl' */
- $list->idx = $nextidx;
- $this->like = Expression::parse(
- $parser,
- $list,
- [
- 'parseField' => 'table',
- 'breakOnAlias' => true,
- ]
- );
- // The 'LIKE' keyword was found, but no table_name was found next to it
- if ($this->like === null) {
- $parser->error(
- 'A table name was expected.',
- $list->tokens[$list->idx]
- );
- }
- } else {
- $this->fields = CreateDefinition::parse($parser, $list);
- if (empty($this->fields)) {
- $parser->error(
- 'At least one column definition was expected.',
- $list->tokens[$list->idx]
- );
- }
- ++$list->idx;
-
- $this->entityOptions = OptionsArray::parse(
- $parser,
- $list,
- static::$TABLE_OPTIONS
- );
-
- /**
- * The field that is being filled (`partitionBy` or
- * `subpartitionBy`).
- *
- * @var string
- */
- $field = null;
-
- /**
- * The number of brackets. `false` means no bracket was found
- * previously. At least one bracket is required to validate the
- * expression.
- *
- * @var int|bool
- */
- $brackets = false;
-
- /*
- * Handles partitions.
- */
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping comments.
- if ($token->type === Token::TYPE_COMMENT) {
- continue;
- }
-
- if (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'PARTITION BY')) {
- $field = 'partitionBy';
- $brackets = false;
- } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'SUBPARTITION BY')) {
- $field = 'subpartitionBy';
- $brackets = false;
- } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'PARTITIONS')) {
- $token = $list->getNextOfType(Token::TYPE_NUMBER);
- --$list->idx; // `getNextOfType` also advances one position.
- $this->partitionsNum = $token->value;
- } elseif (($token->type === Token::TYPE_KEYWORD) && ($token->keyword === 'SUBPARTITIONS')) {
- $token = $list->getNextOfType(Token::TYPE_NUMBER);
- --$list->idx; // `getNextOfType` also advances one position.
- $this->subpartitionsNum = $token->value;
- } elseif (! empty($field)) {
- /*
- * Handling the content of `PARTITION BY` and `SUBPARTITION BY`.
- */
-
- // Counting brackets.
- if ($token->type === Token::TYPE_OPERATOR) {
- if ($token->value === '(') {
- // This is used instead of `++$brackets` because,
- // initially, `$brackets` is `false` cannot be
- // incremented.
- $brackets = $brackets + 1;
- } elseif ($token->value === ')') {
- --$brackets;
- }
- }
-
- // Building the expression used for partitioning.
- $this->$field .= $token->type === Token::TYPE_WHITESPACE ? ' ' : $token->token;
-
- // Last bracket was read, the expression ended.
- // Comparing with `0` and not `false`, because `false` means
- // that no bracket was found and at least one must is
- // required.
- if ($brackets === 0) {
- $this->$field = trim($this->$field);
- $field = null;
- }
- } elseif (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- if (! empty($this->partitionBy)) {
- $this->partitions = ArrayObj::parse(
- $parser,
- $list,
- [
- 'type' => 'PhpMyAdmin\\SqlParser\\Components\\PartitionDefinition',
- ]
- );
- }
- break;
- }
- }
- }
- } elseif ($this->options->has('PROCEDURE')
- || $this->options->has('FUNCTION')
- ) {
- $this->parameters = ParameterDefinition::parse($parser, $list);
- if ($this->options->has('FUNCTION')) {
- $prev_token = $token;
- $token = $list->getNextOfType(Token::TYPE_KEYWORD);
- if ($token === null || $token->keyword !== 'RETURNS') {
- $parser->error(
- 'A "RETURNS" keyword was expected.',
- $token ?? $prev_token
- );
- } else {
- ++$list->idx;
- $this->return = DataType::parse(
- $parser,
- $list
- );
- }
- }
- ++$list->idx;
-
- $this->entityOptions = OptionsArray::parse(
- $parser,
- $list,
- static::$FUNC_OPTIONS
- );
- ++$list->idx;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- $token = $list->tokens[$list->idx];
- $this->body[] = $token;
- }
- } elseif ($this->options->has('VIEW')) {
- $token = $list->getNext(); // Skipping whitespaces and comments.
-
- // Parsing columns list.
- if (($token->type === Token::TYPE_OPERATOR) && ($token->value === '(')) {
- --$list->idx; // getNext() also goes forward one field.
- $this->fields = ArrayObj::parse($parser, $list);
- ++$list->idx; // Skipping last token from the array.
- $list->getNext();
- }
-
- // Parsing the `AS` keyword.
- for (; $list->idx < $list->count; ++$list->idx) {
- $token = $list->tokens[$list->idx];
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
- $this->body[] = $token;
- }
- } elseif ($this->options->has('TRIGGER')) {
- // Parsing the time and the event.
- $this->entityOptions = OptionsArray::parse(
- $parser,
- $list,
- static::$TRIGGER_OPTIONS
- );
- ++$list->idx;
-
- $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'ON');
- ++$list->idx; // Skipping `ON`.
-
- // Parsing the name of the table.
- $this->table = Expression::parse(
- $parser,
- $list,
- [
- 'parseField' => 'table',
- 'breakOnAlias' => true,
- ]
- );
- ++$list->idx;
-
- $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'FOR EACH ROW');
- ++$list->idx; // Skipping `FOR EACH ROW`.
-
- for (; $list->idx < $list->count; ++$list->idx) {
- $token = $list->tokens[$list->idx];
- $this->body[] = $token;
- }
- } else {
- for (; $list->idx < $list->count; ++$list->idx) {
- $token = $list->tokens[$list->idx];
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
- $this->body[] = $token;
- }
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/DeleteStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/DeleteStatement.php
deleted file mode 100644
index 57e100b..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/DeleteStatement.php
+++ /dev/null
@@ -1,375 +0,0 @@
- 1,
- 'QUICK' => 2,
- 'IGNORE' => 3,
- ];
-
- /**
- * The clauses of this statement, in order.
- *
- * @see Statement::$CLAUSES
- *
- * @var array
- */
- public static $CLAUSES = [
- 'DELETE' => [
- 'DELETE',
- 2,
- ],
- // Used for options.
- '_OPTIONS' => [
- '_OPTIONS',
- 1,
- ],
- 'FROM' => [
- 'FROM',
- 3,
- ],
- 'PARTITION' => [
- 'PARTITION',
- 3,
- ],
- 'USING' => [
- 'USING',
- 3,
- ],
- 'WHERE' => [
- 'WHERE',
- 3,
- ],
- 'ORDER BY' => [
- 'ORDER BY',
- 3,
- ],
- 'LIMIT' => [
- 'LIMIT',
- 3,
- ],
- ];
-
- /**
- * Table(s) used as sources for this statement.
- *
- * @var Expression[]
- */
- public $from;
-
- /**
- * Joins.
- *
- * @var JoinKeyword[]
- */
- public $join;
-
- /**
- * Tables used as sources for this statement.
- *
- * @var Expression[]
- */
- public $using;
-
- /**
- * Columns used in this statement.
- *
- * @var Expression[]
- */
- public $columns;
-
- /**
- * Partitions used as source for this statement.
- *
- * @var ArrayObj
- */
- public $partition;
-
- /**
- * Conditions used for filtering each row of the result set.
- *
- * @var Condition[]
- */
- public $where;
-
- /**
- * Specifies the order of the rows in the result set.
- *
- * @var OrderKeyword[]
- */
- public $order;
-
- /**
- * Conditions used for limiting the size of the result set.
- *
- * @var Limit
- */
- public $limit;
-
- /**
- * @return string
- */
- public function build()
- {
- $ret = 'DELETE ' . OptionsArray::build($this->options);
-
- if ($this->columns !== null && count($this->columns) > 0) {
- $ret .= ' ' . ExpressionArray::build($this->columns);
- }
- if ($this->from !== null && count($this->from) > 0) {
- $ret .= ' FROM ' . ExpressionArray::build($this->from);
- }
- if ($this->join !== null && count($this->join) > 0) {
- $ret .= ' ' . JoinKeyword::build($this->join);
- }
- if ($this->using !== null && count($this->using) > 0) {
- $ret .= ' USING ' . ExpressionArray::build($this->using);
- }
- if ($this->where !== null && count($this->where) > 0) {
- $ret .= ' WHERE ' . Condition::build($this->where);
- }
- if ($this->order !== null && count($this->order) > 0) {
- $ret .= ' ORDER BY ' . ExpressionArray::build($this->order);
- }
- if ($this->limit !== null && strlen((string) $this->limit) > 0) {
- $ret .= ' LIMIT ' . Limit::build($this->limit);
- }
-
- return $ret;
- }
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- ++$list->idx; // Skipping `DELETE`.
-
- // parse any options if provided
- $this->options = OptionsArray::parse(
- $parser,
- $list,
- static::$OPTIONS
- );
- ++$list->idx;
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------------------------[ FROM ]----------------------------------> 2
- * 0 ------------------------------[ table[.*] ]--------------------------------> 1
- * 1 ---------------------------------[ FROM ]----------------------------------> 2
- * 2 --------------------------------[ USING ]----------------------------------> 3
- * 2 --------------------------------[ WHERE ]----------------------------------> 4
- * 2 --------------------------------[ ORDER ]----------------------------------> 5
- * 2 --------------------------------[ LIMIT ]----------------------------------> 6
- *
- * @var int
- */
- $state = 0;
-
- /**
- * If the query is multi-table or not.
- *
- * @var bool
- */
- $multiTable = false;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- if ($state === 0) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword !== 'FROM') {
- $parser->error('Unexpected keyword.', $token);
- break;
- } else {
- ++$list->idx; // Skip 'FROM'
- $this->from = ExpressionArray::parse($parser, $list);
-
- $state = 2;
- }
- } else {
- $this->columns = ExpressionArray::parse($parser, $list);
- $state = 1;
- }
- } elseif ($state === 1) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword !== 'FROM') {
- $parser->error('Unexpected keyword.', $token);
- break;
- } else {
- ++$list->idx; // Skip 'FROM'
- $this->from = ExpressionArray::parse($parser, $list);
-
- $state = 2;
- }
- } else {
- $parser->error('Unexpected token.', $token);
- break;
- }
- } elseif ($state === 2) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if (stripos($token->keyword, 'JOIN') !== false) {
- ++$list->idx;
- $this->join = JoinKeyword::parse($parser, $list);
-
- // remain in state = 2
- } else {
- switch ($token->keyword) {
- case 'USING':
- ++$list->idx; // Skip 'USING'
- $this->using = ExpressionArray::parse($parser, $list);
- $state = 3;
-
- $multiTable = true;
- break;
- case 'WHERE':
- ++$list->idx; // Skip 'WHERE'
- $this->where = Condition::parse($parser, $list);
- $state = 4;
- break;
- case 'ORDER BY':
- ++$list->idx; // Skip 'ORDER BY'
- $this->order = OrderKeyword::parse($parser, $list);
- $state = 5;
- break;
- case 'LIMIT':
- ++$list->idx; // Skip 'LIMIT'
- $this->limit = Limit::parse($parser, $list);
- $state = 6;
- break;
- default:
- $parser->error('Unexpected keyword.', $token);
- break 2;
- }
- }
- }
- } elseif ($state === 3) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'WHERE') {
- ++$list->idx; // Skip 'WHERE'
- $this->where = Condition::parse($parser, $list);
- $state = 4;
- } else {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- } else {
- $parser->error('Unexpected token.', $token);
- break;
- }
- } elseif ($state === 4) {
- if ($multiTable === true
- && $token->type === Token::TYPE_KEYWORD
- ) {
- $parser->error(
- 'This type of clause is not valid in Multi-table queries.',
- $token
- );
- break;
- }
-
- if ($token->type === Token::TYPE_KEYWORD) {
- switch ($token->keyword) {
- case 'ORDER BY':
- ++$list->idx; // Skip 'ORDER BY'
- $this->order = OrderKeyword::parse($parser, $list);
- $state = 5;
- break;
- case 'LIMIT':
- ++$list->idx; // Skip 'LIMIT'
- $this->limit = Limit::parse($parser, $list);
- $state = 6;
- break;
- default:
- $parser->error('Unexpected keyword.', $token);
- break 2;
- }
- }
- } elseif ($state === 5) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'LIMIT') {
- ++$list->idx; // Skip 'LIMIT'
- $this->limit = Limit::parse($parser, $list);
- $state = 6;
- } else {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- }
- }
- }
-
- if ($state >= 2) {
- foreach ($this->from as $from_expr) {
- $from_expr->database = $from_expr->table;
- $from_expr->table = $from_expr->column;
- $from_expr->column = null;
- }
- }
-
- --$list->idx;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/DropStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/DropStatement.php
deleted file mode 100644
index 202d5e0..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/DropStatement.php
+++ /dev/null
@@ -1,82 +0,0 @@
- 1,
- 'EVENT' => 1,
- 'FUNCTION' => 1,
- 'INDEX' => 1,
- 'LOGFILE' => 1,
- 'PROCEDURE' => 1,
- 'SCHEMA' => 1,
- 'SERVER' => 1,
- 'TABLE' => 1,
- 'VIEW' => 1,
- 'TABLESPACE' => 1,
- 'TRIGGER' => 1,
- 'USER' => 1,
-
- 'TEMPORARY' => 2,
- 'IF EXISTS' => 3,
- ];
-
- /**
- * The clauses of this statement, in order.
- *
- * @see Statement::$CLAUSES
- *
- * @var array
- */
- public static $CLAUSES = [
- 'DROP' => [
- 'DROP',
- 2,
- ],
- // Used for options.
- '_OPTIONS' => [
- '_OPTIONS',
- 1,
- ],
- // Used for select expressions.
- 'DROP_' => [
- 'DROP',
- 1,
- ],
- 'ON' => [
- 'ON',
- 3,
- ],
- ];
-
- /**
- * Dropped elements.
- *
- * @var Expression[]
- */
- public $fields;
-
- /**
- * Table of the dropped index.
- *
- * @var Expression
- */
- public $table;
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ExplainStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ExplainStatement.php
deleted file mode 100644
index 15e6add..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ExplainStatement.php
+++ /dev/null
@@ -1,14 +0,0 @@
- 1,
- 'DELAYED' => 2,
- 'HIGH_PRIORITY' => 3,
- 'IGNORE' => 4,
- ];
-
- /**
- * Tables used as target for this statement.
- *
- * @var IntoKeyword
- */
- public $into;
-
- /**
- * Values to be inserted.
- *
- * @var ArrayObj[]|null
- */
- public $values;
-
- /**
- * If SET clause is present
- * holds the SetOperation.
- *
- * @var SetOperation[]
- */
- public $set;
-
- /**
- * If SELECT clause is present
- * holds the SelectStatement.
- *
- * @var SelectStatement
- */
- public $select;
-
- /**
- * If ON DUPLICATE KEY UPDATE clause is present
- * holds the SetOperation.
- *
- * @var SetOperation[]
- */
- public $onDuplicateSet;
-
- /**
- * @return string
- */
- public function build()
- {
- $ret = 'INSERT ' . $this->options;
- $ret = trim($ret) . ' INTO ' . $this->into;
-
- if ($this->values !== null && count($this->values) > 0) {
- $ret .= ' VALUES ' . Array2d::build($this->values);
- } elseif ($this->set !== null && count($this->set) > 0) {
- $ret .= ' SET ' . SetOperation::build($this->set);
- } elseif ($this->select !== null && strlen((string) $this->select) > 0) {
- $ret .= ' ' . $this->select->build();
- }
-
- if ($this->onDuplicateSet !== null && count($this->onDuplicateSet) > 0) {
- $ret .= ' ON DUPLICATE KEY UPDATE ' . SetOperation::build($this->onDuplicateSet);
- }
-
- return $ret;
- }
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- ++$list->idx; // Skipping `INSERT`.
-
- // parse any options if provided
- $this->options = OptionsArray::parse(
- $parser,
- $list,
- static::$OPTIONS
- );
- ++$list->idx;
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------------------------[ INTO ]----------------------------------> 1
- *
- * 1 -------------------------[ VALUES/VALUE/SET/SELECT ]-----------------------> 2
- *
- * 2 -------------------------[ ON DUPLICATE KEY UPDATE ]-----------------------> 3
- *
- * @var int
- */
- $state = 0;
-
- /**
- * For keeping track of semi-states on encountering
- * ON DUPLICATE KEY UPDATE ...
- */
- $miniState = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- if ($token->type === Token::TYPE_KEYWORD
- && $token->keyword !== 'INTO'
- ) {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
-
- ++$list->idx;
- $this->into = IntoKeyword::parse(
- $parser,
- $list,
- ['fromInsert' => true]
- );
-
- $state = 1;
- } elseif ($state === 1) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'VALUE'
- || $token->keyword === 'VALUES'
- ) {
- ++$list->idx; // skip VALUES
-
- $this->values = Array2d::parse($parser, $list);
- } elseif ($token->keyword === 'SET') {
- ++$list->idx; // skip SET
-
- $this->set = SetOperation::parse($parser, $list);
- } elseif ($token->keyword === 'SELECT') {
- $this->select = new SelectStatement($parser, $list);
- } else {
- $parser->error(
- 'Unexpected keyword.',
- $token
- );
- break;
- }
- $state = 2;
- $miniState = 1;
- } else {
- $parser->error(
- 'Unexpected token.',
- $token
- );
- break;
- }
- } elseif ($state === 2) {
- $lastCount = $miniState;
-
- if ($miniState === 1 && $token->keyword === 'ON') {
- ++$miniState;
- } elseif ($miniState === 2 && $token->keyword === 'DUPLICATE') {
- ++$miniState;
- } elseif ($miniState === 3 && $token->keyword === 'KEY') {
- ++$miniState;
- } elseif ($miniState === 4 && $token->keyword === 'UPDATE') {
- ++$miniState;
- }
-
- if ($lastCount === $miniState) {
- $parser->error(
- 'Unexpected token.',
- $token
- );
- break;
- }
-
- if ($miniState === 5) {
- ++$list->idx;
- $this->onDuplicateSet = SetOperation::parse($parser, $list);
- $state = 3;
- }
- }
- }
-
- --$list->idx;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/LoadStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/LoadStatement.php
deleted file mode 100644
index 62ef50f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/LoadStatement.php
+++ /dev/null
@@ -1,418 +0,0 @@
- 1,
- 'CONCURRENT' => 1,
- 'LOCAL' => 2,
- ];
-
- /**
- * FIELDS/COLUMNS Options for `LOAD DATA...INFILE` statements.
- *
- * @var array
- */
- public static $FIELDS_OPTIONS = [
- 'TERMINATED BY' => [
- 1,
- 'expr',
- ],
- 'OPTIONALLY' => 2,
- 'ENCLOSED BY' => [
- 3,
- 'expr',
- ],
- 'ESCAPED BY' => [
- 4,
- 'expr',
- ],
- ];
-
- /**
- * LINES Options for `LOAD DATA...INFILE` statements.
- *
- * @var array
- */
- public static $LINES_OPTIONS = [
- 'STARTING BY' => [
- 1,
- 'expr',
- ],
- 'TERMINATED BY' => [
- 2,
- 'expr',
- ],
- ];
-
- /**
- * File name being used to load data.
- *
- * @var Expression
- */
- public $file_name;
-
- /**
- * Table used as destination for this statement.
- *
- * @var Expression
- */
- public $table;
-
- /**
- * Partitions used as source for this statement.
- *
- * @var ArrayObj
- */
- public $partition;
-
- /**
- * Character set used in this statement.
- *
- * @var Expression
- */
- public $charset_name;
-
- /**
- * Options for FIELDS/COLUMNS keyword.
- *
- * @see static::$FIELDS_OPTIONS
- *
- * @var OptionsArray
- */
- public $fields_options;
-
- /**
- * Whether to use `FIELDS` or `COLUMNS` while building.
- *
- * @var string
- */
- public $fields_keyword;
-
- /**
- * Options for OPTIONS keyword.
- *
- * @see static::$LINES_OPTIONS
- *
- * @var OptionsArray
- */
- public $lines_options;
-
- /**
- * Column names or user variables.
- *
- * @var Expression[]
- */
- public $col_name_or_user_var;
-
- /**
- * SET clause's updated values(optional).
- *
- * @var SetOperation[]
- */
- public $set;
-
- /**
- * Ignore 'number' LINES/ROWS.
- *
- * @var Expression
- */
- public $ignore_number;
-
- /**
- * REPLACE/IGNORE Keyword.
- *
- * @var string
- */
- public $replace_ignore;
-
- /**
- * LINES/ROWS Keyword.
- *
- * @var string
- */
- public $lines_rows;
-
- /**
- * @return string
- */
- public function build()
- {
- $ret = 'LOAD DATA ' . $this->options
- . ' INFILE ' . $this->file_name;
-
- if ($this->replace_ignore !== null) {
- $ret .= ' ' . trim($this->replace_ignore);
- }
-
- $ret .= ' INTO TABLE ' . $this->table;
-
- if ($this->partition !== null && strlen((string) $this->partition) > 0) {
- $ret .= ' PARTITION ' . ArrayObj::build($this->partition);
- }
-
- if ($this->charset_name !== null) {
- $ret .= ' CHARACTER SET ' . $this->charset_name;
- }
-
- if ($this->fields_keyword !== null) {
- $ret .= ' ' . $this->fields_keyword . ' ' . $this->fields_options;
- }
-
- if ($this->lines_options !== null && strlen((string) $this->lines_options) > 0) {
- $ret .= ' LINES ' . $this->lines_options;
- }
-
- if ($this->ignore_number !== null) {
- $ret .= ' IGNORE ' . $this->ignore_number . ' ' . $this->lines_rows;
- }
-
- if ($this->col_name_or_user_var !== null && count($this->col_name_or_user_var) > 0) {
- $ret .= ' ' . ExpressionArray::build($this->col_name_or_user_var);
- }
-
- if ($this->set !== null && count($this->set) > 0) {
- $ret .= ' SET ' . SetOperation::build($this->set);
- }
-
- return $ret;
- }
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- ++$list->idx; // Skipping `LOAD DATA`.
-
- // parse any options if provided
- $this->options = OptionsArray::parse(
- $parser,
- $list,
- static::$OPTIONS
- );
- ++$list->idx;
-
- /**
- * The state of the parser.
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- if ($token->type === Token::TYPE_KEYWORD
- && $token->keyword !== 'INFILE'
- ) {
- $parser->error('Unexpected keyword.', $token);
- break;
- } elseif ($token->type !== Token::TYPE_KEYWORD) {
- $parser->error('Unexpected token.', $token);
- break;
- }
-
- ++$list->idx;
- $this->file_name = Expression::parse(
- $parser,
- $list,
- ['parseField' => 'file']
- );
- $state = 1;
- } elseif ($state === 1) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'REPLACE'
- || $token->keyword === 'IGNORE') {
- $this->replace_ignore = trim($token->keyword);
- } elseif ($token->keyword === 'INTO') {
- $state = 2;
- }
- }
- } elseif ($state === 2) {
- if ($token->type === Token::TYPE_KEYWORD
- && $token->keyword === 'TABLE'
- ) {
- ++$list->idx;
- $this->table = Expression::parse($parser, $list, ['parseField' => 'table']);
- $state = 3;
- } else {
- $parser->error('Unexpected token.', $token);
- break;
- }
- } elseif ($state >= 3 && $state <= 7) {
- if ($token->type === Token::TYPE_KEYWORD) {
- $newState = $this->parseKeywordsAccordingToState(
- $parser,
- $list,
- $state
- );
- if ($newState === $state) {
- // Avoid infinite loop
- break;
- }
- } elseif ($token->type === Token::TYPE_OPERATOR
- && $token->token === '('
- ) {
- $this->col_name_or_user_var
- = ExpressionArray::parse($parser, $list);
- $state = 7;
- } else {
- $parser->error('Unexpected token.', $token);
- break;
- }
- }
- }
-
- --$list->idx;
- }
-
- public function parseFileOptions(Parser $parser, TokensList $list, $keyword = 'FIELDS')
- {
- ++$list->idx;
-
- if ($keyword === 'FIELDS' || $keyword === 'COLUMNS') {
- // parse field options
- $this->fields_options = OptionsArray::parse(
- $parser,
- $list,
- static::$FIELDS_OPTIONS
- );
-
- $this->fields_keyword = $keyword;
- } else {
- // parse line options
- $this->lines_options = OptionsArray::parse(
- $parser,
- $list,
- static::$LINES_OPTIONS
- );
- }
- }
-
- public function parseKeywordsAccordingToState($parser, $list, $state)
- {
- $token = $list->tokens[$list->idx];
-
- switch ($state) {
- case 3:
- if ($token->keyword === 'PARTITION') {
- ++$list->idx;
- $this->partition = ArrayObj::parse($parser, $list);
- $state = 4;
-
- return $state;
- }
- // no break
- case 4:
- if ($token->keyword === 'CHARACTER SET') {
- ++$list->idx;
- $this->charset_name = Expression::parse($parser, $list);
- $state = 5;
-
- return $state;
- }
- // no break
- case 5:
- if ($token->keyword === 'FIELDS'
- || $token->keyword === 'COLUMNS'
- || $token->keyword === 'LINES'
- ) {
- $this->parseFileOptions($parser, $list, $token->value);
- $state = 6;
-
- return $state;
- }
- // no break
- case 6:
- if ($token->keyword === 'IGNORE') {
- ++$list->idx;
-
- $this->ignore_number = Expression::parse($parser, $list);
- $nextToken = $list->getNextOfType(Token::TYPE_KEYWORD);
-
- if ($nextToken->type === Token::TYPE_KEYWORD
- && (($nextToken->keyword === 'LINES')
- || ($nextToken->keyword === 'ROWS'))
- ) {
- $this->lines_rows = $nextToken->token;
- }
- $state = 7;
-
- return $state;
- }
- // no break
- case 7:
- if ($token->keyword === 'SET') {
- ++$list->idx;
- $this->set = SetOperation::parse($parser, $list);
- $state = 8;
-
- return $state;
- }
- // no break
- default:
- }
-
- return $state;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/LockStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/LockStatement.php
deleted file mode 100644
index 6444586..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/LockStatement.php
+++ /dev/null
@@ -1,124 +0,0 @@
-tokens[$list->idx]->value === 'UNLOCK') {
- // this is in fact an UNLOCK statement
- $this->isLock = false;
- }
- ++$list->idx; // Skipping `LOCK`.
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------- [ TABLES ] -----------------> 1
- * 1 -------------- [ lock_expr ] ----------------> 2
- * 2 ------------------ [ , ] --------------------> 1
- *
- * @var int
- */
- $state = 0;
-
- /**
- * Previous parsed token
- */
- $prevToken = null;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword !== 'TABLES') {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- $state = 1;
- continue;
- } else {
- $parser->error('Unexpected token.', $token);
- break;
- }
- } elseif ($state === 1) {
- if (! $this->isLock) {
- // UNLOCK statement should not have any more tokens
- $parser->error('Unexpected token.', $token);
- break;
- }
- $this->locked[] = LockExpression::parse($parser, $list);
- $state = 2;
- } elseif ($state === 2) {
- if ($token->value === ',') {
- // move over to parsing next lock expression
- $state = 1;
- }
- }
-
- $prevToken = $token;
- }
-
- if ($state !== 2 && $prevToken != null) {
- $parser->error('Unexpected end of LOCK statement.', $prevToken);
- }
- }
-
- /**
- * @return string
- */
- public function build()
- {
- return trim(($this->isLock ? 'LOCK' : 'UNLOCK')
- . ' TABLES ' . LockExpression::build($this->locked));
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/MaintenanceStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/MaintenanceStatement.php
deleted file mode 100644
index 273188f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/MaintenanceStatement.php
+++ /dev/null
@@ -1,57 +0,0 @@
-idx;
- $this->options->merge(
- OptionsArray::parse(
- $parser,
- $list,
- static::$OPTIONS
- )
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/NotImplementedStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/NotImplementedStatement.php
deleted file mode 100644
index dae6f85..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/NotImplementedStatement.php
+++ /dev/null
@@ -1,57 +0,0 @@
-unknown as $token) {
- $query .= $token->token;
- }
-
- return $query;
- }
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- for (; $list->idx < $list->count; ++$list->idx) {
- if ($list->tokens[$list->idx]->type === Token::TYPE_DELIMITER) {
- break;
- }
- $this->unknown[] = $list->tokens[$list->idx];
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/OptimizeStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/OptimizeStatement.php
deleted file mode 100644
index c9c4979..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/OptimizeStatement.php
+++ /dev/null
@@ -1,38 +0,0 @@
- 1,
-
- 'NO_WRITE_TO_BINLOG' => 2,
- 'LOCAL' => 3,
- ];
-
- /**
- * Optimized tables.
- *
- * @var Expression[]
- */
- public $tables;
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/PurgeStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/PurgeStatement.php
deleted file mode 100644
index 1f74f42..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/PurgeStatement.php
+++ /dev/null
@@ -1,139 +0,0 @@
-log_type . ' LOGS '
- . ($this->end_option !== null ? ($this->end_option . ' ' . $this->end_expr) : '');
- return trim($ret);
- }
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- ++$list->idx; // Skipping `PURGE`.
-
- /**
- * The state of the parser.
- *
- * @var int
- */
- $state = 0;
-
- $prevToken = null;
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- switch ($state) {
- case 0:
- // parse `{ BINARY | MASTER }`
- $this->log_type = self::parseExpectedKeyword($parser, $token, ['BINARY', 'MASTER']);
- break;
- case 1:
- // parse `LOGS`
- self::parseExpectedKeyword($parser, $token, ['LOGS']);
- break;
- case 2:
- // parse `{ TO | BEFORE }`
- $this->end_option = self::parseExpectedKeyword($parser, $token, ['TO', 'BEFORE']);
- break;
- case 3:
- // parse `expr`
- $this->end_expr = Expression::parse($parser, $list, []);
- break;
- default:
- $parser->error('Unexpected token.', $token);
- break;
- }
- $state++;
- $prevToken = $token;
- }
-
- // Only one possible end state
- if ($state != 4) {
- $parser->error('Unexpected token.', $prevToken);
- }
- }
-
- /**
- * Parse expected keyword (or throw relevant error)
- *
- * @param Parser $parser the instance that requests parsing
- * @param Token $token token to be parsed
- * @param Array $expected_keywords array of possibly expected keywords at this point
- */
- private static function parseExpectedKeyword($parser, $token, $expected_keywords)
- {
- if ($token->type === Token::TYPE_KEYWORD) {
- if (in_array($token->keyword, $expected_keywords)) {
- return $token->keyword;
- } else {
- $parser->error('Unexpected keyword', $token);
- }
- } else {
- $parser->error('Unexpected token.', $token);
- }
- return null;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RenameStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RenameStatement.php
deleted file mode 100644
index 6e3d0ec..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RenameStatement.php
+++ /dev/null
@@ -1,54 +0,0 @@
-type === Token::TYPE_KEYWORD) && ($token->keyword === 'RENAME')) {
- // Checking if it is the beginning of the query.
- $list->getNextOfTypeAndValue(Token::TYPE_KEYWORD, 'TABLE');
- }
- }
-
- /**
- * @return string
- */
- public function build()
- {
- return 'RENAME TABLE ' . RenameOperation::build($this->renames);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RepairStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RepairStatement.php
deleted file mode 100644
index ee96e3b..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RepairStatement.php
+++ /dev/null
@@ -1,33 +0,0 @@
- 1,
-
- 'NO_WRITE_TO_BINLOG' => 2,
- 'LOCAL' => 3,
-
- 'QUICK' => 4,
- 'EXTENDED' => 5,
- 'USE_FRM' => 6,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ReplaceStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ReplaceStatement.php
deleted file mode 100644
index 132eef8..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ReplaceStatement.php
+++ /dev/null
@@ -1,197 +0,0 @@
- 1,
- 'DELAYED' => 1,
- ];
-
- /**
- * Tables used as target for this statement.
- *
- * @var IntoKeyword
- */
- public $into;
-
- /**
- * Values to be replaced.
- *
- * @var Array2d
- */
- public $values;
-
- /**
- * If SET clause is present
- * holds the SetOperation.
- *
- * @var SetOperation[]
- */
- public $set;
-
- /**
- * If SELECT clause is present
- * holds the SelectStatement.
- *
- * @var SelectStatement
- */
- public $select;
-
- /**
- * @return string
- */
- public function build()
- {
- $ret = 'REPLACE ' . $this->options;
- $ret = trim($ret) . ' INTO ' . $this->into;
-
- if ($this->values !== null && count($this->values) > 0) {
- $ret .= ' VALUES ' . Array2d::build($this->values);
- } elseif ($this->set !== null && count($this->set) > 0) {
- $ret .= ' SET ' . SetOperation::build($this->set);
- } elseif ($this->select !== null && strlen((string) $this->select) > 0) {
- $ret .= ' ' . $this->select->build();
- }
-
- return $ret;
- }
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- ++$list->idx; // Skipping `REPLACE`.
-
- // parse any options if provided
- $this->options = OptionsArray::parse(
- $parser,
- $list,
- static::$OPTIONS
- );
-
- ++$list->idx;
-
- /**
- * The state of the parser.
- *
- * Below are the states of the parser.
- *
- * 0 ---------------------------------[ INTO ]----------------------------------> 1
- *
- * 1 -------------------------[ VALUES/VALUE/SET/SELECT ]-----------------------> 2
- *
- * @var int
- */
- $state = 0;
-
- for (; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $token = $list->tokens[$list->idx];
-
- // End of statement.
- if ($token->type === Token::TYPE_DELIMITER) {
- break;
- }
-
- // Skipping whitespaces and comments.
- if (($token->type === Token::TYPE_WHITESPACE) || ($token->type === Token::TYPE_COMMENT)) {
- continue;
- }
-
- if ($state === 0) {
- if ($token->type === Token::TYPE_KEYWORD
- && $token->keyword !== 'INTO'
- ) {
- $parser->error('Unexpected keyword.', $token);
- break;
- }
- ++$list->idx;
- $this->into = IntoKeyword::parse(
- $parser,
- $list,
- ['fromReplace' => true]
- );
-
- $state = 1;
- } elseif ($state === 1) {
- if ($token->type === Token::TYPE_KEYWORD) {
- if ($token->keyword === 'VALUE'
- || $token->keyword === 'VALUES'
- ) {
- ++$list->idx; // skip VALUES
-
- $this->values = Array2d::parse($parser, $list);
- } elseif ($token->keyword === 'SET') {
- ++$list->idx; // skip SET
-
- $this->set = SetOperation::parse($parser, $list);
- } elseif ($token->keyword === 'SELECT') {
- $this->select = new SelectStatement($parser, $list);
- } else {
- $parser->error(
- 'Unexpected keyword.',
- $token
- );
- break;
- }
- $state = 2;
- } else {
- $parser->error(
- 'Unexpected token.',
- $token
- );
- break;
- }
- }
- }
-
- --$list->idx;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RestoreStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RestoreStatement.php
deleted file mode 100644
index 72b2ea2..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/RestoreStatement.php
+++ /dev/null
@@ -1,29 +0,0 @@
- 1,
-
- 'FROM' => [
- 2,
- 'var',
- ],
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/SelectStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/SelectStatement.php
deleted file mode 100644
index 4fecd90..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/SelectStatement.php
+++ /dev/null
@@ -1,347 +0,0 @@
- 1,
- 'DISTINCT' => 1,
- 'DISTINCTROW' => 1,
- 'HIGH_PRIORITY' => 2,
- 'MAX_STATEMENT_TIME' => [
- 3,
- 'var=',
- ],
- 'STRAIGHT_JOIN' => 4,
- 'SQL_SMALL_RESULT' => 5,
- 'SQL_BIG_RESULT' => 6,
- 'SQL_BUFFER_RESULT' => 7,
- 'SQL_CACHE' => 8,
- 'SQL_NO_CACHE' => 8,
- 'SQL_CALC_FOUND_ROWS' => 9,
- ];
-
- public static $END_OPTIONS = [
- 'FOR UPDATE' => 1,
- 'LOCK IN SHARE MODE' => 1,
- ];
-
- /**
- * The clauses of this statement, in order.
- *
- * @see Statement::$CLAUSES
- *
- * @var array
- */
- public static $CLAUSES = [
- 'SELECT' => [
- 'SELECT',
- 2,
- ],
- // Used for options.
- '_OPTIONS' => [
- '_OPTIONS',
- 1,
- ],
- // Used for selected expressions.
- '_SELECT' => [
- 'SELECT',
- 1,
- ],
- 'INTO' => [
- 'INTO',
- 3,
- ],
- 'FROM' => [
- 'FROM',
- 3,
- ],
- 'FORCE' => [
- 'FORCE',
- 1,
- ],
- 'USE' => [
- 'USE',
- 1,
- ],
- 'IGNORE' => [
- 'IGNORE',
- 3,
- ],
- 'PARTITION' => [
- 'PARTITION',
- 3,
- ],
-
- 'JOIN' => [
- 'JOIN',
- 1,
- ],
- 'FULL JOIN' => [
- 'FULL JOIN',
- 1,
- ],
- 'INNER JOIN' => [
- 'INNER JOIN',
- 1,
- ],
- 'LEFT JOIN' => [
- 'LEFT JOIN',
- 1,
- ],
- 'LEFT OUTER JOIN' => [
- 'LEFT OUTER JOIN',
- 1,
- ],
- 'RIGHT JOIN' => [
- 'RIGHT JOIN',
- 1,
- ],
- 'RIGHT OUTER JOIN' => [
- 'RIGHT OUTER JOIN',
- 1,
- ],
- 'NATURAL JOIN' => [
- 'NATURAL JOIN',
- 1,
- ],
- 'NATURAL LEFT JOIN' => [
- 'NATURAL LEFT JOIN',
- 1,
- ],
- 'NATURAL RIGHT JOIN' => [
- 'NATURAL RIGHT JOIN',
- 1,
- ],
- 'NATURAL LEFT OUTER JOIN' => [
- 'NATURAL LEFT OUTER JOIN',
- 1,
- ],
- 'NATURAL RIGHT OUTER JOIN' => [
- 'NATURAL RIGHT JOIN',
- 1,
- ],
-
- 'WHERE' => [
- 'WHERE',
- 3,
- ],
- 'GROUP BY' => [
- 'GROUP BY',
- 3,
- ],
- 'HAVING' => [
- 'HAVING',
- 3,
- ],
- 'ORDER BY' => [
- 'ORDER BY',
- 3,
- ],
- 'LIMIT' => [
- 'LIMIT',
- 3,
- ],
- 'PROCEDURE' => [
- 'PROCEDURE',
- 3,
- ],
- 'UNION' => [
- 'UNION',
- 1,
- ],
- 'EXCEPT' => [
- 'EXCEPT',
- 1,
- ],
- 'INTERSECT' => [
- 'INTERSECT',
- 1,
- ],
- '_END_OPTIONS' => [
- '_END_OPTIONS',
- 1,
- ],
- // These are available only when `UNION` is present.
- // 'ORDER BY' => ['ORDER BY', 3],
- // 'LIMIT' => ['LIMIT', 3],
- ];
-
- /**
- * Expressions that are being selected by this statement.
- *
- * @var Expression[]
- */
- public $expr = [];
-
- /**
- * Tables used as sources for this statement.
- *
- * @var Expression[]
- */
- public $from = [];
-
- /**
- * Index hints
- *
- * @var IndexHint[]
- */
- public $index_hints;
-
- /**
- * Partitions used as source for this statement.
- *
- * @var ArrayObj
- */
- public $partition;
-
- /**
- * Conditions used for filtering each row of the result set.
- *
- * @var Condition[]
- */
- public $where;
-
- /**
- * Conditions used for grouping the result set.
- *
- * @var OrderKeyword[]
- */
- public $group;
-
- /**
- * Conditions used for filtering the result set.
- *
- * @var Condition[]
- */
- public $having;
-
- /**
- * Specifies the order of the rows in the result set.
- *
- * @var OrderKeyword[]
- */
- public $order;
-
- /**
- * Conditions used for limiting the size of the result set.
- *
- * @var Limit
- */
- public $limit;
-
- /**
- * Procedure that should process the data in the result set.
- *
- * @var FunctionCall
- */
- public $procedure;
-
- /**
- * Destination of this result set.
- *
- * @var IntoKeyword
- */
- public $into;
-
- /**
- * Joins.
- *
- * @var JoinKeyword[]
- */
- public $join;
-
- /**
- * Unions.
- *
- * @var SelectStatement[]
- */
- public $union = [];
-
- /**
- * The end options of this query.
- *
- * @see static::$END_OPTIONS
- *
- * @var OptionsArray
- */
- public $end_options;
-
- /**
- * Gets the clauses of this statement.
- *
- * @return array
- */
- public function getClauses()
- {
- // This is a cheap fix for `SELECT` statements that contain `UNION`.
- // The `ORDER BY` and `LIMIT` clauses should be at the end of the
- // statement.
- if (! empty($this->union)) {
- $clauses = static::$CLAUSES;
- unset($clauses['ORDER BY'], $clauses['LIMIT']);
- $clauses['ORDER BY'] = [
- 'ORDER BY',
- 3,
- ];
- $clauses['LIMIT'] = [
- 'LIMIT',
- 3,
- ];
-
- return $clauses;
- }
-
- return static::$CLAUSES;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/SetStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/SetStatement.php
deleted file mode 100644
index 80a1dc7..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/SetStatement.php
+++ /dev/null
@@ -1,110 +0,0 @@
- [
- 'SET',
- 3,
- ],
- '_END_OPTIONS' => [
- '_END_OPTIONS',
- 1,
- ],
- ];
-
- /**
- * Possible exceptions in SET statment.
- *
- * @var array
- */
- public static $OPTIONS = [
- 'CHARSET' => [
- 3,
- 'var',
- ],
- 'CHARACTER SET' => [
- 3,
- 'var',
- ],
- 'NAMES' => [
- 3,
- 'var',
- ],
- 'PASSWORD' => [
- 3,
- 'expr',
- ],
- 'SESSION' => 3,
- 'GLOBAL' => 3,
- 'PERSIST' => 3,
- 'PERSIST_ONLY' => 3,
- '@@SESSION' => 3,
- '@@GLOBAL' => 3,
- '@@PERSIST' => 3,
- '@@PERSIST_ONLY' => 3,
- ];
-
- public static $END_OPTIONS = [
- 'COLLATE' => [
- 1,
- 'var',
- ],
- 'DEFAULT' => 1,
- ];
-
- /**
- * Options used in current statement.
- *
- * @var OptionsArray[]
- */
- public $options;
-
- /**
- * The end options of this query.
- *
- * @see static::$END_OPTIONS
- *
- * @var OptionsArray
- */
- public $end_options;
-
- /**
- * The updated values.
- *
- * @var SetOperation[]
- */
- public $set;
-
- /**
- * @return string
- */
- public function build()
- {
- $ret = 'SET ' . OptionsArray::build($this->options)
- . ' ' . SetOperation::build($this->set)
- . ' ' . OptionsArray::build($this->end_options);
-
- return trim($ret);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ShowStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ShowStatement.php
deleted file mode 100644
index 266b74e..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/ShowStatement.php
+++ /dev/null
@@ -1,62 +0,0 @@
- 1,
- 'AUTHORS' => 2,
- 'BINARY' => 2,
- 'BINLOG' => 2,
- 'CHARACTER' => 2,
- 'CODE' => 2,
- 'COLLATION' => 2,
- 'COLUMNS' => 2,
- 'CONTRIBUTORS' => 2,
- 'DATABASE' => 2,
- 'DATABASES' => 2,
- 'ENGINE' => 2,
- 'ENGINES' => 2,
- 'ERRORS' => 2,
- 'EVENT' => 2,
- 'EVENTS' => 2,
- 'FUNCTION' => 2,
- 'GRANTS' => 2,
- 'HOSTS' => 2,
- 'INDEX' => 2,
- 'INNODB' => 2,
- 'LOGS' => 2,
- 'MASTER' => 2,
- 'OPEN' => 2,
- 'PLUGINS' => 2,
- 'PRIVILEGES' => 2,
- 'PROCEDURE' => 2,
- 'PROCESSLIST' => 2,
- 'PROFILE' => 2,
- 'PROFILES' => 2,
- 'SCHEDULER' => 2,
- 'SET' => 2,
- 'SLAVE' => 2,
- 'STATUS' => 2,
- 'TABLE' => 2,
- 'TABLES' => 2,
- 'TRIGGER' => 2,
- 'TRIGGERS' => 2,
- 'VARIABLES' => 2,
- 'VIEW' => 2,
- 'WARNINGS' => 2,
- ];
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/TransactionStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/TransactionStatement.php
deleted file mode 100644
index f47f86f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/TransactionStatement.php
+++ /dev/null
@@ -1,110 +0,0 @@
- 1,
- 'BEGIN' => 1,
- 'COMMIT' => 1,
- 'ROLLBACK' => 1,
- 'WITH CONSISTENT SNAPSHOT' => 2,
- 'WORK' => 2,
- 'AND NO CHAIN' => 3,
- 'AND CHAIN' => 3,
- 'RELEASE' => 4,
- 'NO RELEASE' => 4,
- ];
-
- /**
- * @param Parser $parser the instance that requests parsing
- * @param TokensList $list the list of tokens to be parsed
- */
- public function parse(Parser $parser, TokensList $list)
- {
- parent::parse($parser, $list);
-
- // Checks the type of this query.
- if ($this->options->has('START TRANSACTION')
- || $this->options->has('BEGIN')
- ) {
- $this->type = self::TYPE_BEGIN;
- } elseif ($this->options->has('COMMIT')
- || $this->options->has('ROLLBACK')
- ) {
- $this->type = self::TYPE_END;
- }
- }
-
- /**
- * @return string
- */
- public function build()
- {
- $ret = OptionsArray::build($this->options);
- if ($this->type === self::TYPE_BEGIN) {
- foreach ($this->statements as $statement) {
- /*
- * @var SelectStatement $statement
- */
- $ret .= ';' . $statement->build();
- }
- $ret .= ';' . $this->end->build();
- }
-
- return $ret;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/TruncateStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/TruncateStatement.php
deleted file mode 100644
index 9397573..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/TruncateStatement.php
+++ /dev/null
@@ -1,42 +0,0 @@
- 1,
- ];
-
- /**
- * The name of the truncated table.
- *
- * @var Expression
- */
- public $table;
-
- /**
- * Special build method for truncate statement as Statement::build would return empty string.
- *
- * @return string
- */
- public function build()
- {
- return 'TRUNCATE TABLE ' . $this->table . ';';
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/UpdateStatement.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/UpdateStatement.php
deleted file mode 100644
index 82adeb1..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Statements/UpdateStatement.php
+++ /dev/null
@@ -1,117 +0,0 @@
- 1,
- 'IGNORE' => 2,
- ];
-
- /**
- * The clauses of this statement, in order.
- *
- * @see Statement::$CLAUSES
- *
- * @var array
- */
- public static $CLAUSES = [
- 'UPDATE' => [
- 'UPDATE',
- 2,
- ],
- // Used for options.
- '_OPTIONS' => [
- '_OPTIONS',
- 1,
- ],
- // Used for updated tables.
- '_UPDATE' => [
- 'UPDATE',
- 1,
- ],
- 'SET' => [
- 'SET',
- 3,
- ],
- 'WHERE' => [
- 'WHERE',
- 3,
- ],
- 'ORDER BY' => [
- 'ORDER BY',
- 3,
- ],
- 'LIMIT' => [
- 'LIMIT',
- 3,
- ],
- ];
-
- /**
- * Tables used as sources for this statement.
- *
- * @var Expression[]
- */
- public $tables;
-
- /**
- * The updated values.
- *
- * @var SetOperation[]
- */
- public $set;
-
- /**
- * Conditions used for filtering each row of the result set.
- *
- * @var Condition[]
- */
- public $where;
-
- /**
- * Specifies the order of the rows in the result set.
- *
- * @var OrderKeyword[]
- */
- public $order;
-
- /**
- * Conditions used for limiting the size of the result set.
- *
- * @var Limit
- */
- public $limit;
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Token.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Token.php
deleted file mode 100644
index 23d1645..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Token.php
+++ /dev/null
@@ -1,340 +0,0 @@
-, !==, etc.
- * Bitwise operators: &, |, ^, etc.
- * Assignment operators: =, +=, -=, etc.
- * SQL specific operators: . (e.g. .. WHERE database.table ..),
- * * (e.g. SELECT * FROM ..)
- *
- * @var int
- */
- const TYPE_OPERATOR = 2;
-
- /**
- * Spaces, tabs, new lines, etc.
- *
- * @var int
- */
- const TYPE_WHITESPACE = 3;
-
- /**
- * Any type of legal comment.
- *
- * Bash (#), C (/* *\/) or SQL (--) comments:
- *
- * -- SQL-comment
- *
- * #Bash-like comment
- *
- * /*C-like comment*\/
- *
- * or:
- *
- * /*C-like
- * comment*\/
- *
- * Backslashes were added to respect PHP's comments syntax.
- *
- * @var int
- */
- const TYPE_COMMENT = 4;
-
- /**
- * Boolean values: true or false.
- *
- * @var int
- */
- const TYPE_BOOL = 5;
-
- /**
- * Numbers: 4, 0x8, 15.16, 23e42, etc.
- *
- * @var int
- */
- const TYPE_NUMBER = 6;
-
- /**
- * Literal strings: 'string', "test".
- * Some of these strings are actually symbols.
- *
- * @var int
- */
- const TYPE_STRING = 7;
-
- /**
- * Database, table names, variables, etc.
- * For example: ```SELECT `foo`, `bar` FROM `database`.`table`;```.
- *
- * @var int
- */
- const TYPE_SYMBOL = 8;
-
- /**
- * Delimits an unknown string.
- * For example: ```SELECT * FROM test;```, `test` is a delimiter.
- *
- * @var int
- */
- const TYPE_DELIMITER = 9;
-
- /**
- * Labels in LOOP statement, ITERATE statement etc.
- * For example (only for begin label):
- * begin_label: BEGIN [statement_list] END [end_label]
- * begin_label: LOOP [statement_list] END LOOP [end_label]
- * begin_label: REPEAT [statement_list] ... END REPEAT [end_label]
- * begin_label: WHILE ... DO [statement_list] END WHILE [end_label].
- *
- * @var int
- */
- const TYPE_LABEL = 10;
-
- // Flags that describe the tokens in more detail.
- // All keywords must have flag 1 so `Context::isKeyword` method doesn't
- // require strict comparison.
- const FLAG_KEYWORD_RESERVED = 2;
- const FLAG_KEYWORD_COMPOSED = 4;
- const FLAG_KEYWORD_DATA_TYPE = 8;
- const FLAG_KEYWORD_KEY = 16;
- const FLAG_KEYWORD_FUNCTION = 32;
-
- // Numbers related flags.
- const FLAG_NUMBER_HEX = 1;
- const FLAG_NUMBER_FLOAT = 2;
- const FLAG_NUMBER_APPROXIMATE = 4;
- const FLAG_NUMBER_NEGATIVE = 8;
- const FLAG_NUMBER_BINARY = 16;
-
- // Strings related flags.
- const FLAG_STRING_SINGLE_QUOTES = 1;
- const FLAG_STRING_DOUBLE_QUOTES = 2;
-
- // Comments related flags.
- const FLAG_COMMENT_BASH = 1;
- const FLAG_COMMENT_C = 2;
- const FLAG_COMMENT_SQL = 4;
- const FLAG_COMMENT_MYSQL_CMD = 8;
-
- // Operators related flags.
- const FLAG_OPERATOR_ARITHMETIC = 1;
- const FLAG_OPERATOR_LOGICAL = 2;
- const FLAG_OPERATOR_BITWISE = 4;
- const FLAG_OPERATOR_ASSIGNMENT = 8;
- const FLAG_OPERATOR_SQL = 16;
-
- // Symbols related flags.
- const FLAG_SYMBOL_VARIABLE = 1;
- const FLAG_SYMBOL_BACKTICK = 2;
- const FLAG_SYMBOL_USER = 4;
- const FLAG_SYMBOL_SYSTEM = 8;
- const FLAG_SYMBOL_PARAMETER = 16;
-
- /**
- * The token it its raw string representation.
- *
- * @var string
- */
- public $token;
-
- /**
- * The value this token contains (i.e. token after some evaluation).
- *
- * @var mixed
- */
- public $value;
-
- /**
- * The keyword value this token contains, always uppercase.
- *
- * @var mixed
- */
- public $keyword;
-
- /**
- * The type of this token.
- *
- * @var int
- */
- public $type;
-
- /**
- * The flags of this token.
- *
- * @var int
- */
- public $flags;
-
- /**
- * The position in the initial string where this token started.
- *
- * The position is counted in chars, not bytes, so you should
- * use mb_* functions to properly handle utf-8 multibyte chars.
- *
- * @var int
- */
- public $position;
-
- /**
- * @param string $token the value of the token
- * @param int $type the type of the token
- * @param int $flags the flags of the token
- */
- public function __construct($token, $type = 0, $flags = 0)
- {
- $this->token = $token;
- $this->type = $type;
- $this->flags = $flags;
- $this->keyword = null;
- $this->value = $this->extract();
- }
-
- /**
- * Does little processing to the token to extract a value.
- *
- * If no processing can be done it will return the initial string.
- *
- * @return mixed
- */
- public function extract()
- {
- switch ($this->type) {
- case self::TYPE_KEYWORD:
- $this->keyword = strtoupper($this->token);
- if (! ($this->flags & self::FLAG_KEYWORD_RESERVED)) {
- // Unreserved keywords should stay the way they are because they
- // might represent field names.
- return $this->token;
- }
-
- return $this->keyword;
- case self::TYPE_WHITESPACE:
- return ' ';
- case self::TYPE_BOOL:
- return strtoupper($this->token) === 'TRUE';
- case self::TYPE_NUMBER:
- $ret = str_replace('--', '', $this->token); // e.g. ---42 === -42
- if ($this->flags & self::FLAG_NUMBER_HEX) {
- if ($this->flags & self::FLAG_NUMBER_NEGATIVE) {
- $ret = str_replace('-', '', $this->token);
- sscanf($ret, '%x', $ret);
- $ret = -$ret;
- } else {
- sscanf($ret, '%x', $ret);
- }
- } elseif (($this->flags & self::FLAG_NUMBER_APPROXIMATE)
- || ($this->flags & self::FLAG_NUMBER_FLOAT)
- ) {
- sscanf($ret, '%f', $ret);
- } else {
- sscanf($ret, '%d', $ret);
- }
-
- return $ret;
- case self::TYPE_STRING:
- // Trims quotes.
- $str = $this->token;
- $str = mb_substr($str, 1, -1, 'UTF-8');
-
- // Removes surrounding quotes.
- $quote = $this->token[0];
- $str = str_replace($quote . $quote, $quote, $str);
-
- // Finally unescapes the string.
- //
- // `stripcslashes` replaces escape sequences with their
- // representation.
- //
- // NOTE: In MySQL, `\f` and `\v` have no representation,
- // even they usually represent: form-feed and vertical tab.
- $str = str_replace('\f', 'f', $str);
- $str = str_replace('\v', 'v', $str);
- $str = stripcslashes($str);
-
- return $str;
- case self::TYPE_SYMBOL:
- $str = $this->token;
- if (isset($str[0]) && ($str[0] === '@')) {
- // `mb_strlen($str)` must be used instead of `null` because
- // in PHP 5.3- the `null` parameter isn't handled correctly.
- $str = mb_substr(
- $str,
- ! empty($str[1]) && ($str[1] === '@') ? 2 : 1,
- mb_strlen($str),
- 'UTF-8'
- );
- }
- if (isset($str[0]) && ($str[0] === ':')) {
- $str = mb_substr($str, 1, mb_strlen($str), 'UTF-8');
- }
- if (isset($str[0]) && (($str[0] === '`')
- || ($str[0] === '"') || ($str[0] === '\''))
- ) {
- $quote = $str[0];
- $str = str_replace($quote . $quote, $quote, $str);
- $str = mb_substr($str, 1, -1, 'UTF-8');
- }
-
- return $str;
- }
-
- return $this->token;
- }
-
- /**
- * Converts the token into an inline token by replacing tabs and new lines.
- *
- * @return string
- */
- public function getInlineToken()
- {
- return str_replace(
- [
- "\r",
- "\n",
- "\t",
- ],
- [
- '\r',
- '\n',
- '\t',
- ],
- $this->token
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/TokensList.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/TokensList.php
deleted file mode 100644
index e8ff733..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/TokensList.php
+++ /dev/null
@@ -1,199 +0,0 @@
-tokens = $tokens;
- if ($count === -1) {
- $this->count = count($tokens);
- }
- }
- }
-
- /**
- * Builds an array of tokens by merging their raw value.
- *
- * @param string|Token[]|TokensList $list the tokens to be built
- *
- * @return string
- */
- public static function build($list)
- {
- if (is_string($list)) {
- return $list;
- }
-
- if ($list instanceof self) {
- $list = $list->tokens;
- }
-
- $ret = '';
- if (is_array($list)) {
- foreach ($list as $tok) {
- $ret .= $tok->token;
- }
- }
-
- return $ret;
- }
-
- /**
- * Adds a new token.
- *
- * @param Token $token token to be added in list
- */
- public function add(Token $token)
- {
- $this->tokens[$this->count++] = $token;
- }
-
- /**
- * Gets the next token. Skips any irrelevant token (whitespaces and
- * comments).
- *
- * @return Token|null
- */
- public function getNext()
- {
- for (; $this->idx < $this->count; ++$this->idx) {
- if (($this->tokens[$this->idx]->type !== Token::TYPE_WHITESPACE)
- && ($this->tokens[$this->idx]->type !== Token::TYPE_COMMENT)
- ) {
- return $this->tokens[$this->idx++];
- }
- }
-
- return null;
- }
-
- /**
- * Gets the next token.
- *
- * @param int $type the type
- *
- * @return Token|null
- */
- public function getNextOfType($type)
- {
- for (; $this->idx < $this->count; ++$this->idx) {
- if ($this->tokens[$this->idx]->type === $type) {
- return $this->tokens[$this->idx++];
- }
- }
-
- return null;
- }
-
- /**
- * Gets the next token.
- *
- * @param int $type the type of the token
- * @param string $value the value of the token
- *
- * @return Token|null
- */
- public function getNextOfTypeAndValue($type, $value)
- {
- for (; $this->idx < $this->count; ++$this->idx) {
- if (($this->tokens[$this->idx]->type === $type)
- && ($this->tokens[$this->idx]->value === $value)
- ) {
- return $this->tokens[$this->idx++];
- }
- }
-
- return null;
- }
-
- /**
- * Sets an value inside the container.
- *
- * @param int $offset the offset to be set
- * @param Token $value the token to be saved
- */
- public function offsetSet($offset, $value)
- {
- if ($offset === null) {
- $this->tokens[$this->count++] = $value;
- } else {
- $this->tokens[$offset] = $value;
- }
- }
-
- /**
- * Gets a value from the container.
- *
- * @param int $offset the offset to be returned
- *
- * @return Token
- */
- public function offsetGet($offset)
- {
- return $offset < $this->count ? $this->tokens[$offset] : null;
- }
-
- /**
- * Checks if an offset was previously set.
- *
- * @param int $offset the offset to be checked
- *
- * @return bool
- */
- public function offsetExists($offset)
- {
- return $offset < $this->count;
- }
-
- /**
- * Unsets the value of an offset.
- *
- * @param int $offset the offset to be unset
- */
- public function offsetUnset($offset)
- {
- unset($this->tokens[$offset]);
- --$this->count;
- for ($i = $offset; $i < $this->count; ++$i) {
- $this->tokens[$i] = $this->tokens[$i + 1];
- }
- unset($this->tokens[$this->count]);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Translator.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Translator.php
deleted file mode 100644
index 36c519f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Translator.php
+++ /dev/null
@@ -1,71 +0,0 @@
-setlocale(
- self::$loader->detectlocale()
- );
-
- // Set default text domain
- self::$loader->textdomain('sqlparser');
-
- // Set path where to look for a domain
- self::$loader->bindtextdomain('sqlparser', __DIR__ . '/../locale/');
- }
-
- if (self::$translator === null) {
- // Get translator
- self::$translator = self::$loader->getTranslator();
- }
- }
-
- /**
- * Translates a string.
- *
- * @param string $msgid String to be translated
- *
- * @return string translated string (or original, if not found)
- */
- public static function gettext($msgid)
- {
- if (! class_exists('\PhpMyAdmin\MoTranslator\Loader', true)) {
- return $msgid;
- }
-
- self::load();
-
- return self::$translator->gettext($msgid);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/UtfString.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/UtfString.php
deleted file mode 100644
index cb4187c..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/UtfString.php
+++ /dev/null
@@ -1,210 +0,0 @@
-str = $str;
- $this->byteIdx = 0;
- $this->charIdx = 0;
- $this->byteLen = mb_strlen($str, '8bit');
- if (! mb_check_encoding($str, 'UTF-8')) {
- $this->charLen = 0;
- } else {
- $this->charLen = mb_strlen($str, 'UTF-8');
- }
- }
-
- /**
- * Checks if the given offset exists.
- *
- * @param int $offset the offset to be checked
- *
- * @return bool
- */
- public function offsetExists($offset)
- {
- return ($offset >= 0) && ($offset < $this->charLen);
- }
-
- /**
- * Gets the character at given offset.
- *
- * @param int $offset the offset to be returned
- *
- * @return string|null
- */
- public function offsetGet($offset)
- {
- if (($offset < 0) || ($offset >= $this->charLen)) {
- return null;
- }
-
- $delta = $offset - $this->charIdx;
-
- if ($delta > 0) {
- // Fast forwarding.
- while ($delta-- > 0) {
- $this->byteIdx += static::getCharLength($this->str[$this->byteIdx]);
- ++$this->charIdx;
- }
- } elseif ($delta < 0) {
- // Rewinding.
- while ($delta++ < 0) {
- do {
- $byte = ord($this->str[--$this->byteIdx]);
- } while (($byte >= 128) && ($byte < 192));
- --$this->charIdx;
- }
- }
-
- $bytesCount = static::getCharLength($this->str[$this->byteIdx]);
-
- $ret = '';
- for ($i = 0; $bytesCount-- > 0; ++$i) {
- $ret .= $this->str[$this->byteIdx + $i];
- }
-
- return $ret;
- }
-
- /**
- * Sets the value of a character.
- *
- * @param int $offset the offset to be set
- * @param string $value the value to be set
- *
- * @throws Exception not implemented.
- */
- public function offsetSet($offset, $value)
- {
- throw new Exception('Not implemented.');
- }
-
- /**
- * Unsets an index.
- *
- * @param int $offset the value to be unset
- *
- * @throws Exception not implemented.
- */
- public function offsetUnset($offset)
- {
- throw new Exception('Not implemented.');
- }
-
- /**
- * Gets the length of an UTF-8 character.
- *
- * According to RFC 3629, a UTF-8 character can have at most 4 bytes.
- * However, this implementation supports UTF-8 characters containing up to 6
- * bytes.
- *
- * @see https://tools.ietf.org/html/rfc3629
- *
- * @param string $byte the byte to be analyzed
- *
- * @return int
- */
- public static function getCharLength($byte)
- {
- $byte = ord($byte);
- if ($byte < 128) {
- return 1;
- } elseif ($byte < 224) {
- return 2;
- } elseif ($byte < 240) {
- return 3;
- } elseif ($byte < 248) {
- return 4;
- } elseif ($byte < 252) {
- return 5; // unofficial
- }
-
- return 6; // unofficial
- }
-
- /**
- * Returns the length in characters of the string.
- *
- * @return int
- */
- public function length()
- {
- return $this->charLen;
- }
-
- /**
- * Returns the contained string.
- *
- * @return string
- */
- public function __toString()
- {
- return $this->str;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/BufferedQuery.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/BufferedQuery.php
deleted file mode 100644
index a2d6705..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/BufferedQuery.php
+++ /dev/null
@@ -1,406 +0,0 @@
-options = array_merge(
- [
- /*
- * The starting delimiter.
- *
- * @var string
- */
- 'delimiter' => ';',
-
- /*
- * Whether `DELIMITER` statements should be parsed.
- *
- * @var bool
- */
- 'parse_delimiter' => false,
-
- /*
- * Whether a delimiter should be added at the end of the
- * statement.
- *
- * @var bool
- */
- 'add_delimiter' => false,
- ],
- $options
- );
-
- $this->query = $query;
- $this->setDelimiter($this->options['delimiter']);
- }
-
- /**
- * Sets the delimiter.
- *
- * Used to update the length of it too.
- *
- * @param string $delimiter
- */
- public function setDelimiter($delimiter)
- {
- $this->delimiter = $delimiter;
- $this->delimiterLen = strlen($delimiter);
- }
-
- /**
- * Extracts a statement from the buffer.
- *
- * @param bool $end whether the end of the buffer was reached
- *
- * @return string|false
- */
- public function extract($end = false)
- {
- /**
- * The last parsed position.
- *
- * This is statically defined because it is not used outside anywhere
- * outside this method and there is probably a (minor) performance
- * improvement to it.
- *
- * @var int
- */
- static $i = 0;
-
- if (empty($this->query)) {
- return false;
- }
-
- /**
- * The length of the buffer.
- *
- * @var int
- */
- $len = strlen($this->query);
-
- /**
- * The last index of the string that is going to be parsed.
- *
- * There must be a few characters left in the buffer so the parser can
- * avoid confusing some symbols that may have multiple meanings.
- *
- * For example, if the buffer ends in `-` that may be an operator or the
- * beginning of a comment.
- *
- * Another example if the buffer ends in `DELIMITE`. The parser is going
- * to require a few more characters because that may be a part of the
- * `DELIMITER` keyword or just a column named `DELIMITE`.
- *
- * Those extra characters are required only if there is more data
- * expected (the end of the buffer was not reached).
- *
- * @var int
- */
- $loopLen = $end ? $len : $len - 16;
-
- for (; $i < $loopLen; ++$i) {
- /*
- * Handling backslash.
- *
- * Even if the next character is a special character that should be
- * treated differently, because of the preceding backslash, it will
- * be ignored.
- */
- if ((($this->status & static::STATUS_COMMENT) === 0) && ($this->query[$i] === '\\')) {
- $this->current .= $this->query[$i] . $this->query[++$i];
- continue;
- }
-
- /*
- * Handling special parses statuses.
- */
- if ($this->status === static::STATUS_STRING_SINGLE_QUOTES) {
- // Single-quoted strings like 'foo'.
- if ($this->query[$i] === '\'') {
- $this->status = 0;
- }
- $this->current .= $this->query[$i];
- continue;
- } elseif ($this->status === static::STATUS_STRING_DOUBLE_QUOTES) {
- // Double-quoted strings like "bar".
- if ($this->query[$i] === '"') {
- $this->status = 0;
- }
- $this->current .= $this->query[$i];
- continue;
- } elseif ($this->status === static::STATUS_STRING_BACKTICK) {
- if ($this->query[$i] === '`') {
- $this->status = 0;
- }
- $this->current .= $this->query[$i];
- continue;
- } elseif (($this->status === static::STATUS_COMMENT_BASH)
- || ($this->status === static::STATUS_COMMENT_SQL)
- ) {
- // Bash-like (#) or SQL-like (-- ) comments end in new line.
- if ($this->query[$i] === "\n") {
- $this->status = 0;
- }
- $this->current .= $this->query[$i];
- continue;
- } elseif ($this->status === static::STATUS_COMMENT_C) {
- // C-like comments end in */.
- if (($this->query[$i - 1] === '*') && ($this->query[$i] === '/')) {
- $this->status = 0;
- }
- $this->current .= $this->query[$i];
- continue;
- }
-
- /*
- * Checking if a string started.
- */
- if ($this->query[$i] === '\'') {
- $this->status = static::STATUS_STRING_SINGLE_QUOTES;
- $this->current .= $this->query[$i];
- continue;
- } elseif ($this->query[$i] === '"') {
- $this->status = static::STATUS_STRING_DOUBLE_QUOTES;
- $this->current .= $this->query[$i];
- continue;
- } elseif ($this->query[$i] === '`') {
- $this->status = static::STATUS_STRING_BACKTICK;
- $this->current .= $this->query[$i];
- continue;
- }
-
- /*
- * Checking if a comment started.
- */
- if ($this->query[$i] === '#') {
- $this->status = static::STATUS_COMMENT_BASH;
- $this->current .= $this->query[$i];
- continue;
- } elseif ($i + 2 < $len) {
- if (($this->query[$i] === '-')
- && ($this->query[$i + 1] === '-')
- && Context::isWhitespace($this->query[$i + 2])) {
- $this->status = static::STATUS_COMMENT_SQL;
- $this->current .= $this->query[$i];
- continue;
- } elseif (($this->query[$i] === '/')
- && ($this->query[$i + 1] === '*')
- && ($this->query[$i + 2] !== '!')) {
- $this->status = static::STATUS_COMMENT_C;
- $this->current .= $this->query[$i];
- continue;
- }
- }
-
- /*
- * Handling `DELIMITER` statement.
- *
- * The code below basically checks for
- * `strtoupper(substr($this->query, $i, 9)) === 'DELIMITER'`
- *
- * This optimization makes the code about 3 times faster.
- *
- * `DELIMITER` is not being considered a keyword. The only context
- * it has a special meaning is when it is the beginning of a
- * statement. This is the reason for the last condition.
- */
- if (($i + 9 < $len)
- && (($this->query[$i] === 'D') || ($this->query[$i] === 'd'))
- && (($this->query[$i + 1] === 'E') || ($this->query[$i + 1] === 'e'))
- && (($this->query[$i + 2] === 'L') || ($this->query[$i + 2] === 'l'))
- && (($this->query[$i + 3] === 'I') || ($this->query[$i + 3] === 'i'))
- && (($this->query[$i + 4] === 'M') || ($this->query[$i + 4] === 'm'))
- && (($this->query[$i + 5] === 'I') || ($this->query[$i + 5] === 'i'))
- && (($this->query[$i + 6] === 'T') || ($this->query[$i + 6] === 't'))
- && (($this->query[$i + 7] === 'E') || ($this->query[$i + 7] === 'e'))
- && (($this->query[$i + 8] === 'R') || ($this->query[$i + 8] === 'r'))
- && Context::isWhitespace($this->query[$i + 9])
- ) {
- // Saving the current index to be able to revert any parsing
- // done in this block.
- $iBak = $i;
- $i += 9; // Skipping `DELIMITER`.
-
- // Skipping whitespaces.
- while (($i < $len) && Context::isWhitespace($this->query[$i])) {
- ++$i;
- }
-
- // Parsing the delimiter.
- $delimiter = '';
- while (($i < $len) && (! Context::isWhitespace($this->query[$i]))) {
- $delimiter .= $this->query[$i++];
- }
-
- // Checking if the delimiter definition ended.
- if (($delimiter !== '')
- && ((($i < $len) && Context::isWhitespace($this->query[$i]))
- || (($i === $len) && $end))
- ) {
- // Saving the delimiter.
- $this->setDelimiter($delimiter);
-
- // Whether this statement should be returned or not.
- $ret = '';
- if (! empty($this->options['parse_delimiter'])) {
- // Appending the `DELIMITER` statement that was just
- // found to the current statement.
- $ret = trim(
- $this->current . ' ' . substr($this->query, $iBak, $i - $iBak)
- );
- }
-
- // Removing the statement that was just extracted from the
- // query.
- $this->query = substr($this->query, $i);
- $i = 0;
-
- // Resetting the current statement.
- $this->current = '';
-
- return $ret;
- }
-
- // Incomplete statement. Reverting
- $i = $iBak;
-
- return false;
- }
-
- /*
- * Checking if the current statement finished.
- *
- * The first letter of the delimiter is being checked as an
- * optimization. This code is almost as fast as the one above.
- *
- * There is no point in checking if two strings match if not even
- * the first letter matches.
- */
- if (($this->query[$i] === $this->delimiter[0])
- && (($this->delimiterLen === 1)
- || (substr($this->query, $i, $this->delimiterLen) === $this->delimiter))
- ) {
- // Saving the statement that just ended.
- $ret = $this->current;
-
- // If needed, adds a delimiter at the end of the statement.
- if (! empty($this->options['add_delimiter'])) {
- $ret .= $this->delimiter;
- }
-
- // Removing the statement that was just extracted from the
- // query.
- $this->query = substr($this->query, $i + $this->delimiterLen);
- $i = 0;
-
- // Resetting the current statement.
- $this->current = '';
-
- // Returning the statement.
- return trim($ret);
- }
-
- /*
- * Appending current character to current statement.
- */
- $this->current .= $this->query[$i];
- }
-
- if ($end && ($i === $len)) {
- // If the end of the buffer was reached, the buffer is emptied and
- // the current statement that was extracted is returned.
- $ret = $this->current;
-
- // Emptying the buffer.
- $this->query = '';
- $i = 0;
-
- // Resetting the current statement.
- $this->current = '';
-
- // Returning the statement.
- return trim($ret);
- }
-
- return '';
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php
deleted file mode 100644
index 31eda8f..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/CLI.php
+++ /dev/null
@@ -1,225 +0,0 @@
-getopt(
- 'hq:f:',
- $longopts
- );
- if ($params === false) {
- return false;
- }
- $this->mergeLongOpts($params, $longopts);
- if (! isset($params['f'])) {
- $params['f'] = 'cli';
- }
- if (! in_array($params['f'], ['html', 'cli', 'text'])) {
- echo "ERROR: Invalid value for format!\n";
-
- return false;
- }
-
- return $params;
- }
-
- public function runHighlight()
- {
- $params = $this->parseHighlight();
- if ($params === false) {
- return 1;
- }
- if (isset($params['h'])) {
- $this->usageHighlight();
-
- return 0;
- }
- if (! isset($params['q'])) {
- if ($stdIn = $this->readStdin()) {
- $params['q'] = $stdIn;
- }
- }
- if (isset($params['q'])) {
- echo Formatter::format(
- $params['q'],
- ['type' => $params['f']]
- );
- echo "\n";
-
- return 0;
- }
- echo "ERROR: Missing parameters!\n";
- $this->usageHighlight();
-
- return 1;
- }
-
- public function usageLint()
- {
- echo "Usage: lint-query --query SQL\n";
- echo " cat file.sql | lint-query\n";
- }
-
- public function parseLint()
- {
- $longopts = [
- 'help',
- 'query:',
- 'context:',
- ];
- $params = $this->getopt(
- 'hq:c:',
- $longopts
- );
- $this->mergeLongOpts($params, $longopts);
-
- return $params;
- }
-
- public function runLint()
- {
- $params = $this->parseLint();
- if ($params === false) {
- return 1;
- }
- if (isset($params['h'])) {
- $this->usageLint();
-
- return 0;
- }
- if (isset($params['c'])) {
- Context::load($params['c']);
- }
- if (! isset($params['q'])) {
- if ($stdIn = $this->readStdin()) {
- $params['q'] = $stdIn;
- }
- }
- if (isset($params['q'])) {
- $lexer = new Lexer($params['q'], false);
- $parser = new Parser($lexer->list);
- $errors = Error::get([$lexer, $parser]);
- if (count($errors) === 0) {
- return 0;
- }
- $output = Error::format($errors);
- echo implode("\n", $output);
- echo "\n";
-
- return 10;
- }
- echo "ERROR: Missing parameters!\n";
- $this->usageLint();
-
- return 1;
- }
-
- public function usageTokenize()
- {
- echo "Usage: tokenize-query --query SQL\n";
- echo " cat file.sql | tokenize-query\n";
- }
-
- public function parseTokenize()
- {
- $longopts = [
- 'help',
- 'query:',
- ];
- $params = $this->getopt(
- 'hq:',
- $longopts
- );
- $this->mergeLongOpts($params, $longopts);
-
- return $params;
- }
-
- public function runTokenize()
- {
- $params = $this->parseTokenize();
- if ($params === false) {
- return 1;
- }
- if (isset($params['h'])) {
- $this->usageTokenize();
-
- return 0;
- }
- if (! isset($params['q'])) {
- if ($stdIn = $this->readStdin()) {
- $params['q'] = $stdIn;
- }
- }
- if (isset($params['q'])) {
- $lexer = new Lexer($params['q'], false);
- foreach ($lexer->list->tokens as $idx => $token) {
- echo '[TOKEN ', $idx, "]\n";
- echo 'Type = ', $token->type, "\n";
- echo 'Flags = ', $token->flags, "\n";
- echo 'Value = ';
- var_export($token->value);
- echo "\n";
- echo 'Token = ';
- var_export($token->token);
- echo "\n";
- echo "\n";
- }
-
- return 0;
- }
- echo "ERROR: Missing parameters!\n";
- $this->usageTokenize();
-
- return 1;
- }
-
- public function readStdin()
- {
- stream_set_blocking(STDIN, false);
- $stdin = stream_get_contents(STDIN);
- // restore-default block-mode setting
- stream_set_blocking(STDIN, true);
- return $stdin;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Error.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Error.php
deleted file mode 100644
index 789da0e..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Error.php
+++ /dev/null
@@ -1,96 +0,0 @@
-errors as $err) {
- $ret[] = [
- $err->getMessage(),
- $err->getCode(),
- $err->ch,
- $err->pos,
- ];
- }
- } elseif ($obj instanceof Parser) {
- /** @var ParserException $err */
- foreach ($obj->errors as $err) {
- $ret[] = [
- $err->getMessage(),
- $err->getCode(),
- $err->token->token,
- $err->token->position,
- ];
- }
- }
- }
-
- return $ret;
- }
-
- /**
- * Formats the specified errors.
- *
- * @param array $errors the errors to be formatted
- * @param string $format The format of an error.
- * '$1$d' is replaced by the position of this error.
- * '$2$s' is replaced by the error message.
- * '$3$d' is replaced by the error code.
- * '$4$s' is replaced by the string that caused the
- * issue.
- * '$5$d' is replaced by the position of the string.
- *
- * @return array
- */
- public static function format(
- $errors,
- $format = '#%1$d: %2$s (near "%4$s" at position %5$d)'
- ) {
- $ret = [];
-
- $i = 0;
- foreach ($errors as $key => $err) {
- $ret[$key] = sprintf(
- $format,
- ++$i,
- $err[0],
- $err[1],
- htmlspecialchars((string) $err[2]),
- $err[3]
- );
- }
-
- return $ret;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php
deleted file mode 100644
index 017d5b1..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Formatter.php
+++ /dev/null
@@ -1,736 +0,0 @@
- true,
- 'INSERT' => true,
- ];
-
- /**
- * Clauses that must be inlined.
- *
- * These clauses usually are short and it's nicer to have them inline.
- *
- * @var array
- */
- public static $INLINE_CLAUSES = [
- 'CREATE' => true,
- 'INTO' => true,
- 'LIMIT' => true,
- 'PARTITION BY' => true,
- 'PARTITION' => true,
- 'PROCEDURE' => true,
- 'SUBPARTITION BY' => true,
- 'VALUES' => true,
- ];
-
- /**
- * @param array $options the formatting options
- */
- public function __construct(array $options = [])
- {
- $this->options = $this->getMergedOptions($options);
- }
-
- /**
- * The specified formatting options are merged with the default values.
- *
- * @param array $options
- *
- * @return array
- */
- private function getMergedOptions(array $options)
- {
- $options = array_merge(
- $this->getDefaultOptions(),
- $options
- );
-
- if (isset($options['formats'])) {
- $options['formats'] = self::mergeFormats($this->getDefaultFormats(), $options['formats']);
- } else {
- $options['formats'] = $this->getDefaultFormats();
- }
-
- if ($options['line_ending'] === null) {
- $options['line_ending'] = $options['type'] === 'html' ? '
' : "\n";
- }
-
- if ($options['indentation'] === null) {
- $options['indentation'] = $options['type'] === 'html' ? ' ' : ' ';
- }
-
- // `parts_newline` requires `clause_newline`
- $options['parts_newline'] &= $options['clause_newline'];
-
- return $options;
- }
-
- /**
- * The default formatting options.
- *
- * @return array
- */
- protected function getDefaultOptions()
- {
- return [
- /*
- * The format of the result.
- *
- * @var string The type ('text', 'cli' or 'html')
- */
- 'type' => php_sapi_name() === 'cli' ? 'cli' : 'text',
-
- /*
- * The line ending used.
- * By default, for text this is "\n" and for HTML this is "
".
- *
- * @var string
- */
- 'line_ending' => null,
-
- /*
- * The string used for indentation.
- *
- * @var string
- */
- 'indentation' => null,
-
- /*
- * Whether comments should be removed or not.
- *
- * @var bool
- */
- 'remove_comments' => false,
-
- /*
- * Whether each clause should be on a new line.
- *
- * @var bool
- */
- 'clause_newline' => true,
-
- /*
- * Whether each part should be on a new line.
- * Parts are delimited by brackets and commas.
- *
- * @var bool
- */
- 'parts_newline' => true,
-
- /*
- * Whether each part of each clause should be indented.
- *
- * @var bool
- */
- 'indent_parts' => true,
- ];
- }
-
- /**
- * The styles used for HTML formatting.
- * [$type, $flags, $span, $callback].
- *
- * @return array
- */
- protected function getDefaultFormats()
- {
- return [
- [
- 'type' => Token::TYPE_KEYWORD,
- 'flags' => Token::FLAG_KEYWORD_RESERVED,
- 'html' => 'class="sql-reserved"',
- 'cli' => "\x1b[35m",
- 'function' => 'strtoupper',
- ],
- [
- 'type' => Token::TYPE_KEYWORD,
- 'flags' => 0,
- 'html' => 'class="sql-keyword"',
- 'cli' => "\x1b[95m",
- 'function' => 'strtoupper',
- ],
- [
- 'type' => Token::TYPE_COMMENT,
- 'flags' => 0,
- 'html' => 'class="sql-comment"',
- 'cli' => "\x1b[37m",
- 'function' => '',
- ],
- [
- 'type' => Token::TYPE_BOOL,
- 'flags' => 0,
- 'html' => 'class="sql-atom"',
- 'cli' => "\x1b[36m",
- 'function' => 'strtoupper',
- ],
- [
- 'type' => Token::TYPE_NUMBER,
- 'flags' => 0,
- 'html' => 'class="sql-number"',
- 'cli' => "\x1b[92m",
- 'function' => 'strtolower',
- ],
- [
- 'type' => Token::TYPE_STRING,
- 'flags' => 0,
- 'html' => 'class="sql-string"',
- 'cli' => "\x1b[91m",
- 'function' => '',
- ],
- [
- 'type' => Token::TYPE_SYMBOL,
- 'flags' => Token::FLAG_SYMBOL_PARAMETER,
- 'html' => 'class="sql-parameter"',
- 'cli' => "\x1b[31m",
- 'function' => '',
- ],
- [
- 'type' => Token::TYPE_SYMBOL,
- 'flags' => 0,
- 'html' => 'class="sql-variable"',
- 'cli' => "\x1b[36m",
- 'function' => '',
- ],
- ];
- }
-
- private static function mergeFormats(array $formats, array $newFormats)
- {
- $added = [];
- $integers = [
- 'flags',
- 'type',
- ];
- $strings = [
- 'html',
- 'cli',
- 'function',
- ];
-
- /* Sanitize the array so that we do not have to care later */
- foreach ($newFormats as $j => $new) {
- foreach ($integers as $name) {
- if (! isset($new[$name])) {
- $newFormats[$j][$name] = 0;
- }
- }
- foreach ($strings as $name) {
- if (! isset($new[$name])) {
- $newFormats[$j][$name] = '';
- }
- }
- }
-
- /* Process changes to existing formats */
- foreach ($formats as $i => $original) {
- foreach ($newFormats as $j => $new) {
- if ($new['type'] === $original['type']
- && $original['flags'] === $new['flags']
- ) {
- $formats[$i] = $new;
- $added[] = $j;
- }
- }
- }
-
- /* Add not already handled formats */
- foreach ($newFormats as $j => $new) {
- if (! in_array($j, $added)) {
- $formats[] = $new;
- }
- }
-
- return $formats;
- }
-
- /**
- * Formats the given list of tokens.
- *
- * @param TokensList $list the list of tokens
- *
- * @return string
- */
- public function formatList($list)
- {
- /**
- * The query to be returned.
- *
- * @var string
- */
- $ret = '';
-
- /**
- * The indentation level.
- *
- * @var int
- */
- $indent = 0;
-
- /**
- * Whether the line ended.
- *
- * @var bool
- */
- $lineEnded = false;
-
- /**
- * Whether current group is short (no linebreaks).
- *
- * @var bool
- */
- $shortGroup = false;
-
- /**
- * The name of the last clause.
- *
- * @var string
- */
- $lastClause = '';
-
- /**
- * A stack that keeps track of the indentation level every time a new
- * block is found.
- *
- * @var array
- */
- $blocksIndentation = [];
-
- /**
- * A stack that keeps track of the line endings every time a new block
- * is found.
- *
- * @var array
- */
- $blocksLineEndings = [];
-
- /**
- * Whether clause's options were formatted.
- *
- * @var bool
- */
- $formattedOptions = false;
-
- /**
- * Previously parsed token.
- *
- * @var Token|null
- */
- $prev = null;
-
- // In order to be able to format the queries correctly, the next token
- // must be taken into consideration. The loop below uses two pointers,
- // `$prev` and `$curr` which store two consecutive tokens.
- // Actually, at every iteration the previous token is being used.
- for ($list->idx = 0; $list->idx < $list->count; ++$list->idx) {
- /**
- * Token parsed at this moment.
- *
- * @var Token
- */
- $curr = $list->tokens[$list->idx];
- if ($list->idx + 1 < $list->count) {
- $next = $list->tokens[$list->idx + 1];
- } else {
- $next = null;
- }
-
- if ($curr->type === Token::TYPE_WHITESPACE) {
- // Keep linebreaks before and after comments
- if (strpos($curr->token, "\n") !== false && (
- ($prev !== null && $prev->type === Token::TYPE_COMMENT) ||
- ($next !== null && $next->type === Token::TYPE_COMMENT)
- )
- ) {
- $lineEnded = true;
- }
- // Whitespaces are skipped because the formatter adds its own.
- continue;
- }
-
- if ($curr->type === Token::TYPE_COMMENT && $this->options['remove_comments']) {
- // Skip Comments if option `remove_comments` is enabled
- continue;
- }
-
- // Checking if pointers were initialized.
- if ($prev !== null) {
- // Checking if a new clause started.
- if (static::isClause($prev) !== false) {
- $lastClause = $prev->value;
- $formattedOptions = false;
- }
-
- // The options of a clause should stay on the same line and everything that follows.
- if ($this->options['parts_newline']
- && ! $formattedOptions
- && empty(self::$INLINE_CLAUSES[$lastClause])
- && (
- $curr->type !== Token::TYPE_KEYWORD
- || (
- $curr->type === Token::TYPE_KEYWORD
- && $curr->flags & Token::FLAG_KEYWORD_FUNCTION
- )
- )
- ) {
- $formattedOptions = true;
- $lineEnded = true;
- ++$indent;
- }
-
- // Checking if this clause ended.
- if ($isClause = static::isClause($curr)) {
- if (($isClause === 2 || $this->options['clause_newline']) && empty(self::$SHORT_CLAUSES[$lastClause])) {
- $lineEnded = true;
- if ($this->options['parts_newline'] && $indent > 0) {
- --$indent;
- }
- }
- }
-
- // Inline JOINs
- if (($prev->type === Token::TYPE_KEYWORD && isset(JoinKeyword::$JOINS[$prev->value]))
- || (in_array($curr->value, ['ON', 'USING'], true) && isset(JoinKeyword::$JOINS[$list->tokens[$list->idx - 2]->value]))
- || isset($list->tokens[$list->idx - 4], JoinKeyword::$JOINS[$list->tokens[$list->idx - 4]->value])
- || isset($list->tokens[$list->idx - 6], JoinKeyword::$JOINS[$list->tokens[$list->idx - 6]->value])
- ) {
- $lineEnded = false;
- }
-
- // Indenting BEGIN ... END blocks.
- if ($prev->type === Token::TYPE_KEYWORD && $prev->keyword === 'BEGIN') {
- $lineEnded = true;
- $blocksIndentation[] = $indent;
- ++$indent;
- } elseif ($curr->type === Token::TYPE_KEYWORD && $curr->keyword === 'END') {
- $lineEnded = true;
- $indent = array_pop($blocksIndentation);
- }
-
- // Formatting fragments delimited by comma.
- if ($prev->type === Token::TYPE_OPERATOR && $prev->value === ',') {
- // Fragments delimited by a comma are broken into multiple
- // pieces only if the clause is not inlined or this fragment
- // is between brackets that are on new line.
- if (end($blocksLineEndings) === true
- || (
- empty(self::$INLINE_CLAUSES[$lastClause])
- && ! $shortGroup
- && $this->options['parts_newline']
- )
- ) {
- $lineEnded = true;
- }
- }
-
- // Handling brackets.
- // Brackets are indented only if the length of the fragment between
- // them is longer than 30 characters.
- if ($prev->type === Token::TYPE_OPERATOR && $prev->value === '(') {
- $blocksIndentation[] = $indent;
- $shortGroup = true;
- if (static::getGroupLength($list) > 30) {
- ++$indent;
- $lineEnded = true;
- $shortGroup = false;
- }
- $blocksLineEndings[] = $lineEnded;
- } elseif ($curr->type === Token::TYPE_OPERATOR && $curr->value === ')') {
- $indent = array_pop($blocksIndentation);
- $lineEnded |= array_pop($blocksLineEndings);
- $shortGroup = false;
- }
-
- // Adding the token.
- $ret .= $this->toString($prev);
-
- // Finishing the line.
- if ($lineEnded) {
- $ret .= $this->options['line_ending']
- . str_repeat($this->options['indentation'], (int) $indent);
-
- $lineEnded = false;
- } else {
- // If the line ended there is no point in adding whitespaces.
- // Also, some tokens do not have spaces before or after them.
- if (// A space after delimiters that are longer than 2 characters.
- $prev->keyword === 'DELIMITER'
- || ! (
- ($prev->type === Token::TYPE_OPERATOR && ($prev->value === '.' || $prev->value === '('))
- // No space after . (
- || ($curr->type === Token::TYPE_OPERATOR && ($curr->value === '.' || $curr->value === ',' || $curr->value === '(' || $curr->value === ')'))
- // No space before . , ( )
- || $curr->type === Token::TYPE_DELIMITER && mb_strlen((string) $curr->value, 'UTF-8') < 2
- )
- ) {
- $ret .= ' ';
- }
- }
- }
-
- // Iteration finished, consider current token as previous.
- $prev = $curr;
- }
-
- if ($this->options['type'] === 'cli') {
- return $ret . "\x1b[0m";
- }
-
- return $ret;
- }
-
- public function escapeConsole($string)
- {
- return str_replace(
- [
- "\x00",
- "\x01",
- "\x02",
- "\x03",
- "\x04",
- "\x05",
- "\x06",
- "\x07",
- "\x08",
- "\x09",
- "\x0A",
- "\x0B",
- "\x0C",
- "\x0D",
- "\x0E",
- "\x0F",
- "\x10",
- "\x11",
- "\x12",
- "\x13",
- "\x14",
- "\x15",
- "\x16",
- "\x17",
- "\x18",
- "\x19",
- "\x1A",
- "\x1B",
- "\x1C",
- "\x1D",
- "\x1E",
- "\x1F",
- ],
- [
- '\x00',
- '\x01',
- '\x02',
- '\x03',
- '\x04',
- '\x05',
- '\x06',
- '\x07',
- '\x08',
- '\x09',
- '\x0A',
- '\x0B',
- '\x0C',
- '\x0D',
- '\x0E',
- '\x0F',
- '\x10',
- '\x11',
- '\x12',
- '\x13',
- '\x14',
- '\x15',
- '\x16',
- '\x17',
- '\x18',
- '\x19',
- '\x1A',
- '\x1B',
- '\x1C',
- '\x1D',
- '\x1E',
- '\x1F',
- ],
- $string
- );
- }
-
- /**
- * Tries to print the query and returns the result.
- *
- * @param Token $token the token to be printed
- *
- * @return string
- */
- public function toString($token)
- {
- $text = $token->token;
- static $prev;
-
- foreach ($this->options['formats'] as $format) {
- if ($token->type === $format['type']
- && ($token->flags & $format['flags']) === $format['flags']
- ) {
- // Running transformation function.
- if (! empty($format['function'])) {
- $func = $format['function'];
- $text = $func($text);
- }
-
- // Formatting HTML.
- if ($this->options['type'] === 'html') {
- return '' . htmlspecialchars($text, ENT_NOQUOTES) . '';
- } elseif ($this->options['type'] === 'cli') {
- if ($prev !== $format['cli']) {
- $prev = $format['cli'];
-
- return $format['cli'] . $this->escapeConsole($text);
- }
-
- return $this->escapeConsole($text);
- }
-
- break;
- }
- }
-
- if ($this->options['type'] === 'cli') {
- if ($prev !== "\x1b[39m") {
- $prev = "\x1b[39m";
-
- return "\x1b[39m" . $this->escapeConsole($text);
- }
-
- return $this->escapeConsole($text);
- } elseif ($this->options['type'] === 'html') {
- return htmlspecialchars($text, ENT_NOQUOTES);
- }
-
- return $text;
- }
-
- /**
- * Formats a query.
- *
- * @param string $query The query to be formatted
- * @param array $options the formatting options
- *
- * @return string the formatted string
- */
- public static function format($query, array $options = [])
- {
- $lexer = new Lexer($query);
- $formatter = new self($options);
-
- return $formatter->formatList($lexer->list);
- }
-
- /**
- * Computes the length of a group.
- *
- * A group is delimited by a pair of brackets.
- *
- * @param TokensList $list the list of tokens
- *
- * @return int
- */
- public static function getGroupLength($list)
- {
- /**
- * The number of opening brackets found.
- * This counter starts at one because by the time this function called,
- * the list already advanced one position and the opening bracket was
- * already parsed.
- *
- * @var int
- */
- $count = 1;
-
- /**
- * The length of this group.
- *
- * @var int
- */
- $length = 0;
-
- for ($idx = $list->idx; $idx < $list->count; ++$idx) {
- // Counting the brackets.
- if ($list->tokens[$idx]->type === Token::TYPE_OPERATOR) {
- if ($list->tokens[$idx]->value === '(') {
- ++$count;
- } elseif ($list->tokens[$idx]->value === ')') {
- --$count;
- if ($count === 0) {
- break;
- }
- }
- }
-
- // Keeping track of this group's length.
- $length += mb_strlen((string) $list->tokens[$idx]->value, 'UTF-8');
- }
-
- return $length;
- }
-
- /**
- * Checks if a token is a statement or a clause inside a statement.
- *
- * @param Token $token the token to be checked
- *
- * @return int|bool
- */
- public static function isClause($token)
- {
- if (($token->type === Token::TYPE_KEYWORD && isset(Parser::$STATEMENT_PARSERS[$token->keyword]))
- || ($token->type === Token::TYPE_NONE && strtoupper($token->token) === 'DELIMITER')
- ) {
- return 2;
- } elseif ($token->type === Token::TYPE_KEYWORD && isset(Parser::$KEYWORD_PARSERS[$token->keyword])
- ) {
- return 1;
- }
-
- return false;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Misc.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Misc.php
deleted file mode 100644
index 6fcc831..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Misc.php
+++ /dev/null
@@ -1,104 +0,0 @@
-expr)
- || empty($statement->from)
- ) {
- return [];
- }
-
- $retval = [];
-
- $tables = [];
-
- /**
- * Expressions that may contain aliases.
- * These are extracted from `FROM` and `JOIN` keywords.
- *
- * @var Expression[]
- */
- $expressions = $statement->from;
-
- // Adding expressions from JOIN.
- if (! empty($statement->join)) {
- foreach ($statement->join as $join) {
- $expressions[] = $join->expr;
- }
- }
-
- foreach ($expressions as $expr) {
- if (! isset($expr->table) || ($expr->table === '')) {
- continue;
- }
-
- $thisDb = isset($expr->database) && ($expr->database !== '') ?
- $expr->database : $database;
-
- if (! isset($retval[$thisDb])) {
- $retval[$thisDb] = [
- 'alias' => null,
- 'tables' => [],
- ];
- }
-
- if (! isset($retval[$thisDb]['tables'][$expr->table])) {
- $retval[$thisDb]['tables'][$expr->table] = [
- 'alias' => isset($expr->alias) && ($expr->alias !== '') ?
- $expr->alias : null,
- 'columns' => [],
- ];
- }
-
- if (! isset($tables[$thisDb])) {
- $tables[$thisDb] = [];
- }
- $tables[$thisDb][$expr->alias] = $expr->table;
- }
-
- foreach ($statement->expr as $expr) {
- if (! isset($expr->column, $expr->alias) || ($expr->column === '') || ($expr->alias === '')
- ) {
- continue;
- }
-
- $thisDb = isset($expr->database) && ($expr->database !== '') ?
- $expr->database : $database;
-
- if (isset($expr->table) && ($expr->table !== '')) {
- $thisTable = isset($tables[$thisDb][$expr->table]) ?
- $tables[$thisDb][$expr->table] : $expr->table;
- $retval[$thisDb]['tables'][$thisTable]['columns'][$expr->column] = $expr->alias;
- } else {
- foreach ($retval[$thisDb]['tables'] as &$table) {
- $table['columns'][$expr->column] = $expr->alias;
- }
- }
- }
-
- return $retval;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php
deleted file mode 100644
index e16d172..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Query.php
+++ /dev/null
@@ -1,871 +0,0 @@
- false,
-
- /*
- * drop ... DATABASE ...
- */
- 'drop_database' => false,
-
- /*
- * ... GROUP BY ...
- */
- 'group' => false,
-
- /*
- * ... HAVING ...
- */
- 'having' => false,
-
- /*
- * INSERT ...
- * or
- * REPLACE ...
- * or
- * DELETE ...
- */
- 'is_affected' => false,
-
- /*
- * select ... PROCEDURE ANALYSE( ... ) ...
- */
- 'is_analyse' => false,
-
- /*
- * select COUNT( ... ) ...
- */
- 'is_count' => false,
-
- /*
- * DELETE ...
- */
- 'is_delete' => false, // @deprecated; use `querytype`
-
- /*
- * EXPLAIN ...
- */
- 'is_explain' => false, // @deprecated; use `querytype`
-
- /*
- * select ... INTO OUTFILE ...
- */
- 'is_export' => false,
-
- /*
- * select FUNC( ... ) ...
- */
- 'is_func' => false,
-
- /*
- * select ... GROUP BY ...
- * or
- * select ... HAVING ...
- */
- 'is_group' => false,
-
- /*
- * INSERT ...
- * or
- * REPLACE ...
- * or
- * LOAD DATA ...
- */
- 'is_insert' => false,
-
- /*
- * ANALYZE ...
- * or
- * CHECK ...
- * or
- * CHECKSUM ...
- * or
- * OPTIMIZE ...
- * or
- * REPAIR ...
- */
- 'is_maint' => false,
-
- /*
- * CALL ...
- */
- 'is_procedure' => false,
-
- /*
- * REPLACE ...
- */
- 'is_replace' => false, // @deprecated; use `querytype`
-
- /*
- * SELECT ...
- */
- 'is_select' => false, // @deprecated; use `querytype`
-
- /*
- * SHOW ...
- */
- 'is_show' => false, // @deprecated; use `querytype`
-
- /*
- * Contains a subquery.
- */
- 'is_subquery' => false,
-
- /*
- * ... JOIN ...
- */
- 'join' => false,
-
- /*
- * ... LIMIT ...
- */
- 'limit' => false,
-
- /*
- * TODO
- */
- 'offset' => false,
-
- /*
- * ... ORDER ...
- */
- 'order' => false,
-
- /*
- * The type of the query (which is usually the first keyword of
- * the statement).
- */
- 'querytype' => false,
-
- /*
- * Whether a page reload is required.
- */
- 'reload' => false,
-
- /*
- * SELECT ... FROM ...
- */
- 'select_from' => false,
-
- /*
- * ... UNION ...
- */
- 'union' => false,
- ];
-
- /**
- * Gets an array with flags select statement has.
- *
- * @param SelectStatement $statement the statement to be processed
- * @param array $flags flags set so far
- *
- * @return array
- */
- private static function getFlagsSelect($statement, $flags)
- {
- $flags['querytype'] = 'SELECT';
- $flags['is_select'] = true;
-
- if (! empty($statement->from)) {
- $flags['select_from'] = true;
- }
-
- if ($statement->options->has('DISTINCT')) {
- $flags['distinct'] = true;
- }
-
- if (! empty($statement->group) || ! empty($statement->having)) {
- $flags['is_group'] = true;
- }
-
- if (! empty($statement->into)
- && ($statement->into->type === 'OUTFILE')
- ) {
- $flags['is_export'] = true;
- }
-
- $expressions = $statement->expr;
- if (! empty($statement->join)) {
- foreach ($statement->join as $join) {
- $expressions[] = $join->expr;
- }
- }
-
- foreach ($expressions as $expr) {
- if (! empty($expr->function)) {
- if ($expr->function === 'COUNT') {
- $flags['is_count'] = true;
- } elseif (in_array($expr->function, static::$FUNCTIONS)) {
- $flags['is_func'] = true;
- }
- }
- if (! empty($expr->subquery)) {
- $flags['is_subquery'] = true;
- }
- }
-
- if (! empty($statement->procedure)
- && ($statement->procedure->name === 'ANALYSE')
- ) {
- $flags['is_analyse'] = true;
- }
-
- if (! empty($statement->group)) {
- $flags['group'] = true;
- }
-
- if (! empty($statement->having)) {
- $flags['having'] = true;
- }
-
- if (! empty($statement->union)) {
- $flags['union'] = true;
- }
-
- if (! empty($statement->join)) {
- $flags['join'] = true;
- }
-
- return $flags;
- }
-
- /**
- * Gets an array with flags this statement has.
- *
- * @param Statement|null $statement the statement to be processed
- * @param bool $all if `false`, false values will not be included
- *
- * @return array
- */
- public static function getFlags($statement, $all = false)
- {
- $flags = ['querytype' => false];
- if ($all) {
- $flags = self::$ALLFLAGS;
- }
-
- if ($statement instanceof AlterStatement) {
- $flags['querytype'] = 'ALTER';
- $flags['reload'] = true;
- } elseif ($statement instanceof CreateStatement) {
- $flags['querytype'] = 'CREATE';
- $flags['reload'] = true;
- } elseif ($statement instanceof AnalyzeStatement) {
- $flags['querytype'] = 'ANALYZE';
- $flags['is_maint'] = true;
- } elseif ($statement instanceof CheckStatement) {
- $flags['querytype'] = 'CHECK';
- $flags['is_maint'] = true;
- } elseif ($statement instanceof ChecksumStatement) {
- $flags['querytype'] = 'CHECKSUM';
- $flags['is_maint'] = true;
- } elseif ($statement instanceof OptimizeStatement) {
- $flags['querytype'] = 'OPTIMIZE';
- $flags['is_maint'] = true;
- } elseif ($statement instanceof RepairStatement) {
- $flags['querytype'] = 'REPAIR';
- $flags['is_maint'] = true;
- } elseif ($statement instanceof CallStatement) {
- $flags['querytype'] = 'CALL';
- $flags['is_procedure'] = true;
- } elseif ($statement instanceof DeleteStatement) {
- $flags['querytype'] = 'DELETE';
- $flags['is_delete'] = true;
- $flags['is_affected'] = true;
- } elseif ($statement instanceof DropStatement) {
- $flags['querytype'] = 'DROP';
- $flags['reload'] = true;
-
- if ($statement->options->has('DATABASE')
- || $statement->options->has('SCHEMA')
- ) {
- $flags['drop_database'] = true;
- }
- } elseif ($statement instanceof ExplainStatement) {
- $flags['querytype'] = 'EXPLAIN';
- $flags['is_explain'] = true;
- } elseif ($statement instanceof InsertStatement) {
- $flags['querytype'] = 'INSERT';
- $flags['is_affected'] = true;
- $flags['is_insert'] = true;
- } elseif ($statement instanceof LoadStatement) {
- $flags['querytype'] = 'LOAD';
- $flags['is_affected'] = true;
- $flags['is_insert'] = true;
- } elseif ($statement instanceof ReplaceStatement) {
- $flags['querytype'] = 'REPLACE';
- $flags['is_affected'] = true;
- $flags['is_replace'] = true;
- $flags['is_insert'] = true;
- } elseif ($statement instanceof SelectStatement) {
- $flags = self::getFlagsSelect($statement, $flags);
- } elseif ($statement instanceof ShowStatement) {
- $flags['querytype'] = 'SHOW';
- $flags['is_show'] = true;
- } elseif ($statement instanceof UpdateStatement) {
- $flags['querytype'] = 'UPDATE';
- $flags['is_affected'] = true;
- } elseif ($statement instanceof SetStatement) {
- $flags['querytype'] = 'SET';
- }
-
- if (($statement instanceof SelectStatement)
- || ($statement instanceof UpdateStatement)
- || ($statement instanceof DeleteStatement)
- ) {
- if (! empty($statement->limit)) {
- $flags['limit'] = true;
- }
- if (! empty($statement->order)) {
- $flags['order'] = true;
- }
- }
-
- return $flags;
- }
-
- /**
- * Parses a query and gets all information about it.
- *
- * @param string $query the query to be parsed
- *
- * @return array The array returned is the one returned by
- * `static::getFlags()`, with the following keys added:
- * - parser - the parser used to analyze the query;
- * - statement - the first statement resulted from parsing;
- * - select_tables - the real name of the tables selected;
- * if there are no table names in the `SELECT`
- * expressions, the table names are fetched from the
- * `FROM` expressions
- * - select_expr - selected expressions
- */
- public static function getAll($query)
- {
- $parser = new Parser($query);
-
- if (empty($parser->statements[0])) {
- return static::getFlags(null, true);
- }
-
- $statement = $parser->statements[0];
-
- $ret = static::getFlags($statement, true);
-
- $ret['parser'] = $parser;
- $ret['statement'] = $statement;
-
- if ($statement instanceof SelectStatement) {
- $ret['select_tables'] = [];
- $ret['select_expr'] = [];
-
- // Finding tables' aliases and their associated real names.
- $tableAliases = [];
- foreach ($statement->from as $expr) {
- if (isset($expr->table, $expr->alias) && ($expr->table !== '') && ($expr->alias !== '')
- ) {
- $tableAliases[$expr->alias] = [
- $expr->table,
- isset($expr->database) ? $expr->database : null,
- ];
- }
- }
-
- // Trying to find selected tables only from the select expression.
- // Sometimes, this is not possible because the tables aren't defined
- // explicitly (e.g. SELECT * FROM film, SELECT film_id FROM film).
- foreach ($statement->expr as $expr) {
- if (isset($expr->table) && ($expr->table !== '')) {
- if (isset($tableAliases[$expr->table])) {
- $arr = $tableAliases[$expr->table];
- } else {
- $arr = [
- $expr->table,
- isset($expr->database) && ($expr->database !== '') ?
- $expr->database : null,
- ];
- }
- if (! in_array($arr, $ret['select_tables'])) {
- $ret['select_tables'][] = $arr;
- }
- } else {
- $ret['select_expr'][] = $expr->expr;
- }
- }
-
- // If no tables names were found in the SELECT clause or if there
- // are expressions like * or COUNT(*), etc. tables names should be
- // extracted from the FROM clause.
- if (empty($ret['select_tables'])) {
- foreach ($statement->from as $expr) {
- if (isset($expr->table) && ($expr->table !== '')) {
- $arr = [
- $expr->table,
- isset($expr->database) && ($expr->database !== '') ?
- $expr->database : null,
- ];
- if (! in_array($arr, $ret['select_tables'])) {
- $ret['select_tables'][] = $arr;
- }
- }
- }
- }
- }
-
- return $ret;
- }
-
- /**
- * Gets a list of all tables used in this statement.
- *
- * @param Statement $statement statement to be scanned
- *
- * @return array
- */
- public static function getTables($statement)
- {
- $expressions = [];
-
- if (($statement instanceof InsertStatement)
- || ($statement instanceof ReplaceStatement)
- ) {
- $expressions = [$statement->into->dest];
- } elseif ($statement instanceof UpdateStatement) {
- $expressions = $statement->tables;
- } elseif (($statement instanceof SelectStatement)
- || ($statement instanceof DeleteStatement)
- ) {
- $expressions = $statement->from;
- } elseif (($statement instanceof AlterStatement)
- || ($statement instanceof TruncateStatement)
- ) {
- $expressions = [$statement->table];
- } elseif ($statement instanceof DropStatement) {
- if (! $statement->options->has('TABLE')) {
- // No tables are dropped.
- return [];
- }
- $expressions = $statement->fields;
- } elseif ($statement instanceof RenameStatement) {
- foreach ($statement->renames as $rename) {
- $expressions[] = $rename->old;
- }
- }
-
- $ret = [];
- foreach ($expressions as $expr) {
- if (! empty($expr->table)) {
- $expr->expr = null; // Force rebuild.
- $expr->alias = null; // Aliases are not required.
- $ret[] = Expression::build($expr);
- }
- }
-
- return $ret;
- }
-
- /**
- * Gets a specific clause.
- *
- * @param Statement $statement the parsed query that has to be modified
- * @param TokensList $list the list of tokens
- * @param string $clause the clause to be returned
- * @param int|string $type The type of the search.
- * If int,
- * -1 for everything that was before
- * 0 only for the clause
- * 1 for everything after
- * If string, the name of the first clause that
- * should not be included.
- * @param bool $skipFirst whether to skip the first keyword in clause
- *
- * @return string
- */
- public static function getClause($statement, $list, $clause, $type = 0, $skipFirst = true)
- {
- /**
- * The index of the current clause.
- *
- * @var int
- */
- $currIdx = 0;
-
- /**
- * The count of brackets.
- * We keep track of them so we won't insert the clause in a subquery.
- *
- * @var int
- */
- $brackets = 0;
-
- /**
- * The string to be returned.
- *
- * @var string
- */
- $ret = '';
-
- /**
- * The clauses of this type of statement and their index.
- *
- * @var array
- */
- $clauses = array_flip(array_keys($statement->getClauses()));
-
- /**
- * Lexer used for lexing the clause.
- *
- * @var Lexer
- */
- $lexer = new Lexer($clause);
-
- /**
- * The type of this clause.
- *
- * @var string
- */
- $clauseType = $lexer->list->getNextOfType(Token::TYPE_KEYWORD)->keyword;
-
- /**
- * The index of this clause.
- *
- * @var int
- */
- $clauseIdx = isset($clauses[$clauseType]) ? $clauses[$clauseType] : -1;
-
- $firstClauseIdx = $clauseIdx;
- $lastClauseIdx = $clauseIdx;
-
- // Determining the behavior of this function.
- if ($type === -1) {
- $firstClauseIdx = -1; // Something small enough.
- $lastClauseIdx = $clauseIdx - 1;
- } elseif ($type === 1) {
- $firstClauseIdx = $clauseIdx + 1;
- $lastClauseIdx = 10000; // Something big enough.
- } elseif (is_string($type) && isset($clauses[$type])) {
- if ($clauses[$type] > $clauseIdx) {
- $firstClauseIdx = $clauseIdx + 1;
- $lastClauseIdx = $clauses[$type] - 1;
- } else {
- $firstClauseIdx = $clauses[$type] + 1;
- $lastClauseIdx = $clauseIdx - 1;
- }
- }
-
- // This option is unavailable for multiple clauses.
- if ($type !== 0) {
- $skipFirst = false;
- }
-
- for ($i = $statement->first; $i <= $statement->last; ++$i) {
- $token = $list->tokens[$i];
-
- if ($token->type === Token::TYPE_COMMENT) {
- continue;
- }
-
- if ($token->type === Token::TYPE_OPERATOR) {
- if ($token->value === '(') {
- ++$brackets;
- } elseif ($token->value === ')') {
- --$brackets;
- }
- }
-
- if ($brackets === 0) {
- // Checking if the section was changed.
- if (($token->type === Token::TYPE_KEYWORD)
- && isset($clauses[$token->keyword])
- && ($clauses[$token->keyword] >= $currIdx)
- ) {
- $currIdx = $clauses[$token->keyword];
- if ($skipFirst && ($currIdx === $clauseIdx)) {
- // This token is skipped (not added to the old
- // clause) because it will be replaced.
- continue;
- }
- }
- }
-
- if (($firstClauseIdx <= $currIdx) && ($currIdx <= $lastClauseIdx)) {
- $ret .= $token->token;
- }
- }
-
- return trim($ret);
- }
-
- /**
- * Builds a query by rebuilding the statement from the tokens list supplied
- * and replaces a clause.
- *
- * It is a very basic version of a query builder.
- *
- * @param Statement $statement the parsed query that has to be modified
- * @param TokensList $list the list of tokens
- * @param string $old The type of the clause that should be
- * replaced. This can be an entire clause.
- * @param string $new The new clause. If this parameter is omitted
- * it is considered to be equal with `$old`.
- * @param bool $onlyType whether only the type of the clause should
- * be replaced or the entire clause
- *
- * @return string
- */
- public static function replaceClause($statement, $list, $old, $new = null, $onlyType = false)
- {
- // TODO: Update the tokens list and the statement.
-
- if ($new === null) {
- $new = $old;
- }
-
- if ($onlyType) {
- return static::getClause($statement, $list, $old, -1, false) . ' ' .
- $new . ' ' . static::getClause($statement, $list, $old, 0) . ' ' .
- static::getClause($statement, $list, $old, 1, false);
- }
-
- return static::getClause($statement, $list, $old, -1, false) . ' ' .
- $new . ' ' . static::getClause($statement, $list, $old, 1, false);
- }
-
- /**
- * Builds a query by rebuilding the statement from the tokens list supplied
- * and replaces multiple clauses.
- *
- * @param Statement $statement the parsed query that has to be modified
- * @param TokensList $list the list of tokens
- * @param array $ops Clauses to be replaced. Contains multiple
- * arrays having two values: [$old, $new].
- * Clauses must be sorted.
- *
- * @return string
- */
- public static function replaceClauses($statement, $list, array $ops)
- {
- $count = count($ops);
-
- // Nothing to do.
- if ($count === 0) {
- return '';
- }
-
- /**
- * Value to be returned.
- *
- * @var string
- */
- $ret = '';
-
- // If there is only one clause, `replaceClause()` should be used.
- if ($count === 1) {
- return static::replaceClause(
- $statement,
- $list,
- $ops[0][0],
- $ops[0][1]
- );
- }
-
- // Adding everything before first replacement.
- $ret .= static::getClause($statement, $list, $ops[0][0], -1) . ' ';
-
- // Doing replacements.
- foreach ($ops as $i => $clause) {
- $ret .= $clause[1] . ' ';
-
- // Adding everything between this and next replacement.
- if ($i + 1 !== $count) {
- $ret .= static::getClause($statement, $list, $clause[0], $ops[$i + 1][0]) . ' ';
- }
- }
-
- // Adding everything after the last replacement.
- $ret .= static::getClause($statement, $list, $ops[$count - 1][0], 1);
-
- return $ret;
- }
-
- /**
- * Gets the first full statement in the query.
- *
- * @param string $query the query to be analyzed
- * @param string $delimiter the delimiter to be used
- *
- * @return array array containing the first full query, the
- * remaining part of the query and the last
- * delimiter
- */
- public static function getFirstStatement($query, $delimiter = null)
- {
- $lexer = new Lexer($query, false, $delimiter);
- $list = $lexer->list;
-
- /**
- * Whether a full statement was found.
- *
- * @var bool
- */
- $fullStatement = false;
-
- /**
- * The first full statement.
- *
- * @var string
- */
- $statement = '';
-
- for ($list->idx = 0; $list->idx < $list->count; ++$list->idx) {
- $token = $list->tokens[$list->idx];
-
- if ($token->type === Token::TYPE_COMMENT) {
- continue;
- }
-
- $statement .= $token->token;
-
- if (($token->type === Token::TYPE_DELIMITER) && ! empty($token->token)) {
- $delimiter = $token->token;
- $fullStatement = true;
- break;
- }
- }
-
- // No statement was found so we return the entire query as being the
- // remaining part.
- if (! $fullStatement) {
- return [
- null,
- $query,
- $delimiter,
- ];
- }
-
- // At least one query was found so we have to build the rest of the
- // remaining query.
- $query = '';
- for (++$list->idx; $list->idx < $list->count; ++$list->idx) {
- $query .= $list->tokens[$list->idx]->token;
- }
-
- return [
- trim($statement),
- $query,
- $delimiter,
- ];
- }
-
- /**
- * Gets a starting offset of a specific clause.
- *
- * @param Statement $statement the parsed query that has to be modified
- * @param TokensList $list the list of tokens
- * @param string $clause the clause to be returned
- *
- * @return int
- */
- public static function getClauseStartOffset($statement, $list, $clause)
- {
- /**
- * The count of brackets.
- * We keep track of them so we won't insert the clause in a subquery.
- *
- * @var int
- */
- $brackets = 0;
-
- /**
- * The clauses of this type of statement and their index.
- *
- * @var array
- */
- $clauses = array_flip(array_keys($statement->getClauses()));
-
- for ($i = $statement->first; $i <= $statement->last; ++$i) {
- $token = $list->tokens[$i];
-
- if ($token->type === Token::TYPE_COMMENT) {
- continue;
- }
-
- if ($token->type === Token::TYPE_OPERATOR) {
- if ($token->value === '(') {
- ++$brackets;
- } elseif ($token->value === ')') {
- --$brackets;
- }
- }
-
- if ($brackets === 0) {
- if (($token->type === Token::TYPE_KEYWORD)
- && isset($clauses[$token->keyword])
- && ($clause === $token->keyword)
- ) {
- return $i;
- } elseif ($token->keyword === 'UNION') {
- return -1;
- }
- }
- }
-
- return -1;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Routine.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Routine.php
deleted file mode 100644
index 7c024c5..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Routine.php
+++ /dev/null
@@ -1,139 +0,0 @@
-list);
-
- if ($type === null) {
- return [
- '',
- '',
- '',
- '',
- '',
- ];
- }
-
- $options = [];
- foreach ($type->options->options as $opt) {
- $options[] = is_string($opt) ? $opt : $opt['value'];
- }
-
- return [
- '',
- '',
- $type->name,
- implode(',', $type->parameters),
- implode(' ', $options),
- ];
- }
-
- /**
- * Parses a parameter of a routine.
- *
- * @param string $param parameter's definition
- *
- * @return array
- */
- public static function getParameter($param)
- {
- $lexer = new Lexer('(' . $param . ')');
-
- // A dummy parser is used for error reporting.
- $param = ParameterDefinition::parse(new Parser(), $lexer->list);
-
- if (empty($param[0])) {
- return [
- '',
- '',
- '',
- '',
- '',
- ];
- }
-
- $param = $param[0];
-
- $options = [];
- foreach ($param->type->options->options as $opt) {
- $options[] = is_string($opt) ? $opt : $opt['value'];
- }
-
- return [
- empty($param->inOut) ? '' : $param->inOut,
- $param->name,
- $param->type->name,
- implode(',', $param->type->parameters),
- implode(' ', $options),
- ];
- }
-
- /**
- * Gets the parameters of a routine from the parse tree.
- *
- * @param CreateStatement $statement the statement to be processed
- *
- * @return array
- */
- public static function getParameters($statement)
- {
- $retval = [
- 'num' => 0,
- 'dir' => [],
- 'name' => [],
- 'type' => [],
- 'length' => [],
- 'length_arr' => [],
- 'opts' => [],
- ];
-
- if (! empty($statement->parameters)) {
- $idx = 0;
- foreach ($statement->parameters as $param) {
- $retval['dir'][$idx] = $param->inOut;
- $retval['name'][$idx] = $param->name;
- $retval['type'][$idx] = $param->type->name;
- $retval['length'][$idx] = implode(',', $param->type->parameters);
- $retval['length_arr'][$idx] = $param->type->parameters;
- $retval['opts'][$idx] = [];
- foreach ($param->type->options->options as $opt) {
- $retval['opts'][$idx][] = is_string($opt) ?
- $opt : $opt['value'];
- }
- $retval['opts'][$idx] = implode(' ', $retval['opts'][$idx]);
- ++$idx;
- }
-
- $retval['num'] = $idx;
- }
-
- return $retval;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Table.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Table.php
deleted file mode 100644
index 168061d..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Table.php
+++ /dev/null
@@ -1,131 +0,0 @@
-fields)
- || (! is_array($statement->fields))
- || (! $statement->options->has('TABLE'))
- ) {
- return [];
- }
-
- $ret = [];
-
- foreach ($statement->fields as $field) {
- if (empty($field->key) || ($field->key->type !== 'FOREIGN KEY')) {
- continue;
- }
-
- $columns = [];
- foreach ($field->key->columns as $column) {
- $columns[] = $column['name'];
- }
-
- $tmp = [
- 'constraint' => $field->name,
- 'index_list' => $columns,
- ];
-
- if (! empty($field->references)) {
- $tmp['ref_db_name'] = $field->references->table->database;
- $tmp['ref_table_name'] = $field->references->table->table;
- $tmp['ref_index_list'] = $field->references->columns;
-
- if ($opt = $field->references->options->has('ON UPDATE')) {
- $tmp['on_update'] = str_replace(' ', '_', $opt);
- }
-
- if ($opt = $field->references->options->has('ON DELETE')) {
- $tmp['on_delete'] = str_replace(' ', '_', $opt);
- }
-
- // if (($opt = $field->references->options->has('MATCH'))) {
- // $tmp['match'] = str_replace(' ', '_', $opt);
- // }
- }
-
- $ret[] = $tmp;
- }
-
- return $ret;
- }
-
- /**
- * Gets fields of the table.
- *
- * @param CreateStatement $statement the statement to be processed
- *
- * @return array
- */
- public static function getFields($statement)
- {
- if (empty($statement->fields)
- || (! is_array($statement->fields))
- || (! $statement->options->has('TABLE'))
- ) {
- return [];
- }
-
- $ret = [];
-
- foreach ($statement->fields as $field) {
- // Skipping keys.
- if (empty($field->type)) {
- continue;
- }
-
- $ret[$field->name] = [
- 'type' => $field->type->name,
- 'timestamp_not_null' => false,
- ];
-
- if ($field->options) {
- if ($field->type->name === 'TIMESTAMP') {
- if ($field->options->has('NOT NULL')) {
- $ret[$field->name]['timestamp_not_null'] = true;
- }
- }
-
- if ($option = $field->options->has('DEFAULT')) {
- $ret[$field->name]['default_value'] = $option;
- if ($option === 'CURRENT_TIMESTAMP') {
- $ret[$field->name]['default_current_timestamp'] = true;
- }
- }
-
- if ($option = $field->options->has('ON UPDATE')) {
- if ($option === 'CURRENT_TIMESTAMP') {
- $ret[$field->name]['on_update_current_timestamp'] = true;
- }
- }
-
- if ($option = $field->options->has('AS')) {
- $ret[$field->name]['generated'] = true;
- $ret[$field->name]['expr'] = $option;
- }
- }
- }
-
- return $ret;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Tokens.php b/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Tokens.php
deleted file mode 100644
index e823114..0000000
--- a/srcs/phpmyadmin/vendor/phpmyadmin/sql-parser/src/Utils/Tokens.php
+++ /dev/null
@@ -1,164 +0,0 @@
-token)
- ) {
- return false;
- }
-
- // Value.
- if (isset($pattern['value'])
- && ($pattern['value'] !== $token->value)
- ) {
- return false;
- }
-
- if (isset($pattern['value_str'])
- && strcasecmp($pattern['value_str'], (string) $token->value)
- ) {
- return false;
- }
-
- // Type.
- if (isset($pattern['type'])
- && ($pattern['type'] !== $token->type)
- ) {
- return false;
- }
-
- // Flags.
- if (isset($pattern['flags'])
- && (($pattern['flags'] & $token->flags) === 0)
- ) {
- return false;
- }
-
- return true;
- }
-
- public static function replaceTokens($list, array $find, array $replace)
- {
- /**
- * Whether the first parameter is a list.
- *
- * @var bool
- */
- $isList = $list instanceof TokensList;
-
- // Parsing the tokens.
- if (! $isList) {
- $list = Lexer::getTokens($list);
- }
-
- /**
- * The list to be returned.
- *
- * @var array
- */
- $newList = [];
-
- /**
- * The length of the find pattern is calculated only once.
- *
- * @var int
- */
- $findCount = count($find);
-
- /**
- * The starting index of the pattern.
- *
- * @var int
- */
- $i = 0;
-
- while ($i < $list->count) {
- // A sequence may not start with a comment.
- if ($list->tokens[$i]->type === Token::TYPE_COMMENT) {
- $newList[] = $list->tokens[$i];
- ++$i;
- continue;
- }
-
- /**
- * The index used to parse `$list->tokens`.
- *
- * This index might be running faster than `$k` because some tokens
- * are skipped.
- *
- * @var int
- */
- $j = $i;
-
- /**
- * The index used to parse `$find`.
- *
- * This index might be running slower than `$j` because some tokens
- * are skipped.
- *
- * @var int
- */
- $k = 0;
-
- // Checking if the next tokens match the pattern described.
- while (($j < $list->count) && ($k < $findCount)) {
- // Comments are being skipped.
- if ($list->tokens[$j]->type === Token::TYPE_COMMENT) {
- ++$j;
- }
-
- if (! static::match($list->tokens[$j], $find[$k])) {
- // This token does not match the pattern.
- break;
- }
-
- // Going to next token and segment of find pattern.
- ++$j;
- ++$k;
- }
-
- // Checking if the sequence was found.
- if ($k === $findCount) {
- // Inserting new tokens.
- foreach ($replace as $token) {
- $newList[] = $token;
- }
-
- // Skipping next `$findCount` tokens.
- $i = $j;
- } else {
- // Adding the same token.
- $newList[] = $list->tokens[$i];
- ++$i;
- }
- }
-
- return $isList ?
- new TokensList($newList) : TokensList::build($newList);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/AUTHORS b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/AUTHORS
deleted file mode 100644
index a08b309..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/AUTHORS
+++ /dev/null
@@ -1,6 +0,0 @@
-phpseclib Lead Developer: TerraFrost (Jim Wigginton)
-
-phpseclib Developers: monnerat (Patrick Monnerat)
- bantu (Andreas Fischer)
- petrich (Hans-Jürgen Petrich)
- GrahamCampbell (Graham Campbell)
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/BACKERS.md b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/BACKERS.md
deleted file mode 100644
index e9f3784..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/BACKERS.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Backers
-
-phpseclib ongoing development is made possible by [Tidelift](https://tidelift.com/subscription/pkg/packagist-phpseclib-phpseclib?utm_source=packagist-phpseclib-phpseclib&utm_medium=referral&utm_campaign=readme) and by contributions by users like you. Thank you.
-
-## Backers
-
-- Zane Hooper
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/LICENSE b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/LICENSE
deleted file mode 100644
index e7214eb..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2011-2019 TerraFrost and other contributors
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/README.md b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/README.md
deleted file mode 100644
index ce201c9..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/README.md
+++ /dev/null
@@ -1,87 +0,0 @@
-# phpseclib - PHP Secure Communications Library
-
-[](https://travis-ci.org/phpseclib/phpseclib)
-
-## Supporting phpseclib
-
-- [Become a backer or sponsor on Patreon](https://www.patreon.com/phpseclib)
-- [One-time donation via PayPal or crypto-currencies](http://sourceforge.net/donate/index.php?group_id=198487)
-- [Subscribe to Tidelift](https://tidelift.com/subscription/pkg/packagist-phpseclib-phpseclib?utm_source=packagist-phpseclib-phpseclib&utm_medium=referral&utm_campaign=readme)
-
-## Introduction
-
-MIT-licensed pure-PHP implementations of an arbitrary-precision integer
-arithmetic library, fully PKCS#1 (v2.1) compliant RSA, DES, 3DES, RC4, Rijndael,
-AES, Blowfish, Twofish, SSH-1, SSH-2, SFTP, and X.509
-
-* [Browse Git](https://github.com/phpseclib/phpseclib)
-* [Code Coverage Report](https://coverage.phpseclib.org/2.0/latest/)
-
-## Documentation
-
-* [Documentation / Manual](http://phpseclib.sourceforge.net/)
-* [API Documentation](https://api.phpseclib.org/2.0/) (generated by Sami)
-
-## Branches
-
-### master
-
-* Development Branch
-* Unstable API
-* Do not use in production
-
-### 2.0
-
-* Long term support (LTS) release
-* Modernized version of 1.0
-* Minimum PHP version: 5.3.3
-* PSR-4 autoloading with namespace rooted at `\phpseclib`
-* Install via Composer: `composer require phpseclib/phpseclib:~2.0`
-
-### 1.0
-
-* Long term support (LTS) release
-* PHP4 compatible
-* Composer compatible (PSR-0 autoloading)
-* Install using Composer: `composer require phpseclib/phpseclib:~1.0`
-* Install using PEAR: See [phpseclib PEAR Channel Documentation](http://phpseclib.sourceforge.net/pear.htm)
-* [Download 1.0.17 as ZIP](http://sourceforge.net/projects/phpseclib/files/phpseclib1.0.17.zip/download)
-
-## Security contact information
-
-To report a security vulnerability, please use the [Tidelift security contact](https://tidelift.com/security). Tidelift will coordinate the fix and disclosure.
-
-## Support
-
-Need Support?
-
-* [Checkout Questions and Answers on Stack Overflow](http://stackoverflow.com/questions/tagged/phpseclib)
-* [Create a Support Ticket on GitHub](https://github.com/phpseclib/phpseclib/issues/new)
-* [Browse the Support Forum](http://www.frostjedi.com/phpbb/viewforum.php?f=46) (no longer in use)
-
-## Contributing
-
-1. Fork the Project
-
-2. Ensure you have Composer installed (see [Composer Download Instructions](https://getcomposer.org/download/))
-
-3. Install Development Dependencies
-
- ``` sh
- composer install
- ```
-
-4. Create a Feature Branch
-
-5. (Recommended) Run the Test Suite
-
- ``` sh
- vendor/bin/phpunit
- ```
-6. (Recommended) Check whether your code conforms to our Coding Standards by running
-
- ``` sh
- vendor/bin/phing -f build/build.xml sniff
- ```
-
-7. Send us a Pull Request
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/appveyor.yml b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/appveyor.yml
deleted file mode 100644
index 210a903..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/appveyor.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-build: false
-shallow_clone: false
-platform:
- - x86
- - x64
-clone_folder: C:\projects\phpseclib
-
-install:
- - cinst -y OpenSSL.Light
- - SET PATH=C:\Program Files\OpenSSL;%PATH%
- - sc config wuauserv start= auto
- - net start wuauserv
- - cinst -y php --version 5.6.30
- - cd c:\tools\php56
- - copy php.ini-production php.ini
- - echo date.timezone="UTC" >> php.ini
- - echo extension_dir=ext >> php.ini
- - echo extension=php_openssl.dll >> php.ini
- - echo extension=php_gmp.dll >> php.ini
- - cd C:\projects\phpseclib
- - SET PATH=C:\tools\php56;%PATH%
- - php.exe -r "readfile('http://getcomposer.org/installer');" | php.exe
- - php.exe composer.phar install --prefer-source --no-interaction
-
-test_script:
- - cd C:\projects\phpseclib
- - vendor\bin\phpunit.bat tests/Windows32Test.php
\ No newline at end of file
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/composer.json b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/composer.json
deleted file mode 100644
index b4e8a1c..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/composer.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "name": "phpseclib/phpseclib",
- "type": "library",
- "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
- "keywords": [
- "security",
- "crypto",
- "cryptography",
- "encryption",
- "signature",
- "signing",
- "rsa",
- "aes",
- "blowfish",
- "twofish",
- "ssh",
- "sftp",
- "x509",
- "x.509",
- "asn1",
- "asn.1",
- "BigInteger"
- ],
- "homepage": "http://phpseclib.sourceforge.net",
- "license": "MIT",
- "authors": [
- {
- "name": "Jim Wigginton",
- "email": "terrafrost@php.net",
- "role": "Lead Developer"
- },
- {
- "name": "Patrick Monnerat",
- "email": "pm@datasphere.ch",
- "role": "Developer"
- },
- {
- "name": "Andreas Fischer",
- "email": "bantu@phpbb.com",
- "role": "Developer"
- },
- {
- "name": "Hans-Jürgen Petrich",
- "email": "petrich@tronic-media.com",
- "role": "Developer"
- },
- {
- "name": "Graham Campbell",
- "email": "graham@alt-three.com",
- "role": "Developer"
- }
- ],
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phing/phing": "~2.7",
- "phpunit/phpunit": "^4.8.35|^5.7|^6.0",
- "sami/sami": "~2.0",
- "squizlabs/php_codesniffer": "~2.0"
- },
- "suggest": {
- "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
- "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations.",
- "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
- "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations."
- },
- "autoload": {
- "files": [
- "phpseclib/bootstrap.php"
- ],
- "psr-4": {
- "phpseclib\\": "phpseclib/"
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php
deleted file mode 100644
index 7d8cb8b..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/AES.php
+++ /dev/null
@@ -1,126 +0,0 @@
-
- * setKey('abcdefghijklmnop');
- *
- * $size = 10 * 1024;
- * $plaintext = '';
- * for ($i = 0; $i < $size; $i++) {
- * $plaintext.= 'a';
- * }
- *
- * echo $aes->decrypt($aes->encrypt($plaintext));
- * ?>
- *
- *
- * @category Crypt
- * @package AES
- * @author Jim Wigginton
- * @copyright 2008 Jim Wigginton
- * @license http://www.opensource.org/licenses/mit-license.html MIT License
- * @link http://phpseclib.sourceforge.net
- */
-
-namespace phpseclib\Crypt;
-
-/**
- * Pure-PHP implementation of AES.
- *
- * @package AES
- * @author Jim Wigginton
- * @access public
- */
-class AES extends Rijndael
-{
- /**
- * Dummy function
- *
- * Since \phpseclib\Crypt\AES extends \phpseclib\Crypt\Rijndael, this function is, technically, available, but it doesn't do anything.
- *
- * @see \phpseclib\Crypt\Rijndael::setBlockLength()
- * @access public
- * @param int $length
- */
- function setBlockLength($length)
- {
- return;
- }
-
- /**
- * Sets the key length
- *
- * Valid key lengths are 128, 192, and 256. If the length is less than 128, it will be rounded up to
- * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount.
- *
- * @see \phpseclib\Crypt\Rijndael:setKeyLength()
- * @access public
- * @param int $length
- */
- function setKeyLength($length)
- {
- switch ($length) {
- case 160:
- $length = 192;
- break;
- case 224:
- $length = 256;
- }
- parent::setKeyLength($length);
- }
-
- /**
- * Sets the key.
- *
- * Rijndael supports five different key lengths, AES only supports three.
- *
- * @see \phpseclib\Crypt\Rijndael:setKey()
- * @see setKeyLength()
- * @access public
- * @param string $key
- */
- function setKey($key)
- {
- parent::setKey($key);
-
- if (!$this->explicit_key_length) {
- $length = strlen($key);
- switch (true) {
- case $length <= 16:
- $this->key_length = 16;
- break;
- case $length <= 24:
- $this->key_length = 24;
- break;
- default:
- $this->key_length = 32;
- }
- $this->_setEngine();
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php
deleted file mode 100644
index 03b176e..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Base.php
+++ /dev/null
@@ -1,2708 +0,0 @@
-
- * @author Hans-Juergen Petrich
- * @copyright 2007 Jim Wigginton
- * @license http://www.opensource.org/licenses/mit-license.html MIT License
- * @link http://phpseclib.sourceforge.net
- */
-
-namespace phpseclib\Crypt;
-
-/**
- * Base Class for all \phpseclib\Crypt\* cipher classes
- *
- * @package Base
- * @author Jim Wigginton
- * @author Hans-Juergen Petrich
- */
-abstract class Base
-{
- /**#@+
- * @access public
- * @see \phpseclib\Crypt\Base::encrypt()
- * @see \phpseclib\Crypt\Base::decrypt()
- */
- /**
- * Encrypt / decrypt using the Counter mode.
- *
- * Set to -1 since that's what Crypt/Random.php uses to index the CTR mode.
- *
- * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Counter_.28CTR.29
- */
- const MODE_CTR = -1;
- /**
- * Encrypt / decrypt using the Electronic Code Book mode.
- *
- * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29
- */
- const MODE_ECB = 1;
- /**
- * Encrypt / decrypt using the Code Book Chaining mode.
- *
- * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher-block_chaining_.28CBC.29
- */
- const MODE_CBC = 2;
- /**
- * Encrypt / decrypt using the Cipher Feedback mode.
- *
- * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Cipher_feedback_.28CFB.29
- */
- const MODE_CFB = 3;
- /**
- * Encrypt / decrypt using the Cipher Feedback mode (8bit)
- */
- const MODE_CFB8 = 38;
- /**
- * Encrypt / decrypt using the Output Feedback mode.
- *
- * @link http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Output_feedback_.28OFB.29
- */
- const MODE_OFB = 4;
- /**
- * Encrypt / decrypt using streaming mode.
- */
- const MODE_STREAM = 5;
- /**#@-*/
-
- /**
- * Whirlpool available flag
- *
- * @see \phpseclib\Crypt\Base::_hashInlineCryptFunction()
- * @var bool
- * @access private
- */
- static $WHIRLPOOL_AVAILABLE;
-
- /**#@+
- * @access private
- * @see \phpseclib\Crypt\Base::__construct()
- */
- /**
- * Base value for the internal implementation $engine switch
- */
- const ENGINE_INTERNAL = 1;
- /**
- * Base value for the mcrypt implementation $engine switch
- */
- const ENGINE_MCRYPT = 2;
- /**
- * Base value for the mcrypt implementation $engine switch
- */
- const ENGINE_OPENSSL = 3;
- /**#@-*/
-
- /**
- * The Encryption Mode
- *
- * @see self::__construct()
- * @var int
- * @access private
- */
- var $mode;
-
- /**
- * The Block Length of the block cipher
- *
- * @var int
- * @access private
- */
- var $block_size = 16;
-
- /**
- * The Key
- *
- * @see self::setKey()
- * @var string
- * @access private
- */
- var $key = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
-
- /**
- * The Initialization Vector
- *
- * @see self::setIV()
- * @var string
- * @access private
- */
- var $iv;
-
- /**
- * A "sliding" Initialization Vector
- *
- * @see self::enableContinuousBuffer()
- * @see self::_clearBuffers()
- * @var string
- * @access private
- */
- var $encryptIV;
-
- /**
- * A "sliding" Initialization Vector
- *
- * @see self::enableContinuousBuffer()
- * @see self::_clearBuffers()
- * @var string
- * @access private
- */
- var $decryptIV;
-
- /**
- * Continuous Buffer status
- *
- * @see self::enableContinuousBuffer()
- * @var bool
- * @access private
- */
- var $continuousBuffer = false;
-
- /**
- * Encryption buffer for CTR, OFB and CFB modes
- *
- * @see self::encrypt()
- * @see self::_clearBuffers()
- * @var array
- * @access private
- */
- var $enbuffer;
-
- /**
- * Decryption buffer for CTR, OFB and CFB modes
- *
- * @see self::decrypt()
- * @see self::_clearBuffers()
- * @var array
- * @access private
- */
- var $debuffer;
-
- /**
- * mcrypt resource for encryption
- *
- * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
- * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
- *
- * @see self::encrypt()
- * @var resource
- * @access private
- */
- var $enmcrypt;
-
- /**
- * mcrypt resource for decryption
- *
- * The mcrypt resource can be recreated every time something needs to be created or it can be created just once.
- * Since mcrypt operates in continuous mode, by default, it'll need to be recreated when in non-continuous mode.
- *
- * @see self::decrypt()
- * @var resource
- * @access private
- */
- var $demcrypt;
-
- /**
- * Does the enmcrypt resource need to be (re)initialized?
- *
- * @see \phpseclib\Crypt\Twofish::setKey()
- * @see \phpseclib\Crypt\Twofish::setIV()
- * @var bool
- * @access private
- */
- var $enchanged = true;
-
- /**
- * Does the demcrypt resource need to be (re)initialized?
- *
- * @see \phpseclib\Crypt\Twofish::setKey()
- * @see \phpseclib\Crypt\Twofish::setIV()
- * @var bool
- * @access private
- */
- var $dechanged = true;
-
- /**
- * mcrypt resource for CFB mode
- *
- * mcrypt's CFB mode, in (and only in) buffered context,
- * is broken, so phpseclib implements the CFB mode by it self,
- * even when the mcrypt php extension is available.
- *
- * In order to do the CFB-mode work (fast) phpseclib
- * use a separate ECB-mode mcrypt resource.
- *
- * @link http://phpseclib.sourceforge.net/cfb-demo.phps
- * @see self::encrypt()
- * @see self::decrypt()
- * @see self::_setupMcrypt()
- * @var resource
- * @access private
- */
- var $ecb;
-
- /**
- * Optimizing value while CFB-encrypting
- *
- * Only relevant if $continuousBuffer enabled
- * and $engine == self::ENGINE_MCRYPT
- *
- * It's faster to re-init $enmcrypt if
- * $buffer bytes > $cfb_init_len than
- * using the $ecb resource furthermore.
- *
- * This value depends of the chosen cipher
- * and the time it would be needed for it's
- * initialization [by mcrypt_generic_init()]
- * which, typically, depends on the complexity
- * on its internaly Key-expanding algorithm.
- *
- * @see self::encrypt()
- * @var int
- * @access private
- */
- var $cfb_init_len = 600;
-
- /**
- * Does internal cipher state need to be (re)initialized?
- *
- * @see self::setKey()
- * @see self::setIV()
- * @see self::disableContinuousBuffer()
- * @var bool
- * @access private
- */
- var $changed = true;
-
- /**
- * Padding status
- *
- * @see self::enablePadding()
- * @var bool
- * @access private
- */
- var $padding = true;
-
- /**
- * Is the mode one that is paddable?
- *
- * @see self::__construct()
- * @var bool
- * @access private
- */
- var $paddable = false;
-
- /**
- * Holds which crypt engine internaly should be use,
- * which will be determined automatically on __construct()
- *
- * Currently available $engines are:
- * - self::ENGINE_OPENSSL (very fast, php-extension: openssl, extension_loaded('openssl') required)
- * - self::ENGINE_MCRYPT (fast, php-extension: mcrypt, extension_loaded('mcrypt') required)
- * - self::ENGINE_INTERNAL (slower, pure php-engine, no php-extension required)
- *
- * @see self::_setEngine()
- * @see self::encrypt()
- * @see self::decrypt()
- * @var int
- * @access private
- */
- var $engine;
-
- /**
- * Holds the preferred crypt engine
- *
- * @see self::_setEngine()
- * @see self::setPreferredEngine()
- * @var int
- * @access private
- */
- var $preferredEngine;
-
- /**
- * The mcrypt specific name of the cipher
- *
- * Only used if $engine == self::ENGINE_MCRYPT
- *
- * @link http://www.php.net/mcrypt_module_open
- * @link http://www.php.net/mcrypt_list_algorithms
- * @see self::_setupMcrypt()
- * @var string
- * @access private
- */
- var $cipher_name_mcrypt;
-
- /**
- * The openssl specific name of the cipher
- *
- * Only used if $engine == self::ENGINE_OPENSSL
- *
- * @link http://www.php.net/openssl-get-cipher-methods
- * @var string
- * @access private
- */
- var $cipher_name_openssl;
-
- /**
- * The openssl specific name of the cipher in ECB mode
- *
- * If OpenSSL does not support the mode we're trying to use (CTR)
- * it can still be emulated with ECB mode.
- *
- * @link http://www.php.net/openssl-get-cipher-methods
- * @var string
- * @access private
- */
- var $cipher_name_openssl_ecb;
-
- /**
- * The default salt used by setPassword()
- *
- * @see self::setPassword()
- * @var string
- * @access private
- */
- var $password_default_salt = 'phpseclib/salt';
-
- /**
- * The name of the performance-optimized callback function
- *
- * Used by encrypt() / decrypt()
- * only if $engine == self::ENGINE_INTERNAL
- *
- * @see self::encrypt()
- * @see self::decrypt()
- * @see self::_setupInlineCrypt()
- * @see self::$use_inline_crypt
- * @var Callback
- * @access private
- */
- var $inline_crypt;
-
- /**
- * Holds whether performance-optimized $inline_crypt() can/should be used.
- *
- * @see self::encrypt()
- * @see self::decrypt()
- * @see self::inline_crypt
- * @var mixed
- * @access private
- */
- var $use_inline_crypt;
-
- /**
- * If OpenSSL can be used in ECB but not in CTR we can emulate CTR
- *
- * @see self::_openssl_ctr_process()
- * @var bool
- * @access private
- */
- var $openssl_emulate_ctr = false;
-
- /**
- * Determines what options are passed to openssl_encrypt/decrypt
- *
- * @see self::isValidEngine()
- * @var mixed
- * @access private
- */
- var $openssl_options;
-
- /**
- * Has the key length explicitly been set or should it be derived from the key, itself?
- *
- * @see self::setKeyLength()
- * @var bool
- * @access private
- */
- var $explicit_key_length = false;
-
- /**
- * Don't truncate / null pad key
- *
- * @see self::_clearBuffers()
- * @var bool
- * @access private
- */
- var $skip_key_adjustment = false;
-
- /**
- * Default Constructor.
- *
- * Determines whether or not the mcrypt extension should be used.
- *
- * $mode could be:
- *
- * - self::MODE_ECB
- *
- * - self::MODE_CBC
- *
- * - self::MODE_CTR
- *
- * - self::MODE_CFB
- *
- * - self::MODE_OFB
- *
- * If not explicitly set, self::MODE_CBC will be used.
- *
- * @param int $mode
- * @access public
- */
- function __construct($mode = self::MODE_CBC)
- {
- // $mode dependent settings
- switch ($mode) {
- case self::MODE_ECB:
- $this->paddable = true;
- $this->mode = self::MODE_ECB;
- break;
- case self::MODE_CTR:
- case self::MODE_CFB:
- case self::MODE_CFB8:
- case self::MODE_OFB:
- case self::MODE_STREAM:
- $this->mode = $mode;
- break;
- case self::MODE_CBC:
- default:
- $this->paddable = true;
- $this->mode = self::MODE_CBC;
- }
-
- $this->_setEngine();
-
- // Determining whether inline crypting can be used by the cipher
- if ($this->use_inline_crypt !== false) {
- $this->use_inline_crypt = version_compare(PHP_VERSION, '5.3.0') >= 0 || function_exists('create_function');
- }
- }
-
- /**
- * Sets the initialization vector. (optional)
- *
- * SetIV is not required when self::MODE_ECB (or ie for AES: \phpseclib\Crypt\AES::MODE_ECB) is being used. If not explicitly set, it'll be assumed
- * to be all zero's.
- *
- * @access public
- * @param string $iv
- * @internal Can be overwritten by a sub class, but does not have to be
- */
- function setIV($iv)
- {
- if ($this->mode == self::MODE_ECB) {
- return;
- }
-
- $this->iv = $iv;
- $this->changed = true;
- }
-
- /**
- * Sets the key length.
- *
- * Keys with explicitly set lengths need to be treated accordingly
- *
- * @access public
- * @param int $length
- */
- function setKeyLength($length)
- {
- $this->explicit_key_length = true;
- $this->changed = true;
- $this->_setEngine();
- }
-
- /**
- * Returns the current key length in bits
- *
- * @access public
- * @return int
- */
- function getKeyLength()
- {
- return $this->key_length << 3;
- }
-
- /**
- * Returns the current block length in bits
- *
- * @access public
- * @return int
- */
- function getBlockLength()
- {
- return $this->block_size << 3;
- }
-
- /**
- * Sets the key.
- *
- * The min/max length(s) of the key depends on the cipher which is used.
- * If the key not fits the length(s) of the cipher it will paded with null bytes
- * up to the closest valid key length. If the key is more than max length,
- * we trim the excess bits.
- *
- * If the key is not explicitly set, it'll be assumed to be all null bytes.
- *
- * @access public
- * @param string $key
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function setKey($key)
- {
- if (!$this->explicit_key_length) {
- $this->setKeyLength(strlen($key) << 3);
- $this->explicit_key_length = false;
- }
-
- $this->key = $key;
- $this->changed = true;
- $this->_setEngine();
- }
-
- /**
- * Sets the password.
- *
- * Depending on what $method is set to, setPassword()'s (optional) parameters are as follows:
- * {@link http://en.wikipedia.org/wiki/PBKDF2 pbkdf2} or pbkdf1:
- * $hash, $salt, $count, $dkLen
- *
- * Where $hash (default = sha1) currently supports the following hashes: see: Crypt/Hash.php
- *
- * @see Crypt/Hash.php
- * @param string $password
- * @param string $method
- * @return bool
- * @access public
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function setPassword($password, $method = 'pbkdf2')
- {
- $key = '';
-
- switch ($method) {
- default: // 'pbkdf2' or 'pbkdf1'
- $func_args = func_get_args();
-
- // Hash function
- $hash = isset($func_args[2]) ? $func_args[2] : 'sha1';
-
- // WPA and WPA2 use the SSID as the salt
- $salt = isset($func_args[3]) ? $func_args[3] : $this->password_default_salt;
-
- // RFC2898#section-4.2 uses 1,000 iterations by default
- // WPA and WPA2 use 4,096.
- $count = isset($func_args[4]) ? $func_args[4] : 1000;
-
- // Keylength
- if (isset($func_args[5])) {
- $dkLen = $func_args[5];
- } else {
- $dkLen = $method == 'pbkdf1' ? 2 * $this->key_length : $this->key_length;
- }
-
- switch (true) {
- case $method == 'pbkdf1':
- $hashObj = new Hash();
- $hashObj->setHash($hash);
- if ($dkLen > $hashObj->getLength()) {
- user_error('Derived key too long');
- return false;
- }
- $t = $password . $salt;
- for ($i = 0; $i < $count; ++$i) {
- $t = $hashObj->hash($t);
- }
- $key = substr($t, 0, $dkLen);
-
- $this->setKey(substr($key, 0, $dkLen >> 1));
- $this->setIV(substr($key, $dkLen >> 1));
-
- return true;
- // Determining if php[>=5.5.0]'s hash_pbkdf2() function avail- and useable
- case !function_exists('hash_pbkdf2'):
- case !function_exists('hash_algos'):
- case !in_array($hash, hash_algos()):
- $i = 1;
- $hmac = new Hash();
- $hmac->setHash($hash);
- $hmac->setKey($password);
- while (strlen($key) < $dkLen) {
- $f = $u = $hmac->hash($salt . pack('N', $i++));
- for ($j = 2; $j <= $count; ++$j) {
- $u = $hmac->hash($u);
- $f^= $u;
- }
- $key.= $f;
- }
- $key = substr($key, 0, $dkLen);
- break;
- default:
- $key = hash_pbkdf2($hash, $password, $salt, $count, $dkLen, true);
- }
- }
-
- $this->setKey($key);
-
- return true;
- }
-
- /**
- * Encrypts a message.
- *
- * $plaintext will be padded with additional bytes such that it's length is a multiple of the block size. Other cipher
- * implementations may or may not pad in the same manner. Other common approaches to padding and the reasons why it's
- * necessary are discussed in the following
- * URL:
- *
- * {@link http://www.di-mgt.com.au/cryptopad.html http://www.di-mgt.com.au/cryptopad.html}
- *
- * An alternative to padding is to, separately, send the length of the file. This is what SSH, in fact, does.
- * strlen($plaintext) will still need to be a multiple of the block size, however, arbitrary values can be added to make it that
- * length.
- *
- * @see self::decrypt()
- * @access public
- * @param string $plaintext
- * @return string $ciphertext
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function encrypt($plaintext)
- {
- if ($this->paddable) {
- $plaintext = $this->_pad($plaintext);
- }
-
- if ($this->engine === self::ENGINE_OPENSSL) {
- if ($this->changed) {
- $this->_clearBuffers();
- $this->changed = false;
- }
- switch ($this->mode) {
- case self::MODE_STREAM:
- return openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options);
- case self::MODE_ECB:
- $result = @openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options);
- return !defined('OPENSSL_RAW_DATA') ? substr($result, 0, -$this->block_size) : $result;
- case self::MODE_CBC:
- $result = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->encryptIV);
- if (!defined('OPENSSL_RAW_DATA')) {
- $result = substr($result, 0, -$this->block_size);
- }
- if ($this->continuousBuffer) {
- $this->encryptIV = substr($result, -$this->block_size);
- }
- return $result;
- case self::MODE_CTR:
- return $this->_openssl_ctr_process($plaintext, $this->encryptIV, $this->enbuffer);
- case self::MODE_CFB:
- // cfb loosely routines inspired by openssl's:
- // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1}
- $ciphertext = '';
- if ($this->continuousBuffer) {
- $iv = &$this->encryptIV;
- $pos = &$this->enbuffer['pos'];
- } else {
- $iv = $this->encryptIV;
- $pos = 0;
- }
- $len = strlen($plaintext);
- $i = 0;
- if ($pos) {
- $orig_pos = $pos;
- $max = $this->block_size - $pos;
- if ($len >= $max) {
- $i = $max;
- $len-= $max;
- $pos = 0;
- } else {
- $i = $len;
- $pos+= $len;
- $len = 0;
- }
- // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize
- $ciphertext = substr($iv, $orig_pos) ^ $plaintext;
- $iv = substr_replace($iv, $ciphertext, $orig_pos, $i);
- $plaintext = substr($plaintext, $i);
- }
-
- $overflow = $len % $this->block_size;
-
- if ($overflow) {
- $ciphertext.= openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv);
- $iv = $this->_string_pop($ciphertext, $this->block_size);
-
- $size = $len - $overflow;
- $block = $iv ^ substr($plaintext, -$overflow);
- $iv = substr_replace($iv, $block, 0, $overflow);
- $ciphertext.= $block;
- $pos = $overflow;
- } elseif ($len) {
- $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv);
- $iv = substr($ciphertext, -$this->block_size);
- }
-
- return $ciphertext;
- case self::MODE_CFB8:
- $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->encryptIV);
- if ($this->continuousBuffer) {
- if (($len = strlen($ciphertext)) >= $this->block_size) {
- $this->encryptIV = substr($ciphertext, -$this->block_size);
- } else {
- $this->encryptIV = substr($this->encryptIV, $len - $this->block_size) . substr($ciphertext, -$len);
- }
- }
- return $ciphertext;
- case self::MODE_OFB:
- return $this->_openssl_ofb_process($plaintext, $this->encryptIV, $this->enbuffer);
- }
- }
-
- if ($this->engine === self::ENGINE_MCRYPT) {
- if ($this->changed) {
- $this->_setupMcrypt();
- $this->changed = false;
- }
- if ($this->enchanged) {
- @mcrypt_generic_init($this->enmcrypt, $this->key, $this->encryptIV);
- $this->enchanged = false;
- }
-
- // re: {@link http://phpseclib.sourceforge.net/cfb-demo.phps}
- // using mcrypt's default handing of CFB the above would output two different things. using phpseclib's
- // rewritten CFB implementation the above outputs the same thing twice.
- if ($this->mode == self::MODE_CFB && $this->continuousBuffer) {
- $block_size = $this->block_size;
- $iv = &$this->encryptIV;
- $pos = &$this->enbuffer['pos'];
- $len = strlen($plaintext);
- $ciphertext = '';
- $i = 0;
- if ($pos) {
- $orig_pos = $pos;
- $max = $block_size - $pos;
- if ($len >= $max) {
- $i = $max;
- $len-= $max;
- $pos = 0;
- } else {
- $i = $len;
- $pos+= $len;
- $len = 0;
- }
- $ciphertext = substr($iv, $orig_pos) ^ $plaintext;
- $iv = substr_replace($iv, $ciphertext, $orig_pos, $i);
- $this->enbuffer['enmcrypt_init'] = true;
- }
- if ($len >= $block_size) {
- if ($this->enbuffer['enmcrypt_init'] === false || $len > $this->cfb_init_len) {
- if ($this->enbuffer['enmcrypt_init'] === true) {
- @mcrypt_generic_init($this->enmcrypt, $this->key, $iv);
- $this->enbuffer['enmcrypt_init'] = false;
- }
- $ciphertext.= @mcrypt_generic($this->enmcrypt, substr($plaintext, $i, $len - $len % $block_size));
- $iv = substr($ciphertext, -$block_size);
- $len%= $block_size;
- } else {
- while ($len >= $block_size) {
- $iv = @mcrypt_generic($this->ecb, $iv) ^ substr($plaintext, $i, $block_size);
- $ciphertext.= $iv;
- $len-= $block_size;
- $i+= $block_size;
- }
- }
- }
-
- if ($len) {
- $iv = @mcrypt_generic($this->ecb, $iv);
- $block = $iv ^ substr($plaintext, -$len);
- $iv = substr_replace($iv, $block, 0, $len);
- $ciphertext.= $block;
- $pos = $len;
- }
-
- return $ciphertext;
- }
-
- $ciphertext = @mcrypt_generic($this->enmcrypt, $plaintext);
-
- if (!$this->continuousBuffer) {
- @mcrypt_generic_init($this->enmcrypt, $this->key, $this->encryptIV);
- }
-
- return $ciphertext;
- }
-
- if ($this->changed) {
- $this->_setup();
- $this->changed = false;
- }
- if ($this->use_inline_crypt) {
- $inline = $this->inline_crypt;
- return $inline('encrypt', $this, $plaintext);
- }
-
- $buffer = &$this->enbuffer;
- $block_size = $this->block_size;
- $ciphertext = '';
- switch ($this->mode) {
- case self::MODE_ECB:
- for ($i = 0; $i < strlen($plaintext); $i+=$block_size) {
- $ciphertext.= $this->_encryptBlock(substr($plaintext, $i, $block_size));
- }
- break;
- case self::MODE_CBC:
- $xor = $this->encryptIV;
- for ($i = 0; $i < strlen($plaintext); $i+=$block_size) {
- $block = substr($plaintext, $i, $block_size);
- $block = $this->_encryptBlock($block ^ $xor);
- $xor = $block;
- $ciphertext.= $block;
- }
- if ($this->continuousBuffer) {
- $this->encryptIV = $xor;
- }
- break;
- case self::MODE_CTR:
- $xor = $this->encryptIV;
- if (strlen($buffer['ciphertext'])) {
- for ($i = 0; $i < strlen($plaintext); $i+=$block_size) {
- $block = substr($plaintext, $i, $block_size);
- if (strlen($block) > strlen($buffer['ciphertext'])) {
- $buffer['ciphertext'].= $this->_encryptBlock($xor);
- }
- $this->_increment_str($xor);
- $key = $this->_string_shift($buffer['ciphertext'], $block_size);
- $ciphertext.= $block ^ $key;
- }
- } else {
- for ($i = 0; $i < strlen($plaintext); $i+=$block_size) {
- $block = substr($plaintext, $i, $block_size);
- $key = $this->_encryptBlock($xor);
- $this->_increment_str($xor);
- $ciphertext.= $block ^ $key;
- }
- }
- if ($this->continuousBuffer) {
- $this->encryptIV = $xor;
- if ($start = strlen($plaintext) % $block_size) {
- $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext'];
- }
- }
- break;
- case self::MODE_CFB:
- // cfb loosely routines inspired by openssl's:
- // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1}
- if ($this->continuousBuffer) {
- $iv = &$this->encryptIV;
- $pos = &$buffer['pos'];
- } else {
- $iv = $this->encryptIV;
- $pos = 0;
- }
- $len = strlen($plaintext);
- $i = 0;
- if ($pos) {
- $orig_pos = $pos;
- $max = $block_size - $pos;
- if ($len >= $max) {
- $i = $max;
- $len-= $max;
- $pos = 0;
- } else {
- $i = $len;
- $pos+= $len;
- $len = 0;
- }
- // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize
- $ciphertext = substr($iv, $orig_pos) ^ $plaintext;
- $iv = substr_replace($iv, $ciphertext, $orig_pos, $i);
- }
- while ($len >= $block_size) {
- $iv = $this->_encryptBlock($iv) ^ substr($plaintext, $i, $block_size);
- $ciphertext.= $iv;
- $len-= $block_size;
- $i+= $block_size;
- }
- if ($len) {
- $iv = $this->_encryptBlock($iv);
- $block = $iv ^ substr($plaintext, $i);
- $iv = substr_replace($iv, $block, 0, $len);
- $ciphertext.= $block;
- $pos = $len;
- }
- break;
- case self::MODE_CFB8:
- $ciphertext = '';
- $len = strlen($plaintext);
- $iv = $this->encryptIV;
-
- for ($i = 0; $i < $len; ++$i) {
- $ciphertext .= ($c = $plaintext[$i] ^ $this->_encryptBlock($iv));
- $iv = substr($iv, 1) . $c;
- }
-
- if ($this->continuousBuffer) {
- if ($len >= $block_size) {
- $this->encryptIV = substr($ciphertext, -$block_size);
- } else {
- $this->encryptIV = substr($this->encryptIV, $len - $block_size) . substr($ciphertext, -$len);
- }
- }
- break;
- case self::MODE_OFB:
- $xor = $this->encryptIV;
- if (strlen($buffer['xor'])) {
- for ($i = 0; $i < strlen($plaintext); $i+=$block_size) {
- $block = substr($plaintext, $i, $block_size);
- if (strlen($block) > strlen($buffer['xor'])) {
- $xor = $this->_encryptBlock($xor);
- $buffer['xor'].= $xor;
- }
- $key = $this->_string_shift($buffer['xor'], $block_size);
- $ciphertext.= $block ^ $key;
- }
- } else {
- for ($i = 0; $i < strlen($plaintext); $i+=$block_size) {
- $xor = $this->_encryptBlock($xor);
- $ciphertext.= substr($plaintext, $i, $block_size) ^ $xor;
- }
- $key = $xor;
- }
- if ($this->continuousBuffer) {
- $this->encryptIV = $xor;
- if ($start = strlen($plaintext) % $block_size) {
- $buffer['xor'] = substr($key, $start) . $buffer['xor'];
- }
- }
- break;
- case self::MODE_STREAM:
- $ciphertext = $this->_encryptBlock($plaintext);
- break;
- }
-
- return $ciphertext;
- }
-
- /**
- * Decrypts a message.
- *
- * If strlen($ciphertext) is not a multiple of the block size, null bytes will be added to the end of the string until
- * it is.
- *
- * @see self::encrypt()
- * @access public
- * @param string $ciphertext
- * @return string $plaintext
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function decrypt($ciphertext)
- {
- if ($this->paddable) {
- // we pad with chr(0) since that's what mcrypt_generic does. to quote from {@link http://www.php.net/function.mcrypt-generic}:
- // "The data is padded with "\0" to make sure the length of the data is n * blocksize."
- $ciphertext = str_pad($ciphertext, strlen($ciphertext) + ($this->block_size - strlen($ciphertext) % $this->block_size) % $this->block_size, chr(0));
- }
-
- if ($this->engine === self::ENGINE_OPENSSL) {
- if ($this->changed) {
- $this->_clearBuffers();
- $this->changed = false;
- }
- switch ($this->mode) {
- case self::MODE_STREAM:
- $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options);
- break;
- case self::MODE_ECB:
- if (!defined('OPENSSL_RAW_DATA')) {
- $ciphertext.= @openssl_encrypt('', $this->cipher_name_openssl_ecb, $this->key, true);
- }
- $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options);
- break;
- case self::MODE_CBC:
- if (!defined('OPENSSL_RAW_DATA')) {
- $padding = str_repeat(chr($this->block_size), $this->block_size) ^ substr($ciphertext, -$this->block_size);
- $ciphertext.= substr(@openssl_encrypt($padding, $this->cipher_name_openssl_ecb, $this->key, true), 0, $this->block_size);
- $offset = 2 * $this->block_size;
- } else {
- $offset = $this->block_size;
- }
- $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->decryptIV);
- if ($this->continuousBuffer) {
- $this->decryptIV = substr($ciphertext, -$offset, $this->block_size);
- }
- break;
- case self::MODE_CTR:
- $plaintext = $this->_openssl_ctr_process($ciphertext, $this->decryptIV, $this->debuffer);
- break;
- case self::MODE_CFB:
- // cfb loosely routines inspired by openssl's:
- // {@link http://cvs.openssl.org/fileview?f=openssl/crypto/modes/cfb128.c&v=1.3.2.2.2.1}
- $plaintext = '';
- if ($this->continuousBuffer) {
- $iv = &$this->decryptIV;
- $pos = &$this->buffer['pos'];
- } else {
- $iv = $this->decryptIV;
- $pos = 0;
- }
- $len = strlen($ciphertext);
- $i = 0;
- if ($pos) {
- $orig_pos = $pos;
- $max = $this->block_size - $pos;
- if ($len >= $max) {
- $i = $max;
- $len-= $max;
- $pos = 0;
- } else {
- $i = $len;
- $pos+= $len;
- $len = 0;
- }
- // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $this->blocksize
- $plaintext = substr($iv, $orig_pos) ^ $ciphertext;
- $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i);
- $ciphertext = substr($ciphertext, $i);
- }
- $overflow = $len % $this->block_size;
- if ($overflow) {
- $plaintext.= openssl_decrypt(substr($ciphertext, 0, -$overflow), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv);
- if ($len - $overflow) {
- $iv = substr($ciphertext, -$overflow - $this->block_size, -$overflow);
- }
- $iv = openssl_encrypt(str_repeat("\0", $this->block_size), $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv);
- $plaintext.= $iv ^ substr($ciphertext, -$overflow);
- $iv = substr_replace($iv, substr($ciphertext, -$overflow), 0, $overflow);
- $pos = $overflow;
- } elseif ($len) {
- $plaintext.= openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $iv);
- $iv = substr($ciphertext, -$this->block_size);
- }
- break;
- case self::MODE_CFB8:
- $plaintext = openssl_decrypt($ciphertext, $this->cipher_name_openssl, $this->key, $this->openssl_options, $this->decryptIV);
- if ($this->continuousBuffer) {
- if (($len = strlen($ciphertext)) >= $this->block_size) {
- $this->decryptIV = substr($ciphertext, -$this->block_size);
- } else {
- $this->decryptIV = substr($this->decryptIV, $len - $this->block_size) . substr($ciphertext, -$len);
- }
- }
- break;
- case self::MODE_OFB:
- $plaintext = $this->_openssl_ofb_process($ciphertext, $this->decryptIV, $this->debuffer);
- }
-
- return $this->paddable ? $this->_unpad($plaintext) : $plaintext;
- }
-
- if ($this->engine === self::ENGINE_MCRYPT) {
- $block_size = $this->block_size;
- if ($this->changed) {
- $this->_setupMcrypt();
- $this->changed = false;
- }
- if ($this->dechanged) {
- @mcrypt_generic_init($this->demcrypt, $this->key, $this->decryptIV);
- $this->dechanged = false;
- }
-
- if ($this->mode == self::MODE_CFB && $this->continuousBuffer) {
- $iv = &$this->decryptIV;
- $pos = &$this->debuffer['pos'];
- $len = strlen($ciphertext);
- $plaintext = '';
- $i = 0;
- if ($pos) {
- $orig_pos = $pos;
- $max = $block_size - $pos;
- if ($len >= $max) {
- $i = $max;
- $len-= $max;
- $pos = 0;
- } else {
- $i = $len;
- $pos+= $len;
- $len = 0;
- }
- // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize
- $plaintext = substr($iv, $orig_pos) ^ $ciphertext;
- $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i);
- }
- if ($len >= $block_size) {
- $cb = substr($ciphertext, $i, $len - $len % $block_size);
- $plaintext.= @mcrypt_generic($this->ecb, $iv . $cb) ^ $cb;
- $iv = substr($cb, -$block_size);
- $len%= $block_size;
- }
- if ($len) {
- $iv = @mcrypt_generic($this->ecb, $iv);
- $plaintext.= $iv ^ substr($ciphertext, -$len);
- $iv = substr_replace($iv, substr($ciphertext, -$len), 0, $len);
- $pos = $len;
- }
-
- return $plaintext;
- }
-
- $plaintext = @mdecrypt_generic($this->demcrypt, $ciphertext);
-
- if (!$this->continuousBuffer) {
- @mcrypt_generic_init($this->demcrypt, $this->key, $this->decryptIV);
- }
-
- return $this->paddable ? $this->_unpad($plaintext) : $plaintext;
- }
-
- if ($this->changed) {
- $this->_setup();
- $this->changed = false;
- }
- if ($this->use_inline_crypt) {
- $inline = $this->inline_crypt;
- return $inline('decrypt', $this, $ciphertext);
- }
-
- $block_size = $this->block_size;
-
- $buffer = &$this->debuffer;
- $plaintext = '';
- switch ($this->mode) {
- case self::MODE_ECB:
- for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) {
- $plaintext.= $this->_decryptBlock(substr($ciphertext, $i, $block_size));
- }
- break;
- case self::MODE_CBC:
- $xor = $this->decryptIV;
- for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) {
- $block = substr($ciphertext, $i, $block_size);
- $plaintext.= $this->_decryptBlock($block) ^ $xor;
- $xor = $block;
- }
- if ($this->continuousBuffer) {
- $this->decryptIV = $xor;
- }
- break;
- case self::MODE_CTR:
- $xor = $this->decryptIV;
- if (strlen($buffer['ciphertext'])) {
- for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) {
- $block = substr($ciphertext, $i, $block_size);
- if (strlen($block) > strlen($buffer['ciphertext'])) {
- $buffer['ciphertext'].= $this->_encryptBlock($xor);
- $this->_increment_str($xor);
- }
- $key = $this->_string_shift($buffer['ciphertext'], $block_size);
- $plaintext.= $block ^ $key;
- }
- } else {
- for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) {
- $block = substr($ciphertext, $i, $block_size);
- $key = $this->_encryptBlock($xor);
- $this->_increment_str($xor);
- $plaintext.= $block ^ $key;
- }
- }
- if ($this->continuousBuffer) {
- $this->decryptIV = $xor;
- if ($start = strlen($ciphertext) % $block_size) {
- $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext'];
- }
- }
- break;
- case self::MODE_CFB:
- if ($this->continuousBuffer) {
- $iv = &$this->decryptIV;
- $pos = &$buffer['pos'];
- } else {
- $iv = $this->decryptIV;
- $pos = 0;
- }
- $len = strlen($ciphertext);
- $i = 0;
- if ($pos) {
- $orig_pos = $pos;
- $max = $block_size - $pos;
- if ($len >= $max) {
- $i = $max;
- $len-= $max;
- $pos = 0;
- } else {
- $i = $len;
- $pos+= $len;
- $len = 0;
- }
- // ie. $i = min($max, $len), $len-= $i, $pos+= $i, $pos%= $blocksize
- $plaintext = substr($iv, $orig_pos) ^ $ciphertext;
- $iv = substr_replace($iv, substr($ciphertext, 0, $i), $orig_pos, $i);
- }
- while ($len >= $block_size) {
- $iv = $this->_encryptBlock($iv);
- $cb = substr($ciphertext, $i, $block_size);
- $plaintext.= $iv ^ $cb;
- $iv = $cb;
- $len-= $block_size;
- $i+= $block_size;
- }
- if ($len) {
- $iv = $this->_encryptBlock($iv);
- $plaintext.= $iv ^ substr($ciphertext, $i);
- $iv = substr_replace($iv, substr($ciphertext, $i), 0, $len);
- $pos = $len;
- }
- break;
- case self::MODE_CFB8:
- $plaintext = '';
- $len = strlen($ciphertext);
- $iv = $this->decryptIV;
-
- for ($i = 0; $i < $len; ++$i) {
- $plaintext .= $ciphertext[$i] ^ $this->_encryptBlock($iv);
- $iv = substr($iv, 1) . $ciphertext[$i];
- }
-
- if ($this->continuousBuffer) {
- if ($len >= $block_size) {
- $this->decryptIV = substr($ciphertext, -$block_size);
- } else {
- $this->decryptIV = substr($this->decryptIV, $len - $block_size) . substr($ciphertext, -$len);
- }
- }
- break;
- case self::MODE_OFB:
- $xor = $this->decryptIV;
- if (strlen($buffer['xor'])) {
- for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) {
- $block = substr($ciphertext, $i, $block_size);
- if (strlen($block) > strlen($buffer['xor'])) {
- $xor = $this->_encryptBlock($xor);
- $buffer['xor'].= $xor;
- }
- $key = $this->_string_shift($buffer['xor'], $block_size);
- $plaintext.= $block ^ $key;
- }
- } else {
- for ($i = 0; $i < strlen($ciphertext); $i+=$block_size) {
- $xor = $this->_encryptBlock($xor);
- $plaintext.= substr($ciphertext, $i, $block_size) ^ $xor;
- }
- $key = $xor;
- }
- if ($this->continuousBuffer) {
- $this->decryptIV = $xor;
- if ($start = strlen($ciphertext) % $block_size) {
- $buffer['xor'] = substr($key, $start) . $buffer['xor'];
- }
- }
- break;
- case self::MODE_STREAM:
- $plaintext = $this->_decryptBlock($ciphertext);
- break;
- }
- return $this->paddable ? $this->_unpad($plaintext) : $plaintext;
- }
-
- /**
- * OpenSSL CTR Processor
- *
- * PHP's OpenSSL bindings do not operate in continuous mode so we'll wrap around it. Since the keystream
- * for CTR is the same for both encrypting and decrypting this function is re-used by both Base::encrypt()
- * and Base::decrypt(). Also, OpenSSL doesn't implement CTR for all of it's symmetric ciphers so this
- * function will emulate CTR with ECB when necessary.
- *
- * @see self::encrypt()
- * @see self::decrypt()
- * @param string $plaintext
- * @param string $encryptIV
- * @param array $buffer
- * @return string
- * @access private
- */
- function _openssl_ctr_process($plaintext, &$encryptIV, &$buffer)
- {
- $ciphertext = '';
-
- $block_size = $this->block_size;
- $key = $this->key;
-
- if ($this->openssl_emulate_ctr) {
- $xor = $encryptIV;
- if (strlen($buffer['ciphertext'])) {
- for ($i = 0; $i < strlen($plaintext); $i+=$block_size) {
- $block = substr($plaintext, $i, $block_size);
- if (strlen($block) > strlen($buffer['ciphertext'])) {
- $result = @openssl_encrypt($xor, $this->cipher_name_openssl_ecb, $key, $this->openssl_options);
- $result = !defined('OPENSSL_RAW_DATA') ? substr($result, 0, -$this->block_size) : $result;
- $buffer['ciphertext'].= $result;
- }
- $this->_increment_str($xor);
- $otp = $this->_string_shift($buffer['ciphertext'], $block_size);
- $ciphertext.= $block ^ $otp;
- }
- } else {
- for ($i = 0; $i < strlen($plaintext); $i+=$block_size) {
- $block = substr($plaintext, $i, $block_size);
- $otp = @openssl_encrypt($xor, $this->cipher_name_openssl_ecb, $key, $this->openssl_options);
- $otp = !defined('OPENSSL_RAW_DATA') ? substr($otp, 0, -$this->block_size) : $otp;
- $this->_increment_str($xor);
- $ciphertext.= $block ^ $otp;
- }
- }
- if ($this->continuousBuffer) {
- $encryptIV = $xor;
- if ($start = strlen($plaintext) % $block_size) {
- $buffer['ciphertext'] = substr($key, $start) . $buffer['ciphertext'];
- }
- }
-
- return $ciphertext;
- }
-
- if (strlen($buffer['ciphertext'])) {
- $ciphertext = $plaintext ^ $this->_string_shift($buffer['ciphertext'], strlen($plaintext));
- $plaintext = substr($plaintext, strlen($ciphertext));
-
- if (!strlen($plaintext)) {
- return $ciphertext;
- }
- }
-
- $overflow = strlen($plaintext) % $block_size;
- if ($overflow) {
- $plaintext2 = $this->_string_pop($plaintext, $overflow); // ie. trim $plaintext to a multiple of $block_size and put rest of $plaintext in $plaintext2
- $encrypted = openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV);
- $temp = $this->_string_pop($encrypted, $block_size);
- $ciphertext.= $encrypted . ($plaintext2 ^ $temp);
- if ($this->continuousBuffer) {
- $buffer['ciphertext'] = substr($temp, $overflow);
- $encryptIV = $temp;
- }
- } elseif (!strlen($buffer['ciphertext'])) {
- $ciphertext.= openssl_encrypt($plaintext . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV);
- $temp = $this->_string_pop($ciphertext, $block_size);
- if ($this->continuousBuffer) {
- $encryptIV = $temp;
- }
- }
- if ($this->continuousBuffer) {
- if (!defined('OPENSSL_RAW_DATA')) {
- $encryptIV.= @openssl_encrypt('', $this->cipher_name_openssl_ecb, $key, $this->openssl_options);
- }
- $encryptIV = openssl_decrypt($encryptIV, $this->cipher_name_openssl_ecb, $key, $this->openssl_options);
- if ($overflow) {
- $this->_increment_str($encryptIV);
- }
- }
-
- return $ciphertext;
- }
-
- /**
- * OpenSSL OFB Processor
- *
- * PHP's OpenSSL bindings do not operate in continuous mode so we'll wrap around it. Since the keystream
- * for OFB is the same for both encrypting and decrypting this function is re-used by both Base::encrypt()
- * and Base::decrypt().
- *
- * @see self::encrypt()
- * @see self::decrypt()
- * @param string $plaintext
- * @param string $encryptIV
- * @param array $buffer
- * @return string
- * @access private
- */
- function _openssl_ofb_process($plaintext, &$encryptIV, &$buffer)
- {
- if (strlen($buffer['xor'])) {
- $ciphertext = $plaintext ^ $buffer['xor'];
- $buffer['xor'] = substr($buffer['xor'], strlen($ciphertext));
- $plaintext = substr($plaintext, strlen($ciphertext));
- } else {
- $ciphertext = '';
- }
-
- $block_size = $this->block_size;
-
- $len = strlen($plaintext);
- $key = $this->key;
- $overflow = $len % $block_size;
-
- if (strlen($plaintext)) {
- if ($overflow) {
- $ciphertext.= openssl_encrypt(substr($plaintext, 0, -$overflow) . str_repeat("\0", $block_size), $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV);
- $xor = $this->_string_pop($ciphertext, $block_size);
- if ($this->continuousBuffer) {
- $encryptIV = $xor;
- }
- $ciphertext.= $this->_string_shift($xor, $overflow) ^ substr($plaintext, -$overflow);
- if ($this->continuousBuffer) {
- $buffer['xor'] = $xor;
- }
- } else {
- $ciphertext = openssl_encrypt($plaintext, $this->cipher_name_openssl, $key, $this->openssl_options, $encryptIV);
- if ($this->continuousBuffer) {
- $encryptIV = substr($ciphertext, -$block_size) ^ substr($plaintext, -$block_size);
- }
- }
- }
-
- return $ciphertext;
- }
-
- /**
- * phpseclib <-> OpenSSL Mode Mapper
- *
- * May need to be overwritten by classes extending this one in some cases
- *
- * @return int
- * @access private
- */
- function _openssl_translate_mode()
- {
- switch ($this->mode) {
- case self::MODE_ECB:
- return 'ecb';
- case self::MODE_CBC:
- return 'cbc';
- case self::MODE_CTR:
- return 'ctr';
- case self::MODE_CFB:
- return 'cfb';
- case self::MODE_CFB8:
- return 'cfb8';
- case self::MODE_OFB:
- return 'ofb';
- }
- }
-
- /**
- * Pad "packets".
- *
- * Block ciphers working by encrypting between their specified [$this->]block_size at a time
- * If you ever need to encrypt or decrypt something that isn't of the proper length, it becomes necessary to
- * pad the input so that it is of the proper length.
- *
- * Padding is enabled by default. Sometimes, however, it is undesirable to pad strings. Such is the case in SSH,
- * where "packets" are padded with random bytes before being encrypted. Unpad these packets and you risk stripping
- * away characters that shouldn't be stripped away. (SSH knows how many bytes are added because the length is
- * transmitted separately)
- *
- * @see self::disablePadding()
- * @access public
- */
- function enablePadding()
- {
- $this->padding = true;
- }
-
- /**
- * Do not pad packets.
- *
- * @see self::enablePadding()
- * @access public
- */
- function disablePadding()
- {
- $this->padding = false;
- }
-
- /**
- * Treat consecutive "packets" as if they are a continuous buffer.
- *
- * Say you have a 32-byte plaintext $plaintext. Using the default behavior, the two following code snippets
- * will yield different outputs:
- *
- *
- * echo $rijndael->encrypt(substr($plaintext, 0, 16));
- * echo $rijndael->encrypt(substr($plaintext, 16, 16));
- *
- *
- * echo $rijndael->encrypt($plaintext);
- *
- *
- * The solution is to enable the continuous buffer. Although this will resolve the above discrepancy, it creates
- * another, as demonstrated with the following:
- *
- *
- * $rijndael->encrypt(substr($plaintext, 0, 16));
- * echo $rijndael->decrypt($rijndael->encrypt(substr($plaintext, 16, 16)));
- *
- *
- * echo $rijndael->decrypt($rijndael->encrypt(substr($plaintext, 16, 16)));
- *
- *
- * With the continuous buffer disabled, these would yield the same output. With it enabled, they yield different
- * outputs. The reason is due to the fact that the initialization vector's change after every encryption /
- * decryption round when the continuous buffer is enabled. When it's disabled, they remain constant.
- *
- * Put another way, when the continuous buffer is enabled, the state of the \phpseclib\Crypt\*() object changes after each
- * encryption / decryption round, whereas otherwise, it'd remain constant. For this reason, it's recommended that
- * continuous buffers not be used. They do offer better security and are, in fact, sometimes required (SSH uses them),
- * however, they are also less intuitive and more likely to cause you problems.
- *
- * @see self::disableContinuousBuffer()
- * @access public
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function enableContinuousBuffer()
- {
- if ($this->mode == self::MODE_ECB) {
- return;
- }
-
- $this->continuousBuffer = true;
-
- $this->_setEngine();
- }
-
- /**
- * Treat consecutive packets as if they are a discontinuous buffer.
- *
- * The default behavior.
- *
- * @see self::enableContinuousBuffer()
- * @access public
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function disableContinuousBuffer()
- {
- if ($this->mode == self::MODE_ECB) {
- return;
- }
- if (!$this->continuousBuffer) {
- return;
- }
-
- $this->continuousBuffer = false;
- $this->changed = true;
-
- $this->_setEngine();
- }
-
- /**
- * Test for engine validity
- *
- * @see self::__construct()
- * @param int $engine
- * @access public
- * @return bool
- */
- function isValidEngine($engine)
- {
- switch ($engine) {
- case self::ENGINE_OPENSSL:
- if ($this->mode == self::MODE_STREAM && $this->continuousBuffer) {
- return false;
- }
- $this->openssl_emulate_ctr = false;
- $result = $this->cipher_name_openssl &&
- extension_loaded('openssl') &&
- // PHP 5.3.0 - 5.3.2 did not let you set IV's
- version_compare(PHP_VERSION, '5.3.3', '>=');
- if (!$result) {
- return false;
- }
-
- // prior to PHP 5.4.0 OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING were not defined. instead of expecting an integer
- // $options openssl_encrypt expected a boolean $raw_data.
- if (!defined('OPENSSL_RAW_DATA')) {
- $this->openssl_options = true;
- } else {
- $this->openssl_options = OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING;
- }
-
- $methods = openssl_get_cipher_methods();
- if (in_array($this->cipher_name_openssl, $methods)) {
- return true;
- }
- // not all of openssl's symmetric cipher's support ctr. for those
- // that don't we'll emulate it
- switch ($this->mode) {
- case self::MODE_CTR:
- if (in_array($this->cipher_name_openssl_ecb, $methods)) {
- $this->openssl_emulate_ctr = true;
- return true;
- }
- }
- return false;
- case self::ENGINE_MCRYPT:
- return $this->cipher_name_mcrypt &&
- extension_loaded('mcrypt') &&
- in_array($this->cipher_name_mcrypt, @mcrypt_list_algorithms());
- case self::ENGINE_INTERNAL:
- return true;
- }
-
- return false;
- }
-
- /**
- * Sets the preferred crypt engine
- *
- * Currently, $engine could be:
- *
- * - \phpseclib\Crypt\Base::ENGINE_OPENSSL [very fast]
- *
- * - \phpseclib\Crypt\Base::ENGINE_MCRYPT [fast]
- *
- * - \phpseclib\Crypt\Base::ENGINE_INTERNAL [slow]
- *
- * If the preferred crypt engine is not available the fastest available one will be used
- *
- * @see self::__construct()
- * @param int $engine
- * @access public
- */
- function setPreferredEngine($engine)
- {
- switch ($engine) {
- //case self::ENGINE_OPENSSL;
- case self::ENGINE_MCRYPT:
- case self::ENGINE_INTERNAL:
- $this->preferredEngine = $engine;
- break;
- default:
- $this->preferredEngine = self::ENGINE_OPENSSL;
- }
-
- $this->_setEngine();
- }
-
- /**
- * Returns the engine currently being utilized
- *
- * @see self::_setEngine()
- * @access public
- */
- function getEngine()
- {
- return $this->engine;
- }
-
- /**
- * Sets the engine as appropriate
- *
- * @see self::__construct()
- * @access private
- */
- function _setEngine()
- {
- $this->engine = null;
-
- $candidateEngines = array(
- $this->preferredEngine,
- self::ENGINE_OPENSSL,
- self::ENGINE_MCRYPT
- );
- foreach ($candidateEngines as $engine) {
- if ($this->isValidEngine($engine)) {
- $this->engine = $engine;
- break;
- }
- }
- if (!$this->engine) {
- $this->engine = self::ENGINE_INTERNAL;
- }
-
- if ($this->engine != self::ENGINE_MCRYPT && $this->enmcrypt) {
- // Closing the current mcrypt resource(s). _mcryptSetup() will, if needed,
- // (re)open them with the module named in $this->cipher_name_mcrypt
- @mcrypt_module_close($this->enmcrypt);
- @mcrypt_module_close($this->demcrypt);
- $this->enmcrypt = null;
- $this->demcrypt = null;
-
- if ($this->ecb) {
- @mcrypt_module_close($this->ecb);
- $this->ecb = null;
- }
- }
-
- $this->changed = true;
- }
-
- /**
- * Encrypts a block
- *
- * Note: Must be extended by the child \phpseclib\Crypt\* class
- *
- * @access private
- * @param string $in
- * @return string
- */
- abstract function _encryptBlock($in);
-
- /**
- * Decrypts a block
- *
- * Note: Must be extended by the child \phpseclib\Crypt\* class
- *
- * @access private
- * @param string $in
- * @return string
- */
- abstract function _decryptBlock($in);
-
- /**
- * Setup the key (expansion)
- *
- * Only used if $engine == self::ENGINE_INTERNAL
- *
- * Note: Must extend by the child \phpseclib\Crypt\* class
- *
- * @see self::_setup()
- * @access private
- */
- abstract function _setupKey();
-
- /**
- * Setup the self::ENGINE_INTERNAL $engine
- *
- * (re)init, if necessary, the internal cipher $engine and flush all $buffers
- * Used (only) if $engine == self::ENGINE_INTERNAL
- *
- * _setup() will be called each time if $changed === true
- * typically this happens when using one or more of following public methods:
- *
- * - setKey()
- *
- * - setIV()
- *
- * - disableContinuousBuffer()
- *
- * - First run of encrypt() / decrypt() with no init-settings
- *
- * @see self::setKey()
- * @see self::setIV()
- * @see self::disableContinuousBuffer()
- * @access private
- * @internal _setup() is always called before en/decryption.
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function _setup()
- {
- $this->_clearBuffers();
- $this->_setupKey();
-
- if ($this->use_inline_crypt) {
- $this->_setupInlineCrypt();
- }
- }
-
- /**
- * Setup the self::ENGINE_MCRYPT $engine
- *
- * (re)init, if necessary, the (ext)mcrypt resources and flush all $buffers
- * Used (only) if $engine = self::ENGINE_MCRYPT
- *
- * _setupMcrypt() will be called each time if $changed === true
- * typically this happens when using one or more of following public methods:
- *
- * - setKey()
- *
- * - setIV()
- *
- * - disableContinuousBuffer()
- *
- * - First run of encrypt() / decrypt()
- *
- * @see self::setKey()
- * @see self::setIV()
- * @see self::disableContinuousBuffer()
- * @access private
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function _setupMcrypt()
- {
- $this->_clearBuffers();
- $this->enchanged = $this->dechanged = true;
-
- if (!isset($this->enmcrypt)) {
- static $mcrypt_modes = array(
- self::MODE_CTR => 'ctr',
- self::MODE_ECB => MCRYPT_MODE_ECB,
- self::MODE_CBC => MCRYPT_MODE_CBC,
- self::MODE_CFB => 'ncfb',
- self::MODE_CFB8 => MCRYPT_MODE_CFB,
- self::MODE_OFB => MCRYPT_MODE_NOFB,
- self::MODE_STREAM => MCRYPT_MODE_STREAM,
- );
-
- $this->demcrypt = @mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], '');
- $this->enmcrypt = @mcrypt_module_open($this->cipher_name_mcrypt, '', $mcrypt_modes[$this->mode], '');
-
- // we need the $ecb mcrypt resource (only) in MODE_CFB with enableContinuousBuffer()
- // to workaround mcrypt's broken ncfb implementation in buffered mode
- // see: {@link http://phpseclib.sourceforge.net/cfb-demo.phps}
- if ($this->mode == self::MODE_CFB) {
- $this->ecb = @mcrypt_module_open($this->cipher_name_mcrypt, '', MCRYPT_MODE_ECB, '');
- }
- } // else should mcrypt_generic_deinit be called?
-
- if ($this->mode == self::MODE_CFB) {
- @mcrypt_generic_init($this->ecb, $this->key, str_repeat("\0", $this->block_size));
- }
- }
-
- /**
- * Pads a string
- *
- * Pads a string using the RSA PKCS padding standards so that its length is a multiple of the blocksize.
- * $this->block_size - (strlen($text) % $this->block_size) bytes are added, each of which is equal to
- * chr($this->block_size - (strlen($text) % $this->block_size)
- *
- * If padding is disabled and $text is not a multiple of the blocksize, the string will be padded regardless
- * and padding will, hence forth, be enabled.
- *
- * @see self::_unpad()
- * @param string $text
- * @access private
- * @return string
- */
- function _pad($text)
- {
- $length = strlen($text);
-
- if (!$this->padding) {
- if ($length % $this->block_size == 0) {
- return $text;
- } else {
- user_error("The plaintext's length ($length) is not a multiple of the block size ({$this->block_size})");
- $this->padding = true;
- }
- }
-
- $pad = $this->block_size - ($length % $this->block_size);
-
- return str_pad($text, $length + $pad, chr($pad));
- }
-
- /**
- * Unpads a string.
- *
- * If padding is enabled and the reported padding length is invalid the encryption key will be assumed to be wrong
- * and false will be returned.
- *
- * @see self::_pad()
- * @param string $text
- * @access private
- * @return string
- */
- function _unpad($text)
- {
- if (!$this->padding) {
- return $text;
- }
-
- $length = ord($text[strlen($text) - 1]);
-
- if (!$length || $length > $this->block_size) {
- return false;
- }
-
- return substr($text, 0, -$length);
- }
-
- /**
- * Clears internal buffers
- *
- * Clearing/resetting the internal buffers is done everytime
- * after disableContinuousBuffer() or on cipher $engine (re)init
- * ie after setKey() or setIV()
- *
- * @access public
- * @internal Could, but not must, extend by the child Crypt_* class
- */
- function _clearBuffers()
- {
- $this->enbuffer = $this->debuffer = array('ciphertext' => '', 'xor' => '', 'pos' => 0, 'enmcrypt_init' => true);
-
- // mcrypt's handling of invalid's $iv:
- // $this->encryptIV = $this->decryptIV = strlen($this->iv) == $this->block_size ? $this->iv : str_repeat("\0", $this->block_size);
- $this->encryptIV = $this->decryptIV = str_pad(substr($this->iv, 0, $this->block_size), $this->block_size, "\0");
-
- if (!$this->skip_key_adjustment) {
- $this->key = str_pad(substr($this->key, 0, $this->key_length), $this->key_length, "\0");
- }
- }
-
- /**
- * String Shift
- *
- * Inspired by array_shift
- *
- * @param string $string
- * @param int $index
- * @access private
- * @return string
- */
- function _string_shift(&$string, $index = 1)
- {
- $substr = substr($string, 0, $index);
- $string = substr($string, $index);
- return $substr;
- }
-
- /**
- * String Pop
- *
- * Inspired by array_pop
- *
- * @param string $string
- * @param int $index
- * @access private
- * @return string
- */
- function _string_pop(&$string, $index = 1)
- {
- $substr = substr($string, -$index);
- $string = substr($string, 0, -$index);
- return $substr;
- }
-
- /**
- * Increment the current string
- *
- * @see self::decrypt()
- * @see self::encrypt()
- * @param string $var
- * @access private
- */
- function _increment_str(&$var)
- {
- for ($i = 4; $i <= strlen($var); $i+= 4) {
- $temp = substr($var, -$i, 4);
- switch ($temp) {
- case "\xFF\xFF\xFF\xFF":
- $var = substr_replace($var, "\x00\x00\x00\x00", -$i, 4);
- break;
- case "\x7F\xFF\xFF\xFF":
- $var = substr_replace($var, "\x80\x00\x00\x00", -$i, 4);
- return;
- default:
- $temp = unpack('Nnum', $temp);
- $var = substr_replace($var, pack('N', $temp['num'] + 1), -$i, 4);
- return;
- }
- }
-
- $remainder = strlen($var) % 4;
-
- if ($remainder == 0) {
- return;
- }
-
- $temp = unpack('Nnum', str_pad(substr($var, 0, $remainder), 4, "\0", STR_PAD_LEFT));
- $temp = substr(pack('N', $temp['num'] + 1), -$remainder);
- $var = substr_replace($var, $temp, 0, $remainder);
- }
-
- /**
- * Setup the performance-optimized function for de/encrypt()
- *
- * Stores the created (or existing) callback function-name
- * in $this->inline_crypt
- *
- * Internally for phpseclib developers:
- *
- * _setupInlineCrypt() would be called only if:
- *
- * - $engine == self::ENGINE_INTERNAL and
- *
- * - $use_inline_crypt === true
- *
- * - each time on _setup(), after(!) _setupKey()
- *
- *
- * This ensures that _setupInlineCrypt() has always a
- * full ready2go initializated internal cipher $engine state
- * where, for example, the keys allready expanded,
- * keys/block_size calculated and such.
- *
- * It is, each time if called, the responsibility of _setupInlineCrypt():
- *
- * - to set $this->inline_crypt to a valid and fully working callback function
- * as a (faster) replacement for encrypt() / decrypt()
- *
- * - NOT to create unlimited callback functions (for memory reasons!)
- * no matter how often _setupInlineCrypt() would be called. At some
- * point of amount they must be generic re-useable.
- *
- * - the code of _setupInlineCrypt() it self,
- * and the generated callback code,
- * must be, in following order:
- * - 100% safe
- * - 100% compatible to encrypt()/decrypt()
- * - using only php5+ features/lang-constructs/php-extensions if
- * compatibility (down to php4) or fallback is provided
- * - readable/maintainable/understandable/commented and... not-cryptic-styled-code :-)
- * - >= 10% faster than encrypt()/decrypt() [which is, by the way,
- * the reason for the existence of _setupInlineCrypt() :-)]
- * - memory-nice
- * - short (as good as possible)
- *
- * Note: - _setupInlineCrypt() is using _createInlineCryptFunction() to create the full callback function code.
- * - In case of using inline crypting, _setupInlineCrypt() must extend by the child \phpseclib\Crypt\* class.
- * - The following variable names are reserved:
- * - $_* (all variable names prefixed with an underscore)
- * - $self (object reference to it self. Do not use $this, but $self instead)
- * - $in (the content of $in has to en/decrypt by the generated code)
- * - The callback function should not use the 'return' statement, but en/decrypt'ing the content of $in only
- *
- *
- * @see self::_setup()
- * @see self::_createInlineCryptFunction()
- * @see self::encrypt()
- * @see self::decrypt()
- * @access private
- * @internal If a Crypt_* class providing inline crypting it must extend _setupInlineCrypt()
- */
- function _setupInlineCrypt()
- {
- // If, for any reason, an extending \phpseclib\Crypt\Base() \phpseclib\Crypt\* class
- // not using inline crypting then it must be ensured that: $this->use_inline_crypt = false
- // ie in the class var declaration of $use_inline_crypt in general for the \phpseclib\Crypt\* class,
- // in the constructor at object instance-time
- // or, if it's runtime-specific, at runtime
-
- $this->use_inline_crypt = false;
- }
-
- /**
- * Creates the performance-optimized function for en/decrypt()
- *
- * Internally for phpseclib developers:
- *
- * _createInlineCryptFunction():
- *
- * - merge the $cipher_code [setup'ed by _setupInlineCrypt()]
- * with the current [$this->]mode of operation code
- *
- * - create the $inline function, which called by encrypt() / decrypt()
- * as its replacement to speed up the en/decryption operations.
- *
- * - return the name of the created $inline callback function
- *
- * - used to speed up en/decryption
- *
- *
- *
- * The main reason why can speed up things [up to 50%] this way are:
- *
- * - using variables more effective then regular.
- * (ie no use of expensive arrays but integers $k_0, $k_1 ...
- * or even, for example, the pure $key[] values hardcoded)
- *
- * - avoiding 1000's of function calls of ie _encryptBlock()
- * but inlining the crypt operations.
- * in the mode of operation for() loop.
- *
- * - full loop unroll the (sometimes key-dependent) rounds
- * avoiding this way ++$i counters and runtime-if's etc...
- *
- * The basic code architectur of the generated $inline en/decrypt()
- * lambda function, in pseudo php, is:
- *
- *
- * +----------------------------------------------------------------------------------------------+
- * | callback $inline = create_function: |
- * | lambda_function_0001_crypt_ECB($action, $text) |
- * | { |
- * | INSERT PHP CODE OF: |
- * | $cipher_code['init_crypt']; // general init code. |
- * | // ie: $sbox'es declarations used for |
- * | // encrypt and decrypt'ing. |
- * | |
- * | switch ($action) { |
- * | case 'encrypt': |
- * | INSERT PHP CODE OF: |
- * | $cipher_code['init_encrypt']; // encrypt sepcific init code. |
- * | ie: specified $key or $box |
- * | declarations for encrypt'ing. |
- * | |
- * | foreach ($ciphertext) { |
- * | $in = $block_size of $ciphertext; |
- * | |
- * | INSERT PHP CODE OF: |
- * | $cipher_code['encrypt_block']; // encrypt's (string) $in, which is always: |
- * | // strlen($in) == $this->block_size |
- * | // here comes the cipher algorithm in action |
- * | // for encryption. |
- * | // $cipher_code['encrypt_block'] has to |
- * | // encrypt the content of the $in variable |
- * | |
- * | $plaintext .= $in; |
- * | } |
- * | return $plaintext; |
- * | |
- * | case 'decrypt': |
- * | INSERT PHP CODE OF: |
- * | $cipher_code['init_decrypt']; // decrypt sepcific init code |
- * | ie: specified $key or $box |
- * | declarations for decrypt'ing. |
- * | foreach ($plaintext) { |
- * | $in = $block_size of $plaintext; |
- * | |
- * | INSERT PHP CODE OF: |
- * | $cipher_code['decrypt_block']; // decrypt's (string) $in, which is always |
- * | // strlen($in) == $this->block_size |
- * | // here comes the cipher algorithm in action |
- * | // for decryption. |
- * | // $cipher_code['decrypt_block'] has to |
- * | // decrypt the content of the $in variable |
- * | $ciphertext .= $in; |
- * | } |
- * | return $ciphertext; |
- * | } |
- * | } |
- * +----------------------------------------------------------------------------------------------+
- *
- *
- * See also the \phpseclib\Crypt\*::_setupInlineCrypt()'s for
- * productive inline $cipher_code's how they works.
- *
- * Structure of:
- *
- * $cipher_code = array(
- * 'init_crypt' => (string) '', // optional
- * 'init_encrypt' => (string) '', // optional
- * 'init_decrypt' => (string) '', // optional
- * 'encrypt_block' => (string) '', // required
- * 'decrypt_block' => (string) '' // required
- * );
- *
- *
- * @see self::_setupInlineCrypt()
- * @see self::encrypt()
- * @see self::decrypt()
- * @param array $cipher_code
- * @access private
- * @return string (the name of the created callback function)
- */
- function _createInlineCryptFunction($cipher_code)
- {
- $block_size = $this->block_size;
-
- // optional
- $init_crypt = isset($cipher_code['init_crypt']) ? $cipher_code['init_crypt'] : '';
- $init_encrypt = isset($cipher_code['init_encrypt']) ? $cipher_code['init_encrypt'] : '';
- $init_decrypt = isset($cipher_code['init_decrypt']) ? $cipher_code['init_decrypt'] : '';
- // required
- $encrypt_block = $cipher_code['encrypt_block'];
- $decrypt_block = $cipher_code['decrypt_block'];
-
- // Generating mode of operation inline code,
- // merged with the $cipher_code algorithm
- // for encrypt- and decryption.
- switch ($this->mode) {
- case self::MODE_ECB:
- $encrypt = $init_encrypt . '
- $_ciphertext = "";
- $_plaintext_len = strlen($_text);
-
- for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') {
- $in = substr($_text, $_i, '.$block_size.');
- '.$encrypt_block.'
- $_ciphertext.= $in;
- }
-
- return $_ciphertext;
- ';
-
- $decrypt = $init_decrypt . '
- $_plaintext = "";
- $_text = str_pad($_text, strlen($_text) + ('.$block_size.' - strlen($_text) % '.$block_size.') % '.$block_size.', chr(0));
- $_ciphertext_len = strlen($_text);
-
- for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') {
- $in = substr($_text, $_i, '.$block_size.');
- '.$decrypt_block.'
- $_plaintext.= $in;
- }
-
- return $self->_unpad($_plaintext);
- ';
- break;
- case self::MODE_CTR:
- $encrypt = $init_encrypt . '
- $_ciphertext = "";
- $_plaintext_len = strlen($_text);
- $_xor = $self->encryptIV;
- $_buffer = &$self->enbuffer;
- if (strlen($_buffer["ciphertext"])) {
- for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') {
- $_block = substr($_text, $_i, '.$block_size.');
- if (strlen($_block) > strlen($_buffer["ciphertext"])) {
- $in = $_xor;
- '.$encrypt_block.'
- $self->_increment_str($_xor);
- $_buffer["ciphertext"].= $in;
- }
- $_key = $self->_string_shift($_buffer["ciphertext"], '.$block_size.');
- $_ciphertext.= $_block ^ $_key;
- }
- } else {
- for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') {
- $_block = substr($_text, $_i, '.$block_size.');
- $in = $_xor;
- '.$encrypt_block.'
- $self->_increment_str($_xor);
- $_key = $in;
- $_ciphertext.= $_block ^ $_key;
- }
- }
- if ($self->continuousBuffer) {
- $self->encryptIV = $_xor;
- if ($_start = $_plaintext_len % '.$block_size.') {
- $_buffer["ciphertext"] = substr($_key, $_start) . $_buffer["ciphertext"];
- }
- }
-
- return $_ciphertext;
- ';
-
- $decrypt = $init_encrypt . '
- $_plaintext = "";
- $_ciphertext_len = strlen($_text);
- $_xor = $self->decryptIV;
- $_buffer = &$self->debuffer;
-
- if (strlen($_buffer["ciphertext"])) {
- for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') {
- $_block = substr($_text, $_i, '.$block_size.');
- if (strlen($_block) > strlen($_buffer["ciphertext"])) {
- $in = $_xor;
- '.$encrypt_block.'
- $self->_increment_str($_xor);
- $_buffer["ciphertext"].= $in;
- }
- $_key = $self->_string_shift($_buffer["ciphertext"], '.$block_size.');
- $_plaintext.= $_block ^ $_key;
- }
- } else {
- for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') {
- $_block = substr($_text, $_i, '.$block_size.');
- $in = $_xor;
- '.$encrypt_block.'
- $self->_increment_str($_xor);
- $_key = $in;
- $_plaintext.= $_block ^ $_key;
- }
- }
- if ($self->continuousBuffer) {
- $self->decryptIV = $_xor;
- if ($_start = $_ciphertext_len % '.$block_size.') {
- $_buffer["ciphertext"] = substr($_key, $_start) . $_buffer["ciphertext"];
- }
- }
-
- return $_plaintext;
- ';
- break;
- case self::MODE_CFB:
- $encrypt = $init_encrypt . '
- $_ciphertext = "";
- $_buffer = &$self->enbuffer;
-
- if ($self->continuousBuffer) {
- $_iv = &$self->encryptIV;
- $_pos = &$_buffer["pos"];
- } else {
- $_iv = $self->encryptIV;
- $_pos = 0;
- }
- $_len = strlen($_text);
- $_i = 0;
- if ($_pos) {
- $_orig_pos = $_pos;
- $_max = '.$block_size.' - $_pos;
- if ($_len >= $_max) {
- $_i = $_max;
- $_len-= $_max;
- $_pos = 0;
- } else {
- $_i = $_len;
- $_pos+= $_len;
- $_len = 0;
- }
- $_ciphertext = substr($_iv, $_orig_pos) ^ $_text;
- $_iv = substr_replace($_iv, $_ciphertext, $_orig_pos, $_i);
- }
- while ($_len >= '.$block_size.') {
- $in = $_iv;
- '.$encrypt_block.';
- $_iv = $in ^ substr($_text, $_i, '.$block_size.');
- $_ciphertext.= $_iv;
- $_len-= '.$block_size.';
- $_i+= '.$block_size.';
- }
- if ($_len) {
- $in = $_iv;
- '.$encrypt_block.'
- $_iv = $in;
- $_block = $_iv ^ substr($_text, $_i);
- $_iv = substr_replace($_iv, $_block, 0, $_len);
- $_ciphertext.= $_block;
- $_pos = $_len;
- }
- return $_ciphertext;
- ';
-
- $decrypt = $init_encrypt . '
- $_plaintext = "";
- $_buffer = &$self->debuffer;
-
- if ($self->continuousBuffer) {
- $_iv = &$self->decryptIV;
- $_pos = &$_buffer["pos"];
- } else {
- $_iv = $self->decryptIV;
- $_pos = 0;
- }
- $_len = strlen($_text);
- $_i = 0;
- if ($_pos) {
- $_orig_pos = $_pos;
- $_max = '.$block_size.' - $_pos;
- if ($_len >= $_max) {
- $_i = $_max;
- $_len-= $_max;
- $_pos = 0;
- } else {
- $_i = $_len;
- $_pos+= $_len;
- $_len = 0;
- }
- $_plaintext = substr($_iv, $_orig_pos) ^ $_text;
- $_iv = substr_replace($_iv, substr($_text, 0, $_i), $_orig_pos, $_i);
- }
- while ($_len >= '.$block_size.') {
- $in = $_iv;
- '.$encrypt_block.'
- $_iv = $in;
- $cb = substr($_text, $_i, '.$block_size.');
- $_plaintext.= $_iv ^ $cb;
- $_iv = $cb;
- $_len-= '.$block_size.';
- $_i+= '.$block_size.';
- }
- if ($_len) {
- $in = $_iv;
- '.$encrypt_block.'
- $_iv = $in;
- $_plaintext.= $_iv ^ substr($_text, $_i);
- $_iv = substr_replace($_iv, substr($_text, $_i), 0, $_len);
- $_pos = $_len;
- }
-
- return $_plaintext;
- ';
- break;
- case self::MODE_CFB8:
- $encrypt = $init_encrypt . '
- $_ciphertext = "";
- $_len = strlen($_text);
- $_iv = $self->encryptIV;
-
- for ($_i = 0; $_i < $_len; ++$_i) {
- $in = $_iv;
- '.$encrypt_block.'
- $_ciphertext .= ($_c = $_text[$_i] ^ $in);
- $_iv = substr($_iv, 1) . $_c;
- }
-
- if ($self->continuousBuffer) {
- if ($_len >= '.$block_size.') {
- $self->encryptIV = substr($_ciphertext, -'.$block_size.');
- } else {
- $self->encryptIV = substr($self->encryptIV, $_len - '.$block_size.') . substr($_ciphertext, -$_len);
- }
- }
-
- return $_ciphertext;
- ';
- $decrypt = $init_encrypt . '
- $_plaintext = "";
- $_len = strlen($_text);
- $_iv = $self->decryptIV;
-
- for ($_i = 0; $_i < $_len; ++$_i) {
- $in = $_iv;
- '.$encrypt_block.'
- $_plaintext .= $_text[$_i] ^ $in;
- $_iv = substr($_iv, 1) . $_text[$_i];
- }
-
- if ($self->continuousBuffer) {
- if ($_len >= '.$block_size.') {
- $self->decryptIV = substr($_text, -'.$block_size.');
- } else {
- $self->decryptIV = substr($self->decryptIV, $_len - '.$block_size.') . substr($_text, -$_len);
- }
- }
-
- return $_plaintext;
- ';
- break;
- case self::MODE_OFB:
- $encrypt = $init_encrypt . '
- $_ciphertext = "";
- $_plaintext_len = strlen($_text);
- $_xor = $self->encryptIV;
- $_buffer = &$self->enbuffer;
-
- if (strlen($_buffer["xor"])) {
- for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') {
- $_block = substr($_text, $_i, '.$block_size.');
- if (strlen($_block) > strlen($_buffer["xor"])) {
- $in = $_xor;
- '.$encrypt_block.'
- $_xor = $in;
- $_buffer["xor"].= $_xor;
- }
- $_key = $self->_string_shift($_buffer["xor"], '.$block_size.');
- $_ciphertext.= $_block ^ $_key;
- }
- } else {
- for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') {
- $in = $_xor;
- '.$encrypt_block.'
- $_xor = $in;
- $_ciphertext.= substr($_text, $_i, '.$block_size.') ^ $_xor;
- }
- $_key = $_xor;
- }
- if ($self->continuousBuffer) {
- $self->encryptIV = $_xor;
- if ($_start = $_plaintext_len % '.$block_size.') {
- $_buffer["xor"] = substr($_key, $_start) . $_buffer["xor"];
- }
- }
- return $_ciphertext;
- ';
-
- $decrypt = $init_encrypt . '
- $_plaintext = "";
- $_ciphertext_len = strlen($_text);
- $_xor = $self->decryptIV;
- $_buffer = &$self->debuffer;
-
- if (strlen($_buffer["xor"])) {
- for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') {
- $_block = substr($_text, $_i, '.$block_size.');
- if (strlen($_block) > strlen($_buffer["xor"])) {
- $in = $_xor;
- '.$encrypt_block.'
- $_xor = $in;
- $_buffer["xor"].= $_xor;
- }
- $_key = $self->_string_shift($_buffer["xor"], '.$block_size.');
- $_plaintext.= $_block ^ $_key;
- }
- } else {
- for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') {
- $in = $_xor;
- '.$encrypt_block.'
- $_xor = $in;
- $_plaintext.= substr($_text, $_i, '.$block_size.') ^ $_xor;
- }
- $_key = $_xor;
- }
- if ($self->continuousBuffer) {
- $self->decryptIV = $_xor;
- if ($_start = $_ciphertext_len % '.$block_size.') {
- $_buffer["xor"] = substr($_key, $_start) . $_buffer["xor"];
- }
- }
- return $_plaintext;
- ';
- break;
- case self::MODE_STREAM:
- $encrypt = $init_encrypt . '
- $_ciphertext = "";
- '.$encrypt_block.'
- return $_ciphertext;
- ';
- $decrypt = $init_decrypt . '
- $_plaintext = "";
- '.$decrypt_block.'
- return $_plaintext;
- ';
- break;
- // case self::MODE_CBC:
- default:
- $encrypt = $init_encrypt . '
- $_ciphertext = "";
- $_plaintext_len = strlen($_text);
-
- $in = $self->encryptIV;
-
- for ($_i = 0; $_i < $_plaintext_len; $_i+= '.$block_size.') {
- $in = substr($_text, $_i, '.$block_size.') ^ $in;
- '.$encrypt_block.'
- $_ciphertext.= $in;
- }
-
- if ($self->continuousBuffer) {
- $self->encryptIV = $in;
- }
-
- return $_ciphertext;
- ';
-
- $decrypt = $init_decrypt . '
- $_plaintext = "";
- $_text = str_pad($_text, strlen($_text) + ('.$block_size.' - strlen($_text) % '.$block_size.') % '.$block_size.', chr(0));
- $_ciphertext_len = strlen($_text);
-
- $_iv = $self->decryptIV;
-
- for ($_i = 0; $_i < $_ciphertext_len; $_i+= '.$block_size.') {
- $in = $_block = substr($_text, $_i, '.$block_size.');
- '.$decrypt_block.'
- $_plaintext.= $in ^ $_iv;
- $_iv = $_block;
- }
-
- if ($self->continuousBuffer) {
- $self->decryptIV = $_iv;
- }
-
- return $self->_unpad($_plaintext);
- ';
- break;
- }
-
- // Create the $inline function and return its name as string. Ready to run!
- if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
- eval('$func = function ($_action, &$self, $_text) { ' . $init_crypt . 'if ($_action == "encrypt") { ' . $encrypt . ' } else { ' . $decrypt . ' } };');
- return $func;
- }
-
- return create_function('$_action, &$self, $_text', $init_crypt . 'if ($_action == "encrypt") { ' . $encrypt . ' } else { ' . $decrypt . ' }');
- }
-
- /**
- * Holds the lambda_functions table (classwide)
- *
- * Each name of the lambda function, created from
- * _setupInlineCrypt() && _createInlineCryptFunction()
- * is stored, classwide (!), here for reusing.
- *
- * The string-based index of $function is a classwide
- * unique value representing, at least, the $mode of
- * operation (or more... depends of the optimizing level)
- * for which $mode the lambda function was created.
- *
- * @access private
- * @return array &$functions
- */
- function &_getLambdaFunctions()
- {
- static $functions = array();
- return $functions;
- }
-
- /**
- * Generates a digest from $bytes
- *
- * @see self::_setupInlineCrypt()
- * @access private
- * @param $bytes
- * @return string
- */
- function _hashInlineCryptFunction($bytes)
- {
- if (!isset(self::$WHIRLPOOL_AVAILABLE)) {
- self::$WHIRLPOOL_AVAILABLE = extension_loaded('hash') && in_array('whirlpool', hash_algos());
- }
-
- $result = '';
- $hash = $bytes;
-
- switch (true) {
- case self::$WHIRLPOOL_AVAILABLE:
- foreach (str_split($bytes, 64) as $t) {
- $hash = hash('whirlpool', $hash, true);
- $result .= $t ^ $hash;
- }
- return $result . hash('whirlpool', $hash, true);
- default:
- $len = strlen($bytes);
- for ($i = 0; $i < $len; $i+=20) {
- $t = substr($bytes, $i, 20);
- $hash = pack('H*', sha1($hash));
- $result .= $t ^ $hash;
- }
- return $result . pack('H*', sha1($hash));
- }
- }
-
- /**
- * Convert float to int
- *
- * On ARM CPUs converting floats to ints doesn't always work
- *
- * @access private
- * @param string $x
- * @return int
- */
- function safe_intval($x)
- {
- switch (true) {
- case is_int($x):
- // PHP 5.3, per http://php.net/releases/5_3_0.php, introduced "more consistent float rounding"
- case (php_uname('m') & "\xDF\xDF\xDF") != 'ARM':
- return $x;
- }
- return (fmod($x, 0x80000000) & 0x7FFFFFFF) |
- ((fmod(floor($x / 0x80000000), 2) & 1) << 31);
- }
-
- /**
- * eval()'able string for in-line float to int
- *
- * @access private
- * @return string
- */
- function safe_intval_inline()
- {
- switch (true) {
- case defined('PHP_INT_SIZE') && PHP_INT_SIZE == 8:
- case (php_uname('m') & "\xDF\xDF\xDF") != 'ARM':
- return '%s';
- break;
- default:
- $safeint = '(is_int($temp = %s) ? $temp : (fmod($temp, 0x80000000) & 0x7FFFFFFF) | ';
- return $safeint . '((fmod(floor($temp / 0x80000000), 2) & 1) << 31))';
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php
deleted file mode 100644
index 01e34cc..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php
+++ /dev/null
@@ -1,274 +0,0 @@
-
- *
- *
- *
- * @category Crypt
- * @package Random
- * @author Jim Wigginton
- * @copyright 2007 Jim Wigginton
- * @license http://www.opensource.org/licenses/mit-license.html MIT License
- * @link http://phpseclib.sourceforge.net
- */
-
-namespace phpseclib\Crypt;
-
-/**
- * Pure-PHP Random Number Generator
- *
- * @package Random
- * @author Jim Wigginton
- * @access public
- */
-class Random
-{
- /**
- * Generate a random string.
- *
- * Although microoptimizations are generally discouraged as they impair readability this function is ripe with
- * microoptimizations because this function has the potential of being called a huge number of times.
- * eg. for RSA key generation.
- *
- * @param int $length
- * @return string
- */
- static function string($length)
- {
- if (!$length) {
- return '';
- }
-
- if (version_compare(PHP_VERSION, '7.0.0', '>=')) {
- try {
- return \random_bytes($length);
- } catch (\Throwable $e) {
- // If a sufficient source of randomness is unavailable, random_bytes() will throw an
- // object that implements the Throwable interface (Exception, TypeError, Error).
- // We don't actually need to do anything here. The string() method should just continue
- // as normal. Note, however, that if we don't have a sufficient source of randomness for
- // random_bytes(), most of the other calls here will fail too, so we'll end up using
- // the PHP implementation.
- }
- }
-
- if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
- // method 1. prior to PHP 5.3 this would call rand() on windows hence the function_exists('class_alias') call.
- // ie. class_alias is a function that was introduced in PHP 5.3
- if (extension_loaded('mcrypt') && function_exists('class_alias')) {
- return @mcrypt_create_iv($length);
- }
- // method 2. openssl_random_pseudo_bytes was introduced in PHP 5.3.0 but prior to PHP 5.3.4 there was,
- // to quote , "possible blocking behavior". as of 5.3.4
- // openssl_random_pseudo_bytes and mcrypt_create_iv do the exact same thing on Windows. ie. they both
- // call php_win32_get_random_bytes():
- //
- // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/openssl/openssl.c#L5008
- // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/mcrypt/mcrypt.c#L1392
- //
- // php_win32_get_random_bytes() is defined thusly:
- //
- // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/win32/winutil.c#L80
- //
- // we're calling it, all the same, in the off chance that the mcrypt extension is not available
- if (extension_loaded('openssl') && version_compare(PHP_VERSION, '5.3.4', '>=')) {
- return openssl_random_pseudo_bytes($length);
- }
- } else {
- // method 1. the fastest
- if (extension_loaded('openssl')) {
- return openssl_random_pseudo_bytes($length);
- }
- // method 2
- static $fp = true;
- if ($fp === true) {
- // warning's will be output unles the error suppression operator is used. errors such as
- // "open_basedir restriction in effect", "Permission denied", "No such file or directory", etc.
- $fp = @fopen('/dev/urandom', 'rb');
- }
- if ($fp !== true && $fp !== false) { // surprisingly faster than !is_bool() or is_resource()
- return fread($fp, $length);
- }
- // method 3. pretty much does the same thing as method 2 per the following url:
- // https://github.com/php/php-src/blob/7014a0eb6d1611151a286c0ff4f2238f92c120d6/ext/mcrypt/mcrypt.c#L1391
- // surprisingly slower than method 2. maybe that's because mcrypt_create_iv does a bunch of error checking that we're
- // not doing. regardless, this'll only be called if this PHP script couldn't open /dev/urandom due to open_basedir
- // restrictions or some such
- if (extension_loaded('mcrypt')) {
- return @mcrypt_create_iv($length, MCRYPT_DEV_URANDOM);
- }
- }
- // at this point we have no choice but to use a pure-PHP CSPRNG
-
- // cascade entropy across multiple PHP instances by fixing the session and collecting all
- // environmental variables, including the previous session data and the current session
- // data.
- //
- // mt_rand seeds itself by looking at the PID and the time, both of which are (relatively)
- // easy to guess at. linux uses mouse clicks, keyboard timings, etc, as entropy sources, but
- // PHP isn't low level to be able to use those as sources and on a web server there's not likely
- // going to be a ton of keyboard or mouse action. web servers do have one thing that we can use
- // however, a ton of people visiting the website. obviously you don't want to base your seeding
- // soley on parameters a potential attacker sends but (1) not everything in $_SERVER is controlled
- // by the user and (2) this isn't just looking at the data sent by the current user - it's based
- // on the data sent by all users. one user requests the page and a hash of their info is saved.
- // another user visits the page and the serialization of their data is utilized along with the
- // server envirnment stuff and a hash of the previous http request data (which itself utilizes
- // a hash of the session data before that). certainly an attacker should be assumed to have
- // full control over his own http requests. he, however, is not going to have control over
- // everyone's http requests.
- static $crypto = false, $v;
- if ($crypto === false) {
- // save old session data
- $old_session_id = session_id();
- $old_use_cookies = ini_get('session.use_cookies');
- $old_session_cache_limiter = session_cache_limiter();
- $_OLD_SESSION = isset($_SESSION) ? $_SESSION : false;
- if ($old_session_id != '') {
- session_write_close();
- }
-
- session_id(1);
- ini_set('session.use_cookies', 0);
- session_cache_limiter('');
- session_start();
-
- $v = $seed = $_SESSION['seed'] = pack('H*', sha1(
- (isset($_SERVER) ? phpseclib_safe_serialize($_SERVER) : '') .
- (isset($_POST) ? phpseclib_safe_serialize($_POST) : '') .
- (isset($_GET) ? phpseclib_safe_serialize($_GET) : '') .
- (isset($_COOKIE) ? phpseclib_safe_serialize($_COOKIE) : '') .
- phpseclib_safe_serialize($GLOBALS) .
- phpseclib_safe_serialize($_SESSION) .
- phpseclib_safe_serialize($_OLD_SESSION)
- ));
- if (!isset($_SESSION['count'])) {
- $_SESSION['count'] = 0;
- }
- $_SESSION['count']++;
-
- session_write_close();
-
- // restore old session data
- if ($old_session_id != '') {
- session_id($old_session_id);
- session_start();
- ini_set('session.use_cookies', $old_use_cookies);
- session_cache_limiter($old_session_cache_limiter);
- } else {
- if ($_OLD_SESSION !== false) {
- $_SESSION = $_OLD_SESSION;
- unset($_OLD_SESSION);
- } else {
- unset($_SESSION);
- }
- }
-
- // in SSH2 a shared secret and an exchange hash are generated through the key exchange process.
- // the IV client to server is the hash of that "nonce" with the letter A and for the encryption key it's the letter C.
- // if the hash doesn't produce enough a key or an IV that's long enough concat successive hashes of the
- // original hash and the current hash. we'll be emulating that. for more info see the following URL:
- //
- // http://tools.ietf.org/html/rfc4253#section-7.2
- //
- // see the is_string($crypto) part for an example of how to expand the keys
- $key = pack('H*', sha1($seed . 'A'));
- $iv = pack('H*', sha1($seed . 'C'));
-
- // ciphers are used as per the nist.gov link below. also, see this link:
- //
- // http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator#Designs_based_on_cryptographic_primitives
- switch (true) {
- case class_exists('\phpseclib\Crypt\AES'):
- $crypto = new AES(Base::MODE_CTR);
- break;
- case class_exists('\phpseclib\Crypt\Twofish'):
- $crypto = new Twofish(Base::MODE_CTR);
- break;
- case class_exists('\phpseclib\Crypt\Blowfish'):
- $crypto = new Blowfish(Base::MODE_CTR);
- break;
- case class_exists('\phpseclib\Crypt\TripleDES'):
- $crypto = new TripleDES(Base::MODE_CTR);
- break;
- case class_exists('\phpseclib\Crypt\DES'):
- $crypto = new DES(Base::MODE_CTR);
- break;
- case class_exists('\phpseclib\Crypt\RC4'):
- $crypto = new RC4();
- break;
- default:
- user_error(__CLASS__ . ' requires at least one symmetric cipher be loaded');
- return false;
- }
-
- $crypto->setKey($key);
- $crypto->setIV($iv);
- $crypto->enableContinuousBuffer();
- }
-
- //return $crypto->encrypt(str_repeat("\0", $length));
-
- // the following is based off of ANSI X9.31:
- //
- // http://csrc.nist.gov/groups/STM/cavp/documents/rng/931rngext.pdf
- //
- // OpenSSL uses that same standard for it's random numbers:
- //
- // http://www.opensource.apple.com/source/OpenSSL/OpenSSL-38/openssl/fips-1.0/rand/fips_rand.c
- // (do a search for "ANS X9.31 A.2.4")
- $result = '';
- while (strlen($result) < $length) {
- $i = $crypto->encrypt(microtime()); // strlen(microtime()) == 21
- $r = $crypto->encrypt($i ^ $v); // strlen($v) == 20
- $v = $crypto->encrypt($r ^ $i); // strlen($r) == 20
- $result.= $r;
- }
- return substr($result, 0, $length);
- }
-}
-
-if (!function_exists('phpseclib_safe_serialize')) {
- /**
- * Safely serialize variables
- *
- * If a class has a private __sleep() method it'll give a fatal error on PHP 5.2 and earlier.
- * PHP 5.3 will emit a warning.
- *
- * @param mixed $arr
- * @access public
- */
- function phpseclib_safe_serialize(&$arr)
- {
- if (is_object($arr)) {
- return '';
- }
- if (!is_array($arr)) {
- return serialize($arr);
- }
- // prevent circular array recursion
- if (isset($arr['__phpseclib_marker'])) {
- return '';
- }
- $safearr = array();
- $arr['__phpseclib_marker'] = true;
- foreach (array_keys($arr) as $key) {
- // do not recurse on the '__phpseclib_marker' key itself, for smaller memory usage
- if ($key !== '__phpseclib_marker') {
- $safearr[$key] = phpseclib_safe_serialize($arr[$key]);
- }
- }
- unset($arr['__phpseclib_marker']);
- return serialize($safearr);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php
deleted file mode 100644
index 3648a19..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/Crypt/Rijndael.php
+++ /dev/null
@@ -1,936 +0,0 @@
-
- * setKey('abcdefghijklmnop');
- *
- * $size = 10 * 1024;
- * $plaintext = '';
- * for ($i = 0; $i < $size; $i++) {
- * $plaintext.= 'a';
- * }
- *
- * echo $rijndael->decrypt($rijndael->encrypt($plaintext));
- * ?>
- *
- *
- * @category Crypt
- * @package Rijndael
- * @author Jim Wigginton
- * @copyright 2008 Jim Wigginton
- * @license http://www.opensource.org/licenses/mit-license.html MIT License
- * @link http://phpseclib.sourceforge.net
- */
-
-namespace phpseclib\Crypt;
-
-/**
- * Pure-PHP implementation of Rijndael.
- *
- * @package Rijndael
- * @author Jim Wigginton
- * @access public
- */
-class Rijndael extends Base
-{
- /**
- * The mcrypt specific name of the cipher
- *
- * Mcrypt is useable for 128/192/256-bit $block_size/$key_length. For 160/224 not.
- * \phpseclib\Crypt\Rijndael determines automatically whether mcrypt is useable
- * or not for the current $block_size/$key_length.
- * In case of, $cipher_name_mcrypt will be set dynamically at run time accordingly.
- *
- * @see \phpseclib\Crypt\Base::cipher_name_mcrypt
- * @see \phpseclib\Crypt\Base::engine
- * @see self::isValidEngine()
- * @var string
- * @access private
- */
- var $cipher_name_mcrypt = 'rijndael-128';
-
- /**
- * The default salt used by setPassword()
- *
- * @see \phpseclib\Crypt\Base::password_default_salt
- * @see \phpseclib\Crypt\Base::setPassword()
- * @var string
- * @access private
- */
- var $password_default_salt = 'phpseclib';
-
- /**
- * The Key Schedule
- *
- * @see self::_setup()
- * @var array
- * @access private
- */
- var $w;
-
- /**
- * The Inverse Key Schedule
- *
- * @see self::_setup()
- * @var array
- * @access private
- */
- var $dw;
-
- /**
- * The Block Length divided by 32
- *
- * @see self::setBlockLength()
- * @var int
- * @access private
- * @internal The max value is 256 / 32 = 8, the min value is 128 / 32 = 4. Exists in conjunction with $block_size
- * because the encryption / decryption / key schedule creation requires this number and not $block_size. We could
- * derive this from $block_size or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu
- * of that, we'll just precompute it once.
- */
- var $Nb = 4;
-
- /**
- * The Key Length (in bytes)
- *
- * @see self::setKeyLength()
- * @var int
- * @access private
- * @internal The max value is 256 / 8 = 32, the min value is 128 / 8 = 16. Exists in conjunction with $Nk
- * because the encryption / decryption / key schedule creation requires this number and not $key_length. We could
- * derive this from $key_length or vice versa, but that'd mean we'd have to do multiple shift operations, so in lieu
- * of that, we'll just precompute it once.
- */
- var $key_length = 16;
-
- /**
- * The Key Length divided by 32
- *
- * @see self::setKeyLength()
- * @var int
- * @access private
- * @internal The max value is 256 / 32 = 8, the min value is 128 / 32 = 4
- */
- var $Nk = 4;
-
- /**
- * The Number of Rounds
- *
- * @var int
- * @access private
- * @internal The max value is 14, the min value is 10.
- */
- var $Nr;
-
- /**
- * Shift offsets
- *
- * @var array
- * @access private
- */
- var $c;
-
- /**
- * Holds the last used key- and block_size information
- *
- * @var array
- * @access private
- */
- var $kl;
-
- /**
- * Sets the key length.
- *
- * Valid key lengths are 128, 160, 192, 224, and 256. If the length is less than 128, it will be rounded up to
- * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount.
- *
- * Note: phpseclib extends Rijndael (and AES) for using 160- and 224-bit keys but they are officially not defined
- * and the most (if not all) implementations are not able using 160/224-bit keys but round/pad them up to
- * 192/256 bits as, for example, mcrypt will do.
- *
- * That said, if you want be compatible with other Rijndael and AES implementations,
- * you should not setKeyLength(160) or setKeyLength(224).
- *
- * Additional: In case of 160- and 224-bit keys, phpseclib will/can, for that reason, not use
- * the mcrypt php extension, even if available.
- * This results then in slower encryption.
- *
- * @access public
- * @param int $length
- */
- function setKeyLength($length)
- {
- switch (true) {
- case $length <= 128:
- $this->key_length = 16;
- break;
- case $length <= 160:
- $this->key_length = 20;
- break;
- case $length <= 192:
- $this->key_length = 24;
- break;
- case $length <= 224:
- $this->key_length = 28;
- break;
- default:
- $this->key_length = 32;
- }
-
- parent::setKeyLength($length);
- }
-
- /**
- * Sets the block length
- *
- * Valid block lengths are 128, 160, 192, 224, and 256. If the length is less than 128, it will be rounded up to
- * 128. If the length is greater than 128 and invalid, it will be rounded down to the closest valid amount.
- *
- * @access public
- * @param int $length
- */
- function setBlockLength($length)
- {
- $length >>= 5;
- if ($length > 8) {
- $length = 8;
- } elseif ($length < 4) {
- $length = 4;
- }
- $this->Nb = $length;
- $this->block_size = $length << 2;
- $this->changed = true;
- $this->_setEngine();
- }
-
- /**
- * Test for engine validity
- *
- * This is mainly just a wrapper to set things up for \phpseclib\Crypt\Base::isValidEngine()
- *
- * @see \phpseclib\Crypt\Base::__construct()
- * @param int $engine
- * @access public
- * @return bool
- */
- function isValidEngine($engine)
- {
- switch ($engine) {
- case self::ENGINE_OPENSSL:
- if ($this->block_size != 16) {
- return false;
- }
- $this->cipher_name_openssl_ecb = 'aes-' . ($this->key_length << 3) . '-ecb';
- $this->cipher_name_openssl = 'aes-' . ($this->key_length << 3) . '-' . $this->_openssl_translate_mode();
- break;
- case self::ENGINE_MCRYPT:
- $this->cipher_name_mcrypt = 'rijndael-' . ($this->block_size << 3);
- if ($this->key_length % 8) { // is it a 160/224-bit key?
- // mcrypt is not usable for them, only for 128/192/256-bit keys
- return false;
- }
- }
-
- return parent::isValidEngine($engine);
- }
-
- /**
- * Encrypts a block
- *
- * @access private
- * @param string $in
- * @return string
- */
- function _encryptBlock($in)
- {
- static $tables;
- if (empty($tables)) {
- $tables = &$this->_getTables();
- }
- $t0 = $tables[0];
- $t1 = $tables[1];
- $t2 = $tables[2];
- $t3 = $tables[3];
- $sbox = $tables[4];
-
- $state = array();
- $words = unpack('N*', $in);
-
- $c = $this->c;
- $w = $this->w;
- $Nb = $this->Nb;
- $Nr = $this->Nr;
-
- // addRoundKey
- $wc = $Nb - 1;
- foreach ($words as $word) {
- $state[] = $word ^ $w[++$wc];
- }
-
- // fips-197.pdf#page=19, "Figure 5. Pseudo Code for the Cipher", states that this loop has four components -
- // subBytes, shiftRows, mixColumns, and addRoundKey. fips-197.pdf#page=30, "Implementation Suggestions Regarding
- // Various Platforms" suggests that performs enhanced implementations are described in Rijndael-ammended.pdf.
- // Rijndael-ammended.pdf#page=20, "Implementation aspects / 32-bit processor", discusses such an optimization.
- // Unfortunately, the description given there is not quite correct. Per aes.spec.v316.pdf#page=19 [1],
- // equation (7.4.7) is supposed to use addition instead of subtraction, so we'll do that here, as well.
-
- // [1] http://fp.gladman.plus.com/cryptography_technology/rijndael/aes.spec.v316.pdf
- $temp = array();
- for ($round = 1; $round < $Nr; ++$round) {
- $i = 0; // $c[0] == 0
- $j = $c[1];
- $k = $c[2];
- $l = $c[3];
-
- while ($i < $Nb) {
- $temp[$i] = $t0[$state[$i] >> 24 & 0x000000FF] ^
- $t1[$state[$j] >> 16 & 0x000000FF] ^
- $t2[$state[$k] >> 8 & 0x000000FF] ^
- $t3[$state[$l] & 0x000000FF] ^
- $w[++$wc];
- ++$i;
- $j = ($j + 1) % $Nb;
- $k = ($k + 1) % $Nb;
- $l = ($l + 1) % $Nb;
- }
- $state = $temp;
- }
-
- // subWord
- for ($i = 0; $i < $Nb; ++$i) {
- $state[$i] = $sbox[$state[$i] & 0x000000FF] |
- ($sbox[$state[$i] >> 8 & 0x000000FF] << 8) |
- ($sbox[$state[$i] >> 16 & 0x000000FF] << 16) |
- ($sbox[$state[$i] >> 24 & 0x000000FF] << 24);
- }
-
- // shiftRows + addRoundKey
- $i = 0; // $c[0] == 0
- $j = $c[1];
- $k = $c[2];
- $l = $c[3];
- while ($i < $Nb) {
- $temp[$i] = ($state[$i] & 0xFF000000) ^
- ($state[$j] & 0x00FF0000) ^
- ($state[$k] & 0x0000FF00) ^
- ($state[$l] & 0x000000FF) ^
- $w[$i];
- ++$i;
- $j = ($j + 1) % $Nb;
- $k = ($k + 1) % $Nb;
- $l = ($l + 1) % $Nb;
- }
-
- switch ($Nb) {
- case 8:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6], $temp[7]);
- case 7:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6]);
- case 6:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5]);
- case 5:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4]);
- default:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3]);
- }
- }
-
- /**
- * Decrypts a block
- *
- * @access private
- * @param string $in
- * @return string
- */
- function _decryptBlock($in)
- {
- static $invtables;
- if (empty($invtables)) {
- $invtables = &$this->_getInvTables();
- }
- $dt0 = $invtables[0];
- $dt1 = $invtables[1];
- $dt2 = $invtables[2];
- $dt3 = $invtables[3];
- $isbox = $invtables[4];
-
- $state = array();
- $words = unpack('N*', $in);
-
- $c = $this->c;
- $dw = $this->dw;
- $Nb = $this->Nb;
- $Nr = $this->Nr;
-
- // addRoundKey
- $wc = $Nb - 1;
- foreach ($words as $word) {
- $state[] = $word ^ $dw[++$wc];
- }
-
- $temp = array();
- for ($round = $Nr - 1; $round > 0; --$round) {
- $i = 0; // $c[0] == 0
- $j = $Nb - $c[1];
- $k = $Nb - $c[2];
- $l = $Nb - $c[3];
-
- while ($i < $Nb) {
- $temp[$i] = $dt0[$state[$i] >> 24 & 0x000000FF] ^
- $dt1[$state[$j] >> 16 & 0x000000FF] ^
- $dt2[$state[$k] >> 8 & 0x000000FF] ^
- $dt3[$state[$l] & 0x000000FF] ^
- $dw[++$wc];
- ++$i;
- $j = ($j + 1) % $Nb;
- $k = ($k + 1) % $Nb;
- $l = ($l + 1) % $Nb;
- }
- $state = $temp;
- }
-
- // invShiftRows + invSubWord + addRoundKey
- $i = 0; // $c[0] == 0
- $j = $Nb - $c[1];
- $k = $Nb - $c[2];
- $l = $Nb - $c[3];
-
- while ($i < $Nb) {
- $word = ($state[$i] & 0xFF000000) |
- ($state[$j] & 0x00FF0000) |
- ($state[$k] & 0x0000FF00) |
- ($state[$l] & 0x000000FF);
-
- $temp[$i] = $dw[$i] ^ ($isbox[$word & 0x000000FF] |
- ($isbox[$word >> 8 & 0x000000FF] << 8) |
- ($isbox[$word >> 16 & 0x000000FF] << 16) |
- ($isbox[$word >> 24 & 0x000000FF] << 24));
- ++$i;
- $j = ($j + 1) % $Nb;
- $k = ($k + 1) % $Nb;
- $l = ($l + 1) % $Nb;
- }
-
- switch ($Nb) {
- case 8:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6], $temp[7]);
- case 7:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5], $temp[6]);
- case 6:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5]);
- case 5:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3], $temp[4]);
- default:
- return pack('N*', $temp[0], $temp[1], $temp[2], $temp[3]);
- }
- }
-
- /**
- * Setup the key (expansion)
- *
- * @see \phpseclib\Crypt\Base::_setupKey()
- * @access private
- */
- function _setupKey()
- {
- // Each number in $rcon is equal to the previous number multiplied by two in Rijndael's finite field.
- // See http://en.wikipedia.org/wiki/Finite_field_arithmetic#Multiplicative_inverse
- static $rcon = array(0,
- 0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000,
- 0x20000000, 0x40000000, 0x80000000, 0x1B000000, 0x36000000,
- 0x6C000000, 0xD8000000, 0xAB000000, 0x4D000000, 0x9A000000,
- 0x2F000000, 0x5E000000, 0xBC000000, 0x63000000, 0xC6000000,
- 0x97000000, 0x35000000, 0x6A000000, 0xD4000000, 0xB3000000,
- 0x7D000000, 0xFA000000, 0xEF000000, 0xC5000000, 0x91000000
- );
-
- if (isset($this->kl['key']) && $this->key === $this->kl['key'] && $this->key_length === $this->kl['key_length'] && $this->block_size === $this->kl['block_size']) {
- // already expanded
- return;
- }
- $this->kl = array('key' => $this->key, 'key_length' => $this->key_length, 'block_size' => $this->block_size);
-
- $this->Nk = $this->key_length >> 2;
- // see Rijndael-ammended.pdf#page=44
- $this->Nr = max($this->Nk, $this->Nb) + 6;
-
- // shift offsets for Nb = 5, 7 are defined in Rijndael-ammended.pdf#page=44,
- // "Table 8: Shift offsets in Shiftrow for the alternative block lengths"
- // shift offsets for Nb = 4, 6, 8 are defined in Rijndael-ammended.pdf#page=14,
- // "Table 2: Shift offsets for different block lengths"
- switch ($this->Nb) {
- case 4:
- case 5:
- case 6:
- $this->c = array(0, 1, 2, 3);
- break;
- case 7:
- $this->c = array(0, 1, 2, 4);
- break;
- case 8:
- $this->c = array(0, 1, 3, 4);
- }
-
- $w = array_values(unpack('N*words', $this->key));
-
- $length = $this->Nb * ($this->Nr + 1);
- for ($i = $this->Nk; $i < $length; $i++) {
- $temp = $w[$i - 1];
- if ($i % $this->Nk == 0) {
- // according to , "the size of an integer is platform-dependent".
- // on a 32-bit machine, it's 32-bits, and on a 64-bit machine, it's 64-bits. on a 32-bit machine,
- // 0xFFFFFFFF << 8 == 0xFFFFFF00, but on a 64-bit machine, it equals 0xFFFFFFFF00. as such, doing 'and'
- // with 0xFFFFFFFF (or 0xFFFFFF00) on a 32-bit machine is unnecessary, but on a 64-bit machine, it is.
- $temp = (($temp << 8) & 0xFFFFFF00) | (($temp >> 24) & 0x000000FF); // rotWord
- $temp = $this->_subWord($temp) ^ $rcon[$i / $this->Nk];
- } elseif ($this->Nk > 6 && $i % $this->Nk == 4) {
- $temp = $this->_subWord($temp);
- }
- $w[$i] = $w[$i - $this->Nk] ^ $temp;
- }
-
- // convert the key schedule from a vector of $Nb * ($Nr + 1) length to a matrix with $Nr + 1 rows and $Nb columns
- // and generate the inverse key schedule. more specifically,
- // according to (section 5.3.3),
- // "The key expansion for the Inverse Cipher is defined as follows:
- // 1. Apply the Key Expansion.
- // 2. Apply InvMixColumn to all Round Keys except the first and the last one."
- // also, see fips-197.pdf#page=27, "5.3.5 Equivalent Inverse Cipher"
- list($dt0, $dt1, $dt2, $dt3) = $this->_getInvTables();
- $temp = $this->w = $this->dw = array();
- for ($i = $row = $col = 0; $i < $length; $i++, $col++) {
- if ($col == $this->Nb) {
- if ($row == 0) {
- $this->dw[0] = $this->w[0];
- } else {
- // subWord + invMixColumn + invSubWord = invMixColumn
- $j = 0;
- while ($j < $this->Nb) {
- $dw = $this->_subWord($this->w[$row][$j]);
- $temp[$j] = $dt0[$dw >> 24 & 0x000000FF] ^
- $dt1[$dw >> 16 & 0x000000FF] ^
- $dt2[$dw >> 8 & 0x000000FF] ^
- $dt3[$dw & 0x000000FF];
- $j++;
- }
- $this->dw[$row] = $temp;
- }
-
- $col = 0;
- $row++;
- }
- $this->w[$row][$col] = $w[$i];
- }
-
- $this->dw[$row] = $this->w[$row];
-
- // Converting to 1-dim key arrays (both ascending)
- $this->dw = array_reverse($this->dw);
- $w = array_pop($this->w);
- $dw = array_pop($this->dw);
- foreach ($this->w as $r => $wr) {
- foreach ($wr as $c => $wc) {
- $w[] = $wc;
- $dw[] = $this->dw[$r][$c];
- }
- }
- $this->w = $w;
- $this->dw = $dw;
- }
-
- /**
- * Performs S-Box substitutions
- *
- * @access private
- * @param int $word
- */
- function _subWord($word)
- {
- static $sbox;
- if (empty($sbox)) {
- list(, , , , $sbox) = $this->_getTables();
- }
-
- return $sbox[$word & 0x000000FF] |
- ($sbox[$word >> 8 & 0x000000FF] << 8) |
- ($sbox[$word >> 16 & 0x000000FF] << 16) |
- ($sbox[$word >> 24 & 0x000000FF] << 24);
- }
-
- /**
- * Provides the mixColumns and sboxes tables
- *
- * @see self::_encryptBlock()
- * @see self::_setupInlineCrypt()
- * @see self::_subWord()
- * @access private
- * @return array &$tables
- */
- function &_getTables()
- {
- static $tables;
- if (empty($tables)) {
- // according to (section 5.2.1),
- // precomputed tables can be used in the mixColumns phase. in that example, they're assigned t0...t3, so
- // those are the names we'll use.
- $t3 = array_map('intval', array(
- // with array_map('intval', ...) we ensure we have only int's and not
- // some slower floats converted by php automatically on high values
- 0x6363A5C6, 0x7C7C84F8, 0x777799EE, 0x7B7B8DF6, 0xF2F20DFF, 0x6B6BBDD6, 0x6F6FB1DE, 0xC5C55491,
- 0x30305060, 0x01010302, 0x6767A9CE, 0x2B2B7D56, 0xFEFE19E7, 0xD7D762B5, 0xABABE64D, 0x76769AEC,
- 0xCACA458F, 0x82829D1F, 0xC9C94089, 0x7D7D87FA, 0xFAFA15EF, 0x5959EBB2, 0x4747C98E, 0xF0F00BFB,
- 0xADADEC41, 0xD4D467B3, 0xA2A2FD5F, 0xAFAFEA45, 0x9C9CBF23, 0xA4A4F753, 0x727296E4, 0xC0C05B9B,
- 0xB7B7C275, 0xFDFD1CE1, 0x9393AE3D, 0x26266A4C, 0x36365A6C, 0x3F3F417E, 0xF7F702F5, 0xCCCC4F83,
- 0x34345C68, 0xA5A5F451, 0xE5E534D1, 0xF1F108F9, 0x717193E2, 0xD8D873AB, 0x31315362, 0x15153F2A,
- 0x04040C08, 0xC7C75295, 0x23236546, 0xC3C35E9D, 0x18182830, 0x9696A137, 0x05050F0A, 0x9A9AB52F,
- 0x0707090E, 0x12123624, 0x80809B1B, 0xE2E23DDF, 0xEBEB26CD, 0x2727694E, 0xB2B2CD7F, 0x75759FEA,
- 0x09091B12, 0x83839E1D, 0x2C2C7458, 0x1A1A2E34, 0x1B1B2D36, 0x6E6EB2DC, 0x5A5AEEB4, 0xA0A0FB5B,
- 0x5252F6A4, 0x3B3B4D76, 0xD6D661B7, 0xB3B3CE7D, 0x29297B52, 0xE3E33EDD, 0x2F2F715E, 0x84849713,
- 0x5353F5A6, 0xD1D168B9, 0x00000000, 0xEDED2CC1, 0x20206040, 0xFCFC1FE3, 0xB1B1C879, 0x5B5BEDB6,
- 0x6A6ABED4, 0xCBCB468D, 0xBEBED967, 0x39394B72, 0x4A4ADE94, 0x4C4CD498, 0x5858E8B0, 0xCFCF4A85,
- 0xD0D06BBB, 0xEFEF2AC5, 0xAAAAE54F, 0xFBFB16ED, 0x4343C586, 0x4D4DD79A, 0x33335566, 0x85859411,
- 0x4545CF8A, 0xF9F910E9, 0x02020604, 0x7F7F81FE, 0x5050F0A0, 0x3C3C4478, 0x9F9FBA25, 0xA8A8E34B,
- 0x5151F3A2, 0xA3A3FE5D, 0x4040C080, 0x8F8F8A05, 0x9292AD3F, 0x9D9DBC21, 0x38384870, 0xF5F504F1,
- 0xBCBCDF63, 0xB6B6C177, 0xDADA75AF, 0x21216342, 0x10103020, 0xFFFF1AE5, 0xF3F30EFD, 0xD2D26DBF,
- 0xCDCD4C81, 0x0C0C1418, 0x13133526, 0xECEC2FC3, 0x5F5FE1BE, 0x9797A235, 0x4444CC88, 0x1717392E,
- 0xC4C45793, 0xA7A7F255, 0x7E7E82FC, 0x3D3D477A, 0x6464ACC8, 0x5D5DE7BA, 0x19192B32, 0x737395E6,
- 0x6060A0C0, 0x81819819, 0x4F4FD19E, 0xDCDC7FA3, 0x22226644, 0x2A2A7E54, 0x9090AB3B, 0x8888830B,
- 0x4646CA8C, 0xEEEE29C7, 0xB8B8D36B, 0x14143C28, 0xDEDE79A7, 0x5E5EE2BC, 0x0B0B1D16, 0xDBDB76AD,
- 0xE0E03BDB, 0x32325664, 0x3A3A4E74, 0x0A0A1E14, 0x4949DB92, 0x06060A0C, 0x24246C48, 0x5C5CE4B8,
- 0xC2C25D9F, 0xD3D36EBD, 0xACACEF43, 0x6262A6C4, 0x9191A839, 0x9595A431, 0xE4E437D3, 0x79798BF2,
- 0xE7E732D5, 0xC8C8438B, 0x3737596E, 0x6D6DB7DA, 0x8D8D8C01, 0xD5D564B1, 0x4E4ED29C, 0xA9A9E049,
- 0x6C6CB4D8, 0x5656FAAC, 0xF4F407F3, 0xEAEA25CF, 0x6565AFCA, 0x7A7A8EF4, 0xAEAEE947, 0x08081810,
- 0xBABAD56F, 0x787888F0, 0x25256F4A, 0x2E2E725C, 0x1C1C2438, 0xA6A6F157, 0xB4B4C773, 0xC6C65197,
- 0xE8E823CB, 0xDDDD7CA1, 0x74749CE8, 0x1F1F213E, 0x4B4BDD96, 0xBDBDDC61, 0x8B8B860D, 0x8A8A850F,
- 0x707090E0, 0x3E3E427C, 0xB5B5C471, 0x6666AACC, 0x4848D890, 0x03030506, 0xF6F601F7, 0x0E0E121C,
- 0x6161A3C2, 0x35355F6A, 0x5757F9AE, 0xB9B9D069, 0x86869117, 0xC1C15899, 0x1D1D273A, 0x9E9EB927,
- 0xE1E138D9, 0xF8F813EB, 0x9898B32B, 0x11113322, 0x6969BBD2, 0xD9D970A9, 0x8E8E8907, 0x9494A733,
- 0x9B9BB62D, 0x1E1E223C, 0x87879215, 0xE9E920C9, 0xCECE4987, 0x5555FFAA, 0x28287850, 0xDFDF7AA5,
- 0x8C8C8F03, 0xA1A1F859, 0x89898009, 0x0D0D171A, 0xBFBFDA65, 0xE6E631D7, 0x4242C684, 0x6868B8D0,
- 0x4141C382, 0x9999B029, 0x2D2D775A, 0x0F0F111E, 0xB0B0CB7B, 0x5454FCA8, 0xBBBBD66D, 0x16163A2C
- ));
-
- foreach ($t3 as $t3i) {
- $t0[] = (($t3i << 24) & 0xFF000000) | (($t3i >> 8) & 0x00FFFFFF);
- $t1[] = (($t3i << 16) & 0xFFFF0000) | (($t3i >> 16) & 0x0000FFFF);
- $t2[] = (($t3i << 8) & 0xFFFFFF00) | (($t3i >> 24) & 0x000000FF);
- }
-
- $tables = array(
- // The Precomputed mixColumns tables t0 - t3
- $t0,
- $t1,
- $t2,
- $t3,
- // The SubByte S-Box
- array(
- 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76,
- 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0,
- 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15,
- 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75,
- 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84,
- 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF,
- 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8,
- 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2,
- 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73,
- 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB,
- 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79,
- 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08,
- 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A,
- 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E,
- 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF,
- 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16
- )
- );
- }
- return $tables;
- }
-
- /**
- * Provides the inverse mixColumns and inverse sboxes tables
- *
- * @see self::_decryptBlock()
- * @see self::_setupInlineCrypt()
- * @see self::_setupKey()
- * @access private
- * @return array &$tables
- */
- function &_getInvTables()
- {
- static $tables;
- if (empty($tables)) {
- $dt3 = array_map('intval', array(
- 0xF4A75051, 0x4165537E, 0x17A4C31A, 0x275E963A, 0xAB6BCB3B, 0x9D45F11F, 0xFA58ABAC, 0xE303934B,
- 0x30FA5520, 0x766DF6AD, 0xCC769188, 0x024C25F5, 0xE5D7FC4F, 0x2ACBD7C5, 0x35448026, 0x62A38FB5,
- 0xB15A49DE, 0xBA1B6725, 0xEA0E9845, 0xFEC0E15D, 0x2F7502C3, 0x4CF01281, 0x4697A38D, 0xD3F9C66B,
- 0x8F5FE703, 0x929C9515, 0x6D7AEBBF, 0x5259DA95, 0xBE832DD4, 0x7421D358, 0xE0692949, 0xC9C8448E,
- 0xC2896A75, 0x8E7978F4, 0x583E6B99, 0xB971DD27, 0xE14FB6BE, 0x88AD17F0, 0x20AC66C9, 0xCE3AB47D,
- 0xDF4A1863, 0x1A3182E5, 0x51336097, 0x537F4562, 0x6477E0B1, 0x6BAE84BB, 0x81A01CFE, 0x082B94F9,
- 0x48685870, 0x45FD198F, 0xDE6C8794, 0x7BF8B752, 0x73D323AB, 0x4B02E272, 0x1F8F57E3, 0x55AB2A66,
- 0xEB2807B2, 0xB5C2032F, 0xC57B9A86, 0x3708A5D3, 0x2887F230, 0xBFA5B223, 0x036ABA02, 0x16825CED,
- 0xCF1C2B8A, 0x79B492A7, 0x07F2F0F3, 0x69E2A14E, 0xDAF4CD65, 0x05BED506, 0x34621FD1, 0xA6FE8AC4,
- 0x2E539D34, 0xF355A0A2, 0x8AE13205, 0xF6EB75A4, 0x83EC390B, 0x60EFAA40, 0x719F065E, 0x6E1051BD,
- 0x218AF93E, 0xDD063D96, 0x3E05AEDD, 0xE6BD464D, 0x548DB591, 0xC45D0571, 0x06D46F04, 0x5015FF60,
- 0x98FB2419, 0xBDE997D6, 0x4043CC89, 0xD99E7767, 0xE842BDB0, 0x898B8807, 0x195B38E7, 0xC8EEDB79,
- 0x7C0A47A1, 0x420FE97C, 0x841EC9F8, 0x00000000, 0x80868309, 0x2BED4832, 0x1170AC1E, 0x5A724E6C,
- 0x0EFFFBFD, 0x8538560F, 0xAED51E3D, 0x2D392736, 0x0FD9640A, 0x5CA62168, 0x5B54D19B, 0x362E3A24,
- 0x0A67B10C, 0x57E70F93, 0xEE96D2B4, 0x9B919E1B, 0xC0C54F80, 0xDC20A261, 0x774B695A, 0x121A161C,
- 0x93BA0AE2, 0xA02AE5C0, 0x22E0433C, 0x1B171D12, 0x090D0B0E, 0x8BC7ADF2, 0xB6A8B92D, 0x1EA9C814,
- 0xF1198557, 0x75074CAF, 0x99DDBBEE, 0x7F60FDA3, 0x01269FF7, 0x72F5BC5C, 0x663BC544, 0xFB7E345B,
- 0x4329768B, 0x23C6DCCB, 0xEDFC68B6, 0xE4F163B8, 0x31DCCAD7, 0x63851042, 0x97224013, 0xC6112084,
- 0x4A247D85, 0xBB3DF8D2, 0xF93211AE, 0x29A16DC7, 0x9E2F4B1D, 0xB230F3DC, 0x8652EC0D, 0xC1E3D077,
- 0xB3166C2B, 0x70B999A9, 0x9448FA11, 0xE9642247, 0xFC8CC4A8, 0xF03F1AA0, 0x7D2CD856, 0x3390EF22,
- 0x494EC787, 0x38D1C1D9, 0xCAA2FE8C, 0xD40B3698, 0xF581CFA6, 0x7ADE28A5, 0xB78E26DA, 0xADBFA43F,
- 0x3A9DE42C, 0x78920D50, 0x5FCC9B6A, 0x7E466254, 0x8D13C2F6, 0xD8B8E890, 0x39F75E2E, 0xC3AFF582,
- 0x5D80BE9F, 0xD0937C69, 0xD52DA96F, 0x2512B3CF, 0xAC993BC8, 0x187DA710, 0x9C636EE8, 0x3BBB7BDB,
- 0x267809CD, 0x5918F46E, 0x9AB701EC, 0x4F9AA883, 0x956E65E6, 0xFFE67EAA, 0xBCCF0821, 0x15E8E6EF,
- 0xE79BD9BA, 0x6F36CE4A, 0x9F09D4EA, 0xB07CD629, 0xA4B2AF31, 0x3F23312A, 0xA59430C6, 0xA266C035,
- 0x4EBC3774, 0x82CAA6FC, 0x90D0B0E0, 0xA7D81533, 0x04984AF1, 0xECDAF741, 0xCD500E7F, 0x91F62F17,
- 0x4DD68D76, 0xEFB04D43, 0xAA4D54CC, 0x9604DFE4, 0xD1B5E39E, 0x6A881B4C, 0x2C1FB8C1, 0x65517F46,
- 0x5EEA049D, 0x8C355D01, 0x877473FA, 0x0B412EFB, 0x671D5AB3, 0xDBD25292, 0x105633E9, 0xD647136D,
- 0xD7618C9A, 0xA10C7A37, 0xF8148E59, 0x133C89EB, 0xA927EECE, 0x61C935B7, 0x1CE5EDE1, 0x47B13C7A,
- 0xD2DF599C, 0xF2733F55, 0x14CE7918, 0xC737BF73, 0xF7CDEA53, 0xFDAA5B5F, 0x3D6F14DF, 0x44DB8678,
- 0xAFF381CA, 0x68C43EB9, 0x24342C38, 0xA3405FC2, 0x1DC37216, 0xE2250CBC, 0x3C498B28, 0x0D9541FF,
- 0xA8017139, 0x0CB3DE08, 0xB4E49CD8, 0x56C19064, 0xCB84617B, 0x32B670D5, 0x6C5C7448, 0xB85742D0
- ));
-
- foreach ($dt3 as $dt3i) {
- $dt0[] = (($dt3i << 24) & 0xFF000000) | (($dt3i >> 8) & 0x00FFFFFF);
- $dt1[] = (($dt3i << 16) & 0xFFFF0000) | (($dt3i >> 16) & 0x0000FFFF);
- $dt2[] = (($dt3i << 8) & 0xFFFFFF00) | (($dt3i >> 24) & 0x000000FF);
- };
-
- $tables = array(
- // The Precomputed inverse mixColumns tables dt0 - dt3
- $dt0,
- $dt1,
- $dt2,
- $dt3,
- // The inverse SubByte S-Box
- array(
- 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB,
- 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB,
- 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E,
- 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25,
- 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92,
- 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84,
- 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06,
- 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B,
- 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73,
- 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E,
- 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B,
- 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4,
- 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F,
- 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF,
- 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61,
- 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D
- )
- );
- }
- return $tables;
- }
-
- /**
- * Setup the performance-optimized function for de/encrypt()
- *
- * @see \phpseclib\Crypt\Base::_setupInlineCrypt()
- * @access private
- */
- function _setupInlineCrypt()
- {
- // Note: _setupInlineCrypt() will be called only if $this->changed === true
- // So here we are'nt under the same heavy timing-stress as we are in _de/encryptBlock() or de/encrypt().
- // However...the here generated function- $code, stored as php callback in $this->inline_crypt, must work as fast as even possible.
-
- $lambda_functions =& self::_getLambdaFunctions();
-
- // We create max. 10 hi-optimized code for memory reason. Means: For each $key one ultra fast inline-crypt function.
- // (Currently, for Crypt_Rijndael/AES, one generated $lambda_function cost on php5.5@32bit ~80kb unfreeable mem and ~130kb on php5.5@64bit)
- // After that, we'll still create very fast optimized code but not the hi-ultimative code, for each $mode one.
- $gen_hi_opt_code = (bool)(count($lambda_functions) < 10);
-
- // Generation of a uniqe hash for our generated code
- $code_hash = "Crypt_Rijndael, {$this->mode}, {$this->Nr}, {$this->Nb}";
- if ($gen_hi_opt_code) {
- $code_hash = str_pad($code_hash, 32) . $this->_hashInlineCryptFunction($this->key);
- }
-
- if (!isset($lambda_functions[$code_hash])) {
- switch (true) {
- case $gen_hi_opt_code:
- // The hi-optimized $lambda_functions will use the key-words hardcoded for better performance.
- $w = $this->w;
- $dw = $this->dw;
- $init_encrypt = '';
- $init_decrypt = '';
- break;
- default:
- for ($i = 0, $cw = count($this->w); $i < $cw; ++$i) {
- $w[] = '$w[' . $i . ']';
- $dw[] = '$dw[' . $i . ']';
- }
- $init_encrypt = '$w = $self->w;';
- $init_decrypt = '$dw = $self->dw;';
- }
-
- $Nr = $this->Nr;
- $Nb = $this->Nb;
- $c = $this->c;
-
- // Generating encrypt code:
- $init_encrypt.= '
- static $tables;
- if (empty($tables)) {
- $tables = &$self->_getTables();
- }
- $t0 = $tables[0];
- $t1 = $tables[1];
- $t2 = $tables[2];
- $t3 = $tables[3];
- $sbox = $tables[4];
- ';
-
- $s = 'e';
- $e = 's';
- $wc = $Nb - 1;
-
- // Preround: addRoundKey
- $encrypt_block = '$in = unpack("N*", $in);'."\n";
- for ($i = 0; $i < $Nb; ++$i) {
- $encrypt_block .= '$s'.$i.' = $in['.($i + 1).'] ^ '.$w[++$wc].";\n";
- }
-
- // Mainrounds: shiftRows + subWord + mixColumns + addRoundKey
- for ($round = 1; $round < $Nr; ++$round) {
- list($s, $e) = array($e, $s);
- for ($i = 0; $i < $Nb; ++$i) {
- $encrypt_block.=
- '$'.$e.$i.' =
- $t0[($'.$s.$i .' >> 24) & 0xff] ^
- $t1[($'.$s.(($i + $c[1]) % $Nb).' >> 16) & 0xff] ^
- $t2[($'.$s.(($i + $c[2]) % $Nb).' >> 8) & 0xff] ^
- $t3[ $'.$s.(($i + $c[3]) % $Nb).' & 0xff] ^
- '.$w[++$wc].";\n";
- }
- }
-
- // Finalround: subWord + shiftRows + addRoundKey
- for ($i = 0; $i < $Nb; ++$i) {
- $encrypt_block.=
- '$'.$e.$i.' =
- $sbox[ $'.$e.$i.' & 0xff] |
- ($sbox[($'.$e.$i.' >> 8) & 0xff] << 8) |
- ($sbox[($'.$e.$i.' >> 16) & 0xff] << 16) |
- ($sbox[($'.$e.$i.' >> 24) & 0xff] << 24);'."\n";
- }
- $encrypt_block .= '$in = pack("N*"'."\n";
- for ($i = 0; $i < $Nb; ++$i) {
- $encrypt_block.= ',
- ($'.$e.$i .' & '.((int)0xFF000000).') ^
- ($'.$e.(($i + $c[1]) % $Nb).' & 0x00FF0000 ) ^
- ($'.$e.(($i + $c[2]) % $Nb).' & 0x0000FF00 ) ^
- ($'.$e.(($i + $c[3]) % $Nb).' & 0x000000FF ) ^
- '.$w[$i]."\n";
- }
- $encrypt_block .= ');';
-
- // Generating decrypt code:
- $init_decrypt.= '
- static $invtables;
- if (empty($invtables)) {
- $invtables = &$self->_getInvTables();
- }
- $dt0 = $invtables[0];
- $dt1 = $invtables[1];
- $dt2 = $invtables[2];
- $dt3 = $invtables[3];
- $isbox = $invtables[4];
- ';
-
- $s = 'e';
- $e = 's';
- $wc = $Nb - 1;
-
- // Preround: addRoundKey
- $decrypt_block = '$in = unpack("N*", $in);'."\n";
- for ($i = 0; $i < $Nb; ++$i) {
- $decrypt_block .= '$s'.$i.' = $in['.($i + 1).'] ^ '.$dw[++$wc].';'."\n";
- }
-
- // Mainrounds: shiftRows + subWord + mixColumns + addRoundKey
- for ($round = 1; $round < $Nr; ++$round) {
- list($s, $e) = array($e, $s);
- for ($i = 0; $i < $Nb; ++$i) {
- $decrypt_block.=
- '$'.$e.$i.' =
- $dt0[($'.$s.$i .' >> 24) & 0xff] ^
- $dt1[($'.$s.(($Nb + $i - $c[1]) % $Nb).' >> 16) & 0xff] ^
- $dt2[($'.$s.(($Nb + $i - $c[2]) % $Nb).' >> 8) & 0xff] ^
- $dt3[ $'.$s.(($Nb + $i - $c[3]) % $Nb).' & 0xff] ^
- '.$dw[++$wc].";\n";
- }
- }
-
- // Finalround: subWord + shiftRows + addRoundKey
- for ($i = 0; $i < $Nb; ++$i) {
- $decrypt_block.=
- '$'.$e.$i.' =
- $isbox[ $'.$e.$i.' & 0xff] |
- ($isbox[($'.$e.$i.' >> 8) & 0xff] << 8) |
- ($isbox[($'.$e.$i.' >> 16) & 0xff] << 16) |
- ($isbox[($'.$e.$i.' >> 24) & 0xff] << 24);'."\n";
- }
- $decrypt_block .= '$in = pack("N*"'."\n";
- for ($i = 0; $i < $Nb; ++$i) {
- $decrypt_block.= ',
- ($'.$e.$i. ' & '.((int)0xFF000000).') ^
- ($'.$e.(($Nb + $i - $c[1]) % $Nb).' & 0x00FF0000 ) ^
- ($'.$e.(($Nb + $i - $c[2]) % $Nb).' & 0x0000FF00 ) ^
- ($'.$e.(($Nb + $i - $c[3]) % $Nb).' & 0x000000FF ) ^
- '.$dw[$i]."\n";
- }
- $decrypt_block .= ');';
-
- $lambda_functions[$code_hash] = $this->_createInlineCryptFunction(
- array(
- 'init_crypt' => '',
- 'init_encrypt' => $init_encrypt,
- 'init_decrypt' => $init_decrypt,
- 'encrypt_block' => $encrypt_block,
- 'decrypt_block' => $decrypt_block
- )
- );
- }
- $this->inline_crypt = $lambda_functions[$code_hash];
- }
-}
diff --git a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php b/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php
deleted file mode 100644
index 0da0999..0000000
--- a/srcs/phpmyadmin/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-### QRCode For Google2FA
-
-This is package is [Goole2FA](https://github.com/antonioribeiro/google2fa) integrated with a QRCode generator, providing an easy way to plot QRCode for your two factor authentication. For documentation related to Google2FA, please check the [documentation of the main package](https://github.com/antonioribeiro/google2fa).
-
-## Requirements
-
-- PHP 5.4+
-
-## Installing
-
-Use Composer to install it:
-
-```
-composer require pragmarx/google2fa-qrcode
-```
-
-## Using It
-
-### Instantiate it directly
-
-```php
-use PragmaRX\Google2FAQRCode\Google2FA;
-
-$google2fa = new Google2FA();
-
-return $google2fa->generateSecretKey();
-```
-
-## Generating QRCodes
-
-The securer way of creating QRCode is to do it yourself or using a library. First you have to install the BaconQrCode package, as stated above, then you just have to generate the inline string using:
-
-```php
-$inlineUrl = $google2fa->getQRCodeInline(
- $companyName,
- $companyEmail,
- $secretKey
-);
-```
-
-And use it in your blade template this way:
-
-```html
-
-```
-
-```php
-$secretKey = $google2fa->generateSecretKey(16, $userId);
-```
-
-## Show the QR Code to your user, via Google Apis
-
-It's insecure to use it via Google Apis, so you have to enable it before using it.
-
-```php
-$google2fa->setAllowInsecureCallToGoogleApis(true);
-
-$google2fa_url = $google2fa->getQRCodeGoogleUrl(
- 'YourCompany',
- $user->email,
- $user->google2fa_secret
-);
-
-/// and in your view:
-
-
-```
-
-And they should see and scan the QR code to their applications:
-
-
-
-And to verify, you just have to:
-
-```php
-$secret = $request->input('secret');
-
-$valid = $google2fa->verifyKey($user->google2fa_secret, $secret);
-```
-
-## Tests
-
-The package tests were written with [PHPUnit](https://phpunit.de/).
-
-## Authors
-
-- [Antonio Carlos Ribeiro](http://twitter.com/iantonioribeiro)
-- [All Contributors](https://github.com/antonioribeiro/google2fa/graphs/contributors)
-
-## License
-
-Google2FAQRCode is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.
-
-## Contributing
-
-Pull requests and issues are more than welcome.
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/composer.json b/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/composer.json
deleted file mode 100644
index 61fbb7c..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/composer.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "pragmarx/google2fa-qrcode",
- "description": "QR Code package for Google2FA",
- "keywords": ["authentication", "two factor authentication", "google2fa", "2fa", "QRCode", "qr code"],
- "license": "MIT",
- "authors": [
- {
- "name": "Antonio Carlos Ribeiro",
- "email": "acr@antoniocarlosribeiro.com",
- "role": "Creator & Designer"
- }
- ],
- "require": {
- "php": ">=5.4",
- "pragmarx/google2fa": ">=4.0",
- "bacon/bacon-qr-code": "~1.0|~2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~4|~5|~6|~7",
- "khanamiryan/qrcode-detector-decoder": "^1.0"
- },
- "autoload": {
- "psr-4": {
- "PragmaRX\\Google2FAQRCode\\": "src/",
- "PragmaRX\\Google2FAQRCode\\Tests\\": "tests/"
- }
- },
- "extra": {
- "component": "package",
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "minimum-stability": "dev",
- "prefer-stable": true
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/composer.lock b/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/composer.lock
deleted file mode 100644
index 288d67a..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/composer.lock
+++ /dev/null
@@ -1,1903 +0,0 @@
-{
- "_readme": [
- "This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
- "This file is @generated automatically"
- ],
- "content-hash": "f78415814ce04fef409e8941a568f6a7",
- "packages": [
- {
- "name": "bacon/bacon-qr-code",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/Bacon/BaconQrCode.git",
- "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/eaac909da3ccc32b748a65b127acd8918f58d9b0",
- "reference": "eaac909da3ccc32b748a65b127acd8918f58d9b0",
- "shasum": ""
- },
- "require": {
- "dasprid/enum": "^1.0",
- "ext-iconv": "*",
- "php": "^7.1"
- },
- "require-dev": {
- "phly/keep-a-changelog": "^1.4",
- "phpunit/phpunit": "^6.4",
- "squizlabs/php_codesniffer": "^3.1"
- },
- "suggest": {
- "ext-imagick": "to generate QR code images"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "BaconQrCode\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Ben Scholzen 'DASPRiD'",
- "email": "mail@dasprids.de",
- "homepage": "http://www.dasprids.de",
- "role": "Developer"
- }
- ],
- "description": "BaconQrCode is a QR code generator for PHP.",
- "homepage": "https://github.com/Bacon/BaconQrCode",
- "time": "2018-04-25T17:53:56+00:00"
- },
- {
- "name": "dasprid/enum",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/DASPRiD/Enum.git",
- "reference": "631ef6e638e9494b0310837fa531bedd908fc22b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/631ef6e638e9494b0310837fa531bedd908fc22b",
- "reference": "631ef6e638e9494b0310837fa531bedd908fc22b",
- "shasum": ""
- },
- "require-dev": {
- "phpunit/phpunit": "^6.4",
- "squizlabs/php_codesniffer": "^3.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "DASPRiD\\Enum\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Ben Scholzen 'DASPRiD'",
- "email": "mail@dasprids.de",
- "homepage": "https://dasprids.de/"
- }
- ],
- "description": "PHP 7.1 enum implementation",
- "keywords": [
- "enum",
- "map"
- ],
- "time": "2017-10-25T22:45:27+00:00"
- },
- {
- "name": "paragonie/constant_time_encoding",
- "version": "v2.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/55af0dc01992b4d0da7f6372e2eac097bbbaffdb",
- "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb",
- "shasum": ""
- },
- "require": {
- "php": "^7"
- },
- "require-dev": {
- "phpunit/phpunit": "^6|^7",
- "vimeo/psalm": "^1|^2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "ParagonIE\\ConstantTime\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com",
- "role": "Maintainer"
- },
- {
- "name": "Steve 'Sc00bz' Thomas",
- "email": "steve@tobtu.com",
- "homepage": "https://www.tobtu.com",
- "role": "Original Developer"
- }
- ],
- "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
- "keywords": [
- "base16",
- "base32",
- "base32_decode",
- "base32_encode",
- "base64",
- "base64_decode",
- "base64_encode",
- "bin2hex",
- "encoding",
- "hex",
- "hex2bin",
- "rfc4648"
- ],
- "time": "2019-01-03T20:26:31+00:00"
- },
- {
- "name": "paragonie/random_compat",
- "version": "v9.99.99",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "shasum": ""
- },
- "require": {
- "php": "^7"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*|5.*",
- "vimeo/psalm": "^1"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
- },
- "type": "library",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
- }
- ],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
- "keywords": [
- "csprng",
- "polyfill",
- "pseudorandom",
- "random"
- ],
- "time": "2018-07-02T15:55:56+00:00"
- },
- {
- "name": "pragmarx/google2fa",
- "version": "v5.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/antonioribeiro/google2fa.git",
- "reference": "17c969c82f427dd916afe4be50bafc6299aef1b4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/17c969c82f427dd916afe4be50bafc6299aef1b4",
- "reference": "17c969c82f427dd916afe4be50bafc6299aef1b4",
- "shasum": ""
- },
- "require": {
- "paragonie/constant_time_encoding": "~1.0|~2.0",
- "paragonie/random_compat": ">=1",
- "php": ">=5.4",
- "symfony/polyfill-php56": "~1.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~4|~5|~6"
- },
- "type": "library",
- "extra": {
- "component": "package",
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "PragmaRX\\Google2FA\\": "src/",
- "PragmaRX\\Google2FA\\Tests\\": "tests/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Antonio Carlos Ribeiro",
- "email": "acr@antoniocarlosribeiro.com",
- "role": "Creator & Designer"
- }
- ],
- "description": "A One Time Password Authentication package, compatible with Google Authenticator.",
- "keywords": [
- "2fa",
- "Authentication",
- "Two Factor Authentication",
- "google2fa"
- ],
- "time": "2019-03-19T22:44:16+00:00"
- },
- {
- "name": "symfony/polyfill-php56",
- "version": "v1.10.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php56.git",
- "reference": "ff208829fe1aa48ab9af356992bb7199fed551af"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af",
- "reference": "ff208829fe1aa48ab9af356992bb7199fed551af",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "symfony/polyfill-util": "~1.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php56\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2018-09-21T06:26:08+00:00"
- },
- {
- "name": "symfony/polyfill-util",
- "version": "v1.10.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-util.git",
- "reference": "3b58903eae668d348a7126f999b0da0f2f93611c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c",
- "reference": "3b58903eae668d348a7126f999b0da0f2f93611c",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Util\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony utilities for portability of PHP codes",
- "homepage": "https://symfony.com",
- "keywords": [
- "compat",
- "compatibility",
- "polyfill",
- "shim"
- ],
- "time": "2018-09-30T16:36:12+00:00"
- }
- ],
- "packages-dev": [
- {
- "name": "doctrine/instantiator",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
- "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "athletic/athletic": "~0.1.8",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpunit/phpunit": "^6.2.3",
- "squizlabs/php_codesniffer": "^3.0.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://github.com/doctrine/instantiator",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "time": "2017-07-22T11:58:36+00:00"
- },
- {
- "name": "khanamiryan/qrcode-detector-decoder",
- "version": "1.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/khanamiryan/php-qrcode-detector-decoder.git",
- "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/khanamiryan/php-qrcode-detector-decoder/zipball/a75482d3bc804e3f6702332bfda6cccbb0dfaa76",
- "reference": "a75482d3bc804e3f6702332bfda6cccbb0dfaa76",
- "shasum": ""
- },
- "require": {
- "php": "^5.6|^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.7"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Zxing\\": "lib/"
- },
- "files": [
- "lib/Common/customFunctions.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ashot Khanamiryan",
- "email": "a.khanamiryan@gmail.com",
- "homepage": "https://github.com/khanamiryan",
- "role": "Developer"
- }
- ],
- "description": "QR code decoder / reader",
- "homepage": "https://github.com/khanamiryan/php-qrcode-detector-decoder/",
- "keywords": [
- "barcode",
- "qr",
- "zxing"
- ],
- "time": "2018-04-26T11:41:33+00:00"
- },
- {
- "name": "myclabs/deep-copy",
- "version": "1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
- "reference": "3e01bdad3e18354c3dce54466b7fbe33a9f9f7f8",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "replace": {
- "myclabs/deep-copy": "self.version"
- },
- "require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- },
- "files": [
- "src/DeepCopy/deep_copy.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Create deep copies (clones) of your objects",
- "keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
- ],
- "time": "2018-06-11T23:09:50+00:00"
- },
- {
- "name": "phar-io/manifest",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-phar": "*",
- "phar-io/version": "^2.0",
- "php": "^5.6 || ^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
- "time": "2018-07-08T19:23:20+00:00"
- },
- {
- "name": "phar-io/version",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Library for handling version information and constraints",
- "time": "2018-07-08T19:19:57+00:00"
- },
- {
- "name": "phpdocumentor/reflection-common",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.6"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "time": "2017-09-11T18:02:19+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "4.3.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
- "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0.0",
- "phpdocumentor/type-resolver": "^0.4.0",
- "webmozart/assert": "^1.0"
- },
- "require-dev": {
- "doctrine/instantiator": "~1.0.5",
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^6.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2017-11-30T07:14:17+00:00"
- },
- {
- "name": "phpdocumentor/type-resolver",
- "version": "0.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
- "shasum": ""
- },
- "require": {
- "php": "^5.5 || ^7.0",
- "phpdocumentor/reflection-common": "^1.0"
- },
- "require-dev": {
- "mockery/mockery": "^0.9.4",
- "phpunit/phpunit": "^5.2||^4.8.24"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "time": "2017-07-14T14:27:02+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "1.8.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
- "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
- "sebastian/comparator": "^1.1|^2.0|^3.0",
- "sebastian/recursion-context": "^1.0|^2.0|^3.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^2.5|^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.8.x-dev"
- }
- },
- "autoload": {
- "psr-0": {
- "Prophecy\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "time": "2018-08-05T17:53:17+00:00"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "6.1.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
- "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-xmlwriter": "*",
- "php": "^7.1",
- "phpunit/php-file-iterator": "^2.0",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-token-stream": "^3.0",
- "sebastian/code-unit-reverse-lookup": "^1.0.1",
- "sebastian/environment": "^3.1 || ^4.0",
- "sebastian/version": "^2.0.1",
- "theseer/tokenizer": "^1.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0"
- },
- "suggest": {
- "ext-xdebug": "^2.6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "6.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
- "time": "2018-10-31T16:06:48+00:00"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "050bedf145a257b1ff02746c31894800e5122946"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
- "reference": "050bedf145a257b1ff02746c31894800e5122946",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
- "time": "2018-09-13T20:33:42+00:00"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "time": "2015-06-21T13:50:34+00:00"
- },
- {
- "name": "phpunit/php-timer",
- "version": "2.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/8b389aebe1b8b0578430bda0c7c95a829608e059",
- "reference": "8b389aebe1b8b0578430bda0c7c95a829608e059",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "time": "2019-02-20T10:12:59+00:00"
- },
- {
- "name": "phpunit/php-token-stream",
- "version": "3.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18",
- "reference": "c99e3be9d3e85f60646f152f9002d46ed7770d18",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
- "keywords": [
- "tokenizer"
- ],
- "time": "2018-10-30T05:52:18+00:00"
- },
- {
- "name": "phpunit/phpunit",
- "version": "7.5.7",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "eb343b86753d26de07ecba7868fa983104361948"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/eb343b86753d26de07ecba7868fa983104361948",
- "reference": "eb343b86753d26de07ecba7868fa983104361948",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.1",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "myclabs/deep-copy": "^1.7",
- "phar-io/manifest": "^1.0.2",
- "phar-io/version": "^2.0",
- "php": "^7.1",
- "phpspec/prophecy": "^1.7",
- "phpunit/php-code-coverage": "^6.0.7",
- "phpunit/php-file-iterator": "^2.0.1",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-timer": "^2.1",
- "sebastian/comparator": "^3.0",
- "sebastian/diff": "^3.0",
- "sebastian/environment": "^4.0",
- "sebastian/exporter": "^3.1",
- "sebastian/global-state": "^2.0",
- "sebastian/object-enumerator": "^3.0.3",
- "sebastian/resource-operations": "^2.0",
- "sebastian/version": "^2.0.1"
- },
- "conflict": {
- "phpunit/phpunit-mock-objects": "*"
- },
- "require-dev": {
- "ext-pdo": "*"
- },
- "suggest": {
- "ext-soap": "*",
- "ext-xdebug": "*",
- "phpunit/php-invoker": "^2.0"
- },
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "7.5-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "time": "2019-03-16T07:31:17+00:00"
- },
- {
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.7 || ^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "time": "2017-03-04T06:30:41+00:00"
- },
- {
- "name": "sebastian/comparator",
- "version": "3.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
- "shasum": ""
- },
- "require": {
- "php": "^7.1",
- "sebastian/diff": "^3.0",
- "sebastian/exporter": "^3.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "time": "2018-07-12T15:12:46+00:00"
- },
- {
- "name": "sebastian/diff",
- "version": "3.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
- "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.5 || ^8.0",
- "symfony/process": "^2 || ^3.3 || ^4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
- "time": "2019-02-04T06:01:07+00:00"
- },
- {
- "name": "sebastian/environment",
- "version": "4.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "6fda8ce1974b62b14935adc02a9ed38252eca656"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6fda8ce1974b62b14935adc02a9ed38252eca656",
- "reference": "6fda8ce1974b62b14935adc02a9ed38252eca656",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.5"
- },
- "suggest": {
- "ext-posix": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "time": "2019-02-01T05:27:49+00:00"
- },
- {
- "name": "sebastian/exporter",
- "version": "3.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "234199f4528de6d12aaa58b612e98f7d36adb937"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937",
- "reference": "234199f4528de6d12aaa58b612e98f7d36adb937",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "time": "2017-04-03T13:19:02+00:00"
- },
- {
- "name": "sebastian/global-state",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
- "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "suggest": {
- "ext-uopz": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "time": "2017-04-27T15:39:26+00:00"
- },
- {
- "name": "sebastian/object-enumerator",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "sebastian/object-reflector": "^1.1.1",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "time": "2017-08-03T12:35:26+00:00"
- },
- {
- "name": "sebastian/object-reflector",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "773f97c67f28de00d397be301821b06708fca0be"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
- "reference": "773f97c67f28de00d397be301821b06708fca0be",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "time": "2017-03-29T09:07:27+00:00"
- },
- {
- "name": "sebastian/recursion-context",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "time": "2017-03-03T06:23:57+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "time": "2018-10-04T04:07:39+00:00"
- },
- {
- "name": "sebastian/version",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "time": "2016-10-03T07:35:21+00:00"
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.10.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
- "reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- },
- {
- "name": "Gert de Pagter",
- "email": "backendtea@gmail.com"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
- "time": "2018-08-06T14:22:27+00:00"
- },
- {
- "name": "theseer/tokenizer",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/theseer/tokenizer.git",
- "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/cb2f008f3f05af2893a87208fe6a6c4985483f8b",
- "reference": "cb2f008f3f05af2893a87208fe6a6c4985483f8b",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": "^7.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- }
- ],
- "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "time": "2017-04-07T12:08:54+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozart/assert.git",
- "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9",
- "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.6",
- "sebastian/version": "^1.0.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "time": "2018-12-25T11:19:39+00:00"
- }
- ],
- "aliases": [],
- "minimum-stability": "dev",
- "stability-flags": [],
- "prefer-stable": true,
- "prefer-lowest": false,
- "platform": {
- "php": ">=5.4"
- },
- "platform-dev": []
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/phpunit.xml b/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/phpunit.xml
deleted file mode 100644
index 79ac51d..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/phpunit.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
- ./tests
-
-
-
-
-
-
-
-
-
-
-
- ./src
-
-
-
-
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/src/Google2FA.php b/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/src/Google2FA.php
deleted file mode 100644
index a4d6340..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/src/Google2FA.php
+++ /dev/null
@@ -1,134 +0,0 @@
-getBaconQRCodeVersion() === 1) {
- if ($imageBackEnd instanceof RendererInterface) {
- $this->imageBackEnd = $imageBackEnd;
- } else {
- $this->imageBackEnd = new Png();
- }
- } else {
- if ($imageBackEnd instanceof ImageBackEndInterface) {
- $this->imageBackEnd = $imageBackEnd;
- } else {
- $this->imageBackEnd = new ImagickImageBackEnd();
- }
- }
- }
-
- /**
- * Generates a QR code data url to display inline.
- *
- * @param string $company
- * @param string $holder
- * @param string $secret
- * @param int $size
- * @param string $encoding Default to UTF-8
- *
- * @return string
- */
- public function getQRCodeInline($company, $holder, $secret, $size = 200, $encoding = 'utf-8')
- {
- return $this->getBaconQRCodeVersion() === 1
- ? $this->getQRCodeInlineV1($company, $holder, $secret, $size, $encoding)
- : $this->getQRCodeInlineV2($company, $holder, $secret, $size, $encoding);
- }
-
- /**
- * Generates a QR code data url to display inline for Bacon QRCode v1
- *
- * @param string $company
- * @param string $holder
- * @param string $secret
- * @param int $size
- * @param string $encoding Default to UTF-8
- *
- * @return string
- */
- public function getQRCodeInlineV1($company, $holder, $secret, $size = 200, $encoding = 'utf-8')
- {
- $url = $this->getQRCodeUrl($company, $holder, $secret);
-
- $renderer = $this->imageBackEnd;
- $renderer->setWidth($size);
- $renderer->setHeight($size);
-
- $bacon = new BaconQrCodeWriter($renderer);
- $data = $bacon->writeString($url, $encoding);
-
- if ($this->imageBackEnd instanceof Png) {
- return 'data:image/png;base64,'.base64_encode($data);
- }
- return $data;
- }
-
- /**
- * Generates a QR code data url to display inline for Bacon QRCode v2
- *
- * @param string $company
- * @param string $holder
- * @param string $secret
- * @param int $size
- * @param string $encoding Default to UTF-8
- *
- * @return string
- */
- public function getQRCodeInlineV2($company, $holder, $secret, $size = 200, $encoding = 'utf-8')
- {
- $renderer = new ImageRenderer(
- (new RendererStyle($size))->withSize($size),
- $this->imageBackEnd
- );
-
- $bacon = new Writer($renderer);
-
- $data = $bacon->writeString(
- $this->getQRCodeUrl($company, $holder, $secret),
- $encoding
- );
-
- if ($this->imageBackEnd instanceof ImagickImageBackEnd) {
- return 'data:image/png;base64,'.base64_encode($data);
- }
-
- return $data;
- }
-
- /**
- * Get Bacon QRCode current version
- *
- * @return int
- */
- public function getBaconQRCodeVersion()
- {
- return class_exists('BaconQrCode\Renderer\Image\Png') && class_exists('BaconQrCode\Writer')
- ? 1
- : 2;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/.gitkeep b/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/Constants.php b/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/Constants.php
deleted file mode 100644
index c5970ef..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/Constants.php
+++ /dev/null
@@ -1,14 +0,0 @@
-google2fa = new Google2FA();
- }
-
- public function readQRCode($data)
- {
- list(, $data) = explode(';', $data);
-
- list(, $data) = explode(',', $data);
-
- return rawurldecode((new QrReader(base64_decode($data), QrReader::SOURCE_TYPE_BLOB))->text());
- }
-
- public function testQrcodeInline()
- {
- $this->assertEquals(
- static::OTP_URL,
- $this->readQRCode($this->google2fa->getQRCodeInline('PragmaRX', static::EMAIL, Constants::SECRET))
- );
-
- if ($this->google2fa->getBaconQRCodeVersion() === 1) {
- $google2fa = new Google2FA(new Png());
- $this->assertEquals(
- static::OTP_URL,
- $this->readQRCode($google2fa->getQRCodeInline('PragmaRX', static::EMAIL, Constants::SECRET))
- );
- } else {
- $google2fa = new Google2FA(new ImagickImageBackEnd());
- $this->assertEquals(
- static::OTP_URL,
- $this->readQRCode($google2fa->getQRCodeInline('PragmaRX', static::EMAIL, Constants::SECRET))
- );
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/bootstrap.php b/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/bootstrap.php
deleted file mode 100644
index 56032ea..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa-qrcode/tests/bootstrap.php
+++ /dev/null
@@ -1,42 +0,0 @@
-
- Google API for QR generator is turned off.
-
-
-All version of that package prior to 5.0.0 are deprecated. Please upgrade and check documentation regarding [QRCode generation](https://github.com/antonioribeiro/google2fa#generating-qrcodes).
-
-# Google2FA
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-### Google Two-Factor Authentication for PHP Package
-
-Google2FA is a PHP implementation of the Google Two-Factor Authentication Module, supporting the HMAC-Based One-time Password (HOTP) algorithm specified in [RFC 4226](https://tools.ietf.org/html/rfc4226) and the Time-based One-time Password (TOTP) algorithm specified in [RFC 6238](https://tools.ietf.org/html/rfc6238).
-
-This package is agnostic, but there's a [Laravel bridge](https://github.com/antonioribeiro/google2fa-laravel).
-
-### QRCode
-
-This package does not generate QRCodes for 2FA.
-
-If you are looking for Google Two-Factor Authentication, but also need to generate QRCode for it, you can use the [Google2FA QRCode package](https://github.com/antonioribeiro/google2fa-qrcode), which integrates this package and also generates QRCodes using the BaconQRCode library, or check options on how to do it yourself [here in the docs](#qr-code-packages).
-
-## Demos, Example & Playground
-
-Please check the [Google2FA Package Playground](http://pragmarx.com/playground/google2fa).
-
-
-
-Here's an demo app showing how to use Google2FA: [google2fa-example](https://github.com/antonioribeiro/google2fa-example).
-
-You can scan the QR code on [this (old) demo page](https://antoniocarlosribeiro.com/technology/google2fa) with a Google Authenticator app and view the code changing (almost) in real time.
-
-## Requirements
-
-- PHP 5.4+
-
-## Installing
-
-Use Composer to install it:
-
- composer require pragmarx/google2fa
-
-To generate inline QRCodes, you'll need to install a QR code generator, e.g. [BaconQrCode](https://github.com/Bacon/BaconQrCode):
-
- composer require bacon/bacon-qr-code
-
-## Using It
-
-### Instantiate it directly
-
-```php
-use PragmaRX\Google2FA\Google2FA;
-
-$google2fa = new Google2FA();
-
-return $google2fa->generateSecretKey();
-```
-
-## How To Generate And Use Two Factor Authentication
-
-Generate a secret key for your user and save it:
-
-```php
-$user->google2fa_secret = $google2fa->generateSecretKey();
-```
-
-## Generating QRCodes
-
-The securer way of creating QRCode is to do it yourself or using a library. First you have to install a QR code generator e.g. BaconQrCode, as stated above, then you just have to generate the QR code url using:
-
-```php
-$qrCodeUrl = $google2fa->getQRCodeUrl(
- $companyName,
- $companyEmail,
- $secretKey
-);
-```
-
-Once you have the QR code url, you can feed it to your preferred QR code generator.
-
-```php
-// Use your own QR Code generator to generate a data URL:
-$google2fa_url = custom_generate_qrcode_url($qrCodeUrl);
-
-/// and in your view:
-
-
-```
-
-And to verify, you just have to:
-
-```php
-$secret = $request->input('secret');
-
-$valid = $google2fa->verifyKey($user->google2fa_secret, $secret);
-```
-
-## QR Code Packages
-
-This package suggests the use of [Bacon/QRCode](https://github.com/Bacon/BaconQrCode) because
-it is known as a good QR Code package, but you can use it with any other package, for
-instance [Google2FA QRCode](https://github.com/antonioribeiro/google2fa-qrcode),
-[Simple QrCode](https://www.simplesoftware.io/docs/simple-qrcode)
-or [Endroid QR Code](https://github.com/endroid/qr-code), all of them use
-[Bacon/QRCode](https://github.com/Bacon/BaconQrCode) to produce QR Codes.
-
-Usually you'll need a 2FA URL, so you just have to use the URL generator:
-
-```php
-$google2fa->getQRCodeUrl($companyName, $companyEmail, $secretKey)
-```
-
-### Examples of Usage
-
-#### [Google2FA QRCode](https://github.com/antonioribeiro/google2fa-qrcode)
-
-Get a QRCode to be used inline:
-
-```php
-$google2fa = (new \PragmaRX\Google2FAQRCode\Google2FA());
-
-$inlineUrl = $google2fa->getQRCodeInline(
- 'Company Name',
- 'company@email.com',
- $google2fa->generateSecretKey()
-);
-```
-
-And use in your template:
-
-```php
-
-```
-
-#### [Simple QrCode](https://www.simplesoftware.io/docs/simple-qrcode)
-
-```php
-
- {!! QrCode::size(100)->generate($google2fa->getQRCodeUrl($companyName, $companyEmail, $secretKey)); !!}
-
Scan me to return to the original page.
-
-```
-
-#### [Endroid QR Code Generator](https://github.com/endroid/qr-code)
-
-Generate the data URL
-
-```php
-
-$qrCode = new \Endroid\QrCode\QrCode($value);
-$qrCode->setSize(100);
-$google2fa_url = $qrCode->writeDataUri();
-```
-
-And in your view
-
-```php
-
- {!! $google2fa_url !!}
-
Scan me to return to the original page.
-
-```
-
-#### [Bacon/QRCode](https://github.com/Bacon/BaconQrCode)
-
-```php
-getQRCodeUrl(
- 'pragmarx',
- 'google2fa@pragmarx.com',
- $google2fa->generateSecretKey()
-);
-
-$writer = new Writer(
- new ImageRenderer(
- new RendererStyle(400),
- new ImagickImageBackEnd()
- )
-);
-
-$qrcode_image = base64_encode($writer->writeString($g2faUrl));
-```
-
-And show it as an image:
-
-```php
-
-```
-
-## Server Time
-
-It's really important that you keep your server time in sync with some NTP server, on Ubuntu you can add this to the crontab:
-
-```bash
-sudo service ntp stop
-sudo ntpd -gq
-sudo service ntp start
-```
-
-## Validation Window
-
-To avoid problems with clocks that are slightly out of sync, we do not check against the current key only but also consider `$window` keys each from the past and future. You can pass `$window` as optional third parameter to `verifyKey`, it defaults to `4`. A new key is generated every 30 seconds, so this window includes keys from the previous two and next two minutes.
-
-```php
-$secret = $request->input('secret');
-
-$window = 8; // 8 keys (respectively 4 minutes) past and future
-
-$valid = $google2fa->verifyKey($user->google2fa_secret, $secret, $window);
-```
-
-An attacker might be able to watch the user entering his credentials and one time key.
-Without further precautions, the key remains valid until it is no longer within the window of the server time. In order to prevent usage of a one time key that has already been used, you can utilize the `verifyKeyNewer` function.
-
-```php
-$secret = $request->input('secret');
-
-$timestamp = $google2fa->verifyKeyNewer($user->google2fa_secret, $secret, $user->google2fa_ts);
-
-if ($timestamp !== false) {
- $user->update(['google2fa_ts' => $timestamp]);
- // successful
-} else {
- // failed
-}
-```
-
-Note that `$timestamp` either `false` (if the key is invalid or has been used before) or the provided key's unix timestamp divided by the key regeneration period of 30 seconds.
-
-## Using a Bigger and Prefixing the Secret Key
-
-Although the probability of collision of a 16 bytes (128 bits) random string is very low, you can harden it by:
-
-#### Use a bigger key
-
-```php
-$secretKey = $google2fa->generateSecretKey(32); // defaults to 16 bytes
-```
-
-#### You can prefix your secret keys
-
-You may prefix your secret keys, but you have to understand that, as your secret key must have length in power of 2, your prefix will have to have a complementary size. So if your key is 16 bytes long, if you add a prefix it must be also 16 bytes long, but as your prefixes will be converted to base 32, the max length of your prefix is 10 bytes. So, those are the sizes you can use in your prefixes:
-
-```
-1, 2, 5, 10, 20, 40, 80...
-```
-
-And it can be used like so:
-
-```php
-$prefix = strpad($userId, 10, 'X');
-
-$secretKey = $google2fa->generateSecretKey(16, $prefix);
-```
-
-#### Window
-
-The Window property defines how long a OTP will work, or how many cycles it will last. A key has a 30 seconds cycle, setting the window to 0 will make the key lasts for those 30 seconds, setting it to 2 will make it last for 120 seconds. This is how you set the window:
-
-```php
-$secretKey = $google2fa->setWindow(4);
-```
-
-But you can also set the window while checking the key. If you need to set a window of 4 during key verification, this is how you do:
-
-```php
-$isValid = $google2fa->verifyKey($seed, $key, 4);
-```
-
-#### Key Regeneration Interval
-
-You can change key regeneration interval, which defaults to 30 seconds, but remember that this is a default value on most authentication apps, like Google Authenticator, which will, basically, make your app out of sync with them.
-
-```php
-$google2fa->setKeyRegeneration(40);
-```
-
-## Google Authenticator secret key compatibility
-
-To be compatible with Google Authenticator, your (converted to base 32) secret key length must be at least 8 chars and be a power of 2: 8, 16, 32, 64...
-
-So, to prevent errors, you can do something like this while generating it:
-
-```php
-$secretKey = '123456789';
-
-$secretKey = str_pad($secretKey, pow(2,ceil(log(strlen($secretKey),2))), 'X');
-```
-
-And it will generate
-
-```
-123456789XXXXXXX
-```
-
-By default, this package will enforce compatibility, but, if Google Authenticator is not a target, you can disable it by doing
-
-```php
-$google2fa->setEnforceGoogleAuthenticatorCompatibility(false);
-```
-
-## Google Authenticator Apps:
-
-To use the two factor authentication, your user will have to install a Google Authenticator compatible app, those are some of the currently available:
-
-* [Authy for iOS, Android, Chrome, OS X](https://www.authy.com/)
-* [FreeOTP for iOS, Android and Pebble](https://apps.getpebble.com/en_US/application/52f1a4c3c4117252f9000bb8)
-* [Google Authenticator for iOS](https://itunes.apple.com/us/app/google-authenticator/id388497605?mt=8)
-* [Google Authenticator for Android](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2)
-* [Google Authenticator (port) on Windows Store](https://www.microsoft.com/en-us/store/p/google-authenticator/9wzdncrdnkrf)
-* [Microsoft Authenticator for Windows Phone](https://www.microsoft.com/en-us/store/apps/authenticator/9wzdncrfj3rj)
-* [LastPass Authenticator for iOS, Android, OS X, Windows](https://lastpass.com/auth/)
-* [1Password for iOS, Android, OS X, Windows](https://1password.com)
-
-## Tests
-
-The package tests were written with [PHPUnit](https://phpunit.de/).
-
-## Authors
-
-- [Antonio Carlos Ribeiro](http://twitter.com/iantonioribeiro)
-- [Phil (Orginal author of this class)](https://www.idontplaydarts.com/static/ga.php_.txt)
-- [All Contributors](https://github.com/antonioribeiro/google2fa/graphs/contributors)
-
-## License
-
-Google2FA is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.
-
-## Contributing
-
-Pull requests and issues are more than welcome.
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/RELICENSED.md b/srcs/phpmyadmin/vendor/pragmarx/google2fa/RELICENSED.md
deleted file mode 100644
index 28e582d..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa/RELICENSED.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Package Relicensed
-
-As per [Issue #100](https://github.com/antonioribeiro/google2fa/issues/100) the relicensing of this package from GPLv3 to MIT was approved by the original developer of the Google2FA class (Phil) and the majority of the contributors, by contributions, of this package.
-
-# Original License
-
-``` php
-/**
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- * PHP Google two-factor authentication module.
- *
- * See https://www.idontplaydarts.com/2011/07/google-totp-two-factor-authentication-for-php/
- * for more details
- *
- * @author Phil
- **/
-```
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/composer.json b/srcs/phpmyadmin/vendor/pragmarx/google2fa/composer.json
deleted file mode 100644
index 3e39337..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa/composer.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "pragmarx/google2fa",
- "description": "A One Time Password Authentication package, compatible with Google Authenticator.",
- "keywords": [
- "authentication",
- "two factor authentication",
- "google2fa",
- "2fa"
- ],
- "license": "MIT",
- "authors": [
- {
- "name": "Antonio Carlos Ribeiro",
- "email": "acr@antoniocarlosribeiro.com",
- "role": "Creator & Designer"
- }
- ],
- "require": {
- "php": ">=5.4",
- "paragonie/constant_time_encoding": "~1.0|~2.0",
- "paragonie/random_compat": ">=1",
- "symfony/polyfill-php56": "~1.2"
- },
- "require-dev": {
- "phpunit/phpunit": "~4|~5|~6|~7|~8"
- },
- "autoload": {
- "psr-4": {
- "PragmaRX\\Google2FA\\": "src/",
- "PragmaRX\\Google2FA\\Tests\\": "tests/"
- }
- },
- "extra": {
- "component": "package",
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "minimum-stability": "dev",
- "prefer-stable": true
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/composer.lock b/srcs/phpmyadmin/vendor/pragmarx/google2fa/composer.lock
deleted file mode 100644
index 47dc98c..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa/composer.lock
+++ /dev/null
@@ -1,1755 +0,0 @@
-{
- "_readme": [
- "This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
- "This file is @generated automatically"
- ],
- "content-hash": "10981c3ff06d22f2c3baee01bee773d0",
- "packages": [
- {
- "name": "paragonie/constant_time_encoding",
- "version": "v2.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/55af0dc01992b4d0da7f6372e2eac097bbbaffdb",
- "reference": "55af0dc01992b4d0da7f6372e2eac097bbbaffdb",
- "shasum": ""
- },
- "require": {
- "php": "^7"
- },
- "require-dev": {
- "phpunit/phpunit": "^6|^7",
- "vimeo/psalm": "^1|^2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "ParagonIE\\ConstantTime\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com",
- "role": "Maintainer"
- },
- {
- "name": "Steve 'Sc00bz' Thomas",
- "email": "steve@tobtu.com",
- "homepage": "https://www.tobtu.com",
- "role": "Original Developer"
- }
- ],
- "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)",
- "keywords": [
- "base16",
- "base32",
- "base32_decode",
- "base32_encode",
- "base64",
- "base64_decode",
- "base64_encode",
- "bin2hex",
- "encoding",
- "hex",
- "hex2bin",
- "rfc4648"
- ],
- "time": "2019-01-03T20:26:31+00:00"
- },
- {
- "name": "paragonie/random_compat",
- "version": "v9.99.99",
- "source": {
- "type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95",
- "shasum": ""
- },
- "require": {
- "php": "^7"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*|5.*",
- "vimeo/psalm": "^1"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
- },
- "type": "library",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
- }
- ],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
- "keywords": [
- "csprng",
- "polyfill",
- "pseudorandom",
- "random"
- ],
- "time": "2018-07-02T15:55:56+00:00"
- },
- {
- "name": "symfony/polyfill-php56",
- "version": "v1.12.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php56.git",
- "reference": "0e3b212e96a51338639d8ce175c046d7729c3403"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/0e3b212e96a51338639d8ce175c046d7729c3403",
- "reference": "0e3b212e96a51338639d8ce175c046d7729c3403",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "symfony/polyfill-util": "~1.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.12-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php56\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "time": "2019-08-06T08:03:45+00:00"
- },
- {
- "name": "symfony/polyfill-util",
- "version": "v1.12.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-util.git",
- "reference": "4317de1386717b4c22caed7725350a8887ab205c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4317de1386717b4c22caed7725350a8887ab205c",
- "reference": "4317de1386717b4c22caed7725350a8887ab205c",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.12-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Util\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony utilities for portability of PHP codes",
- "homepage": "https://symfony.com",
- "keywords": [
- "compat",
- "compatibility",
- "polyfill",
- "shim"
- ],
- "time": "2019-08-06T08:03:45+00:00"
- }
- ],
- "packages-dev": [
- {
- "name": "doctrine/instantiator",
- "version": "1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "a2c590166b2133a4633738648b6b064edae0814a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a",
- "reference": "a2c590166b2133a4633738648b6b064edae0814a",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "doctrine/coding-standard": "^6.0",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^0.13",
- "phpstan/phpstan-phpunit": "^0.11",
- "phpstan/phpstan-shim": "^0.11",
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "http://ocramius.github.com/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "time": "2019-03-17T17:37:11+00:00"
- },
- {
- "name": "myclabs/deep-copy",
- "version": "1.9.3",
- "source": {
- "type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea",
- "reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "replace": {
- "myclabs/deep-copy": "self.version"
- },
- "require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- },
- "files": [
- "src/DeepCopy/deep_copy.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Create deep copies (clones) of your objects",
- "keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
- ],
- "time": "2019-08-09T12:45:53+00:00"
- },
- {
- "name": "phar-io/manifest",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
- "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-phar": "*",
- "phar-io/version": "^2.0",
- "php": "^5.6 || ^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
- "time": "2018-07-08T19:23:20+00:00"
- },
- {
- "name": "phar-io/version",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6",
- "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "Developer"
- }
- ],
- "description": "Library for handling version information and constraints",
- "time": "2018-07-08T19:19:57+00:00"
- },
- {
- "name": "phpdocumentor/reflection-common",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.6"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "time": "2017-09-11T18:02:19+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "4.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c",
- "reference": "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0.0",
- "phpdocumentor/type-resolver": "^0.4.0",
- "webmozart/assert": "^1.0"
- },
- "require-dev": {
- "doctrine/instantiator": "~1.0.5",
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^6.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2019-04-30T17:48:53+00:00"
- },
- {
- "name": "phpdocumentor/type-resolver",
- "version": "0.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
- "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
- "shasum": ""
- },
- "require": {
- "php": "^5.5 || ^7.0",
- "phpdocumentor/reflection-common": "^1.0"
- },
- "require-dev": {
- "mockery/mockery": "^0.9.4",
- "phpunit/phpunit": "^5.2||^4.8.24"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "time": "2017-07-14T14:27:02+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76",
- "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
- "sebastian/comparator": "^1.1|^2.0|^3.0",
- "sebastian/recursion-context": "^1.0|^2.0|^3.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^2.5|^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.8.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Prophecy\\": "src/Prophecy"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "time": "2019-06-13T12:50:23+00:00"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "7.0.7",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7743bbcfff2a907e9ee4a25be13d0f8ec5e73800",
- "reference": "7743bbcfff2a907e9ee4a25be13d0f8ec5e73800",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-xmlwriter": "*",
- "php": "^7.2",
- "phpunit/php-file-iterator": "^2.0.2",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-token-stream": "^3.1.0",
- "sebastian/code-unit-reverse-lookup": "^1.0.1",
- "sebastian/environment": "^4.2.2",
- "sebastian/version": "^2.0.1",
- "theseer/tokenizer": "^1.1.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.2.2"
- },
- "suggest": {
- "ext-xdebug": "^2.7.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "7.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
- "time": "2019-07-25T05:31:54+00:00"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "050bedf145a257b1ff02746c31894800e5122946"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946",
- "reference": "050bedf145a257b1ff02746c31894800e5122946",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
- "time": "2018-09-13T20:33:42+00:00"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "time": "2015-06-21T13:50:34+00:00"
- },
- {
- "name": "phpunit/php-timer",
- "version": "2.1.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "1038454804406b0b5f5f520358e78c1c2f71501e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e",
- "reference": "1038454804406b0b5f5f520358e78c1c2f71501e",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "time": "2019-06-07T04:22:29+00:00"
- },
- {
- "name": "phpunit/php-token-stream",
- "version": "3.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e899757bb3df5ff6e95089132f32cd59aac2220a",
- "reference": "e899757bb3df5ff6e95089132f32cd59aac2220a",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
- "keywords": [
- "tokenizer"
- ],
- "time": "2019-07-25T05:29:42+00:00"
- },
- {
- "name": "phpunit/phpunit",
- "version": "8.3.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e31cce0cf4499c0ccdbbb211a3280d36ab341e36",
- "reference": "e31cce0cf4499c0ccdbbb211a3280d36ab341e36",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.2.0",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.9.1",
- "phar-io/manifest": "^1.0.3",
- "phar-io/version": "^2.0.1",
- "php": "^7.2",
- "phpspec/prophecy": "^1.8.1",
- "phpunit/php-code-coverage": "^7.0.7",
- "phpunit/php-file-iterator": "^2.0.2",
- "phpunit/php-text-template": "^1.2.1",
- "phpunit/php-timer": "^2.1.2",
- "sebastian/comparator": "^3.0.2",
- "sebastian/diff": "^3.0.2",
- "sebastian/environment": "^4.2.2",
- "sebastian/exporter": "^3.1.0",
- "sebastian/global-state": "^3.0.0",
- "sebastian/object-enumerator": "^3.0.3",
- "sebastian/resource-operations": "^2.0.1",
- "sebastian/type": "^1.1.3",
- "sebastian/version": "^2.0.1"
- },
- "require-dev": {
- "ext-pdo": "*"
- },
- "suggest": {
- "ext-soap": "*",
- "ext-xdebug": "*",
- "phpunit/php-invoker": "^2.0.0"
- },
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "8.3-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "time": "2019-08-11T06:56:55+00:00"
- },
- {
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.7 || ^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "time": "2017-03-04T06:30:41+00:00"
- },
- {
- "name": "sebastian/comparator",
- "version": "3.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
- "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da",
- "shasum": ""
- },
- "require": {
- "php": "^7.1",
- "sebastian/diff": "^3.0",
- "sebastian/exporter": "^3.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "time": "2018-07-12T15:12:46+00:00"
- },
- {
- "name": "sebastian/diff",
- "version": "3.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
- "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.5 || ^8.0",
- "symfony/process": "^2 || ^3.3 || ^4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
- "time": "2019-02-04T06:01:07+00:00"
- },
- {
- "name": "sebastian/environment",
- "version": "4.2.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/f2a2c8e1c97c11ace607a7a667d73d47c19fe404",
- "reference": "f2a2c8e1c97c11ace607a7a667d73d47c19fe404",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^7.5"
- },
- "suggest": {
- "ext-posix": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.2-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "time": "2019-05-05T09:05:15+00:00"
- },
- {
- "name": "sebastian/exporter",
- "version": "3.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "06a9a5947f47b3029d76118eb5c22802e5869687"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/06a9a5947f47b3029d76118eb5c22802e5869687",
- "reference": "06a9a5947f47b3029d76118eb5c22802e5869687",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.1.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "time": "2019-08-11T12:43:14+00:00"
- },
- {
- "name": "sebastian/global-state",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
- "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4",
- "shasum": ""
- },
- "require": {
- "php": "^7.2",
- "sebastian/object-reflector": "^1.1.1",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "ext-dom": "*",
- "phpunit/phpunit": "^8.0"
- },
- "suggest": {
- "ext-uopz": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "time": "2019-02-01T05:30:01+00:00"
- },
- {
- "name": "sebastian/object-enumerator",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5",
- "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "sebastian/object-reflector": "^1.1.1",
- "sebastian/recursion-context": "^3.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "time": "2017-08-03T12:35:26+00:00"
- },
- {
- "name": "sebastian/object-reflector",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "773f97c67f28de00d397be301821b06708fca0be"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be",
- "reference": "773f97c67f28de00d397be301821b06708fca0be",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
- "time": "2017-03-29T09:07:27+00:00"
- },
- {
- "name": "sebastian/recursion-context",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
- "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8",
- "shasum": ""
- },
- "require": {
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "time": "2017-03-03T06:23:57+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
- "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9",
- "shasum": ""
- },
- "require": {
- "php": "^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "time": "2018-10-04T04:07:39+00:00"
- },
- {
- "name": "sebastian/type",
- "version": "1.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/type.git",
- "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3",
- "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3",
- "shasum": ""
- },
- "require": {
- "php": "^7.2"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Collection of value objects that represent the types of the PHP type system",
- "homepage": "https://github.com/sebastianbergmann/type",
- "time": "2019-07-02T08:10:15+00:00"
- },
- {
- "name": "sebastian/version",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "time": "2016-10-03T07:35:21+00:00"
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.12.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "550ebaac289296ce228a706d0867afc34687e3f4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4",
- "reference": "550ebaac289296ce228a706d0867afc34687e3f4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.12-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
- "files": [
- "bootstrap.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
- "time": "2019-08-06T08:03:45+00:00"
- },
- {
- "name": "theseer/tokenizer",
- "version": "1.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/theseer/tokenizer.git",
- "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
- "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": "^7.0"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Arne Blankerts",
- "role": "Developer",
- "email": "arne@blankerts.de"
- }
- ],
- "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
- "time": "2019-06-13T22:48:21+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozart/assert.git",
- "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4",
- "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^7.5.13"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "time": "2019-08-24T08:43:50+00:00"
- }
- ],
- "aliases": [],
- "minimum-stability": "dev",
- "stability-flags": [],
- "prefer-stable": true,
- "prefer-lowest": false,
- "platform": {
- "php": ">=5.4"
- },
- "platform-dev": []
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/docs/playground.jpg b/srcs/phpmyadmin/vendor/pragmarx/google2fa/docs/playground.jpg
deleted file mode 100644
index 0561403..0000000
Binary files a/srcs/phpmyadmin/vendor/pragmarx/google2fa/docs/playground.jpg and /dev/null differ
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/phpunit.xml b/srcs/phpmyadmin/vendor/pragmarx/google2fa/phpunit.xml
deleted file mode 100644
index 79ac51d..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa/phpunit.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
- ./tests
-
-
-
-
-
-
-
-
-
-
-
- ./src
-
-
-
-
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/Contracts/Google2FA.php b/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/Contracts/Google2FA.php
deleted file mode 100644
index b9d5c15..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Exceptions/Contracts/Google2FA.php
+++ /dev/null
@@ -1,7 +0,0 @@
-getWindow($window);
- $startingTimestamp++
- ) {
- if (
- hash_equals($this->oathHotp($secret, $startingTimestamp), $key)
- ) {
- return $oldTimestamp === Constants::ARGUMENT_NOT_SET
- ? true
- : $startingTimestamp;
- }
- }
-
- return false;
- }
-
- /**
- * Generate a digit secret key in base32 format.
- *
- * @param int $length
- * @param string $prefix
- *
- * @throws Exceptions\InvalidCharactersException
- * @throws Exceptions\IncompatibleWithGoogleAuthenticatorException
- *
- * @return string
- */
- public function generateSecretKey($length = 16, $prefix = '')
- {
- return $this->generateBase32RandomKey($length, $prefix);
- }
-
- /**
- * Get the current one time password for a key.
- *
- * @param $secret
- *
- * @throws \PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException
- * @throws \PragmaRX\Google2FA\Exceptions\InvalidCharactersException
- * @throws \PragmaRX\Google2FA\Exceptions\IncompatibleWithGoogleAuthenticatorException
- *
- * @return string
- */
- public function getCurrentOtp($secret)
- {
- return $this->oathHotp($secret, $this->getTimestamp());
- }
-
- /**
- * Get key regeneration.
- *
- * @return mixed
- */
- public function getKeyRegeneration()
- {
- return $this->keyRegeneration;
- }
-
- /**
- * Get OTP length.
- *
- * @return mixed
- */
- public function getOneTimePasswordLength()
- {
- return $this->oneTimePasswordLength;
- }
-
- /**
- * Get secret.
- *
- * @param string|null $secret
- *
- * @return mixed
- */
- public function getSecret($secret = null)
- {
- return is_null($secret) ? $this->secret : $secret;
- }
-
- /**
- * Returns the current Unix Timestamp divided by the $keyRegeneration
- * period.
- *
- * @return int
- **/
- public function getTimestamp()
- {
- return (int) floor(microtime(true) / $this->keyRegeneration);
- }
-
- /**
- * Get the OTP window.
- *
- * @param null|int $window
- *
- * @return mixed
- */
- public function getWindow($window = null)
- {
- return is_null($window) ? $this->window : $window;
- }
-
- /**
- * Make a window based starting timestamp.
- *
- * @param $window
- * @param $timestamp
- * @param $oldTimestamp
- *
- * @return mixed
- */
- private function makeStartingTimestamp($window, $timestamp, $oldTimestamp)
- {
- return $oldTimestamp === Constants::ARGUMENT_NOT_SET
- ? $timestamp - $this->getWindow($window)
- : max($timestamp - $this->getWindow($window), $oldTimestamp + 1);
- }
-
- /**
- * Get/use a starting timestamp for key verification.
- *
- * @param string|int|null $timestamp
- *
- * @return int
- */
- protected function makeTimestamp($timestamp = null)
- {
- if (is_null($timestamp)) {
- return $this->getTimestamp();
- }
-
- return (int) $timestamp;
- }
-
- /**
- * Takes the secret key and the timestamp and returns the one time
- * password.
- *
- * @param string $secret - Secret key in binary form.
- * @param int $counter - Timestamp as returned by getTimestamp.
- *
- * @throws \PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException
- * @throws \PragmaRX\Google2FA\Exceptions\InvalidCharactersException
- * @throws Exceptions\IncompatibleWithGoogleAuthenticatorException
- *
- * @return string
- */
- public function oathHotp($secret, $counter)
- {
- $secret = $this->base32Decode($this->getSecret($secret));
-
- if (strlen($secret) < 8) {
- throw new SecretKeyTooShortException();
- }
-
- // Counter must be 64-bit int
- $bin_counter = pack('N*', 0, $counter);
-
- $hash = hash_hmac('sha1', $bin_counter, $secret, true);
-
- return str_pad(
- $this->oathTruncate($hash),
- $this->getOneTimePasswordLength(),
- '0',
- STR_PAD_LEFT
- );
- }
-
- /**
- * Extracts the OTP from the SHA1 hash.
- *
- * @param string $hash
- *
- * @return int
- **/
- public function oathTruncate($hash)
- {
- $offset = ord($hash[19]) & 0xf;
-
- $temp = unpack('N', substr($hash, $offset, 4));
-
- return substr(
- $temp[1] & 0x7fffffff,
- -$this->getOneTimePasswordLength()
- );
- }
-
- /**
- * Remove invalid chars from a base 32 string.
- *
- * @param $string
- *
- * @return mixed
- */
- public function removeInvalidChars($string)
- {
- return preg_replace(
- '/[^' . Constants::VALID_FOR_B32 . ']/',
- '',
- $string
- );
- }
-
- /**
- * Setter for the enforce Google Authenticator compatibility property.
- *
- * @param mixed $enforceGoogleAuthenticatorCompatibility
- *
- * @return $this
- */
- public function setEnforceGoogleAuthenticatorCompatibility(
- $enforceGoogleAuthenticatorCompatibility
- ) {
- $this->enforceGoogleAuthenticatorCompatibility = $enforceGoogleAuthenticatorCompatibility;
-
- return $this;
- }
-
- /**
- * Set key regeneration.
- *
- * @param mixed $keyRegeneration
- */
- public function setKeyRegeneration($keyRegeneration)
- {
- $this->keyRegeneration = $keyRegeneration;
- }
-
- /**
- * Set OTP length.
- *
- * @param mixed $oneTimePasswordLength
- */
- public function setOneTimePasswordLength($oneTimePasswordLength)
- {
- $this->oneTimePasswordLength = $oneTimePasswordLength;
- }
-
- /**
- * Set secret.
- *
- * @param mixed $secret
- */
- public function setSecret($secret)
- {
- $this->secret = $secret;
- }
-
- /**
- * Set the OTP window.
- *
- * @param mixed $window
- */
- public function setWindow($window)
- {
- $this->window = $window;
- }
-
- /**
- * Verifies a user inputted key against the current timestamp. Checks $window
- * keys either side of the timestamp.
- *
- * @param string $key - User specified key
- * @param null|string $secret
- * @param null|int $window
- * @param null|int $timestamp
- * @param null|string|int $oldTimestamp
- *
- * @throws \PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException
- * @throws \PragmaRX\Google2FA\Exceptions\InvalidCharactersException
- * @throws \PragmaRX\Google2FA\Exceptions\IncompatibleWithGoogleAuthenticatorException
- *
- * @return bool|int
- */
- public function verify(
- $key,
- $secret = null,
- $window = null,
- $timestamp = null,
- $oldTimestamp = Constants::ARGUMENT_NOT_SET
- ) {
- return $this->verifyKey(
- $secret,
- $key,
- $window,
- $timestamp,
- $oldTimestamp
- );
- }
-
- /**
- * Verifies a user inputted key against the current timestamp. Checks $window
- * keys either side of the timestamp.
- *
- * @param string $secret
- * @param string $key - User specified key
- * @param null|int $window
- * @param null|int $timestamp
- * @param null|string|int $oldTimestamp
- *
- * @throws \PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException
- * @throws \PragmaRX\Google2FA\Exceptions\InvalidCharactersException
- * @throws \PragmaRX\Google2FA\Exceptions\IncompatibleWithGoogleAuthenticatorException
- *
- * @return bool|int
- */
- public function verifyKey(
- $secret,
- $key,
- $window = null,
- $timestamp = null,
- $oldTimestamp = Constants::ARGUMENT_NOT_SET
- ) {
- $timestamp = $this->makeTimestamp($timestamp);
-
- return $this->findValidOTP(
- $secret,
- $key,
- $window,
- $this->makeStartingTimestamp($window, $timestamp, $oldTimestamp),
- $timestamp,
- $oldTimestamp
- );
- }
-
- /**
- * Verifies a user inputted key against the current timestamp. Checks $window
- * keys either side of the timestamp, but ensures that the given key is newer than
- * the given oldTimestamp. Useful if you need to ensure that a single key cannot
- * be used twice.
- *
- * @param string $secret
- * @param string $key - User specified key
- * @param int $oldTimestamp - The timestamp from the last verified key
- * @param int|null $window
- * @param int|null $timestamp
- *
- * @throws \PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException
- * @throws \PragmaRX\Google2FA\Exceptions\InvalidCharactersException
- * @throws \PragmaRX\Google2FA\Exceptions\IncompatibleWithGoogleAuthenticatorException
- *
- * @return bool|int - false (not verified) or the timestamp of the verified key
- */
- public function verifyKeyNewer(
- $secret,
- $key,
- $oldTimestamp,
- $window = null,
- $timestamp = null
- ) {
- return $this->verifyKey(
- $secret,
- $key,
- $window,
- $timestamp,
- $oldTimestamp
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Base32.php b/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Base32.php
deleted file mode 100644
index ce5cbb6..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Base32.php
+++ /dev/null
@@ -1,202 +0,0 @@
-toBase32($prefix) : '';
-
- $secret = $this->strPadBase32($secret, $length);
-
- $this->validateSecret($secret);
-
- return $secret;
- }
-
- /**
- * Decodes a base32 string into a binary string.
- *
- * @param string $b32
- *
- * @throws InvalidCharactersException
- * @throws IncompatibleWithGoogleAuthenticatorException
- *
- * @return int
- */
- public function base32Decode($b32)
- {
- $b32 = strtoupper($b32);
-
- $this->validateSecret($b32);
-
- return ParagonieBase32::decodeUpper($b32);
- }
-
- /**
- * Check if the string length is power of two.
- *
- * @param $b32
- * @return bool
- */
- protected function isCharCountNotAPowerOfTwo($b32): bool
- {
- return (strlen($b32) & (strlen($b32) - 1)) !== 0;
- }
-
- /**
- * Pad string with random base 32 chars.
- *
- * @param $string
- * @param $length
- *
- * @throws \Exception
- *
- * @return string
- */
- private function strPadBase32($string, $length)
- {
- for ($i = 0; $i < $length; $i++) {
- $string .= substr(
- Constants::VALID_FOR_B32_SCRAMBLED,
- $this->getRandomNumber(),
- 1
- );
- }
-
- return $string;
- }
-
- /**
- * Encode a string to Base32.
- *
- * @param $string
- *
- * @return mixed
- */
- public function toBase32($string)
- {
- $encoded = ParagonieBase32::encodeUpper($string);
-
- return str_replace('=', '', $encoded);
- }
-
- /**
- * Get a random number.
- *
- * @param $from
- * @param $to
- *
- * @throws \Exception
- *
- * @return int
- */
- protected function getRandomNumber($from = 0, $to = 31)
- {
- return random_int($from, $to);
- }
-
- /**
- * Validate the secret.
- *
- * @param $b32
- *
- * @throws IncompatibleWithGoogleAuthenticatorException
- * @throws InvalidCharactersException
- */
- protected function validateSecret($b32)
- {
- $this->checkForValidCharacters($b32);
-
- $this->checkGoogleAuthenticatorCompatibility($b32);
-
- $this->checkIsBigEnough($b32);
- }
-
- /**
- * Check if the secret key is compatible with Google Authenticator.
- *
- * @param $b32
- *
- * @throws IncompatibleWithGoogleAuthenticatorException
- */
- protected function checkGoogleAuthenticatorCompatibility($b32)
- {
- if (
- $this->enforceGoogleAuthenticatorCompatibility &&
- $this->isCharCountNotAPowerOfTwo($b32) // Google Authenticator requires it to be a power of 2 base32 length string
- ) {
- throw new IncompatibleWithGoogleAuthenticatorException();
- }
- }
-
- /**
- * Check if all secret key characters are valid.
- *
- * @param $b32
- *
- * @throws InvalidCharactersException
- */
- protected function checkForValidCharacters($b32)
- {
- if (
- preg_replace('/[^' . Constants::VALID_FOR_B32 . ']/', '', $b32) !==
- $b32
- ) {
- throw new InvalidCharactersException();
- }
- }
-
- /**
- * Check if secret key length is big enough
- *
- * @param $b32
- *
- * @throws InvalidCharactersException
- */
- protected function checkIsBigEnough($b32)
- {
- // Minimum = 128 bits
- // Recommended = 160 bits
- // Compatible with Google Authenticator = 256 bits
-
- if (
- $this->charCountBits($b32) < 128
- ) {
- throw new SecretKeyTooShortException();
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Constants.php b/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Constants.php
deleted file mode 100644
index ba37e62..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa/src/Support/Constants.php
+++ /dev/null
@@ -1,21 +0,0 @@
-google2fa = new Google2FA();
- }
-
- public function testIsInitializable()
- {
- $this->assertInstanceOf(
- 'PragmaRX\Google2FA\Google2FA',
- $this->google2fa
- );
- }
-
- public function testGeneratesAValidSecretKey()
- {
- $this->assertEquals(16, strlen($this->google2fa->generateSecretKey()));
-
- $this->assertEquals(
- 32,
- strlen($this->google2fa->generateSecretKey(32))
- );
-
- $this->assertStringStartsWith(
- 'MFXHI',
- $this->google2fa->generateSecretKey(59, 'ant')
- );
-
- $this->assertStringStartsWith(
- 'MFXHI',
- $this->google2fa->generateSecretKey(59, 'ant')
- );
-
- $this->assertEquals(
- $key = $this->google2fa->generateSecretKey(),
- preg_replace(
- '/[^' . Google2FAConstants::VALID_FOR_B32 . ']/',
- '',
- $key
- )
- );
- }
-
- public function testGeneratesASecretKeysCompatibleWithGoogleAuthenticator()
- {
- $this->assertEquals($size = 16, strlen($this->google2fa->setEnforceGoogleAuthenticatorCompatibility(true)->generateSecretKey($size))); /// minimum = 128 bits
- $this->assertEquals($size = 20, strlen($this->google2fa->setEnforceGoogleAuthenticatorCompatibility(false)->generateSecretKey($size))); /// recommended = 160 bits - not compatible
- $this->assertEquals($size = 32, strlen($this->google2fa->setEnforceGoogleAuthenticatorCompatibility(true)->generateSecretKey($size))); /// recommended = 256 bits - compatible
- $this->assertEquals($size = 64, strlen($this->google2fa->setEnforceGoogleAuthenticatorCompatibility(true)->generateSecretKey($size)));
- $this->assertEquals($size = 128, strlen($this->google2fa->setEnforceGoogleAuthenticatorCompatibility(true)->generateSecretKey($size)));
- }
-
- public function testGeneratesASecretKeysGenerationSize()
- {
- // 128 bits are allowed
- $this->assertEquals($size = 16, strlen($this->google2fa->generateSecretKey($size))); /// minimum = 128 bits
-
- // anything below 128 bits are NOT allowed
- $this->expectException(\PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException::class);
-
- $this->assertEquals($size = 2, strlen($this->google2fa->generateSecretKey($size))); /// minimum = 128 bits
- $this->assertEquals($size = 4, strlen($this->google2fa->generateSecretKey($size))); /// minimum = 128 bits
- $this->assertEquals($size = 8, strlen($this->google2fa->generateSecretKey($size))); /// minimum = 128 bits
- }
-
- public function testGeneratesASecretKeysNotCompatibleWithGoogleAuthenticator()
- {
- $this->expectException(\PragmaRX\Google2FA\Exceptions\IncompatibleWithGoogleAuthenticatorException::class);
- $this->assertEquals($size = 15, strlen($this->google2fa->setEnforceGoogleAuthenticatorCompatibility(true)->generateSecretKey($size)));
-
- $this->expectException(\PragmaRX\Google2FA\Exceptions\IncompatibleWithGoogleAuthenticatorException::class);
- $this->assertEquals($size = 17, strlen($this->google2fa->setEnforceGoogleAuthenticatorCompatibility(true)->generateSecretKey($size)));
-
- $this->expectException(\PragmaRX\Google2FA\Exceptions\IncompatibleWithGoogleAuthenticatorException::class);
- $this->assertEquals($size = 21, strlen($this->google2fa->setEnforceGoogleAuthenticatorCompatibility(true)->generateSecretKey($size)));
- }
-
- public function testConvertsInvalidCharsToBase32()
- {
- $converted = $this->google2fa->generateBase32RandomKey(
- 16,
- '1234' .
- chr(250) .
- chr(251) .
- chr(252) .
- chr(253) .
- chr(254) .
- chr(255)
- );
-
- $valid = preg_replace(
- '/[^' . Google2FAConstants::VALID_FOR_B32 . ']/',
- '',
- $converted
- );
-
- $this->assertEquals($converted, $valid);
- }
-
- public function testGetsValidTimestamps()
- {
- $ts = $this->google2fa->getTimestamp();
-
- $this->assertLessThanOrEqual(PHP_INT_MAX, $ts);
-
- $this->assertGreaterThanOrEqual(~PHP_INT_MAX, $ts);
- }
-
- public function testDecodesBase32Strings()
- {
- $result =
- chr(0) .
- chr(232) .
- chr(196) .
- chr(187) .
- chr(190) .
- chr(223) .
- chr(26) .
- chr(241) .
- chr(145) .
- chr(86);
-
- $this->assertEquals(
- $result,
- $this->google2fa->base32Decode(Constants::SECRET)
- );
- }
-
- public function testCreatesAOneTimePassword()
- {
- $this->assertEquals(
- 6,
- strlen($this->google2fa->getCurrentOtp(Constants::SECRET))
- );
- }
-
- public function testVerifiesKeys()
- {
- // $ts 26213400 with KEY_REGENERATION 30 seconds is
- // timestamp 786402000, which is 1994-12-02 21:00:00 UTC
-
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '558854',
- 2,
- 26213400
- )
- ); // 26213398
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '981084',
- 2,
- 26213400
- )
- ); // 26213399
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '512396',
- 2,
- 26213400
- )
- ); // 26213400
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '410272',
- 2,
- 26213400
- )
- ); // 26213401
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '239815',
- 2,
- 26213400
- )
- ); // 26213402
-
- $this->assertFalse(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '313366',
- 2,
- 26213400
- )
- ); // 26213403
- $this->assertFalse(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '093183',
- 2,
- 26213400
- )
- ); // 26213397
- }
-
- public function testVerifiesKeysNewer()
- {
- $this->assertFalse(
- $this->google2fa->verifyKeyNewer(
- Constants::SECRET,
- '512396',
- 26213401,
- 2,
- 26213400
- )
- );
- $this->assertFalse(
- $this->google2fa->verifyKeyNewer(
- Constants::SECRET,
- '410272',
- 26213401,
- 2,
- 26213400
- )
- );
- $this->assertEquals(
- 26213402,
- $this->google2fa->verifyKeyNewer(
- Constants::SECRET,
- '239815',
- 26213401,
- 2,
- 26213400
- )
- );
- $this->assertFalse(
- $this->google2fa->verifyKeyNewer(
- Constants::SECRET,
- '313366',
- 26213401,
- 2,
- 26213400
- )
- );
-
- $this->assertEquals(
- 26213400,
- $this->google2fa->verifyKeyNewer(
- Constants::SECRET,
- '512396',
- null,
- 2,
- 26213400
- )
- );
- $this->assertEquals(
- 26213401,
- $this->google2fa->verifyKeyNewer(
- Constants::SECRET,
- '410272',
- null,
- 2,
- 26213400
- )
- );
- $this->assertEquals(
- 26213402,
- $this->google2fa->verifyKeyNewer(
- Constants::SECRET,
- '239815',
- null,
- 2,
- 26213400
- )
- );
- $this->assertFalse(
- $this->google2fa->verifyKeyNewer(
- Constants::SECRET,
- '313366',
- null,
- 2,
- 26213400
- )
- );
- }
-
- public function testRemovesInvalidCharsFromSecret()
- {
- $this->assertEquals(
- Constants::SECRET,
- $this->google2fa->removeInvalidChars(Constants::SECRET . '!1-@@@')
- );
- }
-
- public function testConvertsToBase32()
- {
- $this->assertEquals(
- 'KBZGCZ3NMFJFQ',
- $this->google2fa->toBase32('PragmaRX')
- );
- }
-
- public function testSetsTheWindow()
- {
- $this->google2fa->setWindow(6);
-
- $this->assertEquals(6, $this->google2fa->getWindow());
-
- $this->assertEquals(1, $this->google2fa->getWindow(1));
-
- $this->google2fa->setWindow(0);
-
- $this->assertFalse(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '558854',
- null,
- 26213400
- )
- );
-
- $this->google2fa->setWindow(2);
-
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '558854',
- null,
- 26213400
- )
- );
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '558854',
- null,
- 26213399
- )
- );
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '558854',
- null,
- 26213398
- )
- );
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '558854',
- null,
- 26213396
- )
- );
- $this->assertFalse(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '558854',
- null,
- 26213395
- )
- );
- }
-
- public function testSetsTheSecret()
- {
- $this->assertFalse(
- $this->google2fa->verify('558854', Constants::WRONG_SECRET)
- );
-
- $this->google2fa->setWindow(2);
-
- $this->assertTrue(
- $this->google2fa->verify(
- '558854',
- Constants::SECRET,
- null,
- 26213400
- )
- );
-
- $this->google2fa->setSecret(Constants::SECRET);
-
- $this->assertTrue(
- $this->google2fa->verify('558854', null, null, 26213400)
- );
- }
-
- public function testGetsKeyRegeneration()
- {
- $this->google2fa->setKeyRegeneration(11);
-
- $this->assertEquals(11, $this->google2fa->getKeyRegeneration());
- }
-
- public function testGetsOtpLength()
- {
- $this->google2fa->setOneTimePasswordLength(7);
-
- $this->assertEquals(7, $this->google2fa->getOneTimePasswordLength());
- }
-
- public function testGeneratesPasswordsInManyDifferentSizes()
- {
- $this->google2fa->setWindow(2);
-
- $this->google2fa->setOneTimePasswordLength(6);
-
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '558854',
- null,
- 26213400
- )
- );
-
- $this->google2fa->setOneTimePasswordLength(7);
-
- $this->assertTrue(
- $this->google2fa->verifyKey(
- Constants::SECRET,
- '8981084',
- null,
- 26213400
- )
- );
- }
-
- public function testShortSecretKey()
- {
- $this->expectException(\PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException::class);
-
- $this->google2fa->setEnforceGoogleAuthenticatorCompatibility(false);
-
- $this->google2fa->verifyKey(
- Constants::SHORT_SECRET,
- '558854',
- null,
- 26213400
- );
- }
-
- public function testValidateKey()
- {
- $this->expectException(\PragmaRX\Google2FA\Exceptions\InvalidCharactersException::class);
-
- $this->assertTrue(
- is_numeric($this->google2fa->getCurrentOtp(Constants::SECRET))
- );
-
- $this->google2fa->setEnforceGoogleAuthenticatorCompatibility(false);
-
- $this->google2fa->getCurrentOtp(Constants::INVALID_SECRET);
- }
-
- public function testThrowsBaseException()
- {
- $this->expectException(\PragmaRX\Google2FA\Exceptions\Google2FAException::class);
-
- $this->throwSecretKeyTooShortException();
- }
-
- public function testThrowsBaseExceptionContract()
- {
- $this->expectException(\PragmaRX\Google2FA\Exceptions\Contracts\Google2FA::class);
-
- $this->throwSecretKeyTooShortException();
- }
-
- public function testThrowsSecretKeyTooShortException()
- {
- $this->expectException(\PragmaRX\Google2FA\Exceptions\SecretKeyTooShortException::class);
-
- $this->throwSecretKeyTooShortException();
- }
-
- public function testThrowsSecretKeyTooShortExceptionContract()
- {
- $this->expectException(\PragmaRX\Google2FA\Exceptions\Contracts\SecretKeyTooShort::class);
-
- $this->throwSecretKeyTooShortException();
- }
-
- public function testThrowsIncompatibleWithGoogleAuthenticatorExceptionInterface()
- {
- $this->expectException(\PragmaRX\Google2FA\Exceptions\Contracts\IncompatibleWithGoogleAuthenticator::class);
-
- $this->throwIncompatibleWithGoogleAuthenticatorException();
- }
-
- public function throwSecretKeyTooShortException()
- {
- $this->google2fa->setEnforceGoogleAuthenticatorCompatibility(false);
-
- $this->google2fa->verifyKey(
- Constants::SHORT_SECRET, // <------------- BUG
- '558854',
- null,
- 26213400
- );
- }
-
- public function throwIncompatibleWithGoogleAuthenticatorException()
- {
- $this->google2fa
- ->setEnforceGoogleAuthenticatorCompatibility(true)
- ->generateSecretKey(17);
-
- $this->assertEquals(
- 17,
- strlen(
- $this->google2fa
- ->setEnforceGoogleAuthenticatorCompatibility(false)
- ->generateSecretKey(17)
- )
- );
- }
-}
diff --git a/srcs/phpmyadmin/vendor/pragmarx/google2fa/tests/bootstrap.php b/srcs/phpmyadmin/vendor/pragmarx/google2fa/tests/bootstrap.php
deleted file mode 100644
index b55a9ca..0000000
--- a/srcs/phpmyadmin/vendor/pragmarx/google2fa/tests/bootstrap.php
+++ /dev/null
@@ -1,42 +0,0 @@
-=5.3.0"
- },
- "autoload": {
- "psr-4": {
- "Psr\\Cache\\": "src/"
- }
- },
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/psr/cache/src/CacheException.php b/srcs/phpmyadmin/vendor/psr/cache/src/CacheException.php
deleted file mode 100644
index e27f22f..0000000
--- a/srcs/phpmyadmin/vendor/psr/cache/src/CacheException.php
+++ /dev/null
@@ -1,10 +0,0 @@
-=5.3.0"
- },
- "autoload": {
- "psr-4": {
- "Psr\\Container\\": "src/"
- }
- },
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/psr/container/src/ContainerExceptionInterface.php b/srcs/phpmyadmin/vendor/psr/container/src/ContainerExceptionInterface.php
deleted file mode 100644
index d35c6b4..0000000
--- a/srcs/phpmyadmin/vendor/psr/container/src/ContainerExceptionInterface.php
+++ /dev/null
@@ -1,13 +0,0 @@
-log(LogLevel::EMERGENCY, $message, $context);
- }
-
- /**
- * Action must be taken immediately.
- *
- * Example: Entire website down, database unavailable, etc. This should
- * trigger the SMS alerts and wake you up.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function alert($message, array $context = array())
- {
- $this->log(LogLevel::ALERT, $message, $context);
- }
-
- /**
- * Critical conditions.
- *
- * Example: Application component unavailable, unexpected exception.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function critical($message, array $context = array())
- {
- $this->log(LogLevel::CRITICAL, $message, $context);
- }
-
- /**
- * Runtime errors that do not require immediate action but should typically
- * be logged and monitored.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function error($message, array $context = array())
- {
- $this->log(LogLevel::ERROR, $message, $context);
- }
-
- /**
- * Exceptional occurrences that are not errors.
- *
- * Example: Use of deprecated APIs, poor use of an API, undesirable things
- * that are not necessarily wrong.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function warning($message, array $context = array())
- {
- $this->log(LogLevel::WARNING, $message, $context);
- }
-
- /**
- * Normal but significant events.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function notice($message, array $context = array())
- {
- $this->log(LogLevel::NOTICE, $message, $context);
- }
-
- /**
- * Interesting events.
- *
- * Example: User logs in, SQL logs.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function info($message, array $context = array())
- {
- $this->log(LogLevel::INFO, $message, $context);
- }
-
- /**
- * Detailed debug information.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function debug($message, array $context = array())
- {
- $this->log(LogLevel::DEBUG, $message, $context);
- }
-}
diff --git a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/InvalidArgumentException.php b/srcs/phpmyadmin/vendor/psr/log/Psr/Log/InvalidArgumentException.php
deleted file mode 100644
index 67f852d..0000000
--- a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/InvalidArgumentException.php
+++ /dev/null
@@ -1,7 +0,0 @@
-logger = $logger;
- }
-}
diff --git a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/LoggerInterface.php b/srcs/phpmyadmin/vendor/psr/log/Psr/Log/LoggerInterface.php
deleted file mode 100644
index e695046..0000000
--- a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/LoggerInterface.php
+++ /dev/null
@@ -1,125 +0,0 @@
-log(LogLevel::EMERGENCY, $message, $context);
- }
-
- /**
- * Action must be taken immediately.
- *
- * Example: Entire website down, database unavailable, etc. This should
- * trigger the SMS alerts and wake you up.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function alert($message, array $context = array())
- {
- $this->log(LogLevel::ALERT, $message, $context);
- }
-
- /**
- * Critical conditions.
- *
- * Example: Application component unavailable, unexpected exception.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function critical($message, array $context = array())
- {
- $this->log(LogLevel::CRITICAL, $message, $context);
- }
-
- /**
- * Runtime errors that do not require immediate action but should typically
- * be logged and monitored.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function error($message, array $context = array())
- {
- $this->log(LogLevel::ERROR, $message, $context);
- }
-
- /**
- * Exceptional occurrences that are not errors.
- *
- * Example: Use of deprecated APIs, poor use of an API, undesirable things
- * that are not necessarily wrong.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function warning($message, array $context = array())
- {
- $this->log(LogLevel::WARNING, $message, $context);
- }
-
- /**
- * Normal but significant events.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function notice($message, array $context = array())
- {
- $this->log(LogLevel::NOTICE, $message, $context);
- }
-
- /**
- * Interesting events.
- *
- * Example: User logs in, SQL logs.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function info($message, array $context = array())
- {
- $this->log(LogLevel::INFO, $message, $context);
- }
-
- /**
- * Detailed debug information.
- *
- * @param string $message
- * @param array $context
- *
- * @return void
- */
- public function debug($message, array $context = array())
- {
- $this->log(LogLevel::DEBUG, $message, $context);
- }
-
- /**
- * Logs with an arbitrary level.
- *
- * @param mixed $level
- * @param string $message
- * @param array $context
- *
- * @return void
- *
- * @throws \Psr\Log\InvalidArgumentException
- */
- abstract public function log($level, $message, array $context = array());
-}
diff --git a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/NullLogger.php b/srcs/phpmyadmin/vendor/psr/log/Psr/Log/NullLogger.php
deleted file mode 100644
index c8f7293..0000000
--- a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/NullLogger.php
+++ /dev/null
@@ -1,30 +0,0 @@
-logger) { }`
- * blocks.
- */
-class NullLogger extends AbstractLogger
-{
- /**
- * Logs with an arbitrary level.
- *
- * @param mixed $level
- * @param string $message
- * @param array $context
- *
- * @return void
- *
- * @throws \Psr\Log\InvalidArgumentException
- */
- public function log($level, $message, array $context = array())
- {
- // noop
- }
-}
diff --git a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/srcs/phpmyadmin/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
deleted file mode 100644
index 9ecb6c4..0000000
--- a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
+++ /dev/null
@@ -1,146 +0,0 @@
- ".
- *
- * Example ->error('Foo') would yield "error Foo".
- *
- * @return string[]
- */
- abstract public function getLogs();
-
- public function testImplements()
- {
- $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger());
- }
-
- /**
- * @dataProvider provideLevelsAndMessages
- */
- public function testLogsAtAllLevels($level, $message)
- {
- $logger = $this->getLogger();
- $logger->{$level}($message, array('user' => 'Bob'));
- $logger->log($level, $message, array('user' => 'Bob'));
-
- $expected = array(
- $level.' message of level '.$level.' with context: Bob',
- $level.' message of level '.$level.' with context: Bob',
- );
- $this->assertEquals($expected, $this->getLogs());
- }
-
- public function provideLevelsAndMessages()
- {
- return array(
- LogLevel::EMERGENCY => array(LogLevel::EMERGENCY, 'message of level emergency with context: {user}'),
- LogLevel::ALERT => array(LogLevel::ALERT, 'message of level alert with context: {user}'),
- LogLevel::CRITICAL => array(LogLevel::CRITICAL, 'message of level critical with context: {user}'),
- LogLevel::ERROR => array(LogLevel::ERROR, 'message of level error with context: {user}'),
- LogLevel::WARNING => array(LogLevel::WARNING, 'message of level warning with context: {user}'),
- LogLevel::NOTICE => array(LogLevel::NOTICE, 'message of level notice with context: {user}'),
- LogLevel::INFO => array(LogLevel::INFO, 'message of level info with context: {user}'),
- LogLevel::DEBUG => array(LogLevel::DEBUG, 'message of level debug with context: {user}'),
- );
- }
-
- /**
- * @expectedException \Psr\Log\InvalidArgumentException
- */
- public function testThrowsOnInvalidLevel()
- {
- $logger = $this->getLogger();
- $logger->log('invalid level', 'Foo');
- }
-
- public function testContextReplacement()
- {
- $logger = $this->getLogger();
- $logger->info('{Message {nothing} {user} {foo.bar} a}', array('user' => 'Bob', 'foo.bar' => 'Bar'));
-
- $expected = array('info {Message {nothing} Bob Bar a}');
- $this->assertEquals($expected, $this->getLogs());
- }
-
- public function testObjectCastToString()
- {
- if (method_exists($this, 'createPartialMock')) {
- $dummy = $this->createPartialMock('Psr\Log\Test\DummyTest', array('__toString'));
- } else {
- $dummy = $this->getMock('Psr\Log\Test\DummyTest', array('__toString'));
- }
- $dummy->expects($this->once())
- ->method('__toString')
- ->will($this->returnValue('DUMMY'));
-
- $this->getLogger()->warning($dummy);
-
- $expected = array('warning DUMMY');
- $this->assertEquals($expected, $this->getLogs());
- }
-
- public function testContextCanContainAnything()
- {
- $closed = fopen('php://memory', 'r');
- fclose($closed);
-
- $context = array(
- 'bool' => true,
- 'null' => null,
- 'string' => 'Foo',
- 'int' => 0,
- 'float' => 0.5,
- 'nested' => array('with object' => new DummyTest),
- 'object' => new \DateTime,
- 'resource' => fopen('php://memory', 'r'),
- 'closed' => $closed,
- );
-
- $this->getLogger()->warning('Crazy context data', $context);
-
- $expected = array('warning Crazy context data');
- $this->assertEquals($expected, $this->getLogs());
- }
-
- public function testContextExceptionKeyCanBeExceptionOrOtherValues()
- {
- $logger = $this->getLogger();
- $logger->warning('Random message', array('exception' => 'oops'));
- $logger->critical('Uncaught Exception!', array('exception' => new \LogicException('Fail')));
-
- $expected = array(
- 'warning Random message',
- 'critical Uncaught Exception!'
- );
- $this->assertEquals($expected, $this->getLogs());
- }
-}
-
-class DummyTest
-{
- public function __toString()
- {
- return 'DummyTest';
- }
-}
diff --git a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/Test/TestLogger.php b/srcs/phpmyadmin/vendor/psr/log/Psr/Log/Test/TestLogger.php
deleted file mode 100644
index 1be3230..0000000
--- a/srcs/phpmyadmin/vendor/psr/log/Psr/Log/Test/TestLogger.php
+++ /dev/null
@@ -1,147 +0,0 @@
- $level,
- 'message' => $message,
- 'context' => $context,
- ];
-
- $this->recordsByLevel[$record['level']][] = $record;
- $this->records[] = $record;
- }
-
- public function hasRecords($level)
- {
- return isset($this->recordsByLevel[$level]);
- }
-
- public function hasRecord($record, $level)
- {
- if (is_string($record)) {
- $record = ['message' => $record];
- }
- return $this->hasRecordThatPasses(function ($rec) use ($record) {
- if ($rec['message'] !== $record['message']) {
- return false;
- }
- if (isset($record['context']) && $rec['context'] !== $record['context']) {
- return false;
- }
- return true;
- }, $level);
- }
-
- public function hasRecordThatContains($message, $level)
- {
- return $this->hasRecordThatPasses(function ($rec) use ($message) {
- return strpos($rec['message'], $message) !== false;
- }, $level);
- }
-
- public function hasRecordThatMatches($regex, $level)
- {
- return $this->hasRecordThatPasses(function ($rec) use ($regex) {
- return preg_match($regex, $rec['message']) > 0;
- }, $level);
- }
-
- public function hasRecordThatPasses(callable $predicate, $level)
- {
- if (!isset($this->recordsByLevel[$level])) {
- return false;
- }
- foreach ($this->recordsByLevel[$level] as $i => $rec) {
- if (call_user_func($predicate, $rec, $i)) {
- return true;
- }
- }
- return false;
- }
-
- public function __call($method, $args)
- {
- if (preg_match('/(.*)(Debug|Info|Notice|Warning|Error|Critical|Alert|Emergency)(.*)/', $method, $matches) > 0) {
- $genericMethod = $matches[1] . ('Records' !== $matches[3] ? 'Record' : '') . $matches[3];
- $level = strtolower($matches[2]);
- if (method_exists($this, $genericMethod)) {
- $args[] = $level;
- return call_user_func_array([$this, $genericMethod], $args);
- }
- }
- throw new \BadMethodCallException('Call to undefined method ' . get_class($this) . '::' . $method . '()');
- }
-
- public function reset()
- {
- $this->records = [];
- $this->recordsByLevel = [];
- }
-}
diff --git a/srcs/phpmyadmin/vendor/psr/log/README.md b/srcs/phpmyadmin/vendor/psr/log/README.md
deleted file mode 100644
index a9f20c4..0000000
--- a/srcs/phpmyadmin/vendor/psr/log/README.md
+++ /dev/null
@@ -1,58 +0,0 @@
-PSR Log
-=======
-
-This repository holds all interfaces/classes/traits related to
-[PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md).
-
-Note that this is not a logger of its own. It is merely an interface that
-describes a logger. See the specification for more details.
-
-Installation
-------------
-
-```bash
-composer require psr/log
-```
-
-Usage
------
-
-If you need a logger, you can use the interface like this:
-
-```php
-logger = $logger;
- }
-
- public function doSomething()
- {
- if ($this->logger) {
- $this->logger->info('Doing work');
- }
-
- try {
- $this->doSomethingElse();
- } catch (Exception $exception) {
- $this->logger->error('Oh no!', array('exception' => $exception));
- }
-
- // do something useful
- }
-}
-```
-
-You can then pick one of the implementations of the interface to get a logger.
-
-If you want to implement the interface, you can require this package and
-implement `Psr\Log\LoggerInterface` in your code. Please read the
-[specification text](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
-for details.
diff --git a/srcs/phpmyadmin/vendor/psr/log/composer.json b/srcs/phpmyadmin/vendor/psr/log/composer.json
deleted file mode 100644
index 3f6d4ee..0000000
--- a/srcs/phpmyadmin/vendor/psr/log/composer.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "psr/log",
- "description": "Common interface for logging libraries",
- "keywords": ["psr", "psr-3", "log"],
- "homepage": "https://github.com/php-fig/log",
- "license": "MIT",
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "require": {
- "php": ">=5.3.0"
- },
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "Psr/Log/"
- }
- },
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- }
-}
diff --git a/srcs/phpmyadmin/vendor/samyoul/u2f-php-server/LICENCE.md b/srcs/phpmyadmin/vendor/samyoul/u2f-php-server/LICENCE.md
deleted file mode 100644
index 8199846..0000000
--- a/srcs/phpmyadmin/vendor/samyoul/u2f-php-server/LICENCE.md
+++ /dev/null
@@ -1,25 +0,0 @@
-BSD 2-Clause License
-
-Copyright (c) 2016, Samyoul
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/srcs/phpmyadmin/vendor/samyoul/u2f-php-server/README.md b/srcs/phpmyadmin/vendor/samyoul/u2f-php-server/README.md
deleted file mode 100644
index 2f17a1f..0000000
--- a/srcs/phpmyadmin/vendor/samyoul/u2f-php-server/README.md
+++ /dev/null
@@ -1,473 +0,0 @@
-# U2F-php-server
-
-[](https://packagist.org/packages/samyoul/u2f-php-server)
-[](LICENCE.md)
-
-Server-side handling of FIDO U2F registration and authentication for PHP.
-
-Securing your online accounts and doing your bit to protect your data is extremely important and increasingly more so as hackers get more sophisticated.
-FIDO's U2F enables you to add a simple unobtrusive method of 2nd factor authentication, allowing users of your service and/or application to link a hardware key to their account.
-
-## The Family of U2F php Libraries
-
-**Base Library**
-
-https://github.com/Samyoul/U2F-php-server
-
-**Fido Test Suite (UTD)**
-
-https://github.com/Samyoul/U2F-php-UTD
-
-**Frameworks**
-
-*Laravel* https://github.com/Samyoul/U2F-Laravel-server
-
-*Yii* https://github.com/Samyoul/U2F-Yii-server
-
-*CodeIgniter* https://github.com/Samyoul/U2F-CodeIgniter-server
-
-
-## Contents
-
-1. [Installation](#installation)
-2. [Requirements](#requirements)
- 1. [OpenSSL](#openssl)
- 1. [Clientside Magic](#client-side-the-magic-javascript-bit-of-talking-with-a-usb-device)
- 1. [HTTPS and SSL](#https-and-ssl)
-3. [Terminology](#terminology)
-4. [Recommended Datastore Structure](#recommended-datastore-structure)
-5. [Process Workflow](#process-workflow)
- 1. [Registration Process Flow](#registration-process-flow)
- 1. [Authentication Process Flow](#authentication-process-flow)
-6. [Example Code](#example-code)
- 1. [Compatibility Check](#compatibility-code)
- 1. [Registration Code](#registration-code)
- 1. [Authentication Code](#authentication-code)
-7. [Frameworks](#frameworks)
- 1. [Laravel](#laravel-framework)
- 1. [Yii](#yii-framework)
- 1. [CodeIgniter](#codeigniter-framework)
-8. [Licence](#licence)
-9. [Credits](#credits)
-
-## Installation
-
-`composer require samyoul/u2f-php-server`
-
-## Requirements
-
-A few **things you need** to know before working with this:
-
-1. [**_OpenSSL_**](#openssl) You need at least OpenSSL 1.0.0 or higher.
-2. [**_Client-side Handling_**](#client-side) You need to be able to communicate with a some kind of device.
-3. [**_A HTTPS URL_**](#https-and-ssl) This is very important, without HTTPS U2F simply will not work.
-4. [**_A Datastore_**](#recommended-datastore-structure) You need some kind of datastore for all your U2F registered users (although if you have a system with user authentication I'm presuming you've got this one sorted).
-
-### OpenSSL
-
-This repository requires OpenSSL 1.0.0 or higher. For further details on installing OpenSSL please refer to the php manual http://php.net/manual/en/openssl.installation.php .
-
-Also see [Compatibility Code](#compatibility-code), to check if you have the correct version of OpenSSL installed, and are unsure how else to check.
-
-### Client-side (The magic JavaScript Bit of talking with a USB device)
-
-My presumption is that if you are looking to add U2F authentication to a php system, then you'll probably are also looking for some client-side handling. You've got a U2F enabled USB device and you want to get the USB device speaking with the browser and then with your server running php.
-
-1. Google already have this bit sorted : https://github.com/google/u2f-ref-code/blob/master/u2f-gae-demo/war/js/u2f-api.js
-2. [Mastahyeti](https://github.com/mastahyeti) has created a repo dedicated to Google's JavaScript Client-side API : https://github.com/mastahyeti/u2f-api
-
-### HTTPS and SSL
-
-For U2F to work your website/service must use a HTTPS URL. Without a HTTPS URL your code won't work, so get one for your localhost, get one for your production. https://letsencrypt.org/
-Basically encrypt everything.
-
-
-## Terminology
-
-**_HID_** : _Human Interface Device_, like A USB Device [like these things](https://www.google.co.uk/search?q=fido+usb+key&safe=off&tbm=isch)
-
-## Recommended Datastore Structure
-
-You don't need to follow this structure exactly, but you will need to associate your Registration data with a user. You'll also need to store the key handle, public key and the certificate, counter isn't 100% essential but it makes your application more secure.
-
-
-|Name|Type|Description|
-|---|---|---|
-|id|integer primary key||
-|user_id|integer||
-|key_handle|varchar(255)||
-|public_key|varchar(255)||
-|certificate|text||
-|counter|integer||
-
-TODO the descriptions
-
-## Process Workflow
-
-### Registration Process Flow
-
-1. User navigates to a 2nd factor authentication page in your application.
-
-... TODO add the rest of the registration process flow ...
-
-### Authentication Process Flow
-
-1. User navigates to their login page as they usually would, submits username and password.
-1. Server received POST request authentication data, normal username + password validation occurs
-1. On successful authentication, the application checks 2nd factor authentication is required. We're going to presume it is, otherwise the user would just be logged in at this stage.
-1. Application gets the user's registered signatures from the application datastore: `$registrations`.
-1. Application gets its ID, usually the domain the application is accessible from: `$appId`
-1. Application makes a `U2F::makeAuthentication($registrations, $appId)` call, the method returns an array of `SignRequest` objects: `$authenticationRequest`.
-1. Application JSON encodes the array and passes the data to the view
-1. When the browser loads the page the JavaScript fires the `u2f.sign(authenticationRequest, function(data){ // Callback logic })` function
-1. The view will use JavaScript / Browser to poll the host machine's ports for a FIDO U2F device
-1. Once the HID has been found the JavaScript / Browser will send the sign request with data.
-1. The HID will prompt the user to authorise the sign request
-1. On success the HID returns authentication data
-1. The JavaScript receives the HID's returned data and passes it to the server
-1. The application takes the returned data passes it to the `U2F::authenticate($authenticationRequest, $registrations, $authenticationResponse)` method
-1. If the method returns a registration and doesn't throw an Exception, authentication is complete.
-1. Set the user's session, inform the user of the success, and redirect them.
-
-## Example Code
-
-For a full working code example for this repository please see [the dedicated example repository](https://github.com/Samyoul/U2F-php-server-examples)
-
-You can also install it with the following:
-
-```bash
-$ git clone https://github.com/Samyoul/U2F-php-server-examples.git
-$ cd u2f-php-server-examples
-$ composer install
-```
-
-
-1. [Compatibility Code](#compatibility-code)
-2. [Registration Code](#registration-code)
- 1. [Step 1: Starting](#registration-step-1)
- 1. [Step 2: Talking to the HID](#registration-step-2)
- 1. [Step 3: Validation & Storage](#registration-step-3)
-3. [Authentication Code]()
- 1. [Step 1: Starting]()
- 1. [Step 2: Talking to the HID]()
- 1. [Step 3: Validation]()
-
----
-
-### Compatibility Code
-
-You'll only ever need to use this method call once per installation and only in the context of debugging if the class is giving you unexpected errors. This method call will check your OpenSSL version and ensure it is at least 1.0.0 .
-
-```php
-
-
- U2F Key Registration
-
-
- U2F Registration
- Please enter your FIDO U2F device into your computer's USB port. Then confirm registration on the device.
-
-
-
-
-
-
-
-
-