ha-mcp-dev 7.2.0.dev354__tar.gz → 7.2.0.dev356__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.
- {ha_mcp_dev-7.2.0.dev354/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.2.0.dev356}/PKG-INFO +1 -1
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/pyproject.toml +1 -1
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_search.py +17 -2
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356/src/ha_mcp_dev.egg-info}/PKG-INFO +1 -1
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/LICENSE +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/MANIFEST.in +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/README.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/setup.cfg +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/__main__.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/_pypi_marker +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/auth/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/auth/consent_form.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/auth/provider.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/client/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/client/rest_client.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/client/websocket_client.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/client/websocket_listener.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/config.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/errors.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/py.typed +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/server.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/smoke_test.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/backup.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/best_practice_checker.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/device_control.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/enhanced.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/registry.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/smart_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_addons.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_areas.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_blueprints.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_bug_report.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_calendar.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_camera.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_categories.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_automations.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_entities.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_filesystem.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_groups.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_hacs.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_history.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_integrations.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_labels.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_registry.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_resources.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_service.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_services.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_system.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_todo.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_traces.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_updates.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_utility.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_zones.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/util_helpers.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/transforms/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/transforms/categorized_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/utils/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/utils/domain_handlers.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/utils/fuzzy_search.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/utils/operation_manager.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/utils/python_sandbox.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/utils/usage_logger.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/tests/__init__.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/tests/test_constants.py +0 -0
- {ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/tests/test_env_manager.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ha-mcp-dev"
|
|
7
|
-
version = "7.2.0.
|
|
7
|
+
version = "7.2.0.dev356"
|
|
8
8
|
description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.13,<3.14"
|
|
@@ -210,6 +210,7 @@ def register_search_tools(mcp: Any, client: Any, **kwargs: Any) -> None:
|
|
|
210
210
|
|
|
211
211
|
try:
|
|
212
212
|
offset = coerce_int_param(offset, "offset", default=0, min_value=0) or 0
|
|
213
|
+
limit = coerce_int_param(limit, "limit", default=10, min_value=1)
|
|
213
214
|
|
|
214
215
|
# If area_filter is provided, use area-based search
|
|
215
216
|
if area_filter:
|
|
@@ -745,8 +746,20 @@ def register_search_tools(mcp: Any, client: Any, **kwargs: Any) -> None:
|
|
|
745
746
|
),
|
|
746
747
|
),
|
|
747
748
|
] = None,
|
|
748
|
-
limit:
|
|
749
|
-
|
|
749
|
+
limit: Annotated[
|
|
750
|
+
int | str,
|
|
751
|
+
Field(
|
|
752
|
+
default=5,
|
|
753
|
+
description="Maximum total results to return (default: 5)",
|
|
754
|
+
),
|
|
755
|
+
] = 5,
|
|
756
|
+
offset: Annotated[
|
|
757
|
+
int | str,
|
|
758
|
+
Field(
|
|
759
|
+
default=0,
|
|
760
|
+
description="Number of results to skip for pagination (default: 0)",
|
|
761
|
+
),
|
|
762
|
+
] = 0,
|
|
750
763
|
include_config: Annotated[
|
|
751
764
|
bool | str,
|
|
752
765
|
Field(
|
|
@@ -801,6 +814,8 @@ def register_search_tools(mcp: Any, client: Any, **kwargs: Any) -> None:
|
|
|
801
814
|
)
|
|
802
815
|
exact_match_bool = coerce_bool_param(exact_match, "exact_match", default=True)
|
|
803
816
|
try:
|
|
817
|
+
limit = coerce_int_param(limit, "limit", default=5, min_value=1)
|
|
818
|
+
offset = coerce_int_param(offset, "offset", default=0, min_value=0)
|
|
804
819
|
result = await smart_tools.deep_search(
|
|
805
820
|
query,
|
|
806
821
|
parsed_search_types,
|
|
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
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/AGENTS.md
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/LICENSE
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/resources/skills-vendor/README.md
RENAMED
|
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
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/best_practice_checker.py
RENAMED
|
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
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_automations.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_dashboards.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_entry_flow.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_helpers.py
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_config_scripts.py
RENAMED
|
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
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/tools/tools_voice_assistant.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp/transforms/categorized_search.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp_dev.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{ha_mcp_dev-7.2.0.dev354 → ha_mcp_dev-7.2.0.dev356}/src/ha_mcp_dev.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|