jaxsim 0.5.1.dev12__tar.gz → 0.5.1.dev17__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.
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/PKG-INFO +1 -1
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/pyproject.toml +3 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/_version.py +2 -2
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/relaxed_rigid.py +2 -2
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/PKG-INFO +1 -1
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/conftest.py +49 -1
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.devcontainer/Dockerfile +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.devcontainer/devcontainer.json +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.gitattributes +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/CODEOWNERS +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/dependabot.yml +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/workflows/ci_cd.yml +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/workflows/pixi.yml +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.github/workflows/read_the_docs.yml +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.gitignore +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.pre-commit-config.yaml +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/.readthedocs.yaml +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/CONTRIBUTING.md +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/LICENSE +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/README.md +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/Makefile +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/conf.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/examples.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/guide/install.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/index.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/make.bat +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/api.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/integrators.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/math.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/mujoco.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/parsers.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/rbda.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/typing.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/docs/modules/utils.rst +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/environment.yml +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/.gitattributes +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/.gitignore +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/README.md +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/assets/build_cartpole_urdf.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/assets/cartpole.urdf +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/jaxsim_as_physics_engine.ipynb +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/pixi.lock +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/setup.cfg +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/setup.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/com.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/common.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/contact.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/data.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/frame.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/joint.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/link.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/model.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/ode.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/ode_data.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/api/references.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/exceptions.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/integrators/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/integrators/common.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/integrators/fixed_step.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/integrators/variable_step.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/logging.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/adjoint.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/cross.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/inertia.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/joint_model.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/quaternion.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/rotation.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/skew.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/math/transform.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/__main__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/loaders.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/model.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/utils.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/mujoco/visualizer.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/collision.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/joint.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/link.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/descriptions/model.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/kinematic_graph.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/rod/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/rod/meshes.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/rod/parser.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/parsers/rod/utils.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/aba.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/collidable_points.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/common.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/rigid.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/soft.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/crba.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/forward_kinematics.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/jacobian.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/rnea.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/rbda/utils.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/terrain/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/terrain/terrain.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/typing.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/utils/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/utils/tracing.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim/utils/wrappers.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/SOURCES.txt +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/dependency_links.txt +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/requires.txt +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/src/jaxsim.egg-info/top_level.txt +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/__init__.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_com.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_contact.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_data.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_frame.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_joint.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_link.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_api_model.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_automatic_differentiation.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_contact.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_exceptions.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_meshes.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_pytree.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/test_simulations.py +0 -0
- {jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/tests/utils_idyntree.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: jaxsim
|
3
|
-
Version: 0.5.1.
|
3
|
+
Version: 0.5.1.dev17
|
4
4
|
Summary: A differentiable physics engine and multibody dynamics library for control and robot learning.
|
5
5
|
Author-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippoluca.ferretti@outlook.com>
|
6
6
|
Maintainer-email: Filippo Luca Ferretti <filippo.ferretti@iit.it>, Alessandro Croci <alessandro.croci@iit.it>
|
@@ -268,3 +268,6 @@ cuda-version = "12.*"
|
|
268
268
|
# Pinning a specific version awaiting the following to get addressed:
|
269
269
|
# https://github.com/conda-forge/jaxlib-feedstock/issues/285
|
270
270
|
jaxlib = { version = "<0.4.31", build = "*cuda*" }
|
271
|
+
|
272
|
+
[tool.pixi.feature.gpu.tasks]
|
273
|
+
gpu-tests = { cmd = "pytest --gpu-only", depends_on = ["pipcheck"] }
|
@@ -12,5 +12,5 @@ __version__: str
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
13
13
|
version_tuple: VERSION_TUPLE
|
14
14
|
|
15
|
-
__version__ = version = '0.5.1.
|
16
|
-
__version_tuple__ = version_tuple = (0, 5, 1, '
|
15
|
+
__version__ = version = '0.5.1.dev17'
|
16
|
+
__version_tuple__ = version_tuple = (0, 5, 1, 'dev17')
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: jaxsim
|
3
|
-
Version: 0.5.1.
|
3
|
+
Version: 0.5.1.dev17
|
4
4
|
Summary: A differentiable physics engine and multibody dynamics library for control and robot learning.
|
5
5
|
Author-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippoluca.ferretti@outlook.com>
|
6
6
|
Maintainer-email: Filippo Luca Ferretti <filippo.ferretti@iit.it>, Alessandro Croci <alessandro.croci@iit.it>
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import os
|
2
2
|
import pathlib
|
3
|
+
import subprocess
|
3
4
|
|
4
5
|
import jax
|
5
6
|
import pytest
|
@@ -11,7 +12,45 @@ import jaxsim
|
|
11
12
|
import jaxsim.api as js
|
12
13
|
|
13
14
|
|
14
|
-
def
|
15
|
+
def pytest_addoption(parser):
|
16
|
+
parser.addoption(
|
17
|
+
"--gpu-only",
|
18
|
+
action="store_true",
|
19
|
+
default=False,
|
20
|
+
help="Run tests only if GPU is available and utilized",
|
21
|
+
)
|
22
|
+
|
23
|
+
|
24
|
+
def check_gpu_usage():
|
25
|
+
# Set environment variable to prioritize GPU.
|
26
|
+
os.environ["JAX_PLATFORM_NAME"] = "gpu"
|
27
|
+
|
28
|
+
# Run a simple JAX operation
|
29
|
+
x = jax.device_put(jax.numpy.ones((512, 512)))
|
30
|
+
y = jax.device_put(jax.numpy.ones((512, 512)))
|
31
|
+
_ = jax.numpy.dot(x, y).block_until_ready()
|
32
|
+
|
33
|
+
# Check GPU memory usage with nvidia-smi.
|
34
|
+
result = subprocess.run(
|
35
|
+
["nvidia-smi", "--query-gpu=memory.used", "--format=csv,noheader"],
|
36
|
+
capture_output=True,
|
37
|
+
text=True,
|
38
|
+
)
|
39
|
+
if result.returncode != 0:
|
40
|
+
pytest.exit(
|
41
|
+
"Failed to query GPU usage. Ensure nvidia-smi is installed and accessible."
|
42
|
+
)
|
43
|
+
|
44
|
+
gpu_memory_usage = [
|
45
|
+
int(line.strip().split()[0]) for line in result.stdout.splitlines()
|
46
|
+
]
|
47
|
+
if all(usage == 0 for usage in gpu_memory_usage):
|
48
|
+
pytest.exit(
|
49
|
+
"GPU is available but not utilized during computations. Check your JAX installation."
|
50
|
+
)
|
51
|
+
|
52
|
+
|
53
|
+
def pytest_configure(config) -> None:
|
15
54
|
"""Pytest configuration hook."""
|
16
55
|
|
17
56
|
# This is a global variable that is updated by the `prng_key` fixture.
|
@@ -19,6 +58,15 @@ def pytest_configure() -> None:
|
|
19
58
|
seed=int(os.environ.get("JAXSIM_TEST_SEED", 0))
|
20
59
|
)
|
21
60
|
|
61
|
+
# Check if GPU is available and utilized.
|
62
|
+
if config.getoption("--gpu-only"):
|
63
|
+
devices = jax.devices()
|
64
|
+
if not any(device.platform == "gpu" for device in devices):
|
65
|
+
pytest.exit("No GPU devices found. Check your JAX installation.")
|
66
|
+
|
67
|
+
# Ensure GPU is being used during computation
|
68
|
+
check_gpu_usage()
|
69
|
+
|
22
70
|
|
23
71
|
# ================
|
24
72
|
# Generic fixtures
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jaxsim-0.5.1.dev12 → jaxsim-0.5.1.dev17}/examples/jaxsim_as_multibody_dynamics_library.ipynb
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|