<commit_before><?php

namespace Room11\Jeeves;

use Amp\Artax\Client as ArtaxClient;
use Amp\Artax\Cookie\ArrayCookieJar;
use Amp\Artax\Cookie\CookieJar;
use Amp\Artax\HttpClient;
use Auryn\Injector;
use Room11\Jeeves\Chat\Client\ChatClient;
use Room11\Jeeves\Chat\Client\MessageResolver;
use Room11\Jeeves\Chat\Event\Filter\Builder as EventFilterBuilder;
use Room11\Jeeves\Chat\Auth\Authenticator as ChatRoomConnector;
use Room11\Jeeves\Chat\Room\Collection as ChatRoomCollection;
use Room11\Jeeves\Chat\Room\CredentialManager as ChatRoomCredentialManager;
use Room11\Jeeves\Chat\EndpointURLResolver;
use Room11\Jeeves\Chat\Room\IdentifierFactory as ChatRoomIdentifierFactory;
use Room11\Jeeves\Chat\Room\PresenceManager as ChatRoomPresenceManager;
use Room11\Jeeves\Chat\Room\RoomFactory as ChatRoomFactory;
use Room11\Jeeves\Chat\WebSocket\EventDispatcher as WebSocketEventDispatcher;
use Room11\Jeeves\Chat\WebSocket\HandlerFactory as WebSocketHandlerFactory;
use Room11\Jeeves\External\BitlyClient;
use Room11\Jeeves\Log\Logger;
use Room11\Jeeves\Storage\Admin as AdminStorage;
use Room11\Jeeves\Storage\Ban as BanStorage;
use Room11\Jeeves\Storage\File\Admin as FileAdminStorage;
use Room11\Jeeves\Storage\File\Ban as FileBanStorage;
use Room11\Jeeves\Storage\File\JsonFileAccessor;
use Room11\Jeeves\Storage\File\KeyValueFactory as FileKeyValueStorageFactory;
use Room11\Jeeves\Storage\File\Plugin as FilePluginStorage;
use Room11\Jeeves\Storage\File\Room as FileRoomStorage;
use Room11\Jeeves\Storage\KeyValueFactory as KeyValueStorageFactory;
use Room11\Jeeves\Storage\Plugin as PluginStorage;
use Room11\Jeeves\Storage\Room as RoomStorage;
use Room11\Jeeves\System\BuiltInActionManager;
use Room11\Jeeves\System\PluginManager;
use Room11\Jeeves\WebAPI\Server as WebAPIServer;
use Room11\OpenId\Authenticator as OpenIdAuthenticator;
use Room11\OpenId\StackExchangeAuthenticator;

const DATA_BASE_DIR = __DIR__ . '/../data';

/** @var Injector $injector */
$injector->alias(HttpClient::class, ArtaxClient::class);
$injector->alias(OpenIdAuthenticator::class, StackExchangeAuthenticator::class);
$injector->alias(CookieJar::class, ArrayCookieJar::class);

$injector->define(FileAdminStorage::class, [":dataFile" => DATA_BASE_DIR . "/admins.%s.json"]);
$injector->define(FileBanStorage::class, [":dataFile" => DATA_BASE_DIR . "/bans.%s.json"]);
$injector->define(FilePluginStorage::class, [":dataFile" => DATA_BASE_DIR . "/plugins.%s.json"]);
$injector->define(FileKeyValueStorageFactory::class, [":dataFileTemplate" => DATA_BASE_DIR . "/keyvalue.%s.json"]);
$injector->define(FileRoomStorage::class, [":dataFile" => DATA_BASE_DIR . "/rooms.json"]);

$injector->share(AdminStorage::class);
$injector->share(BanStorage::class);
$injector->share(BitlyClient::class);
$injector->share(BuiltInActionManager::class);
$injector->share(ChatClient::class);
$injector->share(ChatRoomCollection::class);
$injector->share(EndpointURLResolver::class);
$injector->share(ChatRoomConnector::class);
$injector->share(ChatRoomCredentialManager::class);
$injector->share(ChatRoomFactory::class);
$injector->share(ChatRoomIdentifierFactory::class);
$injector->share(ChatRoomPresenceManager::class);
$injector->share(CookieJar::class);
$injector->share(EventFilterBuilder::class);
$injector->share(HttpClient::class);
$injector->share(JsonFileAccessor::class);
$injector->share(KeyValueStorageFactory::class);
$injector->share(Logger::class);
$injector->share(MessageResolver::class);
$injector->share(OpenIdAuthenticator::class);
$injector->share(PluginManager::class);
$injector->share(PluginStorage::class);
$injector->share(RoomStorage::class);<commit_msg>Does this fix it?<commit_after><?php

namespace Room11\Jeeves;

use Amp\Artax\Client as ArtaxClient;
use Amp\Artax\Cookie\ArrayCookieJar;
use Amp\Artax\Cookie\CookieJar;
use Amp\Artax\HttpClient;
use Auryn\Injector;
use PeeHaa\AsyncTwitter\Api\Client\Client as TwitterClient;
use PeeHaa\AsyncTwitter\Http\Artax as ArtaxTwitterClient;
use Room11\Jeeves\Chat\Client\ChatClient;
use Room11\Jeeves\Chat\Client\MessageResolver;
use Room11\Jeeves\Chat\Event\Filter\Builder as EventFilterBuilder;
use Room11\Jeeves\Chat\Auth\Authenticator as ChatRoomConnector;
use Room11\Jeeves\Chat\Room\Collection as ChatRoomCollection;
use Room11\Jeeves\Chat\Room\CredentialManager as ChatRoomCredentialManager;
use Room11\Jeeves\Chat\EndpointURLResolver;
use Room11\Jeeves\Chat\Room\IdentifierFactory as ChatRoomIdentifierFactory;
use Room11\Jeeves\Chat\Room\PresenceManager as ChatRoomPresenceManager;
use Room11\Jeeves\Chat\Room\RoomFactory as ChatRoomFactory;
use Room11\Jeeves\Chat\WebSocket\EventDispatcher as WebSocketEventDispatcher;
use Room11\Jeeves\Chat\WebSocket\HandlerFactory as WebSocketHandlerFactory;
use Room11\Jeeves\External\BitlyClient;
use Room11\Jeeves\Log\Logger;
use Room11\Jeeves\Storage\Admin as AdminStorage;
use Room11\Jeeves\Storage\Ban as BanStorage;
use Room11\Jeeves\Storage\File\Admin as FileAdminStorage;
use Room11\Jeeves\Storage\File\Ban as FileBanStorage;
use Room11\Jeeves\Storage\File\JsonFileAccessor;
use Room11\Jeeves\Storage\File\KeyValueFactory as FileKeyValueStorageFactory;
use Room11\Jeeves\Storage\File\Plugin as FilePluginStorage;
use Room11\Jeeves\Storage\File\Room as FileRoomStorage;
use Room11\Jeeves\Storage\KeyValueFactory as KeyValueStorageFactory;
use Room11\Jeeves\Storage\Plugin as PluginStorage;
use Room11\Jeeves\Storage\Room as RoomStorage;
use Room11\Jeeves\System\BuiltInActionManager;
use Room11\Jeeves\System\PluginManager;
use Room11\Jeeves\WebAPI\Server as WebAPIServer;
use Room11\OpenId\Authenticator as OpenIdAuthenticator;
use Room11\OpenId\StackExchangeAuthenticator;

const DATA_BASE_DIR = __DIR__ . '/../data';

/** @var Injector $injector */
$injector->alias(HttpClient::class, ArtaxClient::class);
$injector->alias(OpenIdAuthenticator::class, StackExchangeAuthenticator::class);
$injector->alias(CookieJar::class, ArrayCookieJar::class);
$injector->alias(TwitterClient::class, ArtaxTwitterClient::class);

$injector->define(FileAdminStorage::class, [":dataFile" => DATA_BASE_DIR . "/admins.%s.json"]);
$injector->define(FileBanStorage::class, [":dataFile" => DATA_BASE_DIR . "/bans.%s.json"]);
$injector->define(FilePluginStorage::class, [":dataFile" => DATA_BASE_DIR . "/plugins.%s.json"]);
$injector->define(FileKeyValueStorageFactory::class, [":dataFileTemplate" => DATA_BASE_DIR . "/keyvalue.%s.json"]);
$injector->define(FileRoomStorage::class, [":dataFile" => DATA_BASE_DIR . "/rooms.json"]);

$injector->share(AdminStorage::class);
$injector->share(BanStorage::class);
$injector->share(BitlyClient::class);
$injector->share(BuiltInActionManager::class);
$injector->share(ChatClient::class);
$injector->share(ChatRoomCollection::class);
$injector->share(EndpointURLResolver::class);
$injector->share(ChatRoomConnector::class);
$injector->share(ChatRoomCredentialManager::class);
$injector->share(ChatRoomFactory::class);
$injector->share(ChatRoomIdentifierFactory::class);
$injector->share(ChatRoomPresenceManager::class);
$injector->share(CookieJar::class);
$injector->share(EventFilterBuilder::class);
$injector->share(HttpClient::class);
$injector->share(JsonFileAccessor::class);
$injector->share(KeyValueStorageFactory::class);
$injector->share(Logger::class);
$injector->share(MessageResolver::class);
$injector->share(OpenIdAuthenticator::class);
$injector->share(PluginManager::class);
$injector->share(PluginStorage::class);
$injector->share(RoomStorage::class);
{'fraction_non_alphanumeric': 0.13781580002673438, 'fraction_numerical': 0.016575324154524795, 'mean_word_length': 8.896825396825397, 'pattern_counts': {'":': 10, '<': 5, '<?xml version=': 0, '>': 76, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2798377', 'n_tokens_mistral': 2482, 'n_tokens_neox': 2390, 'n_words': 358}