flet-cli 1.1.0.dev0__tar.gz → 1.1.0.dev1__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.
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/PKG-INFO +3 -3
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/pyproject.toml +3 -3
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/python_versions.py +1 -1
- flet_cli-1.1.0.dev1/src/flet_cli/version.py +1 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli.egg-info/PKG-INFO +3 -3
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli.egg-info/requires.txt +2 -2
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_template.py +61 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_run_assets_dir.py +11 -2
- flet_cli-1.1.0.dev0/src/flet_cli/version.py +0 -1
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/README.md +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/setup.cfg +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/__pyinstaller/__init__.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/__pyinstaller/config.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/__pyinstaller/hook-flet.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/__pyinstaller/macos_utils.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/__pyinstaller/rthooks.dat +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/__pyinstaller/utils.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/__pyinstaller/win_utils.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/cli.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/base.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/build.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/build_base.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/clean.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/create.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/debug.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/devices.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/doctor.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/emulators.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/flutter_base.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/mcp.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/options.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/pack.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/publish.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/run.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/serve.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/test.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/commands/test_host.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/android.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/android_sdk.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/app_excludes.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/cli.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/distros.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/flutter.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/hash_stamp.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/ios_sign.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/jdk.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/linux_deps.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/log_format.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/macos_sign.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/merge.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/plist.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/processes.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/project_dependencies.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/pyodide.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/pyproject_toml.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli/utils/template_cache.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli.egg-info/SOURCES.txt +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli.egg-info/dependency_links.txt +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli.egg-info/entry_points.txt +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/src/flet_cli.egg-info/top_level.txt +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_app_excludes.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_app_path.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_copy_output.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_icons.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_ios.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_linux.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_list_options.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_macos_signing.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_platform_settings.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_splash.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_svg.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_version.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_build_windows_arm64.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_clean.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_cli_pass_through_args.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_cli_positionals.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_create.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_find_platform_image.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_flutter.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_log_format.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_macos_sign.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_plist.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_project_dependencies.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_python_versions.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_run_desktop_dependency.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_run_script_args.py +0 -0
- {flet_cli-1.1.0.dev0 → flet_cli-1.1.0.dev1}/tests/test_run_watcher_unavailable.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flet-cli
|
|
3
|
-
Version: 1.1.0.
|
|
3
|
+
Version: 1.1.0.dev1
|
|
4
4
|
Summary: Flet CLI
|
|
5
5
|
Author-email: "Appveyor Systems Inc." <hello@flet.dev>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -9,8 +9,8 @@ Project-URL: Repository, https://github.com/flet-dev/flet
|
|
|
9
9
|
Project-URL: Documentation, https://flet.dev/docs
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
|
-
Requires-Dist: flet==1.1.0.
|
|
13
|
-
Requires-Dist: flet-platform-assets==1.1.0.
|
|
12
|
+
Requires-Dist: flet==1.1.0.dev1
|
|
13
|
+
Requires-Dist: flet-platform-assets==1.1.0.dev1
|
|
14
14
|
Requires-Dist: watchdog>=4.0.0
|
|
15
15
|
Requires-Dist: packaging>=25.0
|
|
16
16
|
Requires-Dist: qrcode>=7.4.2
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "flet-cli"
|
|
3
|
-
version = "1.1.0.
|
|
3
|
+
version = "1.1.0.dev1"
|
|
4
4
|
description = "Flet CLI"
|
|
5
5
|
authors = [{ name = "Appveyor Systems Inc.", email = "hello@flet.dev" }]
|
|
6
6
|
license = "Apache-2.0"
|
|
7
7
|
readme = "README.md"
|
|
8
8
|
requires-python = ">=3.10"
|
|
9
9
|
dependencies = [
|
|
10
|
-
"flet==1.1.0.
|
|
11
|
-
"flet-platform-assets==1.1.0.
|
|
10
|
+
"flet==1.1.0.dev1",
|
|
11
|
+
"flet-platform-assets==1.1.0.dev1",
|
|
12
12
|
"watchdog >=4.0.0",
|
|
13
13
|
"packaging >=25.0",
|
|
14
14
|
"qrcode >=7.4.2",
|
|
@@ -28,7 +28,7 @@ from flet_cli.utils.template_cache import get_cache_root
|
|
|
28
28
|
# python-build release this flet pins. Keep in sync with serious_python's
|
|
29
29
|
# `pythonReleaseDate` (lib/src/python_versions.dart) — both should track the
|
|
30
30
|
# same python-build release.
|
|
31
|
-
PYTHON_BUILD_RELEASE_DATE = "
|
|
31
|
+
PYTHON_BUILD_RELEASE_DATE = "20261016"
|
|
32
32
|
|
|
33
33
|
RELEASE_DATE_ENV = "FLET_PYTHON_BUILD_RELEASE_DATE"
|
|
34
34
|
MANIFEST_PATH_ENV = "FLET_PYTHON_BUILD_MANIFEST"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "1.1.0.dev1"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: flet-cli
|
|
3
|
-
Version: 1.1.0.
|
|
3
|
+
Version: 1.1.0.dev1
|
|
4
4
|
Summary: Flet CLI
|
|
5
5
|
Author-email: "Appveyor Systems Inc." <hello@flet.dev>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -9,8 +9,8 @@ Project-URL: Repository, https://github.com/flet-dev/flet
|
|
|
9
9
|
Project-URL: Documentation, https://flet.dev/docs
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
|
-
Requires-Dist: flet==1.1.0.
|
|
13
|
-
Requires-Dist: flet-platform-assets==1.1.0.
|
|
12
|
+
Requires-Dist: flet==1.1.0.dev1
|
|
13
|
+
Requires-Dist: flet-platform-assets==1.1.0.dev1
|
|
14
14
|
Requires-Dist: watchdog>=4.0.0
|
|
15
15
|
Requires-Dist: packaging>=25.0
|
|
16
16
|
Requires-Dist: qrcode>=7.4.2
|
|
@@ -11,6 +11,7 @@ import yaml
|
|
|
11
11
|
from jinja2 import Environment, StrictUndefined
|
|
12
12
|
|
|
13
13
|
from flet_cli.commands.build_base import BaseBuildCommand
|
|
14
|
+
from flet_cli.utils.pyproject_toml import load_pyproject_toml
|
|
14
15
|
|
|
15
16
|
BUILD_TEMPLATE_DIR = (
|
|
16
17
|
Path(__file__).resolve().parents[3]
|
|
@@ -37,6 +38,66 @@ def _render_template(path: Path, **context: Any) -> str:
|
|
|
37
38
|
return env.from_string(path.read_text()).render(cookiecutter=context)
|
|
38
39
|
|
|
39
40
|
|
|
41
|
+
@pytest.mark.parametrize(
|
|
42
|
+
("template", "platform"),
|
|
43
|
+
[
|
|
44
|
+
("lib/flet_generated.dart", "windows"),
|
|
45
|
+
("lib/flet_generated.dart", "macos"),
|
|
46
|
+
("lib/flet_generated.dart", "linux"),
|
|
47
|
+
("windows/runner/flutter_window.cpp", "windows"),
|
|
48
|
+
],
|
|
49
|
+
)
|
|
50
|
+
@pytest.mark.parametrize(
|
|
51
|
+
("global_value", "platform_value", "expected"),
|
|
52
|
+
[
|
|
53
|
+
(None, None, False),
|
|
54
|
+
(True, None, True),
|
|
55
|
+
(False, None, False),
|
|
56
|
+
(True, False, False),
|
|
57
|
+
(False, True, True),
|
|
58
|
+
(None, True, True),
|
|
59
|
+
(None, False, False),
|
|
60
|
+
],
|
|
61
|
+
)
|
|
62
|
+
def test_hide_window_on_start_precedence(
|
|
63
|
+
tmp_path, template, platform, global_value, platform_value, expected
|
|
64
|
+
):
|
|
65
|
+
"""An explicit platform false keeps the generated window visible."""
|
|
66
|
+
settings = {
|
|
67
|
+
"tool.flet.app": global_value,
|
|
68
|
+
f"tool.flet.{platform}.app": platform_value,
|
|
69
|
+
}
|
|
70
|
+
(tmp_path / "pyproject.toml").write_text(
|
|
71
|
+
"\n".join(
|
|
72
|
+
f"[{table}]\nhide_window_on_start = {str(value).lower()}\n"
|
|
73
|
+
for table, value in settings.items()
|
|
74
|
+
if value is not None
|
|
75
|
+
),
|
|
76
|
+
encoding="utf-8",
|
|
77
|
+
)
|
|
78
|
+
rendered = (
|
|
79
|
+
Environment(undefined=StrictUndefined)
|
|
80
|
+
.from_string((BUILD_TEMPLATE_DIR / template).read_text())
|
|
81
|
+
.render(
|
|
82
|
+
get_pyproject=load_pyproject_toml(tmp_path),
|
|
83
|
+
cookiecutter={
|
|
84
|
+
"options": {"config_platform": platform},
|
|
85
|
+
"flutter": {"dependencies": []},
|
|
86
|
+
"python_module_name": "main",
|
|
87
|
+
"boot_screen": {"name": "flet", "options_b64": "e30="},
|
|
88
|
+
},
|
|
89
|
+
)
|
|
90
|
+
)
|
|
91
|
+
pattern = (
|
|
92
|
+
r'bool.tryParse\("([^"]+)"'
|
|
93
|
+
if template.endswith(".dart")
|
|
94
|
+
else r"const bool hide_window_on_start =\s+(true|false)"
|
|
95
|
+
)
|
|
96
|
+
match = re.search(pattern, rendered)
|
|
97
|
+
assert match is not None
|
|
98
|
+
assert (match.group(1).lower() == "true") is expected
|
|
99
|
+
|
|
100
|
+
|
|
40
101
|
class TestBuildTemplateContract:
|
|
41
102
|
"""
|
|
42
103
|
Invariants of the build template itself, independent of any platform.
|
|
@@ -320,7 +320,8 @@ class TestTheWindowUsesTheAppsAssetsDir:
|
|
|
320
320
|
assert DISPLAY_ASSETS_DIR_SUFFIX not in printed
|
|
321
321
|
|
|
322
322
|
|
|
323
|
-
|
|
323
|
+
@pytest.mark.parametrize("force_web_server", [False, True], ids=["socket", "web"])
|
|
324
|
+
def test_app_reports_its_assets_dir_before_the_url(tmp_path, force_web_server):
|
|
324
325
|
"""A real app started with a URL prefix prints its resolved assets dir first."""
|
|
325
326
|
assets = tmp_path / "my images é"
|
|
326
327
|
assets.mkdir()
|
|
@@ -333,6 +334,9 @@ def test_app_reports_its_assets_dir_before_the_url(tmp_path):
|
|
|
333
334
|
**os.environ,
|
|
334
335
|
"FLET_DISPLAY_URL_PREFIX": "PAGE_URL_TEST",
|
|
335
336
|
"FLET_SERVER_PORT": str(get_free_tcp_port()),
|
|
337
|
+
"FLET_FORCE_WEB_SERVER": str(force_web_server).lower(),
|
|
338
|
+
# Keep headless Linux from selecting web mode for the socket case.
|
|
339
|
+
"DISPLAY": "test",
|
|
336
340
|
"PYTHONIOENCODING": "utf-8",
|
|
337
341
|
}
|
|
338
342
|
env.pop("FLET_ASSETS_DIR", None)
|
|
@@ -341,7 +345,7 @@ def test_app_reports_its_assets_dir_before_the_url(tmp_path):
|
|
|
341
345
|
cwd=tmp_path,
|
|
342
346
|
env=env,
|
|
343
347
|
stdout=subprocess.PIPE,
|
|
344
|
-
stderr=subprocess.
|
|
348
|
+
stderr=subprocess.STDOUT,
|
|
345
349
|
encoding="utf-8",
|
|
346
350
|
)
|
|
347
351
|
lines = []
|
|
@@ -359,7 +363,12 @@ def test_app_reports_its_assets_dir_before_the_url(tmp_path):
|
|
|
359
363
|
finally:
|
|
360
364
|
p.kill()
|
|
361
365
|
p.wait()
|
|
366
|
+
reader.join()
|
|
367
|
+
p.stdout.close()
|
|
362
368
|
prefixed = [line for line in lines if line.startswith("PAGE_URL_TEST")]
|
|
369
|
+
assert len(prefixed) == 2, (
|
|
370
|
+
"App did not report its assets dir and URL:\n" + "\n".join(lines)
|
|
371
|
+
)
|
|
363
372
|
assert prefixed[0] == (
|
|
364
373
|
f"PAGE_URL_TEST{DISPLAY_ASSETS_DIR_SUFFIX} {assets.resolve()}"
|
|
365
374
|
)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "1.1.0.dev0"
|
|
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
|