libspeech 0.1.1__tar.gz → 0.2.0__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.
- {libspeech-0.1.1 → libspeech-0.2.0}/.github/workflows/wheels.yml +14 -1
- {libspeech-0.1.1 → libspeech-0.2.0}/CMakeLists.txt +20 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/PKG-INFO +1 -1
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/version.h +2 -2
- {libspeech-0.1.1 → libspeech-0.2.0}/pyproject.toml +33 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/version.py +1 -1
- {libspeech-0.1.1 → libspeech-0.2.0}/.clang-format +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/.github/workflows/cmake.yml +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/.github/workflows/orchestrator.yml +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/.gitignore +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/.gitmodules +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/CONTRIBUTING.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/LICENSE +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/README.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/audioflux_issues.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/benchmarks/CMakeLists.txt +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/benchmarks/cpp/CMakeLists.txt +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/benchmarks/cpp/bench_stft.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/checklist.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/cmake/AudioFlux.cmake +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/cmake/Conan.cmake +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/cmake/DynamicVersion.cmake +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/cmake/ONNXRuntime.cmake +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/cmake/PyProject.cmake +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/conanfile.txt +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/conda.recipe/meta.yaml +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/docs/logo/README.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/docs/logo/libspeech-logo-pods.svg +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/docs/logo/libspeech-logo.svg +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/examples/common.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/examples/denoiser_app/controler.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/examples/denoiser_app/main.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/examples/main.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/examples/silero_app/main.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/git-submodule.sh +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/audio.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/dct.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/fft.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/mfcc.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/resample.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/stft.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/dsp/window.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/export.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/base_model.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/denoiser.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/facebook_denoiser.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/onnx_model.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/silero_vad.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/models/speechbrain_denoiser.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/include/libspeech/utils/utils.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/audio.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/about.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/bind_audio.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/bind_dsp.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/bind_io.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/bind_models.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/libspeech/__init__.py +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/libspeech/__main__.py +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/bindings/python/libspeech/core.py +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/dct.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/fft.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/mfcc.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/resample.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/stft.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/dsp/window.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/models/base_model.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/models/denoiser.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/models/facebook_denoiser.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/models/onnx_model.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/models/silero_vad.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/models/speechbrain_denoiser.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/speech_umbrella_placeholder.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/README.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/aixlog/LICENSE +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/aixlog/README.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/aixlog/include/aixlog.hpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/LICENSE.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/README.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/UPSTREAM_PATCHES.md +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/dsp/resample_algorithm.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/flux_base.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/stft_algorithm.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/util/flux_util.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/util/flux_wave.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/vector/flux_complex.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/vector/flux_vector.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/fft_algorithm.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/fft_algorithm.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/filterDesign_fir.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/filterDesign_fir.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/flux_window.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/flux_window.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/resample_algorithm.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/dsp/resample_algorithm.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/flux_base.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/stft_algorithm.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/stft_algorithm.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_util.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_util.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_wave.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/util/flux_wave.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_complex.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_complex.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vector.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vector.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vectorOp.c +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/src/vector/flux_vectorOp.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/src/utils/utils.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/CMakeLists.txt +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_dct.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_fft.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_mfcc.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_resample.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_stft.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/dsp/test_window.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/models/CMakeLists.txt +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/models/test_default_model_cache_dir.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/models/test_denoiser.cpp +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/python/CMakeLists.txt +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/python/test_audio.py +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/python/test_dsp.py +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/python/test_models.py +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/utest/utest.h +0 -0
- {libspeech-0.1.1 → libspeech-0.2.0}/tests/utest/utest_main.cxx +0 -0
|
@@ -86,7 +86,20 @@ jobs:
|
|
|
86
86
|
# ships wheels from cp39-abi3 up on PyPI, not cp38 -- building a
|
|
87
87
|
# cp38 wheel here would require httpp built from source instead.
|
|
88
88
|
CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-*"
|
|
89
|
-
|
|
89
|
+
# Per-Python-version env var overrides (SKBUILD_WHEEL_PY_API=cp312
|
|
90
|
+
# for the cp312 build only, so scikit-build-core tags it as a
|
|
91
|
+
# forward-compatible cp312-abi3 wheel instead of a version-locked
|
|
92
|
+
# cp312-cp312 one -- see the [tool.cibuildwheel.overrides] entry
|
|
93
|
+
# in pyproject.toml for *why* it has to live there instead of
|
|
94
|
+
# here) do NOT work as a "CIBW_<OPTION>_<IDENTIFIER>" env var like
|
|
95
|
+
# CIBW_ENVIRONMENT_CP312: cibuildwheel only recognizes that
|
|
96
|
+
# suffix pattern for CIBW_ENVIRONMENT_{LINUX,MACOS,WINDOWS} (i.e.
|
|
97
|
+
# by platform), not by Python-version identifier -- an env var
|
|
98
|
+
# like that is silently a no-op, not an error, which is exactly
|
|
99
|
+
# how this went unnoticed (confirmed: the wheel actually
|
|
100
|
+
# published to PyPI for 0.1.0 came out tagged cp312-cp312, not
|
|
101
|
+
# cp312-abi3, meaning SKBUILD_WHEEL_PY_API was never really set
|
|
102
|
+
# during that build despite this line being here).
|
|
90
103
|
# Disable building PyPy wheels on all platforms. Also skip
|
|
91
104
|
# musllinux (Alpine/musl has no official ONNX Runtime build --
|
|
92
105
|
# only glibc-linked releases exist, which fail to link against
|
|
@@ -117,6 +117,26 @@ include(ONNXRuntime)
|
|
|
117
117
|
|
|
118
118
|
add_subdirectory(src/third_party/miniaudio)
|
|
119
119
|
|
|
120
|
+
# miniaudio.h uses the C23 double-bracket attribute syntax for its
|
|
121
|
+
# fallthrough marker (MA_FALLTHROUGH -> [[fallthrough]], see miniaudio.h)
|
|
122
|
+
# even in the gnu99 translation unit miniaudio.c compiles as. GCC accepts
|
|
123
|
+
# this quietly under gnu99, but (Apple) Clang's -Wc23-extensions flags it
|
|
124
|
+
# -- three warnings, no errors, harmless either way.
|
|
125
|
+
#
|
|
126
|
+
# This is vendored, upstream code pulled in via a git submodule -- editing
|
|
127
|
+
# miniaudio.h directly isn't an option (the fix would silently vanish on
|
|
128
|
+
# the next `git submodule update`), and a project-wide -Wno-c23-extensions
|
|
129
|
+
# would also mute the same warning if it ever showed up in code we
|
|
130
|
+
# actually own. So silence only this one diagnostic, and only on the one
|
|
131
|
+
# target it's known to come from (confirmed: only miniaudio.c itself hits
|
|
132
|
+
# it, not the extra node .c files below, which don't compile the
|
|
133
|
+
# MA_FALLTHROUGH-containing implementation). Safe to drop once upstream
|
|
134
|
+
# miniaudio switches to __attribute__((fallthrough)) or the project moves
|
|
135
|
+
# to a C standard where the warning no longer applies.
|
|
136
|
+
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
|
137
|
+
target_compile_options(miniaudio PRIVATE -Wno-c23-extensions)
|
|
138
|
+
endif()
|
|
139
|
+
|
|
120
140
|
# ---------------------------------------------------------------------------
|
|
121
141
|
# Model downloading (speech::utils::downloadFile) used to link the SYSTEM
|
|
122
142
|
# libcurl (find_package(CURL REQUIRED) + apt-installed libcurl4-openssl-dev)
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
#define LIBSPEECH_VERSION_H
|
|
16
16
|
|
|
17
17
|
#define LIBSPEECH_VERSION_MAJOR 0
|
|
18
|
-
#define LIBSPEECH_VERSION_MINOR
|
|
19
|
-
#define LIBSPEECH_VERSION_PATCH
|
|
18
|
+
#define LIBSPEECH_VERSION_MINOR 2
|
|
19
|
+
#define LIBSPEECH_VERSION_PATCH 0
|
|
20
20
|
|
|
21
21
|
#define LIBSPEECH_VERSION_STRINGIFY_IMPL(x) #x
|
|
22
22
|
#define LIBSPEECH_VERSION_STRINGIFY(x) LIBSPEECH_VERSION_STRINGIFY_IMPL(x)
|
|
@@ -67,6 +67,39 @@ test-extras = ["test"]
|
|
|
67
67
|
test-skip = ["*universal2:arm64"]
|
|
68
68
|
#build-verbosity = 1
|
|
69
69
|
|
|
70
|
+
[[tool.cibuildwheel.overrides]]
|
|
71
|
+
# Only the cp312 build's nanobind extensions are actually compiled
|
|
72
|
+
# against the Limited API (STABLE_ABI in CMakeLists.txt's
|
|
73
|
+
# nanobind_add_module(... STABLE_ABI ...) calls resolves to
|
|
74
|
+
# Py_LIMITED_API=0x030C0000, i.e. Python 3.12+, confirmed by inspecting
|
|
75
|
+
# an actual local build's compile flags -- nanobind's own STABLE_ABI
|
|
76
|
+
# option is a Python-3.12-floor feature, it silently does nothing on
|
|
77
|
+
# older interpreters per nanobind's own docs, so the cp39/cp310/cp311
|
|
78
|
+
# builds really are ordinary version-locked extensions and must keep
|
|
79
|
+
# their default per-version wheel.py-api, or their wheel's tag would be
|
|
80
|
+
# lying about what's actually inside).
|
|
81
|
+
#
|
|
82
|
+
# So only for cp312 do we want scikit-build-core to tag the wheel
|
|
83
|
+
# cp312-abi3 (forward-compatible with 3.12, 3.13, 3.14, 3.15, ...)
|
|
84
|
+
# instead of the default cp312-cp312 (that one Python version only) --
|
|
85
|
+
# set via SKBUILD_WHEEL_PY_API, which is scikit-build-core's env-var
|
|
86
|
+
# spelling of its `wheel.py-api` config option.
|
|
87
|
+
#
|
|
88
|
+
# This has to be an [[overrides]] table with its own `select`, not a
|
|
89
|
+
# top-level `CIBW_ENVIRONMENT_CP312` env var in wheels.yml: cibuildwheel
|
|
90
|
+
# only recognizes CIBW_ENVIRONMENT_{LINUX,MACOS,WINDOWS} as valid
|
|
91
|
+
# per-selector *environment-variable name* suffixes (i.e. by platform),
|
|
92
|
+
# not arbitrary identifiers like "CP312" -- an env var spelled that way
|
|
93
|
+
# is silently ignored rather than erroring, which is exactly how this
|
|
94
|
+
# was never actually applied to the wheels published for 0.1.0 (all
|
|
95
|
+
# four came out version-locked, cp312 included -- confirmed by
|
|
96
|
+
# inspecting the actual .dist-info/WHEEL of the published wheel).
|
|
97
|
+
# `select` here is cibuildwheel's own, real mechanism for the same
|
|
98
|
+
# per-build-identifier scoping that env var name was trying (and
|
|
99
|
+
# failing) to achieve.
|
|
100
|
+
select = "cp312-*"
|
|
101
|
+
environment = { SKBUILD_WHEEL_PY_API = "cp312" }
|
|
102
|
+
|
|
70
103
|
|
|
71
104
|
#[tool.scikit-build.cmake.define]
|
|
72
105
|
#SOME_DEFINE = "ON"
|
|
@@ -171,7 +171,7 @@ def cmd_tag(args):
|
|
|
171
171
|
new_version = version_str(version)
|
|
172
172
|
tag_name = f"v{new_version}"
|
|
173
173
|
run(["git", "add", str(HEADER_ABS_PATH)])
|
|
174
|
-
run(["git", "commit", "-m", f"Release {new_version}"])
|
|
174
|
+
run(["git", "commit", "-m", f"Release {new_version}", "--allow-empty-message"])
|
|
175
175
|
run(["git", "tag", tag_name])
|
|
176
176
|
print(f"Committed and tagged {tag_name}")
|
|
177
177
|
return
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{libspeech-0.1.1 → libspeech-0.2.0}/src/third_party/audioflux/include/dsp/resample_algorithm.h
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
|