OpenRAG 0.3.2__tar.gz → 0.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openrag-0.3.2/src/openrag.egg-info → openrag-0.3.4}/PKG-INFO +4 -2
- {openrag-0.3.2 → openrag-0.3.4}/pyproject.toml +5 -3
- {openrag-0.3.2 → openrag-0.3.4}/src/config/config_manager.py +4 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/config/settings.py +2 -5
- {openrag-0.3.2 → openrag-0.3.4/src/openrag.egg-info}/PKG-INFO +4 -2
- {openrag-0.3.2 → openrag-0.3.4}/src/openrag.egg-info/requires.txt +3 -1
- {openrag-0.3.2 → openrag-0.3.4}/src/services/search_service.py +0 -2
- {openrag-0.3.2 → openrag-0.3.4}/LICENSE +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/MANIFEST.in +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/README.md +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/setup.cfg +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/agent.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/auth.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/chat.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/connector_router.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/connectors.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/docling.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/documents.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/flows.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/keys.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/knowledge_filter.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/langflow_files.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/models.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/nudges.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/oidc.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/provider_health.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/provider_validation.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/router.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/search.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/settings.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/tasks.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/upload.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/v1/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/v1/chat.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/v1/documents.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/v1/knowledge_filters.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/v1/models.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/v1/search.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/api/v1/settings.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/auth_context.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/config/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/config/model_constants.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/base.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/connection_manager.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/google_drive/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/google_drive/connector.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/google_drive/oauth.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/langflow_connector_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/onedrive/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/onedrive/connector.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/onedrive/oauth.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/sharepoint/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/sharepoint/connector.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/sharepoint/oauth.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/connectors/sharepoint/utils.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/dependencies.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/main.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/models/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/models/processors.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/models/tasks.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/models/url.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/openrag.egg-info/SOURCES.txt +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/openrag.egg-info/dependency_links.txt +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/openrag.egg-info/entry_points.txt +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/openrag.egg-info/top_level.txt +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/api_key_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/auth_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/chat_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/conversation_persistence_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/document_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/flows_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/knowledge_filter_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/langflow_file_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/langflow_history_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/langflow_mcp_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/models_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/monitor_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/session_ownership_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/services/task_service.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/session_manager.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/docker-compose.gpu.yml +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/docker-compose.yml +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/components/ollama_embedding.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/components/ollama_llm.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/components/ollama_llm_text.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/components/watsonx_embedding.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/components/watsonx_llm.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/components/watsonx_llm_text.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/ingestion_flow.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/openrag_agent.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/openrag_nudges.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/flows/openrag_url_mcp.json +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/openrag-documents/docling.pdf +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/openrag-documents/ibm_anthropic.pdf +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/openrag-documents/openrag-documentation.pdf +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/_assets/openrag-documents/warmup_ocr.pdf +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/cli.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/config_fields.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/main.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/managers/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/managers/container_manager.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/managers/docling_manager.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/managers/env_manager.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/screens/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/screens/config.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/screens/diagnostics.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/screens/logs.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/screens/monitor.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/screens/welcome.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/utils/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/utils/clipboard.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/utils/platform.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/utils/startup_checks.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/utils/validation.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/utils/version_check.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/command_modal.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/diagnostics_notification.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/error_notification.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/factory_reset_warning_modal.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/flow_backup_warning_modal.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/prune_options_modal.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/upgrade_instructions_modal.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/version_mismatch_warning_modal.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/tui/widgets/waves.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/acl_utils.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/container_utils.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/docling_client.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/document_processing.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/embedding_fields.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/embeddings.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/env_utils.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/file_utils.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/gpu_detection.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/hash_utils.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/langflow_headers.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/langflow_utils.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/logging_config.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/opensearch_queries.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/opensearch_utils.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/paths.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/telemetry/__init__.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/telemetry/category.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/telemetry/client.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/telemetry/message_id.py +0 -0
- {openrag-0.3.2 → openrag-0.3.4}/src/utils/version_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openrag
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: OpenRAG is a comprehensive Retrieval-Augmented Generation platform that enables intelligent document search and AI-powered conversations.
|
|
5
5
|
Classifier: Development Status :: 4 - Beta
|
|
6
6
|
Classifier: Environment :: Console
|
|
@@ -15,7 +15,6 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
15
15
|
Requires-Python: >=3.13
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: agentd>=0.2.2
|
|
19
18
|
Requires-Dist: aiofiles>=24.1.0
|
|
20
19
|
Requires-Dist: cryptography>=45.0.6
|
|
21
20
|
Requires-Dist: google-api-python-client>=2.143.0
|
|
@@ -36,6 +35,9 @@ Requires-Dist: python-dotenv>=1.0.0
|
|
|
36
35
|
Requires-Dist: textual-fspicker>=0.6.0
|
|
37
36
|
Requires-Dist: structlog>=25.4.0
|
|
38
37
|
Requires-Dist: zxcvbn>=4.5.0
|
|
38
|
+
Requires-Dist: openai>=1.0.0
|
|
39
|
+
Requires-Dist: pyyaml>=6.0
|
|
40
|
+
Requires-Dist: tiktoken>=0.7.0
|
|
39
41
|
Dynamic: license-file
|
|
40
42
|
|
|
41
43
|
<div align="center">
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "openrag"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.4"
|
|
8
8
|
description = "OpenRAG is a comprehensive Retrieval-Augmented Generation platform that enables intelligent document search and AI-powered conversations."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13"
|
|
@@ -21,7 +21,6 @@ classifiers = [
|
|
|
21
21
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
22
22
|
]
|
|
23
23
|
dependencies = [
|
|
24
|
-
"agentd>=0.2.2",
|
|
25
24
|
"aiofiles>=24.1.0",
|
|
26
25
|
"cryptography>=45.0.6",
|
|
27
26
|
"google-api-python-client>=2.143.0",
|
|
@@ -41,7 +40,10 @@ dependencies = [
|
|
|
41
40
|
"python-dotenv>=1.0.0",
|
|
42
41
|
"textual-fspicker>=0.6.0",
|
|
43
42
|
"structlog>=25.4.0",
|
|
44
|
-
"zxcvbn>=4.5.0"
|
|
43
|
+
"zxcvbn>=4.5.0",
|
|
44
|
+
"openai>=1.0.0",
|
|
45
|
+
"pyyaml>=6.0",
|
|
46
|
+
"tiktoken>=0.7.0"
|
|
45
47
|
]
|
|
46
48
|
|
|
47
49
|
[dependency-groups]
|
|
@@ -49,6 +49,10 @@ class ProvidersConfig:
|
|
|
49
49
|
watsonx: WatsonXConfig
|
|
50
50
|
ollama: OllamaConfig
|
|
51
51
|
|
|
52
|
+
def any_configured(self) -> bool:
|
|
53
|
+
"""Return True if at least one provider is marked as configured."""
|
|
54
|
+
return any(p.configured for p in (self.openai, self.anthropic, self.watsonx, self.ollama))
|
|
55
|
+
|
|
52
56
|
def get_provider_config(self, provider: str):
|
|
53
57
|
"""Get configuration for a specific provider."""
|
|
54
58
|
provider_lower = provider.lower()
|
|
@@ -3,7 +3,6 @@ import os
|
|
|
3
3
|
from utils.env_utils import get_env_int, get_env_float
|
|
4
4
|
|
|
5
5
|
import httpx
|
|
6
|
-
from agentd.patch import patch_openai_with_mcp
|
|
7
6
|
from dotenv import load_dotenv
|
|
8
7
|
from openai import AsyncOpenAI
|
|
9
8
|
from opensearchpy import AsyncOpenSearch
|
|
@@ -535,16 +534,14 @@ class AppClients:
|
|
|
535
534
|
use_http2 = future.result(timeout=15)
|
|
536
535
|
|
|
537
536
|
if use_http2:
|
|
538
|
-
self._patched_async_client =
|
|
537
|
+
self._patched_async_client = AsyncOpenAI()
|
|
539
538
|
logger.info("OpenAI client initialized with HTTP/2")
|
|
540
539
|
else:
|
|
541
540
|
http_client = httpx.AsyncClient(
|
|
542
541
|
http2=False,
|
|
543
542
|
timeout=httpx.Timeout(60.0, connect=10.0)
|
|
544
543
|
)
|
|
545
|
-
self._patched_async_client =
|
|
546
|
-
AsyncOpenAI(http_client=http_client)
|
|
547
|
-
)
|
|
544
|
+
self._patched_async_client = AsyncOpenAI(http_client=http_client)
|
|
548
545
|
logger.info("OpenAI client initialized with HTTP/1.1 (fallback)")
|
|
549
546
|
logger.info("Successfully initialized OpenAI client")
|
|
550
547
|
except Exception as e:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openrag
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
4
4
|
Summary: OpenRAG is a comprehensive Retrieval-Augmented Generation platform that enables intelligent document search and AI-powered conversations.
|
|
5
5
|
Classifier: Development Status :: 4 - Beta
|
|
6
6
|
Classifier: Environment :: Console
|
|
@@ -15,7 +15,6 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
15
15
|
Requires-Python: >=3.13
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: agentd>=0.2.2
|
|
19
18
|
Requires-Dist: aiofiles>=24.1.0
|
|
20
19
|
Requires-Dist: cryptography>=45.0.6
|
|
21
20
|
Requires-Dist: google-api-python-client>=2.143.0
|
|
@@ -36,6 +35,9 @@ Requires-Dist: python-dotenv>=1.0.0
|
|
|
36
35
|
Requires-Dist: textual-fspicker>=0.6.0
|
|
37
36
|
Requires-Dist: structlog>=25.4.0
|
|
38
37
|
Requires-Dist: zxcvbn>=4.5.0
|
|
38
|
+
Requires-Dist: openai>=1.0.0
|
|
39
|
+
Requires-Dist: pyyaml>=6.0
|
|
40
|
+
Requires-Dist: tiktoken>=0.7.0
|
|
39
41
|
Dynamic: license-file
|
|
40
42
|
|
|
41
43
|
<div align="center">
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
import json
|
|
3
3
|
from typing import Any, Dict
|
|
4
|
-
from agentd.tool_decorator import tool
|
|
5
4
|
from config.settings import EMBED_MODEL, clients, get_embedding_model, get_index_name, WATSONX_EMBEDDING_DIMENSIONS
|
|
6
5
|
from auth_context import get_auth_context
|
|
7
6
|
from utils.logging_config import get_logger
|
|
@@ -17,7 +16,6 @@ class SearchService:
|
|
|
17
16
|
def __init__(self, session_manager=None):
|
|
18
17
|
self.session_manager = session_manager
|
|
19
18
|
|
|
20
|
-
@tool
|
|
21
19
|
async def search_tool(self, query: str, embedding_model: str = None) -> Dict[str, Any]:
|
|
22
20
|
"""
|
|
23
21
|
Use this tool to search for documents relevant to the query.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|