Skip to content

Commit

Permalink
Squashed 'src/c-blosc2/' changes from 72a17720f..10a16dc18
Browse files Browse the repository at this point in the history
f344bb7c3 Getting ready for release 2.9.2
0a292210a Fix GCC compiler warning
b6fbd00a2 Fix a compiler warning
1bbd9278a When re-registering a plugin do not do further actions
21adb4985 Do not return an error when registering a plugin with the same id/name
65a1a3034 Use plugin_module.print_libpath() as the way to get the libpath
d24a03e7b tune plugins are now named tuners
56c1f541e Fix windows
e8f85191e Add crossplatform dlerror
d020bc168 Init tune each time cctx is created
3209b306e Improve detection of plugin locations
d5a5b92af call stune blocksize
cbe53d92c Fix some more warnings
ca60217e4 Check the return value fgets()
07efcf511 Stop supporting ancient versions of Visual Studio
eddd96544 Fix for the ZLIB_NG_INCLUDE_DIR variable  Fixes #497.
9cc60eb03 BLOSC2_IO_CB_DEFAULTS moved to blosc2.c.  Fixes #484.
a7019e2af Silence unused codec_info typedef warning
c9be81c30 Fix an issue with uncompressible data and lazy_chunks
b66e38e97 g_tune moved to blosc2.c.  Addresses #484
78fafb979 Fix linking with static -DBUILD_STATIC=0.  Fixes #480.
84c11d3a1 Fix GCC warning: ignoring return value of fgets C
8f602184c Fix a fuzzer issue.  Now, compress ret code can be negative too.
f2873a8e0 Remove SNAPPY license and add ZSTD one.  Fixes #495.
6c040285d Initialize blosc2 early
c4f28daf2 Use "top-down" header file inclusion ordering
ed5e5ff69 Merge branch 'DimitriPapadopoulos-size_t'
9b34ba114 Merge branch 'main' into size_t
849ed7cbe Define and use the ARRAY_SIZE macro in tests
805224d17 Consistent indention of structs
78d39789d free() string after, not before printing it
04035a375 BLOSC_STUNE is not defined in c-blosc
f203d2f63 The size passed by the fuzzer is size_t, not int32_t
c51d050df Activate PIC for static library too
5178ea860 Post 2.9.1 release actions done
4e78fbb9d Getting ready for release 2.9.1
2a0b89bce Add BTUNE_BALANCE support
a1907bb2a Post 2.9.0 release actions done
4a12603f7 Getting ready for release 2.9.0
3c512b299 Get rid of the (undocumented) BLOSC_WARN envvar
e1d20fd82 Add minor changes
28665a368 Remove stale lines
fb6237c57 Rename btune to tune
9e5626d24 Add properly btune registry
f6a701f52 Support diferent btunes
c4433cd46 Remove htj2k
944e7ef1f Rename j2k id macro
01a9532c9 Change openhtj2k name
328c88f9c Add load library to plugins-utils.h
4d991a894 Add htj2k as plugin
00df585ff Making load_lib() to look for .dylib files to
1cc73eca5 Use info struct for getting function names
00576bfd0 Rename filter functions to forward & backward
fe3550b86 Add bydelta name
3ac1de744 Add blosc2_* to plugins signatures
01808c5bf Fix windows issue II
809011909 Fix windows issue
56c3a65d0 Add support for dynplugins
7e06821a2 Add name & version to filter struct
7b1ce3ae6 Blosc Development team → Team
02a2f6a42 Standardise copyright/licence header
461478bde Blosc Developers → Development team
f90524db8 fprintf(stderr) ↔ BLOSC_TRACE_ERROR()
4a2c844db Consistent indentation
70e4490b0 Consistent license and copyright
3a1eeb23d Variant for the © symbol: (C) → (c)
bb7eff539 Allow more speed in BloscLZ clevel 1
09b4e461d No need to support Python 2 any more
f7b1605b8 Zstd updated to latest 1.5.5
0aa01c655 Fix link
79fb8a974 Undo previous commit on _xgetbv (failing on MSVC)
b20fd7400 Fix a compiler warning
c2ddfea9f Always use assembly for _xgetbv on GCC/Clang (see Blosc/c-blosc#362)
e404e5ff3 Some cleanup in errors and error traces
9ba7d20e4 Removing a test because it used an invalid dataset
582ae3bc0 Undoing mistaken changes
765181d42 Advised changes
577431b86 Remove ZFP test because that dataset has blocks smaller than cells
99e399ebe Disable filters when using ZFP, use macros for plugins tests and making blocks bigger than cells for example_item_prices.b2nd
f595beee8 Post 2.8.0 release actions done
8de035e51 Getting ready for release 2.8.0
9f126cc43 Fusion htab buffer
b04deb3c8 More micro-optimizations for BloscLZ
218ff0e22 Update to zlib-ng 2.0.7
5d36b14b7 Do a full 14-bit hash even in entropy probe mode
20a5c2cd1 Check return pointer during open operations
3c234b099 Minor compression ratio improvements in BloscLZ codec
6ffb7f629 Fix invalid conversion from void*
1eb6e607f Fix some compiler warnings
718f41548 Fix indents
d29259e29 Moved some functions necessary for plugins to blosc2.h and b2nd.h
76c5b3a4d Remove prints in ndlz
237f3e799 Missed removing a couple of printouts in prev commit
a19be5481 Some cleanup of lossy filters and codecs
e6efc097d Update API for (unused) func
bbcc3c4e9 Always use blosc2_init/blosc2_destroy in programs
033c55307 Initiallize blosc2_io_cb in runtime
64f76c0dc Re-enable Windows GCC again (fingers crossed)
50e8d1c3e Bytedelta: enable SSE codepath for 32-bit Intel, use non-SIMD fallback for non-SSE/NEON platforms
bf2363392 Updated script for downloading data
85d3d4f8c Remove (commented out) SSE4.2 flag from Win
7f187c9aa Relax SIMD dependency to SSSE3 and remove it from Win
99b749e6d Use names wich are more C99 like
f7d622c6f Fixing compile issues on MSVC
d63a82f85 Pass sse4.2 flags to compilers
2a1a3bde2 Preliminary version of the new bytedelta filter
f95bf2ea5 Some cleanup in plugins
bc9627ffd Add codec and filter params to cparams
cf6300097 Make doc references using the full URL
022665719 b2nd: Use const where possible.
e0910383c Optimise PNG compression
f6a9a0f54 Use a reference to the section
cbd7e2de6 Make images a bit smaller
42c88c45b Add the video on pineapple-style slicing
a3bf05915 Added the video on double partitioning
33cc204df Replaced local images by URL
df3c20fd4 Add the reference to the b2nd blog on release notes
f7ca0762b Post 2.7.1 release actions done
68841cc38 Getting ready for release 2.7.1
422548f03 Date updated
2dbff4883 Add references to the new blog on NDim
819fdc043 Ninja should be not necessary anymore
097754571 Getting ready for release 2.7.0
317537399 Updated README for new b2nd (more info on b2nd)
a9d15a1ab Updated README for new b2nd
829a4da9e Commenting out GCC on Win
aeb122fcb Improve some docstrings
312c75eba Test file renaming
878f8d5cc Some syntax changes
94d2f00a5 Added test_b2nd_frame_offset
475f47b88 Added function b2nd_open_offset()
318343e66 Fix docs on b2nd layer
945aef15b Be more explicit on dtype interpretation
9767c987d zstd sources updated to 1.5.4
d9a3e482b export more schunk API
2954de300 Remove unneeded if
ca9d7c6f4 Fix issue related with b2nd metalayer
d0b73f861 Fix deserialize meta
439d9048b Always copy dtype and free it
43d798459 Try removing mask
f7beca08e Fix for the number of fields in b2nd metalayer
6de418918 Fix malloc size and typo
8123f7ea5 Add a dtype format in the b2nd metalayer
b9579fbfc Docstrings for orthogonal selections (set/get)
e7b610941 Docstring for the new dtype arg
323e0b097 The convention for storing dtype is str()
e347c44e8 Fix a leak in examples
1e65a17e9 New mandatory (numpy) dtype for b2nd layer
a03fadfb3 Fix typo found by codespell
83d00f231 offset is already an int64_t array, so do not cast
66ae0a481 Avoid duplicate license file
58d05a820 Fix link to python-blosc
bfd650f00 Indent file
cb21c6959 Document that support for Snappy codec has been removed
60c102393 Canonical landing page for LZ4
6644b8877 Do not treat LZ4 differently than BloscLZ
b5a45745f Mute an unused var warning
4489a0836 Reformat b2nd files from 4 spaces indents to 2
f5fad7e26 Merge branch 'merge-caterva' of github.com:Blosc/c-blosc2 into merge-caterva
5a3a6f66e Fix a uninitialized issue
665592e38 Merge branch 'merge-caterva' of https://github.com/Blosc/c-blosc2 into merge-caterva
f24f6b9ee Working on Win bug 3
8ff8d00dd Be able to read frames with caterva metalayers
517dd1fd2 Working on Win bug 2
510df9394 Working on Win bug
62696b2aa Trying to fix Win bug
019118e3d fixing silly bug
22b900bf7 Most plugins frames now are generated during testing process instead of storing the data permanently
2e813b0c5 More small touches on b2nd API docs
b727d1508 Change to 2 space ident
e751187b2 Some naming refactoring (continue)
0a6fb43eb Some naming refactoring
cbd6a7c15 Added Blosc2 NDim API to documentation
91891a3f6 Document a method for printing metalayers from command line
e0c3f9d41 add BLOSC_EXPORT to make public b2nd functions and make b2nd_context opaque
eb5849394 Remove empty space
c72ed9ef2 Merge branch 'merge_caterva2' of github.com:Blosc/c-blosc2 into merge_caterva2
a4bb72606 Add the b2nd metalayer spec
4a7ce3384 Add BLOSC_ERROR usage
3304bcd07 Replace some data files with caterva metalayer by b2nd
b6e2e566d Replace .caterva extension by .b2nd
24e02706c fixing refactoring mistake
f2aab5010 caterva --> b2nd
be30e1be6 Some small typos and enhancements
e8474c157 Return error if problem with malloc
d571f3f30 Fix a warning (unused variable)
8b473c8b3 Fix bug
230ef6c91 Fusion blosc and caterva error macros
dc1cae176 Remove context from array structure
86d67cca4 Change caterva_free signature
ca17c0477 Remove unused test_data
14f8cabab Merging changes for this new API iteration
b3786cca1 End of the changes for this new API iteration
bcb1b9267 fixing warnings about types and defined but not used parameters
697d9537a adding caterva array frees in benchmarks and examples
71fb55721 Start a new API change
d30aa8087 solving some warnings about types and urfilters parameters
e86541c24 Fix a silly bug
e67eb5d45 Do not require b2_storage or cparams to be filled
6789e6e6d Make example run in less time
2e4751dee Fix not allowed empty struct on win
4dc214296 WIP. Remove ctx in some functions
0d0690736 Reformat code. Join caterva_storage into caterva_params
e8f4fd016 Add caterva examples in the tests suite
5baa586da Fix examples
9fbe10ed0 Remove an unused variable
5b230085b filling correctly caterva tests data field and replacing long expressions for typesize assignments
52fcbe87e fixing caterva tests errors
6c97ddcbf WIP. Add blosc2_storage to caterva_storage
6671512f1 Add forgotten blosc2_context_free
8a69edb8d caterva_config_t --> blosc2_cparams caterva_ctx --> blosc2_context
1ae637122 Fix for qemu-aarch64 in CI
b1149394a Use blosc2_remove and blosc2*meta* functions
66b5cb289 Remove free and alloc, uniform some param names
21621cde5 Enable threading in caterva tests
9570bf7c0 Disable threading in caterva tests
35db0f694 Make tests run in less time
3a1cd3c75 Attempt to make disk operations to work on mingw32
fc08d1ffc Make test run faster
8c5033590 Fix some issues with non-compulsory ZSTD
6548d1680 Updated copyright to all caterva sources
1081c5b2c Relocate swap_store and protection for plugins examples
20dfceb78 Merge branch 'caterva' of https://github.com/jdavid/c-blosc2 into merge-caterva
f7f92cb55 Fix typos found by codespell
ac8be1af1 Update to the latest FastLZ license
6c43e58cc Update to the latest zlib(-ng) license
ffbe0dd22 Update to the latest LZ4 library license
260aa67b4 http:// → https://
bf641bedb Fix build with clang
72575da0d Fix compilation on x86_64: revert commit 89f9335
339409412 Set optimisation flags when building shuffle.c
a4fdb994a Fixing CI (wip)
b4d57c6c5 Merge caterva
e204359a2 Link to new Blosc intro video
2a18ffb98 Remove unsupported win32 platform
136930229 Post 2.6.1 release actions done

git-subtree-dir: src/c-blosc2
git-subtree-split: 10a16dc18890c3ca6653016be409c5b2d3bb1e7a
  • Loading branch information
t20100 committed May 31, 2023
1 parent 1c7d194 commit a9befe7
Show file tree
Hide file tree
Showing 593 changed files with 23,163 additions and 13,082 deletions.
12 changes: 4 additions & 8 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,6 @@ jobs:
compiler: clang
cmake-args: -D DEACTIVATE_ZSTD=ON

- name: Windows MSVC Win32
os: windows-latest
compiler: cl
cmake-args: -A Win32

- name: Windows MSVC Win64
os: windows-latest
compiler: cl
Expand Down Expand Up @@ -118,9 +113,10 @@ jobs:
sudo apt-get update
sudo apt-get install -y ${{ matrix.packages }}
- name: Install packages (Windows)
if: runner.os == 'Windows'
run: choco install ninja ${{ matrix.packages }}
# Ninja should be not necessary anymore (see note on Win / GCC above)
# - name: Install packages (Windows)
# if: runner.os == 'Windows'
# run: choco install ninja ${{ matrix.packages }}

- name: Install packages (macOS)
if: runner.os == 'macOS'
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
bench/bench
build*
.idea
.*.swp
cmake-build-*
/blosc/config.h
/doc/doxygen/xml/
/doc/xml
18 changes: 7 additions & 11 deletions ANNOUNCE.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
# Announcing C-Blosc2 2.6.1
# Announcing C-Blosc2 2.9.2
A fast, compressed and persistent binary data store library for C.

## What is new?

The Blosc development team is happy to announce a new release of C-Blosc2.
This is a maintenance release with support for MacOS universal2 binaries
(arm64+x86_64 build).

C-Blosc2 should be backward compatible with C-Blosc, so you can start using
it right away and increasingly start to use its new functionality, like the
new filters, prefilters, super-chunks and frames.
See docs in: https://www.blosc.org/c-blosc2/c-blosc2.html
This a maintenance release with improved support for dynamic plugins and
fixes for some corner cases when handling incompressible data. Also,
many other small fixes and improvements have been included. An upgrade to
this release is recommended.

For more info, please see the release notes in:

Expand All @@ -37,15 +33,15 @@ The github repository is over here:

https://github.com/Blosc/c-blosc2

Blosc is distributed using the BSD license, see LICENSES/BLOSC2.txt
Blosc is distributed using the BSD license, see LICENSE.txt
for details.

## Mailing list

There is an official Blosc mailing list at:

[email protected]
http://groups.google.es/group/blosc
https://groups.google.com/g/blosc

## Tweeter feed

Expand Down
10 changes: 9 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# Blosc - Blocked Shuffling and Compression Library
#
# Copyright (c) 2021 The Blosc Development Team <[email protected]>
# https://blosc.org
# License: BSD 3-Clause (see LICENSE.txt)
#
# See LICENSE.txt for details about copyright and rights to use.

# CMake build system for Blosc
# ============================
#
Expand Down Expand Up @@ -167,7 +175,7 @@ if(NOT DEACTIVATE_ZLIB)
message(STATUS "Using ZLIB-NG internal sources for ZLIB support.")
set(HAVE_ZLIB_NG TRUE)
add_definitions(-DZLIB_COMPAT)
set(ZLIB_NG_DIR "zlib-ng-2.0.6") # update to the actual included version
set(ZLIB_NG_DIR "zlib-ng-2.0.7") # update to the actual included version
set(ZLIB_COMPAT TRUE)
set(SKIP_INSTALL_ALL TRUE)
set(BUILD_SHARED_LIBS FALSE)
Expand Down
4 changes: 2 additions & 2 deletions LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ BSD License

For Blosc - A blocking, shuffling and lossless compression library

Copyright (C) 2009-2018 Francesc Alted <[email protected]>
Copyright (C) 2019- The Blosc Development Team <[email protected]>
Copyright (c) 2009-2018 Francesc Alted <[email protected]>
Copyright (c) 2019-present The Blosc Development Team <[email protected]>

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Expand Down
8 changes: 2 additions & 6 deletions LICENSES/FASTLZ.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
FastLZ - lightning-fast lossless compression library

Copyright (C) 2007 Ariya Hidayat ([email protected])
Copyright (C) 2006 Ariya Hidayat ([email protected])
Copyright (C) 2005 Ariya Hidayat ([email protected])
FastLZ - Byte-aligned LZ77 compression library
Copyright (C) 2005-2020 Ariya Hidayat <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -21,4 +18,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

48 changes: 20 additions & 28 deletions LICENSES/LZ4.txt
Original file line number Diff line number Diff line change
@@ -1,32 +1,24 @@
LZ4 - Fast LZ compression algorithm
LZ4 Library
Copyright (c) 2011-2020, Yann Collet
All rights reserved.

Copyright (C) 2011-2014, Yann Collet.
BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

You can contact the author at :
- LZ4 homepage : http://fastcompression.blogspot.com/p/lz4.html
- LZ4 source repository : http://code.google.com/p/lz4/
* Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 changes: 0 additions & 28 deletions LICENSES/SNAPPY.txt

This file was deleted.

29 changes: 0 additions & 29 deletions LICENSES/STDINT.txt

This file was deleted.

31 changes: 14 additions & 17 deletions LICENSES/ZLIB.txt
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
Copyright notice:
(C) 1995-2013 Jean-loup Gailly and Mark Adler

(C) 1995-2013 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.

1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.

Jean-loup Gailly Mark Adler
[email protected] [email protected]
3. This notice may not be removed or altered from any source distribution.
9 changes: 4 additions & 5 deletions LICENSES/BLOSC.txt → LICENSES/ZSTD.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
BSD License

For Blosc - A blocking, shuffling and lossless compression library
For Zstandard software

Copyright (C) 2009-2018 Francesc Alted <[email protected]>
Copyright (C) 2019-present Blosc Development team <[email protected]>
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Expand All @@ -15,8 +14,8 @@ are permitted provided that the following conditions are met:
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

* Neither the name Francesc Alted nor the names of its contributors may be used
to endorse or promote products derived from this software without specific
* Neither the name Facebook nor the names of its contributors may be used to
endorse or promote products derived from this software without specific
prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
Expand Down
Loading

0 comments on commit a9befe7

Please sign in to comment.