unique-sdk 2026.32.0.dev4__tar.gz → 2026.32.0.dev5__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.
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/PKG-INFO +1 -1
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/pyproject.toml +1 -1
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_space.py +1 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/chat_in_space.py +20 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/README.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/__init__.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_api_requestor.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_api_resource.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_api_version.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_error.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_http_client.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_list_object.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_object_classes.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_request_options.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_unique_object.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_unique_ql.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_unique_response.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_util.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_version.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/_webhook.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/__init__.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_acronyms.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_agentic_table.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_analytics_order.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_benchmarking.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_briefing.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_chat_completion.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_content.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_dynamic_frontend.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_elicitation.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_embedding.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_event.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_folder.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_group.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_integrated.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_llm_models.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_mcp.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_message.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_message_assessment.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_message_execution.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_message_log.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_message_tool.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_module.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_scheduled_task.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_search.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_search_string.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_short_term_memory.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_user.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_web_search.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/__init__.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/__main__.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/cli.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/__init__.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/_citation_manifest.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/agentic_table.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/browser.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/cite_file.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/dynamic_frontend.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/elicitation.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/files.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/folders.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/mcp.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/navigation.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/read.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/scheduled_tasks.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/search.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/subagent.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/web_search.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/web_search_config.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/config.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/formatting.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/identity.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/metadata_filter.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/shell.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-agentic-table/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-dynamic-frontend/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-elicitation/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-file-management/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-mcp/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-scheduled-tasks/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-search/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-subagent/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-uploaded-search/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/skills/unique-cli-web-search/SKILL.md +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/state.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/analytics_order_run.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/benchmarking_run.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/chat_history.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/file_io.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/sources.py +0 -0
- {unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/token.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: unique-sdk
|
|
3
|
-
Version: 2026.32.0.
|
|
3
|
+
Version: 2026.32.0.dev5
|
|
4
4
|
Summary:
|
|
5
5
|
Author: Martin Fadler, Konstantin Krauss, Andreas Hauri
|
|
6
6
|
Author-email: Martin Fadler <martin.fadler@unique.ch>, Konstantin Krauss <konstantin@unique.ch>, Andreas Hauri <andreas@unique.ch>
|
|
@@ -213,6 +213,7 @@ class Space(APIResource["Space"]):
|
|
|
213
213
|
stoppedStreamingAt: str | None
|
|
214
214
|
references: list["Space.Reference"] | None
|
|
215
215
|
assessment: list["Space.Assessment"] | None
|
|
216
|
+
triggeringUserMessageId: NotRequired[str]
|
|
216
217
|
|
|
217
218
|
class DeleteChatResponse(TypedDict):
|
|
218
219
|
"""
|
|
@@ -39,6 +39,7 @@ async def send_message_and_wait_for_completion(
|
|
|
39
39
|
correlation: Space.Correlation | None = None,
|
|
40
40
|
auto_approve_elicitation: bool | None = None,
|
|
41
41
|
on_message_update: Callable[[Space.Message], Awaitable[None]] | None = None,
|
|
42
|
+
wait_for_invocations: bool = False,
|
|
42
43
|
) -> Space.Message:
|
|
43
44
|
"""
|
|
44
45
|
Sends a prompt asynchronously and polls for completion. (until stoppedStreamingAt is not None)
|
|
@@ -68,6 +69,8 @@ async def send_message_and_wait_for_completion(
|
|
|
68
69
|
the assistant run. Use for non-interactive automation where no user is present.
|
|
69
70
|
on_message_update: Optional async callback called whenever the latest assistant
|
|
70
71
|
message changes while waiting for completion.
|
|
72
|
+
wait_for_invocations: When True, briefly wait for the orchestrator's final
|
|
73
|
+
``debugInfo.llm_invocations`` write after the visible response completes.
|
|
71
74
|
|
|
72
75
|
Returns:
|
|
73
76
|
The completed Space.Message.
|
|
@@ -94,7 +97,15 @@ async def send_message_and_wait_for_completion(
|
|
|
94
97
|
message_id = response.get("id")
|
|
95
98
|
|
|
96
99
|
max_attempts = int(max_wait // poll_interval)
|
|
100
|
+
# The final up-to-3 polls spent waiting for `llm_invocations_complete`
|
|
101
|
+
# happen after the stop condition is already met, so they must not eat
|
|
102
|
+
# into the same budget as the wait for the stop condition itself --
|
|
103
|
+
# otherwise a response that completes near the max_wait deadline would
|
|
104
|
+
# spuriously time out while only debugInfo bookkeeping is still pending.
|
|
105
|
+
if wait_for_invocations:
|
|
106
|
+
max_attempts += 3
|
|
97
107
|
last_update_signature: tuple[str | None, str | None] | None = None
|
|
108
|
+
invocation_wait_attempts = 0
|
|
98
109
|
for _ in range(max_attempts):
|
|
99
110
|
answer = await Space.get_latest_message_async(user_id, company_id, chat_id)
|
|
100
111
|
if (
|
|
@@ -121,6 +132,15 @@ async def send_message_and_wait_for_completion(
|
|
|
121
132
|
)
|
|
122
133
|
debug_info = user_message.get("debugInfo")
|
|
123
134
|
answer["debugInfo"] = debug_info
|
|
135
|
+
answer["triggeringUserMessageId"] = message_id
|
|
136
|
+
if (
|
|
137
|
+
wait_for_invocations
|
|
138
|
+
and not (debug_info or {}).get("llm_invocations_complete", False)
|
|
139
|
+
and invocation_wait_attempts < 3
|
|
140
|
+
):
|
|
141
|
+
invocation_wait_attempts += 1
|
|
142
|
+
await asyncio.sleep(poll_interval)
|
|
143
|
+
continue
|
|
124
144
|
except Exception as e:
|
|
125
145
|
print(f"Failed to load debug info from user message: {e}")
|
|
126
146
|
|
|
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
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/__init__.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_acronyms.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_agentic_table.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_analytics_order.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_benchmarking.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_briefing.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_chat_completion.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_content.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_elicitation.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_embedding.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_integrated.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_llm_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_message_log.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_message_tool.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_scheduled_task.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_search_string.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/api_resources/_web_search.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/agentic_table.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/cite_file.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/dynamic_frontend.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/elicitation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/navigation.py
RENAMED
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/scheduled_tasks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/web_search.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/cli/commands/web_search_config.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
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/analytics_order_run.py
RENAMED
|
File without changes
|
{unique_sdk-2026.32.0.dev4 → unique_sdk-2026.32.0.dev5}/unique_sdk/utils/benchmarking_run.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|