Commit eb2ef01
committed
Merge branch 'development' into hawk/testing
# Conflicts:
# _changelog/next-upgrade.md
# _changelog/next.md
# _documentation/100-GettingStarted/100-Local-Installation.md
# _documentation/2-GettingStarted/2-Local Docker Installation.md
# _documentation/200-Configuration/100-Dot-Env.md
# _documentation/200-Configuration/7.1-File Conversion.md
# _documentation/3-architecture/10.2-AI Models and Tools.md
# _documentation/3-architecture/6-Model Connection.md
# _documentation/3-architecture/7-File Storage.md
# app/Casts/AsInstance.php
# app/Console/Commands/Ai/ListModels.php
# app/Console/Commands/Ai/SyncConfigFiles.php
# app/Http/Controllers/StreamController.php
# app/Models/Ai/AiModel.php
# app/Models/Ai/AiModelDescription.php
# app/Models/ExtApp.php
# app/Models/ExtAppUser.php
# app/Models/Invitation.php
# app/Models/Message.php
# app/Models/Room.php
# app/Models/UserKeychainValue.php
# app/Providers/StorageServiceProvider.php
# app/Services/Ai/Agents/Adapters/AbstractLaravelAgent.php
# app/Services/Ai/Agents/Adapters/AbstractTextGeneratingAgent.php
# app/Services/Ai/Agents/AgentRegistry.php
# app/Services/Ai/Agents/Implementations/AbstractAgentFactory.php
# app/Services/Ai/Agents/Implementations/Chat/ChatAgentFromLegacyRequestFactory.php
# app/Services/Ai/Agents/Implementations/Chat/ChatToolResolver.php
# app/Services/Ai/Agents/Middleware/LoggingMiddleware.php
# app/Services/Ai/Agents/Utils/AlternatingMessageHistory.php
# app/Services/Ai/Agents/Utils/MessageMetaBlocks.php
# app/Services/Ai/Agents/Utils/UserMessageAttachments.php
# app/Services/Ai/AiService.php
# app/Services/Ai/ConfigFileSync/ConfigFileSyncer.php
# app/Services/Ai/ConfigFileSync/SyncActionDetector.php
# app/Services/Ai/ConfigFileSync/Syncers/McpServerSyncer.php
# app/Services/Ai/ConfigFileSync/Syncers/ModelAndProviderSyncer.php
# app/Services/Ai/ConfigFileSync/Syncers/SystemModelSyncer.php
# app/Services/Ai/ConfigFileSync/Syncers/SystemPromptSyncer.php
# app/Services/Ai/Exceptions/AiExceptionInterface.php
# app/Services/Ai/Exceptions/InvalidAiManagerException.php
# app/Services/Ai/Exceptions/InvalidProviderConfigurationException.php
# app/Services/Ai/Exceptions/ModelListResponseException.php
# app/Services/Ai/LaravelAi/Drivers/GeminiExtended/ExtendedGeminiGateway.php
# app/Services/Ai/LaravelAi/ExtendedAiManager.php
# app/Services/Ai/LaravelAi/Values/ProviderDriverPortal.php
# app/Services/Ai/LaravelAi/Values/UrlMultiCitation.php
# app/Services/Ai/ModelInformation/Enrichment/Implementations/LiteLlm/AbstractLiteLlmDataStore.php
# app/Services/Ai/ModelInformation/Enrichment/Implementations/LiteLlm/Applier/ChatModelInfoApplier.php
# app/Services/Ai/ModelInformation/Enrichment/Implementations/LiteLlm/LiteLlmApiDataStore.php
# app/Services/Ai/ModelInformation/Enrichment/Implementations/LiteLlm/LiteLlmModelData.php
# app/Services/Ai/ModelInformation/Enrichment/Implementations/LiteLlm/StaticLiteLlmDataStore.php
# app/Services/Ai/ModelInformation/Enrichment/Implementations/LiteLlmApiEnricher.php
# app/Services/Ai/ModelInformation/Enrichment/Implementations/StaticGwdgEnricher.php
# app/Services/Ai/ModelInformation/Enrichment/ModelInfoEnrichingTrait.php
# app/Services/Ai/ModelInformation/ModelInfoApplier.php
# app/Services/Ai/ModelInformation/ModelInfoFetcher.php
# app/Services/Ai/Models/Flags/AiModelFlagRegistry.php
# app/Services/Ai/Models/Io/Values/AiModelIoMethods.php
# app/Services/Ai/Models/Limits/Values/ChatAiModelLimits.php
# app/Services/Ai/Models/Limits/Values/NullAiModelLimits.php
# app/Services/Ai/Models/Pricing/Values/Chat/ChatAiModelPricing.php
# app/Services/Ai/Models/Pricing/Values/Chat/ChatPricingRange.php
# app/Services/Ai/Models/Pricing/Values/NullPricing.php
# app/Services/Ai/Models/Repositories/AiModelDescriptionRepository.php
# app/Services/Ai/Models/Settings/Values/AiModelSettings.php
# app/Services/Ai/Providers/Adapters/AbstractProviderAdapter.php
# app/Services/Ai/Providers/Adapters/Contracts/ProviderAdapterCreatesDriverInterface.php
# app/Services/Ai/Providers/Adapters/Contracts/ProviderAdapterInterface.php
# app/Services/Ai/Providers/Adapters/DriverFactory.php
# app/Services/Ai/Providers/Adapters/DriverFactoryFactory.php
# app/Services/Ai/Providers/Adapters/Implementations/AnthropicAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/AwsBedrockAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/AzureOpenAiAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/DeepseekAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/GeminiAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/GwdgAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/MistralAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/OllamaAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/OpenAiAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/OpenAiLikeAdapter.php
# app/Services/Ai/Providers/Adapters/Implementations/OpenRouterAdapter.php
# app/Services/Ai/Providers/Adapters/ModelList/ModelListClient.php
# app/Services/Ai/Providers/Adapters/ProviderAdapterRegistry.php
# app/Services/Ai/Providers/Adapters/Traits/OpenAiModelListTrait.php
# app/Services/Ai/Providers/AiProviderProxyResolver.php
# app/Services/Ai/Providers/Repositories/AiProviderRepository.php
# app/Services/Ai/Providers/Values/AiProviderProxy.php
# app/Services/Ai/Providers/Values/WellKnownProviderSettings.php
# app/Services/Ai/StatusCheck/AiModelDemandCollection.php
# app/Services/Ai/StatusCheck/AiModelOnlineStatusCollection.php
# app/Services/Ai/StatusCheck/ModelStatusUpdater.php
# app/Services/Ai/SystemModels/SystemModelRepository.php
# app/Services/Ai/SystemPrompts/SystemPromptRepository.php
# app/Services/Ai/Tools/AbstractTool.php
# app/Services/Ai/Tools/FunctionToolSyncer.php
# app/Services/Ai/Tools/LaravelAi/LaravelMcpTool.php
# app/Services/Ai/Tools/LaravelAi/LaravelToolConverter.php
# app/Services/Ai/Tools/LaravelAi/LaravelToolResolver.php
# app/Services/Ai/Tools/Mcp/HawkiMcpClient.php
# app/Services/Ai/Tools/Mcp/McpClientFactory.php
# app/Services/Ai/Tools/Mcp/McpToolSyncer.php
# app/Services/Ai/Tools/Repositories/AiToolRepository.php
# app/Services/Ai/Tools/Repositories/McpServerRepository.php
# app/Services/Ai/Tools/Values/McpServerTimeouts.php
# app/Services/Ai/Tools/Values/McpToolDefinition.php
# app/Services/Ai/UsageAnalyzerService.php
# app/Services/Ai/Utils/AbstractTagList.php
# app/Services/Ai/Utils/StreamChunkHandler.php
# app/Services/Ai/Utils/Traits/TranslatableRegistryTrait.php
# app/Services/Ai/Values/TokenUsage.php
# app/Services/Chat/Message/Handlers/GroupMessageHandler.php
# app/Services/Chat/Room/Traits/RoomFunctions.php
# app/Services/Config/AbstractConfig.php
# app/Services/Config/ConfigService.php
# app/Services/Config/Contracts/PublicConfigInterface.php
# app/Services/Config/Registries/PublicConfigRegistry.php
# app/Services/ExtApp/Listeners/PersonalAccessTokenRemoveListener.php
# app/Services/ExtApp/Listeners/UserRemovalListener.php
# app/Services/ExtApp/Repositories/UserRepository.php
# app/Services/ExternalContent/CitationUrlCleaner.php
# app/Services/ExternalContent/ExternalImageProxy.php
# app/Services/ExternalContent/FavIconProxy.php
# app/Services/ExternalContent/ProxyClient.php
# app/Services/ExternalContent/UrlCleaner.php
# app/Services/ExternalContent/Values/ResolvedExternalImage.php
# app/Services/ExternalContent/WebsiteMetadataLoader.php
# app/Services/FileConverter/Exception/ConversionFailedException.php
# app/Services/FileConverter/Exception/InvalidFileConverterConfigException.php
# app/Services/FileConverter/Handlers/GwdgDoclingConverter.php
# app/Services/FileConverter/Handlers/HawkiDocConverter.php
# app/Services/FileConverter/Handlers/KreuzbergConverter.php
# app/Services/FileConverter/Interfaces/FileConverterInterface.php
# app/Services/Frontend/Config/SecurityConfig.php
# app/Services/Frontend/Config/TransferConfig.php
# app/Services/Frontend/Config/WebsocketTransferConfig.php
# app/Services/Frontend/Connection/ConnectionFactory.php
# app/Services/Frontend/Connection/Values/Connection.php
# app/Services/Frontend/Connection/Values/ConnectionType.php
# app/Services/Frontend/Connection/Values/ExtAppConnectRequestPayload.php
# app/Services/Frontend/Connection/Values/ExtAppSecrets.php
# app/Services/Frontend/Connection/Values/Userinfo.php
# app/Services/Frontend/Listeners/MarkAllCurrentMigrationsAsAppliedForNewUser.php
# app/Services/Frontend/Migrations/Exceptions/FrontendMigrationExceptionInterface.php
# app/Services/Frontend/Migrations/Exceptions/InvalidUserDataFinderResultException.php
# app/Services/Frontend/Migrations/Exceptions/NoDownForFrontendMigrationsExceptionException.php
# app/Services/Frontend/Migrations/Facades/FrontendMigrator.php
# app/Services/Frontend/Migrations/FrontendMigrationBuilder.php
# app/Services/Frontend/Migrations/Make/BackendMigrationCreator.php
# app/Services/Frontend/Migrations/Make/FrontendMigrationCreator.php
# app/Services/Frontend/Migrations/Make/JsMigrationCreator.php
# app/Services/Frontend/Migrations/Repositories/AppliedFrontendMigrationRepository.php
# app/Services/Frontend/Migrations/Repositories/FrontendMigrationRepository.php
# app/Services/Frontend/Migrations/Repositories/FrontendMigrationUserdataRepository.php
# app/Services/Frontend/Migrations/Values/FrontendMigrationRunType.php
# app/Services/Frontend/Migrations/Values/MigrationToApply.php
# app/Services/Frontend/View/CssLayers.php
# app/Services/Frontend/View/EarlyFrontendBridge.php
# app/Services/Frontend/View/SettingsPanelComponent.php
# app/Services/Frontend/View/SvelteComponent.php
# app/Services/Message/Listeners/ThreadParentUpdateListener.php
# app/Services/Message/MessageDb.php
# app/Services/Storage/AbstractFileStorage.php
# app/Services/Storage/Config/AbstractStorageConfig.php
# app/Services/Storage/Config/AvatarStorageConfig.php
# app/Services/Storage/Config/FileStorageConfig.php
# app/Services/Storage/Exception/CouldNotInflectStoredFieldIdentifierException.php
# app/Services/Storage/Exception/InvalidStorageFileIdentifierStringGivenException.php
# app/Services/Storage/Exception/StorageExceptionInterface.php
# app/Services/Storage/Interfaces/StorageServiceInterface.php
# app/Services/Storage/Listeners/DeleteStoredFileOnAttachmentDeletion.php
# app/Services/Storage/UrlGenerator.php
# app/Services/Storage/Utils/ContentExtractor.php
# app/Services/Storage/Values/FileCollection.php
# app/Services/Storage/Values/FileReference.php
# app/Services/Storage/Values/FileType.php
# app/Services/Storage/Values/PlainTextLanguageType.php
# app/Services/Storage/Values/StorageServiceContext.php
# app/Services/Storage/Values/StoredFile.php
# app/Services/Storage/Values/StoredFileExtract.php
# app/Services/Storage/Values/StoredFileIdentifier.php
# app/Services/System/Database/Eloquent/ContextualScopes/Contexts/MakesDisableNotAllowedCallbacksTrait.php
# app/Services/System/Database/Eloquent/ContextualScopes/Contexts/ModelScopeContext.php
# app/Services/System/Database/Eloquent/ContextualScopes/Contexts/ModelScopeContextState.php
# app/Services/System/Database/Eloquent/ContextualScopes/Contexts/ScopeContext.php
# app/Services/System/Database/Eloquent/ContextualScopes/Contexts/ScopeContextState.php
# app/Services/System/Database/Eloquent/ContextualScopes/ContextualScopeWrapper.php
# app/Services/System/Database/Eloquent/ContextualScopes/Exceptions/InvalidScopeDefinitionException.php
# app/Services/System/Database/Eloquent/ContextualScopes/HasContextualScopesTrait.php
# app/Services/System/Database/Eloquent/ContextualScopes/ScopeRegistrar.php
# app/Services/System/Database/Eloquent/Repositories/Traits/GuessesModelNameTrait.php
# app/Services/System/Database/Eloquent/Repositories/Value/ScopeOverrides.php
# app/Services/System/Exceptions/NotImplementedException.php
# app/Services/System/Health/HealthChecker.php
# app/Services/System/Health/Value/HealthCheckResultCollection.php
# app/Services/System/JsonApi/ValueSerializer.php
# app/Utils/Imaging/RandomGradientImage.php
# composer.json
# composer.lock
# config/model_lists/gwdg_models.php
# database/migrations/2026_03_12_151809_initial_ai_models_sync.php
# package-lock.json
# package.json
# phpstan.neon
# public/css/chat_modules.css
# public/js/ai_chat_functions.js
# public/js/groupchat_functions.js
# public/js/home_functions.js
# public/js/message_functions.js
# public/js/stream_functions.js
# resources/js/components/chat/composer/ComposerActionButtons.svelte
# resources/js/components/chat/composer/ComposerAssistantButton.svelte
# resources/js/components/chat/composer/FileChips.svelte
# resources/js/components/chat/composer/FilePicker.svelte
# resources/js/components/chat/composer/ModePanel.svelte
# resources/js/components/chat/composer/ModelConflictPicker.svelte
# resources/js/components/chat/composer/SettingsMenu.svelte
# resources/js/components/chat/composer/SystemPromptDialog.svelte
# resources/js/components/chat/composer/ToolChips.svelte
# resources/js/components/chat/composer/ToolMenu.svelte
# resources/js/components/chat/composer/ToolMenuDetail.svelte
# resources/js/components/chat/composer/ToolMenuListItem.svelte
# resources/js/components/chat/composer/utils/ToolIcon.svelte
# resources/js/components/chat/header/ExportMenu.svelte
# resources/js/components/chat/nameMenu/ChatNameMenu.svelte
# resources/js/components/chat/nameMenu/RoomNameMenu.svelte
# resources/js/components/ui/button/Button.svelte
# resources/js/components/ui/dialog/Dialog.svelte
# resources/js/components/ui/dropdown-menu/DropdownMenuCheckboxItem.svelte
# resources/js/components/ui/dropdown-menu/DropdownMenuItem.svelte
# resources/js/components/ui/popover/InfoPopover.svelte
# resources/js/components/ui/select/SingleSelect.svelte
# resources/js/components/ui/toast/Toaster.svelte
# resources/js/components/util/markdown/Markdown.svelte
# resources/js/data/migrations/migrator.ts
# resources/js/oldUi/OldUiBridge.svelte.ts
# resources/js/snippets/AttachmentDropdown.svelte
# resources/js/snippets/ChatSidebarButton.svelte
# resources/js/stores/AiHandleStore.svelte.ts
# resources/language/chat_de_DE.json
# resources/language/chat_en_US.json
# resources/language/legacy_en_US.json
# resources/views/layouts/gateway.blade.php
# resources/views/layouts/home.blade.php
# resources/views/partials/gateway/handshake.blade.php
# resources/views/partials/gateway/register.blade.php
# tests/Unit/Casts/AsInstanceTest.php
# tests/Unit/Utils/Casts/AbstractCastableObjectTest.php
# tests/Unit/Utils/Casts/Casters/EncryptedCasterTest.php
# tests/Unit/Utils/Validation/JsonSchemaValidatorTest.php559 files changed
Lines changed: 36525 additions & 5605 deletions
File tree
- _changelog
- _documentation
- 100-GettingStarted
- 2-GettingStarted
- 200-Configuration
- 3-architecture
- 300-Deployment
- 500-Backend
- 100-Architecture
- 1000-Infrastructure
- 200-Authentication
- 500-AI-Service-Layer
- 600-Chat-and-Rooms
- 700-Storage-and-Files
- 800-Encryption-and-Security
- 900-Frontend-Integration
- 600-Frontend
- 300-Data
- 400-Components
- 500-Utilities
- 600-Advanced
- app
- Casts
- Console/Commands/Ai
- Events
- Http/Controllers
- Models
- Ai
- Providers
- Services
- Ai
- Agents
- Adapters
- Events
- Exceptions
- Implementations
- Chat
- Middleware
- Utils
- ConfigFileSync
- Syncers
- Exceptions
- LaravelAi
- Drivers
- GeminiExtended
- OpenAiExtended
- Values
- ModelInformation
- Enrichment
- Events
- Implementations
- LiteLlm
- Applier
- Events
- Models
- Flags
- Io/Values
- Limits/Values
- Pricing/Values
- Chat
- Repositories
- Settings/Values
- Providers
- Adapters
- Contracts
- Implementations
- ModelList
- Traits
- Repositories
- Values
- StatusCheck
- SystemModels
- SystemPrompts
- Tools
- Events
- LaravelAi
- Events
- Mcp
- Events
- Repositories
- Values
- Utils
- Traits
- Values
- Chat
- Attachment/Events
- Events
- Message/Handlers
- Room/Traits
- Config
- Contracts
- Registries
- ExtApp
- Events
- Listeners
- Repositories
- ExternalContent
- Events
- Exceptions
- Values
- FileConverter
- Exception
- Handlers
- Interfaces
- Frontend
- Config
- Connection
- Values
- Listeners
- Migrations
- Exceptions
- Facades
- Make
- Repositories
- Values
- View
- Message
- Listeners
- Storage
- Config
- Exception
- Interfaces
- Listeners
- Utils
- Values
- System
- Database/Eloquent
- ContextualScopes
- Contexts
- Exceptions
- Repositories
- Exceptions
- Traits
- Value
- Exceptions
- Health
- Events
- Value
- JsonApi
- Users/Events
- Utils/Imaging
- bin/_env/addons/docker
- config/model_lists
- database/migrations
- public
- css
- js
- resources
- js
- components
- chat
- composer
- utils
- header
- nameMenu
- ui
- button
- dialog
- popover
- select
- toast
- util/markdown
- data/migrations
- oldUi
- snippets
- stores
- language
- views
- layouts
- partials/gateway
- tests/Unit
- Casts
- Services
- Ai
- Agents
- Adapters
- Exceptions
- Implementations
- Chat
- Middleware
- Utils
- ConfigFileSync
- Syncers
- ModelAndProviderSyncerTestFixtures
- Exceptions
- LaravelAi
- Values
- ModelInformation
- Enrichment/Implementations
- Models
- Limits/Values
- Pricing/Values
- Providers
- Adapters
- Exceptions
- Implementations
- ModelList
- ProviderAdapterRegistryTestFixtures
- Traits
- OpenAiModelListTraitTestFixtures
- Values
- StatusCheck
- Tools/Values
- Utils
- AbstractTagListTestFixtures
- Traits
- TranslatableRegistryTraitTestFixtures
- Values
- Config
- ConfigServiceTestFixtures
- PublicConfigRegistryTestFixtures
- ExternalContent
- Exceptions
- ProxyClientTestFixtures
- Values
- FileConverter
- Exception
- Handlers
- AbstractFileConverterTestFixtures
- Utils
- Frontend
- Config
- Listeners
- Migrations
- Exceptions
- Make
- View
- Storage
- AbstractFileStorageTestFixtures
- Exception
- Values
- System
- Database/Eloquent
- ContextualScopes
- Contexts
- MakesDisableNotAllowedCallbacksTraitTestFixtures
- Exceptions
- HasContextualScopesTraitTestFixtures
- Repositories
- AbstractRepositoryTestFixtures
- AbstractRepositoryWithContextualScopesTestFixtures
- Attributes
- Exceptions
- Traits
- GuessesModelNameTraitTestFixtures
- Exceptions
- JsonApi
- Utils
- Casts
- Casters
- Validation
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
8 | 13 | | |
9 | 14 | | |
10 | 15 | | |
| |||
123 | 128 | | |
124 | 129 | | |
125 | 130 | | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
132 | 137 | | |
133 | 138 | | |
134 | 139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
Lines changed: 23 additions & 22 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
56 | 55 | | |
57 | 56 | | |
58 | 57 | | |
59 | 58 | | |
60 | 59 | | |
61 | 60 | | |
62 | 61 | | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | | - | |
71 | | - | |
72 | 70 | | |
73 | 71 | | |
74 | 72 | | |
| |||
83 | 81 | | |
84 | 82 | | |
85 | 83 | | |
86 | | - | |
| 84 | + | |
87 | 85 | | |
88 | 86 | | |
89 | 87 | | |
| |||
99 | 97 | | |
100 | 98 | | |
101 | 99 | | |
102 | | - | |
| 100 | + | |
103 | 101 | | |
104 | 102 | | |
105 | | - | |
| 103 | + | |
106 | 104 | | |
107 | 105 | | |
108 | 106 | | |
| |||
119 | 117 | | |
120 | 118 | | |
121 | 119 | | |
122 | | - | |
| 120 | + | |
123 | 121 | | |
124 | 122 | | |
125 | 123 | | |
| |||
134 | 132 | | |
135 | 133 | | |
136 | 134 | | |
137 | | - | |
| 135 | + | |
138 | 136 | | |
139 | | - | |
140 | | - | |
141 | | - | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
142 | 140 | | |
143 | 141 | | |
144 | 142 | | |
| |||
155 | 153 | | |
156 | 154 | | |
157 | 155 | | |
| 156 | + | |
158 | 157 | | |
159 | 158 | | |
160 | 159 | | |
| |||
182 | 181 | | |
183 | 182 | | |
184 | 183 | | |
185 | | - | |
| 184 | + | |
186 | 185 | | |
187 | | - | |
188 | | - | |
| 186 | + | |
| 187 | + | |
189 | 188 | | |
190 | 189 | | |
191 | 190 | | |
| |||
221 | 220 | | |
222 | 221 | | |
223 | 222 | | |
224 | | - | |
225 | 223 | | |
226 | 224 | | |
227 | 225 | | |
| |||
239 | 237 | | |
240 | 238 | | |
241 | 239 | | |
242 | | - | |
243 | 240 | | |
244 | 241 | | |
245 | 242 | | |
| |||
253 | 250 | | |
254 | 251 | | |
255 | 252 | | |
| 253 | + | |
256 | 254 | | |
257 | 255 | | |
258 | 256 | | |
| |||
313 | 311 | | |
314 | 312 | | |
315 | 313 | | |
316 | | - | |
| 314 | + | |
317 | 315 | | |
318 | 316 | | |
319 | 317 | | |
320 | 318 | | |
321 | 319 | | |
322 | 320 | | |
323 | | - | |
324 | 321 | | |
325 | 322 | | |
326 | 323 | | |
327 | 324 | | |
328 | | - | |
| 325 | + | |
329 | 326 | | |
330 | 327 | | |
331 | 328 | | |
| |||
353 | 350 | | |
354 | 351 | | |
355 | 352 | | |
| 353 | + | |
356 | 354 | | |
357 | 355 | | |
358 | 356 | | |
| |||
368 | 366 | | |
369 | 367 | | |
370 | 368 | | |
| 369 | + | |
371 | 370 | | |
372 | 371 | | |
373 | 372 | | |
| |||
384 | 383 | | |
385 | 384 | | |
386 | 385 | | |
387 | | - | |
| 386 | + | |
388 | 387 | | |
389 | 388 | | |
390 | 389 | | |
| |||
439 | 438 | | |
440 | 439 | | |
441 | 440 | | |
| 441 | + | |
442 | 442 | | |
443 | 443 | | |
444 | 444 | | |
| |||
458 | 458 | | |
459 | 459 | | |
460 | 460 | | |
| 461 | + | |
461 | 462 | | |
462 | 463 | | |
463 | 464 | | |
| |||
0 commit comments