Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219

Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
PK!``lexer/README.mdnu[# Doctrine Lexer Build Status: [![Build Status](https://travis-ci.org/doctrine/lexer.svg?branch=master)](https://travis-ci.org/doctrine/lexer) Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers. This lexer is used in Doctrine Annotations and in Doctrine ORM (DQL). https://www.doctrine-project.org/projects/lexer.html PK!`XQ)) lexer/LICENSEnu[Copyright (c) 2006-2018 Doctrine Project 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. PK!}[`lexer/composer.jsonnu[{ "name": "doctrine/lexer", "type": "library", "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", "keywords": [ "php", "parser", "lexer", "annotations", "docblock" ], "homepage": "https://www.doctrine-project.org/projects/lexer.html", "license": "MIT", "authors": [ {"name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com"}, {"name": "Roman Borschel", "email": "roman@code-factory.org"}, {"name": "Johannes Schmitt", "email": "schmittjoh@gmail.com"} ], "require": { "php": "^7.2" }, "require-dev": { "doctrine/coding-standard": "^6.0", "phpstan/phpstan": "^0.11.8", "phpunit/phpunit": "^8.2" }, "autoload": { "psr-4": { "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" } }, "autoload-dev": { "psr-4": { "Doctrine\\Tests\\": "tests/Doctrine" } }, "extra": { "branch-alias": { "dev-master": "1.2.x-dev" } }, "config": { "sort-packages": true } } PK! Ջ1lexer/lib/Doctrine/Common/Lexer/AbstractLexer.phpnu[input = $input; $this->tokens = []; $this->reset(); $this->scan($input); } /** * Resets the lexer. * * @return void */ public function reset() { $this->lookahead = null; $this->token = null; $this->peek = 0; $this->position = 0; } /** * Resets the peek pointer to 0. * * @return void */ public function resetPeek() { $this->peek = 0; } /** * Resets the lexer position on the input to the given position. * * @param int $position Position to place the lexical scanner. * * @return void */ public function resetPosition($position = 0) { $this->position = $position; } /** * Retrieve the original lexer's input until a given position. * * @param int $position * * @return string */ public function getInputUntilPosition($position) { return substr($this->input, 0, $position); } /** * Checks whether a given token matches the current lookahead. * * @param int|string $token * * @return bool */ public function isNextToken($token) { return $this->lookahead !== null && $this->lookahead['type'] === $token; } /** * Checks whether any of the given tokens matches the current lookahead. * * @param array $tokens * * @return bool */ public function isNextTokenAny(array $tokens) { return $this->lookahead !== null && in_array($this->lookahead['type'], $tokens, true); } /** * Moves to the next token in the input string. * * @return bool */ public function moveNext() { $this->peek = 0; $this->token = $this->lookahead; $this->lookahead = isset($this->tokens[$this->position]) ? $this->tokens[$this->position++] : null; return $this->lookahead !== null; } /** * Tells the lexer to skip input tokens until it sees a token with the given value. * * @param string $type The token type to skip until. * * @return void */ public function skipUntil($type) { while ($this->lookahead !== null && $this->lookahead['type'] !== $type) { $this->moveNext(); } } /** * Checks if given value is identical to the given token. * * @param mixed $value * @param int|string $token * * @return bool */ public function isA($value, $token) { return $this->getType($value) === $token; } /** * Moves the lookahead token forward. * * @return array|null The next token or NULL if there are no more tokens ahead. */ public function peek() { if (isset($this->tokens[$this->position + $this->peek])) { return $this->tokens[$this->position + $this->peek++]; } return null; } /** * Peeks at the next token, returns it and immediately resets the peek. * * @return array|null The next token or NULL if there are no more tokens ahead. */ public function glimpse() { $peek = $this->peek(); $this->peek = 0; return $peek; } /** * Scans the input string for tokens. * * @param string $input A query string. * * @return void */ protected function scan($input) { if (! isset($this->regex)) { $this->regex = sprintf( '/(%s)|%s/%s', implode(')|(', $this->getCatchablePatterns()), implode('|', $this->getNonCatchablePatterns()), $this->getModifiers() ); } $flags = PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE; $matches = preg_split($this->regex, $input, -1, $flags); if ($matches === false) { // Work around https://bugs.php.net/78122 $matches = [[$input, 0]]; } foreach ($matches as $match) { // Must remain before 'value' assignment since it can change content $type = $this->getType($match[0]); $this->tokens[] = [ 'value' => $match[0], 'type' => $type, 'position' => $match[1], ]; } } /** * Gets the literal for a given token. * * @param int|string $token * * @return int|string */ public function getLiteral($token) { $className = static::class; $reflClass = new ReflectionClass($className); $constants = $reflClass->getConstants(); foreach ($constants as $name => $value) { if ($value === $token) { return $className . '::' . $name; } } return $token; } /** * Regex modifiers * * @return string */ protected function getModifiers() { return 'iu'; } /** * Lexical catchable patterns. * * @return array */ abstract protected function getCatchablePatterns(); /** * Lexical non-catchable patterns. * * @return array */ abstract protected function getNonCatchablePatterns(); /** * Retrieve token type. Also processes the token value if necessary. * * @param string $value * * @return int|string|null */ abstract protected function getType(&$value); } PK!2>>instantiator/phpstan.neon.distnu[includes: - vendor/phpstan/phpstan-phpunit/extension.neon - vendor/phpstan/phpstan-phpunit/rules.neon parameters: level: max paths: - src - tests ignoreErrors: - message: '#::__construct\(\) does not call parent constructor from#' path: '*/tests/DoctrineTest/InstantiatorTestAsset/*.php' # dynamic properties confuse static analysis - message: '#Access to an undefined property object::\$foo\.#' path: '*/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php' PK!HXinstantiator/docs/en/index.rstnu[Introduction ============ This library provides a way of avoiding usage of constructors when instantiating PHP classes. Installation ============ The suggested installation method is via `composer`_: .. code-block:: console $ composer require doctrine/instantiator Usage ===== The instantiator is able to create new instances of any class without using the constructor or any API of the class itself: .. code-block:: php instantiate(User::class); Contributing ============ - Follow the `Doctrine Coding Standard`_ - The project will follow strict `object calisthenics`_ - Any contribution must provide tests for additional introduced conditions - Any un-confirmed issue needs a failing test case before being accepted - Pull requests must be sent from a new hotfix/feature branch, not from ``master``. Testing ======= The PHPUnit version to be used is the one installed as a dev- dependency via composer: .. code-block:: console $ ./vendor/bin/phpunit Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement won’t be merged. Credits ======= This library was migrated from `ocramius/instantiator`_, which has been donated to the doctrine organization, and which is now deprecated in favour of this package. .. _composer: https://getcomposer.org/ .. _CONTRIBUTING.md: CONTRIBUTING.md .. _ocramius/instantiator: https://github.com/Ocramius/Instantiator .. _Doctrine Coding Standard: https://github.com/doctrine/coding-standard .. _object calisthenics: http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php PK!v&& instantiator/docs/en/sidebar.rstnu[.. toctree:: :depth: 3 index PK!94instantiator/README.mdnu[# Instantiator This library provides a way of avoiding usage of constructors when instantiating PHP classes. [![Build Status](https://travis-ci.org/doctrine/instantiator.svg?branch=master)](https://travis-ci.org/doctrine/instantiator) [![Code Coverage](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/instantiator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/instantiator/?branch=master) [![Dependency Status](https://www.versioneye.com/package/php--doctrine--instantiator/badge.svg)](https://www.versioneye.com/package/php--doctrine--instantiator) [![Latest Stable Version](https://poser.pugx.org/doctrine/instantiator/v/stable.png)](https://packagist.org/packages/doctrine/instantiator) [![Latest Unstable Version](https://poser.pugx.org/doctrine/instantiator/v/unstable.png)](https://packagist.org/packages/doctrine/instantiator) ## Installation The suggested installation method is via [composer](https://getcomposer.org/): ```sh php composer.phar require "doctrine/instantiator:~1.0.3" ``` ## Usage The instantiator is able to create new instances of any class without using the constructor or any API of the class itself: ```php $instantiator = new \Doctrine\Instantiator\Instantiator(); $instance = $instantiator->instantiate(\My\ClassName\Here::class); ``` ## Contributing Please read the [CONTRIBUTING.md](CONTRIBUTING.md) contents if you wish to help out! ## Credits This library was migrated from [ocramius/instantiator](https://github.com/Ocramius/Instantiator), which has been donated to the doctrine organization, and which is now deprecated in favour of this package. PK! ͂$$instantiator/LICENSEnu[Copyright (c) 2014 Doctrine Project 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. PK!v>  #instantiator/.doctrine-project.jsonnu[{ "active": true, "name": "Instantiator", "slug": "instantiator", "docsSlug": "doctrine-instantiator", "codePath": "/src", "versions": [ { "name": "1.1", "branchName": "master", "slug": "latest", "aliases": [ "current", "stable" ], "maintained": true, "current": true }, { "name": "1.0", "branchName": "1.0.x", "slug": "1.0" } ] } PK!t&(::instantiator/phpcs.xml.distnu[ src tests tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php src/Doctrine/Instantiator/Exception/UnexpectedValueException.php src/Doctrine/Instantiator/Exception/InvalidArgumentException.php src/Doctrine/Instantiator/Exception/ExceptionInterface.php src/Doctrine/Instantiator/InstantiatorInterface.php PK!B\eeinstantiator/phpbench.jsonnu[{ "bootstrap": "vendor/autoload.php", "path": "tests/DoctrineTest/InstantiatorPerformance" } PK!^instantiator/composer.jsonnu[{ "name": "doctrine/instantiator", "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", "type": "library", "license": "MIT", "homepage": "https://www.doctrine-project.org/projects/instantiator.html", "keywords": [ "instantiate", "constructor" ], "authors": [ { "name": "Marco Pivetta", "email": "ocramius@gmail.com", "homepage": "http://ocramius.github.com/" } ], "require": { "php": "^7.1" }, "require-dev": { "ext-phar": "*", "ext-pdo": "*", "doctrine/coding-standard": "^6.0", "phpbench/phpbench": "^0.13", "phpstan/phpstan-phpunit": "^0.11", "phpstan/phpstan-shim": "^0.11", "phpunit/phpunit": "^7.0" }, "autoload": { "psr-4": { "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "autoload-dev": { "psr-0": { "DoctrineTest\\InstantiatorPerformance\\": "tests", "DoctrineTest\\InstantiatorTest\\": "tests", "DoctrineTest\\InstantiatorTestAsset\\": "tests" } }, "extra": { "branch-alias": { "dev-master": "1.2.x-dev" } } } PK!\j{{ instantiator/.github/FUNDING.ymlnu[patreon: phpdoctrine tidelift: packagist/doctrine%2Finstantiator custom: https://www.doctrine-project.org/sponsorship.html PK!lI7instantiator/src/Doctrine/Instantiator/Instantiator.phpnu[buildAndCacheFromFactory($className); } /** * Builds the requested object and caches it in static properties for performance * * @return object */ private function buildAndCacheFromFactory(string $className) { $factory = self::$cachedInstantiators[$className] = $this->buildFactory($className); $instance = $factory(); if ($this->isSafeToClone(new ReflectionClass($instance))) { self::$cachedCloneables[$className] = clone $instance; } return $instance; } /** * Builds a callable capable of instantiating the given $className without * invoking its constructor. * * @throws InvalidArgumentException * @throws UnexpectedValueException * @throws ReflectionException */ private function buildFactory(string $className) : callable { $reflectionClass = $this->getReflectionClass($className); if ($this->isInstantiableViaReflection($reflectionClass)) { return [$reflectionClass, 'newInstanceWithoutConstructor']; } $serializedString = sprintf( '%s:%d:"%s":0:{}', is_subclass_of($className, Serializable::class) ? self::SERIALIZATION_FORMAT_USE_UNSERIALIZER : self::SERIALIZATION_FORMAT_AVOID_UNSERIALIZER, strlen($className), $className ); $this->checkIfUnSerializationIsSupported($reflectionClass, $serializedString); return static function () use ($serializedString) { return unserialize($serializedString); }; } /** * @throws InvalidArgumentException * @throws ReflectionException */ private function getReflectionClass(string $className) : ReflectionClass { if (! class_exists($className)) { throw InvalidArgumentException::fromNonExistingClass($className); } $reflection = new ReflectionClass($className); if ($reflection->isAbstract()) { throw InvalidArgumentException::fromAbstractClass($reflection); } return $reflection; } /** * @throws UnexpectedValueException */ private function checkIfUnSerializationIsSupported(ReflectionClass $reflectionClass, string $serializedString) : void { set_error_handler(static function (int $code, string $message, string $file, int $line) use ($reflectionClass, &$error) : bool { $error = UnexpectedValueException::fromUncleanUnSerialization( $reflectionClass, $message, $code, $file, $line ); return true; }); try { $this->attemptInstantiationViaUnSerialization($reflectionClass, $serializedString); } finally { restore_error_handler(); } if ($error) { throw $error; } } /** * @throws UnexpectedValueException */ private function attemptInstantiationViaUnSerialization(ReflectionClass $reflectionClass, string $serializedString) : void { try { unserialize($serializedString); } catch (Exception $exception) { throw UnexpectedValueException::fromSerializationTriggeredException($reflectionClass, $exception); } } private function isInstantiableViaReflection(ReflectionClass $reflectionClass) : bool { return ! ($this->hasInternalAncestors($reflectionClass) && $reflectionClass->isFinal()); } /** * Verifies whether the given class is to be considered internal */ private function hasInternalAncestors(ReflectionClass $reflectionClass) : bool { do { if ($reflectionClass->isInternal()) { return true; } $reflectionClass = $reflectionClass->getParentClass(); } while ($reflectionClass); return false; } /** * Checks if a class is cloneable * * Classes implementing `__clone` cannot be safely cloned, as that may cause side-effects. */ private function isSafeToClone(ReflectionClass $reflection) : bool { return $reflection->isCloneable() && ! $reflection->hasMethod('__clone') && ! $reflection->isSubclassOf(ArrayIterator::class); } } PK!]D@instantiator/src/Doctrine/Instantiator/InstantiatorInterface.phpnu[getName() ), 0, $exception ); } public static function fromUncleanUnSerialization( ReflectionClass $reflectionClass, string $errorString, int $errorCode, string $errorFile, int $errorLine ) : self { return new self( sprintf( 'Could not produce an instance of "%s" via un-serialization, since an error was triggered ' . 'in file "%s" at line "%d"', $reflectionClass->getName(), $errorFile, $errorLine ), 0, new Exception($errorString, $errorCode) ); } } PK!EwMinstantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.phpnu[= 50400 && trait_exists($className)) { return new self(sprintf('The provided type "%s" is a trait, and can not be instantiated', $className)); } return new self(sprintf('The provided class "%s" does not exist', $className)); } public static function fromAbstractClass(ReflectionClass $reflectionClass) : self { return new self(sprintf( 'The provided class "%s" is abstract, and can not be instantiated', $reflectionClass->getName() )); } } PK!ﻦinstantiator/CONTRIBUTING.mdnu[# Contributing * Follow the [Doctrine Coding Standard](https://github.com/doctrine/coding-standard) * The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php) * Any contribution must provide tests for additional introduced conditions * Any un-confirmed issue needs a failing test case before being accepted * Pull requests must be sent from a new hotfix/feature branch, not from `master`. ## Installation To install the project and run the tests, you need to clone it first: ```sh $ git clone git://github.com/doctrine/instantiator.git ``` You will then need to run a composer installation: ```sh $ cd Instantiator $ curl -s https://getcomposer.org/installer | php $ php composer.phar update ``` ## Testing The PHPUnit version to be used is the one installed as a dev- dependency via composer: ```sh $ ./vendor/bin/phpunit ``` Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement won't be merged. PK!8ainflector/docs/en/index.rstnu[Introduction ============ The Doctrine Inflector has methods for inflecting text. The features include pluralization, singularization, converting between camelCase and under_score and capitalizing words. Installation ============ You can install the Inflector with composer: .. code-block:: console $ composer require doctrine/inflector Usage ===== Using the inflector is easy, you can create a new ``Doctrine\Inflector\Inflector`` instance by using the ``Doctrine\Inflector\InflectorFactory`` class: .. code-block:: php use Doctrine\Inflector\InflectorFactory; $inflector = InflectorFactory::create()->build(); By default it will create an English inflector. If you want to use another language, just pass the language you want to create an inflector for to the ``createForLanguage()`` method: .. code-block:: php use Doctrine\Inflector\InflectorFactory; use Doctrine\Inflector\Language; $inflector = InflectorFactory::createForLanguage(Language::SPANISH)->build(); The supported languages are as follows: - ``Language::ENGLISH`` - ``Language::ESPERANTO`` - ``Language::FRENCH`` - ``Language::NORWEGIAN_BOKMAL`` - ``Language::PORTUGUESE`` - ``Language::SPANISH`` - ``Language::TURKISH`` If you want to manually construct the inflector instead of using a factory, you can do so like this: .. code-block:: php use Doctrine\Inflector\CachedWordInflector; use Doctrine\Inflector\RulesetInflector; use Doctrine\Inflector\Rules\English; $inflector = new Inflector( new CachedWordInflector(new RulesetInflector( English\Rules::getSingularRuleset() )), new CachedWordInflector(new RulesetInflector( English\Rules::getPluralRuleset() )) ); Adding Languages ---------------- If you are interested in adding support for your language, take a look at the other languages defined in the ``Doctrine\Inflector\Rules`` namespace and the tests located in ``Doctrine\Tests\Inflector\Rules``. You can copy one of the languages and update the rules for your language. Once you have done this, send a pull request to the ``doctrine/inflector`` repository with the additions. Custom Setup ============ If you want to setup custom singular and plural rules, you can configure these in the factory: .. code-block:: php use Doctrine\Inflector\InflectorFactory; use Doctrine\Inflector\Rules\Pattern; use Doctrine\Inflector\Rules\Patterns; use Doctrine\Inflector\Rules\Ruleset; use Doctrine\Inflector\Rules\Substitution; use Doctrine\Inflector\Rules\Substitutions; use Doctrine\Inflector\Rules\Transformation; use Doctrine\Inflector\Rules\Transformations; use Doctrine\Inflector\Rules\Word; $inflector = InflectorFactory::create() ->withSingularRules( new Ruleset( new Transformations( new Transformation(new Pattern('/^(bil)er$/i'), '\1'), new Transformation(new Pattern('/^(inflec|contribu)tors$/i'), '\1ta') ), new Patterns(new Pattern('singulars')), new Substitutions(new Substitution(new Word('spins'), new Word('spinor'))) ) ) ->withPluralRules( new Ruleset( new Transformations( new Transformation(new Pattern('^(bil)er$'), '\1'), new Transformation(new Pattern('^(inflec|contribu)tors$'), '\1ta') ), new Patterns(new Pattern('noflect'), new Pattern('abtuse')), new Substitutions( new Substitution(new Word('amaze'), new Word('amazable')), new Substitution(new Word('phone'), new Word('phonezes')) ) ) ) ->build(); No operation inflector ---------------------- The ``Doctrine\Inflector\NoopWordInflector`` may be used to configure an inflector that doesn't perform any operation for pluralization and/or singularization. If will simply return the input as output. This is an implementation of the `Null Object design pattern `_. .. code-block:: php use Doctrine\Inflector\Inflector; use Doctrine\Inflector\NoopWordInflector; $inflector = new Inflector(new NoopWordInflector(), new NoopWordInflector()); Tableize ======== Converts ``ModelName`` to ``model_name``: .. code-block:: php echo $inflector->tableize('ModelName'); // model_name Classify ======== Converts ``model_name`` to ``ModelName``: .. code-block:: php echo $inflector->classify('model_name'); // ModelName Camelize ======== This method uses `Classify`_ and then converts the first character to lowercase: .. code-block:: php echo $inflector->camelize('model_name'); // modelName Capitalize ========== Takes a string and capitalizes all of the words, like PHP's built-in ``ucwords`` function. This extends that behavior, however, by allowing the word delimiters to be configured, rather than only separating on whitespace. Here is an example: .. code-block:: php $string = 'top-o-the-morning to all_of_you!'; echo $inflector->capitalize($string); // Top-O-The-Morning To All_of_you! echo $inflector->capitalize($string, '-_ '); // Top-O-The-Morning To All_Of_You! Pluralize ========= Returns a word in plural form. .. code-block:: php echo $inflector->pluralize('browser'); // browsers Singularize =========== Returns a word in singular form. .. code-block:: php echo $inflector->singularize('browsers'); // browser Urlize ====== Generate a URL friendly string from a string of text: .. code-block:: php echo $inflector->urlize('My first blog post'); // my-first-blog-post Unaccent ======== You can unaccent a string of text using the ``unaccent()`` method: .. code-block:: php echo $inflector->unaccent('año'); // ano Legacy API ========== The API present in Inflector 1.x is still available, but will be deprecated in a future release and dropped for 3.0. Support for languages other than English is available in the 2.0 API only. Acknowledgements ================ The language rules in this library have been adapted from several different sources, including but not limited to: - `Ruby On Rails Inflector `_ - `ICanBoogie Inflector `_ - `CakePHP Inflector `_ PK!w)Q  inflector/README.mdnu[# Doctrine Inflector Doctrine Inflector is a small library that can perform string manipulations with regard to uppercase/lowercase and singular/plural forms of words. [![Build Status](https://github.com/doctrine/inflector/workflows/Continuous%20Integration/badge.svg)](https://github.com/doctrine/inflector/actions?query=workflow%3A%22Continuous+Integration%22+branch%3A4.0.x) [![Code Coverage](https://codecov.io/gh/doctrine/inflector/branch/2.0.x/graph/badge.svg)](https://codecov.io/gh/doctrine/inflector/branch/2.0.x) PK!9))inflector/LICENSEnu[Copyright (c) 2006-2015 Doctrine Project 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. PK!|uinflector/composer.jsonnu[{ "name": "doctrine/inflector", "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", "license": "MIT", "type": "library", "keywords": [ "php", "strings", "words", "manipulation", "inflector", "inflection", "uppercase", "lowercase", "singular", "plural" ], "authors": [ { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, { "name": "Roman Borschel", "email": "roman@code-factory.org" }, { "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" }, { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" } ], "homepage": "https://www.doctrine-project.org/projects/inflector.html", "require": { "php": "^7.2 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^12.0 || ^13.0", "phpstan/phpstan": "^1.12 || ^2.0", "phpstan/phpstan-phpunit": "^1.4 || ^2.0", "phpstan/phpstan-strict-rules": "^1.6 || ^2.0", "phpunit/phpunit": "^8.5 || ^12.2" }, "autoload": { "psr-4": { "Doctrine\\Inflector\\": "src" } }, "autoload-dev": { "psr-4": { "Doctrine\\Tests\\Inflector\\": "tests" } }, "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true }, "sort-packages": true } } PK!FNtEtE5inflector/lib/Doctrine/Common/Inflector/Inflector.phpnu[. */ namespace Doctrine\Common\Inflector; /** * Doctrine inflector has static methods for inflecting text. * * The methods in these classes are from several different sources collected * across several different php projects and several different authors. The * original author names and emails are not known. * * Pluralize & Singularize implementation are borrowed from CakePHP with some modifications. * * @link www.doctrine-project.org * @since 1.0 * @author Konsta Vesterinen * @author Jonathan H. Wage */ class Inflector { /** * Plural inflector rules. * * @var string[][] */ private static $plural = array( 'rules' => array( '/(s)tatus$/i' => '\1\2tatuses', '/(quiz)$/i' => '\1zes', '/^(ox)$/i' => '\1\2en', '/([m|l])ouse$/i' => '\1ice', '/(matr|vert|ind)(ix|ex)$/i' => '\1ices', '/(x|ch|ss|sh)$/i' => '\1es', '/([^aeiouy]|qu)y$/i' => '\1ies', '/(hive|gulf)$/i' => '\1s', '/(?:([^f])fe|([lr])f)$/i' => '\1\2ves', '/sis$/i' => 'ses', '/([ti])um$/i' => '\1a', '/(c)riterion$/i' => '\1riteria', '/(p)erson$/i' => '\1eople', '/(m)an$/i' => '\1en', '/(c)hild$/i' => '\1hildren', '/(f)oot$/i' => '\1eet', '/(buffal|her|potat|tomat|volcan)o$/i' => '\1\2oes', '/(alumn|bacill|cact|foc|fung|nucle|radi|stimul|syllab|termin|vir)us$/i' => '\1i', '/us$/i' => 'uses', '/(alias)$/i' => '\1es', '/(analys|ax|cris|test|thes)is$/i' => '\1es', '/s$/' => 's', '/^$/' => '', '/$/' => 's', ), 'uninflected' => array( '.*[nrlm]ese', '.*deer', '.*fish', '.*measles', '.*ois', '.*pox', '.*sheep', 'people', 'cookie', 'police', ), 'irregular' => array( 'atlas' => 'atlases', 'axe' => 'axes', 'beef' => 'beefs', 'brother' => 'brothers', 'cafe' => 'cafes', 'canvas' => 'canvases', 'chateau' => 'chateaux', 'niveau' => 'niveaux', 'child' => 'children', 'cookie' => 'cookies', 'corpus' => 'corpuses', 'cow' => 'cows', 'criterion' => 'criteria', 'curriculum' => 'curricula', 'demo' => 'demos', 'domino' => 'dominoes', 'echo' => 'echoes', 'foot' => 'feet', 'fungus' => 'fungi', 'ganglion' => 'ganglions', 'gas' => 'gases', 'genie' => 'genies', 'genus' => 'genera', 'goose' => 'geese', 'graffito' => 'graffiti', 'hippopotamus' => 'hippopotami', 'hoof' => 'hoofs', 'human' => 'humans', 'iris' => 'irises', 'larva' => 'larvae', 'leaf' => 'leaves', 'loaf' => 'loaves', 'man' => 'men', 'medium' => 'media', 'memorandum' => 'memoranda', 'money' => 'monies', 'mongoose' => 'mongooses', 'motto' => 'mottoes', 'move' => 'moves', 'mythos' => 'mythoi', 'niche' => 'niches', 'nucleus' => 'nuclei', 'numen' => 'numina', 'occiput' => 'occiputs', 'octopus' => 'octopuses', 'opus' => 'opuses', 'ox' => 'oxen', 'passerby' => 'passersby', 'penis' => 'penises', 'person' => 'people', 'plateau' => 'plateaux', 'runner-up' => 'runners-up', 'sex' => 'sexes', 'soliloquy' => 'soliloquies', 'son-in-law' => 'sons-in-law', 'syllabus' => 'syllabi', 'testis' => 'testes', 'thief' => 'thieves', 'tooth' => 'teeth', 'tornado' => 'tornadoes', 'trilby' => 'trilbys', 'turf' => 'turfs', 'valve' => 'valves', 'volcano' => 'volcanoes', ) ); /** * Singular inflector rules. * * @var string[][] */ private static $singular = array( 'rules' => array( '/(s)tatuses$/i' => '\1\2tatus', '/^(.*)(menu)s$/i' => '\1\2', '/(quiz)zes$/i' => '\\1', '/(matr)ices$/i' => '\1ix', '/(vert|ind)ices$/i' => '\1ex', '/^(ox)en/i' => '\1', '/(alias)(es)*$/i' => '\1', '/(buffal|her|potat|tomat|volcan)oes$/i' => '\1o', '/(alumn|bacill|cact|foc|fung|nucle|radi|stimul|syllab|termin|viri?)i$/i' => '\1us', '/([ftw]ax)es/i' => '\1', '/(analys|ax|cris|test|thes)es$/i' => '\1is', '/(shoe|slave)s$/i' => '\1', '/(o)es$/i' => '\1', '/ouses$/' => 'ouse', '/([^a])uses$/' => '\1us', '/([m|l])ice$/i' => '\1ouse', '/(x|ch|ss|sh)es$/i' => '\1', '/(m)ovies$/i' => '\1\2ovie', '/(s)eries$/i' => '\1\2eries', '/([^aeiouy]|qu)ies$/i' => '\1y', '/([lr])ves$/i' => '\1f', '/(tive)s$/i' => '\1', '/(hive)s$/i' => '\1', '/(drive)s$/i' => '\1', '/(dive)s$/i' => '\1', '/(olive)s$/i' => '\1', '/([^fo])ves$/i' => '\1fe', '/(^analy)ses$/i' => '\1sis', '/(analy|diagno|^ba|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i' => '\1\2sis', '/(c)riteria$/i' => '\1riterion', '/([ti])a$/i' => '\1um', '/(p)eople$/i' => '\1\2erson', '/(m)en$/i' => '\1an', '/(c)hildren$/i' => '\1\2hild', '/(f)eet$/i' => '\1oot', '/(n)ews$/i' => '\1\2ews', '/eaus$/' => 'eau', '/^(.*us)$/' => '\\1', '/s$/i' => '', ), 'uninflected' => array( '.*[nrlm]ese', '.*deer', '.*fish', '.*measles', '.*ois', '.*pox', '.*sheep', '.*ss', 'data', 'police', 'pants', 'clothes', ), 'irregular' => array( 'abuses' => 'abuse', 'avalanches' => 'avalanche', 'caches' => 'cache', 'criteria' => 'criterion', 'curves' => 'curve', 'emphases' => 'emphasis', 'foes' => 'foe', 'geese' => 'goose', 'graves' => 'grave', 'hoaxes' => 'hoax', 'media' => 'medium', 'neuroses' => 'neurosis', 'waves' => 'wave', 'oases' => 'oasis', 'valves' => 'valve', ) ); /** * Words that should not be inflected. * * @var array */ private static $uninflected = array( '.*?media', 'Amoyese', 'audio', 'bison', 'Borghese', 'bream', 'breeches', 'britches', 'buffalo', 'cantus', 'carp', 'chassis', 'clippers', 'cod', 'coitus', 'compensation', 'Congoese', 'contretemps', 'coreopsis', 'corps', 'data', 'debris', 'deer', 'diabetes', 'djinn', 'education', 'eland', 'elk', 'emoji', 'equipment', 'evidence', 'Faroese', 'feedback', 'fish', 'flounder', 'Foochowese', 'Furniture', 'furniture', 'gallows', 'Genevese', 'Genoese', 'Gilbertese', 'gold', 'headquarters', 'herpes', 'hijinks', 'Hottentotese', 'information', 'innings', 'jackanapes', 'jedi', 'Kiplingese', 'knowledge', 'Kongoese', 'love', 'Lucchese', 'Luggage', 'mackerel', 'Maltese', 'metadata', 'mews', 'moose', 'mumps', 'Nankingese', 'news', 'nexus', 'Niasese', 'nutrition', 'offspring', 'Pekingese', 'Piedmontese', 'pincers', 'Pistoiese', 'plankton', 'pliers', 'pokemon', 'police', 'Portuguese', 'proceedings', 'rabies', 'rain', 'rhinoceros', 'rice', 'salmon', 'Sarawakese', 'scissors', 'sea[- ]bass', 'series', 'Shavese', 'shears', 'sheep', 'siemens', 'species', 'staff', 'swine', 'traffic', 'trousers', 'trout', 'tuna', 'us', 'Vermontese', 'Wenchowese', 'wheat', 'whiting', 'wildebeest', 'Yengeese' ); /** * Method cache array. * * @var array */ private static $cache = array(); /** * The initial state of Inflector so reset() works. * * @var array */ private static $initialState = array(); /** * Converts a word into the format for a Doctrine table name. Converts 'ModelName' to 'model_name'. */ public static function tableize(string $word) : string { return strtolower(preg_replace('~(?<=\\w)([A-Z])~', '_$1', $word)); } /** * Converts a word into the format for a Doctrine class name. Converts 'table_name' to 'TableName'. */ public static function classify(string $word) : string { return str_replace([' ', '_', '-'], '', ucwords($word, ' _-')); } /** * Camelizes a word. This uses the classify() method and turns the first character to lowercase. */ public static function camelize(string $word) : string { return lcfirst(self::classify($word)); } /** * Uppercases words with configurable delimeters between words. * * Takes a string and capitalizes all of the words, like PHP's built-in * ucwords function. This extends that behavior, however, by allowing the * word delimeters to be configured, rather than only separating on * whitespace. * * Here is an example: * * * * * @param string $string The string to operate on. * @param string $delimiters A list of word separators. * * @return string The string with all delimeter-separated words capitalized. */ public static function ucwords(string $string, string $delimiters = " \n\t\r\0\x0B-") : string { return ucwords($string, $delimiters); } /** * Clears Inflectors inflected value caches, and resets the inflection * rules to the initial values. */ public static function reset() : void { if (empty(self::$initialState)) { self::$initialState = get_class_vars('Inflector'); return; } foreach (self::$initialState as $key => $val) { if ($key !== 'initialState') { self::${$key} = $val; } } } /** * Adds custom inflection $rules, of either 'plural' or 'singular' $type. * * ### Usage: * * {{{ * Inflector::rules('plural', array('/^(inflect)or$/i' => '\1ables')); * Inflector::rules('plural', array( * 'rules' => array('/^(inflect)ors$/i' => '\1ables'), * 'uninflected' => array('dontinflectme'), * 'irregular' => array('red' => 'redlings') * )); * }}} * * @param string $type The type of inflection, either 'plural' or 'singular' * @param array|iterable $rules An array of rules to be added. * @param boolean $reset If true, will unset default inflections for all * new rules that are being defined in $rules. * * @return void */ public static function rules(string $type, iterable $rules, bool $reset = false) : void { foreach ($rules as $rule => $pattern) { if ( ! is_array($pattern)) { continue; } if ($reset) { self::${$type}[$rule] = $pattern; } else { self::${$type}[$rule] = ($rule === 'uninflected') ? array_merge($pattern, self::${$type}[$rule]) : $pattern + self::${$type}[$rule]; } unset($rules[$rule], self::${$type}['cache' . ucfirst($rule)]); if (isset(self::${$type}['merged'][$rule])) { unset(self::${$type}['merged'][$rule]); } if ($type === 'plural') { self::$cache['pluralize'] = self::$cache['tableize'] = array(); } elseif ($type === 'singular') { self::$cache['singularize'] = array(); } } self::${$type}['rules'] = $rules + self::${$type}['rules']; } /** * Returns a word in plural form. * * @param string $word The word in singular form. * * @return string The word in plural form. */ public static function pluralize(string $word) : string { if (isset(self::$cache['pluralize'][$word])) { return self::$cache['pluralize'][$word]; } if (!isset(self::$plural['merged']['irregular'])) { self::$plural['merged']['irregular'] = self::$plural['irregular']; } if (!isset(self::$plural['merged']['uninflected'])) { self::$plural['merged']['uninflected'] = array_merge(self::$plural['uninflected'], self::$uninflected); } if (!isset(self::$plural['cacheUninflected']) || !isset(self::$plural['cacheIrregular'])) { self::$plural['cacheUninflected'] = '(?:' . implode('|', self::$plural['merged']['uninflected']) . ')'; self::$plural['cacheIrregular'] = '(?:' . implode('|', array_keys(self::$plural['merged']['irregular'])) . ')'; } if (preg_match('/(.*)\\b(' . self::$plural['cacheIrregular'] . ')$/i', $word, $regs)) { self::$cache['pluralize'][$word] = $regs[1] . $word[0] . substr(self::$plural['merged']['irregular'][strtolower($regs[2])], 1); return self::$cache['pluralize'][$word]; } if (preg_match('/^(' . self::$plural['cacheUninflected'] . ')$/i', $word, $regs)) { self::$cache['pluralize'][$word] = $word; return $word; } foreach (self::$plural['rules'] as $rule => $replacement) { if (preg_match($rule, $word)) { self::$cache['pluralize'][$word] = preg_replace($rule, $replacement, $word); return self::$cache['pluralize'][$word]; } } } /** * Returns a word in singular form. * * @param string $word The word in plural form. * * @return string The word in singular form. */ public static function singularize(string $word) : string { if (isset(self::$cache['singularize'][$word])) { return self::$cache['singularize'][$word]; } if (!isset(self::$singular['merged']['uninflected'])) { self::$singular['merged']['uninflected'] = array_merge( self::$singular['uninflected'], self::$uninflected ); } if (!isset(self::$singular['merged']['irregular'])) { self::$singular['merged']['irregular'] = array_merge( self::$singular['irregular'], array_flip(self::$plural['irregular']) ); } if (!isset(self::$singular['cacheUninflected']) || !isset(self::$singular['cacheIrregular'])) { self::$singular['cacheUninflected'] = '(?:' . implode('|', self::$singular['merged']['uninflected']) . ')'; self::$singular['cacheIrregular'] = '(?:' . implode('|', array_keys(self::$singular['merged']['irregular'])) . ')'; } if (preg_match('/(.*)\\b(' . self::$singular['cacheIrregular'] . ')$/i', $word, $regs)) { self::$cache['singularize'][$word] = $regs[1] . $word[0] . substr(self::$singular['merged']['irregular'][strtolower($regs[2])], 1); return self::$cache['singularize'][$word]; } if (preg_match('/^(' . self::$singular['cacheUninflected'] . ')$/i', $word, $regs)) { self::$cache['singularize'][$word] = $word; return $word; } foreach (self::$singular['rules'] as $rule => $replacement) { if (preg_match($rule, $word)) { self::$cache['singularize'][$word] = preg_replace($rule, $replacement, $word); return self::$cache['singularize'][$word]; } } self::$cache['singularize'][$word] = $word; return $word; } } PK!%M2lexer/dc86a4f9730de812d9b005dc1ee6c265c99dd749.zipnuIwPK UP doctrine-lexer-e864bbf/UT^PK UP`XQw) doctrine-lexer-e864bbf/LICENSEUT^]Qn0 )Za7VaeJ[58V`) #[0D#SzݡpOO_A8B9_v<hwp!6h-=4]=lC=Ɏ~k754,vH>^p uq5Aw p; ꆘO"{p[ ..vaC4đPӟ[>! );L@>8oXwKuD;G,*6v Gp+fo+"]ta6?J zHG } Ek:J3fUo;e^y^-NzkF;{[Įqҝw!IKZ dV/2xYijm'4/x?K- frUR`Mid s@.W Q@7*)*"[ .2f4q.%Fk(׺T@ i Y,4(b >Z<')^?HUyi`L`q.*ҜU_g1hFcWwY */5R#UL06ЍD\ˊj0Z'"DB\Yh"8Bu% !VINu;wI >ܞQ_Q $pxd8 J-D]&M|[h ROl$Z9 Q,=sp1_ieS`j9% ˬu~BsPK UPK$ doctrine-lexer-e864bbf/composer.jsonUT^mSn0+-*6)H 0RߪX${IJ2L׺Pٝ]jw?f Uȝ`IϺCF 3r#['QvuIC>IˌǐG`pHg"RwzBw-2[:nCSY;"mE;1%Lkt,m/aA"g0eupE85Q4u1~~T8Ռ7doehҎFQ@9fb d==ցUvzF'͸&Q2zXAʸCsܖ,Ņ%BP\VN uLЧ|3N^SWM3?^:銙*}2%pƐ{:UT+3F,_6Ȫ6?d"gT uYƍ(a1"9ݴV+.Mua Kj.rHf3lsŬ%z)}sԯN ,o.g:NwPK UP doctrine-lexer-e864bbf/lib/UT^PK UP$ doctrine-lexer-e864bbf/lib/Doctrine/UT^PK UP+ doctrine-lexer-e864bbf/lib/Doctrine/Common/UT^PK UP1 doctrine-lexer-e864bbf/lib/Doctrine/Common/Lexer/UT^PK UP Ջ{B doctrine-lexer-e864bbf/lib/Doctrine/Common/Lexer/AbstractLexer.phpUT^Y[o6~`SN!eiZp q1 02mHMxKoustH$|2tf$pJ!SkN;c"􁇰ȷcǜ}{ŽLtA %8B!gBOחϓ'ϧG瓯'-{ξ\OhYɤLc18Tkx]dq-ʂH@K9~n8pwvoXEsJH(mD0%lqc12Vdq(-#ճgS GZImuSd? _n%A;0(Taql3FfH[D f Q0C =)("H[9Obʔr$8p](#]~{J2a'"Vӱ{@@gI:$#"o) ݜ`Ip Y AHgpAUt-c%wi5{xմ,MA9v=! s*#1!V6J/9*Z&`;Fe5Yh;>,ʜh'/ 5sD(2\P`>>`= Ƚ(4\t|.^ͰĠ aI"*+e24 rDkU >Dk[%)9yc8VȻ<qQN; xF=~MRVΚ\S;p0mW=;rIśw'Dz==EmW;ֱ55^Ɖ:Y<#@-t {U&FU5T@ Os צz:9CxAHτ4H$,/B7U;X%To3H%nN2"mSwU7Biѹ +Z/lRUW5wu)G{B,=^V%C&kL)1!IpvxpȧSt D kHbdRzU[2 `rۙ]kH@wE5  %l}sGҋm}y7I~SЯfHh 4n0._WT=*q3Bйo5~܍:N#p(0\>o H0=8m0}cb w8mmy;I2c{oRͺ'M kǖi?emCrߏ7e AcYؾ=+T~OTtA]`vcM{qv =!}m5^ПIO:ʥ\PB@ݣEr-E0=R _nlGAt^DK0z?q)Yʅט+;/R0ESRu:wѷQGoVʏ9D wBF v)e"Ûl!20"?mtWWNi3@5,Rh4R*дu6yb!Ūj: x-[7)˽QhW{S`^4X*lC9z\ڥmQ B RRӧOeBCWVbS7ȱڴg8VCrp_?=)G56!wIW̤:U00EPGUX2-;䚎r|2VэT7ՄBtfqX:ox.4Z8Մf]udKp%x7VXo;5@z}`4W8' Q$8r^a;9ľZo>oB; lv;PK UP doctrine-lexer-e864bbf/UT^PK UP`XQw) >doctrine-lexer-e864bbf/LICENSEUT^PK UP` doctrine-lexer-e864bbf/README.mdUT^PK UPK$ doctrine-lexer-e864bbf/composer.jsonUT^PK UP bdoctrine-lexer-e864bbf/lib/UT^PK UP$ doctrine-lexer-e864bbf/lib/Doctrine/UT^PK UP+ doctrine-lexer-e864bbf/lib/Doctrine/Common/UT^PK UP1 Adoctrine-lexer-e864bbf/lib/Doctrine/Common/Lexer/UT^PK UP Ջ{B doctrine-lexer-e864bbf/lib/Doctrine/Common/Lexer/AbstractLexer.phpUT^PK E}(e864bbf5904cb8f5bb334f99209b48018522f042PK!32lexer/acfba781809f831210f50c2bf39abc3bbe689088.zipnuIwPK <^O doctrine-lexer-5242d66/UT]PK <^O`XQw) doctrine-lexer-5242d66/LICENSEUT]]Qn0 )Za7VaeJ[58V`) #[0D#SzݡpOO_A8B9_v<hwp!6h-=4]=lC=Ɏ~k754,vH>^p uq5Aw p; ꆘO"{p[ ..vaC4đPӟ[>! );L@>8oXwKuD;G,*6v Gp+fo+"]ta6?J zHG } Ek:J3fUo;e^y^-NzkF;{[Įqҝw!IKZ dV/2xYijm'4/x?K- frUR`Mid s@.W Q@7*)*"[ .2f4q.%Fk(׺T@ i Y,4(b >Z<')^?HUyi`L`q.*ҜU_g1hFcWwY */5R#UL06ЍD\ˊj0Z'"DB\Yh"8Bu% !VINu;wI >ܞQ_Q $pxd8 J-D]&M|[h ROl$Z9 Q,=sp1_ieS`j9% ˬu~BsPK <^O}[`$ doctrine-lexer-5242d66/composer.jsonUT]mSMo0 W>vS [S6 r;@YK-z''veE{{$eg= $,)QQ`ҡ l6`Q-)Ԟ]}]~|rc11muJ4[c.s3V-0hbnp Mi0|K䲗p^®Mbu4@˫0I<>FAPw;/Sr= zByGM|_:UK0 kɜ%pU{M*Od43HxI` -XKFEBvQ^VN/uХ?i 8RK\ܔAcvt>!.[,N+3D=\ kU֤<Ēi36 PS@>yvi7`_&׺'cAZȔ׊ۈ \N|gP9*TX4\ly2 IPK <^O doctrine-lexer-5242d66/lib/UT]PK <^O$ doctrine-lexer-5242d66/lib/Doctrine/UT]PK <^O+ doctrine-lexer-5242d66/lib/Doctrine/Common/UT]PK <^O1 doctrine-lexer-5242d66/lib/Doctrine/Common/Lexer/UT]PK <^O Ջ{B doctrine-lexer-5242d66/lib/Doctrine/Common/Lexer/AbstractLexer.phpUT]Y[o6~`SN!eiZp q1 02mHMxKoustH$|2tf$pJ!SkN;c"􁇰ȷcǜ}{ŽLtA %8B!gBOחϓ'ϧG瓯'-{ξ\OhYɤLc18Tkx]dq-ʂH@K9~n8pwvoXEsJH(mD0%lqc12Vdq(-#ճgS GZImuSd? _n%A;0(Taql3FfH[D f Q0C =)("H[9Obʔr$8p](#]~{J2a'"Vӱ{@@gI:$#"o) ݜ`Ip Y AHgpAUt-c%wi5{xմ,MA9v=! s*#1!V6J/9*Z&`;Fe5Yh;>,ʜh'/ 5sD(2\P`>>`= Ƚ(4\t|.^ͰĠ aI"*+e24 rDkU >Dk[%)9yc8VȻ<qQN; xF=~MRVΚ\S;p0mW=;rIśw'Dz==EmW;ֱ55^Ɖ:Y<#@-t {U&FU5T@ Os צz:9CxAHτ4H$,/B7U;X%To3H%nN2"mSwU7Biѹ +Z/lRUW5wu)G{B,=^V%C&kL)1!IpvxpȧSt D kHbdRzU[2 `rۙ]kH@wE5  %l}sGҋm}y7I~SЯfHh 4n0._WT=*q3Bйo5~܍:N#p(0\>o H0=8m0}cb w8mmy;I2c{oRͺ'M kǖi?emCrߏ7e AcYؾ=+T~OTtA]`vcM{qv =!}m5^ПIO:ʥ\PB@ݣEr-E0=R _nlGAt^DK0z?q)Yʅט+;/R0ESRu:wѷQGoVʏ9D wBF v)e"Ûl!20"?mtWWNi3@5,Rh4R*дu6yb!Ūj: x-[7)˽QhW{S`^4X*lC9z\ڥmQ B RRӧOeBCWVbS7ȱڴg8VCrp_?=)G56!wIW̤:U00EPGUX2-;䚎r|2VэT7ՄBtfqX:ox.4Z8Մf]udKp%x7VXo;5@z}`4W8' Q$8r^a;9ľZo>oB; lv;PK <^O doctrine-lexer-5242d66/UT]PK <^O`XQw) >doctrine-lexer-5242d66/LICENSEUT]PK <^O` doctrine-lexer-5242d66/README.mdUT]PK <^O}[`$ doctrine-lexer-5242d66/composer.jsonUT]PK <^O Zdoctrine-lexer-5242d66/lib/UT]PK <^O$ doctrine-lexer-5242d66/lib/Doctrine/UT]PK <^O+ doctrine-lexer-5242d66/lib/Doctrine/Common/UT]PK <^O1 9doctrine-lexer-5242d66/lib/Doctrine/Common/Lexer/UT]PK <^O Ջ{B doctrine-lexer-5242d66/lib/Doctrine/Common/Lexer/AbstractLexer.phpUT]PK Eu(5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6PK!] / /9instantiator/09dbbc80058481f4c7b661e8c9bd0c8408178501.zipnuIwPK MUO doctrine-instantiator-ae466f7/UT]PK MUOv> 4 doctrine-instantiator-ae466f7/.doctrine-project.jsonUT] 0E~dmnݔB3ohm yp tOӠ:B5Ff:[b@*R#~xf6XViBn˨ 77Hl*N\-62J`AZ{ dYS( 0.PDh=T@jv Ɗ-?u$p[ PK MUO& doctrine-instantiator-ae466f7/.github/UT]PK MUO\jc{1 doctrine-instantiator-ae466f7/.github/FUNDING.ymlUT]5ʱ 0 ^SI H!$ohq{].6lg 7+/(7>^o г.9>^TB=[8PK MUOﻦ-- doctrine-instantiator-ae466f7/CONTRIBUTING.mdUT]uSM0W lK?X=--R,mYr5'(f>{3|b.J[+1I*+y:XB]7:rߚ8wv+L-nh+~SP 꼇LC"הޑPgL"뺶Et6 wcv~4cu0;7^6eZps83qut`$&@[J^{pRm6hK9L NXpD! Z vXУ@W kcpaie _%aHq+LPs.0I!ĭ0kbLV;d"W}9jrjrz'.?(u8hR/@%?&|Z)(J}zr+QѠe Ej~jy Dr\͈|ic H X@:yijƳ:^Pbݷ 1QqHdǮ[ X,rxF GRS׻Љ.;zܬ!]BG,. ߽l5uh8UNRYTjU،iD+ PK MUO ͂p$% doctrine-instantiator-ae466f7/LICENSEUT]]QK0WrڕzsX%g 86wdJH3fRyݩ<_A8B9_v<hp!6h-#4]=lC=Ŏk754(,vH1^p uq5AlXG;xEuG,g=QW;?Em q$8SKڽ; $eS3oݑvu ]#؁P!ؾ'gín!ZhtYq3,YB?Wu(|g`>vr;#ZY\^ ]0u`!YkZdV/2,xE;ijk'4/ x?K- frSR`Mid K@.7 Q@w*)*"ɗ2f4q%Fۜk(T@ i Y4(b >Z<')Ʒ^?HUym`L`q)_&ҜMg1hFc7w[ */5R#UL06НD\ˊj0Z'"LBXh"8Bm% !&'SE"( AmReH Q94$r+Ұ6mԝ89,REӽI .p ]4LSgR@<͌tViL\BiYWIG adh#'iU?zit.)+L 1/6j_Q*=4?ab:C-n6጑2; Ƶ9i]ԃ:`W>~UpHKoƺ66}.S r-A W,WG,G59kf^} ]ax`Lu;G^ aPqS] oeH6*yy'OOÄ,:"4-g^g8c~F9ښc?dUWE(|q8;]b=XwoV"v|o7p|sQ -=Q4)QrVEЧ_'WI][jGЙCce >Ō3phAr+|,`jjh[o~^NO|ETEɌOS.xT ~Ǣs# U - f``%OD~ϬUu*UԁTȰ0{IǚuJӒ7.I(JN\[ ksY}? D-T5 (jSilHif<+'1*Oгl6] cNr x)_~ -쑹8CZ-Z' =oJA-l2]}Z6]M[+9=z/-?D{,(q&̆Iam$Л=gےeRDۿgg?<7>{3M?i2H7 Ϋg, -/^?O _3nWp֭'.>itυ~[_Ajtđ )k-K* j]RҚHpΨ$pC.ErL!"aQ76|/-5t LeWao1Pxn¥bH '‰`w#K̏.AHx܉dH6\K(i\BlF4~$8bYvqxѡd6it$xIߑ#t5dL qsOT in}D[DZ?-sEYٻ>]1P"qfu4 {Uvhh5@Y&K.t毲h9^udZ4~=-5@TItkwvoGOJЋ6rWxnn_S"eɪ\sRvwIÖ>d+2ȔA҉'۵Vd/)nƪ=ѻ:Y^eY`OTXD;j"׶@/H ǁV bI[ 6_`m*x2R ry<GEmadt\,<>TV!5Zn]/ doctrine-instantiator-ae466f7/phpstan.neon.distUT]P=k@ +) $o Cp=ɕd$9$rHBHOtR[PH-K=HPK MUOEw٩^ doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/Exception/InvalidArgumentException.phpUT]SKO0 WXG7.xL14e;"uI0ڊRŎ='Ø t +-JrIN> I!V<ɹ TT;P}i_fܹ2(d0o̤ A*BzS\JGv%%UlgЇ5T[8X,L4k7|>npI0xU0cY&xtJUjbը%<brs ~=8Y:#S^F^mq,Rn(| ݢνwfԫAr ڴv-CJfb[Vpzoe?+tS;X%Ī7 r>`6EamLlks;#^n;PK MUO3|^ doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/Exception/UnexpectedValueException.phpUT]SMo0 WA4A ;Nh6 P(AI}Rq>v(/6E||zY!H.[Y |6Ep| ^ A"z-?߱X$9)?ئIz<dWrAᄊOc7TAH` :^Q Rr6NTl\kNEpT>j\ a&U1^*2CV,n)F'T]òt '0iovN*GvE&^&r.+I՝NZE9l}3 NJBsMpow5o٨wwO}ww AK9%ͩCsd 2ݏ)HPW~D]֙2Wq73%ozC\EeS^.kkUJidLrh>̀ϖ4 cy>C6̄TP!B# f)9T?9ȔyXD+@nZXyߧwPiFi5iXi[ZOp/,K)i+wh]kKOwc ETtxvxrv4].3\ '-׏Nߺp 7!TP# G `A;!< BZsT=$)o.sv_T❀K۴hm`QHt&@m0>〢Uik 2s+l4u Na18*du:y #߷nގFA<ѐ-׫׃LDl;{zBȶӰ?pyQFN3+)do8 'jC-ZQ2s,H#McKaŏpp<‚kELƕvj}NuBlAiSC5(؆B.;QP9"-%`^md1g ʢ ޵ ƞ d7֝&e vCcNqByW}(a媨Λ݀L7ucbZ挱 STvGG޿vPg¡b4} azjztzPPX.m&D%L _o}V0՚[a rJ9a5ѶѪE4w:r6[q#8^٬^}TH ^O-VǨ:T?@'ܽnfL}qF tedGӤ7,=M./'y5.U8փPK MUO]DQ doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/InstantiatorInterface.phpUT]uP;n0 u Z/>@ C;d 2IE^9p~P.߇y!prLO\qfNEW!<f'o͎rum |_ H t{@q |@RHR崤*fU tvat>9e5N`sܤ1+,EyA`hOo.H L] j| PK MUO doctrine-instantiator-ae466f7/UT]PK MUOv> 4 Edoctrine-instantiator-ae466f7/.doctrine-project.jsonUT]PK MUO& ddoctrine-instantiator-ae466f7/.github/UT]PK MUO\jc{1 doctrine-instantiator-ae466f7/.github/FUNDING.ymlUT]PK MUOﻦ-- ldoctrine-instantiator-ae466f7/CONTRIBUTING.mdUT]PK MUO ͂p$% doctrine-instantiator-ae466f7/LICENSEUT]PK MUO94' doctrine-instantiator-ae466f7/README.mdUT]PK MUO^ +  doctrine-instantiator-ae466f7/composer.jsonUT]PK MUO#  doctrine-instantiator-ae466f7/docs/UT]PK MUO& V doctrine-instantiator-ae466f7/docs/en/UT]PK MUOHXN/  doctrine-instantiator-ae466f7/docs/en/index.rstUT]PK MUOv#&1 Gdoctrine-instantiator-ae466f7/docs/en/sidebar.rstUT]PK MUOB\Ze+ doctrine-instantiator-ae466f7/phpbench.jsonUT]PK MUOt&(:, ndoctrine-instantiator-ae466f7/phpcs.xml.distUT]PK MUO2 >/ doctrine-instantiator-ae466f7/phpstan.neon.distUT]PK MUO" doctrine-instantiator-ae466f7/src/UT]PK MUO+ Adoctrine-instantiator-ae466f7/src/Doctrine/UT]PK MUO8 doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/UT]PK MUOB doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/Exception/UT]PK MUOfX [doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/Exception/ExceptionInterface.phpUT]PK MUOEw٩^ \doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/Exception/InvalidArgumentException.phpUT]PK MUO3|^ doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/Exception/UnexpectedValueException.phpUT]PK MUOlIH doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/Instantiator.phpUT]PK MUO]DQ w#doctrine-instantiator-ae466f7/src/Doctrine/Instantiator/InstantiatorInterface.phpUT]PK $(ae466f726242e637cebdd526a7d991b9433bacf1PK!$??9instantiator/1bd58de5714a9e86c1658357a6b9b2d18677b65b.zipnuIwPK UjQ doctrine-instantiator-d56bf61/UT^_PK UjQ7,4 doctrine-instantiator-d56bf61/.doctrine-project.jsonUT^_Q0+$guۺ'`/c:hT7Xl˼)c;Yϔk0Al"'ek87wìCB 77a{ǏX_9>Z<gi^C@[EKښRa[ iXt>O̲)l,{,2KIPK UjQ& doctrine-instantiator-d56bf61/.github/UT^_PK UjQ\jc{1 doctrine-instantiator-d56bf61/.github/FUNDING.ymlUT^_5ʱ 0 ^SI H!$ohq{].6lg 7+/(7>^o г.9>^TB=[8PK UjQ0 doctrine-instantiator-d56bf61/.github/workflows/UT^_PK UjQJD doctrine-instantiator-d56bf61/.github/workflows/coding-standards.ymlUT^_n1u HH"z%N&{C>;)KTb9Y{b/ ,%e&MD i [YK=7+΋b(U1[4@uj'SGK!hCfdkPo] X$vҁH~ ,[k PejǤU0F0f+3t2j&&)[g1!{ywg p? DӴ3֠mV$0,[2]lij2׽X74[0-jX곩^ <^? pD}Ot'[@? BX' (ƻ / /,fn26!7.=\D..>۳X1hqӡhW;Kq>|l_C PK UjQ$MJ doctrine-instantiator-d56bf61/.github/workflows/continuous-integration.ymlUT^_ŕmo0St@*Mꆘl]&,i|v.S  |v I8r3\XhfaHq\-5|v`l1&dS0ՈJg.,}MO"/lk3fX-tq6_Χ˳|卢#\IX*UNp/0{=@6%oNUЭDEbX,67-Q 0?,E4 ۖÎyrԲZ@5PB|%$JB;dw8 MkqJPh&A;ɹ0eArNNmRЀu"{zQ  ]&HlSTK GAӜe, $bƀ.GY&˿Mѿ'O8LvAW1!J4T`bUCfTh0U¯(kE@4$gLg` 騘Op 1I<>q PK UjQP[< doctrine-instantiator-d56bf61/.github/workflows/phpbench.ymlUT^_S[k0~bm B`,tC:$bK.n6$0?YlepEFۖ T%Znw4˴1iV~p> Y[!з=MN@uaX_r,ۛq^',#L,>"MEcа6/#Fl:oàY^\@kBy~c7=I/D`5,iF9ϛ#'d[4$-`96vK}AhX(%doBRTs& =23 A8OC$ZtE|wa5A&wlyl_yŻ-0$rtb)I 4"g\"S0 Pm."',9=v~jz˭4e|MQ*Vl|WW"La0pݤ!8묅x {A8_vACAe07u:מܧ>[vVɘXd$ѱ|W:?RSz)4mLo]:˷!~ϳoFF}PK UjQ2g |C doctrine-instantiator-d56bf61/.github/workflows/static-analysis.ymlUT^_Sj1|W,G!mA @IiZ֧,ZɍIoN8'H (A45zwD iҨ (ޖ7Ee.ƓjM&?f7V|Ϡ_vtRIȬIqɴ?:T02)". Q4&R2z McK;y,6~>zNqjcceWX{3|b.J[+1I*+y:XB]7:rߚ8wv+L-nh+~SP 꼇LC"הޑPgL"뺶Et6 wcv~4cu0;7^6eZps83qut`$&@[J^{pRm6hK9L NXpD! Z vXУ@W kcpaie _%aHq+LPs.0I!ĭ0kbLV;d"W}9jrjrz'.?(u8hR/@%?&|Z)(J}zr+QѠe Ej~jy Dr\͈|ic H X@:yijƳ:^Pbݷ 1QqHdǮ[ X,rxF GRS׻Љ.;zܬ!]BG,. ߽l5uh8UNRYTjU،iD+ PK UjQ ͂p$% doctrine-instantiator-d56bf61/LICENSEUT^_]QK0WrڕzsX%g 86wdJH3fRyݩ<_A8B9_v<hp!6h-#4]=lC=Ŏk754(,vH1^p uq5AlXG;xEuG,g=QW;?Em q$8SKڽ; $eS3oݑvu ]#؁P!ؾ'gín!ZhtYq3,YB?Wu(|g`>vr;#ZY\^ ]0u`!YkZdV/2,xE;ijk'4/ x?K- frSR`Mid K@.7 Q@w*)*"ɗ2f4q%Fۜk(T@ i Y4(b >Z<')Ʒ^?HUym`L`q)_&ҜMg1hFc7w[ */5R#UL06НD\ˊj0Z'"LBXh"8Bm% !|U֫tM mN:EN+tvƯ8Z}VSDI!L"گ*rUjqv~]v ;T΂@kʎ}s,*4n JI7Z^qzzrV9iZ# )J~=yJ%K{o[H2(x߽_`;1 PK UjQ h+ doctrine-instantiator-d56bf61/composer.jsonUT^_S=o0+EmC3𐭮b%6N={IْI9Pu};=/;,:<EhƒlH#Vi@3%LQRud*CF.4/:[[P =<`TjL`\f;C{]lev(0b*tcc%ԺE%QkoӴ{16PX绍%Iz܆q/ g`9*]cd_ϒm6ZTOCՎS_ۧN-%5er;'{ PK UjQ# doctrine-instantiator-d56bf61/docs/UT^_PK UjQ& doctrine-instantiator-d56bf61/docs/en/UT^_PK UjQHXN/ doctrine-instantiator-d56bf61/docs/en/index.rstUT^_Un6+6% 5]#o,lHQ&^$hVuð=dww)xU2މ͗`Md8h a'=ȣ7ڸ('ʻaaЁ钑~eek!|g|e r,Hh'1O;!JXu֫][^ & hR0U J,Bʄp>(q&̆Iam$Л=gےeRDۿgg?<7>{3M?i2H7 Ϋg, -/^?O _3nWp֭'.>itυ~[_Ajtđ )k-K* j]RҚHpΨ$pC.ErL!"aQ76|/-5t LeWao1Pxn¥bH '‰`w#K̏.AHx܉dH6\K(i\BlF4~$8bYvqxѡd6it$xIߑ#t5dL qsOT in}D[DZ?-sEYٻ>]1P"qfu4 {Uvhh5@Y&K.t毲h9^udZ4~=-5@TItkwvoGOJЋ6rWxnn_S"eɪ\sRC"h5uAt,@PK UjQ0Lٱ^ doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/Exception/InvalidArgumentException.phpUT^_SN0+FiU;E,] UHMūĶ [wNH@aŗ(37o |c?4E w|fЕ+Wo3g|\)uܝMnciMre!.h lj-onrKxl,e+jo߄:g'kf/ԓC8@eClZbq2ӝ,/bXi[7wa1fi[ɴLᒐ]Ü` V%FҧNzY0Vοr95FCw,ZqS-/V5S;"EIwoxPK UjQAWx I^ doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/Exception/UnexpectedValueException.phpUT^_TKo1WP*sJ)gwvʌW~mޱawYQ[吹,×J t>[Ex{MKJzco?32t!Dp;~tc1TK6suŧ:`GT|ۢ*x_d80lCa,jG )*ARjOBx#Yp͉gƵGʟԢҸ@xц#'ĉf` 0w?hd^>—+8ݳm$}pUOeab`~gV%Z̛7uz457[ΰP\% \H-ږaHAd R9ftu4" kY֌oRI4vGW_迱nꛮFJH? Ü2Qhg䝭5&9mYF&I_c)_9z^5MM9PY2~[6lIAk+:44N7|nql; (PK UjQHkUH doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/Instantiator.phpUT^_YYs6~ׯ@2NDet.Ui-3u2 D.%4z߻ xՋ,`wǷU6$t "i 9K4&Q @ƜӻԒmdi4f/5$؍"  %s0gH'1\4ρ3/4/ʓLRL\ MF&8O|E0n3t4% cH<ʂ%4֪; [g1(wק 2?ϟ=+3B⎼=) rNІUNJ: d&kIÊoIF%?w$7L} p-!uMPT>/|)zMǿMϦ'ӳwh~qRm!K2 w_Nv% ).PFDz:BPEm>phQ7ה5B4XA؆@ > O҈?1zJ<8.(xj&~ZNjNpeToXpd&7{{'ਠ>,"CKO@Uq4jqD RZ!]ÁˊJ7rYQ9qNI<]-Wk1+(^Q2/9VT I 1%ưG daÿkMLĕzjy,* v&I尃r֠>y-_^0ShWO6G~*,K9}۹me ˾RCYbc]1+J_[#YodnO}G AulmX*Wߏ(7 TQ= \SOëxb}wyh#z=зUڷ*`a'duBr%޳*kqB#{ Bek!b1R "c)t8 uYil®/4IM 'uۉe}MQa˅:r=YG6āp T*fE{Ig:}znJEp:[Y[' sS+8T=:8[.CXpלKc4M,YFʼ~T+*3eMžӧe~׻.1z+{~bB=+YBU?{ެg:fƢr?QP&A`vx[&zLR`"h]I55zDz(/5wo1([]`hQ' w7,:܉('Tuu PK UjQ'שQ doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/InstantiatorInterface.phpUT^_u=n0 wC@$h;CL2EAA^kj<\6mCxcFPK UjQ doctrine-instantiator-d56bf61/UT^_PK UjQ7,4 Edoctrine-instantiator-d56bf61/.doctrine-project.jsonUT^_PK UjQ& doctrine-instantiator-d56bf61/.github/UT^_PK UjQ\jc{1 doctrine-instantiator-d56bf61/.github/FUNDING.ymlUT^_PK UjQ0 doctrine-instantiator-d56bf61/.github/workflows/UT^_PK UjQJD doctrine-instantiator-d56bf61/.github/workflows/coding-standards.ymlUT^_PK UjQ$MJ Idoctrine-instantiator-d56bf61/.github/workflows/continuous-integration.ymlUT^_PK UjQP[< ^doctrine-instantiator-d56bf61/.github/workflows/phpbench.ymlUT^_PK UjQ1AeO  doctrine-instantiator-d56bf61/.github/workflows/release-on-milestone-closed.ymlUT^_PK UjQ2g |C  doctrine-instantiator-d56bf61/.github/workflows/static-analysis.ymlUT^_PK UjQﻦ-- doctrine-instantiator-d56bf61/CONTRIBUTING.mdUT^_PK UjQ ͂p$% ^doctrine-instantiator-d56bf61/LICENSEUT^_PK UjQaw=' doctrine-instantiator-d56bf61/README.mdUT^_PK UjQ h+ doctrine-instantiator-d56bf61/composer.jsonUT^_PK UjQ# Odoctrine-instantiator-d56bf61/docs/UT^_PK UjQ& doctrine-instantiator-d56bf61/docs/en/UT^_PK UjQHXN/ doctrine-instantiator-d56bf61/docs/en/index.rstUT^_PK UjQv#&1 doctrine-instantiator-d56bf61/docs/en/sidebar.rstUT^_PK UjQB\Ze+ doctrine-instantiator-d56bf61/phpbench.jsonUT^_PK UjQJAa, doctrine-instantiator-d56bf61/phpcs.xml.distUT^_PK UjQ=t/ E!doctrine-instantiator-d56bf61/phpstan.neon.distUT^_PK UjQ" z"doctrine-instantiator-d56bf61/src/UT^_PK UjQ+ "doctrine-instantiator-d56bf61/src/Doctrine/UT^_PK UjQ8 #doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/UT^_PK UjQB t#doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/Exception/UT^_PK UjQfX #doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/Exception/ExceptionInterface.phpUT^_PK UjQ0Lٱ^ $doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/Exception/InvalidArgumentException.phpUT^_PK UjQAWx I^ 'doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/Exception/UnexpectedValueException.phpUT^_PK UjQHkUH )doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/Instantiator.phpUT^_PK UjQ'שQ f0doctrine-instantiator-d56bf61/src/Doctrine/Instantiator/InstantiatorInterface.phpUT^_PK 1(d56bf6102915de5702778fe20f2de3b2fe570b5bPK!!d?$$6inflector/be4dfb34f5fc96aee612fb3719526ca3606301b2.zipnuIwPK qg^O doctrine-inflector-ec3a552/UT]PK qg^O9w)" doctrine-inflector-ec3a552/LICENSEUT]]Qn0 )Za7VaeJ[58V`) #[0D#SzݡpOO_B8B9_v<hwp!6h-=4]=lC=Ɏ~k754,vH>^p uq5Aw p; ꆘO"{p[ ..vaC4đPӟ[>! );L@>8oXwKuD;G,*6v Gp+fo+"]ta6?J zHG } Ek:J3fUo;e^y^-NzkF;{[Įqҝw!IKZ dV/2xYijm'4/x?K- frUR`Mid s@.W Q@7*)*"[ .2f4q.%Fk(׺T@ i Y,4(b >Z<')^?HUyi`L`q.*ҜU_g1hFcWwY */5R#UL06ЍD\ˊj0Z'"DB\Yh"8Bu% !M/ 6֖Řdw03hec;U+6ג\47`ՊʟJ_ɑE7 -بqYWhYH3\0}UZ{J5EM!\./kƻxXݻ=JWsIt;odmi}ȼPK qg^OEdc( doctrine-inflector-ec3a552/composer.jsonUT]Ao0ϛDROZZLc:0v.Nm zޛxíh_1^->?arNnFՏ4h]VXvFDձ^{jAȤp#l`5 è3)brD+ cpXMrŏVi(ϧ g-.rz 6Zu~+4M*x~_:mPlcFhzI[Q%6Z`}FX aR(Jkd"! ـ݉F[y d@@{^z WLA+ |/%bvsۂcwR5 DW)g:oU~/y::}1yw8c4(ZebOgS_Ӆ) 2H1zAY]`&. ^Fо Ygevg&qr4ɦӏZH6x㕥4[`N#r0S8Osa(lm;!,s1¥/PK qg^O doctrine-inflector-ec3a552/lib/UT]PK qg^O( doctrine-inflector-ec3a552/lib/Doctrine/UT]PK qg^O/ doctrine-inflector-ec3a552/lib/Doctrine/Common/UT]PK qg^O9 doctrine-inflector-ec3a552/lib/Doctrine/Common/Inflector/UT]PK qg^OFNtEF doctrine-inflector-ec3a552/lib/Doctrine/Common/Inflector/Inflector.phpUT];[w6hI*c{%9٬@$!$}iH$هC`nD^O;OwS68YCa>u0ag{ݷv|vrYFOYh~na4>:}ǺOڧnbÓlHNa:c_wODMwpޜQ{I/zgCÓv]hxs:`IY\sCHڣns8@CP"0yBDaڠ}lY]L[Y;I;Tҿxt{{vvDjwzﻇsvr'];Q{&~} Nwq>螝@CiVNQfc;GDhzIkmTGw8(IP& vޞtvN;p>t6G.$;nFl-]}Gȿ{w6 K8ZPʼnL҄1SQ\?h0K%L 6|x$(Qxg2p3ЊdH HƷUH0aس_kФI*pY^ޙa7ҽ_*x}^|V=4 B5leXdd"R0Ei`:\; gYOKPM  `/~3 C<ٗԸzvVL@TA }LEt( SsC± tN hʇ(E5>,"Iɴ[y _YXD\=wbf<.{uX,FY'w5%0Lu ZgjI T(85T͞TFvu8P*-b4c-B/ Lr*ċǁ*SթG,^ y(h0]Ugdga$"I,c4Nt(0]XdqpɂjdJ@7ԭ F[$F+]XGkLU{OGBht,?:<|*Y38W`2b^ZpԭF**;6ւ"J]پ83e@)p>"Zlcpf~\ c9`EO\`L!L`"b3Ԭp\@E@$P&2=O:񁕲'[ ;M@5e 5="-Ъ U|?,31:)|!_bhaTha\,uG:II[SXS 4=iPǑ6-HO* <DzNΘ^]/JS@<*xb8׻܀n `"\Z+rnӻ2ލ7Pɩ >t*]fTȞ۩e6ִ}L;NM%j[FlP+xS-?]%# T5Ӡ ; +տX՗֐d;ͼ *`/aVM>Y*q~t$_f7ZiW9eO [Z$DvPƾ/..n. EXXNVGjzF6\lx!f\Rܕ>T*7t3HoFOcUOdA %u&I &Z|Esp2 ljO/i0Aյu6ܻQugxTrs$ufఊJ+wt 7j.x tq_dۇD%?E YV;%0<_ÌO/Vmq?2:t 2qSo\߿0@WTV!Jذ[X9T~1_"_eRڑZZ(LxwkR<):=L62I)G KKj@6>~Թ#7\+#Uiq)KJSu_McЅ6( "d"ZOض 3mo0%ࣿ2FύpKc rX ߚM lBA6,`WE9 -ф:[Hw{3l2t415)3G)o.N%u3AuDUq2bH\PK1-?՞$Uҍ5ݦ)(ł-! )fbsB0&x͇Rؖ$z*cʌZd ,>Z~P&2\$_!/[֖DʝAv АیEh׀3q/cZhX$j,3 >lQJٙP-Θ;/ು4dJMHM| R;z(WN`p>p%h"u(Ѵ{o/.6a)nb0FY赉9/~| z \xF":p{@2zHO$[4} {/Os(tsڍpBl˫y߸7O uA ?Յy Q c'e .?~.r/v-, X"I`6Ň-N{滤硷2ȉK {hTmTu;%XI QHt9d,!Q*dY )K hdЩ,Өeʭ.O:*X$o;?>oLF鮌.aJ.Y pRCO7e+|d5Ā \H9~eH#Kp+tXUcOԁzi={RybUoj؝) eQGxgFvڲup83}g k/ V~xoXc;g㛏KRoE57i,Ω#m8Exo2 I vJ6cU)/]O$ 4v-(CU/h+4ZU'K3+}ïw7*["#La;Yk LL9 7CE4.1 VqSrTQYJѺR^HNDzCRȅn|4Nau|0'' y-zF \GKP_w-#4 Yaڬ!c6ܠ>5ؓq9_~]$PT&|?B@px+h9 .k-X y_tP1N@TYSw6"r ׯ_׺B{ظvob3@@Y1֎bO2W>-C1T Y\xNYS#1Y5OU [ Yb1/m{L62-Q-VQRwRdc%b/lo0uǍ;dzk JFGcVP3~]X{ef&D䢷ף89gYnb~Yxf{nMNu5eHQډR3M+7o= ֘Ivi!i\KSy)^bB;D;DsUY&9虄Y)*XF{Ҋ-piv!֍۷]险oSuYD,,x!Y^Vn*-svm}]eQ 4w@( }X7_B^hMAFbMfȟmB`4B^ϜMCDka1IV)wa"o /!JI6󽕐G Y}O+T6(lԋdjwSMJiOfu\A~Z~K ^Sv ,8k'Vʭm(!Dd-ɵ!c YJV)L֭ҫ6.U6ST P%mX[}8(r*WlmqM4_|mx Tu~˘AտkM*G%}L?:S-}}PK qg^O doctrine-inflector-ec3a552/UT]PK qg^O9w)" Bdoctrine-inflector-ec3a552/LICENSEUT]PK qg^O=/$ doctrine-inflector-ec3a552/README.mdUT]PK qg^OEdc( doctrine-inflector-ec3a552/composer.jsonUT]PK qg^O 1doctrine-inflector-ec3a552/docs/UT]PK qg^O# xdoctrine-inflector-ec3a552/docs/en/UT]PK qg^O1Y , doctrine-inflector-ec3a552/docs/en/index.rstUT]PK qg^O n doctrine-inflector-ec3a552/lib/UT]PK qg^O(  doctrine-inflector-ec3a552/lib/Doctrine/UT]PK qg^O/  doctrine-inflector-ec3a552/lib/Doctrine/Common/UT]PK qg^O9 Y doctrine-inflector-ec3a552/lib/Doctrine/Common/Inflector/UT]PK qg^OFNtEF  doctrine-inflector-ec3a552/lib/Doctrine/Common/Inflector/Inflector.phpUT]PK  (ec3a55242203ffa6a4b27c58176da97ff0a7aec1PK!ui6inflector/407e1d61b89f2eb9087cd0d83b549b4a65716a7c.zipnuIwPK AP doctrine-inflector-9cf661f/UT&^PK AP9w)" doctrine-inflector-9cf661f/LICENSEUT&^]Qn0 )Za7VaeJ[58V`) #[0D#SzݡpOO_B8B9_v<hwp!6h-=4]=lC=Ɏ~k754,vH>^p uq5Aw p; ꆘO"{p[ ..vaC4đPӟ[>! );L@>8oXwKuD;G,*6v Gp+fo+"]ta6?J zHG } Ek:J3fUo;e^y^-NzkF;{[Įqҝw!IKZ dV/2xYijm'4/x?K- frUR`Mid s@.W Q@7*)*"[ .2f4q.%Fk(׺T@ i Y,4(b >Z<')^?HUyi`L`q.*ҜU_g1hFcWwY */5R#UL06ЍD\ˊj0Z'"DB\Yh"8Bu% !vZ SPlZ`@aYFfb%QܠndtG>>RgGRS.Rpm䂑 +XNϷ[RŃ+с@ 5p6B-Fa`JW gwLK,.(yF̂YBkY/tCh*$uY'H)mX186a3ĝJ~v:JSQҹ^y۶Yf92ë[JW&%i\Vl\i8 a<'$jaDPzp*0Uj|'%h&LAm(45VR"9"pf ڃYAYnF4|=Xzk7QVҹ֦<,2j$ǁ=4~6'MQiAǑSM)v:i2e pe's/PKQdCR/9_/QU[ϻ)|!zw2q_{G٣.XDeЃcߢeJ=ZG^d!lwPK AP doctrine-inflector-9cf661f/docs/UT&^PK AP# doctrine-inflector-9cf661f/docs/en/UT&^PK APW#|, doctrine-inflector-9cf661f/docs/en/index.rstUT&^Yn9}$)Iql V)K(oS$&Ɏ3Ճ!Ūb]NUZ%oZ$[ :#`jiܲpkYovZ1'1sK]in`E^o  2Z`V_\= X7"?V02VLM S^HGq$y&$9Wk9?p_t3 yK=JB[aI2W&F\)gu.dF(vȊe[Io `2vȶQlS?z6p ز'c9tskܴXᖥm &͵ް]4ܬ?]2{eX2wL:xN ؙZҮk+ǜqqgrp:Vjz>it@V0` xE<`!=C\|YۚV_ۏSjڲ(q"ctsHQ1Vg.j>Ysvy|yuهٻ>\\_?=ۊZ֓8pU">GϘ^4A~-4A_┧k מuM + ?ǜ85yӇ(֧]S􉲂t%mx?"׌CW ,#VqbΧ q@Qؗp6惇B\CXuUvoQ(hi(`A ):>1*YmQm^m:?+*d5BEL2+(S. >;\TDIY)Si>0 ,vJNB["aiDVKBA2r쐚!GPޖ +/$?F;ÕElAhV[ k Y؆w c{=ڮ*loĹNwW9 TXR XwlAZP]'yMi upȮ#]͞/o_Z+(3]v~雠Xܷ4B RM 2?Fe3I5:L zDHŶBb(#_)I.s|}_6ݙzz"GQEȝ]اYomqu ;mV_?x >f'ҏV7)c%&>x^˅Ky K8r 4}B'( /Ҏأ.*<5ޔ+np۲JД4Zk&0ED;MhP)W^I˛:Ər{aybabU&BM_`6 EjPK AP doctrine-inflector-9cf661f/lib/UT&^PK AP( doctrine-inflector-9cf661f/lib/Doctrine/UT&^PK AP2 doctrine-inflector-9cf661f/lib/Doctrine/Inflector/UT&^PK AP1ɍOI doctrine-inflector-9cf661f/lib/Doctrine/Inflector/CachedWordInflector.phpUT&^mn0 y zuvʌ;"Ai LKTvR*䚿 |> eOH$xЧN`}kĖ6tԓfQ e/!d95V]$l>U'[QVZ8@euSQ#AC]}}DNb`<͆[嶇s5:Y$f _pxz_sX]竊 *~PK AP.U doctrine-inflector-9cf661f/lib/Doctrine/Inflector/GenericLanguageInflectorFactory.phpUT&^TMk0W!;)M[貥C=Ж0DZ@>Z8Cv:fxou$'&Pj-V]\dWI"qCV##X@%=Bs!dwOrW59$1]ziK^,UA`-< ڜ?zno IgaI >@5 @G0Ql-EcG{%S䮌n0mFq+LL-@aёo#ctѦ d*?Ԝ7U8Όw \;ڸ,jmmױ6(?;k?%AouÿPK APbu 82? doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Inflector.phpUT&^Z{wߟbQ p) }8`jd-vuvW~$@^@!!IZ _wfgcl7w޹sqe[S6<2Zئ~\-  v65׃OɾX-:`v`f6:ɾe]f fj0yz lefh2U~ Y4TiVYYEs2Pǜm$=0!Ob[C猀uQ5otlb|~R!SɊw4RJQ/x O JY=#PCB 1 <x/b% % a#^ bGx]o~bg~%V&~_a@e5%%ac #?+?a7 e '>E |KXZ:8Na <s7-ǘ0Ey c^ƘW0D;$PD1bt 1G:c71'S)؟$PY c˜1% cжKEdkJ]yc~lKKxc>Ę0&cL,-1`LwYBE H2UA)_$<*O1PD˿J>Ø1 +|0A'0Iy 9,F3,<1c "Ƽ1/#g+.|c1b'k6{;=ŤhOE$:c71%PD[зc~1oavBE $k Ƽ1aLmc}|c>Ę0w1c1`1OS(bX+ ANO1$Pc c>ǘ/0%u99K_O9W"O&-gcu=exjؖ&jA^%ڗ'% _ܚnM*Y2D`y،v~RsE9jDͦKrV+TF O&@H~]Hph"9+gkFWeov0lK,џ6LngfoE>`ܖmW=A̭u$p.`.- 1C_M U_m}_!HթUZ.X\Z(\$5%N`mccJC|4a@5oÅq,~(^oBw>"dapfB a e!|dlEo/[#vfuRkP&0Ku)8ރ>">r(etְSIUX?S'l~1)X%*E2Fw6?I=OUB1.Q{6Dwda#Yyѓ ǧvc&$ ` $*djzأiQ{H̆VJؔf94 i6|Y.tUm*uA]Y54R QVmTqHY5kD-pd@]kD=?K%uReTY/)UKJReTY/)UKjjjjjjjjJjuʺZe]=x]=_Z/]:Z/u5j*UVC}@Zeu*UT''Xk.՛3hj]ӳ?vF6dt(U>G}HdzIóSgowbC)K=,W۝%mDb"Ë_c9'MrR=3@Cw8Gۆ#[$uY'~]rSEm%LҐp^2Z݁㼇Ln"}B"cups[>@0qH2?LєQ<6]jVՑ֧dӊ9 #ӽ^LQk3Umm5&\$ F0ʮIu]IH@Լ/P6ke"LEcdҸlZږ]+DدQ#Ra:)N(˳p<6" ^i]*dtrWHU QJUMheMt(N$yqPK APF doctrine-inflector-9cf661f/lib/Doctrine/Inflector/InflectorFactory.phpUT&^mO0S4DHoƠ$ Rm4H N"݋=w=ș)(JĬ$ƭq-1,rwx€cqlqSF|TK'eAPKH)b$/ %yyC滨ČN* &" |M,'ҡLZPr-]W޷I(A`n;Q .)|L%Fj+AFngp&[{es1)` %5d=33] ba9@0z:OfUpԋvM{o]5WGQ8fۈ fT52t{)$2Sd_ԩ] zQRՈ ҵ|PK APK> doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Language.phpUT&^u=O0ݿ[ہT(@QS%X*EVݳB懶[,! 4w0)a/gsB[.>ѧ; "ǝBi_e'ظJPa'= :Zd?V)OsbTzIxxEAm{(tv&;HPK AP~54(N doctrine-inflector-9cf661f/lib/Doctrine/Inflector/LanguageInflectorFactory.phpUT&^͒AK1s-U-UAZt LL(E&C3K; PK AP8 doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/UT&^PK AP@ doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/UT&^PK APNk,E,O doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/Inflectible.phpUT&^řK6>Xq4Hir =z Z,ǖ%)Y1݋̐nW+լ0Vm-3&?V6̴dTJv^VV?`wfgrj-mYu럚JS)/w0LcElj^ަWͬr=mg붂kcr]9Yƛ{f?rwY]0bΜZ#xIOMaHQ77I Z* m)(ăoI0a' jA90m=e u"L KԐr"uUE %DcTY&F--*}XH{/])t}Hޜ[m;/o 74x,l<=Rs3Eup$j7ظ420jbq55tC+o/6qE gMM-ECԁO3rq<73y?92!sXBoadT mӋ KJ,%=Tj>9Qr,B8K- .~*!RfdֶՆMu/[0>PY;79@V7Y4=Phcj.vzܿB"a@HŽLxF/Mi3 >x=h*G/DjT'RU}hʜT{x??y6;eM/,V,>0ʻlHwd91eW I-\(p)#/y>&!nbtdg Yy>$翱Y!lKIƤ/< (7KEQ%or-~w%~5CMߑ̌  E?9/qN PNXĖjΈ U 8Dc RSO8 : *yn%<$0z: &ICt:Ɲ'!Eh((ӚN یH܎5j r;$ mVր,J)JuFP8Ip/*r\{%g$1;A Q\YâhZU܂UռmUl8 hQA:v Q$$kv@$!M0 & Hԕ- o5bڰ=jȅՄ,z5ӱ8%>kgX p' 9\ä!se IҜA ,X{\$ĄʎUu("rhꪷEPNq.N5QFB9JvXm?u>(xbӋ-v2/];uI:gv3 L %Pγa^rR#J3\@\,($g԰c5QBgn6 54E Gђ@9EE : rz((Hȁ XŤSQ^D2m!ńqPyUo}PtJ|Z'/ImyU۩90BQ% R;i%sZ]S=䈇Qy-<yyPK APJEjT doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/InflectorFactory.phpUT&^OK1sl^w/A !v!3ww[=~\mvGH`%Zb7gպu;$S^kt<([3Wh{r=Տq۟%~P"DR:! Q>2]r81M4>TZSCL-q ^Ħ~{I3>PK APOlI doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/Rules.phpUT&^Mk0 >ưvMqu(U-3#`}$ŷvgA 䴢wnĊ1{V*YrE+__>akEq3$~5/W6T4bW'7Qdya_ǰ2ZqOQxP%@[me|+Ea&?Y7 <%ķhk>%űt$i;7&8iͿ`Ywnρ}PK AP IoO doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/Uninflected.phpUT&^ME +F!⺀!9p@@rWS]x6 J-0iv.wCWV[=gyhcxxM|c#n_%7 j%QD$8<~ Vo;1JRPEӰpEܠ (yws08s/xO-}}mș !j]QULB-bfH L"d%gxԝ Ԫ~$"Ulo5GOvP_"7]O% a٠I0#- -QLb,+V{,Lf86=XgV) V_*!we\rU L)Bdt8@xMqzUotȪZE'Hݘay Pҝ$5O-GJ(&8 mqBEO2qvW34R@>`"$jK հޡ|Sz$2"k'c_$\j2MowD\-W.*CGHƻ=k0UY޾hz2kdʝ'%žcJP%GW {t< H"oF(BǴ[x0j?Q숡qJq1.|g(V5D] ۖw8 i5ߒ:2V| b[Yx,~*,YtH!'1(gѧ(J#. ږadHGvr) _~+ ?dh-( Ğ5 OFv:b[3xtx3tqη:)k2$mPFPzޭXo ,spxyFL[Ko(\WLV5=NpEBy-Wrrٻݻb׊{!/wuحwtg}ßPK AP? doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/UT&^PK APy[N doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/Inflectible.phpUT&^Un0 )t`;nXÀފu02k%tShϱI6jؔ!G7mBIM:©W{`vt8--Fz"RΞ5b0O=v$O!N&UN9B]/_tFK rArʸEY<;V%e׍HHʼ5̩,eWu| jʅ4+WEZelH΢b@ĒnayQ`aזlٙ=?*&[j9ԵxaM\ڈʾ"(ҏ=PTb\NS4`?!&[\Z{dž"fFt8!)zJ/ሣkcSh>bˢxΘKr/0T< :o}oڡZPK APLCS doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/InflectorFactory.phpUT&^O0s^/"aٽ$d[ 0{/s6ۈI9Y. >1luީʨVx8c=R`QoNw]K04rm+qc!tl=CSVuefoH'^55t=S 8WNTG(/UsPK AP¶ kH doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/Rules.phpUT&^Mk! B~\J д@qD0#~)9833xU"M!<cN x?:elWKKIÄj]XL˺hFU CL;[ M5Yc<8i)|J`ڧ0!%@-P =VOuÁͬGiIgy1u(k"^c/!]FSMhV\3Ӌ#q!;ġi7G*ЂKB8)wy. $uL.APK APH doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/UT&^PK APs0b+W doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Inflectible.phpUT&^Rj1+ ^kKKKZ[J6e2AM**Ԫ8Mj20LZ'/wEO+g]U;^A_=;DK3i")dFèayX$7G8a=M=2((U.<r Ͽr02ZTP&Cm'!.5/tt,J*Xh4c8SSRgd?9fKqaH 8sn{i8^ROmդrl,4n)L?PK APC\ doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/InflectorFactory.phpUT&^J1y9G EJ.Ȑw L"}wT0|ry_1=E>."_],[cȑ-6:t2xX =ѱ܄- |vb ڟY3uh4>2aVLA5zXuAh> 9*Kjx=T$iΡ7־$_PK AP';tQ doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Rules.phpUT&^MK09&]?@D؋, LӐLXDcq]iًsHB}f&/ G$sWтB}d(֦ ssQw ~F_pA GUX εbTZi|א/BcPj%ǨF&6[ectxYrX5)bS9bXC"viafU9qG' $^e4q|Y4:3PK AP)O9C doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Pattern.phpUT&^=O0w&+%†Rږ}) &T}<;?<٥elBq''ml̘+ #BUUW 7 }h=BUkAh劓XJ%5W'B`k j &m\sBmw`\4LI7T0W J5[C1zBqj# #w' EQ@'فЁXc=J͍w@{q6ax~29{vI >iO=g$ZٞXw4n3cy?vۻDNx~PK APrDD doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Patterns.phpUT&^mRn0+|D\z굴klvhQ˿w0 =xfw2{CD-0'% B?3\}Qg@xmׯuIR+ʭ/ ;${w0s{V9C(V>#N'y+L'8jwGGK u7Y],V%k*{.Mඹ{_ =0ؔ_x|/fx@;qj1¥XC8rwsG_n9>nvO1|6vڴEAgLPK APC doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/UT&^PK AP}7R doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/Inflectible.phpUT&^n0w=F֦E;t4:R̀^\$e>_ش&!/|5L b!,UՃ e뙤[Ǩig_"gguJYR oFx21Ziʹ͏k9Bi.c  FTSH-!!1fC'Yn8H]w ~ T2&\KUԞB>>p@s! $-$ p}ҟ,1k]u`vxf~O#FΉ∼JCJi"``^DCH{ dg,n^d 0lk F="@гO&{BP5M1qoI*(iP<} xhzB!׿g9Dj2@-36=|Q\0'ˬIFjE+ʡjDOWs2gdJt0VþYwAwת0,j쓖KD#Y=yᅭuU}aqZ;-[p'V- %#U[W#z,?.hR^ypiDOըS0=4nW#ۦuU#y~ķO- Z0d^eÑM.I= NiL_+Wkj|=M‹4v/uX(PK AP1 woL doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/Rules.phpUT&^Mk! mM?.[hBq٭`\GJ)MSvɥsPqgf|{jV!@h4ѧpw#׌9uPn\cASsm>9"ta=/W.V E2bT.4ըfqxa_F@IyovƵ14N'$/xɁρ@w1 1#'~M$V8,ŏBʫ3~2 (o tdPX:؂[Qohw{3E֝s`PK APL< R doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/Uninflected.phpUT&^N0w?mMTC DrsjɽXP /N@-pgn넨QY1 ; 'S!H08֭J[Eŭ/PnZϱ01FJf0mHZHGC[2k" *G.=r~ZFuFA`It$Ŧ%ho 51-8z'5h E|k2Z҉*Kuy9&"|Jܿ{ 3PAs_lKuPK AP٣ C doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Ruleset.phpUT&^Qn0 uЅ!E\RpxwiRo}Ws4A!JRN_1}bLX#$JR%Hpr%Xdkyoe; kJ[ܠ: >A88oeA8wZ5`s>Β"7npheܮTN˚\zġ۔.W?4`լ>:*3 O"XϢ G_FW]+V ,I<(:9Q7]`ѮMϿmϠ>7+PK AP@ doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/UT&^PK AP6DKѠ`O doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/Inflectible.phpUT&^N0w?JI++†(CS^%׎|P0XbءJ,Xx(@n/aWZ0j{M ЇBo S8f|+D[H OzN{܀uF&~4j/D Nz'3xsC?fڥTP%|T k)@Nǽ"i0m)M20,Lķ%[j(_U׀UDv&ܭ+ Ы-w;1*_yirD,g@,a'G#B1B~A P_|w4_-nJhi2:K~{+&2,bSZbP10kƚ;PK APLT doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/InflectorFactory.phpUT&^?k1 w KI)tzPOw1:cݫܥB@4~mr%1L4ߺK$yIBO>xSO"yr.$ [3j &B txܻ7ŏ^*!@J <(s{6)jBWkzM0>T9CHMq2iQvWPK AP-lI doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/Rules.phpUT&^Mk0 >ưvMqʲq*ƖcGYבt>'5tyrZ;}Zwbx+N,BրU/J+Q}?#J"pW~ZP)+:Ajj'{{ b< ъ{Jۀ*|Tj܅h8]&xsO| rIr)RDYк6P?fB\ |C=̃Y"|9xqoF[ 9)N'Iۑ-85Io voʺK{PK APaZ}O doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/Uninflected.phpUT&^1O@ ޚfX.**&sqړ\t5 ./onӒe TD <۫1{-y+Tcڇ!1zQ\e8_5RuN!ŝ8j͇<J)L֧iէY$V]/%8٦\C.[a=98!wU}K0_Zs 'WT.@Bo_׋'8,6P\tgh0PK APV;H doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Substitution.phpUT&^AKA +rawQWuՃ^URXiLgL nvVQPs {{׷izda2{_W,Goc=D^=OYE փF eI0:[,F;8-%KeXNA:kٜ.,d$S ·o$joZ#^~z'PK AP+]I doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Substitutions.phpUT&^TMo0 Wp@RЦuvvpUFcՠ('n"F; $I_}v]mQ4FfHKAz|emGUV gmᾭO۠qN̚*= ZpH5ꀳuS}t6Q5~$mkp-Hfs\sE0wZ>W01KcH b1V?X *fQ? Is~IҝV{ë׀x}}lDd[*QY9aZL9kVKkaI$([1~~#;j$ æӰHsOl Aw 7p$GE4iVSԆ~ ?~E1r_K=WwS>v&/dјvԓӟ \IO .֎ MAPo?PK AP}1J doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Transformation.phpUT&^1o w~Cl%6MڡK*%EA9mUij{s0A(n9R`&[y pTI 6vm8/jkc?UT(M`\Q}\5JY5httdHk-}`5͗nֶVN:LV\E]e[!쑬T]txpC._wy g' 5%vأa@| 9ܝtoofu$!ᵱ{4Q u|ݨ8][BYI6{,$j* >]A/;6GH>\"'JBO8<M(EuD~L)]F LUT]vKF$PK AP@ doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/UT&^PK APUSO doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/Inflectible.phpUT&^RMO1W@dA4z]42@ci76 ?ʋ'olQ>ziyfޛ-%!#!ƢK07Cb30%@5QyW%p1pL>p"ԃ1kUg? cuVC2egƑ4AQH BIMz`*M xZݥ+Xt :j⼙qBYr֕™ #uHj(!6R%-E~!yIqO:d >s=1uLdm $7>m.un֨TtCEɟn`v̩ z;_ʴ_זPK APԬ7T doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/InflectorFactory.phpUT&^AK1sl^w/D=.HȾِEߝV*8!pDK XαB)yH:&HR[݁aG| wO?o}"{ Q>2]r81h}ırZh-MsmgRje'W}PK APӇ4xlI doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/Rules.phpUT&^Mk0 >ưvMqqu,3#`}$OnAyB蝾;`=x'VŬriZ,__n~h'd+IhbZ֭@3uַQ_H6N }:!O[a Ϣ,G#j&ӴXR@j.y{Xޑ_\Ca=r ] ]Ue;X\| 8E'ҫU.@߾3Ne6:=HBGh0PK APGiv'@ doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Word.phpUT&^m 0<ڂZupquq)x{@MBrMj "|^ a+eBiɗ|)7V"`L5U{}n ٸZѸFD͊w Yo[ &X V!FVFC]qa'Mt"(Gb q:^qp;:PK AP4KF doctrine-inflector-9cf661f/lib/Doctrine/Inflector/RulesetInflector.phpUT&^SM0WL%Mazj 3!;+T;= y3=|ꎱ=̬3R;uh1[ߵ TFU }6}[Ū+VmDp?3Cja-Z85&%Յ~Nhx%!qEΡQ kHT?ƺA9=F+eUAOڐHcizIU*/TiӍN1]y1n`B{FZ }c> [lK~Q P(H&Ƨ#w!0F)VhEzg1rȓÙZb=P^.N4,&/|RwquYXeY,.I)_PEMWvt{{Xv8ˋuU~})ޠh?G o472a`Iq۝x>є~ll,Kw }fgPK APr&vC doctrine-inflector-9cf661f/lib/Doctrine/Inflector/WordInflector.phpUT&^=ͱ A >_⮴NllA\Vk6Ì;ĔBz?v\->SSAcb\:c._b% a\,+m>>PK AP4, doctrine-inflector-9cf661f/phpstan.neon.distUT&^OA @ +x) ^z/[paMM}uGC`2a&LPK AP doctrine-inflector-9cf661f/UT&^PK AP9w)" Bdoctrine-inflector-9cf661f/LICENSEUT&^PK AP !f$ doctrine-inflector-9cf661f/README.mdUT&^PK APJXR( Hdoctrine-inflector-9cf661f/composer.jsonUT&^PK AP doctrine-inflector-9cf661f/docs/UT&^PK AP# 0doctrine-inflector-9cf661f/docs/en/UT&^PK APW#|, zdoctrine-inflector-9cf661f/docs/en/index.rstUT&^PK AP doctrine-inflector-9cf661f/lib/UT&^PK AP( 6doctrine-inflector-9cf661f/lib/Doctrine/UT&^PK AP2 doctrine-inflector-9cf661f/lib/Doctrine/Inflector/UT&^PK AP1ɍOI doctrine-inflector-9cf661f/lib/Doctrine/Inflector/CachedWordInflector.phpUT&^PK AP.U 7doctrine-inflector-9cf661f/lib/Doctrine/Inflector/GenericLanguageInflectorFactory.phpUT&^PK APbu 82? doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Inflector.phpUT&^PK APF  doctrine-inflector-9cf661f/lib/Doctrine/Inflector/InflectorFactory.phpUT&^PK APK> "doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Language.phpUT&^PK AP~54(N T$doctrine-inflector-9cf661f/lib/Doctrine/Inflector/LanguageInflectorFactory.phpUT&^PK APfwG %doctrine-inflector-9cf661f/lib/Doctrine/Inflector/NoopWordInflector.phpUT&^PK AP8 &doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/UT&^PK AP@ W'doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/UT&^PK APNk,E,O 'doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/Inflectible.phpUT&^PK APJEjT `.doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/InflectorFactory.phpUT&^PK APOlI /doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/Rules.phpUT&^PK AP IoO ,1doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/English/Uninflected.phpUT&^PK AP? 5doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/UT&^PK APy[N 6doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/Inflectible.phpUT&^PK APLCS E8doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/InflectorFactory.phpUT&^PK AP¶ kH 9doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/Rules.phpUT&^PK APHϽ8N  ;doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/French/Uninflected.phpUT&^PK APH e<doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/UT&^PK APs0b+W <doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Inflectible.phpUT&^PK APC\ }>doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/InflectorFactory.phpUT&^PK AP';tQ ?doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Rules.phpUT&^PK AP W dAdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/NorwegianBokmal/Uninflected.phpUT&^PK AP)O9C Bdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Pattern.phpUT&^PK APrDD Ddoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Patterns.phpUT&^PK APC /Fdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/UT&^PK AP}7R Fdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/Inflectible.phpUT&^PK APt!W Jdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/InflectorFactory.phpUT&^PK AP1 woL Kdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/Rules.phpUT&^PK APL< R `Mdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Portuguese/Uninflected.phpUT&^PK AP٣ C Ndoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Ruleset.phpUT&^PK AP@ ^Pdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/UT&^PK AP6DKѠ`O Pdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/Inflectible.phpUT&^PK APLT Rdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/InflectorFactory.phpUT&^PK AP-lI !Tdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/Rules.phpUT&^PK APaZ}O Udoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Spanish/Uninflected.phpUT&^PK APV;H Wdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Substitution.phpUT&^PK AP+]I _Xdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Substitutions.phpUT&^PK AP}1J Zdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Transformation.phpUT&^PK AP}0K =\doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Transformations.phpUT&^PK AP@ ]doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/UT&^PK APUSO /^doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/Inflectible.phpUT&^PK APԬ7T _doctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/InflectorFactory.phpUT&^PK APӇ4xlI ?adoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/Rules.phpUT&^PK APUO bdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Turkish/Uninflected.phpUT&^PK APGiv'@ 4ddoctrine-inflector-9cf661f/lib/Doctrine/Inflector/Rules/Word.phpUT&^PK AP4KF Qedoctrine-inflector-9cf661f/lib/Doctrine/Inflector/RulesetInflector.phpUT&^PK APr&vC gdoctrine-inflector-9cf661f/lib/Doctrine/Inflector/WordInflector.phpUT&^PK AP4, hdoctrine-inflector-9cf661f/phpstan.neon.distUT&^PK;;E{i(9cf661f4eb38f7c881cac67c75ea9b00bf97b210PK!;:3"inflector/src/InflectorFactory.phpnu[getFlippedSubstitutions() ); } public static function getPluralRuleset(): Ruleset { return new Ruleset( new Transformations(...Inflectible::getPlural()), new Patterns(...Uninflected::getPlural()), new Substitutions(...Inflectible::getIrregular()) ); } } PK!&'+inflector/src/Rules/English/Uninflected.phpnu[from = $from; $this->to = $to; } public function getFrom(): Word { return $this->from; } public function getTo(): Word { return $this->to; } } PK!ɷ#0inflector/src/Rules/Italian/InflectorFactory.phpnu[ */ public static function getSingular(): iterable { // Reverse of -sce → -scia (fasce → fascia) yield new Transformation(new Pattern('([aeiou])sce$'), '\\1scia'); // Reverse of -cie → -cia (farmacia → farmacie) yield new Transformation(new Pattern('cie$'), 'cia'); // Reverse of -gie → -gia (bugia → bugie) yield new Transformation(new Pattern('gie$'), 'gia'); // Reverse of -ce → -cia (arance → arancia) yield new Transformation(new Pattern('([^aeiou])ce$'), '\1cia'); // Reverse of -ge → -gia (valige → valigia) yield new Transformation(new Pattern('([^aeiou])ge$'), '\1gia'); // Reverse of -chi → -co (bachi → baco) yield new Transformation(new Pattern('([bcdfghjklmnpqrstvwxyz][aeiou])chi$'), '\1co'); // Reverse of -ghi → -go (laghi → lago) yield new Transformation(new Pattern('([bcdfghjklmnpqrstvwxyz][aeiou])ghi$'), '\1go'); // Reverse of -ci → -co (medici → medico) yield new Transformation(new Pattern('([aeiou][bcdfghjklmnpqrstvwxyz])ci$'), '\1co'); // Reverse of -gi → -go (psicologi → psicologo) yield new Transformation(new Pattern('([aeiou][bcdfghjklmnpqrstvwxyz])gi$'), '\1go'); // Reverse of -i → -io (zii → zio, negozi → negozio) // This is more complex due to Italian's stress patterns, but we'll handle the basic case yield new Transformation(new Pattern('([^aeiou])i$'), '\1io'); // Handle words that end with -i but should go to -co/-go (amici → amico, not amice) yield new Transformation(new Pattern('([^aeiou])ci$'), '\1co'); yield new Transformation(new Pattern('([^aeiou])gi$'), '\1go'); // Reverse of -a → -e yield new Transformation(new Pattern('e$'), 'a'); // Reverse of -e → -i yield new Transformation(new Pattern('i$'), 'e'); // Reverse of -o → -i yield new Transformation(new Pattern('i$'), 'o'); } /** @return iterable */ public static function getPlural(): iterable { // Words ending in -scia without stress on 'i' become -sce (e.g. fascia → fasce) yield new Transformation(new Pattern('([aeiou])scia$'), '\\1sce'); // Words ending in -cia/gia with stress on 'i' keep the 'i' in plural yield new Transformation(new Pattern('cia$'), 'cie'); // e.g. farmacia → farmacie yield new Transformation(new Pattern('gia$'), 'gie'); // e.g. bugia → bugie // Words ending in -cia/gia without stress on 'i' lose the 'i' in plural yield new Transformation(new Pattern('([^aeiou])cia$'), '\\1ce'); // e.g. arancia → arance yield new Transformation(new Pattern('([^aeiou])gia$'), '\\1ge'); // e.g. valigia → valige // Words ending in -co/-go with stress on 'o' become -chi/-ghi yield new Transformation(new Pattern('([bcdfghjklmnpqrstvwxyz][aeiou])co$'), '\\1chi'); // e.g. baco → bachi yield new Transformation(new Pattern('([bcdfghjklmnpqrstvwxyz][aeiou])go$'), '\\1ghi'); // e.g. lago → laghi // Words ending in -co/-go with stress on the penultimate syllable become -ci/-gi yield new Transformation(new Pattern('([aeiou][bcdfghjklmnpqrstvwxyz])co$'), '\\1ci'); // e.g. medico → medici yield new Transformation(new Pattern('([aeiou][bcdfghjklmnpqrstvwxyz])go$'), '\\1gi'); // e.g. psicologo → psicologi // Words ending in -io with stress on 'i' keep the 'i' in plural yield new Transformation(new Pattern('([^aeiou])io$'), '\\1i'); // e.g. zio → zii // Words ending in -io with stress on 'o' lose the 'i' in plural yield new Transformation(new Pattern('([aeiou])io$'), '\\1i'); // e.g. negozio → negozi // Standard ending rules yield new Transformation(new Pattern('a$'), 'e'); // -a → -e yield new Transformation(new Pattern('e$'), 'i'); // -e → -i yield new Transformation(new Pattern('o$'), 'i'); // -o → -i } /** @return iterable */ public static function getIrregular(): iterable { // Irregular substitutions (singular => plural) $irregulars = [ 'ala' => 'ali', 'albergo' => 'alberghi', 'amica' => 'amiche', 'amico' => 'amici', 'ampio' => 'ampi', 'arancia' => 'arance', 'arma' => 'armi', 'asparago' => 'asparagi', 'banca' => 'banche', 'belga' => 'belgi', 'braccio' => 'braccia', 'budello' => 'budella', 'bue' => 'buoi', 'caccia' => 'cacce', 'calcagno' => 'calcagna', 'camicia' => 'camicie', 'cane' => 'cani', 'capitale' => 'capitali', 'carcere' => 'carceri', 'casa' => 'case', 'cavaliere' => 'cavalieri', 'centinaio' => 'centinaia', 'cerchio' => 'cerchia', 'cervello' => 'cervella', 'chiave' => 'chiavi', 'chirurgo' => 'chirurgi', 'ciglio' => 'ciglia', 'città' => 'città', 'corno' => 'corna', 'corpo' => 'corpi', 'crisi' => 'crisi', 'dente' => 'denti', 'dio' => 'dei', 'dito' => 'dita', 'dottore' => 'dottori', 'fiore' => 'fiori', 'fratello' => 'fratelli', 'fuoco' => 'fuochi', 'gamba' => 'gambe', 'ginocchio' => 'ginocchia', 'gioco' => 'giochi', 'giornale' => 'giornali', 'giraffa' => 'giraffe', 'labbro' => 'labbra', 'lenzuolo' => 'lenzuola', 'libro' => 'libri', 'madre' => 'madri', 'maestro' => 'maestri', 'magico' => 'magici', 'mago' => 'maghi', 'maniaco' => 'maniaci', 'manico' => 'manici', 'mano' => 'mani', 'medico' => 'medici', 'membro' => 'membri', 'metropoli' => 'metropoli', 'migliaio' => 'migliaia', 'miglio' => 'miglia', 'mille' => 'mila', 'mio' => 'miei', 'moglie' => 'mogli', 'mosaico' => 'mosaici', 'muro' => 'muri', 'nemico' => 'nemici', 'nome' => 'nomi', 'occhio' => 'occhi', 'orecchio' => 'orecchi', 'osso' => 'ossa', 'paio' => 'paia', 'pane' => 'pani', 'papa' => 'papi', 'pasta' => 'paste', 'penna' => 'penne', 'pesce' => 'pesci', 'piede' => 'piedi', 'pittore' => 'pittori', 'poeta' => 'poeti', 'porco' => 'porci', 'porto' => 'porti', 'problema' => 'problemi', 'ragazzo' => 'ragazzi', 're' => 're', 'rene' => 'reni', 'riso' => 'risa', 'rosa' => 'rosa', 'sale' => 'sali', 'sarto' => 'sarti', 'scuola' => 'scuole', 'serie' => 'serie', 'serramento' => 'serramenta', 'sorella' => 'sorelle', 'specie' => 'specie', 'staio' => 'staia', 'stazione' => 'stazioni', 'strido' => 'strida', 'strillo' => 'strilla', 'studio' => 'studi', 'suo' => 'suoi', 'superficie' => 'superfici', 'tavolo' => 'tavoli', 'tempio' => 'templi', 'treno' => 'treni', 'tuo' => 'tuoi', 'uomo' => 'uomini', 'uovo' => 'uova', 'urlo' => 'urla', 'valigia' => 'valigie', 'vestigio' => 'vestigia', 'vino' => 'vini', 'viola' => 'viola', 'zio' => 'zii', ]; foreach ($irregulars as $singular => $plural) { yield new Substitution(new Word($singular), new Word($plural)); } } } PK!^jj%inflector/src/Rules/Italian/Rules.phpnu[getFlippedSubstitutions() ); } public static function getPluralRuleset(): Ruleset { return new Ruleset( new Transformations(...Inflectible::getPlural()), new Patterns(...Uninflected::getPlural()), new Substitutions(...Inflectible::getIrregular()) ); } } PK!eҷ+inflector/src/Rules/Italian/Uninflected.phpnu[ */ public static function getSingular(): iterable { yield from self::getDefault(); } /** @return iterable */ public static function getPlural(): iterable { yield from self::getDefault(); } /** @return iterable */ private static function getDefault(): iterable { // Invariable words (same form in singular and plural) $invariables = [ 'alpaca', 'auto', 'bar', 'blu', 'boia', 'boomerang', 'brindisi', 'campus', 'computer', 'crisi', 'crocevia', 'dopocena', 'film', 'foto', 'fuchsia', 'gnu', 'gorilla', 'gru', 'iguana', 'kamikaze', 'karaoke', 'koala', 'lama', 'menu', 'metropoli', 'moto', 'opossum', 'panda', 'quiz', 'radio', 're', 'scacciapensieri', 'serie', 'smartphone', 'sosia', 'sottoscala', 'specie', 'sport', 'tablet', 'taxi', 'vaglia', 'virtù', 'virus', 'yogurt', 'foto', 'fuchsia', ]; foreach ($invariables as $word) { yield new Pattern($word); } } } PK!a_inflector/src/Rules/Pattern.phpnu[pattern = $pattern; if (isset($this->pattern[0]) && $this->pattern[0] === '/') { $this->regex = $this->pattern; } else { $this->regex = '/' . $this->pattern . '/i'; } } public function getPattern(): string { return $this->pattern; } public function getRegex(): string { return $this->regex; } public function matches(string $word): bool { return preg_match($this->getRegex(), $word) === 1; } } PK!fP  inflector/src/Rules/Ruleset.phpnu[regular = $regular; $this->uninflected = $uninflected; $this->irregular = $irregular; } public function getRegular(): Transformations { return $this->regular; } public function getUninflected(): Patterns { return $this->uninflected; } public function getIrregular(): Substitutions { return $this->irregular; } } PK!'&inflector/src/Rules/Transformation.phpnu[pattern = $pattern; $this->replacement = $replacement; } public function getPattern(): Pattern { return $this->pattern; } public function getReplacement(): string { return $this->replacement; } public function inflect(string $word): string { return (string) preg_replace($this->pattern->getRegex(), $this->replacement, $word); } } PK!;08inflector/src/Rules/NorwegianBokmal/InflectorFactory.phpnu[getFlippedSubstitutions() ); } public static function getPluralRuleset(): Ruleset { return new Ruleset( new Transformations(...Inflectible::getPlural()), new Patterns(...Uninflected::getPlural()), new Substitutions(...Inflectible::getIrregular()) ); } } PK!ٮddd3inflector/src/Rules/NorwegianBokmal/Uninflected.phpnu[getFlippedSubstitutions() ); } public static function getPluralRuleset(): Ruleset { return new Ruleset( new Transformations(...Inflectible::getPlural()), new Patterns(...Uninflected::getPlural()), new Substitutions(...Inflectible::getIrregular()) ); } } PK!@Ogg+inflector/src/Rules/Spanish/Uninflected.phpnu[getFlippedSubstitutions() ); } public static function getPluralRuleset(): Ruleset { return new Ruleset( new Transformations(...Inflectible::getPlural()), new Patterns(...Uninflected::getPlural()), new Substitutions(...Inflectible::getIrregular()) ); } } PK!n*.inflector/src/Rules/Portuguese/Uninflected.phpnu[getFlippedSubstitutions() ); } public static function getPluralRuleset(): Ruleset { return new Ruleset( new Transformations(...Inflectible::getPlural()), new Patterns(...Uninflected::getPlural()), new Substitutions(...Inflectible::getIrregular()) ); } } PK!>Yεgg+inflector/src/Rules/Turkish/Uninflected.phpnu[transformations = $transformations; } public function inflect(string $word): string { foreach ($this->transformations as $transformation) { if ($transformation->getPattern()->matches($word)) { return $transformation->inflect($word); } } return $word; } } PK!q#2inflector/src/Rules/Esperanto/InflectorFactory.phpnu[getFlippedSubstitutions() ); } public static function getPluralRuleset(): Ruleset { return new Ruleset( new Transformations(...Inflectible::getPlural()), new Patterns(...Uninflected::getPlural()), new Substitutions(...Inflectible::getIrregular()) ); } } PK!iz-inflector/src/Rules/Esperanto/Uninflected.phpnu[getPattern(); }, $patterns); $this->regex = '/^(?:' . implode('|', $patterns) . ')$/i'; } public function matches(string $word): bool { return preg_match($this->regex, $word, $regs) === 1; } } PK!~2/inflector/src/Rules/French/InflectorFactory.phpnu[getFlippedSubstitutions() ); } public static function getPluralRuleset(): Ruleset { return new Ruleset( new Transformations(...Inflectible::getPlural()), new Patterns(...Uninflected::getPlural()), new Substitutions(...Inflectible::getIrregular()) ); } } PK!#WW*inflector/src/Rules/French/Uninflected.phpnu[substitutions[$substitution->getFrom()->getWord()] = $substitution; } } public function getFlippedSubstitutions(): Substitutions { $substitutions = []; foreach ($this->substitutions as $substitution) { $substitutions[] = new Substitution( $substitution->getTo(), $substitution->getFrom() ); } return new Substitutions(...$substitutions); } public function inflect(string $word): string { $lowerWord = strtolower($word); if (isset($this->substitutions[$lowerWord])) { $firstLetterUppercase = $lowerWord[0] !== $word[0]; $toWord = $this->substitutions[$lowerWord]->getTo()->getWord(); if ($firstLetterUppercase) { return strtoupper($toWord[0]) . substr($toWord, 1); } return $toWord; } return $word; } } PK!KHW&&inflector/src/Rules/Word.phpnu[word = $word; } public function getWord(): string { return $this->word; } } PK!I#inflector/src/NoopWordInflector.phpnu[ 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'Ae', 'Æ' => 'Ae', 'Å' => 'Aa', 'æ' => 'a', 'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'Oe', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'Ue', 'Ý' => 'Y', 'ß' => 'ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'ae', 'å' => 'aa', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'oe', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'ue', 'ý' => 'y', 'ÿ' => 'y', 'Ā' => 'A', 'ā' => 'a', 'Ă' => 'A', 'ă' => 'a', 'Ą' => 'A', 'ą' => 'a', 'Ć' => 'C', 'ć' => 'c', 'Ĉ' => 'C', 'ĉ' => 'c', 'Ċ' => 'C', 'ċ' => 'c', 'Č' => 'C', 'č' => 'c', 'Ď' => 'D', 'ď' => 'd', 'Đ' => 'D', 'đ' => 'd', 'Ē' => 'E', 'ē' => 'e', 'Ĕ' => 'E', 'ĕ' => 'e', 'Ė' => 'E', 'ė' => 'e', 'Ę' => 'E', 'ę' => 'e', 'Ě' => 'E', 'ě' => 'e', 'Ĝ' => 'G', 'ĝ' => 'g', 'Ğ' => 'G', 'ğ' => 'g', 'Ġ' => 'G', 'ġ' => 'g', 'Ģ' => 'G', 'ģ' => 'g', 'Ĥ' => 'H', 'ĥ' => 'h', 'Ħ' => 'H', 'ħ' => 'h', 'Ĩ' => 'I', 'ĩ' => 'i', 'Ī' => 'I', 'ī' => 'i', 'Ĭ' => 'I', 'ĭ' => 'i', 'Į' => 'I', 'į' => 'i', 'İ' => 'I', 'ı' => 'i', 'IJ' => 'IJ', 'ij' => 'ij', 'Ĵ' => 'J', 'ĵ' => 'j', 'Ķ' => 'K', 'ķ' => 'k', 'ĸ' => 'k', 'Ĺ' => 'L', 'ĺ' => 'l', 'Ļ' => 'L', 'ļ' => 'l', 'Ľ' => 'L', 'ľ' => 'l', 'Ŀ' => 'L', 'ŀ' => 'l', 'Ł' => 'L', 'ł' => 'l', 'Ń' => 'N', 'ń' => 'n', 'Ņ' => 'N', 'ņ' => 'n', 'Ň' => 'N', 'ň' => 'n', 'ʼn' => 'N', 'Ŋ' => 'n', 'ŋ' => 'N', 'Ō' => 'O', 'ō' => 'o', 'Ŏ' => 'O', 'ŏ' => 'o', 'Ő' => 'O', 'ő' => 'o', 'Œ' => 'OE', 'œ' => 'oe', 'Ø' => 'O', 'ø' => 'o', 'Ŕ' => 'R', 'ŕ' => 'r', 'Ŗ' => 'R', 'ŗ' => 'r', 'Ř' => 'R', 'ř' => 'r', 'Ś' => 'S', 'ś' => 's', 'Ŝ' => 'S', 'ŝ' => 's', 'Ş' => 'S', 'ş' => 's', 'Š' => 'S', 'š' => 's', 'Ţ' => 'T', 'ţ' => 't', 'Ť' => 'T', 'ť' => 't', 'Ŧ' => 'T', 'ŧ' => 't', 'Ũ' => 'U', 'ũ' => 'u', 'Ū' => 'U', 'ū' => 'u', 'Ŭ' => 'U', 'ŭ' => 'u', 'Ů' => 'U', 'ů' => 'u', 'Ű' => 'U', 'ű' => 'u', 'Ų' => 'U', 'ų' => 'u', 'Ŵ' => 'W', 'ŵ' => 'w', 'Ŷ' => 'Y', 'ŷ' => 'y', 'Ÿ' => 'Y', 'Ź' => 'Z', 'ź' => 'z', 'Ż' => 'Z', 'ż' => 'z', 'Ž' => 'Z', 'ž' => 'z', 'ſ' => 's', '€' => 'E', '£' => '', ]; /** @var WordInflector */ private $singularizer; /** @var WordInflector */ private $pluralizer; public function __construct(WordInflector $singularizer, WordInflector $pluralizer) { $this->singularizer = $singularizer; $this->pluralizer = $pluralizer; } /** * Converts a word into the format for a Doctrine table name. Converts 'ModelName' to 'model_name'. */ public function tableize(string $word): string { $tableized = preg_replace('~(?<=\\w)([A-Z])~u', '_$1', $word); if ($tableized === null) { throw new RuntimeException(sprintf( 'preg_replace returned null for value "%s"', $word )); } return mb_strtolower($tableized); } /** * Converts a word into the format for a Doctrine class name. Converts 'table_name' to 'TableName'. */ public function classify(string $word): string { return str_replace([' ', '_', '-'], '', ucwords($word, ' _-')); } /** * Camelizes a word. This uses the classify() method and turns the first character to lowercase. */ public function camelize(string $word): string { return lcfirst($this->classify($word)); } /** * Uppercases words with configurable delimiters between words. * * Takes a string and capitalizes all of the words, like PHP's built-in * ucwords function. This extends that behavior, however, by allowing the * word delimiters to be configured, rather than only separating on * whitespace. * * Here is an example: * * capitalize($string); * // Top-O-The-Morning To All_of_you! * * echo $inflector->capitalize($string, '-_ '); * // Top-O-The-Morning To All_Of_You! * ?> * * * @param string $string The string to operate on. * @param string $delimiters A list of word separators. * * @return string The string with all delimiter-separated words capitalized. */ public function capitalize(string $string, string $delimiters = " \n\t\r\0\x0B-"): string { return ucwords($string, $delimiters); } /** * Checks if the given string seems like it has utf8 characters in it. * * @param string $string The string to check for utf8 characters in. */ public function seemsUtf8(string $string): bool { for ($i = 0; $i < strlen($string); $i++) { if (ord($string[$i]) < 0x80) { continue; // 0bbbbbbb } if ((ord($string[$i]) & 0xE0) === 0xC0) { $n = 1; // 110bbbbb } elseif ((ord($string[$i]) & 0xF0) === 0xE0) { $n = 2; // 1110bbbb } elseif ((ord($string[$i]) & 0xF8) === 0xF0) { $n = 3; // 11110bbb } elseif ((ord($string[$i]) & 0xFC) === 0xF8) { $n = 4; // 111110bb } elseif ((ord($string[$i]) & 0xFE) === 0xFC) { $n = 5; // 1111110b } else { return false; // Does not match any model } for ($j = 0; $j < $n; $j++) { // n bytes matching 10bbbbbb follow ? if (++$i === strlen($string) || ((ord($string[$i]) & 0xC0) !== 0x80)) { return false; } } } return true; } /** * Remove any illegal characters, accents, etc. * * @param string $string String to unaccent * * @return string Unaccented string */ public function unaccent(string $string): string { if (preg_match('/[\x80-\xff]/', $string) === false) { return $string; } if ($this->seemsUtf8($string)) { $string = strtr($string, self::ACCENTED_CHARACTERS); } else { $characters = []; // Assume ISO-8859-1 if not UTF-8 $characters['in'] = chr(128) . chr(131) . chr(138) . chr(142) . chr(154) . chr(158) . chr(159) . chr(162) . chr(165) . chr(181) . chr(192) . chr(193) . chr(194) . chr(195) . chr(196) . chr(197) . chr(199) . chr(200) . chr(201) . chr(202) . chr(203) . chr(204) . chr(205) . chr(206) . chr(207) . chr(209) . chr(210) . chr(211) . chr(212) . chr(213) . chr(214) . chr(216) . chr(217) . chr(218) . chr(219) . chr(220) . chr(221) . chr(224) . chr(225) . chr(226) . chr(227) . chr(228) . chr(229) . chr(231) . chr(232) . chr(233) . chr(234) . chr(235) . chr(236) . chr(237) . chr(238) . chr(239) . chr(241) . chr(242) . chr(243) . chr(244) . chr(245) . chr(246) . chr(248) . chr(249) . chr(250) . chr(251) . chr(252) . chr(253) . chr(255); $characters['out'] = 'EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy'; $string = strtr($string, $characters['in'], $characters['out']); $doubleChars = []; $doubleChars['in'] = [ chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254), ]; $doubleChars['out'] = ['OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th']; $string = str_replace($doubleChars['in'], $doubleChars['out'], $string); } return $string; } /** * Convert any passed string to a url friendly string. * Converts 'My first blog post' to 'my-first-blog-post' * * @param string $string String to urlize. * * @return string Urlized string. */ public function urlize(string $string): string { // Remove all non url friendly characters with the unaccent function $unaccented = $this->unaccent($string); if (function_exists('mb_strtolower')) { $lowered = mb_strtolower($unaccented); } else { $lowered = strtolower($unaccented); } $replacements = [ '/\W/' => ' ', '/([A-Z]+)([A-Z][a-z])/' => '\1_\2', '/([a-z\d])([A-Z])/' => '\1_\2', '/[^A-Z^a-z^0-9^\/]+/' => '-', ]; $urlized = $lowered; foreach ($replacements as $pattern => $replacement) { $replaced = preg_replace($pattern, $replacement, $urlized); if ($replaced === null) { throw new RuntimeException(sprintf( 'preg_replace returned null for value "%s"', $urlized )); } $urlized = $replaced; } return trim($urlized, '-'); } /** * Returns a word in singular form. * * @param string $word The word in plural form. * * @return string The word in singular form. */ public function singularize(string $word): string { return $this->singularizer->inflect($word); } /** * Returns a word in plural form. * * @param string $word The word in singular form. * * @return string The word in plural form. */ public function pluralize(string $word): string { return $this->pluralizer->inflect($word); } } PK!edKK"inflector/src/RulesetInflector.phpnu[rulesets = array_merge([$ruleset], $rulesets); } public function inflect(string $word): string { if ($word === '') { return ''; } foreach ($this->rulesets as $ruleset) { if ($ruleset->getUninflected()->matches($word)) { return $word; } $inflected = $ruleset->getIrregular()->inflect($word); if ($inflected !== $word) { return $inflected; } $inflected = $ruleset->getRegular()->inflect($word); if ($inflected !== $word) { return $inflected; } } return $word; } } PK![_i%inflector/src/CachedWordInflector.phpnu[wordInflector = $wordInflector; } public function inflect(string $word): string { return $this->cache[$word] ?? $this->cache[$word] = $this->wordInflector->inflect($word); } } PK!;1inflector/src/GenericLanguageInflectorFactory.phpnu[singularRulesets[] = $this->getSingularRuleset(); $this->pluralRulesets[] = $this->getPluralRuleset(); } final public function build(): Inflector { return new Inflector( new CachedWordInflector(new RulesetInflector( ...$this->singularRulesets )), new CachedWordInflector(new RulesetInflector( ...$this->pluralRulesets )) ); } final public function withSingularRules(?Ruleset $singularRules, bool $reset = false): LanguageInflectorFactory { if ($reset) { $this->singularRulesets = []; } if ($singularRules instanceof Ruleset) { array_unshift($this->singularRulesets, $singularRules); } return $this; } final public function withPluralRules(?Ruleset $pluralRules, bool $reset = false): LanguageInflectorFactory { if ($reset) { $this->pluralRulesets = []; } if ($pluralRules instanceof Ruleset) { array_unshift($this->pluralRulesets, $pluralRules); } return $this; } abstract protected function getSingularRuleset(): Ruleset; abstract protected function getPluralRuleset(): Ruleset; } PK!``lexer/README.mdnu[PK!`XQ)) lexer/LICENSEnu[PK!}[`lexer/composer.jsonnu[PK! Ջ1 lexer/lib/Doctrine/Common/Lexer/AbstractLexer.phpnu[PK!2>>(instantiator/phpstan.neon.distnu[PK!HX*instantiator/docs/en/index.rstnu[PK!v&& 1instantiator/docs/en/sidebar.rstnu[PK!94N2instantiator/README.mdnu[PK! ͂$$9instantiator/LICENSEnu[PK!v>  #=instantiator/.doctrine-project.jsonnu[PK!t&(::q@instantiator/phpcs.xml.distnu[PK!B\eeFinstantiator/phpbench.jsonnu[PK!^Ginstantiator/composer.jsonnu[PK!\j{{ Minstantiator/.github/FUNDING.ymlnu[PK!lI7ZNinstantiator/src/Doctrine/Instantiator/Instantiator.phpnu[PK!]D@Cfinstantiator/src/Doctrine/Instantiator/InstantiatorInterface.phpnu[PK!fGBhinstantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.phpnu[PK!3||Myiinstantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.phpnu[PK!EwMroinstantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.phpnu[PK!ﻦtinstantiator/CONTRIBUTING.mdnu[PK!8a yinflector/docs/en/index.rstnu[PK!w)Q  inflector/README.mdnu[PK!9));inflector/LICENSEnu[PK!|uinflector/composer.jsonnu[PK!FNtEtE5inflector/lib/Doctrine/Common/Inflector/Inflector.phpnu[PK!%M2lexer/dc86a4f9730de812d9b005dc1ee6c265c99dd749.zipnuIwPK!32%lexer/acfba781809f831210f50c2bf39abc3bbe689088.zipnuIwPK!] / /9 instantiator/09dbbc80058481f4c7b661e8c9bd0c8408178501.zipnuIwPK!$??9=instantiator/1bd58de5714a9e86c1658357a6b9b2d18677b65b.zipnuIwPK!!d?$$6u|inflector/be4dfb34f5fc96aee612fb3719526ca3606301b2.zipnuIwPK!ui6inflector/407e1d61b89f2eb9087cd0d83b549b4a65716a7c.zipnuIwPK!;:3" (inflector/src/InflectorFactory.phpnu[PK!w3.inflector/src/Language.phpnu[PK!##lK1inflector/src/WordInflector.phpnu[PK!Y?0)2inflector/src/Rules/English/InflectorFactory.phpnu[PK!ԟ..+V4inflector/src/Rules/English/Inflectible.phpnu[PK!Djj%Tcinflector/src/Rules/English/Rules.phpnu[PK!&'+ginflector/src/Rules/English/Uninflected.phpnu[PK!$inflector/src/Rules/Substitution.phpnu[PK!ɷ#0inflector/src/Rules/Italian/InflectorFactory.phpnu[PK!$+ ! !+Ainflector/src/Rules/Italian/Inflectible.phpnu[PK!^jj%inflector/src/Rules/Italian/Rules.phpnu[PK!eҷ+einflector/src/Rules/Italian/Uninflected.phpnu[PK!a_winflector/src/Rules/Pattern.phpnu[PK!fP  ڴinflector/src/Rules/Ruleset.phpnu[PK!'&2inflector/src/Rules/Transformation.phpnu[PK!;08inflector/src/Rules/NorwegianBokmal/InflectorFactory.phpnu[PK!{<3۽inflector/src/Rules/NorwegianBokmal/Inflectible.phpnu[PK!Trr-inflector/src/Rules/NorwegianBokmal/Rules.phpnu[PK!ٮddd3inflector/src/Rules/NorwegianBokmal/Uninflected.phpnu[PK![0inflector/src/Rules/Spanish/InflectorFactory.phpnu[PK!͕99+inflector/src/Rules/Spanish/Inflectible.phpnu[PK!j?jj%Dinflector/src/Rules/Spanish/Rules.phpnu[PK!@Ogg+inflector/src/Rules/Spanish/Uninflected.phpnu[PK!33inflector/src/Rules/Portuguese/InflectorFactory.phpnu[PK!@Yo.inflector/src/Rules/Portuguese/Inflectible.phpnu[PK!!<ۘmm(finflector/src/Rules/Portuguese/Rules.phpnu[PK!n*.+inflector/src/Rules/Portuguese/Uninflected.phpnu[PK! 09inflector/src/Rules/Turkish/InflectorFactory.phpnu[PK!J+finflector/src/Rules/Turkish/Inflectible.phpnu[PK!ڃjj%inflector/src/Rules/Turkish/Rules.phpnu[PK!>Yεgg+ninflector/src/Rules/Turkish/Uninflected.phpnu[PK!h%AS'0inflector/src/Rules/Transformations.phpnu[PK!q#2inflector/src/Rules/Esperanto/InflectorFactory.phpnu[PK!:[F-@ inflector/src/Rules/Esperanto/Inflectible.phpnu[PK!ņ8All' inflector/src/Rules/Esperanto/Rules.phpnu[PK!iz-Binflector/src/Rules/Esperanto/Uninflected.phpnu[PK!$4#ZZ inflector/src/Rules/Patterns.phpnu[PK!~2/]inflector/src/Rules/French/InflectorFactory.phpnu[PK!,zRZZ*inflector/src/Rules/French/Inflectible.phpnu[PK!ldii$< inflector/src/Rules/French/Rules.phpnu[PK!#WW*#inflector/src/Rules/French/Uninflected.phpnu[PK!m\\%&inflector/src/Rules/Substitutions.phpnu[PK!KHW&&[,inflector/src/Rules/Word.phpnu[PK!I#-inflector/src/NoopWordInflector.phpnu[PK!x%%*.inflector/src/LanguageInflectorFactory.phpnu[PK!0202h2inflector/src/Inflector.phpnu[PK!edKK"dinflector/src/RulesetInflector.phpnu[PK![_i%jinflector/src/CachedWordInflector.phpnu[PK!;1linflector/src/GenericLanguageInflectorFactory.phpnu[PKPP s