gpjax 0.13.1__tar.gz → 0.13.2__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.
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/pr_greeting.yml +24 -1
- {gpjax-0.13.1 → gpjax-0.13.2}/PKG-INFO +1 -1
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/__init__.py +1 -1
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/computations/basis_functions.py +2 -4
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/CODE_OF_CONDUCT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/ISSUE_TEMPLATE/01_BUG_REPORT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/ISSUE_TEMPLATE/02_FEATURE_REQUEST.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/ISSUE_TEMPLATE/03_CODEBASE_IMPROVEMENT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/ISSUE_TEMPLATE/04_DOCS_IMPROVEMENT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/codecov.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/commitlint.config.js +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/dependabot.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/labeler.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/labels.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/pull_request_template.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/release-drafter.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/auto-label.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/build_docs.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/commit-lint.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/integration.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/release.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/ruff.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/security-analysis.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/test_docs.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.github/workflows/tests.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/.gitignore +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/CITATION.bib +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/LICENSE.txt +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/Makefile +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/README.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/CODE_OF_CONDUCT.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/GOVERNANCE.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/contributing.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/design.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/index.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/index.rst +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/installation.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/javascripts/katex.js +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/refs.bib +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/scripts/gen_examples.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/scripts/gen_pages.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/scripts/notebook_converter.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/scripts/sharp_bits_figure.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/sharp_bits.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/GP.pdf +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/GP.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/bijector_figure.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/css/gpjax_theme.css +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/favicon.ico +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/gpjax.mplstyle +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/gpjax_logo.pdf +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/gpjax_logo.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/jaxkern/lato.ttf +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/jaxkern/logo.png +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/jaxkern/logo.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/jaxkern/main.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/step_size_figure.png +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/static/step_size_figure.svg +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/stylesheets/extra.css +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/docs/stylesheets/permalinks.css +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/backend.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/barycentres/barycentre_gp.gif +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/barycentres.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/classification.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/collapsed_vi.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/constructing_new_kernels.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/data/max_tempeature_switzerland.csv +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/data/yacht_hydrodynamics.data +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/deep_kernels.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/gpjax.mplstyle +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/graph_kernels.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/intro_to_gps/decomposed_mll.png +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/intro_to_gps/generating_process.png +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/intro_to_gps.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/intro_to_kernels.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/likelihoods_guide.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/oceanmodelling.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/poisson.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/regression.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/uncollapsed_vi.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/utils.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/examples/yacht.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/citation.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/dataset.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/distributions.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/fit.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/gps.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/integrators.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/approximations/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/approximations/rff.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/base.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/computations/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/computations/base.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/computations/constant_diagonal.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/computations/dense.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/computations/diagonal.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/computations/eigen.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/non_euclidean/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/non_euclidean/graph.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/non_euclidean/utils.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/nonstationary/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/nonstationary/arccosine.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/nonstationary/linear.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/nonstationary/polynomial.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/base.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/matern12.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/matern32.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/matern52.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/periodic.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/powered_exponential.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/rational_quadratic.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/rbf.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/utils.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/kernels/stationary/white.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/likelihoods.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/linalg/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/linalg/operations.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/linalg/operators.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/linalg/utils.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/mean_functions.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/numpyro_extras.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/objectives.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/parameters.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/scan.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/typing.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/gpjax/variational_families.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/mkdocs.yml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/pyproject.toml +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/static/CONTRIBUTING.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/static/paper.bib +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/static/paper.md +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/static/paper.pdf +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/conftest.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/integration_tests.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_citations.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_dataset.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_fit.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_gaussian_distribution.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_gps.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_imports.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_integrators.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_kernels/__init__.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_kernels/test_approximations.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_kernels/test_base.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_kernels/test_computation.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_kernels/test_non_euclidean.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_kernels/test_nonstationary.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_kernels/test_stationary.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_kernels/test_utils.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_likelihoods.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_linalg.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_markdown.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_mean_functions.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_numpyro_extras.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_objectives.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_parameters.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/tests/test_variational_families.py +0 -0
- {gpjax-0.13.1 → gpjax-0.13.2}/uv.lock +0 -0
|
@@ -14,7 +14,30 @@ jobs:
|
|
|
14
14
|
- uses: actions/first-interaction@v3.1.0
|
|
15
15
|
with:
|
|
16
16
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
17
|
-
|
|
17
|
+
issue_message: |
|
|
18
|
+
Thank you for opening your first issue into GPJax!
|
|
19
|
+
|
|
20
|
+
If you have not heard from us in a while, please feel free to ping
|
|
21
|
+
`@gpjax/developers` or anyone who has commented on the PR.
|
|
22
|
+
Most of our reviewers are volunteers and sometimes things fall
|
|
23
|
+
through the cracks.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
You can also join us [on
|
|
27
|
+
Slack](https://join.slack.com/t/gpjax/shared_invite/zt-1da57pmjn-rdBCVg9kApirEEn2E5Q2Zw) for real-time
|
|
28
|
+
discussion.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
For details on testing, writing docs, and our review process,
|
|
32
|
+
please see [the developer
|
|
33
|
+
guide](https://docs.jaxgaussianprocesses.com/contributing/)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
We strive to be a welcoming and open project. Please follow our
|
|
37
|
+
[Code of
|
|
38
|
+
Conduct](https://github.com/JaxGaussianProcesses/GPJax/blob/main/.github/CODE_OF_CONDUCT.md).
|
|
39
|
+
|
|
40
|
+
pr_message: |
|
|
18
41
|
Thank you for opening your first PR into GPJax!
|
|
19
42
|
|
|
20
43
|
|
|
@@ -40,7 +40,7 @@ __license__ = "MIT"
|
|
|
40
40
|
__description__ = "Gaussian processes in JAX and Flax"
|
|
41
41
|
__url__ = "https://github.com/JaxGaussianProcesses/GPJax"
|
|
42
42
|
__contributors__ = "https://github.com/JaxGaussianProcesses/GPJax/graphs/contributors"
|
|
43
|
-
__version__ = "0.13.
|
|
43
|
+
__version__ = "0.13.2"
|
|
44
44
|
|
|
45
45
|
__all__ = [
|
|
46
46
|
"gps",
|
|
@@ -6,9 +6,7 @@ from jaxtyping import Float
|
|
|
6
6
|
import gpjax
|
|
7
7
|
from gpjax.kernels.computations.base import AbstractKernelComputation
|
|
8
8
|
from gpjax.linalg import (
|
|
9
|
-
Dense,
|
|
10
9
|
Diagonal,
|
|
11
|
-
psd,
|
|
12
10
|
)
|
|
13
11
|
from gpjax.typing import Array
|
|
14
12
|
|
|
@@ -27,9 +25,9 @@ class BasisFunctionComputation(AbstractKernelComputation):
|
|
|
27
25
|
z2 = self.compute_features(kernel, y)
|
|
28
26
|
return self.scaling(kernel) * jnp.matmul(z1, z2.T)
|
|
29
27
|
|
|
30
|
-
def _gram(self, kernel: K, inputs: Float[Array, "N D"]) ->
|
|
28
|
+
def _gram(self, kernel: K, inputs: Float[Array, "N D"]) -> Float[Array, "N N"]:
|
|
31
29
|
z1 = self.compute_features(kernel, inputs)
|
|
32
|
-
return
|
|
30
|
+
return self.scaling(kernel) * jnp.matmul(z1, z1.T)
|
|
33
31
|
|
|
34
32
|
def diagonal(self, kernel: K, inputs: Float[Array, "N D"]) -> Diagonal:
|
|
35
33
|
r"""For a given kernel, compute the elementwise diagonal of the
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|