Full Code of M2Team/NanaZip for AI

main b4d39da98afb cached
2780 files
25.7 MB
4.1M tokens
11280 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (16,317K chars total). Download the full file to get everything.
Repository: M2Team/NanaZip
Branch: main
Commit: b4d39da98afb
Files: 2780
Total size: 25.7 MB

Directory structure:
gitextract_ul7qcrqt/

├── .editorconfig
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.yml
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dco.yml
│   └── workflows/
│       ├── BuildBinaries.yml
│       ├── UpdatePrecompiledBuildTools.yml
│       └── UpdateWebsite.yml
├── .gitignore
├── BuildAllTargets.cmd
├── BuildAllTargets.proj
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Directory.Build.props
├── Documents/
│   ├── ChannelSwitchNote.md
│   ├── DevelopmentRoadmapArchived.md
│   ├── People.md
│   ├── Policies.md
│   ├── PolicyDefinitions/
│   │   ├── NanaZip.admx
│   │   └── en-US/
│   │       └── NanaZip.adml
│   ├── Privacy.md
│   ├── ReleaseNotes.md
│   ├── ReleaseNotesPreview.md
│   ├── Section508/
│   │   ├── NanaZip.html
│   │   └── NanaZip.yaml
│   ├── SponsorEdition.md
│   ├── UpstreamSynchronization.md
│   ├── Versioning.md
│   └── Website/
│       ├── .gitignore
│       ├── .vscode/
│       │   ├── extensions.json
│       │   ├── launch.json
│       │   └── mcp.json
│       ├── ReadMe.md
│       ├── astro.config.mjs
│       ├── package.json
│       ├── src/
│       │   ├── assets/
│       │   │   └── styles/
│       │   │       ├── button.css
│       │   │       ├── global.css
│       │   │       ├── icons.css
│       │   │       ├── image.css
│       │   │       ├── pages/
│       │   │       │   └── index.css
│       │   │       ├── text.css
│       │   │       └── theme.css
│       │   ├── components/
│       │   │   ├── Footer/
│       │   │   │   ├── Footer.astro
│       │   │   │   └── Footer.css
│       │   │   ├── InfoBar/
│       │   │   │   ├── InfoBar.astro
│       │   │   │   └── InfoBar.scss
│       │   │   ├── Navbar/
│       │   │   │   ├── Navbar.astro
│       │   │   │   ├── Navbar.scss
│       │   │   │   └── Navbar.ts
│       │   │   ├── PageSection/
│       │   │   │   ├── PageSection.astro
│       │   │   │   └── PageSection.scss
│       │   │   ├── StoreBadge/
│       │   │   │   ├── StoreBadge.astro
│       │   │   │   ├── StoreBadge.css
│       │   │   │   └── StoreBadge.ts
│       │   │   ├── ThemedLocalPicture/
│       │   │   │   └── ThemedLocalPicture.astro
│       │   │   └── Tree/
│       │   │       ├── Tree.astro
│       │   │       └── Tree.css
│       │   ├── layouts/
│       │   │   └── Layout.astro
│       │   └── pages/
│       │       ├── downloads.astro
│       │       ├── index.astro
│       │       └── section508.astro
│       └── tsconfig.json
├── K7Base/
│   ├── K7Base.def
│   ├── K7Base.h
│   ├── K7Base.props
│   ├── K7Base.vcxproj
│   ├── K7BaseDetours.cpp
│   ├── K7BaseHash.cpp
│   ├── K7BaseInitialize.cpp
│   ├── K7BaseMitigations.cpp
│   ├── K7BaseModern.cpp
│   ├── K7BasePolicies.cpp
│   ├── K7BasePrivate.h
│   ├── K7BaseRedirector.cpp
│   ├── K7BaseStatic.props
│   ├── K7BaseStatic.vcxproj
│   └── ReadMe.md
├── K7User/
│   ├── K7User.def
│   ├── K7User.h
│   ├── K7User.props
│   ├── K7User.vcxproj
│   ├── K7UserDarkMode.cpp
│   ├── K7UserModern.cpp
│   ├── K7UserPrivate.h
│   ├── K7UserRedirector.cpp
│   ├── K7UserStatic.props
│   ├── K7UserStatic.vcxproj
│   └── ReadMe.md
├── License.md
├── NanaZip.Build.Tasks/
│   ├── NanaZip.Build.Tasks.csproj
│   ├── RefreshAppxManifestVersion.cs
│   └── RefreshProjectBuildNumberDate.cs
├── NanaZip.Codecs/
│   ├── BLAKE3/
│   │   ├── blake3.c
│   │   ├── blake3.h
│   │   ├── blake3_avx2_x86-64_windows_msvc.asm
│   │   ├── blake3_avx512_x86-64_windows_msvc.asm
│   │   ├── blake3_dispatch.c
│   │   ├── blake3_impl.h
│   │   ├── blake3_neon.c
│   │   ├── blake3_portable.c
│   │   ├── blake3_sse2_x86-64_windows_msvc.asm
│   │   └── blake3_sse41_x86-64_windows_msvc.asm
│   ├── Brotli/
│   │   ├── common/
│   │   │   ├── constants.c
│   │   │   ├── constants.h
│   │   │   ├── context.c
│   │   │   ├── context.h
│   │   │   ├── dictionary.c
│   │   │   ├── dictionary.h
│   │   │   ├── dictionary_inc.h
│   │   │   ├── platform.c
│   │   │   ├── platform.h
│   │   │   ├── shared_dictionary.c
│   │   │   ├── shared_dictionary_internal.h
│   │   │   ├── static_init.h
│   │   │   ├── transform.c
│   │   │   ├── transform.h
│   │   │   └── version.h
│   │   ├── dec/
│   │   │   ├── bit_reader.c
│   │   │   ├── bit_reader.h
│   │   │   ├── dec_static_init.c
│   │   │   ├── decode.c
│   │   │   ├── huffman.c
│   │   │   ├── huffman.h
│   │   │   ├── prefix.c
│   │   │   ├── prefix.h
│   │   │   ├── prefix_inc.h
│   │   │   ├── state.c
│   │   │   ├── state.h
│   │   │   └── static_init.h
│   │   ├── enc/
│   │   │   ├── backward_references.c
│   │   │   ├── backward_references.h
│   │   │   ├── backward_references_hq.c
│   │   │   ├── backward_references_hq.h
│   │   │   ├── backward_references_inc.h
│   │   │   ├── bit_cost.c
│   │   │   ├── bit_cost.h
│   │   │   ├── bit_cost_inc.h
│   │   │   ├── block_encoder_inc.h
│   │   │   ├── block_splitter.c
│   │   │   ├── block_splitter.h
│   │   │   ├── block_splitter_inc.h
│   │   │   ├── brotli_bit_stream.c
│   │   │   ├── brotli_bit_stream.h
│   │   │   ├── cluster.c
│   │   │   ├── cluster.h
│   │   │   ├── cluster_inc.h
│   │   │   ├── command.c
│   │   │   ├── command.h
│   │   │   ├── compound_dictionary.c
│   │   │   ├── compound_dictionary.h
│   │   │   ├── compress_fragment.c
│   │   │   ├── compress_fragment.h
│   │   │   ├── compress_fragment_two_pass.c
│   │   │   ├── compress_fragment_two_pass.h
│   │   │   ├── dictionary_hash.c
│   │   │   ├── dictionary_hash.h
│   │   │   ├── dictionary_hash_inc.h
│   │   │   ├── enc_static_init.c
│   │   │   ├── encode.c
│   │   │   ├── encoder_dict.c
│   │   │   ├── encoder_dict.h
│   │   │   ├── entropy_encode.c
│   │   │   ├── entropy_encode.h
│   │   │   ├── entropy_encode_static.h
│   │   │   ├── fast_log.c
│   │   │   ├── fast_log.h
│   │   │   ├── find_match_length.h
│   │   │   ├── hash.h
│   │   │   ├── hash_base.h
│   │   │   ├── hash_composite_inc.h
│   │   │   ├── hash_forgetful_chain_inc.h
│   │   │   ├── hash_longest_match64_inc.h
│   │   │   ├── hash_longest_match64_simd_inc.h
│   │   │   ├── hash_longest_match_inc.h
│   │   │   ├── hash_longest_match_quickly_inc.h
│   │   │   ├── hash_longest_match_simd_inc.h
│   │   │   ├── hash_rolling_inc.h
│   │   │   ├── hash_to_binary_tree_inc.h
│   │   │   ├── histogram.c
│   │   │   ├── histogram.h
│   │   │   ├── histogram_inc.h
│   │   │   ├── literal_cost.c
│   │   │   ├── literal_cost.h
│   │   │   ├── matching_tag_mask.h
│   │   │   ├── memory.c
│   │   │   ├── memory.h
│   │   │   ├── metablock.c
│   │   │   ├── metablock.h
│   │   │   ├── metablock_inc.h
│   │   │   ├── params.h
│   │   │   ├── prefix.h
│   │   │   ├── quality.h
│   │   │   ├── ringbuffer.h
│   │   │   ├── state.h
│   │   │   ├── static_dict.c
│   │   │   ├── static_dict.h
│   │   │   ├── static_dict_lut.c
│   │   │   ├── static_dict_lut.h
│   │   │   ├── static_dict_lut_inc.h
│   │   │   ├── static_init.h
│   │   │   ├── utf8_util.c
│   │   │   ├── utf8_util.h
│   │   │   └── write_bits.h
│   │   └── include/
│   │       └── brotli/
│   │           ├── decode.h
│   │           ├── encode.h
│   │           ├── port.h
│   │           ├── shared_dictionary.h
│   │           └── types.h
│   ├── FastLZMA2/
│   │   ├── atomic.h
│   │   ├── compiler.h
│   │   ├── count.h
│   │   ├── data_block.h
│   │   ├── dict_buffer.c
│   │   ├── dict_buffer.h
│   │   ├── fast-lzma2.h
│   │   ├── fastpos_table.h
│   │   ├── fl2_common.c
│   │   ├── fl2_compress.c
│   │   ├── fl2_compress_internal.h
│   │   ├── fl2_errors.h
│   │   ├── fl2_internal.h
│   │   ├── fl2_pool.c
│   │   ├── fl2_pool.h
│   │   ├── fl2_threading.c
│   │   ├── fl2_threading.h
│   │   ├── lzma2_enc.c
│   │   ├── lzma2_enc.h
│   │   ├── mem.h
│   │   ├── platform.h
│   │   ├── radix_bitpack.c
│   │   ├── radix_engine.h
│   │   ├── radix_get.h
│   │   ├── radix_internal.h
│   │   ├── radix_mf.c
│   │   ├── radix_mf.h
│   │   ├── radix_struct.c
│   │   ├── range_enc.c
│   │   ├── range_enc.h
│   │   ├── util.c
│   │   └── util.h
│   ├── FreeBSD/
│   │   ├── dinode.h
│   │   ├── dir.h
│   │   └── fs.h
│   ├── GmSSL/
│   │   ├── endian.h
│   │   ├── sm3.c
│   │   └── sm3.h
│   ├── LZ4/
│   │   ├── lz4.c
│   │   ├── lz4.h
│   │   ├── lz4frame.c
│   │   ├── lz4frame.h
│   │   ├── lz4frame_static.h
│   │   ├── lz4hc.c
│   │   └── lz4hc.h
│   ├── LZ5/
│   │   ├── lz5.c
│   │   ├── lz5.h
│   │   ├── lz5common.h
│   │   ├── lz5frame.c
│   │   ├── lz5frame.h
│   │   ├── lz5frame_static.h
│   │   ├── lz5hc.c
│   │   ├── lz5hc.h
│   │   └── mem.h
│   ├── LittleFS/
│   │   ├── lfs.c
│   │   ├── lfs.h
│   │   ├── lfs_util.c
│   │   └── lfs_util.h
│   ├── Lizard/
│   │   ├── entropy/
│   │   │   ├── bitstream.h
│   │   │   ├── compiler.h
│   │   │   ├── debug.h
│   │   │   ├── error_private.h
│   │   │   ├── error_public.h
│   │   │   ├── fse.h
│   │   │   ├── hist.h
│   │   │   ├── huf.h
│   │   │   ├── lizard_entropy_common.c
│   │   │   ├── lizard_fse_compress.c
│   │   │   ├── lizard_fse_decompress.c
│   │   │   ├── lizard_huf_compress.c
│   │   │   ├── lizard_huf_decompress.c
│   │   │   └── mem.h
│   │   ├── lizard_common.h
│   │   ├── lizard_compress.c
│   │   ├── lizard_compress.h
│   │   ├── lizard_compress_liz.h
│   │   ├── lizard_compress_lz4.h
│   │   ├── lizard_decompress.c
│   │   ├── lizard_decompress.h
│   │   ├── lizard_decompress_liz.h
│   │   ├── lizard_decompress_lz4.h
│   │   ├── lizard_frame.c
│   │   ├── lizard_frame.h
│   │   ├── lizard_frame_static.h
│   │   ├── lizard_parser_fast.h
│   │   ├── lizard_parser_fastbig.h
│   │   ├── lizard_parser_fastsmall.h
│   │   ├── lizard_parser_hashchain.h
│   │   ├── lizard_parser_lowestprice.h
│   │   ├── lizard_parser_nochain.h
│   │   ├── lizard_parser_optimal.h
│   │   └── lizard_parser_pricefast.h
│   ├── Mile.Helpers.Portable.Base.Unstaged.cpp
│   ├── Mile.Helpers.Portable.Base.Unstaged.h
│   ├── NanaZip.Codecs.Archive.DotNetSingleFile.cpp
│   ├── NanaZip.Codecs.Archive.ElectronAsar.cpp
│   ├── NanaZip.Codecs.Archive.Littlefs.cpp
│   ├── NanaZip.Codecs.Archive.Romfs.cpp
│   ├── NanaZip.Codecs.Archive.Ufs.cpp
│   ├── NanaZip.Codecs.Archive.WebAssembly.cpp
│   ├── NanaZip.Codecs.Archive.Zealfs.cpp
│   ├── NanaZip.Codecs.Hash.Aich.cpp
│   ├── NanaZip.Codecs.Hash.BCryptProvider.cpp
│   ├── NanaZip.Codecs.Hash.Blake2b.cpp
│   ├── NanaZip.Codecs.Hash.Blake3.cpp
│   ├── NanaZip.Codecs.Hash.Ed2k.cpp
│   ├── NanaZip.Codecs.Hash.EdonR224.cpp
│   ├── NanaZip.Codecs.Hash.EdonR256.cpp
│   ├── NanaZip.Codecs.Hash.EdonR384.cpp
│   ├── NanaZip.Codecs.Hash.EdonR512.cpp
│   ├── NanaZip.Codecs.Hash.Gost12256.cpp
│   ├── NanaZip.Codecs.Hash.Gost12512.cpp
│   ├── NanaZip.Codecs.Hash.Gost94.cpp
│   ├── NanaZip.Codecs.Hash.Gost94CryptoPro.cpp
│   ├── NanaZip.Codecs.Hash.Has160.cpp
│   ├── NanaZip.Codecs.Hash.Ripemd160.cpp
│   ├── NanaZip.Codecs.Hash.Sha224.cpp
│   ├── NanaZip.Codecs.Hash.Sha3224.cpp
│   ├── NanaZip.Codecs.Hash.Sha3256.cpp
│   ├── NanaZip.Codecs.Hash.Sha3384.cpp
│   ├── NanaZip.Codecs.Hash.Sha3512.cpp
│   ├── NanaZip.Codecs.Hash.Sm3.cpp
│   ├── NanaZip.Codecs.Hash.Snefru128.cpp
│   ├── NanaZip.Codecs.Hash.Snefru256.cpp
│   ├── NanaZip.Codecs.Hash.Tiger.cpp
│   ├── NanaZip.Codecs.Hash.Tiger2.cpp
│   ├── NanaZip.Codecs.Hash.Torrent.cpp
│   ├── NanaZip.Codecs.Hash.Tth.cpp
│   ├── NanaZip.Codecs.Hash.Whirlpool.cpp
│   ├── NanaZip.Codecs.Hash.Xxh3128.cpp
│   ├── NanaZip.Codecs.Hash.Xxh32.cpp
│   ├── NanaZip.Codecs.Hash.Xxh364.cpp
│   ├── NanaZip.Codecs.Hash.Xxh64.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.Brotli.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.Brotli.h
│   ├── NanaZip.Codecs.MultiThreadWrapper.Common.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.Common.h
│   ├── NanaZip.Codecs.MultiThreadWrapper.LZ4.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.LZ4.h
│   ├── NanaZip.Codecs.MultiThreadWrapper.LZ5.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.LZ5.h
│   ├── NanaZip.Codecs.MultiThreadWrapper.Lizard.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.Lizard.h
│   ├── NanaZip.Codecs.SevenZipWrapper.cpp
│   ├── NanaZip.Codecs.SevenZipWrapper.h
│   ├── NanaZip.Codecs.Sfx.Shared.props
│   ├── NanaZip.Codecs.Sfx.Shared.vcxproj
│   ├── NanaZip.Codecs.Sfx.Shared.vcxproj.filters
│   ├── NanaZip.Codecs.Specification.Fat.h
│   ├── NanaZip.Codecs.Specification.Zealfs.h
│   ├── NanaZip.Codecs.cpp
│   ├── NanaZip.Codecs.def
│   ├── NanaZip.Codecs.h
│   ├── NanaZip.Codecs.props
│   ├── NanaZip.Codecs.vcxproj
│   ├── NanaZip.Codecs.vcxproj.filters
│   ├── RHash/
│   │   ├── aich.c
│   │   ├── aich.h
│   │   ├── blake2b.c
│   │   ├── blake2b.h
│   │   ├── byte_order.c
│   │   ├── byte_order.h
│   │   ├── edonr.c
│   │   ├── edonr.h
│   │   ├── gost12.c
│   │   ├── gost12.h
│   │   ├── gost94.c
│   │   ├── gost94.h
│   │   ├── has160.c
│   │   ├── has160.h
│   │   ├── hex.c
│   │   ├── hex.h
│   │   ├── rhash_sha256.c
│   │   ├── rhash_util.c
│   │   ├── ripemd-160.c
│   │   ├── ripemd-160.h
│   │   ├── sha1.h
│   │   ├── sha256.h
│   │   ├── sha3.c
│   │   ├── sha3.h
│   │   ├── snefru.c
│   │   ├── snefru.h
│   │   ├── tiger.c
│   │   ├── tiger.h
│   │   ├── tiger_sbox.c
│   │   ├── torrent.c
│   │   ├── torrent.h
│   │   ├── tth.c
│   │   ├── tth.h
│   │   ├── ustd.h
│   │   ├── util.h
│   │   ├── whirlpool.c
│   │   ├── whirlpool.h
│   │   └── whirlpool_sbox.c
│   ├── ZSTDMT/
│   │   ├── brotli-mt.h
│   │   ├── brotli-mt_common.c
│   │   ├── brotli-mt_compress.c
│   │   ├── brotli-mt_decompress.c
│   │   ├── list.h
│   │   ├── lizard-mt.h
│   │   ├── lizard-mt_common.c
│   │   ├── lizard-mt_compress.c
│   │   ├── lizard-mt_decompress.c
│   │   ├── lz4-mt.h
│   │   ├── lz4-mt_common.c
│   │   ├── lz4-mt_compress.c
│   │   ├── lz4-mt_decompress.c
│   │   ├── lz5-mt.h
│   │   ├── lz5-mt_common.c
│   │   ├── lz5-mt_compress.c
│   │   ├── lz5-mt_decompress.c
│   │   ├── memmt.h
│   │   ├── threading.h
│   │   └── zstd-mt_threading.c
│   ├── Zstandard/
│   │   ├── common/
│   │   │   ├── allocations.h
│   │   │   ├── bits.h
│   │   │   ├── bitstream.h
│   │   │   ├── compiler.h
│   │   │   ├── cpu.h
│   │   │   ├── debug.c
│   │   │   ├── debug.h
│   │   │   ├── entropy_common.c
│   │   │   ├── error_private.c
│   │   │   ├── error_private.h
│   │   │   ├── fse.h
│   │   │   ├── fse_decompress.c
│   │   │   ├── huf.h
│   │   │   ├── mem.h
│   │   │   ├── pool.c
│   │   │   ├── pool.h
│   │   │   ├── portability_macros.h
│   │   │   ├── threading.c
│   │   │   ├── threading.h
│   │   │   ├── zstd_common.c
│   │   │   ├── zstd_deps.h
│   │   │   ├── zstd_internal.h
│   │   │   └── zstd_trace.h
│   │   ├── compress/
│   │   │   ├── clevels.h
│   │   │   ├── fse_compress.c
│   │   │   ├── hist.c
│   │   │   ├── hist.h
│   │   │   ├── huf_compress.c
│   │   │   ├── zstd_compress.c
│   │   │   ├── zstd_compress_internal.h
│   │   │   ├── zstd_compress_literals.c
│   │   │   ├── zstd_compress_literals.h
│   │   │   ├── zstd_compress_sequences.c
│   │   │   ├── zstd_compress_sequences.h
│   │   │   ├── zstd_compress_superblock.c
│   │   │   ├── zstd_compress_superblock.h
│   │   │   ├── zstd_cwksp.h
│   │   │   ├── zstd_double_fast.c
│   │   │   ├── zstd_double_fast.h
│   │   │   ├── zstd_fast.c
│   │   │   ├── zstd_fast.h
│   │   │   ├── zstd_lazy.c
│   │   │   ├── zstd_lazy.h
│   │   │   ├── zstd_ldm.c
│   │   │   ├── zstd_ldm.h
│   │   │   ├── zstd_ldm_geartab.h
│   │   │   ├── zstd_opt.c
│   │   │   ├── zstd_opt.h
│   │   │   ├── zstd_preSplit.c
│   │   │   ├── zstd_preSplit.h
│   │   │   ├── zstdmt_compress.c
│   │   │   └── zstdmt_compress.h
│   │   ├── decompress/
│   │   │   ├── huf_decompress.c
│   │   │   ├── zstd_ddict.c
│   │   │   ├── zstd_ddict.h
│   │   │   ├── zstd_decompress.c
│   │   │   ├── zstd_decompress_block.c
│   │   │   ├── zstd_decompress_block.h
│   │   │   └── zstd_decompress_internal.h
│   │   ├── legacy/
│   │   │   ├── zstd_legacy.h
│   │   │   ├── zstd_v01.c
│   │   │   ├── zstd_v01.h
│   │   │   ├── zstd_v02.c
│   │   │   ├── zstd_v02.h
│   │   │   ├── zstd_v03.c
│   │   │   ├── zstd_v03.h
│   │   │   ├── zstd_v04.c
│   │   │   ├── zstd_v04.h
│   │   │   ├── zstd_v05.c
│   │   │   ├── zstd_v05.h
│   │   │   ├── zstd_v06.c
│   │   │   ├── zstd_v06.h
│   │   │   ├── zstd_v07.c
│   │   │   └── zstd_v07.h
│   │   ├── zstd.h
│   │   └── zstd_errors.h
│   └── xxHash/
│       ├── xxhash.c
│       └── xxhash.h
├── NanaZip.Core/
│   ├── Extensions/
│   │   └── ZSCodecs/
│   │       ├── BrotliDecoder.cpp
│   │       ├── BrotliDecoder.h
│   │       ├── BrotliEncoder.cpp
│   │       ├── BrotliEncoder.h
│   │       ├── BrotliHandler.cpp
│   │       ├── BrotliRegister.cpp
│   │       ├── FastLzma2Encoder.cpp
│   │       ├── FastLzma2Encoder.h
│   │       ├── FastLzma2Register.cpp
│   │       ├── LizardDecoder.cpp
│   │       ├── LizardDecoder.h
│   │       ├── LizardEncoder.cpp
│   │       ├── LizardEncoder.h
│   │       ├── LizardHandler.cpp
│   │       ├── LizardRegister.cpp
│   │       ├── Lz4Decoder.cpp
│   │       ├── Lz4Decoder.h
│   │       ├── Lz4Encoder.cpp
│   │       ├── Lz4Encoder.h
│   │       ├── Lz4Handler.cpp
│   │       ├── Lz4Register.cpp
│   │       ├── Lz5Decoder.cpp
│   │       ├── Lz5Decoder.h
│   │       ├── Lz5Encoder.cpp
│   │       ├── Lz5Encoder.h
│   │       ├── Lz5Handler.cpp
│   │       ├── Lz5Register.cpp
│   │       ├── LzHandler.cpp
│   │       ├── ZstdDecoder.cpp
│   │       ├── ZstdDecoder.h
│   │       ├── ZstdEncoder.cpp
│   │       ├── ZstdEncoder.h
│   │       ├── ZstdHandler.cpp
│   │       └── ZstdRegister.cpp
│   ├── NanaZip.Core.Sfx.Console.manifest
│   ├── NanaZip.Core.Sfx.Console.vcxproj
│   ├── NanaZip.Core.Sfx.Console.vcxproj.filters
│   ├── NanaZip.Core.Sfx.Setup.manifest
│   ├── NanaZip.Core.Sfx.Setup.vcxproj
│   ├── NanaZip.Core.Sfx.Setup.vcxproj.filters
│   ├── NanaZip.Core.Sfx.Shared.props
│   ├── NanaZip.Core.Sfx.Shared.vcxproj
│   ├── NanaZip.Core.Sfx.Shared.vcxproj.filters
│   ├── NanaZip.Core.Sfx.Windows.Resources.h
│   ├── NanaZip.Core.Sfx.Windows.Resources.rc
│   ├── NanaZip.Core.Sfx.Windows.manifest
│   ├── NanaZip.Core.Sfx.Windows.vcxproj
│   ├── NanaZip.Core.Sfx.Windows.vcxproj.filters
│   ├── NanaZip.Core.vcxproj
│   ├── NanaZip.Core.vcxproj.filters
│   ├── SevenZip/
│   │   ├── .gitignore
│   │   ├── C/
│   │   │   ├── 7zBuf.h
│   │   │   ├── 7zBuf2.c
│   │   │   ├── 7zCrc.c
│   │   │   ├── 7zCrc.h
│   │   │   ├── 7zCrcOpt.c
│   │   │   ├── 7zStream.c
│   │   │   ├── 7zTypes.h
│   │   │   ├── 7zVersion.h
│   │   │   ├── 7zWindows.h
│   │   │   ├── Aes.c
│   │   │   ├── Aes.h
│   │   │   ├── AesOpt.c
│   │   │   ├── Alloc.c
│   │   │   ├── Alloc.h
│   │   │   ├── Bcj2.c
│   │   │   ├── Bcj2.h
│   │   │   ├── Bcj2Enc.c
│   │   │   ├── Blake2.h
│   │   │   ├── Blake2s.c
│   │   │   ├── Bra.c
│   │   │   ├── Bra.h
│   │   │   ├── Bra86.c
│   │   │   ├── BwtSort.c
│   │   │   ├── BwtSort.h
│   │   │   ├── Compiler.h
│   │   │   ├── CpuArch.c
│   │   │   ├── CpuArch.h
│   │   │   ├── Delta.c
│   │   │   ├── Delta.h
│   │   │   ├── DllSecur.c
│   │   │   ├── DllSecur.h
│   │   │   ├── HuffEnc.c
│   │   │   ├── HuffEnc.h
│   │   │   ├── LzFind.c
│   │   │   ├── LzFind.h
│   │   │   ├── LzFindMt.c
│   │   │   ├── LzFindMt.h
│   │   │   ├── LzFindOpt.c
│   │   │   ├── LzHash.h
│   │   │   ├── Lzma2Dec.c
│   │   │   ├── Lzma2Dec.h
│   │   │   ├── Lzma2DecMt.c
│   │   │   ├── Lzma2DecMt.h
│   │   │   ├── Lzma2Enc.c
│   │   │   ├── Lzma2Enc.h
│   │   │   ├── LzmaDec.c
│   │   │   ├── LzmaDec.h
│   │   │   ├── LzmaEnc.c
│   │   │   ├── LzmaEnc.h
│   │   │   ├── MtCoder.c
│   │   │   ├── MtCoder.h
│   │   │   ├── MtDec.c
│   │   │   ├── MtDec.h
│   │   │   ├── Ppmd.h
│   │   │   ├── Ppmd7.c
│   │   │   ├── Ppmd7.h
│   │   │   ├── Ppmd7Dec.c
│   │   │   ├── Ppmd7Enc.c
│   │   │   ├── Ppmd7aDec.c
│   │   │   ├── Ppmd8.c
│   │   │   ├── Ppmd8.h
│   │   │   ├── Ppmd8Dec.c
│   │   │   ├── Ppmd8Enc.c
│   │   │   ├── Precomp.h
│   │   │   ├── RotateDefs.h
│   │   │   ├── Sha1.h
│   │   │   ├── Sha256.h
│   │   │   ├── Sha512.h
│   │   │   ├── Sort.c
│   │   │   ├── Sort.h
│   │   │   ├── SwapBytes.c
│   │   │   ├── SwapBytes.h
│   │   │   ├── Threads.c
│   │   │   ├── Threads.h
│   │   │   ├── Xz.c
│   │   │   ├── Xz.h
│   │   │   ├── XzCrc64.c
│   │   │   ├── XzCrc64.h
│   │   │   ├── XzCrc64Opt.c
│   │   │   ├── XzDec.c
│   │   │   ├── XzEnc.c
│   │   │   ├── XzEnc.h
│   │   │   └── XzIn.c
│   │   └── CPP/
│   │       ├── 7zip/
│   │       │   ├── Archive/
│   │       │   │   ├── 7z/
│   │       │   │   │   ├── 7zCompressionMode.h
│   │       │   │   │   ├── 7zDecode.cpp
│   │       │   │   │   ├── 7zDecode.h
│   │       │   │   │   ├── 7zEncode.cpp
│   │       │   │   │   ├── 7zEncode.h
│   │       │   │   │   ├── 7zExtract.cpp
│   │       │   │   │   ├── 7zFolderInStream.cpp
│   │       │   │   │   ├── 7zFolderInStream.h
│   │       │   │   │   ├── 7zHandler.cpp
│   │       │   │   │   ├── 7zHandler.h
│   │       │   │   │   ├── 7zHandlerOut.cpp
│   │       │   │   │   ├── 7zHeader.cpp
│   │       │   │   │   ├── 7zHeader.h
│   │       │   │   │   ├── 7zIn.cpp
│   │       │   │   │   ├── 7zIn.h
│   │       │   │   │   ├── 7zItem.h
│   │       │   │   │   ├── 7zOut.cpp
│   │       │   │   │   ├── 7zOut.h
│   │       │   │   │   ├── 7zProperties.cpp
│   │       │   │   │   ├── 7zProperties.h
│   │       │   │   │   ├── 7zRegister.cpp
│   │       │   │   │   ├── 7zSpecStream.h
│   │       │   │   │   ├── 7zUpdate.cpp
│   │       │   │   │   ├── 7zUpdate.h
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── ApfsHandler.cpp
│   │       │   │   ├── ApmHandler.cpp
│   │       │   │   ├── ArHandler.cpp
│   │       │   │   ├── Archive2.def
│   │       │   │   ├── ArchiveExports.cpp
│   │       │   │   ├── ArjHandler.cpp
│   │       │   │   ├── AvbHandler.cpp
│   │       │   │   ├── Base64Handler.cpp
│   │       │   │   ├── Bz2Handler.cpp
│   │       │   │   ├── Cab/
│   │       │   │   │   ├── CabBlockInStream.cpp
│   │       │   │   │   ├── CabBlockInStream.h
│   │       │   │   │   ├── CabHandler.cpp
│   │       │   │   │   ├── CabHandler.h
│   │       │   │   │   ├── CabHeader.cpp
│   │       │   │   │   ├── CabHeader.h
│   │       │   │   │   ├── CabIn.cpp
│   │       │   │   │   ├── CabIn.h
│   │       │   │   │   ├── CabItem.h
│   │       │   │   │   ├── CabRegister.cpp
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── Chm/
│   │       │   │   │   ├── ChmHandler.cpp
│   │       │   │   │   ├── ChmHandler.h
│   │       │   │   │   ├── ChmIn.cpp
│   │       │   │   │   ├── ChmIn.h
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── ComHandler.cpp
│   │       │   │   ├── Common/
│   │       │   │   │   ├── CoderMixer2.cpp
│   │       │   │   │   ├── CoderMixer2.h
│   │       │   │   │   ├── DummyOutStream.cpp
│   │       │   │   │   ├── DummyOutStream.h
│   │       │   │   │   ├── FindSignature.cpp
│   │       │   │   │   ├── FindSignature.h
│   │       │   │   │   ├── HandlerOut.cpp
│   │       │   │   │   ├── HandlerOut.h
│   │       │   │   │   ├── InStreamWithCRC.cpp
│   │       │   │   │   ├── InStreamWithCRC.h
│   │       │   │   │   ├── ItemNameUtils.cpp
│   │       │   │   │   ├── ItemNameUtils.h
│   │       │   │   │   ├── MultiStream.cpp
│   │       │   │   │   ├── MultiStream.h
│   │       │   │   │   ├── OutStreamWithCRC.cpp
│   │       │   │   │   ├── OutStreamWithCRC.h
│   │       │   │   │   ├── OutStreamWithSha1.cpp
│   │       │   │   │   ├── OutStreamWithSha1.h
│   │       │   │   │   ├── ParseProperties.h
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── CpioHandler.cpp
│   │       │   │   ├── CramfsHandler.cpp
│   │       │   │   ├── DllExports2.cpp
│   │       │   │   ├── DmgHandler.cpp
│   │       │   │   ├── ElfHandler.cpp
│   │       │   │   ├── ExtHandler.cpp
│   │       │   │   ├── FatHandler.cpp
│   │       │   │   ├── FlvHandler.cpp
│   │       │   │   ├── GptHandler.cpp
│   │       │   │   ├── GzHandler.cpp
│   │       │   │   ├── HandlerCont.cpp
│   │       │   │   ├── HandlerCont.h
│   │       │   │   ├── HfsHandler.cpp
│   │       │   │   ├── HfsHandler.h
│   │       │   │   ├── IArchive.h
│   │       │   │   ├── IhexHandler.cpp
│   │       │   │   ├── Iso/
│   │       │   │   │   ├── IsoHandler.cpp
│   │       │   │   │   ├── IsoHandler.h
│   │       │   │   │   ├── IsoHeader.cpp
│   │       │   │   │   ├── IsoHeader.h
│   │       │   │   │   ├── IsoIn.cpp
│   │       │   │   │   ├── IsoIn.h
│   │       │   │   │   ├── IsoItem.h
│   │       │   │   │   ├── IsoRegister.cpp
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── LpHandler.cpp
│   │       │   │   ├── LvmHandler.cpp
│   │       │   │   ├── LzhHandler.cpp
│   │       │   │   ├── LzmaHandler.cpp
│   │       │   │   ├── MachoHandler.cpp
│   │       │   │   ├── MbrHandler.cpp
│   │       │   │   ├── MslzHandler.cpp
│   │       │   │   ├── MubHandler.cpp
│   │       │   │   ├── Nsis/
│   │       │   │   │   ├── NsisDecode.cpp
│   │       │   │   │   ├── NsisDecode.h
│   │       │   │   │   ├── NsisHandler.cpp
│   │       │   │   │   ├── NsisHandler.h
│   │       │   │   │   ├── NsisIn.cpp
│   │       │   │   │   ├── NsisIn.h
│   │       │   │   │   ├── NsisRegister.cpp
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── NtfsHandler.cpp
│   │       │   │   ├── PeHandler.cpp
│   │       │   │   ├── PpmdHandler.cpp
│   │       │   │   ├── QcowHandler.cpp
│   │       │   │   ├── Rar/
│   │       │   │   │   ├── Rar5Handler.cpp
│   │       │   │   │   ├── Rar5Handler.h
│   │       │   │   │   ├── RarHandler.cpp
│   │       │   │   │   ├── RarHandler.h
│   │       │   │   │   ├── RarHeader.h
│   │       │   │   │   ├── RarItem.h
│   │       │   │   │   ├── RarVol.h
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── RpmHandler.cpp
│   │       │   │   ├── SparseHandler.cpp
│   │       │   │   ├── SplitHandler.cpp
│   │       │   │   ├── SquashfsHandler.cpp
│   │       │   │   ├── StdAfx.h
│   │       │   │   ├── SwfHandler.cpp
│   │       │   │   ├── Tar/
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   ├── TarHandler.cpp
│   │       │   │   │   ├── TarHandler.h
│   │       │   │   │   ├── TarHandlerOut.cpp
│   │       │   │   │   ├── TarHeader.cpp
│   │       │   │   │   ├── TarHeader.h
│   │       │   │   │   ├── TarIn.cpp
│   │       │   │   │   ├── TarIn.h
│   │       │   │   │   ├── TarItem.h
│   │       │   │   │   ├── TarOut.cpp
│   │       │   │   │   ├── TarOut.h
│   │       │   │   │   ├── TarRegister.cpp
│   │       │   │   │   ├── TarUpdate.cpp
│   │       │   │   │   └── TarUpdate.h
│   │       │   │   ├── Udf/
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   ├── UdfHandler.cpp
│   │       │   │   │   ├── UdfHandler.h
│   │       │   │   │   ├── UdfIn.cpp
│   │       │   │   │   └── UdfIn.h
│   │       │   │   ├── UefiHandler.cpp
│   │       │   │   ├── VdiHandler.cpp
│   │       │   │   ├── VhdHandler.cpp
│   │       │   │   ├── VhdxHandler.cpp
│   │       │   │   ├── VmdkHandler.cpp
│   │       │   │   ├── Wim/
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   ├── WimHandler.cpp
│   │       │   │   │   ├── WimHandler.h
│   │       │   │   │   ├── WimHandlerOut.cpp
│   │       │   │   │   ├── WimIn.cpp
│   │       │   │   │   ├── WimIn.h
│   │       │   │   │   └── WimRegister.cpp
│   │       │   │   ├── XarHandler.cpp
│   │       │   │   ├── XzHandler.cpp
│   │       │   │   ├── XzHandler.h
│   │       │   │   ├── ZHandler.cpp
│   │       │   │   └── Zip/
│   │       │   │       ├── StdAfx.h
│   │       │   │       ├── ZipAddCommon.cpp
│   │       │   │       ├── ZipAddCommon.h
│   │       │   │       ├── ZipCompressionMode.h
│   │       │   │       ├── ZipHandler.cpp
│   │       │   │       ├── ZipHandler.h
│   │       │   │       ├── ZipHandlerOut.cpp
│   │       │   │       ├── ZipHeader.h
│   │       │   │       ├── ZipIn.cpp
│   │       │   │       ├── ZipIn.h
│   │       │   │       ├── ZipItem.cpp
│   │       │   │       ├── ZipItem.h
│   │       │   │       ├── ZipOut.cpp
│   │       │   │       ├── ZipOut.h
│   │       │   │       ├── ZipRegister.cpp
│   │       │   │       ├── ZipUpdate.cpp
│   │       │   │       └── ZipUpdate.h
│   │       │   ├── Bundles/
│   │       │   │   ├── SFXCon/
│   │       │   │   │   ├── SfxCon.cpp
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   └── resource.rc
│   │       │   │   ├── SFXSetup/
│   │       │   │   │   ├── ExtractCallbackSfx.cpp
│   │       │   │   │   ├── ExtractCallbackSfx.h
│   │       │   │   │   ├── ExtractEngine.cpp
│   │       │   │   │   ├── ExtractEngine.h
│   │       │   │   │   ├── SfxSetup.cpp
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   ├── resource.h
│   │       │   │   │   └── resource.rc
│   │       │   │   └── SFXWin/
│   │       │   │       ├── SfxWin.cpp
│   │       │   │       ├── StdAfx.h
│   │       │   │       ├── resource.h
│   │       │   │       └── resource.rc
│   │       │   ├── Common/
│   │       │   │   ├── CWrappers.cpp
│   │       │   │   ├── CWrappers.h
│   │       │   │   ├── CreateCoder.cpp
│   │       │   │   ├── CreateCoder.h
│   │       │   │   ├── FilePathAutoRename.cpp
│   │       │   │   ├── FilePathAutoRename.h
│   │       │   │   ├── FileStreams.cpp
│   │       │   │   ├── FileStreams.h
│   │       │   │   ├── FilterCoder.cpp
│   │       │   │   ├── FilterCoder.h
│   │       │   │   ├── InBuffer.cpp
│   │       │   │   ├── InBuffer.h
│   │       │   │   ├── InOutTempBuffer.cpp
│   │       │   │   ├── InOutTempBuffer.h
│   │       │   │   ├── LimitedStreams.cpp
│   │       │   │   ├── LimitedStreams.h
│   │       │   │   ├── LockedStream.h
│   │       │   │   ├── MemBlocks.cpp
│   │       │   │   ├── MemBlocks.h
│   │       │   │   ├── MethodId.h
│   │       │   │   ├── MethodProps.cpp
│   │       │   │   ├── MethodProps.h
│   │       │   │   ├── OffsetStream.cpp
│   │       │   │   ├── OffsetStream.h
│   │       │   │   ├── OutBuffer.cpp
│   │       │   │   ├── OutBuffer.h
│   │       │   │   ├── OutMemStream.cpp
│   │       │   │   ├── OutMemStream.h
│   │       │   │   ├── ProgressMt.cpp
│   │       │   │   ├── ProgressMt.h
│   │       │   │   ├── ProgressUtils.cpp
│   │       │   │   ├── ProgressUtils.h
│   │       │   │   ├── PropId.cpp
│   │       │   │   ├── RegisterArc.h
│   │       │   │   ├── RegisterCodec.h
│   │       │   │   ├── StdAfx.h
│   │       │   │   ├── StreamBinder.cpp
│   │       │   │   ├── StreamBinder.h
│   │       │   │   ├── StreamObjects.cpp
│   │       │   │   ├── StreamObjects.h
│   │       │   │   ├── StreamUtils.cpp
│   │       │   │   ├── StreamUtils.h
│   │       │   │   ├── UniqBlocks.cpp
│   │       │   │   ├── UniqBlocks.h
│   │       │   │   ├── VirtThread.cpp
│   │       │   │   └── VirtThread.h
│   │       │   ├── Compress/
│   │       │   │   ├── BZip2Const.h
│   │       │   │   ├── BZip2Crc.cpp
│   │       │   │   ├── BZip2Crc.h
│   │       │   │   ├── BZip2Decoder.cpp
│   │       │   │   ├── BZip2Decoder.h
│   │       │   │   ├── BZip2Encoder.cpp
│   │       │   │   ├── BZip2Encoder.h
│   │       │   │   ├── BZip2Register.cpp
│   │       │   │   ├── Bcj2Coder.cpp
│   │       │   │   ├── Bcj2Coder.h
│   │       │   │   ├── Bcj2Register.cpp
│   │       │   │   ├── BcjCoder.cpp
│   │       │   │   ├── BcjCoder.h
│   │       │   │   ├── BcjRegister.cpp
│   │       │   │   ├── BitlDecoder.cpp
│   │       │   │   ├── BitlDecoder.h
│   │       │   │   ├── BitlEncoder.h
│   │       │   │   ├── BitmDecoder.h
│   │       │   │   ├── BitmEncoder.h
│   │       │   │   ├── BranchMisc.cpp
│   │       │   │   ├── BranchMisc.h
│   │       │   │   ├── BranchRegister.cpp
│   │       │   │   ├── ByteSwap.cpp
│   │       │   │   ├── CodecExports.cpp
│   │       │   │   ├── CopyCoder.cpp
│   │       │   │   ├── CopyCoder.h
│   │       │   │   ├── CopyRegister.cpp
│   │       │   │   ├── Deflate64Register.cpp
│   │       │   │   ├── DeflateConst.h
│   │       │   │   ├── DeflateDecoder.cpp
│   │       │   │   ├── DeflateDecoder.h
│   │       │   │   ├── DeflateEncoder.cpp
│   │       │   │   ├── DeflateEncoder.h
│   │       │   │   ├── DeflateRegister.cpp
│   │       │   │   ├── DeltaFilter.cpp
│   │       │   │   ├── HuffmanDecoder.h
│   │       │   │   ├── ImplodeDecoder.cpp
│   │       │   │   ├── ImplodeDecoder.h
│   │       │   │   ├── LzOutWindow.cpp
│   │       │   │   ├── LzOutWindow.h
│   │       │   │   ├── LzfseDecoder.cpp
│   │       │   │   ├── LzfseDecoder.h
│   │       │   │   ├── LzhDecoder.cpp
│   │       │   │   ├── LzhDecoder.h
│   │       │   │   ├── Lzma2Decoder.cpp
│   │       │   │   ├── Lzma2Decoder.h
│   │       │   │   ├── Lzma2Encoder.cpp
│   │       │   │   ├── Lzma2Encoder.h
│   │       │   │   ├── Lzma2Register.cpp
│   │       │   │   ├── LzmaDecoder.cpp
│   │       │   │   ├── LzmaDecoder.h
│   │       │   │   ├── LzmaEncoder.cpp
│   │       │   │   ├── LzmaEncoder.h
│   │       │   │   ├── LzmaRegister.cpp
│   │       │   │   ├── LzmsDecoder.cpp
│   │       │   │   ├── LzmsDecoder.h
│   │       │   │   ├── Lzx.h
│   │       │   │   ├── LzxDecoder.cpp
│   │       │   │   ├── LzxDecoder.h
│   │       │   │   ├── Mtf8.h
│   │       │   │   ├── PpmdDecoder.cpp
│   │       │   │   ├── PpmdDecoder.h
│   │       │   │   ├── PpmdEncoder.cpp
│   │       │   │   ├── PpmdEncoder.h
│   │       │   │   ├── PpmdRegister.cpp
│   │       │   │   ├── PpmdZip.cpp
│   │       │   │   ├── PpmdZip.h
│   │       │   │   ├── QuantumDecoder.cpp
│   │       │   │   ├── QuantumDecoder.h
│   │       │   │   ├── Rar1Decoder.cpp
│   │       │   │   ├── Rar1Decoder.h
│   │       │   │   ├── Rar2Decoder.cpp
│   │       │   │   ├── Rar2Decoder.h
│   │       │   │   ├── Rar3Decoder.cpp
│   │       │   │   ├── Rar3Decoder.h
│   │       │   │   ├── Rar3Vm.cpp
│   │       │   │   ├── Rar3Vm.h
│   │       │   │   ├── Rar5Decoder.cpp
│   │       │   │   ├── Rar5Decoder.h
│   │       │   │   ├── RarCodecsRegister.cpp
│   │       │   │   ├── ShrinkDecoder.cpp
│   │       │   │   ├── ShrinkDecoder.h
│   │       │   │   ├── StdAfx.h
│   │       │   │   ├── XpressDecoder.cpp
│   │       │   │   ├── XpressDecoder.h
│   │       │   │   ├── XzDecoder.cpp
│   │       │   │   ├── XzDecoder.h
│   │       │   │   ├── XzEncoder.cpp
│   │       │   │   ├── XzEncoder.h
│   │       │   │   ├── ZDecoder.cpp
│   │       │   │   ├── ZDecoder.h
│   │       │   │   ├── ZlibDecoder.cpp
│   │       │   │   ├── ZlibDecoder.h
│   │       │   │   ├── ZlibEncoder.cpp
│   │       │   │   └── ZlibEncoder.h
│   │       │   ├── Crypto/
│   │       │   │   ├── 7zAes.cpp
│   │       │   │   ├── 7zAes.h
│   │       │   │   ├── 7zAesRegister.cpp
│   │       │   │   ├── HmacSha1.cpp
│   │       │   │   ├── HmacSha1.h
│   │       │   │   ├── HmacSha256.cpp
│   │       │   │   ├── HmacSha256.h
│   │       │   │   ├── MyAes.cpp
│   │       │   │   ├── MyAes.h
│   │       │   │   ├── MyAesReg.cpp
│   │       │   │   ├── Pbkdf2HmacSha1.cpp
│   │       │   │   ├── Pbkdf2HmacSha1.h
│   │       │   │   ├── RandGen.cpp
│   │       │   │   ├── RandGen.h
│   │       │   │   ├── Rar20Crypto.cpp
│   │       │   │   ├── Rar20Crypto.h
│   │       │   │   ├── Rar5Aes.cpp
│   │       │   │   ├── Rar5Aes.h
│   │       │   │   ├── RarAes.cpp
│   │       │   │   ├── RarAes.h
│   │       │   │   ├── Sha1Cls.h
│   │       │   │   ├── StdAfx.h
│   │       │   │   ├── WzAes.cpp
│   │       │   │   ├── WzAes.h
│   │       │   │   ├── ZipCrypto.cpp
│   │       │   │   ├── ZipCrypto.h
│   │       │   │   ├── ZipStrong.cpp
│   │       │   │   └── ZipStrong.h
│   │       │   ├── GuiCommon.rc
│   │       │   ├── Guid.txt
│   │       │   ├── ICoder.h
│   │       │   ├── IDecl.h
│   │       │   ├── IPassword.h
│   │       │   ├── IProgress.h
│   │       │   ├── IStream.h
│   │       │   ├── MyVersion.h
│   │       │   ├── PropID.h
│   │       │   └── UI/
│   │       │       ├── Common/
│   │       │       │   ├── ArchiveCommandLine.h
│   │       │       │   ├── ArchiveExtractCallback.cpp
│   │       │       │   ├── ArchiveExtractCallback.h
│   │       │       │   ├── ArchiveOpenCallback.cpp
│   │       │       │   ├── ArchiveOpenCallback.h
│   │       │       │   ├── DefaultName.cpp
│   │       │       │   ├── DefaultName.h
│   │       │       │   ├── DirItem.h
│   │       │       │   ├── EnumDirItems.h
│   │       │       │   ├── ExitCode.h
│   │       │       │   ├── Extract.cpp
│   │       │       │   ├── Extract.h
│   │       │       │   ├── ExtractMode.h
│   │       │       │   ├── ExtractingFilePath.cpp
│   │       │       │   ├── ExtractingFilePath.h
│   │       │       │   ├── HashCalc.h
│   │       │       │   ├── IFileExtractCallback.h
│   │       │       │   ├── LoadCodecs.cpp
│   │       │       │   ├── LoadCodecs.h
│   │       │       │   ├── OpenArchive.cpp
│   │       │       │   ├── OpenArchive.h
│   │       │       │   ├── PropIDUtils.cpp
│   │       │       │   ├── PropIDUtils.h
│   │       │       │   ├── Property.h
│   │       │       │   ├── SetProperties.h
│   │       │       │   ├── SortUtils.cpp
│   │       │       │   ├── SortUtils.h
│   │       │       │   ├── StdAfx.h
│   │       │       │   ├── Update.h
│   │       │       │   ├── UpdateAction.h
│   │       │       │   ├── UpdateCallback.h
│   │       │       │   ├── UpdatePair.h
│   │       │       │   ├── UpdateProduce.h
│   │       │       │   └── ZipRegistry.h
│   │       │       ├── Console/
│   │       │       │   ├── ConsoleClose.cpp
│   │       │       │   ├── ConsoleClose.h
│   │       │       │   ├── ExtractCallbackConsole.cpp
│   │       │       │   ├── ExtractCallbackConsole.h
│   │       │       │   ├── List.cpp
│   │       │       │   ├── List.h
│   │       │       │   ├── MainAr.cpp
│   │       │       │   ├── OpenCallbackConsole.cpp
│   │       │       │   ├── OpenCallbackConsole.h
│   │       │       │   ├── PercentPrinter.cpp
│   │       │       │   ├── PercentPrinter.h
│   │       │       │   ├── StdAfx.h
│   │       │       │   ├── UserInputUtils.cpp
│   │       │       │   └── UserInputUtils.h
│   │       │       ├── Explorer/
│   │       │       │   ├── MyMessages.cpp
│   │       │       │   ├── MyMessages.h
│   │       │       │   └── StdAfx.h
│   │       │       ├── FileManager/
│   │       │       │   ├── BrowseDialog.cpp
│   │       │       │   ├── BrowseDialog.h
│   │       │       │   ├── BrowseDialog.rc
│   │       │       │   ├── BrowseDialogRes.h
│   │       │       │   ├── ComboDialog.cpp
│   │       │       │   ├── ComboDialog.h
│   │       │       │   ├── ComboDialog.rc
│   │       │       │   ├── ComboDialogRes.h
│   │       │       │   ├── DialogSize.h
│   │       │       │   ├── ExtractCallback.cpp
│   │       │       │   ├── ExtractCallback.h
│   │       │       │   ├── FormatUtils.cpp
│   │       │       │   ├── FormatUtils.h
│   │       │       │   ├── LangUtils.cpp
│   │       │       │   ├── LangUtils.h
│   │       │       │   ├── MemDialog.h
│   │       │       │   ├── MemDialogRes.h
│   │       │       │   ├── MyWindowsNew.h
│   │       │       │   ├── OverwriteDialog.cpp
│   │       │       │   ├── OverwriteDialog.h
│   │       │       │   ├── OverwriteDialog.rc
│   │       │       │   ├── OverwriteDialogRes.h
│   │       │       │   ├── PasswordDialog.cpp
│   │       │       │   ├── PasswordDialog.h
│   │       │       │   ├── PasswordDialog.rc
│   │       │       │   ├── PasswordDialogRes.h
│   │       │       │   ├── ProgressDialog.cpp
│   │       │       │   ├── ProgressDialog.h
│   │       │       │   ├── ProgressDialog.rc
│   │       │       │   ├── ProgressDialog2.cpp
│   │       │       │   ├── ProgressDialog2.h
│   │       │       │   ├── ProgressDialog2.rc
│   │       │       │   ├── ProgressDialog2Res.h
│   │       │       │   ├── ProgressDialog2a.rc
│   │       │       │   ├── ProgressDialogRes.h
│   │       │       │   ├── PropertyName.cpp
│   │       │       │   ├── PropertyName.h
│   │       │       │   ├── PropertyNameRes.h
│   │       │       │   ├── RegistryUtils.cpp
│   │       │       │   ├── RegistryUtils.h
│   │       │       │   ├── StdAfx.h
│   │       │       │   ├── SysIconUtils.cpp
│   │       │       │   ├── SysIconUtils.h
│   │       │       │   ├── resource.h
│   │       │       │   └── resourceGui.h
│   │       │       └── GUI/
│   │       │           ├── ExtractDialog.cpp
│   │       │           ├── ExtractDialog.h
│   │       │           ├── ExtractDialog.rc
│   │       │           ├── ExtractDialogRes.h
│   │       │           ├── ExtractGUI.cpp
│   │       │           ├── ExtractGUI.h
│   │       │           ├── ExtractRes.h
│   │       │           ├── HashGUI.h
│   │       │           ├── StdAfx.h
│   │       │           └── resource2.h
│   │       ├── Common/
│   │       │   ├── AutoPtr.h
│   │       │   ├── CRC.cpp
│   │       │   ├── ComTry.h
│   │       │   ├── CommandLineParser.cpp
│   │       │   ├── CommandLineParser.h
│   │       │   ├── Common.h
│   │       │   ├── Common0.h
│   │       │   ├── CrcReg.cpp
│   │       │   ├── Defs.h
│   │       │   ├── DynLimBuf.cpp
│   │       │   ├── DynLimBuf.h
│   │       │   ├── DynamicBuffer.h
│   │       │   ├── IntToString.cpp
│   │       │   ├── IntToString.h
│   │       │   ├── Lang.cpp
│   │       │   ├── Lang.h
│   │       │   ├── ListFileUtils.cpp
│   │       │   ├── ListFileUtils.h
│   │       │   ├── LzFindPrepare.cpp
│   │       │   ├── MyBuffer.h
│   │       │   ├── MyBuffer2.h
│   │       │   ├── MyCom.h
│   │       │   ├── MyException.h
│   │       │   ├── MyInitGuid.h
│   │       │   ├── MyLinux.h
│   │       │   ├── MyMap.cpp
│   │       │   ├── MyMap.h
│   │       │   ├── MyString.cpp
│   │       │   ├── MyString.h
│   │       │   ├── MyTypes.h
│   │       │   ├── MyUnknown.h
│   │       │   ├── MyVector.h
│   │       │   ├── MyWindows.h
│   │       │   ├── MyXml.cpp
│   │       │   ├── MyXml.h
│   │       │   ├── NewHandler.cpp
│   │       │   ├── NewHandler.h
│   │       │   ├── StdAfx.h
│   │       │   ├── StdInStream.cpp
│   │       │   ├── StdInStream.h
│   │       │   ├── StdOutStream.cpp
│   │       │   ├── StdOutStream.h
│   │       │   ├── StringConvert.cpp
│   │       │   ├── StringConvert.h
│   │       │   ├── StringToInt.cpp
│   │       │   ├── StringToInt.h
│   │       │   ├── TextConfig.cpp
│   │       │   ├── TextConfig.h
│   │       │   ├── UTFConvert.cpp
│   │       │   ├── UTFConvert.h
│   │       │   ├── Wildcard.cpp
│   │       │   ├── Wildcard.h
│   │       │   ├── XzCrc64Init.cpp
│   │       │   └── XzCrc64Reg.cpp
│   │       └── Windows/
│   │           ├── COM.h
│   │           ├── Clipboard.cpp
│   │           ├── Clipboard.h
│   │           ├── CommonDialog.cpp
│   │           ├── CommonDialog.h
│   │           ├── Control/
│   │           │   ├── ComboBox.cpp
│   │           │   ├── ComboBox.h
│   │           │   ├── Dialog.cpp
│   │           │   ├── Dialog.h
│   │           │   ├── Edit.h
│   │           │   ├── ListView.cpp
│   │           │   ├── ListView.h
│   │           │   ├── ProgressBar.h
│   │           │   ├── Static.h
│   │           │   └── StdAfx.h
│   │           ├── DLL.cpp
│   │           ├── DLL.h
│   │           ├── Defs.h
│   │           ├── ErrorMsg.cpp
│   │           ├── ErrorMsg.h
│   │           ├── FileDir.cpp
│   │           ├── FileDir.h
│   │           ├── FileFind.cpp
│   │           ├── FileFind.h
│   │           ├── FileIO.cpp
│   │           ├── FileIO.h
│   │           ├── FileLink.cpp
│   │           ├── FileMapping.cpp
│   │           ├── FileMapping.h
│   │           ├── FileName.cpp
│   │           ├── FileName.h
│   │           ├── Handle.h
│   │           ├── MemoryGlobal.cpp
│   │           ├── MemoryGlobal.h
│   │           ├── MemoryLock.cpp
│   │           ├── MemoryLock.h
│   │           ├── NtCheck.h
│   │           ├── PropVariant.cpp
│   │           ├── PropVariant.h
│   │           ├── PropVariantConv.cpp
│   │           ├── PropVariantConv.h
│   │           ├── PropVariantUtils.cpp
│   │           ├── PropVariantUtils.h
│   │           ├── Registry.cpp
│   │           ├── Registry.h
│   │           ├── ResourceString.cpp
│   │           ├── ResourceString.h
│   │           ├── SecurityUtils.cpp
│   │           ├── SecurityUtils.h
│   │           ├── Shell.cpp
│   │           ├── Shell.h
│   │           ├── StdAfx.h
│   │           ├── Synchronization.cpp
│   │           ├── Synchronization.h
│   │           ├── System.cpp
│   │           ├── System.h
│   │           ├── Thread.h
│   │           ├── TimeUtils.cpp
│   │           ├── TimeUtils.h
│   │           ├── Window.cpp
│   │           └── Window.h
│   └── Wrappers/
│       ├── Sha1Wrapper.cpp
│       ├── Sha1Wrapper.h
│       ├── Sha256Wrapper.cpp
│       ├── Sha256Wrapper.h
│       ├── Sha512Wrapper.cpp
│       └── Sha512Wrapper.h
├── NanaZip.ExtensionPackage/
│   ├── NanaZip.ExtensionPackage.Installer.iss
│   └── NanaZip.ExtensionPackage.Installer.proj
├── NanaZip.MaintainerTools.slnx
├── NanaZip.MigrateLegacyStringResources/
│   ├── NanaZip.MigrateLegacyStringResources.csproj
│   ├── Program.cs
│   └── VSWhereHelper.cs
├── NanaZip.Modern/
│   ├── AboutPage.cpp
│   ├── AboutPage.h
│   ├── AboutPage.idl
│   ├── AboutPage.xaml
│   ├── AddressBar.cpp
│   ├── AddressBar.h
│   ├── AddressBar.idl
│   ├── AddressBarTemplate.cpp
│   ├── AddressBarTemplate.h
│   ├── AddressBarTemplate.idl
│   ├── AddressBarTemplate.xaml
│   ├── App.cpp
│   ├── App.h
│   ├── App.idl
│   ├── App.xaml
│   ├── ControlMacros.h
│   ├── CopyLocationPage.cpp
│   ├── CopyLocationPage.h
│   ├── CopyLocationPage.idl
│   ├── CopyLocationPage.xaml
│   ├── InformationPage.cpp
│   ├── InformationPage.h
│   ├── InformationPage.idl
│   ├── InformationPage.xaml
│   ├── MainWindowToolBarPage.cpp
│   ├── MainWindowToolBarPage.h
│   ├── MainWindowToolBarPage.idl
│   ├── MainWindowToolBarPage.xaml
│   ├── NanaZip.Modern.Wrapper.cpp
│   ├── NanaZip.Modern.cpp
│   ├── NanaZip.Modern.def
│   ├── NanaZip.Modern.h
│   ├── NanaZip.Modern.manifest
│   ├── NanaZip.Modern.props
│   ├── NanaZip.Modern.vcxproj
│   ├── NanaZip.Modern.vcxproj.filters
│   ├── ProgressPage.cpp
│   ├── ProgressPage.h
│   ├── ProgressPage.idl
│   ├── ProgressPage.xaml
│   ├── SponsorPage.cpp
│   ├── SponsorPage.h
│   ├── SponsorPage.idl
│   ├── SponsorPage.xaml
│   ├── StatusBar.cpp
│   ├── StatusBar.h
│   ├── StatusBar.idl
│   ├── StatusBarTemplate.cpp
│   ├── StatusBarTemplate.h
│   ├── StatusBarTemplate.idl
│   ├── StatusBarTemplate.xaml
│   ├── Strings/
│   │   ├── af/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ar/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── az-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── be/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── bg/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── bn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ca/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ca-es-valencia/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── cs/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── cy/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── da/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── de/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── el/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── en/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── eo/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── es/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── et/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── eu/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── fa/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── fi/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── fr/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── fy/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ga/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── gl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── gu/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── he/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── hi/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── hr/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── hu/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── hy/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── id/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── is/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── it/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ja/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ka/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── kk/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ko/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ku-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ky-kg/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── lt/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── lv/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── mk/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── mn-cyrl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── mn-mong/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── mr/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ms/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── nb/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ne/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── nl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── nn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── pa-in/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── pl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── ps/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── pt/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── pt-BR/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── ro/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ru/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── si/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sk/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sq/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── sr-Latn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sr-cyrl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sv/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sw/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ta/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── tg-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── th/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── tk-cyrl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── tr/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── tt-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ug-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── uk/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── uz-cyrl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── uz-latn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── vi/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── yo-latn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── zh-Hans/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   └── zh-Hant/
│   │       ├── Common.resw
│   │       ├── CopyLocationPage.resw
│   │       └── ProgressPage.resw
│   ├── pch.cpp
│   └── pch.h
├── NanaZip.Project/
│   ├── NanaZip.Project.Version.props
│   ├── NanaZip.Project.props
│   └── ReadMe.md
├── NanaZip.ProjectAssetsGenerator/
│   ├── NanaZip.ProjectAssetsGenerator.csproj
│   └── Program.cs
├── NanaZip.RefreshPackageVersion/
│   ├── NanaZip.RefreshPackageVersion.csproj
│   └── Program.cs
├── NanaZip.Specification/
│   ├── NanaZip.Specification.SevenZip.h
│   └── NanaZip.Specification.props
├── NanaZip.UI.Classic/
│   ├── AboutDialog.cpp
│   ├── AboutDialog.h
│   ├── NanaZip.manifest
│   ├── NanaZip.vcxproj
│   ├── NanaZip.vcxproj.filters
│   └── SevenZip/
│       ├── .gitignore
│       ├── C/
│       │   ├── 7zTypes.h
│       │   ├── Alloc.c
│       │   ├── Alloc.h
│       │   ├── Compiler.h
│       │   ├── CpuArch.c
│       │   ├── CpuArch.h
│       │   ├── DllSecur.c
│       │   ├── DllSecur.h
│       │   ├── Precomp.h
│       │   ├── RotateDefs.h
│       │   ├── Sort.c
│       │   ├── Sort.h
│       │   ├── Threads.c
│       │   └── Threads.h
│       └── CPP/
│           ├── 7zip/
│           │   ├── Archive/
│           │   │   ├── Common/
│           │   │   │   ├── ItemNameUtils.cpp
│           │   │   │   ├── ItemNameUtils.h
│           │   │   │   └── StdAfx.h
│           │   │   └── IArchive.h
│           │   ├── Common/
│           │   │   ├── CreateCoder.cpp
│           │   │   ├── CreateCoder.h
│           │   │   ├── FilePathAutoRename.cpp
│           │   │   ├── FilePathAutoRename.h
│           │   │   ├── FileStreams.cpp
│           │   │   ├── FileStreams.h
│           │   │   ├── FilterCoder.cpp
│           │   │   ├── FilterCoder.h
│           │   │   ├── LimitedStreams.cpp
│           │   │   ├── LimitedStreams.h
│           │   │   ├── MethodId.h
│           │   │   ├── MethodProps.cpp
│           │   │   ├── MethodProps.h
│           │   │   ├── ProgressUtils.cpp
│           │   │   ├── ProgressUtils.h
│           │   │   ├── PropId.cpp
│           │   │   ├── RegisterArc.h
│           │   │   ├── RegisterCodec.h
│           │   │   ├── StdAfx.h
│           │   │   ├── StreamObjects.cpp
│           │   │   ├── StreamObjects.h
│           │   │   ├── StreamUtils.cpp
│           │   │   ├── StreamUtils.h
│           │   │   ├── UniqBlocks.cpp
│           │   │   └── UniqBlocks.h
│           │   ├── Compress/
│           │   │   ├── CopyCoder.cpp
│           │   │   ├── CopyCoder.h
│           │   │   └── StdAfx.h
│           │   ├── GuiCommon.rc
│           │   ├── Guid.txt
│           │   ├── ICoder.h
│           │   ├── IDecl.h
│           │   ├── IPassword.h
│           │   ├── IProgress.h
│           │   ├── IStream.h
│           │   ├── PropID.h
│           │   └── UI/
│           │       ├── Agent/
│           │       │   ├── Agent.cpp
│           │       │   ├── Agent.h
│           │       │   ├── AgentOut.cpp
│           │       │   ├── AgentProxy.cpp
│           │       │   ├── AgentProxy.h
│           │       │   ├── ArchiveFolder.cpp
│           │       │   ├── ArchiveFolderOpen.cpp
│           │       │   ├── ArchiveFolderOut.cpp
│           │       │   ├── IFolderArchive.h
│           │       │   ├── StdAfx.h
│           │       │   ├── UpdateCallbackAgent.cpp
│           │       │   └── UpdateCallbackAgent.h
│           │       ├── Common/
│           │       │   ├── ArchiveExtractCallback.cpp
│           │       │   ├── ArchiveExtractCallback.h
│           │       │   ├── ArchiveName.cpp
│           │       │   ├── ArchiveName.h
│           │       │   ├── ArchiveOpenCallback.cpp
│           │       │   ├── ArchiveOpenCallback.h
│           │       │   ├── CompressCall.cpp
│           │       │   ├── CompressCall.h
│           │       │   ├── DefaultName.cpp
│           │       │   ├── DefaultName.h
│           │       │   ├── DirItem.h
│           │       │   ├── EnumDirItems.cpp
│           │       │   ├── EnumDirItems.h
│           │       │   ├── ExitCode.h
│           │       │   ├── Extract.h
│           │       │   ├── ExtractMode.h
│           │       │   ├── ExtractingFilePath.cpp
│           │       │   ├── ExtractingFilePath.h
│           │       │   ├── HashCalc.cpp
│           │       │   ├── HashCalc.h
│           │       │   ├── IFileExtractCallback.h
│           │       │   ├── LoadCodecs.cpp
│           │       │   ├── LoadCodecs.h
│           │       │   ├── OpenArchive.cpp
│           │       │   ├── OpenArchive.h
│           │       │   ├── PropIDUtils.cpp
│           │       │   ├── PropIDUtils.h
│           │       │   ├── Property.h
│           │       │   ├── SetProperties.cpp
│           │       │   ├── SetProperties.h
│           │       │   ├── SortUtils.cpp
│           │       │   ├── SortUtils.h
│           │       │   ├── StdAfx.h
│           │       │   ├── Update.h
│           │       │   ├── UpdateAction.cpp
│           │       │   ├── UpdateAction.h
│           │       │   ├── UpdateCallback.cpp
│           │       │   ├── UpdateCallback.h
│           │       │   ├── UpdatePair.cpp
│           │       │   ├── UpdatePair.h
│           │       │   ├── UpdateProduce.cpp
│           │       │   ├── UpdateProduce.h
│           │       │   ├── WorkDir.cpp
│           │       │   ├── WorkDir.h
│           │       │   ├── ZipRegistry.cpp
│           │       │   └── ZipRegistry.h
│           │       ├── Explorer/
│           │       │   ├── ContextMenu.cpp
│           │       │   ├── ContextMenu.h
│           │       │   ├── ContextMenuFlags.h
│           │       │   ├── MyExplorerCommand.h
│           │       │   ├── MyMessages.h
│           │       │   ├── StdAfx.h
│           │       │   ├── resource.h
│           │       │   └── resource2.rc
│           │       ├── FileManager/
│           │       │   ├── AltStreamsFolder.cpp
│           │       │   ├── AltStreamsFolder.h
│           │       │   ├── App.cpp
│           │       │   ├── App.h
│           │       │   ├── AppState.h
│           │       │   ├── BrowseDialog.cpp
│           │       │   ├── BrowseDialog.h
│           │       │   ├── BrowseDialog.rc
│           │       │   ├── BrowseDialogRes.h
│           │       │   ├── ClassDefs.cpp
│           │       │   ├── ComboDialog.cpp
│           │       │   ├── ComboDialog.h
│           │       │   ├── ComboDialog.rc
│           │       │   ├── ComboDialogRes.h
│           │       │   ├── CopyDialog.cpp
│           │       │   ├── CopyDialog.h
│           │       │   ├── CopyDialog.rc
│           │       │   ├── CopyDialogRes.h
│           │       │   ├── DialogSize.h
│           │       │   ├── EditDialog.cpp
│           │       │   ├── EditDialog.h
│           │       │   ├── EditDialog.rc
│           │       │   ├── EditDialogRes.h
│           │       │   ├── EditPage.cpp
│           │       │   ├── EditPage.h
│           │       │   ├── EditPage.rc
│           │       │   ├── EditPage2.rc
│           │       │   ├── EditPageRes.h
│           │       │   ├── EnumFormatEtc.cpp
│           │       │   ├── EnumFormatEtc.h
│           │       │   ├── ExtractCallback.cpp
│           │       │   ├── ExtractCallback.h
│           │       │   ├── FM.cpp
│           │       │   ├── FSDrives.cpp
│           │       │   ├── FSDrives.h
│           │       │   ├── FSFolder.cpp
│           │       │   ├── FSFolder.h
│           │       │   ├── FSFolderCopy.cpp
│           │       │   ├── FileFolderPluginOpen.cpp
│           │       │   ├── FileFolderPluginOpen.h
│           │       │   ├── FilePlugins.cpp
│           │       │   ├── FilePlugins.h
│           │       │   ├── FoldersPage.cpp
│           │       │   ├── FoldersPage.h
│           │       │   ├── FoldersPage.rc
│           │       │   ├── FoldersPage2.rc
│           │       │   ├── FoldersPageRes.h
│           │       │   ├── FormatUtils.cpp
│           │       │   ├── FormatUtils.h
│           │       │   ├── IFolder.h
│           │       │   ├── LangUtils.cpp
│           │       │   ├── LangUtils.h
│           │       │   ├── LinkDialog.cpp
│           │       │   ├── LinkDialog.h
│           │       │   ├── LinkDialog.rc
│           │       │   ├── LinkDialogRes.h
│           │       │   ├── MenuPage.cpp
│           │       │   ├── MenuPage.h
│           │       │   ├── MenuPage.rc
│           │       │   ├── MenuPage2.rc
│           │       │   ├── MenuPageRes.h
│           │       │   ├── MessagesDialog.cpp
│           │       │   ├── MessagesDialog.h
│           │       │   ├── MessagesDialog.rc
│           │       │   ├── MessagesDialogRes.h
│           │       │   ├── MyCom2.h
│           │       │   ├── MyLoadMenu.cpp
│           │       │   ├── MyLoadMenu.h
│           │       │   ├── MyWindowsNew.h
│           │       │   ├── NetFolder.cpp
│           │       │   ├── NetFolder.h
│           │       │   ├── OpenCallback.cpp
│           │       │   ├── OpenCallback.h
│           │       │   ├── OptionsDialog.cpp
│           │       │   ├── OverwriteDialog.cpp
│           │       │   ├── OverwriteDialog.h
│           │       │   ├── OverwriteDialog.rc
│           │       │   ├── OverwriteDialogRes.h
│           │       │   ├── Panel.cpp
│           │       │   ├── Panel.h
│           │       │   ├── PanelCopy.cpp
│           │       │   ├── PanelCrc.cpp
│           │       │   ├── PanelDrag.cpp
│           │       │   ├── PanelFolderChange.cpp
│           │       │   ├── PanelItemOpen.cpp
│           │       │   ├── PanelItems.cpp
│           │       │   ├── PanelKey.cpp
│           │       │   ├── PanelListNotify.cpp
│           │       │   ├── PanelMenu.cpp
│           │       │   ├── PanelOperations.cpp
│           │       │   ├── PanelSelect.cpp
│           │       │   ├── PanelSort.cpp
│           │       │   ├── PanelSplitFile.cpp
│           │       │   ├── PasswordDialog.cpp
│           │       │   ├── PasswordDialog.h
│           │       │   ├── PasswordDialog.rc
│           │       │   ├── PasswordDialogRes.h
│           │       │   ├── PluginInterface.h
│           │       │   ├── PluginLoader.h
│           │       │   ├── ProgressDialog2.cpp
│           │       │   ├── ProgressDialog2.h
│           │       │   ├── ProgressDialog2.rc
│           │       │   ├── ProgressDialog2Res.h
│           │       │   ├── ProgressDialog2a.rc
│           │       │   ├── PropertyName.cpp
│           │       │   ├── PropertyName.h
│           │       │   ├── PropertyName.rc
│           │       │   ├── PropertyNameRes.h
│           │       │   ├── RegistryAssociations.cpp
│           │       │   ├── RegistryAssociations.h
│           │       │   ├── RegistryPlugins.cpp
│           │       │   ├── RegistryPlugins.h
│           │       │   ├── RegistryUtils.cpp
│           │       │   ├── RegistryUtils.h
│           │       │   ├── RootFolder.cpp
│           │       │   ├── RootFolder.h
│           │       │   ├── SettingsPage.cpp
│           │       │   ├── SettingsPage.h
│           │       │   ├── SettingsPage.rc
│           │       │   ├── SettingsPage2.rc
│           │       │   ├── SettingsPageRes.h
│           │       │   ├── SplitDialog.cpp
│           │       │   ├── SplitDialog.h
│           │       │   ├── SplitDialog.rc
│           │       │   ├── SplitDialogRes.h
│           │       │   ├── SplitUtils.cpp
│           │       │   ├── SplitUtils.h
│           │       │   ├── StdAfx.cpp
│           │       │   ├── StdAfx.h
│           │       │   ├── StringUtils.cpp
│           │       │   ├── StringUtils.h
│           │       │   ├── SysIconUtils.cpp
│           │       │   ├── SysIconUtils.h
│           │       │   ├── TextPairs.cpp
│           │       │   ├── TextPairs.h
│           │       │   ├── UpdateCallback100.cpp
│           │       │   ├── UpdateCallback100.h
│           │       │   ├── VerCtrl.cpp
│           │       │   ├── ViewSettings.cpp
│           │       │   ├── ViewSettings.h
│           │       │   ├── resource.h
│           │       │   ├── resource.rc
│           │       │   ├── resourceGui.h
│           │       │   └── resourceGui.rc
│           │       └── GUI/
│           │           ├── Extract.rc
│           │           ├── ExtractDialogRes.h
│           │           ├── ExtractRes.h
│           │           ├── HashGUI.cpp
│           │           ├── HashGUI.h
│           │           ├── StdAfx.h
│           │           ├── UpdateCallbackGUI.h
│           │           ├── UpdateCallbackGUI2.cpp
│           │           ├── UpdateCallbackGUI2.h
│           │           ├── resource2.h
│           │           ├── resource3.h
│           │           └── resource3.rc
│           ├── Common/
│           │   ├── AutoPtr.h
│           │   ├── ComTry.h
│           │   ├── Common.h
│           │   ├── Defs.h
│           │   ├── DynLimBuf.cpp
│           │   ├── DynLimBuf.h
│           │   ├── DynamicBuffer.h
│           │   ├── IntToString.cpp
│           │   ├── IntToString.h
│           │   ├── Lang.cpp
│           │   ├── Lang.h
│           │   ├── MyBuffer.h
│           │   ├── MyBuffer2.h
│           │   ├── MyCom.h
│           │   ├── MyException.h
│           │   ├── MyGuidDef.h
│           │   ├── MyInitGuid.h
│           │   ├── MyLinux.h
│           │   ├── MyString.cpp
│           │   ├── MyString.h
│           │   ├── MyTypes.h
│           │   ├── MyUnknown.h
│           │   ├── MyVector.h
│           │   ├── MyWindows.h
│           │   ├── NewHandler.cpp
│           │   ├── NewHandler.h
│           │   ├── Random.cpp
│           │   ├── Random.h
│           │   ├── StdAfx.h
│           │   ├── StringConvert.cpp
│           │   ├── StringConvert.h
│           │   ├── StringToInt.cpp
│           │   ├── StringToInt.h
│           │   ├── UTFConvert.cpp
│           │   ├── UTFConvert.h
│           │   ├── Wildcard.cpp
│           │   └── Wildcard.h
│           └── Windows/
│               ├── COM.h
│               ├── Clipboard.cpp
│               ├── Clipboard.h
│               ├── CommonDialog.cpp
│               ├── CommonDialog.h
│               ├── Control/
│               │   ├── ComboBox.cpp
│               │   ├── ComboBox.h
│               │   ├── CommandBar.h
│               │   ├── Dialog.cpp
│               │   ├── Dialog.h
│               │   ├── Edit.h
│               │   ├── ImageList.h
│               │   ├── ListView.cpp
│               │   ├── ListView.h
│               │   ├── ProgressBar.h
│               │   ├── PropertyPage.cpp
│               │   ├── PropertyPage.h
│               │   ├── ReBar.h
│               │   ├── Static.h
│               │   ├── StatusBar.h
│               │   ├── StdAfx.h
│               │   ├── ToolBar.h
│               │   ├── Window2.cpp
│               │   └── Window2.h
│               ├── DLL.cpp
│               ├── DLL.h
│               ├── Defs.h
│               ├── ErrorMsg.cpp
│               ├── ErrorMsg.h
│               ├── FileDir.cpp
│               ├── FileDir.h
│               ├── FileFind.cpp
│               ├── FileFind.h
│               ├── FileIO.cpp
│               ├── FileIO.h
│               ├── FileLink.cpp
│               ├── FileMapping.h
│               ├── FileName.cpp
│               ├── FileName.h
│               ├── FileSystem.cpp
│               ├── FileSystem.h
│               ├── Handle.h
│               ├── MemoryGlobal.cpp
│               ├── MemoryGlobal.h
│               ├── MemoryLock.cpp
│               ├── MemoryLock.h
│               ├── Menu.cpp
│               ├── Menu.h
│               ├── Net.cpp
│               ├── Net.h
│               ├── NtCheck.h
│               ├── ProcessUtils.cpp
│               ├── ProcessUtils.h
│               ├── PropVariant.cpp
│               ├── PropVariant.h
│               ├── PropVariantConv.cpp
│               ├── PropVariantConv.h
│               ├── Registry.cpp
│               ├── Registry.h
│               ├── ResourceString.cpp
│               ├── ResourceString.h
│               ├── SecurityUtils.cpp
│               ├── SecurityUtils.h
│               ├── Shell.cpp
│               ├── Shell.h
│               ├── StdAfx.h
│               ├── Synchronization.cpp
│               ├── Synchronization.h
│               ├── System.cpp
│               ├── System.h
│               ├── Thread.h
│               ├── TimeUtils.cpp
│               ├── TimeUtils.h
│               ├── Window.cpp
│               └── Window.h
├── NanaZip.UI.Modern/
│   ├── NanaZip.Modern.FileManager.manifest
│   ├── NanaZip.Modern.FileManager.vcxproj
│   ├── NanaZip.Modern.FileManager.vcxproj.filters
│   ├── NanaZip.ShellExtension.cpp
│   ├── NanaZip.ShellExtension.def
│   ├── NanaZip.ShellExtension.manifest
│   ├── NanaZip.ShellExtension.vcxproj
│   ├── NanaZip.ShellExtension.vcxproj.filters
│   ├── NanaZip.UI.cpp
│   ├── NanaZip.UI.h
│   └── SevenZip/
│       ├── .gitignore
│       ├── C/
│       │   ├── 7zTypes.h
│       │   ├── Alloc.c
│       │   ├── Alloc.h
│       │   ├── Compiler.h
│       │   ├── CpuArch.c
│       │   ├── CpuArch.h
│       │   ├── DllSecur.c
│       │   ├── DllSecur.h
│       │   ├── Precomp.h
│       │   ├── RotateDefs.h
│       │   ├── Sort.c
│       │   ├── Sort.h
│       │   ├── Threads.c
│       │   └── Threads.h
│       └── CPP/
│           ├── 7zip/
│           │   ├── Archive/
│           │   │   ├── Common/
│           │   │   │   ├── ItemNameUtils.cpp
│           │   │   │   ├── ItemNameUtils.h
│           │   │   │   └── StdAfx.h
│           │   │   └── IArchive.h
│           │   ├── Common/
│           │   │   ├── CreateCoder.cpp
│           │   │   ├── CreateCoder.h
│           │   │   ├── FilePathAutoRename.cpp
│           │   │   ├── FilePathAutoRename.h
│           │   │   ├── FileStreams.cpp
│           │   │   ├── FileStreams.h
│           │   │   ├── FilterCoder.cpp
│           │   │   ├── FilterCoder.h
│           │   │   ├── LimitedStreams.cpp
│           │   │   ├── LimitedStreams.h
│           │   │   ├── MethodId.h
│           │   │   ├── MethodProps.cpp
│           │   │   ├── MethodProps.h
│           │   │   ├── ProgressUtils.cpp
│           │   │   ├── ProgressUtils.h
│           │   │   ├── PropId.cpp
│           │   │   ├── RegisterArc.h
│           │   │   ├── RegisterCodec.h
│           │   │   ├── StdAfx.h
│           │   │   ├── StreamObjects.cpp
│           │   │   ├── StreamObjects.h
│           │   │   ├── StreamUtils.cpp
│           │   │   ├── StreamUtils.h
│           │   │   ├── UniqBlocks.cpp
│           │   │   └── UniqBlocks.h
│           │   ├── Compress/
│           │   │   ├── CopyCoder.cpp
│           │   │   ├── CopyCoder.h
│           │   │   └── StdAfx.h
│           │   ├── GuiCommon.rc
│           │   ├── Guid.txt
│           │   ├── ICoder.h
│           │   ├── IDecl.h
│           │   ├── IPassword.h
│           │   ├── IProgress.h
│           │   ├── IStream.h
│           │   ├── PropID.h
│           │   └── UI/
│           │       ├── Agent/
│           │       │   ├── Agent.cpp
│           │       │   ├── Agent.h
│           │       │   ├── AgentOut.cpp
│           │       │   ├── AgentProxy.cpp
│           │       │   ├── AgentProxy.h
│           │       │   ├── ArchiveFolder.cpp
│           │       │   ├── ArchiveFolderOpen.cpp
│           │       │   ├── ArchiveFolderOut.cpp
│           │       │   ├── IFolderArchive.h
│           │       │   ├── StdAfx.h
│           │       │   ├── UpdateCallbackAgent.cpp
│           │       │   └── UpdateCallbackAgent.h
│           │       ├── Common/
│           │       │   ├── ArchiveExtractCallback.cpp
│           │       │   ├── ArchiveExtractCallback.h
│           │       │   ├── ArchiveName.cpp
│           │       │   ├── ArchiveName.h
│           │       │   ├── ArchiveOpenCallback.cpp
│           │       │   ├── ArchiveOpenCallback.h
│           │       │   ├── CompressCall.cpp
│           │       │   ├── CompressCall.h
│           │       │   ├── DefaultName.cpp
│           │       │   ├── DefaultName.h
│           │       │   ├── DirItem.h
│           │       │   ├── EnumDirItems.cpp
│           │       │   ├── EnumDirItems.h
│           │       │   ├── ExitCode.h
│           │       │   ├── Extract.h
│           │       │   ├── ExtractMode.h
│           │       │   ├── ExtractingFilePath.cpp
│           │       │   ├── ExtractingFilePath.h
│           │       │   ├── HashCalc.cpp
│           │       │   ├── HashCalc.h
│           │       │   ├── IFileExtractCallback.h
│           │       │   ├── LoadCodecs.cpp
│           │       │   ├── LoadCodecs.h
│           │       │   ├── OpenArchive.cpp
│           │       │   ├── OpenArchive.h
│           │       │   ├── PropIDUtils.cpp
│           │       │   ├── PropIDUtils.h
│           │       │   ├── Property.h
│           │       │   ├── SetProperties.cpp
│           │       │   ├── SetProperties.h
│           │       │   ├── SortUtils.cpp
│           │       │   ├── SortUtils.h
│           │       │   ├── StdAfx.h
│           │       │   ├── Update.h
│           │       │   ├── UpdateAction.cpp
│           │       │   ├── UpdateAction.h
│           │       │   ├── UpdateCallback.cpp
│           │       │   ├── UpdateCallback.h
│           │       │   ├── UpdatePair.cpp
│           │       │   ├── UpdatePair.h
│           │       │   ├── UpdateProduce.cpp
│           │       │   ├── UpdateProduce.h
│           │       │   ├── WorkDir.cpp
│           │       │   ├── WorkDir.h
│           │       │   ├── ZipRegistry.cpp
│           │       │   └── ZipRegistry.h
│           │       ├── Explorer/
│           │       │   ├── ContextMenu.cpp
│           │       │   ├── ContextMenu.h
│           │       │   ├── ContextMenuFlags.h
│           │       │   ├── MyExplorerCommand.h
│           │       │   ├── MyMessages.cpp
│           │       │   ├── MyMessages.h
│           │       │   ├── StdAfx.cpp
│           │       │   ├── StdAfx.h
│           │       │   ├── resource.h
│           │       │   ├── resource.rc
│           │       │   └── resource2.rc
│           │       ├── FileManager/
│           │       │   ├── AltStreamsFolder.cpp
│           │       │   ├── AltStreamsFolder.h
│           │       │   ├── App.cpp
│           │       │   ├── App.h
│           │       │   ├── AppState.h
│           │       │   ├── BrowseDialog.cpp
│           │       │   ├── BrowseDialog.h
│           │       │   ├── BrowseDialog.rc
│           │       │   ├── BrowseDialogRes.h
│           │       │   ├── ClassDefs.cpp
│           │       │   ├── ComboDialog.cpp
│           │       │   ├── ComboDialog.h
│           │       │   ├── ComboDialog.rc
│           │       │   ├── ComboDialogRes.h
│           │       │   ├── CopyDialog.cpp
│           │       │   ├── CopyDialog.h
│           │       │   ├── CopyDialog.rc
│           │       │   ├── CopyDialogRes.h
│           │       │   ├── DialogSize.h
│           │       │   ├── EditDialog.cpp
│           │       │   ├── EditDialog.h
│           │       │   ├── EditDialog.rc
│           │       │   ├── EditDialogRes.h
│           │       │   ├── EditPage.cpp
│           │       │   ├── EditPage.h
│           │       │   ├── EditPage.rc
│           │       │   ├── EditPage2.rc
│           │       │   ├── EditPageRes.h
│           │       │   ├── EnumFormatEtc.cpp
│           │       │   ├── EnumFormatEtc.h
│           │       │   ├── ExtractCallback.cpp
│           │       │   ├── ExtractCallback.h
│           │       │   ├── FM.cpp
│           │       │   ├── FSDrives.cpp
│           │       │   ├── FSDrives.h
│           │       │   ├── FSFolder.cpp
│           │       │   ├── FSFolder.h
│           │       │   ├── FSFolderCopy.cpp
│           │       │   ├── FileFolderPluginOpen.cpp
│           │       │   ├── FileFolderPluginOpen.h
│           │       │   ├── FilePlugins.cpp
│           │       │   ├── FilePlugins.h
│           │       │   ├── FoldersPage.cpp
│           │       │   ├── FoldersPage.h
│           │       │   ├── FoldersPage.rc
│           │       │   ├── FoldersPage2.rc
│           │       │   ├── FoldersPageRes.h
│           │       │   ├── FormatUtils.cpp
│           │       │   ├── FormatUtils.h
│           │       │   ├── IFolder.h
│           │       │   ├── LangUtils.cpp
│           │       │   ├── LangUtils.h
│           │       │   ├── LinkDialog.cpp
│           │       │   ├── LinkDialog.h
│           │       │   ├── LinkDialog.rc
│           │       │   ├── LinkDialogRes.h
│           │       │   ├── MenuPage.cpp
│           │       │   ├── MenuPage.h
│           │       │   ├── MenuPage.rc
│           │       │   ├── MenuPage2.rc
│           │       │   ├── MenuPageRes.h
│           │       │   ├── MessagesDialog.cpp
│           │       │   ├── MessagesDialog.h
│           │       │   ├── MessagesDialog.rc
│           │       │   ├── MessagesDialogRes.h
│           │       │   ├── MyCom2.h
│           │       │   ├── MyLoadMenu.cpp
│           │       │   ├── MyLoadMenu.h
│           │       │   ├── MyWindowsNew.h
│           │       │   ├── NetFolder.cpp
│           │       │   ├── NetFolder.h
│           │       │   ├── OpenCallback.cpp
│           │       │   ├── OpenCallback.h
│           │       │   ├── OptionsDialog.cpp
│           │       │   ├── OverwriteDialog.cpp
│           │       │   ├── OverwriteDialog.h
│           │       │   ├── OverwriteDialog.rc
│           │       │   ├── OverwriteDialogRes.h
│           │       │   ├── Panel.cpp
│           │       │   ├── Panel.h
│           │       │   ├── PanelCopy.cpp
│           │       │   ├── PanelCrc.cpp
│           │       │   ├── PanelDrag.cpp
│           │       │   ├── PanelFolderChange.cpp
│           │       │   ├── PanelItemOpen.cpp
│           │       │   ├── PanelItems.cpp
│           │       │   ├── PanelKey.cpp
│           │       │   ├── PanelListNotify.cpp
│           │       │   ├── PanelMenu.cpp
│           │       │   ├── PanelOperations.cpp
│           │       │   ├── PanelSelect.cpp
│           │       │   ├── PanelSort.cpp
│           │       │   ├── PanelSplitFile.cpp
│           │       │   ├── PasswordDialog.cpp
│           │       │   ├── PasswordDialog.h
│           │       │   ├── PasswordDialog.rc
│           │       │   ├── PasswordDialogRes.h
│           │       │   ├── PluginInterface.h
│           │       │   ├── PluginLoader.h
│           │       │   ├── ProgressDialog2.cpp
│           │       │   ├── ProgressDialog2.h
│           │       │   ├── ProgressDialog2.rc
│           │       │   ├── ProgressDialog2Res.h
│           │       │   ├── ProgressDialog2a.rc
│           │       │   ├── PropertyName.cpp
│           │       │   ├── PropertyName.h
│           │       │   ├── PropertyName.rc
│           │       │   ├── PropertyNameRes.h
│           │       │   ├── RegistryAssociations.cpp
│           │       │   ├── RegistryAssociations.h
│           │       │   ├── RegistryPlugins.cpp
│           │       │   ├── RegistryPlugins.h
│           │       │   ├── RegistryUtils.cpp
│           │       │   ├── RegistryUtils.h
│           │       │   ├── RootFolder.cpp
│           │       │   ├── RootFolder.h
│           │       │   ├── SettingsPage.cpp
│           │       │   ├── SettingsPage.h
│           │       │   ├── SettingsPage.rc
│           │       │   ├── SettingsPage2.rc
│           │       │   ├── SettingsPageRes.h
│           │       │   ├── SplitDialog.cpp
│           │       │   ├── SplitDialog.h
│           │       │   ├── SplitDialog.rc
│           │       │   ├── SplitDialogRes.h
│           │       │   ├── SplitUtils.cpp
│           │       │   ├── SplitUtils.h
│           │       │   ├── StdAfx.cpp
│           │       │   ├── StdAfx.h
│           │       │   ├── StringUtils.cpp
│           │       │   ├── StringUtils.h
│           │       │   ├── SysIconUtils.cpp
│           │       │   ├── SysIconUtils.h
│           │       │   ├── TextPairs.cpp
│           │       │   ├── TextPairs.h
│           │       │   ├── UpdateCallback100.cpp
│           │       │   ├── UpdateCallback100.h
│           │       │   ├── VerCtrl.cpp
│           │       │   ├── ViewSettings.cpp
│           │       │   ├── ViewSettings.h
│           │       │   ├── resource.h
│           │       │   ├── resource.rc
│           │       │   ├── resourceGui.h
│           │       │   └── resourceGui.rc
│           │       └── GUI/
│           │           ├── Extract.rc
│           │           ├── ExtractDialogRes.h
│           │           ├── ExtractRes.h
│           │           ├── HashGUI.cpp
│           │           ├── HashGUI.h
│           │           ├── StdAfx.h
│           │           ├── UpdateCallbackGUI.h
│           │           ├── UpdateCallbackGUI2.cpp
│           │           ├── UpdateCallbackGUI2.h
│           │           ├── resource2.h
│           │           ├── resource3.h
│           │           └── resource3.rc
│           ├── Common/
│           │   ├── AutoPtr.h
│           │   ├── ComTry.h
│           │   ├── Common.h
│           │   ├── Defs.h
│           │   ├── DynLimBuf.cpp
│           │   ├── DynLimBuf.h
│           │   ├── DynamicBuffer.h
│           │   ├── IntToString.cpp
│           │   ├── IntToString.h
│           │   ├── Lang.cpp
│           │   ├── Lang.h
│           │   ├── MyBuffer.h
│           │   ├── MyBuffer2.h
│           │   ├── MyCom.h
│           │   ├── MyException.h
│           │   ├── MyGuidDef.h
│           │   ├── MyInitGuid.h
│           │   ├── MyLinux.h
│           │   ├── MyString.cpp
│           │   ├── MyString.h
│           │   ├── MyTypes.h
│           │   ├── MyUnknown.h
│           │   ├── MyVector.h
│           │   ├── MyWindows.h
│           │   ├── NewHandler.cpp
│           │   ├── NewHandler.h
│           │   ├── Random.cpp
│           │   ├── Random.h
│           │   ├── StdAfx.h
│           │   ├── StringConvert.cpp
│           │   ├── StringConvert.h
│           │   ├── StringToInt.cpp
│           │   ├── StringToInt.h
│           │   ├── UTFConvert.cpp
│           │   ├── UTFConvert.h
│           │   ├── Wildcard.cpp
│           │   └── Wildcard.h
│           └── Windows/
│               ├── COM.h
│               ├── Clipboard.cpp
│               ├── Clipboard.h
│               ├── CommonDialog.cpp
│               ├── CommonDialog.h
│               ├── Control/
│               │   ├── ComboBox.cpp
│               │   ├── ComboBox.h
│               │   ├── CommandBar.h
│               │   ├── Dialog.cpp
│               │   ├── Dialog.h
│               │   ├── Edit.h
│               │   ├── ImageList.h
│               │   ├── ListView.cpp
│               │   ├── ListView.h
│               │   ├── ProgressBar.h
│               │   ├── PropertyPage.cpp
│               │   ├── PropertyPage.h
│               │   ├── ReBar.h
│               │   ├── Static.h
│               │   ├── StatusBar.h
│               │   ├── StdAfx.h
│               │   ├── ToolBar.h
│               │   ├── Window2.cpp
│               │   └── Window2.h
│               ├── DLL.cpp
│               ├── DLL.h
│               ├── Defs.h
│               ├── ErrorMsg.cpp
│               ├── ErrorMsg.h
│               ├── FileDir.cpp
│               ├── FileDir.h
│               ├── FileFind.cpp
│               ├── FileFind.h
│               ├── FileIO.cpp
│               ├── FileIO.h
│               ├── FileLink.cpp
│               ├── FileMapping.h
│               ├── FileName.cpp
│               ├── FileName.h
│               ├── FileSystem.cpp
│               ├── FileSystem.h
│               ├── Handle.h
│               ├── MemoryGlobal.cpp
│               ├── MemoryGlobal.h
│               ├── MemoryLock.cpp
│               ├── MemoryLock.h
│               ├── Menu.cpp
│               ├── Menu.h
│               ├── Net.cpp
│               ├── Net.h
│               ├── NtCheck.h
│               ├── ProcessUtils.cpp
│               ├── ProcessUtils.h
│               ├── PropVariant.cpp
│               ├── PropVariant.h
│               ├── PropVariantConv.cpp
│               ├── PropVariantConv.h
│               ├── Registry.cpp
│               ├── Registry.h
│               ├── ResourceString.cpp
│               ├── ResourceString.h
│               ├── SecurityUtils.cpp
│               ├── SecurityUtils.h
│               ├── Shell.cpp
│               ├── Shell.h
│               ├── StdAfx.h
│               ├── Synchronization.cpp
│               ├── Synchronization.h
│               ├── System.cpp
│               ├── System.h
│               ├── Thread.h
│               ├── TimeUtils.cpp
│               ├── TimeUtils.h
│               ├── Window.cpp
│               └── Window.h
├── NanaZip.Universal/
│   ├── NanaZip.Universal.Console.manifest
│   ├── NanaZip.Universal.Console.vcxproj
│   ├── NanaZip.Universal.Console.vcxproj.filters
│   ├── NanaZip.Universal.Windows.manifest
│   ├── NanaZip.Universal.Windows.vcxproj
│   ├── NanaZip.Universal.Windows.vcxproj.filters
│   └── SevenZip/
│       ├── .gitignore
│       ├── C/
│       │   ├── 7zCrc.c
│       │   ├── 7zCrc.h
│       │   ├── 7zCrcOpt.c
│       │   ├── 7zTypes.h
│       │   ├── 7zVersion.h
│       │   ├── 7zWindows.h
│       │   ├── Alloc.c
│       │   ├── Alloc.h
│       │   ├── Compiler.h
│       │   ├── CpuArch.c
│       │   ├── CpuArch.h
│       │   ├── DllSecur.c
│       │   ├── DllSecur.h
│       │   ├── Precomp.h
│       │   ├── RotateDefs.h
│       │   ├── Sort.c
│       │   ├── Sort.h
│       │   ├── Threads.c
│       │   └── Threads.h
│       └── CPP/
│           ├── 7zip/
│           │   ├── Archive/
│           │   │   ├── Common/
│           │   │   │   ├── ItemNameUtils.cpp
│           │   │   │   ├── ItemNameUtils.h
│           │   │   │   ├── OutStreamWithCRC.cpp
│           │   │   │   ├── OutStreamWithCRC.h
│           │   │   │   └── StdAfx.h
│           │   │   └── IArchive.h
│           │   ├── Common/
│           │   │   ├── CreateCoder.cpp
│           │   │   ├── CreateCoder.h
│           │   │   ├── FilePathAutoRename.cpp
│           │   │   ├── FilePathAutoRename.h
│           │   │   ├── FileStreams.cpp
│           │   │   ├── FileStreams.h
│           │   │   ├── FilterCoder.cpp
│           │   │   ├── FilterCoder.h
│           │   │   ├── LimitedStreams.cpp
│           │   │   ├── LimitedStreams.h
│           │   │   ├── MethodId.h
│           │   │   ├── MethodProps.cpp
│           │   │   ├── MethodProps.h
│           │   │   ├── MultiOutStream.cpp
│           │   │   ├── MultiOutStream.h
│           │   │   ├── OutBuffer.h
│           │   │   ├── ProgressUtils.cpp
│           │   │   ├── ProgressUtils.h
│           │   │   ├── PropId.cpp
│           │   │   ├── RegisterArc.h
│           │   │   ├── RegisterCodec.h
│           │   │   ├── StdAfx.h
│           │   │   ├── StreamObjects.cpp
│           │   │   ├── StreamObjects.h
│           │   │   ├── StreamUtils.cpp
│           │   │   ├── StreamUtils.h
│           │   │   ├── UniqBlocks.cpp
│           │   │   └── UniqBlocks.h
│           │   ├── Compress/
│           │   │   ├── CopyCoder.cpp
│           │   │   ├── CopyCoder.h
│           │   │   └── StdAfx.h
│           │   ├── GuiCommon.rc
│           │   ├── ICoder.h
│           │   ├── IDecl.h
│           │   ├── IPassword.h
│           │   ├── IProgress.h
│           │   ├── IStream.h
│           │   ├── MyVersion.h
│           │   ├── PropID.h
│           │   └── UI/
│           │       ├── Agent/
│           │       │   └── IFolderArchive.h
│           │       ├── Common/
│           │       │   ├── ArchiveCommandLine.cpp
│           │       │   ├── ArchiveCommandLine.h
│           │       │   ├── ArchiveExtractCallback.cpp
│           │       │   ├── ArchiveExtractCallback.h
│           │       │   ├── ArchiveOpenCallback.cpp
│           │       │   ├── ArchiveOpenCallback.h
│           │       │   ├── Bench.cpp
│           │       │   ├── Bench.h
│           │       │   ├── DefaultName.cpp
│           │       │   ├── DefaultName.h
│           │       │   ├── DirItem.h
│           │       │   ├── EnumDirItems.cpp
│           │       │   ├── EnumDirItems.h
│           │       │   ├── ExitCode.h
│           │       │   ├── Extract.cpp
│           │       │   ├── Extract.h
│           │       │   ├── ExtractMode.h
│           │       │   ├── ExtractingFilePath.cpp
│           │       │   ├── ExtractingFilePath.h
│           │       │   ├── HashCalc.cpp
│           │       │   ├── HashCalc.h
│           │       │   ├── IFileExtractCallback.h
│           │       │   ├── LoadCodecs.cpp
│           │       │   ├── LoadCodecs.h
│           │       │   ├── OpenArchive.cpp
│           │       │   ├── OpenArchive.h
│           │       │   ├── PropIDUtils.cpp
│           │       │   ├── PropIDUtils.h
│           │       │   ├── Property.h
│           │       │   ├── SetProperties.cpp
│           │       │   ├── SetProperties.h
│           │       │   ├── SortUtils.cpp
│           │       │   ├── SortUtils.h
│           │       │   ├── StdAfx.h
│           │       │   ├── TempFiles.cpp
│           │       │   ├── TempFiles.h
│           │       │   ├── Update.cpp
│           │       │   ├── Update.h
│           │       │   ├── UpdateAction.cpp
│           │       │   ├── UpdateAction.h
│           │       │   ├── UpdateCallback.cpp
│           │       │   ├── UpdateCallback.h
│           │       │   ├── UpdatePair.cpp
│           │       │   ├── UpdatePair.h
│           │       │   ├── UpdateProduce.cpp
│           │       │   ├── UpdateProduce.h
│           │       │   ├── WorkDir.cpp
│           │       │   ├── WorkDir.h
│           │       │   ├── ZipRegistry.cpp
│           │       │   └── ZipRegistry.h
│           │       ├── Console/
│           │       │   ├── BenchCon.cpp
│           │       │   ├── BenchCon.h
│           │       │   ├── ConsoleClose.cpp
│           │       │   ├── ConsoleClose.h
│           │       │   ├── ExtractCallbackConsole.cpp
│           │       │   ├── ExtractCallbackConsole.h
│           │       │   ├── HashCon.cpp
│           │       │   ├── HashCon.h
│           │       │   ├── List.cpp
│           │       │   ├── List.h
│           │       │   ├── Main.cpp
│           │       │   ├── MainAr.cpp
│           │       │   ├── OpenCallbackConsole.cpp
│           │       │   ├── OpenCallbackConsole.h
│           │       │   ├── PercentPrinter.cpp
│           │       │   ├── PercentPrinter.h
│           │       │   ├── StdAfx.h
│           │       │   ├── UpdateCallbackConsole.cpp
│           │       │   ├── UpdateCallbackConsole.h
│           │       │   ├── UserInputUtils.cpp
│           │       │   └── UserInputUtils.h
│           │       ├── Explorer/
│           │       │   ├── MyMessages.cpp
│           │       │   ├── MyMessages.h
│           │       │   └── StdAfx.h
│           │       ├── FileManager/
│           │       │   ├── BrowseDialog.cpp
│           │       │   ├── BrowseDialog.h
│           │       │   ├── BrowseDialog.rc
│           │       │   ├── BrowseDialogRes.h
│           │       │   ├── ComboDialog.cpp
│           │       │   ├── ComboDialog.h
│           │       │   ├── ComboDialog.rc
│           │       │   ├── ComboDialogRes.h
│           │       │   ├── DialogSize.h
│           │       │   ├── EditDialog.cpp
│           │       │   ├── EditDialog.h
│           │       │   ├── EditDialog.rc
│           │       │   ├── EditDialogRes.h
│           │       │   ├── ExtractCallback.cpp
│           │       │   ├── ExtractCallback.h
│           │       │   ├── FormatUtils.cpp
│           │       │   ├── FormatUtils.h
│           │       │   ├── IFolder.h
│           │       │   ├── LangUtils.cpp
│           │       │   ├── LangUtils.h
│           │       │   ├── MemDialog.cpp
│           │       │   ├── MemDialog.h
│           │       │   ├── MemDialog.rc
│           │       │   ├── MemDialogRes.h
│           │       │   ├── MyWindowsNew.h
│           │       │   ├── OpenCallback.cpp
│           │       │   ├── OpenCallback.h
│           │       │   ├── OverwriteDialog.cpp
│           │       │   ├── OverwriteDialog.h
│           │       │   ├── OverwriteDialog.rc
│           │       │   ├── OverwriteDialogRes.h
│           │       │   ├── PasswordDialog.cpp
│           │       │   ├── PasswordDialog.h
│           │       │   ├── PasswordDialog.rc
│           │       │   ├── PasswordDialogRes.h
│           │       │   ├── ProgressDialog2.cpp
│           │       │   ├── ProgressDialog2.h
│           │       │   ├── ProgressDialog2.rc
│           │       │   ├── ProgressDialog2Res.h
│           │       │   ├── ProgressDialog2a.rc
│           │       │   ├── PropertyName.cpp
│           │       │   ├── PropertyName.h
│           │       │   ├── PropertyName.rc
│           │       │   ├── PropertyNameRes.h
│           │       │   ├── RegistryUtils.cpp
│           │       │   ├── RegistryUtils.h
│           │       │   ├── SplitUtils.cpp
│           │       │   ├── SplitUtils.h
│           │       │   ├── StdAfx.h
│           │       │   ├── StringUtils.cpp
│           │       │   ├── StringUtils.h
│           │       │   ├── SysIconUtils.cpp
│           │       │   ├── SysIconUtils.h
│           │       │   ├── resource.h
│           │       │   ├── resourceGui.h
│           │       │   └── resourceGui.rc
│           │       └── GUI/
│           │           ├── BenchmarkDialog.cpp
│           │           ├── BenchmarkDialog.h
│           │           ├── BenchmarkDialog.rc
│           │           ├── BenchmarkDialogRes.h
│           │           ├── CompressDialog.cpp
│           │           ├── CompressDialog.h
│           │           ├── CompressDialog.rc
│           │           ├── CompressDialogRes.h
│           │           ├── CompressOptionsDialog.rc
│           │           ├── Extract.rc
│           │           ├── ExtractDialog.cpp
│           │           ├── ExtractDialog.h
│           │           ├── ExtractDialog.rc
│           │           ├── ExtractDialogRes.h
│           │           ├── ExtractGUI.cpp
│           │           ├── ExtractGUI.h
│           │           ├── ExtractRes.h
│           │           ├── GUI.cpp
│           │           ├── HashGUI.cpp
│           │           ├── HashGUI.h
│           │           ├── StdAfx.h
│           │           ├── UpdateCallbackGUI.cpp
│           │           ├── UpdateCallbackGUI.h
│           │           ├── UpdateCallbackGUI2.cpp
│           │           ├── UpdateCallbackGUI2.h
│           │           ├── UpdateGUI.cpp
│           │           ├── UpdateGUI.h
│           │           ├── resource.rc
│           │           ├── resource2.h
│           │           ├── resource2.rc
│           │           ├── resource3.h
│           │           └── resource3.rc
│           ├── Common/
│           │   ├── CRC.cpp
│           │   ├── ComTry.h
│           │   ├── CommandLineParser.cpp
│           │   ├── CommandLineParser.h
│           │   ├── Common.h
│           │   ├── Common0.h
│           │   ├── Defs.h
│           │   ├── DynLimBuf.cpp
│           │   ├── DynLimBuf.h
│           │   ├── IntToString.cpp
│           │   ├── IntToString.h
│           │   ├── Lang.cpp
│           │   ├── Lang.h
│           │   ├── ListFileUtils.cpp
│           │   ├── ListFileUtils.h
│           │   ├── MyBuffer.h
│           │   ├── MyBuffer2.h
│           │   ├── MyCom.h
│           │   ├── MyException.h
│           │   ├── MyInitGuid.h
│           │   ├── MyLinux.h
│           │   ├── MyString.cpp
│           │   ├── MyString.h
│           │   ├── MyTypes.h
│           │   ├── MyUnknown.h
│           │   ├── MyVector.h
│           │   ├── MyWindows.h
│           │   ├── NewHandler.cpp
│           │   ├── NewHandler.h
│           │   ├── StdAfx.h
│           │   ├── StdInStream.cpp
│           │   ├── StdInStream.h
│           │   ├── StdOutStream.cpp
│           │   ├── StdOutStream.h
│           │   ├── StringConvert.cpp
│           │   ├── StringConvert.h
│           │   ├── StringToInt.cpp
│           │   ├── StringToInt.h
│           │   ├── UTFConvert.cpp
│           │   ├── UTFConvert.h
│           │   ├── Wildcard.cpp
│           │   └── Wildcard.h
│           └── Windows/
│               ├── COM.h
│               ├── Clipboard.cpp
│               ├── Clipboard.h
│               ├── CommonDialog.cpp
│               ├── CommonDialog.h
│               ├── Control/
│               │   ├── ComboBox.cpp
│               │   ├── ComboBox.h
│               │   ├── Dialog.cpp
│               │   ├── Dialog.h
│               │   ├── Edit.h
│               │   ├── ListView.cpp
│               │   ├── ListView.h
│               │   ├── ProgressBar.h
│               │   ├── Static.h
│               │   └── StdAfx.h
│               ├── DLL.cpp
│               ├── DLL.h
│               ├── Defs.h
│               ├── ErrorMsg.cpp
│               ├── ErrorMsg.h
│               ├── FileDir.cpp
│               ├── FileDir.h
│               ├── FileFind.cpp
│               ├── FileFind.h
│               ├── FileIO.cpp
│               ├── FileIO.h
│               ├── FileLink.cpp
│               ├── FileMapping.h
│               ├── FileName.cpp
│               ├── FileName.h
│               ├── FileSystem.cpp
│               ├── FileSystem.h
│               ├── Handle.h
│               ├── MemoryGlobal.cpp
│               ├── MemoryGlobal.h
│               ├── MemoryLock.cpp
│               ├── MemoryLock.h
│               ├── NtCheck.h
│               ├── PropVariant.cpp
│               ├── PropVariant.h
│               ├── PropVariantConv.cpp
│               ├── PropVariantConv.h
│               ├── Registry.cpp
│               ├── Registry.h
│               ├── ResourceString.cpp
│               ├── ResourceString.h
│               ├── SecurityUtils.h
│               ├── Shell.cpp
│               ├── Shell.h
│               ├── StdAfx.h
│               ├── Synchronization.cpp
│               ├── Synchronization.h
│               ├── System.cpp
│               ├── System.h
│               ├── SystemInfo.cpp
│               ├── SystemInfo.h
│               ├── Thread.h
│               ├── TimeUtils.cpp
│               ├── TimeUtils.h
│               ├── Window.cpp
│               └── Window.h
├── NanaZip.slnx
├── NanaZipPackage/
│   ├── NanaZipPackage.wapproj
│   ├── Package.appxmanifest
│   └── Strings/
│       ├── af/
│       │   └── Legacy.resw
│       ├── ar/
│       │   └── Legacy.resw
│       ├── az-arab/
│       │   └── Legacy.resw
│       ├── be/
│       │   └── Legacy.resw
│       ├── bg/
│       │   └── Legacy.resw
│       ├── bn/
│       │   └── Legacy.resw
│       ├── ca/
│       │   └── Legacy.resw
│       ├── ca-es-valencia/
│       │   └── Legacy.resw
│       ├── cs/
│       │   └── Legacy.resw
│       ├── cy/
│       │   └── Legacy.resw
│       ├── da/
│       │   └── Legacy.resw
│       ├── de/
│       │   └── Legacy.resw
│       ├── el/
│       │   └── Legacy.resw
│       ├── en/
│       │   └── Legacy.resw
│       ├── eo/
│       │   └── Legacy.resw
│       ├── es/
│       │   └── Legacy.resw
│       ├── et/
│       │   └── Legacy.resw
│       ├── eu/
│       │   └── Legacy.resw
│       ├── fa/
│       │   └── Legacy.resw
│       ├── fi/
│       │   └── Legacy.resw
│       ├── fr/
│       │   └── Legacy.resw
│       ├── fy/
│       │   └── Legacy.resw
│       ├── ga/
│       │   └── Legacy.resw
│       ├── gl/
│       │   └── Legacy.resw
│       ├── gu/
│       │   └── Legacy.resw
│       ├── he/
│       │   └── Legacy.resw
│       ├── hi/
│       │   └── Legacy.resw
│       ├── hr/
│       │   └── Legacy.resw
│       ├── hu/
│       │   └── Legacy.resw
│       ├── hy/
│       │   └── Legacy.resw
│       ├── id/
│       │   └── Legacy.resw
│       ├── is/
│       │   └── Legacy.resw
│       ├── it/
│       │   └── Legacy.resw
│       ├── ja/
│       │   └── Legacy.resw
│       ├── ka/
│       │   └── Legacy.resw
│       ├── kk/
│       │   └── Legacy.resw
│       ├── ko/
│       │   └── Legacy.resw
│       ├── ku-arab/
│       │   └── Legacy.resw
│       ├── ky-kg/
│       │   └── Legacy.resw
│       ├── lt/
│       │   └── Legacy.resw
│       ├── lv/
│       │   └── Legacy.resw
│       ├── mk/
│       │   └── Legacy.resw
│       ├── mn-cyrl/
│       │   └── Legacy.resw
│       ├── mn-mong/
│       │   └── Legacy.resw
│       ├── mr/
│       │   └── Legacy.resw
│       ├── ms/
│       │   └── Legacy.resw
│       ├── nb/
│       │   └── Legacy.resw
│       ├── ne/
│       │   └── Legacy.resw
│       ├── nl/
│       │   └── Legacy.resw
│       ├── nn/
│       │   └── Legacy.resw
│       ├── pa-in/
│       │   └── Legacy.resw
│       ├── pl/
│       │   └── Legacy.resw
│       ├── ps/
│       │   └── Legacy.resw
│       ├── pt/
│       │   └── Legacy.resw
│       ├── pt-br/
│       │   └── Legacy.resw
│       ├── ro/
│       │   └── Legacy.resw
│       ├── ru/
│       │   └── Legacy.resw
│       ├── si/
│       │   └── Legacy.resw
│       ├── sk/
│       │   └── Legacy.resw
│       ├── sl/
│       │   └── Legacy.resw
│       ├── sq/
│       │   └── Legacy.resw
│       ├── sr-Latn/
│       │   └── Legacy.resw
│       ├── sr-cyrl/
│       │   └── Legacy.resw
│       ├── sv/
│       │   └── Legacy.resw
│       ├── sw/
│       │   └── Legacy.resw
│       ├── ta/
│       │   └── Legacy.resw
│       ├── tg-arab/
│       │   └── Legacy.resw
│       ├── th/
│       │   └── Legacy.resw
│       ├── tk-cyrl/
│       │   └── Legacy.resw
│       ├── tr/
│       │   └── Legacy.resw
│       ├── tt-arab/
│       │   └── Legacy.resw
│       ├── ug-arab/
│       │   └── Legacy.resw
│       ├── uk/
│       │   └── Legacy.resw
│       ├── uz-cyrl/
│       │   └── Legacy.resw
│       ├── uz-latn/
│       │   └── Legacy.resw
│       ├── vi/
│       │   └── Legacy.resw
│       ├── yo-latn/
│       │   └── Legacy.resw
│       ├── zh-Hans/
│       │   └── Legacy.resw
│       └── zh-Hant/
│           └── Legacy.resw
├── ReadMe.md
├── RestoreNuGetPackages.cmd
├── Security.md
└── Settings.XamlStyler

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
## 
## PROJECT:    Mouri Internal Library Essentials
## FILE:       .editorconfig
## PURPOSE:    The root .editorconfig file
## 
## LICENSE:    The MIT License
## 
## MAINTAINER: MouriNaruto (Kenji.Mouri@outlook.com)
## 

root = true

[*]
charset = utf-8-bom
end_of_line = crlf

[*.md]
insert_final_newline = true

[*.{c,c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,ixx,cppm,ipp,odl,idl,inl,ipp,tlh,tli}]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
vc_generate_documentation_comments = doxygen_slash_star
cpp_new_line_before_open_brace_function = new_line
cpp_new_line_before_open_brace_block = new_line
cpp_new_line_before_open_brace_lambda = new_line
cpp_new_line_before_open_brace_type = new_line
cpp_new_line_before_open_brace_namespace = new_line
cpp_new_line_close_brace_same_line_empty_type = false
cpp_new_line_close_brace_same_line_empty_function = false
cpp_new_line_before_else = true
cpp_new_line_before_catch = true
cpp_new_line_before_while_in_do_while = true
cpp_naming_rule.general_names.symbols = all_symbols
cpp_naming_rule.general_names.style = mile_project_cpp
cpp_naming_symbols.all_symbols.applicable_kinds = *
cpp_naming_style.mile_project_cpp.capitalization = pascal_case

[*.{cs,csx,vb,vbx,asmx}]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

[*.{js,json,xml,toml,xaml}]
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.rc]
charset = utf-16le

[*.inf]
charset = utf-16le

[*.bat]
charset = utf-8
insert_final_newline = true

[*.sh]
charset = utf-8
end_of_line = lf
insert_final_newline = true

[*.{asm,inc,s,nasm}]
charset = utf-8
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true


================================================
FILE: .github/FUNDING.yml
================================================
custom: [
  "https://github.com/M2Team/NanaZip/blob/main/Documents/SponsorEdition.md"
]


================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug report
description: Something isn't working as expected.
labels: ["bug"]
body:
  - type: checkboxes
    attributes:
      label: Prerequisite checks
      description: These items are required before submitting the bug report.
      options:
      - label: My system fulfills [the minimum software requirements](https://github.com/M2Team/NanaZip?tab=readme-ov-file#system-requirements).
        required: true
      - label: I have downloaded NanaZip from an official source (GitHub, Microsoft Store, My Digital Life Forums, SourceForge, and Windows App Community)
        required: true
  - type: textarea
    attributes:
      label: Describe the issue
    validations:
      required: true
  - type: textarea
    attributes:
      label: Reproduction steps
      description: What steps did you take for this bug to happen?
      placeholder: |
        1.
        2.
        3.
    validations:
      required: true
  - type: textarea
    attributes:
      label: Expected behavior
      description: What did you expect this feature to do?
    validations:
      required: true
  - type: input
    attributes:
      label: NanaZip veresion
      description: What version of NanaZip are you using?
    validations:
      required: true
  - type: input
    attributes:
      label: Windows version
      description: What version of Windows are you using?
      placeholder: Windows 11, version 25H2; Windows 11 Insider build xxxxx
    validations:
      required: true
  - type: textarea
    attributes:
      label: Additional context
      description: Any other information related to this bug that you want to tell us.


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: true
contact_links:
  - name: Report a security vulnerability
    url: https://github.com/M2Team/NanaZip/security/advisories/new
    about: Don't open a GitHub issue to report a vulnerability. Please create a new security advisory instead.


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.yml
================================================
name: Feature request
description: Request a new feature into NanaZip.
labels: ["enhancement"]
body:
  - type: textarea
    attributes:
      label: Describe the feature
    validations:
      required: true
  - type: checkboxes
    attributes:
      label: Prerequisite checks
      options:
        - label: I have confirmed that this feature isn't yet implemented in the latest Preview release.
          required: true


================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!---
  Read https://github.com/M2Team/NanaZip/blob/main/CONTRIBUTING.md word by word
  first. For security fix PRs, also need to read
  https://github.com/M2Team/NanaZip/blob/main/Security.md.
-->


================================================
FILE: .github/dco.yml
================================================
allowRemediationCommits:
  individual: true
  thirdParty: true
require:
  members: true


================================================
FILE: .github/workflows/BuildBinaries.yml
================================================
name: Build Binaries

on:
  push:
    paths-ignore:
      - 'Documents/**'
      - '**/*.md'
  pull_request:
    paths-ignore:
      - 'Documents/**'
      - '**/*.md'

jobs:
  build:
    runs-on: windows-latest
    env:
      POWERSHELL_TELEMETRY_OPTOUT: 1
    steps:
    - uses: actions/checkout@v4
      with:
        submodules: 'recursive'
    - uses: microsoft/setup-msbuild@v2
    - name: Clear local NuGet cache (workaround for failed restores on windows-latest)
      run: dotnet nuget locals all --clear
    - name: Build
      run: MSBuild -binaryLogger:Output\BuildAllTargets.binlog -m BuildAllTargets.proj
    - name: Upload MSIX Bundle
      uses: actions/upload-artifact@v4
      with:
        name: NanaZip_Mainline_ApplicationPackages
        path: Output/Binaries/AppPackages
    - name: Upload Extension Package Installer
      uses: actions/upload-artifact@v4
      with:
        name: NanaZip_Mainline_ExtensionPackageInstaller
        path: Output/NanaZip.ExtensionPackage_*.exe
    - name: Upload MSBuild Build Process Binary Log
      uses: actions/upload-artifact@v4
      if: '!cancelled()'
      with:
        name: NanaZip_Mainline_BuildBinaryLog
        path: Output/BuildAllTargets.binlog
    - name: Upload Portable Binaries
      uses: actions/upload-artifact@v4
      with:
        name: NanaZip_Mainline_PortableBinaries
        path: Output/Binaries/Root/Binaries
    - name: Upload Debug Symbols
      uses: actions/upload-artifact@v4
      with:
        name: NanaZip_Mainline_DebugSymbols
        path: Output/Binaries/Root/Symbols


================================================
FILE: .github/workflows/UpdatePrecompiledBuildTools.yml
================================================
name: Update Precompiled Build Tools

on:
  push:
    branches:
      - main
    paths:
      - 'NanaZip.Build.Tasks/**'
      - '.github/workflows/UpdatePrecompiledBuildTools.yml'

jobs:
  build:
    runs-on: windows-latest
    env:
      POWERSHELL_TELEMETRY_OPTOUT: 1
    steps:
    - uses: actions/checkout@v4
      with:
        submodules: 'recursive'
    - uses: microsoft/setup-msbuild@v2
    - name: Clear local NuGet cache (workaround for failed restores on windows-latest)
      run: dotnet nuget locals all --clear
    - name: Configure the git commit information
      run: |
        git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
        git config --local user.name "github-actions[bot]"
    - name: Refresh the build number
      run: |
        MSBuild -target:RefreshVersion BuildAllTargets.proj
        git commit -a -m "Refresh the build number for the precompiled build tools."
    - name: Prepare the compiled build tools binaries
      run: |
        dotnet build --configuration Release NanaZip.Build.Tasks\NanaZip.Build.Tasks.csproj
        git commit -a -m "Update the precompiled build tools."
    - name: Push changes to the repository
      run: |
        git checkout -b unstaged/update-precompiled-build-tools
        git push origin unstaged/update-precompiled-build-tools --force
        

================================================
FILE: .github/workflows/UpdateWebsite.yml
================================================
name: Update Website

on:
  push:
    branches:
      - main
    paths:
      - 'Documents/Website/**'
      - '.github/workflows/UpdateWebsite.yml'

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: "pages"
  cancel-in-progress: false

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v6
      - name: Build and upload website
        uses: withastro/action@v5
        with:
          path: ./Documents/Website
  
  deploy:
    needs: build
    runs-on: ubuntu-latest
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

================================================
FILE: .gitignore
================================================
## 
## PROJECT:    Mouri Internal Library Essentials
## FILE:       .gitignore
## PURPOSE:    The root .gitignore file for Visual Studio C++ Project
## 
## LICENSE:    The MIT License
## 
## MAINTAINER: MouriNaruto (Kenji.Mouri@outlook.com)
## 

##
## Ignore Mile.Project specific temporary files, build results,
## and files generated by popular Visual Studio add-ons.
## 
Output/

##
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs

# Mono auto generated files
mono_crash.*

# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/

# Visual Studio 2017 auto generated files
Generated\ Files/

# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

# Benchmark Results
BenchmarkDotNet.Artifacts/

# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/

# ASP.NET Scaffolding
ScaffoldingReadMe.txt

# StyleCop
StyleCopReport.xml

# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

# Chutzpah Test files
_Chutzpah*

# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap

# Visual Studio Trace Files
*.e2e

# TFS 2012 Local Workspace
$tf/

# Guidance Automation Toolkit
*.gpState

# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

# TeamCity is a build add-in
_TeamCity*

# DotCover is a Code Coverage Tool
*.dotCover

# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json

# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info

# Visual Studio code coverage results
*.coverage
*.coveragexml

# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

# MightyMoose
*.mm.*
AutoTest.Net/

# Web workbench (sass)
.sass-cache/

# Installshield output folder
[Ee]xpress/

# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

# Click-Once directory
publish/

# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj

# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/

# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets

# Microsoft Azure Build Output
csx/
*.build.csdef

# Microsoft Azure Emulator
ecf/
rcf/

# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload

# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/

# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk

# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/

# RIA/Silverlight projects
Generated_Code/

# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak

# SQL Server files
*.mdf
*.ldf
*.ndf

# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl

# Microsoft Fakes
FakesAssemblies/

# GhostDoc plugin setting file
*.GhostDoc.xml

# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/

# Visual Studio 6 build log
*.plg

# Visual Studio 6 workspace options file
*.opt

# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp

# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp

# Visual Studio 6 technical files
*.ncb
*.aps

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/

# CodeRush personal settings
.cr/personal

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config

# Tabs Studio
*.tss

# Telerik's JustMock configuration file
*.jmconfig

# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs

# OpenCover UI analysis results
OpenCover/

# Azure Stream Analytics local run output
ASALocalRun/

# MSBuild Binary and Structured Log
*.binlog
MSBuild_Logs/

# NVidia Nsight GPU debugger configuration file
*.nvuser

# MFractors (Xamarin productivity tool) working folder
.mfractor/

# Local History for Visual Studio
.localhistory/

# Visual Studio History (VSHistory) files
.vshistory/

# BeatPulse healthcheck temp database
healthchecksdb

# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/

# Ionide (cross platform F# VS Code tools) working folder
.ionide/

# Fody - auto-generated XML schema
FodyWeavers.xsd

# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace

# Local History for Visual Studio Code
.history/

# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp

# JetBrains Rider
*.sln.iml


================================================
FILE: BuildAllTargets.cmd
================================================
@setlocal
@echo off

rem Change to the current folder.
cd "%~dp0"

rem Remove the output folder for a fresh compile.
rd /s /q Output

rem Initialize Visual Studio environment
set VisualStudioInstallerFolder="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
if %PROCESSOR_ARCHITECTURE%==x86 set VisualStudioInstallerFolder="%ProgramFiles%\Microsoft Visual Studio\Installer"
pushd %VisualStudioInstallerFolder%
for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
  set VisualStudioInstallDir=%%i
)
popd
call "%VisualStudioInstallDir%\VC\Auxiliary\Build\vcvarsall.bat" x86

rem Build all targets
MSBuild -binaryLogger:Output\BuildAllTargets.binlog -m BuildAllTargets.proj

@endlocal

================================================
FILE: BuildAllTargets.proj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project 
  DefaultTargets="RefreshVersion;Restore;Build;Packaging"
  xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="NanaZip.Project\NanaZip.Project.props" />
  <UsingTask
    TaskName="NanaZip.Build.Tasks.RefreshAppxManifestVersion"
    AssemblyFile="$(MSBuildThisFileDirectory)NanaZip.Project\NanaZip.Build.Tasks.dll"/>
  <UsingTask
    TaskName="NanaZip.Build.Tasks.RefreshProjectBuildNumberDate"
    AssemblyFile="$(MSBuildThisFileDirectory)NanaZip.Project\NanaZip.Build.Tasks.dll"/>
  <Target Name="RefreshVersion">
    <Exec Command="git show -s --format=%25%25cs" ConsoleToMSBuild="true" IgnoreExitCode="true">
      <Output TaskParameter="ExitCode" PropertyName="GitExitCode" />
      <Output TaskParameter="ConsoleOutput" PropertyName="GitBuildNumberDate" />
    </Exec>
    <PropertyGroup>
      <NanaZipBuildNumberDate Condition="'$(GitExitCode)' == '0' and '$(GitBuildNumberDate)' != ''">$(GitBuildNumberDate)</NanaZipBuildNumberDate>
    </PropertyGroup>
    <RefreshProjectBuildNumberDate
      FilePath="$(MSBuildThisFileDirectory)NanaZip.Project\NanaZip.Project.Version.props"
      BuildNumberDate="$(NanaZipBuildNumberDate)" />
    <PropertyGroup>
      <MileProjectVersion>$(NanaZipMajorVersion).$(NanaZipMinorVersion).$([System.DateTime]::Parse('$(NanaZipBuildNumberDate)').Subtract($([System.DateTime]::Parse('$(NanaZipProjectCreationDate)'))).TotalDays).0</MileProjectVersion>
    </PropertyGroup>
    <RefreshAppxManifestVersion
      FilePath="$(MSBuildThisFileDirectory)NanaZipPackage\Package.appxmanifest"
      Version="$(MileProjectVersion)" />
  </Target>
  <Target Name="Restore">
    <ItemGroup>
      <RestoreProjectReference Include="$(MSBuildThisFileDirectory)NanaZip.slnx">
        <AdditionalProperties>Configuration=Debug;Platform=x64</AdditionalProperties>   
      </RestoreProjectReference>
      <RestoreProjectReference Include="$(MSBuildThisFileDirectory)NanaZip.slnx">
        <AdditionalProperties>Configuration=Release;Platform=x64</AdditionalProperties>   
      </RestoreProjectReference>
      <RestoreProjectReference Include="$(MSBuildThisFileDirectory)NanaZip.ExtensionPackage\NanaZip.ExtensionPackage.Installer.proj">
        <AdditionalProperties>Configuration=Release</AdditionalProperties>
      </RestoreProjectReference>
    </ItemGroup>
    <MSBuild
      Projects="@(RestoreProjectReference)"
      Targets="Restore"
      StopOnFirstFailure="True"
      Properties="PreferredToolArchitecture=x64" />
  </Target>
  <Target Name="Build">
    <MSBuild
      Projects="$(MSBuildThisFileDirectory)NanaZipPackage\NanaZipPackage.wapproj"
      Targets="Build"
      BuildInParallel="True"
      StopOnFirstFailure="True"
      Properties="PreferredToolArchitecture=x64;Configuration=Debug;Platform=x64" />
    <MSBuild
      Projects="$(MSBuildThisFileDirectory)NanaZipPackage\NanaZipPackage.wapproj"
      Targets="Build"
      BuildInParallel="True"
      StopOnFirstFailure="True"
      Properties="PreferredToolArchitecture=x64;Configuration=Release;Platform=x64" />
    <MSBuild
      Projects="$(MSBuildThisFileDirectory)NanaZip.ExtensionPackage\NanaZip.ExtensionPackage.Installer.proj"
      Targets="Build"
      BuildInParallel="True"
      StopOnFirstFailure="True"
      Properties="Configuration=Release" />
  </Target>
  <Target Name="Packaging">
    <PropertyGroup>
      <InputBinariesPath>$(MSBuildThisFileDirectory)Output\Binaries\Release\</InputBinariesPath>
      <OutputBinariesPath>$(MSBuildThisFileDirectory)Output\Binaries\Root\Binaries\</OutputBinariesPath>
      <OutputSymbolsPath>$(MSBuildThisFileDirectory)Output\Binaries\Root\Symbols\</OutputSymbolsPath>
      <OutputFileNamePrefix>NanaZip_$(MileProjectVersion)</OutputFileNamePrefix>
    </PropertyGroup>

    <MakeDir Directories="$(OutputSymbolsPath)arm64" />
    <MakeDir Directories="$(OutputSymbolsPath)x64" />

    <Copy SourceFiles="$(MSBuildThisFileDirectory)License.md" DestinationFiles="$(OutputBinariesPath)License.txt" />
    <Copy SourceFiles="$(MSBuildThisFileDirectory)ReadMe.md" DestinationFiles="$(OutputBinariesPath)ReadMe.txt" />
    <Copy SourceFiles="$(MSBuildThisFileDirectory)Documents\People.md" DestinationFiles="$(OutputBinariesPath)People.txt" />
    <Copy SourceFiles="$(MSBuildThisFileDirectory)Documents\Policies.md" DestinationFiles="$(OutputBinariesPath)Policies.txt" />
    <Copy SourceFiles="$(MSBuildThisFileDirectory)Documents\ReleaseNotes.md" DestinationFiles="$(OutputBinariesPath)ReleaseNotes.txt" />
    <Copy SourceFiles="$(MSBuildThisFileDirectory)Documents\ReleaseNotesPreview.md" DestinationFiles="$(OutputBinariesPath)ReleaseNotesPreview.txt" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\K7Base.dll" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\K7User.dll" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Codecs.dll" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Core.dll" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Core.Console.sfx" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Core.Windows.sfx" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Modern.dll" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Universal.Console.exe" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Universal.Windows.exe" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\Mile.Xaml.Styles.SunValley.xbf" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\resources.pri" DestinationFolder="$(OutputBinariesPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\K7Base.dll" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\K7User.dll" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Codecs.dll" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Core.dll" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Core.Console.sfx" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Core.Windows.sfx" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Modern.dll" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Universal.Console.exe" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Universal.Windows.exe" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\Mile.Xaml.Styles.SunValley.xbf" DestinationFolder="$(OutputBinariesPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\resources.pri" DestinationFolder="$(OutputBinariesPath)x64" />

    <Copy SourceFiles="$(MSBuildThisFileDirectory)License.md" DestinationFiles="$(OutputSymbolsPath)License.txt" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\K7Base.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\K7User.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Codecs.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Core.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Core.Console.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Core.Windows.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Modern.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Universal.Console.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Universal.Windows.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.Modern.FileManager.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\arm64\NanaZip.ShellExtension.pdb" DestinationFolder="$(OutputSymbolsPath)arm64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\K7Base.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\K7User.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Codecs.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Core.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Core.Console.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Core.Windows.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Modern.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Universal.Console.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Universal.Windows.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Modern.FileManager.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />
    <Copy SourceFiles="$(InputBinariesPath)NanaZipPackage\x64\NanaZip.ShellExtension.pdb" DestinationFolder="$(OutputSymbolsPath)x64" />

    <Exec Command="&quot;$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Universal.Console.exe&quot; a -r .\Output\$(OutputFileNamePrefix)_Binaries.zip .\Output\Binaries\Root\Binaries\*.*" WorkingDirectory="$(MSBuildThisFileDirectory)"/>
    <Exec Command="&quot;$(InputBinariesPath)NanaZipPackage\x64\NanaZip.Universal.Console.exe&quot; a -r .\Output\$(OutputFileNamePrefix)_DebugSymbols.zip .\Output\Binaries\Root\Symbols\*.*" WorkingDirectory="$(MSBuildThisFileDirectory)"/>
  </Target>
</Project>

================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, 
body size, disability, ethnicity, sex characteristics, gender identity and 
expression, level of experience, education, socio-economic status, nationality,
personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
 advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
 address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
 professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an 
appointed representative at an online or offline event. Representation of 
project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at Kenji.Mouri@outlook.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an 
incident. Further details of specific enforcement policies may be posted 
separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 1.4, available at
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to NanaZip

## How to become a contributor

- Direct contributions
  - We use a code style similar but not identical to that of Windows NT kernel
    drivers. You must read the code style guidelines carefully, word by word,
    before submitting your pull request. To maintain NanaZip's source code
    quality, and to respect our reviewers' time, we will not accept PRs that
    don't follow these guidelines.
  - We expect all contributions to match our existing style WITHOUT EXCEPTION.
    If you have any questions about our coding standards, please open an issue
    for discussion before submitting your pull request.
  - By submitting a pull request, you agree to license your contribution under
    the MIT license. We reserve the right to reuse and rewrite contributors' PRs
    as needed.
  - You are forbidden to modify any content in any files and folders starting
    with the "Mile." prefix because those implementations are shared across many
    projects, or your pull request will not be merged and will be closed
    immediately, unless you get the permission from Kenji Mouri.
  - It's OK to use AI/LLM tools to help you write code, but you must ensure that
    the final commit is written and reviewed by yourself, following our coding
    style and conventions. If we find that your pull request has no contribution
    from you, or the contribution is not reviewed by you, your pull request will
    not be merged and will be closed immediately.
- Feedback suggestions and bugs.
  - We use GitHub issues to track bugs and features.
  - For bugs and general issues please 
    [file a new issue](https://github.com/M2Team/NanaZip/issues/new).

## Code contribution guidelines

### Prerequisites

- Visual Studio 2022 or later.
  - You also need install ARM64 components (MSVC Toolchain and ATL/MFC) if you
    want to compile the ARM64 version of NanaZip.
- Windows 11 SDK or later.
  - You also need to install ARM64 components if you want to compile the ARM64
    version of NanaZip.

### How to build all targets of NanaZip

Run `BuildAllTargets.bat` in the root of the repository.

### How to modify or debugging NanaZip

Recommend to run `RestoreNuGetPackages.cmd` in the root of the repository to
restore NuGet packages if you have not run this script or `BuildAllTargets.bat`
before. (Recent versions of Visual Studio 2026 has some issues to restore NuGet
packages automatically.)

Open `NanaZip.slnx` in the root of the repository.

### Code style and conventions

Read Kenji Mouri's [MD24: The coding style for all my open-source projects] for
more information.

[MD24: The coding style for all my open-source projects]: https://github.com/MouriNaruto/MouriDocs/tree/main/docs/24

For all languages respect the [.editorconfig](https://editorconfig.org/) file 
specified in the source tree. Many IDEs natively support this or can with a 
plugin.

#### Modifications for inherited 7-Zip mainline source code

> [!NOTE]
> Read https://github.com/M2Team/NanaZip/blob/main/License.md first for knowing
> which files whether belong to inherited 7-Zip mainline source code.**

> [!NOTE]
> For adding something to inherited 7-Zip code, don't add extra empty line if
> there is no empty line in the existed inherited 7-Zip methods and functions.

For simplifying the synchronization from 7-Zip mainline, the modification mark
is necessary, which the original 7-Zip mainline code should be commented as
original, Here is the format:

```
// **************** NanaZip Modification Start **************** 
// xzProps.numTotalThreads = (int)(prop.ulVal); 
xzProps.numTotalThreads = ((int)prop.ulVal) > 1 ? (int)prop.ulVal : 1; 
// **************** NanaZip Modification End **************** 
```

For multiple lines, you can also use the following format:

```
// **************** 7-Zip ZS Modification Start ****************
#if 0 // ******** Annotated 7-Zip Mainline Source Code snippet Start ********
kBZip2 = 12,

kLZMA = 14,

kTerse = 18,
kLz77 = 19,
kZstdPk = 20,

kZstdWz = 93,
kMP3 = 94,
kXz = 95,
kJpeg = 96,
kWavPack = 97,
kPPMd = 98,
kWzAES = 99
#endif // ******** Annotated 7-Zip Mainline Source Code snippet End ********
kBZip2 = 12,   // File is compressed using BZIP2 algorithm

kLZMA = 14,    // LZMA

kTerse = 18,   // File is compressed using IBM TERSE (new)
kLz77 = 19,    // IBM LZ77 z Architecture
kZstdPk = 20,  // deprecated (use method 93 for zstd)

kZstd = 93,    // Zstandard (zstd) Compression
kMP3 = 94,     // MP3 Compression
kXz = 95,      // XZ Compression
kJpeg = 96,    // JPEG variant
kWavPack = 97, // WavPack compressed data
kPPMd = 98,    // PPMd version I, Rev 1
kWzAES = 99    // AE-x encryption marker (see APPENDIX E)
// **************** 7-Zip ZS Modification End ****************
```

#### Translation contribution notice

All `comment` in `resw` files should be kept English to make it better for 
maintenance in the future.


================================================
FILE: Directory.Build.props
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project>
  <PropertyGroup>
    <MileProjectOutputPath>$(MSBuildThisFileDirectory)Output\</MileProjectOutputPath>
  </PropertyGroup>
  <Import Sdk="Mile.Project.Configurations" Version="1.0.1917" Project="Mile.Project.Build.props" />
</Project>

================================================
FILE: Documents/ChannelSwitchNote.md
================================================
# Channel Switch Note for NanaZip development

P.S. Only for Kenji Mouri

## Preview

- DisplayName="NanaZip Preview"
- Name="40174MouriNaruto.NanaZipPreview"
- <DisplayName>NanaZip Preview</DisplayName>
- 469D94E9-6AF4-4395-B396-99B1308F8CE5
- return ::SHStrDupW(L"NanaZip Preview", ppszName);

## Stable

- DisplayName="NanaZip"
- Name="40174MouriNaruto.NanaZip"
- <DisplayName>NanaZip</DisplayName>
- CAE3F1D4-7765-4D98-A060-52CD14D56EAB
- return ::SHStrDupW(L"NanaZip", ppszName);


================================================
FILE: Documents/DevelopmentRoadmapArchived.md
================================================
# Development Roadmap (Archived)

These will be migrated to the new roadmap issue in the future.

- Blue Moon (3.x) Series (Before 2024 Q3)
  - [ ] Continue to modernize the UI with XAML Islands with the Windows 11 
        control style, dark and light mode support.
  - [ ] Full Accessibility support in all UI components.
  - [ ] Migrate configurations from registry to json. (Suggested by 
        AndromedaMelody.)
  - [ ] Continue to modernize the core implementation.
  - [ ] Try to Windows Runtime component for interoperability.
  - [ ] Provide NanaZip Installer for simplify the deployment.
  - [ ] Try to add option for save file names with UTF-8 in 7z archives.
  - [ ] Add batch task support. (Suggested by 刘泪.)
  - [ ] Try to design the new UI layout. (Suggested by wangwenx190.)
  - [ ] Try to add option for using Windows Imaging API (WIMGAPI) backend to 
        make better creation and extraction support for wim archives, also add 
        creation and extraction support for esd archives.
  - [ ] Try to add pri archive extracting support.
  - [ ] Try to add smart extraction.
  - [ ] Try to add language encoding switching support for file names in File
        Manager. (Suggested by 刘泪 and zjkmxy.)
  - [ ] Try to add deleting source after archiving support. (Suggested by 
        OrionGrant.)
  - [ ] Try to add an option when extracting an archive to open the folder 
        where you extracted the files, like WinRAR. (Suggested by maicol07.)
  - [ ] Try to add ISO creation support.
- Sherlock Holmes (5.x) Series (Before 2025 Q3)
  - Currently no new feature plans for this series.
- Unpredictable Future Series (T.B.D.)
  - [ ] Try to create a new archive file format optimized for software 
        distribution and image backup and restore.
    - [ ] Keeping metadata provided by file system.
    - [ ] File referencing support.
    - [ ] Integrity verification support.
    - [ ] Differential support.
    - [ ] Recovery record support.
    - [ ] Provide lightweight SDK for authoring and consuming.
  - [ ] Try to contribute recovery record support for 7z archives to 7-Zip 
        mainline. (Suggested by SakuraNeko.)
  - [ ] Try to port NanaZip to Linux.
    - [ ] Try to port MegaUI (an developing lightweight UI framework created by
          mingkuang, under internal developing at the current stage, will be 
          open source if the work has done) framework to Linux.
    - [ ] Try to create MinLin (a.k.a. Minimum Linux, a distro intended for 
          helping publish distroless binaries and provide some Windows API 
          functions as static libraries for having a lightweight platform 
          abstraction layer) project because I think NanaZip should support
          distroless environment for reducing time wasting for compiling for
          different distros.
  - [ ] After porting NanaZip to Linux, accept contributions from community 
        folks for other POSIX platforms (e.g. FreeBSD) and macOS support.
  - [ ] Try to add extension for Windows File Explorer for give user immersive 
        experience like builtin zip file support in Windows. (Suggested by 
        SakuraNeko and shuax.)
  - [ ] Try to create isolated and portable plugin infrastructure based on
        64-bit RISC-V Unprivileged ISA Specification.
        Runtime Project: https://github.com/ChaosAIOfficial/RaySoul


================================================
FILE: Documents/People.md
================================================
# Relevant People 

## Notice

- This list is sorted in alphabetical order.

## Development Team

### Benevolent Dictators For Life

The project is governed by multiple Benevolent Dictators For Life who make final
decisions by reaching an agreement offline. This structure is chosen to avoid
the risks of a single point of control while maintaining efficiency over a large
committee. Here are current active Benevolent Dictators For Life:

- dinhngtu (Tu Dinh), https://github.com/dinhngtu
- Kenji Mouri, https://github.com/MouriNaruto

### Consultants and Benevolent Dictator For Life Candidates

The following contributors are recognized as candidates for the Benevolent
Dictator For Life role. In their current capacity, they serve as valued
consultants to the active Benevolent Dictators For Life due to their significant
and valuable contributions to the project.

- AndromedaMelody, https://github.com/AndromedaMelody
- Dongle, https://github.com/dongle-the-gadget
- Sakura Neko, https://github.com/SakuraNeko

## Microsoft Store preinstall permission OEM Sponsor

- Moespirit Tech, https://github.com/Moespirit

## Logo Designers

### 2.x Series

- Shomnipotence, https://github.com/Shomnipotence

### 1.x Series

- Alice (四月天), https://twitter.com/alice_alice49
- Chi Lei, https://github.com/lychichem
- Kenji Mouri, https://github.com/MouriNaruto
- Rúben Garrido, https://github.com/RGarrido03
- Sakura Neko, https://github.com/SakuraNeko

## Contributors

Read https://github.com/M2Team/NanaZip/graphs/contributors for getting the
contributors list.

## Special thanks

- Belleve, https://github.com/be5invis
- Igor Pavlov, https://sourceforge.net/u/ipavlov
- mingkuang, https://github.com/mingkuang-Chuyu
- myfreeer, https://github.com/myfreeer
- Tino Reichardt, https://github.com/mcmilk


================================================
FILE: Documents/Policies.md
================================================
# NanaZip Policies

Starting with NanaZip 6.0, users can configure system‑wide policies under the
Windows registry key `HKLM\Software\Policies\M2Team\NanaZip`.

These system-wide policies override user settings and are intended for use by
system administrators to enforce specific configurations across multiple users
or systems.

You can enforce these policies on an entire domain using our
[Group Policy Administrative Templates](PolicyDefinitions).

Here are the currently provided policies and their descriptions.

## Available policies since NanaZip 6.0

### Allow dynamic code generation for all NanaZip components

NanaZip disables dynamic code generation for its components by default in
Release builds to reduce the risk of running potentially malicious code at
runtime. However, some third‑party software that relies on dynamic code
generation and injects code into NanaZip processes may require this feature
to be enabled for compatibility.

- Name: `AllowDynamicCodeGeneration`
- Type: `REG_DWORD`
- Value:
  - `0`: Disabled (Default)
  - `1`: Enabled

### Allow child processes creation for all NanaZip components

NanaZip blocks child process creation by default in its command line components
and self‑extracting executables to reduce the risk of process abuse by malicious
archives. However, some third‑party input method editors (IMEs) and assistive
technologies (ATs) may require child process creation to function correctly. In
such cases, this policy can be used to allow child process creation.

- Name: `AllowChildProcessCreation`
- Type: `REG_DWORD`
- Value:
  - `0`: Disabled (Default)
  - `1`: Enabled

### Archive handler restrictions

These values control which archive handlers can be loaded by NanaZip.

With this policy, you can significantly limit the attack surface of NanaZip by
blocking the parsing of unusual archive formats.

If AllowedHandlers is present, only the handlers specified in said list will be
allowed.

If BlockedHandlers is present, the handlers specified in said list will be
blocked. BlockedHandlers takes precedence over AllowedHandlers; i.e. handlers
specified in BlockedHandlers will still be blocked even if they're specified in
AllowedHandlers.

Note that when editing a `REG_MULTI_SZ` value in Registry Editor, each entry
must be on its own line.

- Name: `AllowedHandlers`
- Type: `REG_MULTI_SZ`
- Value: List of allowed archive handlers (case-sensitive).

<!-- -->

- Name: `BlockedHandlers`
- Type: `REG_MULTI_SZ`
- Value: List of blocked archive handlers (case-sensitive).

Known archive handlers (as of NanaZip 6.0 Preview 2):

```
.Electron Archive (asar), .NET Single File Application, 7z, APFS, APM, Ar, Arj,
AVB, Base64, brotli, bzip2, Cab, Chm, COFF, Compound, Cpio, CramFS, Dmg, ELF,
Ext, FAT, FLV, GPT, gzip, HFS, Hxs, IHex, Iso, littlefs, lizard, LP, LVM, lz4,
lz5, Lzh, lzip, lzma, lzma86, MachO, MBR, MsLZ, Mub, Nsis, NTFS, PE, Ppmd, QCOW,
Rar, Rar5, ROMFS, Rpm, Sparse, Split, SquashFS, SWF, SWFc, tar, TE, Udf, UEFIc,
UEFIf, UFS, VDI, VHD, VHDX, VMDK, WebAssembly (WASM), wim, Xar, xz, Z, ZealFS,
zip, zstd
```

Run `NanaZipC --version` to see the full list of currently-enabled handlers.

### Codec restrictions

Similarly to archive handler restrictions, these values control which codecs can
be loaded by NanaZip.

**Note:** Some single-codec archive formats (e.g. Brotli) may call their
associated codecs without respecting codec restrictions. If you want to fully
block a codec from being used, make sure that its associated formats are also
blocked.

- Name: `AllowedCodecs`
- Type: `REG_MULTI_SZ`
- Value: List of allowed codecs (case-sensitive).

<!-- -->

- Name: `BlockedCodecs`
- Type: `REG_MULTI_SZ`
- Value: List of blocked codecs (case-sensitive).

Known codecs (as of NanaZip 6.0 Preview 2):

```
7zAES, AES256CBC, ARM, ARM64, ARMT, BCJ, BCJ2, BROTLI, BZip2, Copy, Deflate,
Deflate64, Delta, FLZMA2, IA64, LIZARD, LZ4, LZ5, LZMA, LZMA2, PPC, PPMD, Rar1,
Rar2, Rar3, Rar5, RISCV, SPARC, Swap2, Swap4, ZSTD
```

Run `NanaZipC --version` to see the full list of currently-enabled codecs.

### Propagate Zone.Id stream

This value controls Mark-of-the-Web (MOTW) propagation of archive files.

- Name: `WriteZoneIdExtract`
- Type: `REG_DWORD`
- Value:
    - `0`: No
    - `1`: Yes (all files)
    - `2`: Only for unsafe extensions (does not support all nested archives)

## Legacy Policies in NanaZip 6.0 Preview 1

In NanaZip 6.0 Preview 1, system-wide policies should be set via creating
Registry values in the key `HKLM\Software\NanaZip\Policies` instead.

Here are the policies can be applied in NanaZip 6.0 Preview 1.

- WriteZoneIdExtract

Here are some policies only available in NanaZip 6.0 Preview 1.

### Disable mitigations

This value controls which security mitigations should not be applied by NanaZip.

- Name: `DisableMitigations`
- Type: `REG_DWORD`
- Value:
    - `0`: Don't disable mitigations
    - `1`: Disable all mitigations
    - Other values are reserved.


================================================
FILE: Documents/PolicyDefinitions/NanaZip.admx
================================================
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions
    xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.microsoft.com/GroupPolicy/PolicyDefinitions PolicyDefinitionFiles.xsd"
    revision="1.0"
    schemaVersion="1.0">
    <policyNamespaces>
        <target prefix="NanaZip" namespace="NanaZip.Policies" />
    </policyNamespaces>
    <resources minRequiredRevision="1.0" />

    <supportedOn>
        <products>
            <product name="NanaZip" displayName="$(string.NanaZip)">
                <!-- major (2 digits) + minor (2 digits) + build (5 digits) -->
                <majorVersion
                    name="NanaZip60P1"
                    displayName="$(string.NanaZip60P1)"
                    versionIndex="60001461" />
                <majorVersion
                    name="NanaZip60P2"
                    displayName="$(string.NanaZip60P2)"
                    versionIndex="60001621" />
            </product>
        </products>
        <definitions>
            <definition
                name="SUPPORTED_NanaZip60P1Only"
                displayName="$(string.SUPPORTED_NanaZip60P1Only)">
                <and>
                    <range ref="NanaZip60P1" />
                </and>
            </definition>
            <definition
                name="SUPPORTED_NanaZip60P2"
                displayName="$(string.SUPPORTED_NanaZip60P2)">
                <and>
                    <range ref="NanaZip" minVersionIndex="60001621" />
                </and>
            </definition>
        </definitions>
    </supportedOn>

    <categories>
        <category name="NanaZipPolicies" displayName="$(string.NanaZipPolicies)" />
        <category name="HandlerCodecRestrictions" displayName="$(string.HandlerCodecRestrictions)">
            <parentCategory ref="NanaZipPolicies" />
        </category>
        <category name="NanaZipPoliciesLegacy" displayName="$(string.NanaZipPoliciesLegacy)">
            <parentCategory ref="NanaZipPolicies" />
        </category>
    </categories>

    <policies>
        <policy
            name="AllowDynamicCodeGeneration"
            class="Machine"
            displayName="$(string.AllowDynamicCodeGeneration)"
            explainText="$(string.AllowDynamicCodeGenerationExplain)"
            key="SOFTWARE\Policies\M2Team\NanaZip"
            valueName="AllowDynamicCodeGeneration">
            <parentCategory ref="NanaZipPolicies" />
            <supportedOn ref="SUPPORTED_NanaZip60P2" />
            <enabledValue>
                <decimal value="1" />
            </enabledValue>
            <disabledValue>
                <decimal value="0" />
            </disabledValue>
        </policy>
        <policy
            name="AllowChildProcessCreation"
            class="Machine"
            displayName="$(string.AllowChildProcessCreation)"
            explainText="$(string.AllowChildProcessCreationExplain)"
            key="SOFTWARE\Policies\M2Team\NanaZip"
            valueName="AllowChildProcessCreation">
            <parentCategory ref="NanaZipPolicies" />
            <supportedOn ref="SUPPORTED_NanaZip60P2" />
            <enabledValue>
                <decimal value="1" />
            </enabledValue>
            <disabledValue>
                <decimal value="0" />
            </disabledValue>
        </policy>
        <policy
            name="WriteZoneIdExtract"
            class="Machine"
            displayName="$(string.WriteZoneIdExtract)"
            explainText="$(string.WriteZoneIdExtractExplain)"
            presentation="$(presentation.WriteZoneIdExtract)"
            key="SOFTWARE\Policies\M2Team\NanaZip">
            <parentCategory ref="NanaZipPolicies" />
            <supportedOn ref="SUPPORTED_NanaZip60P2" />
            <elements>
                <enum id="WriteZoneIdExtract" valueName="WriteZoneIdExtract">
                    <item displayName="$(string.WriteZoneIdExtract0)">
                        <value>
                            <decimal value="0" />
                        </value>
                    </item>
                    <item displayName="$(string.WriteZoneIdExtract1)">
                        <value>
                            <decimal value="1" />
                        </value>
                    </item>
                    <item displayName="$(string.WriteZoneIdExtract2)">
                        <value>
                            <decimal value="2" />
                        </value>
                    </item>
                </enum>
            </elements>
        </policy>

        <!-- Handler and codec restrictions -->
        <policy
            name="AllowedHandlers"
            class="Machine"
            displayName="$(string.AllowedHandlers)"
            explainText="$(string.AllowedHandlersExplain)"
            presentation="$(presentation.AllowedHandlers)"
            key="SOFTWARE\Policies\M2Team\NanaZip">
            <parentCategory ref="HandlerCodecRestrictions" />
            <supportedOn ref="SUPPORTED_NanaZip60P2" />
            <elements>
                <multiText id="AllowedHandlers" valueName="AllowedHandlers" />
            </elements>
        </policy>
        <policy
            name="BlockedHandlers"
            class="Machine"
            displayName="$(string.BlockedHandlers)"
            explainText="$(string.BlockedHandlersExplain)"
            presentation="$(presentation.BlockedHandlers)"
            key="SOFTWARE\Policies\M2Team\NanaZip">
            <parentCategory ref="HandlerCodecRestrictions" />
            <supportedOn ref="SUPPORTED_NanaZip60P2" />
            <elements>
                <multiText id="BlockedHandlers" valueName="BlockedHandlers" />
            </elements>
        </policy>
        <policy
            name="AllowedCodecs"
            class="Machine"
            displayName="$(string.AllowedCodecs)"
            explainText="$(string.AllowedCodecsExplain)"
            presentation="$(presentation.AllowedCodecs)"
            key="SOFTWARE\Policies\M2Team\NanaZip">
            <parentCategory ref="HandlerCodecRestrictions" />
            <supportedOn ref="SUPPORTED_NanaZip60P2" />
            <elements>
                <multiText id="AllowedCodecs" valueName="AllowedCodecs" />
            </elements>
        </policy>
        <policy
            name="BlockedCodecs"
            class="Machine"
            displayName="$(string.BlockedCodecs)"
            explainText="$(string.BlockedCodecsExplain)"
            presentation="$(presentation.BlockedCodecs)"
            key="SOFTWARE\Policies\M2Team\NanaZip">
            <parentCategory ref="HandlerCodecRestrictions" />
            <supportedOn ref="SUPPORTED_NanaZip60P2" />
            <elements>
                <multiText id="BlockedCodecs" valueName="BlockedCodecs" />
            </elements>
        </policy>

        <!-- Legacy policies -->
        <policy
            name="WriteZoneIdExtractLegacy"
            class="Machine"
            displayName="$(string.WriteZoneIdExtract)"
            explainText="$(string.WriteZoneIdExtractExplain)"
            presentation="$(presentation.WriteZoneIdExtract)"
            key="SOFTWARE\NanaZip\Policies">
            <parentCategory ref="NanaZipPoliciesLegacy" />
            <supportedOn ref="SUPPORTED_NanaZip60P1Only" />
            <elements>
                <enum id="WriteZoneIdExtract" valueName="WriteZoneIdExtract">
                    <item displayName="$(string.WriteZoneIdExtract0)">
                        <value>
                            <decimal value="0" />
                        </value>
                    </item>
                    <item displayName="$(string.WriteZoneIdExtract1)">
                        <value>
                            <decimal value="1" />
                        </value>
                    </item>
                    <item displayName="$(string.WriteZoneIdExtract2)">
                        <value>
                            <decimal value="2" />
                        </value>
                    </item>
                </enum>
            </elements>
        </policy>
        <policy
            name="DisableMitigations"
            class="Machine"
            displayName="$(string.DisableMitigations)"
            explainText="$(string.DisableMitigationsExplain)"
            key="SOFTWARE\NanaZip\Policies"
            valueName="DisableMitigations">
            <parentCategory ref="NanaZipPoliciesLegacy" />
            <supportedOn ref="SUPPORTED_NanaZip60P1Only" />
            <enabledValue>
                <decimal value="1" />
            </enabledValue>
            <disabledValue>
                <decimal value="0" />
            </disabledValue>
        </policy>
    </policies>
</policyDefinitions>


================================================
FILE: Documents/PolicyDefinitions/en-US/NanaZip.adml
================================================
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources
    xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.microsoft.com/GroupPolicy/PolicyDefinitions ../PolicyDefinitionFiles.xsd"
    revision="1.0"
    schemaVersion="1.0">
    <displayName>NanaZip</displayName>
    <description>NanaZip</description>

    <resources>
        <stringTable>
            <!-- Products -->
            <string id="NanaZip">NanaZip</string>
            <string id="NanaZip60P1">NanaZip 6.0 Preview 1</string>
            <string id="NanaZip60P2">NanaZip 6.0 Preview 2</string>

            <!-- Definitions -->
            <string id="SUPPORTED_NanaZip60P1Only">NanaZip 6.0 Preview 1 only</string>
            <string id="SUPPORTED_NanaZip60P2">At least NanaZip 6.0 Preview 2</string>

            <!-- Categories -->
            <string id="NanaZipPolicies">NanaZip</string>
            <string id="HandlerCodecRestrictions">Handler and Codec Restrictions</string>
            <string id="NanaZipPoliciesLegacy">Legacy Policies</string>

            <!-- Policies -->
            <string id="AllowDynamicCodeGeneration">Allow dynamic code generation for all NanaZip components</string>
            <string id="AllowDynamicCodeGenerationExplain">NanaZip disables dynamic code generation for its components by default in Release builds to reduce the risk of running potentially malicious code at runtime. However, some third-party software that relies on dynamic code generation and injects code into NanaZip processes may require this feature to be enabled for compatibility.

If you enable this policy setting, NanaZip allows third-party components to generate dynamic code at runtime.

If you disable or do not configure this policy setting, NanaZip blocks the ability to create dynamic code in its own processes.</string>

            <string id="AllowChildProcessCreation">Allow child processes creation for all NanaZip components</string>
            <string id="AllowChildProcessCreationExplain">NanaZip blocks child process creation by default in its command line components and self-extracting executables to reduce the risk of process abuse by malicious archives. However, some third-party input method editors (IMEs) and assistive technologies (ATs) may require child process creation to function correctly. In such cases, this policy can be used to allow child process creation.

If you enable this policy setting, NanaZip processes can create child processes at runtime.

If you disable or do not configure this policy setting, NanaZip blocks the ability to create child processes from many of its own processes.</string>

            <string id="AllowedHandlers">Allowed archive handlers</string>
            <string id="AllowedHandlersExplain">This policy setting controls which archive handlers can be loaded by NanaZip.

With this policy setting, you can significantly limit the attack surface of NanaZip by blocking the parsing of uncommon archive formats.

If you enable this policy setting, only the handlers specified in this list (one in each line, case sensitive) will be allowed to load.

If you disable or do not configure this policy setting, all otherwise-unspecified archive handlers can load.

Run NanaZipC --version to see the full list of currently-enabled handlers.</string>

            <string id="BlockedHandlers">Blocked archive handlers</string>
            <string id="BlockedHandlersExplain">This policy setting controls which archive handlers cannot be loaded by NanaZip.

With this policy setting, you can significantly limit the attack surface of NanaZip by blocking the parsing of uncommon archive formats.

If you enable this policy setting, the handlers specified in this list (one in each line, case sensitive) will be blocked from loading.

If you disable or do not configure this policy setting, all otherwise-unspecified archive handlers can load.

Run NanaZipC --version to see the full list of currently-enabled handlers.</string>

            <string id="AllowedCodecs">Allowed compression codecs</string>
            <string id="AllowedCodecsExplain">This policy setting controls which compression codecs can be loaded by NanaZip.

With this policy setting, you can significantly limit the attack surface of NanaZip by blocking the execution of uncommon compression codecs.

If you enable this policy setting, only the codecs specified in this list (one in each line, case sensitive) will be allowed to load.

If you disable or do not configure this policy setting, all otherwise-unspecified compression codecs can load.

Run NanaZipC --version to see the full list of currently-enabled codecs.</string>

            <string id="BlockedCodecs">Blocked compression codecs</string>
            <string id="BlockedCodecsExplain">This policy setting controls which compression codecs cannot be loaded by NanaZip.

With this policy setting, you can significantly limit the attack surface of NanaZip by blocking the execution of uncommon compression codecs.

If you enable this policy setting, the codecs specified in this list (one in each line, case sensitive) will be blocked from loading.

If you disable or do not configure this policy setting, all otherwise-unspecified compression codecs can load.

Run NanaZipC --version to see the full list of currently-enabled codecs.</string>

            <!-- Shared between new and legacy policies -->
            <string id="WriteZoneIdExtract">Propagate Zone.Id stream</string>
            <string id="WriteZoneIdExtractExplain">This policy setting controls Mark-of-the-Web (MOTW) propagation of archive files.

If you enable this policy setting, NanaZip follows the given MOTW setting when extracting files.

If you disable or do not configure this policy setting, NanaZip follows the user's MOTW propagation setting.</string>
            <string id="WriteZoneIdExtract0">Don't propagate MOTW</string>
            <string id="WriteZoneIdExtract1">Propagate MOTW to all files</string>
            <string id="WriteZoneIdExtract2">Propagate MOTW to unsafe files</string>

            <!-- Legacy policies -->
            <string id="DisableMitigations">Disable mitigations</string>
            <string id="DisableMitigationsExplain">This policy setting controls the application of security mitigations on NanaZip processes.

If you enable this policy setting, NanaZip disables all security mitigations in its processes.

If you disable or do not configure this policy setting, NanaZip enables all mitigations by default.</string>
        </stringTable>

        <presentationTable>
            <presentation id="AllowedHandlers">
                <text>List of allowed archive handlers:</text>
                <multiTextBox refId="AllowedHandlers" />
            </presentation>
            <presentation id="BlockedHandlers">
                <text>List of blocked archive handlers:</text>
                <multiTextBox refId="BlockedHandlers" />
            </presentation>
            <presentation id="AllowedCodecs">
                <text>List of allowed compression codecs:</text>
                <multiTextBox refId="AllowedCodecs" />
            </presentation>
            <presentation id="BlockedCodecs">
                <text>List of blocked compression codecs:</text>
                <multiTextBox refId="BlockedCodecs" />
            </presentation>
            <presentation id="WriteZoneIdExtract">
                <dropdownList refId="WriteZoneIdExtract" defaultItem="1">Propagate Zone.Id stream:</dropdownList>
            </presentation>
        </presentationTable>
    </resources>
</policyDefinitionResources>


================================================
FILE: Documents/Privacy.md
================================================
# NanaZip - Privacy Policy

## Information collected

NanaZip does not collect any information. However it does provide you access to 
files and folders on your file system. Additionally, the Windows Store and 
Windows App Host collect data on usage, for example, who bought/used the app 
and crash reports. If you open any files or links in the app that go to other
websites you will need to look at their privacy policy.

## Sponsored edition

Due to the Microsoft Store Licensing API implementation, you will find NanaZip
will try to access the Internet beginning with NanaZip 3.0 because NanaZip
needs to use that to check the Sponsor Edition addon licensing status.

For optimizing the user experience, NanaZip will only check the Sponsor 
Edition addon licensing status at the first time your launch NanaZip File
Manager. You can click the sponsor button if you want to refresh the status
after you have purchased or redeemed the Sponsor Edition addon.
 
## Use of information

No other data is collected or shared online. We reserve the right to 
make changes to this policy. Any changes to this policy will be updated. 
 
## Last updated: May 28, 2024


================================================
FILE: Documents/ReleaseNotes.md
================================================
# NanaZip Release Notes

For preview versions, please read 
[NanaZip Preview Release Notes](ReleaseNotesPreview.md).

**NanaZip 6.0 Update 2 (6.0.1650.0)**

- Add NanaZip official website link to the XAML About Dialog.
- Fix some crash issues caused by dark mode support.
- Fix some crash issues caused by the XAML information dialog.
- Fix the issue that we cannot use NanaZip.Universal.Windows.exe without
  NanaZip.Modern.dll.
- Fix the issue that we cannot set the initial folder for the copy location
  dialog browse button.
- Fix the buffer overflow issue introduced since 7-Zip mainline 26.00 when using
  NanaZip.Core.Setup.sfx which you need to compiled manually to get. (Backported
  from https://github.com/M2Team/NanaZip/pull/850 and
  https://github.com/mcmilk/7-Zip-zstd/pull/468/changes/f4efd0f2d960b18fd51a894d04b5eadebf8c270b.)

**NanaZip 6.0 Update 1 (6.0.1638.0)**

- Fix several issues for the UFS/UFS2 file system image readonly support.
  (Cooperated with HO-9.)
- Fix several issues for the .NET Single File Application bundle readonly
  support. (Cooperated with HO-9.)
- Fix the white flashes when initializing the file panels in the NanaZip File 
  Manager main window. (Thanks to anhelloooo.)
- Disable text wrapping for textbox control in XAML information dialog to show
  information better.
- Make the hash calculation result output text format more compact to improve
  the copy and paste experience.
- Fix the Win32 TaskDialog-based Folders History dialog not functioning when
  users navigate to the desktop virtual folder.
- Update Japanese translation. (Contributed by noangel.)
- Update Brazilian Portuguese translation. (Contributed by maisondasilva.)

**NanaZip 6.0 (6.0.1632.0)**

- Notes
  - Start to transition to community driven development model.
  - Update system requirement to Windows 10, version 2004 (Build 19041) or
    later, and remove the x86 (32-bit) for all components.
  - Start to provide the official portable binaries package of NanaZip with both
    Modern and Classic flavors, except the NanaZip File Manager.
  - Introduce formal version of contributing guide and security policies.
    (Cooperated with dinhngtu and dongle-the-gadget.)
  - Add Release Tags to NanaZip Versioning.
- Features
  - Introduce extract-on-open feature. (Contributed by dinhngtu.)
    - To disable this temporarily, hold Shift while opening the file.
    - To disable this permanently, go to Settings, Integration tab, and disable
      "Extract on open" at the bottom.
  - Introduce registry settings for Mark of the Web (MoTW) enforcement policies.
    (Contributed by dinhngtu.)
  - Improve the dynamic library block list for resolving compatibility issues.
    (Contributed by dinhngtu.)
  - Introduce registry settings for disabling security mitigation policies,
    which should be helpful for debugging and resolving compatibility issues.
    (Contributed by dinhngtu.)
  - Introduce registry settings for the archive handler and codec handler
    restriction. (Contributed by dinhngtu.)
  - Introduce Group Policy Administrative Template (ADMX/ADML) for NanaZip.
    (Contributed by dinhngtu.)
  - Set the LOAD_LIBRARY_SEARCH_SYSTEM32 dependent load flag on Release builds
    of Self Extracting Executables stubs to mitigate static imports level DLL
    planting attack on Windows 10 build 14393 and later. (Contributed by
    dinhngtu.)
  - Introduce the XAML-based address bar. (Contributed by dongle-the-gadget.)
  - Introduce the XAML-based status bar. (Contributed by dongle-the-gadget.)
  - Introduce the XAML-based properties and information dialog. (Contributed by
    dongle-the-gadget.)
  - Introduce the XAML-based progress dialog. (Contributed by 
    dongle-the-gadget.)
  - Introduce extract all automatically policy when opening executable files in
    archives. (Contributed by MajThomas.)
  - Introduce the environment variable parsing support for address bar. (Thanks
    to dongle-the-gadget's huge help.)
  - Add support for CBR and CBZ file associations. (Contributed by dinhngtu.)
  - Add support for ASAR file association. (Contributed by dongle-the-gadget.)
  - Display file system version in archive property window for the UFS/UFS2 file
    system image readonly support.
  - Display bundle version in archive property for the .NET Single File
    Application bundle readonly support.
  - Display file system version in archive property for the littlefs file system
    image readonly support.
  - Allow to associate more file types to NanaZip. (Contributed by manfromarce.)
  - Enable Ctrl+Backspace on edit fields using SHAutoComplete. (Contributed by
    dinhngtu.)
  - Introduce NanaZip.Universal.Windows project for making NanaZip Command Line
    Interface (Windows) for both NanaZip (Modern) and NanaZip Classic a.k.a.
    NanaZipG or K7G to synchronize to the latest 7-Zip mainline and 7-Zip ZS
    implementations.
  - Introduce NanaZip Platform Base Library (K7Base) and NanaZip Platform User
    Library (K7User) to replace NanaZip Platform Abstraction Layer (K7Pal) and
    NanaZip.Frieren for better code sharing and maintainability.
  - Create NanaZip.Modern project for the modern user experience development.
  - Introduce Mile.Mobility dependence to NanaZip.Codecs project for making
    better portability between NanaZip and AptxZip (a.k.a. NanaZip for POSIX).
  - Introduce NanaZip.ExtensionPackage project for future development of
    features which need to be distributed as legacy installer. (Contributed by
    dinhngtu.)
  - Introduce Mile.Helpers.Portable.Base.Unstaged as the temporary
    infrastructure to standardize some portable things in NanaZip.Codecs.
  - Introduce NanaZip.Codecs.Specification.Fat for adding definitions of FAT12,
    FAT16 and FAT32.
  - Introduce NanaZip.Codecs.Specification.Zealfs for adding definitions of
    ZealFS series file system. (Cooperated with Zeal 8-bit.)
  - Add littlefs v1 on-disk definitions to the littlefs file system image
    readonly support.
  - Move NanaZip.Core's NanaZip.Core.Console project to NanaZip.Universal's
    NanaZip.Universal.Console project.
- Improvements
  - Start to use Zstandard decoder instead of 7-Zip mainline's implementation
    for better reliability, especially it can reduce more potential
    vulnerabilities.
  - Use x-generate to define language resources in AppX manifest to solve the
    Windows AppX language fallback issue. (Suggested by dongle-the-gadget.)
  - Make texts have better contrast in dark mode.
  - Improve the Smart Extraction feature. (Contributed by R-YaTian.)
  - Improve the NanaZip startup performance by initializing the StoreContext
    later. (Contributed by dongle-the-gadget.)
  - Move open folder checkbox to extract dialog. (Contributed by dinhngtu.)
  - Update Albanian translation. (Contributed by F1219R.)
  - Update Hungarian translation. (Contributed by John Fowler.)
  - Update Greek translation. (Contributed by Lefteris T.)
  - Update German translation. (Contributed by HackZy01.)
  - Update Bengali translation. (Contributed by Sumon Kayal.)
  - Update Dutch translation. (Contributed by Stephan-P.)
  - Localize Open Inside menu text. (Contributed by dinhngtu.)
  - Remove Help button from compress option dialogs. (Contributed by
    peashooter2.)
  - Update the icon assets with optimized assets to reduce the binary size.
  - Use Win32 TaskDialog to implement the Folders History dialog to simplify the
    implementation.
  - Synchronize 7-Zip mainline implementations to 26.00. (Except the NanaZip
    File Manager.) (Thanks to Igor Pavlov. Noticed by FadeMind and Pinguin2001.)
  - Synchronize the 7-Zip ZS implementations to
    https://github.com/mcmilk/7-Zip-zstd/tree/5766dd7745f6517f7ea42f6de9a190dfd92aa25f.
    (Except the NanaZip File Manager.) (Thanks to Sergey G. Brester and Tino
    Reichardt.)
  - Make FastLZMA2 and Lizard reuse partial Zstandard implementations.
  - Update Zstandard to v1.5.7. (Noticed by dcog989.)
  - Update Lizard to v2.1.
  - Synchronize Brotli implementations to v1.2.0.
    (https://github.com/google/brotli/releases/tag/v1.2.0)
  - Synchronize the FastLZMA2 implementations to
    https://github.com/conor42/fast-lzma2/tree/a793db99fade2957d2453035390f97e573acecb2,
    which can fix some issues. (Contributed by dinhngtu.)
  - Synchronize the BLAKE3 implementation to 1.8.3. (Noticed by peashooter2.)
    (https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.8.3)
  - Use assembly hardware acceleration for BLAKE3 implementation.
  - Synchronize RHash to the latest master
    (https://github.com/rhash/RHash/tree/b76c6a3312422c09817c2cef40442b2f2d9d4689)
    which is after v1.4.6.
  - Update Mile.Project.Configurations to 1.0.1917, which solve some issues for
    using NuGet Package References Support in Visual Studio 2026 version 18.3 or
    later. (Cooperated by AndromedaMelody.)
  - Update Mile.Project.Helpers to 1.0.975.
  - Update Mile.Windows.Helpers to 1.0.1171.
  - Update Mile.Windows.Internal to 1.0.3515.
  - Update Mile.Xaml to 2.5.1616.
  - Update Mile.Detours to 1.0.2180.
  - Update Mile.Json to 1.0.1057.
  - Update .NET projects to .NET 10 and update NuGet package dependencies.
  - Add littlefs v2.10.2 to NanaZip.Codecs for future development of work in
    progress littlefs archive format readonly support.
  - Update build binary logs when failed to build in GitHub Actions.
    (Contributed by dongle-the-gadget.)
  - Introduce legacy string migrator. (Contributed by dongle-the-gadget.)
  - Add more targeted editorconfig rules. (Contributed by dongle-the-gadget.)
  - Move NanaZip.Core's NanaZip.Core.Console project to NanaZip.Universal's
    NanaZip.Universal.Console project.
  - Disable WinRT metadata generation for all WinRT component consumers.
  - Move NanaZip.Modern as the first item to workaround the AppX toolchain
    manifest generation issues.
  - Improve the GitHub Actions artifacts generation.
  - Update to Windows 11 SDK Build 26100 for NanaZipPackage.
  - Introduce reproducible build support for the whole project.
  - Migrate solution from sln to slnx, and start to build with MSVC 14.50 
    toolset.
  - Support opening NanaZip Visual Studio solution without installing WinUI
    application and/or Universal Windows Platform development workload.
    (Contributed by AndromedaMelody.)
  - Add RestoreNuGetPackages.cmd script to workaround some issues for people who
    want to use Visual Studio to build NanaZip without running
    BuildAllTargets.bat script.
  - Make the precompiled build tools generated by GitHub Actions workflow
    automatically.
  - Improve several implementations.
- Fixes
  - Fix dead loop issue when compressing files with Brotli, Lizard, LZ4 and LZ5
    mentioned in https://github.com/M2Team/NanaZip/issues/639. (Thanks to
    gigano01, InfiniteLoopGameDev and iOrange.)
  - Backport CVE-2025-0411 and CVE-2025-11001 for the NanaZip File Manager which
    still use the old 7-Zip mainline codebase. (Contributed by dinhngtu.)
  - Fix several crash issues for the .NET Single File Application bundle
    readonly support. (Thanks to haaeein.)
  - Fix several hang issues for the ROMFS file system image readonly support
    support. (Contributed by dinhngtu. Thanks to haaeein.)
  - Fix the flickering issues when selecting list view in dark mode.
  - Fix the unable to return the processed bytes count issue for
    NanaZipCodecsReadInputStream.
  - Fix the parsing padding issue for Electron Archive (asar) readonly support.
    (Contributed by Vlad-Andrei Popescu).
  - Improve the ZealFS file system image readonly support implementation to fix
    several issues. (Cooperated with Zeal 8-bit.)
  - Try to bring dialog window to the foreground to resolve user experience
    issues when opened from context menu. (Contributed by dinhngtu.)
  - Fix flickering XAML dialogs. (Contributed by dongle-the-gadget.)
  - Fix crash issue from XAML address bar. (Contributed by dongle-the-gadget.)
  - Use a low name as the shell extension name prefix to work around our context
    menu not appearing in the classic context menu. (Contributed by dinhngtu.)
  - Don't reset compression method after changing level. (Contributed by
    dongle-the-gadget.)
  - Fix text overflow in German translation. (Contributed by Pinguin2001.)
  - Fix UI assignment of WriteZone setting. (Contributed by dinhngtu.)
  - Handle Add button when inside archives. (Contributed by dinhngtu.)
  - Fix issues for NanaZip Preview SVG icon assets for Contrast Black mode.
  - Fix several issues for context menu support. (Contributed by dinhngtu.)
  - Fix some potential issues for the dark mode support.
  - Try to partially improve the NanaZip File Manager main window keyboard
    navigation experience.
  - Fix some string resources issues. (Contributed by dinhngtu.)
  - Fix issues in compression levels combobox. (Contributed by dongle-the-gadget.)
  - Fix the source code file header comment format.
  - Use C++ zero initialization to reduce potential issues.
  - Fix several issues.

**NanaZip 5.0 Update 2 (5.0.1263.0)**

- Features
  - Provide K7 style execution aliases (K7.exe, K7C.exe, and K7G.exe) for
    simplifying the command line user experience and providing the same command
    name style in work-in-progress NanaZip for POSIX a.k.a. AptxZip.
- Improvements
  - Update Mile.Windows.UniCrt to 1.2.328.
  - Update Mile.Xaml to 2.5.1250.
  - Migrate from Mile.Project.Windows to Mile.Project.Configurations.
- Fixes
  - Fix crash issue when using Open Inside # mode for the WebAssembly (WASM)
    binary file readonly support for NanaZip.Codecs.
  - Fix crash issue when using Open Inside # mode for the .NET Single File
    Application bundle readonly support for NanaZip.Codecs.
  - Fix crash issue when using Open Inside # mode for the Electron Archive
    (asar) readonly support for NanaZip.Codecs.
  - Fix the crash issue when extracting *.br archives. (Thanks to HikariCalyx.)
  - Fix the XXH3_128bits printable results with wrong byte order. (Thanks to
    fuchanghao.)

**NanaZip 5.0 Update 1 (5.0.1252.0)**

- Features
  - Introduce the .NET Single File Application bundle readonly support which
    currently extracting compressed files in the bundle are not supported.
  - Introduce the Electron Archive (asar) readonly support.
  - Introduce the ROMFS file system image readonly support.
  - Introduce the ZealFS file system image readonly support.
  - Introduce the WebAssembly (WASM) binary file readonly support.
  - Introduce the **Work In Progress** littlefs file system image readonly
    support which currently only block information can acquired.
- Improvements
  - Update Ukrainian and Russian translation. (Contributed by SlowDancer011.)
  - Update Hungarian translation. (Contributed by JohnFowler58.)
  - Update packages for maintainer tools.
- Fixes
  - Fix the empty folders are excluded issue for the UFS/UFS2 file system image
    readonly support.
  - Fix the unavailable issue when cancelling the extraction for the UFS/UFS2
    file system image readonly support.

**NanaZip 5.0 (5.0.1250.0)**

- Features
  - Introduce the UFS/UFS2 file system image readonly support. (Thanks to
    NishiOwO.)
  - Introduce work-in-progress NanaZip Platform Abstraction Layer (K7Pal) for
    wrapping the platform specific infrastructures. (Thanks to RuesanG's 
    feedback.) (https://github.com/M2Team/NanaZip/tree/main/K7Pal)
    - Provide hash functions interfaces implemented with Windows CNG API.
      NanaZip uses these hash functions from K7Pal:
      - MD2
      - MD4
      - MD5
      - SHA-1
      - SHA-256
      - SHA-384
      - SHA-512
      - ED2K (Implemented as the K7Pal MD4 wrapper in NanaZip.Codecs.)
  - Update NanaZip.Specification.SevenZip header file.
  - Introduce the Smart Extraction. (Contributed by R-YaTian.)
  - Adds a setting for opening the folder after extracting from archive.
    (Contributing by DaxDupont.)
- Improvements
  - Synchronize the 7-Zip mainline implementations to 24.09.
    (https://github.com/ip7z/7zip/releases/tag/24.09) (Thanks to Igor Pavlov.
    Noticed by FadeMind and peashooter2.)
  - Synchronize the BLAKE3 implementation to 1.5.5.
    (https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.5.5)
  - Synchronize the RHash implementation to the latest master branch which is
    after v1.4.5.
    (https://github.com/rhash/RHash/commit/cf2adf22ae7c39d9b8e5e7b87222046a8f42b3dc)
  - Synchronize the xxHash implementation to v0.8.3.
    (https://github.com/Cyan4973/xxHash/releases/tag/v0.8.3)
  - Update Mile.Windows.Helpers to 1.0.671.
    (https://github.com/ProjectMile/Mile.Windows.Helpers/tree/1.0.671.0)
  - Update Brazilian Portuguese translation. (Contributed by maisondasilva.)
  - Update Polish translation. (Contributed by ChuckMichael.)
  - Update zh-Hans and zh-Hant translations for 'Want * History' strings. 
    (Contributed by R-YaTian.) (Forget to mentioned in NanaZip 5.0 Preview 1.)
  - Make sure NanaZip Core (except the Self Extracting Executables) and NanaZip
    Classic using ucrtbase.dll with 10.0.19041.0 version or later.
  - Move NanaZip console version to NanaZip.Core project.
  - Remove C++/WinRT dependency for NanaZip.Codecs and NanaZip.Frieren.
  - Remove VC-LTL dependency for all components, and also use 
    Mile.Windows.UniCrt (https://github.com/ProjectMile/Mile.Windows.UniCrt)
    instead of VC-LTL for non Self Extracting Executables stub components.
  - Adjust the compilation configurations to optimize the binary size for the
    Self Extracting Executables.
  - Start to simplify the NanaZip specific decoders and encoders implementation.
  - Enable disabling child process creation for NanaZip Self Extracting
    Executables. (Except installer mode of Self Extracting Executables, which
    compiled binaries is not provided in the NanaZip MSIX package.)
- Fixes
  - Add GetDpiForWindowWrapper for NanaZip.Frieren.DarkMode to fix the legacy
    Windows compatibility issues.
  - Don't fail ModernSHBrowseForFolderW when DefaultFolder cannot be set.
    (Contributed by dinhngtu.)
  - Fix the issue that which NanaZip windows and dialogs will be opened in the
    background when using NanaZip from context menu. (Contributed by R-YaTian.)

**NanaZip 3.1 (3.1.1080.0)**

- Try to discover the new Sponsor button design but finally reverted to the old
  design for more natural looking. (Contributed by dongle-the-gadget and
  Gaoyifei1011.)
- Improve Simplified Chinese translation. (Contributed by DeepChirp.)
- Improve the Sponsor Edition documentation. (Contributed by sirredbeard.)
- Improve Albanian translation. (Contributed by RDN000.)
- Improve German translation. (Contributed by CennoxX.)
- Fix several dark mode UI style issues. (Contributed by rounk-ctrl.)
- Ignore the text scale factor for solving the UI layout issues.
- Synchronize the 7-Zip mainline implementations to 24.08.
  (https://github.com/ip7z/7zip/releases/tag/24.08) (Thanks to Igor Pavlov.
  Noticed by atplsx and wallrik.)
- Synchronize the LZ4 implementations to 1.10.0.
  (https://github.com/lz4/lz4/releases/tag/v1.10.0)
- Update Mile.Project.Windows submodule to the August 12, 2024 latest.
- Update VC-LTL to 5.1.1.
- Update YY-Thunks to 1.1.2.
- Update Mile.Windows.Helpers to 1.0.645.
- Update Mile.Xaml to 2.3.1064.
- Update Mile.Windows.Internal to 1.0.2971.
- Defer package updates while the app is running in Windows 11 23H2 or later.
  (Suggested by AndromedaMelody.)
- Improve maintainer tools for introducing automatic packaging support when
  building all targets for NanaZip.

**NanaZip 3.0 Update 1 (3.0.1000.0)**

- Update Mile.Windows.Internal to 1.0.2889.
- Make the 7-Zip Zstandard branch's specific options translatable. (Contributed
  by ChuckMichael.)
- Polish translation for Sponsor dialog. (Contributed by ChuckMichael.)
- Fix compatibility issues with iFlyIME, Sogou Pinyin, and Transparent Flyout.
  (Contributed by dinhngtu.)
- Update the UI layout for the sponsor button. (Suggested by namazso.)
- NanaZip will only check the Sponsor Edition addon licensing status the first
  time you launch NanaZip File Manager or click the sponsor button to optimize
  the user experience.
- Update NanaZip installation documentation. (Contributed by dongle-the-gadget.)
- Use Extract dialog when extracting without selection. (Contributed by 
  dinhngtu.)
- Fix tooltips from XAML controls cannot be transparent.
- Fix dark mode UI font rendering issues in some Windows 10 environments.
- Adjust the dark mode text color for improving the user experience. (Suggested
  by userzzzq.)
- Synchronize the 7-Zip mainline implementations to 24.06.
  (https://github.com/ip7z/7zip/releases/tag/24.06) (Thanks to Igor Pavlov.
  Noticed by KsZAO.)

**NanaZip 3.0 (3.0.996.0)**

- Notes
  - NanaZip 3.0 and onwards will have two distribution flavors called NanaZip
    and NanaZip Classic. But NanaZip 3.0 does not have the Classic flavor yet
    because it's not ready. Read
    https://github.com/M2Team/NanaZip#differences-between-nanazip-and-nanazip-classic
    for more information.
  - The 32-bit x86 support for NanaZip packaged version is removed because
    supported 32-bit x86 Windows versions don't support running on 32-bit
    only x86 processors.
  - NanaZip 3.0 and onwards will have NanaZip Sponsor Edition. Read
    https://github.com/M2Team/NanaZip/blob/main/Documents/SponsorEdition.md
    for more information.
  - NanaZip has introduced the Preinstall Support. Read
    https://github.com/M2Team/NanaZip/issues/398 for more information.
- Features
  - Introducing dark mode support for all GUI components.
  - Introducing the Mica support. You will enjoy the full window immersive Mica
    support for all GUI components if you are using dark mode with HDR disabled.
    (Thanks to Andarwinux.)
  - Synchronize the 7-Zip mainline implementations to 24.05.
    (https://github.com/ip7z/7zip/releases/tag/24.05) (Thanks to Igor Pavlov.
    Noticed by AVMLOVER-4885955 and PopuriAO29.)
    - Make NanaZip Self Extracting Executable stubs use 7-Zip mainline
      Zstandard decoder instead of Zstandard official's for reducing the
      size for binaries.
    - Use 7-Zip mainline Zstandard decoder instead of Zstandard official
      decoder for NanaZip.Core project.
    - Remove 7-Zip mainline XXH64 Hash handler for NanaZip.Core because we
      have the xxHash-based implementation in NanaZip.Codecs. It will have
      much better performance, especially for non-x86 targets.
  - Implement the new toolbar and use it to replace the old menubar and old
    toolbar.
  - Refresh the UI layout for About Dialog via following other Nana series
    project design.
  - Add the SM3 HASH algorithm from GmSSL. (https://github.com/guanzhi/GmSSL)
- Improvements
  - Rewrite and split the implementation of the Core Library and the Self
    Extracting Executable to the separate NanaZip.Codecs and NanaZip.Core
    projects. Read https://github.com/M2Team/NanaZip/issues/336 for more
    information.
  - Ensure the implementation of Core Library and the Self Extracting Executable
    supports Windows Vista RTM (Build 6000.16386).
  - Reduce the binary size for the Self Extracting Executables.
  - Synchronize the 7-Zip ZS implementations to the latest master branch.
    (https://github.com/mcmilk/7-Zip-zstd/commit/79b2c78e9e7735ddf90147129b75cf2797ff6522)
  - Synchronize Zstandard and builtin xxHash implementations to v1.5.6.
    (https://github.com/facebook/zstd/releases/tag/v1.5.6)
  - Synchronize Brotli implementations to v1.1.0.
    (https://github.com/google/brotli/releases/tag/v1.1.0)
  - Synchronize the RHash implementation to the latest master branch which is
    after v1.4.4.
    (https://github.com/rhash/RHash/commit/d916787590b9dc57eb9d420fd13e469160e0b04c)
  - Synchronize the BLAKE3 implementation to latest master which is after 1.5.1.
    (https://github.com/BLAKE3-team/BLAKE3/commit/0816badf3ada3ec48e712dd4f4cbc2cd60828278)
  - Update to Git submodule version of Mile.Project.Windows.
    (https://github.com/ProjectMile/Mile.Project.Windows)
  - Update Mile.Windows.Helpers to 1.0.558.
    (https://github.com/ProjectMile/Mile.Windows.Helpers/tree/1.0.558.0)
  - Update Mile.Xaml to 2.2.944.
    (https://github.com/ProjectMile/Mile.Xaml/releases/tag/2.2.944.0)
  - Use Mile.Windows.Internal package.
    (https://github.com/ProjectMile/Mile.Windows.Internal)
  - Use Mile.Detours package.
    (https://github.com/ProjectMile/Mile.Detours)
  - Use modern IFileDialog for folder picker dialog. (Contributed by 
    reflectronic.)
  - Launch directly to the settings page of association for NanaZip.
    (Contributed by AndromedaMelody.)
  - Show NanaZip in Drives' ContextMenu. (Contributed by AndromedaMelody.)
  - Sync file extension support from https://github.com/mcmilk/7-Zip-zstd.
  - Add other methods to compression dialog.
    (https://github.com/mcmilk/7-Zip-zstd/commit/cf29d0c1babcd5ddf2c67eda8bb36e11f9c643b9)
  - Reorder initialization in constructor matching to member declaration order.
    (https://github.com/mcmilk/7-Zip-zstd/commit/8b011d230f1ccd8990943bd2eaad38d70e6e3fdf)
  - Fix selectable uppercase / lowercase hash formatting.
    (https://github.com/mcmilk/7-Zip-zstd/commit/4fae369d2d6aa60e2bb45eea1fb05659a2599caa)
  - Update russian translation. (Contributed by Blueberryy.)
  - Update Polish translation. (Contributed by ChuckMichael.)
  - Add mitigation policy of disabling child process creation for command line
    version of NanaZip. (Contributed by dinhngtu.)
  - Add Explorer Patcher DLL blocking for NanaZip File Manager for reenabling
    mitigation policy of blocking loading unexpected libraries from remote
    sources at runtime for the main thread of NanaZip File Manager without the
    stability issues. (Contributed by dinhngtu.)
- Fixes
  - Fix issue in IEnumExplorerCommand::Next for shell extension. (Thanks to
    cnbluefire.)
- Other adjustments for project development.

**NanaZip 2.0 Update 1 (2.0.450.0)**

- Optimize NanaZip binaries via adjusting the WindowsTargetPlatformMinVersion
  to 10.0.19041.0 in all packaged NanaZip binaries projects except the Self
  Extracting Executable stubs projects.
- Opt out of dynamic code mitigation on main NanaZip thread for resolving the
  compatibility issues with Explorer Patcher. (Contributed by dinhngtu.)
- Update Mile.Xaml to 1.1.434.
  (https://github.com/ProjectMile/Mile.Xaml/releases/tag/1.1.434.0)
- Update Mile.Windows.Helpers to 1.0.8.
  (https://github.com/ProjectMile/Mile.Windows.Helpers/commits/main)
- Add dark mode support for context menus.
- Refresh the about dialog with Windows 11 XAML control styles and the 
  immersive Mica effects.
- Fix model dialog style behavior for About dialog.
- Continue to refresh application and file type icons. (Designed by 
  Shomnipotence.)

**NanaZip 2.0 (2.0.396.0)**

- Notes
  - Update the minimum system requirement to Windows 10 Version 2004 (Build 
    1)     or later for solving issues in the XAML Islands.
  - Add instructions for installing NanaZip for all users. (Contributed by
    AndromedaMelody. Suggested by Wolverine1977.)
- Features
  - Integrate the following HASH algorithms to NanaZip from RHash (AICH, 
    BLAKE2b, BTIH, ED2K, EDON-R 224, EDON-R 256, EDON-R 384, EDON-R 512, 
    GOST R 34.11-94, GOST R 34.11-94 CryptoPro, GOST R 34.11-2012 256, 
    GOST R 34.11-2012 512, HAS-160, RIPEMD-160, SHA-224, SHA3-224, SHA3-256, 
    SHA3-384, SHA3-512, Snefru-128, Snefru-256, Tiger, Tiger2, TTH, Whirlpool) 
    and xxHash (XXH3_64bits, XXH3_128bits).
  - Allow NanaZip to be associated with any file type. (Contributed by 
    manfromarce.)
  - Add hfsx to file type association. (Suggested by AndromedaMelody.)
- Improvements
  - Refresh application and file type icons. (Designed by Shomnipotence.)
  - Refresh the about dialog with XAML Islands.
  - Update 7-Zip to 22.01. (https://www.7-zip.org/history.txt) (Thanks to Igor 
    Pavlov. Noticed by HylianSteel, Random-name-hi and DJxSpeedy.)
  - Update Zstandard to 1.5.2. 
    (https://github.com/facebook/zstd/releases/tag/v1.5.2).
  - Update BLAKE3 to 1.3.1.
    (https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.3.1)
  - Update LZ4 to 1.9.4. (https://github.com/lz4/lz4/releases/tag/v1.9.4)
  - Enable Control Flow Guard (CFG) to all target binaries for mitigating ROP 
    attacks. (Contributed by dinhngtu.)
  - Mark all x86 and x64 target binaries as compatible with Control-flow 
    Enforcement Technology (CET) Shadow Stack. (Contributed by dinhngtu.)
  - Strict handle checks at runtime to block the use of invalid handles. 
    (Contributed by dinhngtu.)
  - Disable dynamic code generation in Release builds prevents generating 
    malicious code at runtime. (Contributed by dinhngtu. Thanks to 
    AndromedaMelody.)
  - Block loading unexpected libraries from remote sources at runtime.
    (Contributed by dinhngtu.)
  - Enable Package Integrity Check. (Contributed by AndromedaMelody.)
  - Enable EH Continuation Metadata. (Suggested by dinhngtu. Thanks to 
    mingkuang.)
  - Enable Signed Returns.
  - Add Mile.Xaml to NanaZip project.
  - Start adding prerequisite support for unpackaged mode.
- Fixes
  - Fix the shell extension issue which cause Everything crashed. (Thanks to 
    No5972, startkkkkkk, SakuraNeko, bfgxp and riverar.)
  - Improve the Per-Monitor DPI Awareness support in Windows 10 Version 1607 
    for Self Extracting Executable stubs.
  - Fix line break issue for i18n resource files. (Thanks to ygjsz.)
  - Generate resource identities for package manifest manually. (Suggested by 
    AndromedaMelody.)
  - Add workaround for NanaZip not appearing in classic context menu. 
    (Contributed by dinhngtu.)
  - Check 7z compression parameter validity upon start of compression.
    (Contributed by dinhngtu.)

**NanaZip 1.2 (1.2.252.0)**

- Fix no ordinal 345 was found in the dynamically attached library issue in 
  Self Extracting Executables. (Thanks to FadeMind.)
- Add Per-Monitor DPI-Aware support for all GUI components.
- Adjust and simplify the compiler options for modernizing.
- Fix i18n issue for the About dialog. (Thanks to AndromedaMelody.)
- Update installation tutorial. (Suggested by AndromedaMelody.)
- Fix cannot start editor issue when only store edition of notepad existed. 
  (Thanks to AndromedaMelody.)
- Modernize the i18n implementation via migrating language files from .txt to 
  .resw. (Contributed by AndromedaMelody. Suggested by Maicol Battistini.)
- Update ModernWin32MessageBox for solving the infinite loop issue in some 
  cases. (Thanks to AndromedaMelody.)
- Tweak icons and provide icons for preview versions. (Designed by Alice 
  (四月天). Thanks to StarlightMelody.)
- Fix crash issue when opening archive files. (Thanks to 1human and Maicol 
  Battistini.)
- Remove Language page in Options dialog because NanaZip will follow the 
  language settings from Windows itself.
- Fix the issue of the i18n implementation of File Type Association. 
  (Contributed by AndromedaMelody.)
- Add i18n support for GUI edition of Self Extracting Executable. 
  (Contributed by AndromedaMelody.)

**NanaZip 1.1 (1.1.194.0)**

- Add assembly implementations from 7-Zip back for improving performance.
- Reimplement the about dialog with Task Dialog.
- Modernize the message boxes with Task Dialog. (Thanks to DJxSpeedy.)
- Update 7-Zip to 21.07. (Thanks to Igor Pavlov. Noticed by HylianSteel.)
- Update translations inherited from 7-Zip.
- Update Deutsch translations. (Contributed by Hen Ry.)
- Update Polish translation. (Contributed by ChuckMichael.)
- Improve the multi volume rar file detection for solving 
  https://github.com/M2Team/NanaZip/issues/82. (Thanks to 1human.)
- Simplify the file type association definitions and add the open verb for 
  them. (Thanks to Fabio286.)
- Fix CI issue.
- Update VC-LTL to 5.0.4.
- Update C++/WinRT to 2.0.211028.7.

**NanaZip 1.0 (1.0.95.0)**

- Modernize the build toolchain with MSBuild for using MSIX packaging and 
  parallel compilation support. (Thanks to AndromedaMelody, be5invis, 
  青春永不落幕 and oxygen-dioxide.)
- Use [VC-LTL 5.x](https://github.com/Chuyu-Team/VC-LTL5) toolchain to make the
  binary size even smaller than the official 7-Zip because we can use 
  ucrtbase.dll directly and the optimizations from modern compile toolchain.
  (Thanks to mingkuang.)
- Add the context menu support in Windows 10/11 File Explorer. (Thanks to 
  shiroshan.)
- New icons. (Designed by Alice (四月天), Chi Lei, Kenji Mouri, Rúben Garrido 
  and Sakura Neko. Thanks to AndromedaMelody and 奕然.)
- Minor tweaks. (Thanks to adrianghc, Blueberryy, ChuckMichael, Legna, Maicol 
  Battistini, SakuraNeko and Zbynius.)
- Update 7-Zip from 21.03 to 21.06. (Noticed by Dan, lychichem and sanderdewit.
  Thanks to Igor Pavlov.)
- Enable parsing the NSIS script support in the NSIS archives. (Suggested by 
  alanfox2000. Thanks to myfreeer.)
- Merge features from 7-Zip ZStandard branch. (Suggested by fcharlie. Thanks to
  Tino Reichardt.)


================================================
FILE: Documents/ReleaseNotesPreview.md
================================================
# NanaZip Preview Release Notes

For stable versions, please read [NanaZip Release Notes](ReleaseNotes.md).

**NanaZip 6.5 Preview (6.5.16xx.0)**

- Includes all the improvements from NanaZip 6.0 Update 2 (6.0.1650.0).
- Introduce XAML XAML copy location dialog. (Contributed by dongle-the-gadget.)

**NanaZip 6.5 Preview (6.5.1638.0)**

This release includes all the improvements from NanaZip 6.0 Update 1
(6.0.1638.0).

**NanaZip 6.0 Final (6.0.1630.0)**

- Start to provide the official portable binaries package of NanaZip with both
  Modern and Classic flavors, except the NanaZip File Manager.
- Fix several crash issues for the .NET Single File Application bundle readonly
  support. (Thanks to haaeein.)
- Fix several hang issues for the ROMFS file system image readonly support
  support. (Contributed by dinhngtu. Thanks to haaeein.)
- Fix several issues for context menu support. (Contributed by dinhngtu.)
- Synchronize 7-Zip mainline implementations to 26.00. (Except the NanaZip File
  Manager.) (Thanks to Igor Pavlov. Noticed by FadeMind.)
- Improve the address bar UI layout. (Cooperated with dinhngtu. Suggested by
  VinaC2.)
- Make the splitter bar fully white to workaround the light mode UI visual
  issues in the 2 Panels mode.
- Fix the splitter bar cannot have Mica in the dark mode.
- Add the dark mode support for Win32 task dialog.
- Use Win32 TaskDialog to implement the Folders History dialog to simplify the
  implementation.
- Introduce Group Policy Administrative Template (ADMX/ADML) for NanaZip.
  (Contributed by dinhngtu.)
- Update Dutch translation. (Contributed by Stephan-P.)
- Synchronize the NanaZip File Manager implementations between NanaZip (Modern)
  and NanaZip Classic.
- Fix some potential issues for the dark mode support.
- Try to partially improve the NanaZip File Manager main window keyboard
  navigation experience.
- Update Mile.Project.Configurations to 1.0.1917, which solve some issues for
  using NuGet Package References Support in Visual Studio 2026 version 18.3 or
  later. (Cooperated by AndromedaMelody.)
- Update Mile.Windows.Internal to 1.0.3515.
- Update Mile.Xaml to 2.5.1616.
- Add RestoreNuGetPackages.cmd script to workaround some issues for people who
  want to use Visual Studio to build NanaZip without running BuildAllTargets.bat
  script.
 
**NanaZip 6.0 Preview 2 (6.0.1621.0)**

- Introduce NanaZip.Universal.Windows project for making NanaZip Command Line
  Interface (Windows) for both NanaZip (Modern) and NanaZip Classic a.k.a.
  NanaZipG or K7G to synchronize to the latest 7-Zip mainline and 7-Zip ZS
  implementations.
- Introduce NanaZip Platform Base Library (K7Base) and NanaZip Platform User
  Library (K7User) to replace NanaZip Platform Abstraction Layer (K7Pal) and
  NanaZip.Frieren for better code sharing and maintainability.
- Redesign the security mitigation policies settings support (followed some
  suggestions from dongle-the-gadget), also introduces several new security
  mitigation policies like the archive handler and codec handler restriction
  (which is contributed by dinhngtu). Read
  https://github.com/M2Team/NanaZip/blob/main/Documents/Policies.md for more
  information.
- Backport CVE-2025-0411 and CVE-2025-11001 for the NanaZip File Manager which
  still use the old 7-Zip mainline codebase. (Contributed by dinhngtu.)
- Set the LOAD_LIBRARY_SEARCH_SYSTEM32 dependent load flag on Release builds of
  Self Extracting Executables stubs to mitigate static imports level DLL
  planting attack on Windows 10 build 14393 and later. (Contributed by
  dinhngtu.)
- Allow to associate more file types to NanaZip. (Contributed by manfromarce.)
- Enable Ctrl+Backspace on edit fields using SHAutoComplete. (Contributed by
  dinhngtu.)
- Fix the flickering issues when selecting list view in dark mode.
- Make texts have better contrast in dark mode.
- Make FastLZMA2 and Lizard reuse partial Zstandard implementations.
- Fix crash issue when using NanaZip.Core.Setup.sfx.
  (https://github.com/M2Team/NanaZip/issues/795) (Thanks to kbarnes3.)
- Fix flickering XAML dialogs. (Contributed by dongle-the-gadget.)
- Fix crash issue from XAML address bar. (Contributed by dongle-the-gadget.)
- Use a low name as the shell extension name prefix to work around our context
  menu not appearing in the classic context menu. (Contributed by dinhngtu.)
- Don't reset compression method after changing level. (Contributed by
  dongle-the-gadget.)
- Fix text overflow in German translation. (Contributed by Pinguin2001.)
- Localize Open Inside menu text. (Contributed by dinhngtu.)
- Remove Help button from compress option dialogs. (Contributed by peashooter2.)
- Fix UI assignment of WriteZone setting. (Contributed by dinhngtu.)
- Handle Add button when inside archives. (Contributed by dinhngtu.)
- Use assembly hardware acceleration for BLAKE3 implementation.
- Fix issues for NanaZip Preview SVG icon assets for Contrast Black mode.
- Update the icon assets with optimized assets to reduce the binary size.
- Don't contain Mile.Project.Wap.Unstaged.targets in the MSIX package.
- Synchronize 7-Zip mainline implementations to 25.01 for NanaZip components
  which still use the old 7-Zip mainline codebase (command line version).
  (Thanks to Igor Pavlov.)
- Synchronize the 7-Zip ZS implementations to
  https://github.com/mcmilk/7-Zip-zstd/tree/5766dd7745f6517f7ea42f6de9a190dfd92aa25f.
  (Except the NanaZip File Manager.) (Thanks to Sergey G. Brester and Tino
  Reichardt.)
- Synchronize Brotli implementations to v1.2.0.
  (https://github.com/google/brotli/releases/tag/v1.2.0)
- Synchronize the FastLZMA2 implementations to
  https://github.com/conor42/fast-lzma2/tree/a793db99fade2957d2453035390f97e573acecb2,
  which can fix some issues. (Contributed by dinhngtu.)
- Synchronize the BLAKE3 implementation to 1.8.3.
  (https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.8.3)
- Synchronize RHash to the latest master
  (https://github.com/rhash/RHash/tree/b76c6a3312422c09817c2cef40442b2f2d9d4689)
  which is after v1.4.6.
- Update Mile.Project.Configurations to 1.0.1827.
- Update Mile.Mobility to 1.0.372.
- Update Mile.Project.Helpers to 1.0.975.
- Update Mile.Windows.Helpers to 1.0.1171.
- Update Mile.Detours to 1.0.2180.
- Update .NET projects to .NET 10 and update NuGet package dependencies.
- Add Release Tags to NanaZip Versioning.
- Migrate solution from sln to slnx, and start to build with MSVC 14.50 toolset.
- Support opening NanaZip Visual Studio solution without installing WinUI
  application and/or Universal Windows Platform development workload.
  (Contributed by AndromedaMelody.)
- Make the precompiled build tools generated by GitHub Actions workflow
  automatically.
- Improve several implementations and fix several issues.

**NanaZip 6.0 Preview 1 (6.0.1461.0)**

- Start to transition to community driven development model.
- Introduce extract-on-open feature. (Contributed by dinhngtu.)
  - To disable this temporarily, hold Shift while opening the file.
  - To disable this permanently, go to Settings, Integration tab, and disable
    "Extract on open" at the bottom.
- Introduce formal version of contributing guide and security policies.
  (Cooperated with dinhngtu and dongle-the-gadget.)
- Update system requirement to Windows 10, version 2004 (Build 19041) or later,
  and remove the x86 (32-bit) for all components.
- Start to use Zstandard decoder instead of 7-Zip mainline's implementation for
  better reliability, especially it can reduce more potential vulnerabilities.
- Introduce the XAML-based address bar. (Contributed by dongle-the-gadget.)
- Introduce the XAML-based status bar. (Contributed by dongle-the-gadget.)
- Introduce the XAML-based properties and information dialog. (Contributed by
  dongle-the-gadget.)
- Introduce the XAML-based progress dialog. (Contributed by dongle-the-gadget.)
- Improve the Smart Extraction feature. (Contributed by R-YaTian.)
- Introduce extract all automatically policy when opening executable files in
  archives. (Contributed by MajThomas.)
- Introduce the environment variable parsing support for address bar. (Thanks to
  dongle-the-gadget's huge help.)
- Improve the NanaZip startup performance by initializing the StoreContext
  later. (Contributed by dongle-the-gadget.)
- Add support for CBR and CBZ file associations. (Contributed by dinhngtu.)
- Add support for ASAR file association. (Contributed by dongle-the-gadget.)
- Display file system version in archive property window for the UFS/UFS2 file
  system image readonly support.
- Display bundle version in archive property for the .NET Single File
  Application bundle readonly support.
- Display file system version in archive property for the littlefs file system
  image readonly support.
- Fix the parsing padding issue for Electron Archive (asar) readonly support.
  (Contributed by Vlad-Andrei Popescu).
- Improve the ZealFS file system image readonly support implementation to fix
  several issues. (Cooperated with Zeal 8-bit.)
- Try to bring dialog window to the foreground to resolve user experience issues
  when opened from context menu. (Contributed by dinhngtu.)
- Move open folder checkbox to extract dialog. (Contributed by dinhngtu.)
- Introduce registry settings for Mark of the Web (MoTW) enforcement policies.
  (Contributed by dinhngtu.)
- Improve the dynamic library block list for resolving compatibility issues.
  (Contributed by dinhngtu.)
- Introduce registry settings for disabling security mitigation policies, which
  should be helpful for debugging and resolving compatibility issues.
  (Contributed by dinhngtu.)
- Fix dead loop issue when compressing files with Brotli, Lizard, LZ4 and LZ5
  mentioned in https://github.com/M2Team/NanaZip/issues/639. (Thanks to
  gigano01, InfiniteLoopGameDev and iOrange.)
- Fix the unable to return the processed bytes count issue for
  NanaZipCodecsReadInputStream.
- Fix some string resources issues. (Contributed by dinhngtu.)
- Fix issues in compression levels combobox. (Contributed by dongle-the-gadget.)
- Update Albanian translation. (Contributed by F1219R.)
- Update Hungarian translation. (Contributed by John Fowler.)
- Update Greek translation. (Contributed by Lefteris T.)
- Update German translation. (Contributed by HackZy01.)
- Update Bengali translation. (Contributed by Sumon Kayal.)
- Synchronize 7-Zip mainline implementations to 25.01. (Thanks to Igor Pavlov.
  Noticed by FadeMind and Pinguin2001.)
- Synchronize the 7-Zip ZS implementations to
  https://github.com/mcmilk/7-Zip-zstd/tree/2a2dcb293b80180dc305544bf6a9e081750bccfe.
  (Thanks to Sergey G. Brester and Tino Reichardt.)
- Update Zstandard to v1.5.7. (Noticed by dcog989.)
- Update Lizard to v2.1.
- Synchronize the BLAKE3 implementation to 1.8.2. (Noticed by peashooter2.)
- Synchronize the RHash implementation to latest master a.k.a.
  https://github.com/rhash/RHash/commit/cce6c628f93d9ed332921656aa5e1750d12b8d3e
  which is after v1.4.6.
- Update Mile.Windows.Helpers to 1.0.952.
- Update Mile.Windows.Internal to 1.0.3259.
- Update Mile.Json to 1.0.1057.
- Add littlefs v2.10.2 to NanaZip.Codecs for future development of work in
  progress littlefs archive format readonly support.
- Create NanaZip.Modern project for the modern user experience development.
- Introduce Mile.Mobility dependence to NanaZip.Codecs project for making better
  portability between NanaZip and AptxZip (a.k.a. NanaZip for POSIX).
- Introduce NanaZip.ExtensionPackage project for future development of features
  which need to be distributed as legacy installer. (Contributed by dinhngtu.)
- Introduce Mile.Helpers.Portable.Base.Unstaged as the temporary infrastructure
  to standardize some portable things in NanaZip.Codecs.
- Introduce NanaZip.Codecs.Specification.Fat for adding definitions of FAT12,
  FAT16 and FAT32.
- Introduce NanaZip.Codecs.Specification.Zealfs for adding definitions of
  ZealFS series file system. (Cooperated with Zeal 8-bit.)
- Add littlefs v1 on-disk definitions to the littlefs file system image readonly
  support.
- Introduce Mile.Project.Wap.Unstaged.targets for solving the issue that
  unnecessary XAML files contained in the final MSIX package.
- Add XAML Styler indentation configuration. (Contributed by dongle-the-gadget.)
- Use x-generate to define language resources in AppX manifest to solve the
  Windows AppX language fallback issue. (Suggested by dongle-the-gadget.)
- Update build binary logs when failed to build in GitHub Actions. (Contributed
  by dongle-the-gadget.)
- Introduce legacy string migrator. (Contributed by dongle-the-gadget.)
- Add more targeted editorconfig rules. (Contributed by dongle-the-gadget.)
- Move NanaZip.Core's NanaZip.Core.Console project to NanaZip.Universal's
  NanaZip.Universal.Console project.
- Disable WinRT metadata generation for all WinRT component consumers.
- Move NanaZip.Modern as the first item to workaround the AppX toolchain
  manifest generation issues.
- Improve the GitHub Actions artifacts generation.
- Update to Windows 11 SDK Build 26100 for NanaZipPackage.
- Fix the source code file header comment format.
- Use C++ zero initialization to reduce potential issues.
- Introduce reproducible build support for the whole project.

**NanaZip 5.1 Preview 0 (5.1.1263.0)**

This release includes all the improvements from NanaZip 5.0 Update 2
(5.0.1263.0).

**NanaZip 5.1 Preview 0 (5.1.1252.0)**

This release includes all the improvements from NanaZip 5.0 Update 1
(5.0.1252.0).

**NanaZip 5.0 Preview 2 (5.0.1243.0)**

- Continue to improve the work-in-progress NanaZip Platform Abstraction Layer
  (K7Pal). (https://github.com/M2Team/NanaZip/tree/main/K7Pal)
  - Fix the crash and encrypted RAR5 format extraction wrong password issue for
    7-Zip's hash algorithms wrappers which mentioned in
    https://github.com/M2Team/NanaZip/issues/542. (Thanks to RuesanG.)
  - Introduce K7PalHashDuplicate API.
  - Remove K7PalHashReset API for improving the security.
  - Reduce the saved information in hash contexts to improve the security.
  - Use NanaZip Platform Abstraction Layer (K7Pal) to implement 7-Zip's SHA-1
    hash algorithms.
- Update zh-Hans and zh-Hant translations for 'Want * History' strings. 
  (Contributed by R-YaTian.) (Forget to mentioned in NanaZip 5.0 Preview 1.)
- Adds a setting for opening the folder after extracting from archive.
  (Contributing by DaxDupont.)
- Introduce the Smart Extraction. (Contributed by R-YaTian.)
- Fix the issue that which NanaZip windows and dialogs will be opened in the
  background when using NanaZip from context menu. (Contributed by R-YaTian.)
- Update xxHash to v0.8.3.
  (https://github.com/Cyan4973/xxHash/releases/tag/v0.8.3)

**NanaZip 5.0 Preview 1 (5.0.1215.0)**

- Introduce NanaZip Platform Abstraction Layer (K7Pal) for wrapping the platform
  specific infrastructures. (https://github.com/M2Team/NanaZip/tree/main/K7Pal)
  (Work In Progress)
  - Provide hash functions interfaces implemented with Windows CNG API. NanaZip
    uses these hash functions from K7Pal:
    - MD2
    - MD4
    - MD5
    - SHA-1
    - SHA-256
    - SHA-384
    - SHA-512
    - ED2K (Implemented as the K7Pal MD4 wrapper in NanaZip.Codecs.)
- Synchronize the 7-Zip mainline implementations to 24.09.
  (https://github.com/ip7z/7zip/releases/tag/24.09) (Thanks to Igor Pavlov.
  Noticed by FadeMind and peashooter2.)
- Finally move NanaZip console version to NanaZip.Core project.
- Don't fail ModernSHBrowseForFolderW when DefaultFolder cannot be set.
  (Contributed by dinhngtu.)
- Update Mile.Windows.UniCrt to 1.1.278.

**NanaZip 5.0 Preview 0 (5.0.1188.0)**

- This release includes all the improvements from NanaZip 3.1 (3.1.1080.0)
  (https://github.com/M2Team/NanaZip/releases/tag/3.1.1080.0).
- Update Brazilian Portuguese translation. (Contributed by maisondasilva.)
- Make sure NanaZip Core (except the Self Extracting Executables) and NanaZip
  Classic using ucrtbase.dll with 10.0.19041.0 version or later.
- Update Mile.Windows.Helpers to 1.0.671.
    (https://github.com/ProjectMile/Mile.Windows.Helpers/tree/1.0.671.0)
- Move NanaZip console version to NanaZip.Core project. (Not used in NanaZip
  MSIX package because we need to release the next preview to contain the
  CVE-2024-11477 fix in NanaZip 3.1.)
- Remove C++/WinRT dependency for NanaZip.Codecs and NanaZip.Frieren.
- Add GetDpiForWindowWrapper for NanaZip.Frieren.DarkMode to fix the legacy
  Windows compatibility issues.
- Remove VC-LTL dependency for the Self Extracting Executables related projects.
- Adjust the compilation configurations to optimize the binary size for the Self
  Extracting Executables.
- Use Mile.Windows.UniCrt (https://github.com/ProjectMile/Mile.Windows.UniCrt)
  instead of VC-LTL.
- Update NanaZip.Specification.SevenZip header file.
- Start to simplify the NanaZip specific decoders and encoders implementation.
- Synchronize the BLAKE3 implementation to 1.5.5.
  (https://github.com/BLAKE3-team/BLAKE3/releases/tag/1.5.5)
- Synchronize the RHash implementation to the latest master branch which is
  after v1.4.5.
  (https://github.com/rhash/RHash/commit/cf2adf22ae7c39d9b8e5e7b87222046a8f42b3dc)
- Enable disabling child process creation for NanaZip Self Extracting
  Executables. (Except installer mode of Self Extracting Executables, which
  compiled binaries is not provided in the NanaZip MSIX package.)

**NanaZip 3.5 Preview 0 (3.5.1000.0)**

This release includes all the improvements from NanaZip 3.0 Update 1
(3.0.1000.0).

**NanaZip 3.5 Preview 0 (3.5.996.0)**

This release includes all the improvements from NanaZip 3.0 (3.0.996.0).

**NanaZip 3.0 Preview 0 (3.0.756.0)**

- Rewrite and split the implementation of the Core Library and the Self
  Extracting Executable to the separate NanaZip.Core project.
- Ensure the implementation of Core Library and the Self Extracting Executable
  supports Windows Vista RTM (Build 6000.16386).
- Reduce the binary size for the Self Extracting Executables.
- Synchronize the 7-Zip mainline implementations to 23.01.
  (https://www.7-zip.org/history.txt)
- Synchronize the 7-Zip ZS implementations to the latest master branch.
  (https://github.com/mcmilk/7-Zip-zstd/commit/ce27b4a0d3a94313d256c3d077f1784baffb9eee)
- Add the SM3 HASH algorithm from GmSSL.
  (https://github.com/guanzhi/GmSSL)
- Synchronize Zstandard and builtin xxHash implementations to v1.5.5.
  (https://github.com/facebook/zstd/releases/tag/v1.5.5)
- Synchronize Brotli implementations to v1.1.0.
  (https://github.com/google/brotli/releases/tag/v1.1.0)
- Synchronize the RHash implementation to the latest master branch.
  (https://github.com/rhash/RHash/commit/b8c91ea6551e99e10352386cd46ea26973bb4a4d)
- Update to Git submodule version of Mile.Project.Windows.
  (https://github.com/ProjectMile/Mile.Project.Windows)
- Update Mile.Windows.Helpers to 1.0.15.
  (https://github.com/ProjectMile/Mile.Windows.Helpers/commit/b522a956f7dd42dc205869d362f96a777bcb2aa0)
- Update Mile.Xaml to 2.1.661.
  (https://github.com/ProjectMile/Mile.Xaml/releases/tag/2.1.661.0)
- Update russian translation. (Contributed by Blueberryy.)
- Fix the text wrapping issue in the About dialog. (Thanks to MenschenToaster.)
- Use modern IFileDialog for folder picker dialog. (Contributed by 
  reflectronic.)
- Launch directly to the settings page of association for NanaZip. (Contributed
  by AndromedaMelody.)
- Show NanaZip in Drives' ContextMenu. (Contributed by AndromedaMelody.)
- Sync file extension support from https://github.com/mcmilk/7-Zip-zstd.
- Add other methods to compression dialog.
  (https://github.com/mcmilk/7-Zip-zstd/commit/cf29d0c1babcd5ddf2c67eda8bb36e11f9c643b9)
- Reorder initialization in constructor matching to member declaration order.
  (https://github.com/mcmilk/7-Zip-zstd/commit/8b011d230f1ccd8990943bd2eaad38d70e6e3fdf)
- Fix selectable uppercase / lowercase hash formatting.
  (https://github.com/mcmilk/7-Zip-zstd/commit/4fae369d2d6aa60e2bb45eea1fb05659a2599caa)
- Other adjustments for project development.

**NanaZip 2.1 Preview 0 (2.1.451.0)**

- Update icons. (Designed by Shomnipotence. Updated in NanaZip 2.0 Stable.)
- Add instructions for installing NanaZip for all users. (Updated in NanaZip
  2.0 Stable.)
- Add Mile.Xaml to NanaZip project. (Updated in NanaZip 2.0 Stable.)
- Refresh the about dialog with XAML Islands. (Updated in NanaZip 2.0 Stable.)
- Start adding prerequisite support for unpackaged mode. (Updated in NanaZip 
  2.0 Stable.)
- Optimize NanaZip binaries via adjusting the WindowsTargetPlatformMinVersion
  to 10.0.19041.0 in all packaged NanaZip binaries projects except the Self
  Extracting Executable stubs projects. (Updated in NanaZip 2.0 Update 1.)
- Opt out of dynamic code mitigation on main NanaZip thread for resolving the
  compatibility issues with Explorer Patcher. (Contributed by dinhngtu. Updated
  in NanaZip 2.0 Update 1.)
- Update Mile.Xaml to 1.1.434. (Updated in NanaZip 2.0 Update 1.)
  (https://github.com/ProjectMile/Mile.Xaml/releases/tag/1.1.434.0)
- Update Mile.Windows.Helpers to 1.0.8. (Updated in NanaZip 2.0 Update 1.)
  (https://github.com/ProjectMile/Mile.Windows.Helpers/commits/main)
- Add dark mode support for context menus. (Updated in NanaZip 2.0 Update 1.)
- Refresh the about dialog with Windows 11 XAML control styles and the 
  immersive Mica effects. (Updated in NanaZip 2.0 Update 1.)
- Fix model dialog style behavior for About dialog. (Updated in NanaZip 2.0
  Update 1.)
- Continue to refresh application and file type icons. (Designed by 
  Shomnipotence. Updated in NanaZip 2.0 Update 1.)

**NanaZip 2.0 Preview 2 (2.0.376.0)**

- Update 7-Zip to 22.01. (Thanks to Igor Pavlov. Noticed by HylianSteel, 
  Random-name-hi and DJxSpeedy.)
- Add hfsx to file type association. (Suggested by AndromedaMelody.)
- Update the minimum system requirement to Windows 10 Version 2004 (Build 19041)
  or later for solving issues in the XAML Islands.
- Update LZ4 to v1.9.4.
- Enable Package Integrity. (Contributed by AndromedaMelody.)
- Don't enable "Disable dynamic code generation" mitigation in Debug builds for
  solving codec load error issue. (Thanks to AndromedaMelody.)
- Continue to enable several security mitigations.
  - Enable EH Continuation Metadata.
  - Enable Signed Returns.
- Generate resource identities for package manifest manually. (Suggested by 
  AndromedaMelody.)
- Add workaround for NanaZip not appearing in classic context menu. 
  (Contributed by dinhngtu.)
- Check 7z compression parameter validity upon start of compression.
  (Contributed by dinhngtu.)
- Update icons. (Designed by Shomnipotence.)

**NanaZip 2.0 Preview 1 (2.0.313.0)**

- Fix the shell extension issue which cause Everything crashed. (Thanks to 
  No5972, startkkkkkk, SakuraNeko, bfgxp and riverar.)
- Allow NanaZip to be associated with any file type. (Contributed by 
  manfromarce.)
- Update 7-Zip to 22.00. (Thanks to Igor Pavlov. Noticed by HylianSteel.)
- Integrate the following HASH algorithms to NanaZip from RHash and xxHash.
  - AICH
  - BLAKE2b
  - BTIH
  - ED2K
  - EDON-R 224, EDON-R 256, EDON-R 384, EDON-R 512
  - GOST R 34.11-94, GOST R 34.11-94 CryptoPro
  - GOST R 34.11-2012 256, GOST R 34.11-2012 512
  - HAS-160, RIPEMD-160
  - SHA-224
  - SHA3-224, SHA3-256, SHA3-384, SHA3-512
  - Snefru-128, Snefru-256
  - Tiger, Tiger2
  - TTH
  - Whirlpool
  - XXH3_64bits, XXH3_128bits
- Update Zstandard to 1.5.2.
- Update BLAKE3 to 1.3.1.
- Improve the Per-Monitor DPI Awareness support in Windows 10 Version 1607 for
  Self Extracting Executable stubs.
- Fix line break issue for i18n resource files. (Thanks to ygjsz.)
- Enable several security mitigations. (Contributed by dinhngtu.)
  - Enable Control Flow Guard (CFG) to all target binaries for mitigating ROP 
    attacks.
  - Mark all x86 and x64 target binaries as compatible with Control-flow 
    Enforcement Technology (CET) Shadow Stack.
  - Strict handle checks at runtime to block the use of invalid handles.
  - Disable dynamic code generation prevents generating malicious code at
    runtime.
  - Block loading unexpected libraries from remote sources at runtime.

**NanaZip 1.2 Update 1 Preview 1 (1.2.253.0)**

- Fix the issue of the i18n implementation of File Type Association. 
  (Contributed by AndromedaMelody. Updated in NanaZip 1.2 Stable.)
- Add i18n support for GUI edition of Self Extracting Executable. 
  (Contributed by AndromedaMelody. Updated in NanaZip 1.2 Stable.)

**NanaZip 1.2 Preview 4 (1.2.225.0)**

- Continue to update ModernWin32MessageBox for solving the infinite loop issue
  in some cases. (Thanks to AndromedaMelody.)
- Fix crash issue when opening archive files. (Thanks to 1human and Maicol 
  Battistini.)
- Remove Language page in Options dialog because NanaZip will follow the 
  language settings from Windows itself.

**NanaZip 1.1 Servicing Update 1 Preview 3 (1.1.220.0)**

- Modernize the i18n implementation via migrating language files from .txt to 
  .resw. (Contributed by AndromedaMelody. Suggested by Maicol Battistini.)
- Update ModernWin32MessageBox for solving the infinite loop issue in some 
  cases. (Thanks to AndromedaMelody.)
- Tweak icons and provide icons for preview versions. (Designed by Alice 
  (四月天). Thanks to StarlightMelody.)

**NanaZip 1.1 Servicing Update 1 Preview 2 (1.1.201.0)**

- Fix no ordinal 345 was found in the dynamically attached library issue in 
  Self Extracting Executables. (Thanks to FadeMind.)
- Add Per-Monitor DPI-Aware support for all GUI components.
- Adjust and simplify the compiler options for modernizing.
- Fix i18n issue for the About dialog. (Thanks to AndromedaMelody.)
- Update installation tutorial. (Suggested by AndromedaMelody.)
- Fix cannot start editor issue when only store edition of notepad existed. 
  (Thanks to AndromedaMelody.)

**NanaZip 1.1 Servicing Update 1 Preview 1 (1.1.196.0)**

- Simplify the file type association definitions and add the open verb for 
  them. (Thanks to Fabio286. Fixed in NanaZip 1.1 Stable.)
- Update VC-LTL to 5.0.4. (Updated in NanaZip 1.1 Stable.)

**NanaZip 1.1 Preview 2 (1.1.153.0)**

- Fix the issue which can't load context menu properly. (Thanks to DJxSpeedy.)

**NanaZip 1.1 Preview 2 (1.1.152.0)**

- Reimplement the about dialog with Task Dialog.
- Update Deutsch translations. (Contributed by Hen Ry.)
- Add assembly implementations from 7-Zip back for improving performance.
- Update translations inherited from 7-Zip.
- Update 7-Zip to 21.07. (Thanks to Igor Pavlov. Noticed by HylianSteel.)
- Improve the multi volume rar file detection for solving 
  https://github.com/M2Team/NanaZip/issues/82. (Thanks to 1human.)
- Modernize the message boxes with Task Dialog.

**NanaZip 1.1 Preview 1 (1.1.101.0)**

- Exclude .webp in the archive file type list for solving 
  https://github.com/M2Team/NanaZip/issues/57. (Thanks to Zbynius. Fixed in 
  NanaZip 1.0 Stable.)
- Update Polish translation. (Contributed by ChuckMichael.)
- Fix CI issue.
- Update VC-LTL to 5.0.3.
- Update C++/WinRT to 2.0.211028.7.

**NanaZip 1.0 Preview 4 (1.0.88.0)**

- Update Italian, Russian and Polish Translations. (Contributed by Blueberryy, 
  Maicol Battistini and ChuckMichael.)
- Provide 7-Zip execution alias for helping users to migrate to NanaZip. 
  (Suggested by AndromedaMelody.)
- Adjust file association icon. (Suggested by 奕然.)
- Merge features from 7-Zip ZStandard branch. (Suggested by fcharlie. Thanks to
  Tino Reichardt.)
- Update 7-Zip to 21.06. (Noticed by Dan, lychichem and sanderdewit. Thanks to 
  Igor Pavlov.)
- Fix compression level display issue in the compress dialog. (Thanks to 
  SakuraNeko.)
- Make every file extension have own file type in file type association
  definitions for solving https://github.com/M2Team/NanaZip/issues/53. (Thanks 
  to oxygen-dioxide.)
- Disable virtualization:ExcludedDirectories for resolve 
  https://github.com/M2Team/NanaZip/issues/34. (Thanks to AndromedaMelody.)
- Reduce the compilation warnings.
- Change the configuration for NanaZipPackage project for solve the issue when
  referencing the Windows Runtime Components.
- Update Mile.Cpp.

**NanaZip 1.0 Preview 3 (1.0.46.0)**

- Enable parsing the NSIS script support in the NSIS archives. (Suggested by 
  alanfox2000. Thanks to myfreeer.)
- Simplify the separator layout in the context menu implementation.
- Fix app still displays in folder context menu, resulting in empty entry 
  that doesn't do anything when no options that could interact. (Thanks to 
  shiroshan.)
- Fix the application crash in some cases caused by some issues in the 
  exception handler implementation from VC-LTL 5.x. (Thanks to mingkuang.)
- Update new icons. (Designed by Alice (四月天), Chi Lei, Kenji Mouri, Rúben
  Garrido and Sakura Neko.)
- Make main NanaZip package contains all resources.
- Fix the command line help string. (Thanks to adrianghc.)

**NanaZip 1.0 Preview 2 (1.0.31.0)**

- Remove IObjectWithSite in shell extension implementation to reduce the 
  complexity and crashes.
- Add altform-lightunplated assets for display the contrast standard mode icon
  in the taskbar instead of contrast white icon. (Thanks to AndromedaMelody.)
- Remove Windows.Universal TargetDeviceFamily for solving the minimum OS 
  requirements display issue. (Thanks to 青春永不落幕.)
- Enable NanaZipC and NanaZipG in AppX manifest. (Thanks to be5invis.)
- Change "The operation can require big amount of RAM (memory)" error dialog to
  warning dialog. (Thanks to Legna.)

**NanaZip 1.0 Preview 1 (1.0.25.0)**

- Modernize the build toolchain with MSBuild for using MSIX packaging and 
  parallel compilation support.
- Use [VC-LTL 5.x](https://github.com/Chuyu-Team/VC-LTL5) toolchain to make the
  binary size even smaller than the official 7-Zip because we can use 
  ucrtbase.dll directly and the optimizations from modern compile toolchain.
- Add the context menu support in Windows 10/11 File Explorer.
- New icons and minor UI tweaks.


================================================
FILE: Documents/Section508/NanaZip.html
================================================
<!doctype HTML><html lang="en"><head><title>NanaZip Accessibility Conformance Report</title><meta name="viewport" content="width=device-width, initial-scale=1"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"></head><body id="openACR"><style>body#openACR {
      padding-left: 35px;
    }
    h2,
    h3 {
      position: relative;
    }
    h2 a.header-anchor,
    h3 a.header-anchor {
      position: absolute;
      left: -2rem;
    }
    h2 a.header-anchor:hover svg,
    h2 a.header-anchor:focus svg,
    h2 a.header-anchor:focus-within svg,
    h3 a.header-anchor:hover svg,
    h3 a.header-anchor:focus svg,
    h3 a.header-anchor:focus-within svg {
      fill: #0000EE;
      opacity: 1;
    }
    h2 a.header-anchor svg,
    h3 a.header-anchor svg {
      width: 28px;
      height: 28px;
      opacity: .3;
    }
    @media all and (max-width: 63.99em) {
      h2 a.header-anchor,
      h3 a.header-anchor {
        position:relative;
        opacity: 1;
        left: 0;
        vertical-align: top
      }
    }
    a.header-anchor {
      opacity: 0.4;
      font-size: small;
      text-decoration: none;
      position: relative;
      /* left: 20px; */
      -webkit-transition: opacity 1s, font-size 1s;
      -moz-transition: opacity 1s, font-size 1s;
      -o-transition: opacity 1s, font-size 1s;
      transition: opacity 1s, font-size 1s;
    }
    a.header-anchor:focus,a.header-anchor:hover {
      text-decoration: underline;
      font-size: large;
      opacity: 1
    }
    .visuallyhidden {
      border: 0;
      clip: rect(0 0 0 0);
      clip-path: inset(50%);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap;
      &.focusable {
          &:active,
          &:focus {
              clip: auto;
              clip-path: none;
              height: auto;
              margin: 0;
              overflow: visible;
              position: static;
              width: auto;
              white-space: inherit;
          }
      }
    }</style> <main><div class="grid-container"><h1 class="svelte-1nee40z">NanaZip Accessibility Conformance Report</h1>

Based on VPAT® 2.4 WCAG 2.1 and Revised Section 508 Edition <h2 id="name-of-product-version-download" class="svelte-1y7sq6j">Name of Product/Version <a href="#name-of-product-version-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2>  NanaZip  <h2 id="report-date-download" class="svelte-1y7sq6j">Report Dates and Version <a href="#report-date-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2>  <ul><li>Report Date: 2026/2/25</li> <li>Last Modified Date: 2026/2/25</li> <li>Version: nanazip-1</li></ul> <h2 id="product-description-download" class="svelte-1y7sq6j">Product Description <a href="#product-description-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2>  <p>NanaZip is an open source file archiver intended for the modern Windows experience, forked from the source code of well-known open source file archiver 7-Zip.</p>
 <h2 id="contact-information-download" class="svelte-1y7sq6j">Contact Information <a href="#contact-information-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2>   <h3 id="author-download" class="svelte-1y7sq6j">Author Information <a href="#author-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3> <ul><li>Name: Kenji Mouri</li> <li>Company: M2-Team</li>  <li>Email: <a href="mailto:Kenji.Mouri@outlook.com" target="_blank">Kenji.Mouri@outlook.com <span class="visuallyhidden">(opens in a new window or tab)</span></a></li>  <li>Website: <a href="http://nanazip.org/" target="_blank">http://nanazip.org/ <span class="visuallyhidden">(opens in a new window or tab)</span></a></li></ul>  <h3 id="vendor-download" class="svelte-1y7sq6j">Vendor Information <a href="#vendor-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3> <ul><li>Name: Kenji Mouri</li> <li>Company: M2-Team</li>  <li>Email: <a href="mailto:Kenji.Mouri@outlook.com" target="_blank">Kenji.Mouri@outlook.com <span class="visuallyhidden">(opens in a new window or tab)</span></a></li>  <li>Website: <a href="http://nanazip.org/" target="_blank">http://nanazip.org/ <span class="visuallyhidden">(opens in a new window or tab)</span></a></li></ul>   <h2 id="applicable-standards-guidelines-download" class="svelte-1y7sq6j">Applicable Standards/Guidelines <a href="#applicable-standards-guidelines-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2> 
This report covers the degree of conformance for the following accessibility standard/guidelines:

<table border="1" style="border-collapse: collapse"><thead><tr><th>Standard/Guideline</th> 
      <th>Included In Report</th></tr></thead> <tbody><tr><td><a href="https://www.w3.org/TR/WCAG21/" target="_blank">Web Content Accessibility Guidelines 2.1 <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td><ul><li>Table 1: Success Criteria, Level A</li><li>Table 2: Success Criteria, Level AA</li><li>Table 3: Success Criteria, Level AAA</li></ul></td> </tr><tr><td><a href="https://www.access-board.gov/ict/" target="_blank">Revised Section 508 standards published January 18, 2017 and corrected January 22, 2018 <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td><ul><li>Chapter 3: Functional Performance Criteria (FPC)</li><li>Chapter 4: Hardware</li><li>Chapter 5: Software</li><li>Chapter 6: Support Documentation and Services</li></ul></td> </tr></tbody></table> <h2 id="terms-download" class="svelte-1y7sq6j">Terms <a href="#terms-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2> 
The terms used in the Conformance Level information are defined as follows:
<ul><li><strong>Supports</strong>: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.</li><li><strong>Partially Supports</strong>: Some functionality of the product does not meet the criterion.</li><li><strong>Does Not Support</strong>: The majority of product functionality does not meet the criterion.</li><li><strong>Not Applicable</strong>: The criterion is not relevant to the product.</li><li><strong>Not Evaluated</strong>: The product has not been evaluated against the criterion. This can be used only in WCAG 2.x Level AAA.</li></ul> <h2 id="wcag-2.1-download" class="svelte-1y7sq6j">WCAG 2.1 Report <a href="#wcag-2.1-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2>   <h3 id="success_criteria_level_a-download" class="svelte-1y7sq6j">Table 1: Success Criteria, Level A <a href="#success_criteria_level_a-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3>   <h3 id="success_criteria_level_aa-download" class="svelte-1y7sq6j">Table 2: Success Criteria, Level AA <a href="#success_criteria_level_aa-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3>   <h3 id="success_criteria_level_aaa-download" class="svelte-1y7sq6j">Table 3: Success Criteria, Level AAA <a href="#success_criteria_level_aaa-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3>  <h2 id="508-download" class="svelte-1y7sq6j">Revised Section 508 Report <a href="#508-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2>   <h3 id="functional_performance_criteria-download" class="svelte-1y7sq6j">Chapter 3: Functional Performance Criteria (FPC) <a href="#functional_performance_criteria-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3>  <table class="svelte-4eon1l" border="1" style="border-collapse: collapse"><thead class="svelte-4eon1l"><tr class="svelte-4eon1l"><th class="svelte-4eon1l">Criteria</th> 
      <th class="svelte-4eon1l">Conformance Level</th> 
      <th class="svelte-4eon1l">Remarks and Explanations</th></tr></thead> <tbody><tr class="result-row svelte-cn2gpq" id="302.1-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.1" target="_blank">302.1 Without Vision <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="302.2-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.2" target="_blank">302.2 With Limited Vision <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="302.3-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.3" target="_blank">302.3 Without Perception of Color <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="302.4-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.4" target="_blank">302.4 Without Hearing <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="302.5-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.5" target="_blank">302.5 With Limited Hearing <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="302.6-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.6" target="_blank">302.6 Without Speech <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="302.7-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.7" target="_blank">302.7 With Limited Manipulation <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="302.8-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.8" target="_blank">302.8 With Limited Reach and Strength <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="302.9-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#302.9" target="_blank">302.9 With Limited Language, Cognitive, and Learning Abilities <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr></tbody></table> <h3 id="hardware-download" class="svelte-1y7sq6j">Chapter 4: Hardware <a href="#hardware-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3>   <h3 id="software-download" class="svelte-1y7sq6j">Chapter 5: Software <a href="#software-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3>  <table class="svelte-4eon1l" border="1" style="border-collapse: collapse"><thead class="svelte-4eon1l"><tr class="svelte-4eon1l"><th class="svelte-4eon1l">Criteria</th> 
      <th class="svelte-4eon1l">Conformance Level</th> 
      <th class="svelte-4eon1l">Remarks and Explanations</th></tr></thead> <tbody><tr class="result-row svelte-cn2gpq" id="502.2.1-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.2.1" target="_blank">502.2.1 User Control of Accessibility Features <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.2.2-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.2.2" target="_blank">502.2.2 No Disruption of Accessibility Features <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.1-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.1" target="_blank">502.3.1 Object Information <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.2-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.2" target="_blank">502.3.2 Modification of Object Information <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.3-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.3" target="_blank">502.3.3 Row, Column, and Headers <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.4-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.4" target="_blank">502.3.4 Values <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.5-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.5" target="_blank">502.3.5 Modification of Values <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.6-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.6" target="_blank">502.3.6 Label Relationships <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.7-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.7" target="_blank">502.3.7 Hierarchical Relationships <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.8-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.8" target="_blank">502.3.8 Text <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.9-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.9" target="_blank">502.3.9 Modification of Text <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.10-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.10" target="_blank">502.3.10 List of Actions <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.11-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.11" target="_blank">502.3.11 Actions on Objects <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.12-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.12" target="_blank">502.3.12 Focus Cursor <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.13-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.13" target="_blank">502.3.13 Modification of Focus Cursor <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.3.14-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.3.14" target="_blank">502.3.14 Event Notification <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="502.4-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#502.4" target="_blank">502.4 Platform Accessibility Features <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="503.2-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#503.2" target="_blank">503.2 User Preferences <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Supports</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="503.3-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#503.3" target="_blank">503.3 Alternative User Interfaces <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Not Applicable</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="503.4.1-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#503.4.1" target="_blank">503.4.1 Caption Controls <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Not Applicable</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="503.4.2-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#503.4.2" target="_blank">503.4.2 Audio Description Controls <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Not Applicable</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="504.2-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#504.2" target="_blank">504.2 Content Creation or Editing <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Not Applicable</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="504.2.1-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#504.2.1" target="_blank">504.2.1 Preservation of Information Provided for Accessibility in Format Conversion <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Not Applicable</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="504.2.2-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#504.2.2" target="_blank">504.2.2 PDF Export <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Not Applicable</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="504.3-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#504.3" target="_blank">504.3 Prompts <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Not Applicable</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr><tr class="result-row svelte-cn2gpq" id="504.4-download"><td class="svelte-cn2gpq"><a href="https://www.access-board.gov/ict/#504.4" target="_blank">504.4 Templates <span class="visuallyhidden">(opens in a new window or tab)</span></a></td> <td class="svelte-cn2gpq"><ul><li><p>Not Applicable</p></li></ul></td> <td class="svelte-cn2gpq"><ul></ul></td></tr></tbody></table> <h3 id="support_documentation_and_services-download" class="svelte-1y7sq6j">Chapter 6: Support Documentation and Services <a href="#support_documentation_and_services-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h3>    <h2 id="repository-download" class="svelte-1y7sq6j">Repository <a href="#repository-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2>  <a href="https://github.com/M2Team/NanaZip" target="_blank">https://github.com/M2Team/NanaZip <span class="visuallyhidden">(opens in a new window or tab)</span></a> <h2 id="feedback-download" class="svelte-1y7sq6j">Feedback <a href="#feedback-download" class="header-anchor svelte-1y7sq6j"><span class="anchor-icon" aria-hidden="true"><svg focusable="false" aria-hidden="true" class="icon-link svelte-1y7sq6j"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span> <span class="visuallyhidden">Anchor link</span></a></h2>  <a href="https://github.com/M2Team/NanaZip" target="_blank">https://github.com/M2Team/NanaZip <span class="visuallyhidden">(opens in a new window or tab)</span></a> </div></main> <footer class="usa-footer usa-footer usa-footer--slim"><div class="usa-footer__return-to-top"><div class="grid-container"><a href="#">Return to top</a></div></div> <div class="usa-footer__secondary-section"><div class="grid-container"><div class="grid-row grid-gap"><div class="grid-col"><a href="https://github.com/GSA/openacr" target="_blank">OpenACR <span class="visuallyhidden">(opens in a new window or tab)</span></a> is a format maintained by the <a href="https://gsa.gov/" target="_blank">GSA <span class="visuallyhidden">(opens in a new window or tab)</span></a>. The content is the responsibility of the author.
          </div> <div class="grid-col">This content is licensed under a <a href="https://opensource.org/licenses/MIT" target="_blank">MIT License <span>(opens in a new window or tab)</span></a>.</div></div></div></div></footer></body></html>

================================================
FILE: Documents/Section508/NanaZip.yaml
================================================
title: NanaZip Accessibility Conformance Report
product:
  name: NanaZip
  version: ''
  description: >-
    NanaZip is an open source file archiver intended for the modern Windows
    experience, forked from the source code of well-known open source file
    archiver 7-Zip.
author:
  name: Kenji Mouri
  company_name: M2-Team
  address: ''
  email: Kenji.Mouri@outlook.com
  phone: ''
  website: 'http://nanazip.org/'
vendor:
  name: Kenji Mouri
  company_name: M2-Team
  address: ''
  email: Kenji.Mouri@outlook.com
  phone: ''
  website: 'http://nanazip.org/'
report_date: 2026/2/25
last_modified_date: 2026/2/25
version: 1
notes: ''
evaluation_methods_used: ''
legal_disclaimer: ''
repository: 'https://github.com/M2Team/NanaZip'
feedback: 'https://github.com/M2Team/NanaZip'
license: MIT
related_openacrs: []
catalog: 2.4-edition-wcag-2.1-508-en
chapters:
  success_criteria_level_a:
    notes: ''
    disabled: true
    criteria:
      - num: 1.1.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.2.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.2.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.2.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.3.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.3.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.3.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.1.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.1.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.1.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.2.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.2.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.3.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.5.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.5.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.5.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.5.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.1.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.2.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.2.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.3.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.3.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 4.1.1
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 4.1.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
  success_criteria_level_aa:
    notes: ''
    disabled: true
    criteria:
      - num: 1.2.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.2.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.3.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.3.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.10
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.11
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.12
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.13
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.6
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.7
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.1.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.2.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.2.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.3.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.3.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 4.1.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
  success_criteria_level_aaa:
    notes: ''
    disabled: true
    criteria:
      - num: 1.2.6
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.2.7
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.2.8
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.2.9
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.3.6
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.6
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.7
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.8
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 1.4.9
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.1.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.2.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.2.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.2.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.2.6
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.3.2
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.3.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.8
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.9
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.4.10
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.5.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 2.5.6
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.1.3
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.1.4
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.1.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.1.6
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.2.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.3.5
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
      - num: 3.3.6
        components:
          - name: web
            adherence:
              level: ''
              notes: ''
          - name: electronic-docs
            adherence:
              level: ''
              notes: ''
          - name: software
            adherence:
              level: ''
              notes: ''
          - name: authoring-tool
            adherence:
              level: ''
              notes: ''
  functional_performance_criteria:
    notes: ''
    disabled: false
    criteria:
      - num: '302.1'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
      - num: '302.2'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
      - num: '302.3'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
      - num: '302.4'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
      - num: '302.5'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
      - num: '302.6'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
      - num: '302.7'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
      - num: '302.8'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
      - num: '302.9'
        components:
          - name: none
            adherence:
              level: supports
              notes: ''
  hardware:
    notes: ''
    disabled: true
    criteria:
      - num: 402.2.1
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: 402.2.2
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: 402.2.3
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: 402.2.4
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: 402.2.5
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: 402.3.1
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: 402.3.2
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: '402.4'
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: '402.5'
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: '403.1'
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: '404.1'
        components:
          - name: none
            adherence:
              level: ''
              notes: ''
      - num: '405.1'
        components:
          - name: none
    
Download .txt
gitextract_ul7qcrqt/

├── .editorconfig
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   └── feature_request.yml
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dco.yml
│   └── workflows/
│       ├── BuildBinaries.yml
│       ├── UpdatePrecompiledBuildTools.yml
│       └── UpdateWebsite.yml
├── .gitignore
├── BuildAllTargets.cmd
├── BuildAllTargets.proj
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Directory.Build.props
├── Documents/
│   ├── ChannelSwitchNote.md
│   ├── DevelopmentRoadmapArchived.md
│   ├── People.md
│   ├── Policies.md
│   ├── PolicyDefinitions/
│   │   ├── NanaZip.admx
│   │   └── en-US/
│   │       └── NanaZip.adml
│   ├── Privacy.md
│   ├── ReleaseNotes.md
│   ├── ReleaseNotesPreview.md
│   ├── Section508/
│   │   ├── NanaZip.html
│   │   └── NanaZip.yaml
│   ├── SponsorEdition.md
│   ├── UpstreamSynchronization.md
│   ├── Versioning.md
│   └── Website/
│       ├── .gitignore
│       ├── .vscode/
│       │   ├── extensions.json
│       │   ├── launch.json
│       │   └── mcp.json
│       ├── ReadMe.md
│       ├── astro.config.mjs
│       ├── package.json
│       ├── src/
│       │   ├── assets/
│       │   │   └── styles/
│       │   │       ├── button.css
│       │   │       ├── global.css
│       │   │       ├── icons.css
│       │   │       ├── image.css
│       │   │       ├── pages/
│       │   │       │   └── index.css
│       │   │       ├── text.css
│       │   │       └── theme.css
│       │   ├── components/
│       │   │   ├── Footer/
│       │   │   │   ├── Footer.astro
│       │   │   │   └── Footer.css
│       │   │   ├── InfoBar/
│       │   │   │   ├── InfoBar.astro
│       │   │   │   └── InfoBar.scss
│       │   │   ├── Navbar/
│       │   │   │   ├── Navbar.astro
│       │   │   │   ├── Navbar.scss
│       │   │   │   └── Navbar.ts
│       │   │   ├── PageSection/
│       │   │   │   ├── PageSection.astro
│       │   │   │   └── PageSection.scss
│       │   │   ├── StoreBadge/
│       │   │   │   ├── StoreBadge.astro
│       │   │   │   ├── StoreBadge.css
│       │   │   │   └── StoreBadge.ts
│       │   │   ├── ThemedLocalPicture/
│       │   │   │   └── ThemedLocalPicture.astro
│       │   │   └── Tree/
│       │   │       ├── Tree.astro
│       │   │       └── Tree.css
│       │   ├── layouts/
│       │   │   └── Layout.astro
│       │   └── pages/
│       │       ├── downloads.astro
│       │       ├── index.astro
│       │       └── section508.astro
│       └── tsconfig.json
├── K7Base/
│   ├── K7Base.def
│   ├── K7Base.h
│   ├── K7Base.props
│   ├── K7Base.vcxproj
│   ├── K7BaseDetours.cpp
│   ├── K7BaseHash.cpp
│   ├── K7BaseInitialize.cpp
│   ├── K7BaseMitigations.cpp
│   ├── K7BaseModern.cpp
│   ├── K7BasePolicies.cpp
│   ├── K7BasePrivate.h
│   ├── K7BaseRedirector.cpp
│   ├── K7BaseStatic.props
│   ├── K7BaseStatic.vcxproj
│   └── ReadMe.md
├── K7User/
│   ├── K7User.def
│   ├── K7User.h
│   ├── K7User.props
│   ├── K7User.vcxproj
│   ├── K7UserDarkMode.cpp
│   ├── K7UserModern.cpp
│   ├── K7UserPrivate.h
│   ├── K7UserRedirector.cpp
│   ├── K7UserStatic.props
│   ├── K7UserStatic.vcxproj
│   └── ReadMe.md
├── License.md
├── NanaZip.Build.Tasks/
│   ├── NanaZip.Build.Tasks.csproj
│   ├── RefreshAppxManifestVersion.cs
│   └── RefreshProjectBuildNumberDate.cs
├── NanaZip.Codecs/
│   ├── BLAKE3/
│   │   ├── blake3.c
│   │   ├── blake3.h
│   │   ├── blake3_avx2_x86-64_windows_msvc.asm
│   │   ├── blake3_avx512_x86-64_windows_msvc.asm
│   │   ├── blake3_dispatch.c
│   │   ├── blake3_impl.h
│   │   ├── blake3_neon.c
│   │   ├── blake3_portable.c
│   │   ├── blake3_sse2_x86-64_windows_msvc.asm
│   │   └── blake3_sse41_x86-64_windows_msvc.asm
│   ├── Brotli/
│   │   ├── common/
│   │   │   ├── constants.c
│   │   │   ├── constants.h
│   │   │   ├── context.c
│   │   │   ├── context.h
│   │   │   ├── dictionary.c
│   │   │   ├── dictionary.h
│   │   │   ├── dictionary_inc.h
│   │   │   ├── platform.c
│   │   │   ├── platform.h
│   │   │   ├── shared_dictionary.c
│   │   │   ├── shared_dictionary_internal.h
│   │   │   ├── static_init.h
│   │   │   ├── transform.c
│   │   │   ├── transform.h
│   │   │   └── version.h
│   │   ├── dec/
│   │   │   ├── bit_reader.c
│   │   │   ├── bit_reader.h
│   │   │   ├── dec_static_init.c
│   │   │   ├── decode.c
│   │   │   ├── huffman.c
│   │   │   ├── huffman.h
│   │   │   ├── prefix.c
│   │   │   ├── prefix.h
│   │   │   ├── prefix_inc.h
│   │   │   ├── state.c
│   │   │   ├── state.h
│   │   │   └── static_init.h
│   │   ├── enc/
│   │   │   ├── backward_references.c
│   │   │   ├── backward_references.h
│   │   │   ├── backward_references_hq.c
│   │   │   ├── backward_references_hq.h
│   │   │   ├── backward_references_inc.h
│   │   │   ├── bit_cost.c
│   │   │   ├── bit_cost.h
│   │   │   ├── bit_cost_inc.h
│   │   │   ├── block_encoder_inc.h
│   │   │   ├── block_splitter.c
│   │   │   ├── block_splitter.h
│   │   │   ├── block_splitter_inc.h
│   │   │   ├── brotli_bit_stream.c
│   │   │   ├── brotli_bit_stream.h
│   │   │   ├── cluster.c
│   │   │   ├── cluster.h
│   │   │   ├── cluster_inc.h
│   │   │   ├── command.c
│   │   │   ├── command.h
│   │   │   ├── compound_dictionary.c
│   │   │   ├── compound_dictionary.h
│   │   │   ├── compress_fragment.c
│   │   │   ├── compress_fragment.h
│   │   │   ├── compress_fragment_two_pass.c
│   │   │   ├── compress_fragment_two_pass.h
│   │   │   ├── dictionary_hash.c
│   │   │   ├── dictionary_hash.h
│   │   │   ├── dictionary_hash_inc.h
│   │   │   ├── enc_static_init.c
│   │   │   ├── encode.c
│   │   │   ├── encoder_dict.c
│   │   │   ├── encoder_dict.h
│   │   │   ├── entropy_encode.c
│   │   │   ├── entropy_encode.h
│   │   │   ├── entropy_encode_static.h
│   │   │   ├── fast_log.c
│   │   │   ├── fast_log.h
│   │   │   ├── find_match_length.h
│   │   │   ├── hash.h
│   │   │   ├── hash_base.h
│   │   │   ├── hash_composite_inc.h
│   │   │   ├── hash_forgetful_chain_inc.h
│   │   │   ├── hash_longest_match64_inc.h
│   │   │   ├── hash_longest_match64_simd_inc.h
│   │   │   ├── hash_longest_match_inc.h
│   │   │   ├── hash_longest_match_quickly_inc.h
│   │   │   ├── hash_longest_match_simd_inc.h
│   │   │   ├── hash_rolling_inc.h
│   │   │   ├── hash_to_binary_tree_inc.h
│   │   │   ├── histogram.c
│   │   │   ├── histogram.h
│   │   │   ├── histogram_inc.h
│   │   │   ├── literal_cost.c
│   │   │   ├── literal_cost.h
│   │   │   ├── matching_tag_mask.h
│   │   │   ├── memory.c
│   │   │   ├── memory.h
│   │   │   ├── metablock.c
│   │   │   ├── metablock.h
│   │   │   ├── metablock_inc.h
│   │   │   ├── params.h
│   │   │   ├── prefix.h
│   │   │   ├── quality.h
│   │   │   ├── ringbuffer.h
│   │   │   ├── state.h
│   │   │   ├── static_dict.c
│   │   │   ├── static_dict.h
│   │   │   ├── static_dict_lut.c
│   │   │   ├── static_dict_lut.h
│   │   │   ├── static_dict_lut_inc.h
│   │   │   ├── static_init.h
│   │   │   ├── utf8_util.c
│   │   │   ├── utf8_util.h
│   │   │   └── write_bits.h
│   │   └── include/
│   │       └── brotli/
│   │           ├── decode.h
│   │           ├── encode.h
│   │           ├── port.h
│   │           ├── shared_dictionary.h
│   │           └── types.h
│   ├── FastLZMA2/
│   │   ├── atomic.h
│   │   ├── compiler.h
│   │   ├── count.h
│   │   ├── data_block.h
│   │   ├── dict_buffer.c
│   │   ├── dict_buffer.h
│   │   ├── fast-lzma2.h
│   │   ├── fastpos_table.h
│   │   ├── fl2_common.c
│   │   ├── fl2_compress.c
│   │   ├── fl2_compress_internal.h
│   │   ├── fl2_errors.h
│   │   ├── fl2_internal.h
│   │   ├── fl2_pool.c
│   │   ├── fl2_pool.h
│   │   ├── fl2_threading.c
│   │   ├── fl2_threading.h
│   │   ├── lzma2_enc.c
│   │   ├── lzma2_enc.h
│   │   ├── mem.h
│   │   ├── platform.h
│   │   ├── radix_bitpack.c
│   │   ├── radix_engine.h
│   │   ├── radix_get.h
│   │   ├── radix_internal.h
│   │   ├── radix_mf.c
│   │   ├── radix_mf.h
│   │   ├── radix_struct.c
│   │   ├── range_enc.c
│   │   ├── range_enc.h
│   │   ├── util.c
│   │   └── util.h
│   ├── FreeBSD/
│   │   ├── dinode.h
│   │   ├── dir.h
│   │   └── fs.h
│   ├── GmSSL/
│   │   ├── endian.h
│   │   ├── sm3.c
│   │   └── sm3.h
│   ├── LZ4/
│   │   ├── lz4.c
│   │   ├── lz4.h
│   │   ├── lz4frame.c
│   │   ├── lz4frame.h
│   │   ├── lz4frame_static.h
│   │   ├── lz4hc.c
│   │   └── lz4hc.h
│   ├── LZ5/
│   │   ├── lz5.c
│   │   ├── lz5.h
│   │   ├── lz5common.h
│   │   ├── lz5frame.c
│   │   ├── lz5frame.h
│   │   ├── lz5frame_static.h
│   │   ├── lz5hc.c
│   │   ├── lz5hc.h
│   │   └── mem.h
│   ├── LittleFS/
│   │   ├── lfs.c
│   │   ├── lfs.h
│   │   ├── lfs_util.c
│   │   └── lfs_util.h
│   ├── Lizard/
│   │   ├── entropy/
│   │   │   ├── bitstream.h
│   │   │   ├── compiler.h
│   │   │   ├── debug.h
│   │   │   ├── error_private.h
│   │   │   ├── error_public.h
│   │   │   ├── fse.h
│   │   │   ├── hist.h
│   │   │   ├── huf.h
│   │   │   ├── lizard_entropy_common.c
│   │   │   ├── lizard_fse_compress.c
│   │   │   ├── lizard_fse_decompress.c
│   │   │   ├── lizard_huf_compress.c
│   │   │   ├── lizard_huf_decompress.c
│   │   │   └── mem.h
│   │   ├── lizard_common.h
│   │   ├── lizard_compress.c
│   │   ├── lizard_compress.h
│   │   ├── lizard_compress_liz.h
│   │   ├── lizard_compress_lz4.h
│   │   ├── lizard_decompress.c
│   │   ├── lizard_decompress.h
│   │   ├── lizard_decompress_liz.h
│   │   ├── lizard_decompress_lz4.h
│   │   ├── lizard_frame.c
│   │   ├── lizard_frame.h
│   │   ├── lizard_frame_static.h
│   │   ├── lizard_parser_fast.h
│   │   ├── lizard_parser_fastbig.h
│   │   ├── lizard_parser_fastsmall.h
│   │   ├── lizard_parser_hashchain.h
│   │   ├── lizard_parser_lowestprice.h
│   │   ├── lizard_parser_nochain.h
│   │   ├── lizard_parser_optimal.h
│   │   └── lizard_parser_pricefast.h
│   ├── Mile.Helpers.Portable.Base.Unstaged.cpp
│   ├── Mile.Helpers.Portable.Base.Unstaged.h
│   ├── NanaZip.Codecs.Archive.DotNetSingleFile.cpp
│   ├── NanaZip.Codecs.Archive.ElectronAsar.cpp
│   ├── NanaZip.Codecs.Archive.Littlefs.cpp
│   ├── NanaZip.Codecs.Archive.Romfs.cpp
│   ├── NanaZip.Codecs.Archive.Ufs.cpp
│   ├── NanaZip.Codecs.Archive.WebAssembly.cpp
│   ├── NanaZip.Codecs.Archive.Zealfs.cpp
│   ├── NanaZip.Codecs.Hash.Aich.cpp
│   ├── NanaZip.Codecs.Hash.BCryptProvider.cpp
│   ├── NanaZip.Codecs.Hash.Blake2b.cpp
│   ├── NanaZip.Codecs.Hash.Blake3.cpp
│   ├── NanaZip.Codecs.Hash.Ed2k.cpp
│   ├── NanaZip.Codecs.Hash.EdonR224.cpp
│   ├── NanaZip.Codecs.Hash.EdonR256.cpp
│   ├── NanaZip.Codecs.Hash.EdonR384.cpp
│   ├── NanaZip.Codecs.Hash.EdonR512.cpp
│   ├── NanaZip.Codecs.Hash.Gost12256.cpp
│   ├── NanaZip.Codecs.Hash.Gost12512.cpp
│   ├── NanaZip.Codecs.Hash.Gost94.cpp
│   ├── NanaZip.Codecs.Hash.Gost94CryptoPro.cpp
│   ├── NanaZip.Codecs.Hash.Has160.cpp
│   ├── NanaZip.Codecs.Hash.Ripemd160.cpp
│   ├── NanaZip.Codecs.Hash.Sha224.cpp
│   ├── NanaZip.Codecs.Hash.Sha3224.cpp
│   ├── NanaZip.Codecs.Hash.Sha3256.cpp
│   ├── NanaZip.Codecs.Hash.Sha3384.cpp
│   ├── NanaZip.Codecs.Hash.Sha3512.cpp
│   ├── NanaZip.Codecs.Hash.Sm3.cpp
│   ├── NanaZip.Codecs.Hash.Snefru128.cpp
│   ├── NanaZip.Codecs.Hash.Snefru256.cpp
│   ├── NanaZip.Codecs.Hash.Tiger.cpp
│   ├── NanaZip.Codecs.Hash.Tiger2.cpp
│   ├── NanaZip.Codecs.Hash.Torrent.cpp
│   ├── NanaZip.Codecs.Hash.Tth.cpp
│   ├── NanaZip.Codecs.Hash.Whirlpool.cpp
│   ├── NanaZip.Codecs.Hash.Xxh3128.cpp
│   ├── NanaZip.Codecs.Hash.Xxh32.cpp
│   ├── NanaZip.Codecs.Hash.Xxh364.cpp
│   ├── NanaZip.Codecs.Hash.Xxh64.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.Brotli.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.Brotli.h
│   ├── NanaZip.Codecs.MultiThreadWrapper.Common.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.Common.h
│   ├── NanaZip.Codecs.MultiThreadWrapper.LZ4.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.LZ4.h
│   ├── NanaZip.Codecs.MultiThreadWrapper.LZ5.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.LZ5.h
│   ├── NanaZip.Codecs.MultiThreadWrapper.Lizard.cpp
│   ├── NanaZip.Codecs.MultiThreadWrapper.Lizard.h
│   ├── NanaZip.Codecs.SevenZipWrapper.cpp
│   ├── NanaZip.Codecs.SevenZipWrapper.h
│   ├── NanaZip.Codecs.Sfx.Shared.props
│   ├── NanaZip.Codecs.Sfx.Shared.vcxproj
│   ├── NanaZip.Codecs.Sfx.Shared.vcxproj.filters
│   ├── NanaZip.Codecs.Specification.Fat.h
│   ├── NanaZip.Codecs.Specification.Zealfs.h
│   ├── NanaZip.Codecs.cpp
│   ├── NanaZip.Codecs.def
│   ├── NanaZip.Codecs.h
│   ├── NanaZip.Codecs.props
│   ├── NanaZip.Codecs.vcxproj
│   ├── NanaZip.Codecs.vcxproj.filters
│   ├── RHash/
│   │   ├── aich.c
│   │   ├── aich.h
│   │   ├── blake2b.c
│   │   ├── blake2b.h
│   │   ├── byte_order.c
│   │   ├── byte_order.h
│   │   ├── edonr.c
│   │   ├── edonr.h
│   │   ├── gost12.c
│   │   ├── gost12.h
│   │   ├── gost94.c
│   │   ├── gost94.h
│   │   ├── has160.c
│   │   ├── has160.h
│   │   ├── hex.c
│   │   ├── hex.h
│   │   ├── rhash_sha256.c
│   │   ├── rhash_util.c
│   │   ├── ripemd-160.c
│   │   ├── ripemd-160.h
│   │   ├── sha1.h
│   │   ├── sha256.h
│   │   ├── sha3.c
│   │   ├── sha3.h
│   │   ├── snefru.c
│   │   ├── snefru.h
│   │   ├── tiger.c
│   │   ├── tiger.h
│   │   ├── tiger_sbox.c
│   │   ├── torrent.c
│   │   ├── torrent.h
│   │   ├── tth.c
│   │   ├── tth.h
│   │   ├── ustd.h
│   │   ├── util.h
│   │   ├── whirlpool.c
│   │   ├── whirlpool.h
│   │   └── whirlpool_sbox.c
│   ├── ZSTDMT/
│   │   ├── brotli-mt.h
│   │   ├── brotli-mt_common.c
│   │   ├── brotli-mt_compress.c
│   │   ├── brotli-mt_decompress.c
│   │   ├── list.h
│   │   ├── lizard-mt.h
│   │   ├── lizard-mt_common.c
│   │   ├── lizard-mt_compress.c
│   │   ├── lizard-mt_decompress.c
│   │   ├── lz4-mt.h
│   │   ├── lz4-mt_common.c
│   │   ├── lz4-mt_compress.c
│   │   ├── lz4-mt_decompress.c
│   │   ├── lz5-mt.h
│   │   ├── lz5-mt_common.c
│   │   ├── lz5-mt_compress.c
│   │   ├── lz5-mt_decompress.c
│   │   ├── memmt.h
│   │   ├── threading.h
│   │   └── zstd-mt_threading.c
│   ├── Zstandard/
│   │   ├── common/
│   │   │   ├── allocations.h
│   │   │   ├── bits.h
│   │   │   ├── bitstream.h
│   │   │   ├── compiler.h
│   │   │   ├── cpu.h
│   │   │   ├── debug.c
│   │   │   ├── debug.h
│   │   │   ├── entropy_common.c
│   │   │   ├── error_private.c
│   │   │   ├── error_private.h
│   │   │   ├── fse.h
│   │   │   ├── fse_decompress.c
│   │   │   ├── huf.h
│   │   │   ├── mem.h
│   │   │   ├── pool.c
│   │   │   ├── pool.h
│   │   │   ├── portability_macros.h
│   │   │   ├── threading.c
│   │   │   ├── threading.h
│   │   │   ├── zstd_common.c
│   │   │   ├── zstd_deps.h
│   │   │   ├── zstd_internal.h
│   │   │   └── zstd_trace.h
│   │   ├── compress/
│   │   │   ├── clevels.h
│   │   │   ├── fse_compress.c
│   │   │   ├── hist.c
│   │   │   ├── hist.h
│   │   │   ├── huf_compress.c
│   │   │   ├── zstd_compress.c
│   │   │   ├── zstd_compress_internal.h
│   │   │   ├── zstd_compress_literals.c
│   │   │   ├── zstd_compress_literals.h
│   │   │   ├── zstd_compress_sequences.c
│   │   │   ├── zstd_compress_sequences.h
│   │   │   ├── zstd_compress_superblock.c
│   │   │   ├── zstd_compress_superblock.h
│   │   │   ├── zstd_cwksp.h
│   │   │   ├── zstd_double_fast.c
│   │   │   ├── zstd_double_fast.h
│   │   │   ├── zstd_fast.c
│   │   │   ├── zstd_fast.h
│   │   │   ├── zstd_lazy.c
│   │   │   ├── zstd_lazy.h
│   │   │   ├── zstd_ldm.c
│   │   │   ├── zstd_ldm.h
│   │   │   ├── zstd_ldm_geartab.h
│   │   │   ├── zstd_opt.c
│   │   │   ├── zstd_opt.h
│   │   │   ├── zstd_preSplit.c
│   │   │   ├── zstd_preSplit.h
│   │   │   ├── zstdmt_compress.c
│   │   │   └── zstdmt_compress.h
│   │   ├── decompress/
│   │   │   ├── huf_decompress.c
│   │   │   ├── zstd_ddict.c
│   │   │   ├── zstd_ddict.h
│   │   │   ├── zstd_decompress.c
│   │   │   ├── zstd_decompress_block.c
│   │   │   ├── zstd_decompress_block.h
│   │   │   └── zstd_decompress_internal.h
│   │   ├── legacy/
│   │   │   ├── zstd_legacy.h
│   │   │   ├── zstd_v01.c
│   │   │   ├── zstd_v01.h
│   │   │   ├── zstd_v02.c
│   │   │   ├── zstd_v02.h
│   │   │   ├── zstd_v03.c
│   │   │   ├── zstd_v03.h
│   │   │   ├── zstd_v04.c
│   │   │   ├── zstd_v04.h
│   │   │   ├── zstd_v05.c
│   │   │   ├── zstd_v05.h
│   │   │   ├── zstd_v06.c
│   │   │   ├── zstd_v06.h
│   │   │   ├── zstd_v07.c
│   │   │   └── zstd_v07.h
│   │   ├── zstd.h
│   │   └── zstd_errors.h
│   └── xxHash/
│       ├── xxhash.c
│       └── xxhash.h
├── NanaZip.Core/
│   ├── Extensions/
│   │   └── ZSCodecs/
│   │       ├── BrotliDecoder.cpp
│   │       ├── BrotliDecoder.h
│   │       ├── BrotliEncoder.cpp
│   │       ├── BrotliEncoder.h
│   │       ├── BrotliHandler.cpp
│   │       ├── BrotliRegister.cpp
│   │       ├── FastLzma2Encoder.cpp
│   │       ├── FastLzma2Encoder.h
│   │       ├── FastLzma2Register.cpp
│   │       ├── LizardDecoder.cpp
│   │       ├── LizardDecoder.h
│   │       ├── LizardEncoder.cpp
│   │       ├── LizardEncoder.h
│   │       ├── LizardHandler.cpp
│   │       ├── LizardRegister.cpp
│   │       ├── Lz4Decoder.cpp
│   │       ├── Lz4Decoder.h
│   │       ├── Lz4Encoder.cpp
│   │       ├── Lz4Encoder.h
│   │       ├── Lz4Handler.cpp
│   │       ├── Lz4Register.cpp
│   │       ├── Lz5Decoder.cpp
│   │       ├── Lz5Decoder.h
│   │       ├── Lz5Encoder.cpp
│   │       ├── Lz5Encoder.h
│   │       ├── Lz5Handler.cpp
│   │       ├── Lz5Register.cpp
│   │       ├── LzHandler.cpp
│   │       ├── ZstdDecoder.cpp
│   │       ├── ZstdDecoder.h
│   │       ├── ZstdEncoder.cpp
│   │       ├── ZstdEncoder.h
│   │       ├── ZstdHandler.cpp
│   │       └── ZstdRegister.cpp
│   ├── NanaZip.Core.Sfx.Console.manifest
│   ├── NanaZip.Core.Sfx.Console.vcxproj
│   ├── NanaZip.Core.Sfx.Console.vcxproj.filters
│   ├── NanaZip.Core.Sfx.Setup.manifest
│   ├── NanaZip.Core.Sfx.Setup.vcxproj
│   ├── NanaZip.Core.Sfx.Setup.vcxproj.filters
│   ├── NanaZip.Core.Sfx.Shared.props
│   ├── NanaZip.Core.Sfx.Shared.vcxproj
│   ├── NanaZip.Core.Sfx.Shared.vcxproj.filters
│   ├── NanaZip.Core.Sfx.Windows.Resources.h
│   ├── NanaZip.Core.Sfx.Windows.Resources.rc
│   ├── NanaZip.Core.Sfx.Windows.manifest
│   ├── NanaZip.Core.Sfx.Windows.vcxproj
│   ├── NanaZip.Core.Sfx.Windows.vcxproj.filters
│   ├── NanaZip.Core.vcxproj
│   ├── NanaZip.Core.vcxproj.filters
│   ├── SevenZip/
│   │   ├── .gitignore
│   │   ├── C/
│   │   │   ├── 7zBuf.h
│   │   │   ├── 7zBuf2.c
│   │   │   ├── 7zCrc.c
│   │   │   ├── 7zCrc.h
│   │   │   ├── 7zCrcOpt.c
│   │   │   ├── 7zStream.c
│   │   │   ├── 7zTypes.h
│   │   │   ├── 7zVersion.h
│   │   │   ├── 7zWindows.h
│   │   │   ├── Aes.c
│   │   │   ├── Aes.h
│   │   │   ├── AesOpt.c
│   │   │   ├── Alloc.c
│   │   │   ├── Alloc.h
│   │   │   ├── Bcj2.c
│   │   │   ├── Bcj2.h
│   │   │   ├── Bcj2Enc.c
│   │   │   ├── Blake2.h
│   │   │   ├── Blake2s.c
│   │   │   ├── Bra.c
│   │   │   ├── Bra.h
│   │   │   ├── Bra86.c
│   │   │   ├── BwtSort.c
│   │   │   ├── BwtSort.h
│   │   │   ├── Compiler.h
│   │   │   ├── CpuArch.c
│   │   │   ├── CpuArch.h
│   │   │   ├── Delta.c
│   │   │   ├── Delta.h
│   │   │   ├── DllSecur.c
│   │   │   ├── DllSecur.h
│   │   │   ├── HuffEnc.c
│   │   │   ├── HuffEnc.h
│   │   │   ├── LzFind.c
│   │   │   ├── LzFind.h
│   │   │   ├── LzFindMt.c
│   │   │   ├── LzFindMt.h
│   │   │   ├── LzFindOpt.c
│   │   │   ├── LzHash.h
│   │   │   ├── Lzma2Dec.c
│   │   │   ├── Lzma2Dec.h
│   │   │   ├── Lzma2DecMt.c
│   │   │   ├── Lzma2DecMt.h
│   │   │   ├── Lzma2Enc.c
│   │   │   ├── Lzma2Enc.h
│   │   │   ├── LzmaDec.c
│   │   │   ├── LzmaDec.h
│   │   │   ├── LzmaEnc.c
│   │   │   ├── LzmaEnc.h
│   │   │   ├── MtCoder.c
│   │   │   ├── MtCoder.h
│   │   │   ├── MtDec.c
│   │   │   ├── MtDec.h
│   │   │   ├── Ppmd.h
│   │   │   ├── Ppmd7.c
│   │   │   ├── Ppmd7.h
│   │   │   ├── Ppmd7Dec.c
│   │   │   ├── Ppmd7Enc.c
│   │   │   ├── Ppmd7aDec.c
│   │   │   ├── Ppmd8.c
│   │   │   ├── Ppmd8.h
│   │   │   ├── Ppmd8Dec.c
│   │   │   ├── Ppmd8Enc.c
│   │   │   ├── Precomp.h
│   │   │   ├── RotateDefs.h
│   │   │   ├── Sha1.h
│   │   │   ├── Sha256.h
│   │   │   ├── Sha512.h
│   │   │   ├── Sort.c
│   │   │   ├── Sort.h
│   │   │   ├── SwapBytes.c
│   │   │   ├── SwapBytes.h
│   │   │   ├── Threads.c
│   │   │   ├── Threads.h
│   │   │   ├── Xz.c
│   │   │   ├── Xz.h
│   │   │   ├── XzCrc64.c
│   │   │   ├── XzCrc64.h
│   │   │   ├── XzCrc64Opt.c
│   │   │   ├── XzDec.c
│   │   │   ├── XzEnc.c
│   │   │   ├── XzEnc.h
│   │   │   └── XzIn.c
│   │   └── CPP/
│   │       ├── 7zip/
│   │       │   ├── Archive/
│   │       │   │   ├── 7z/
│   │       │   │   │   ├── 7zCompressionMode.h
│   │       │   │   │   ├── 7zDecode.cpp
│   │       │   │   │   ├── 7zDecode.h
│   │       │   │   │   ├── 7zEncode.cpp
│   │       │   │   │   ├── 7zEncode.h
│   │       │   │   │   ├── 7zExtract.cpp
│   │       │   │   │   ├── 7zFolderInStream.cpp
│   │       │   │   │   ├── 7zFolderInStream.h
│   │       │   │   │   ├── 7zHandler.cpp
│   │       │   │   │   ├── 7zHandler.h
│   │       │   │   │   ├── 7zHandlerOut.cpp
│   │       │   │   │   ├── 7zHeader.cpp
│   │       │   │   │   ├── 7zHeader.h
│   │       │   │   │   ├── 7zIn.cpp
│   │       │   │   │   ├── 7zIn.h
│   │       │   │   │   ├── 7zItem.h
│   │       │   │   │   ├── 7zOut.cpp
│   │       │   │   │   ├── 7zOut.h
│   │       │   │   │   ├── 7zProperties.cpp
│   │       │   │   │   ├── 7zProperties.h
│   │       │   │   │   ├── 7zRegister.cpp
│   │       │   │   │   ├── 7zSpecStream.h
│   │       │   │   │   ├── 7zUpdate.cpp
│   │       │   │   │   ├── 7zUpdate.h
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── ApfsHandler.cpp
│   │       │   │   ├── ApmHandler.cpp
│   │       │   │   ├── ArHandler.cpp
│   │       │   │   ├── Archive2.def
│   │       │   │   ├── ArchiveExports.cpp
│   │       │   │   ├── ArjHandler.cpp
│   │       │   │   ├── AvbHandler.cpp
│   │       │   │   ├── Base64Handler.cpp
│   │       │   │   ├── Bz2Handler.cpp
│   │       │   │   ├── Cab/
│   │       │   │   │   ├── CabBlockInStream.cpp
│   │       │   │   │   ├── CabBlockInStream.h
│   │       │   │   │   ├── CabHandler.cpp
│   │       │   │   │   ├── CabHandler.h
│   │       │   │   │   ├── CabHeader.cpp
│   │       │   │   │   ├── CabHeader.h
│   │       │   │   │   ├── CabIn.cpp
│   │       │   │   │   ├── CabIn.h
│   │       │   │   │   ├── CabItem.h
│   │       │   │   │   ├── CabRegister.cpp
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── Chm/
│   │       │   │   │   ├── ChmHandler.cpp
│   │       │   │   │   ├── ChmHandler.h
│   │       │   │   │   ├── ChmIn.cpp
│   │       │   │   │   ├── ChmIn.h
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── ComHandler.cpp
│   │       │   │   ├── Common/
│   │       │   │   │   ├── CoderMixer2.cpp
│   │       │   │   │   ├── CoderMixer2.h
│   │       │   │   │   ├── DummyOutStream.cpp
│   │       │   │   │   ├── DummyOutStream.h
│   │       │   │   │   ├── FindSignature.cpp
│   │       │   │   │   ├── FindSignature.h
│   │       │   │   │   ├── HandlerOut.cpp
│   │       │   │   │   ├── HandlerOut.h
│   │       │   │   │   ├── InStreamWithCRC.cpp
│   │       │   │   │   ├── InStreamWithCRC.h
│   │       │   │   │   ├── ItemNameUtils.cpp
│   │       │   │   │   ├── ItemNameUtils.h
│   │       │   │   │   ├── MultiStream.cpp
│   │       │   │   │   ├── MultiStream.h
│   │       │   │   │   ├── OutStreamWithCRC.cpp
│   │       │   │   │   ├── OutStreamWithCRC.h
│   │       │   │   │   ├── OutStreamWithSha1.cpp
│   │       │   │   │   ├── OutStreamWithSha1.h
│   │       │   │   │   ├── ParseProperties.h
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── CpioHandler.cpp
│   │       │   │   ├── CramfsHandler.cpp
│   │       │   │   ├── DllExports2.cpp
│   │       │   │   ├── DmgHandler.cpp
│   │       │   │   ├── ElfHandler.cpp
│   │       │   │   ├── ExtHandler.cpp
│   │       │   │   ├── FatHandler.cpp
│   │       │   │   ├── FlvHandler.cpp
│   │       │   │   ├── GptHandler.cpp
│   │       │   │   ├── GzHandler.cpp
│   │       │   │   ├── HandlerCont.cpp
│   │       │   │   ├── HandlerCont.h
│   │       │   │   ├── HfsHandler.cpp
│   │       │   │   ├── HfsHandler.h
│   │       │   │   ├── IArchive.h
│   │       │   │   ├── IhexHandler.cpp
│   │       │   │   ├── Iso/
│   │       │   │   │   ├── IsoHandler.cpp
│   │       │   │   │   ├── IsoHandler.h
│   │       │   │   │   ├── IsoHeader.cpp
│   │       │   │   │   ├── IsoHeader.h
│   │       │   │   │   ├── IsoIn.cpp
│   │       │   │   │   ├── IsoIn.h
│   │       │   │   │   ├── IsoItem.h
│   │       │   │   │   ├── IsoRegister.cpp
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── LpHandler.cpp
│   │       │   │   ├── LvmHandler.cpp
│   │       │   │   ├── LzhHandler.cpp
│   │       │   │   ├── LzmaHandler.cpp
│   │       │   │   ├── MachoHandler.cpp
│   │       │   │   ├── MbrHandler.cpp
│   │       │   │   ├── MslzHandler.cpp
│   │       │   │   ├── MubHandler.cpp
│   │       │   │   ├── Nsis/
│   │       │   │   │   ├── NsisDecode.cpp
│   │       │   │   │   ├── NsisDecode.h
│   │       │   │   │   ├── NsisHandler.cpp
│   │       │   │   │   ├── NsisHandler.h
│   │       │   │   │   ├── NsisIn.cpp
│   │       │   │   │   ├── NsisIn.h
│   │       │   │   │   ├── NsisRegister.cpp
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── NtfsHandler.cpp
│   │       │   │   ├── PeHandler.cpp
│   │       │   │   ├── PpmdHandler.cpp
│   │       │   │   ├── QcowHandler.cpp
│   │       │   │   ├── Rar/
│   │       │   │   │   ├── Rar5Handler.cpp
│   │       │   │   │   ├── Rar5Handler.h
│   │       │   │   │   ├── RarHandler.cpp
│   │       │   │   │   ├── RarHandler.h
│   │       │   │   │   ├── RarHeader.h
│   │       │   │   │   ├── RarItem.h
│   │       │   │   │   ├── RarVol.h
│   │       │   │   │   └── StdAfx.h
│   │       │   │   ├── RpmHandler.cpp
│   │       │   │   ├── SparseHandler.cpp
│   │       │   │   ├── SplitHandler.cpp
│   │       │   │   ├── SquashfsHandler.cpp
│   │       │   │   ├── StdAfx.h
│   │       │   │   ├── SwfHandler.cpp
│   │       │   │   ├── Tar/
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   ├── TarHandler.cpp
│   │       │   │   │   ├── TarHandler.h
│   │       │   │   │   ├── TarHandlerOut.cpp
│   │       │   │   │   ├── TarHeader.cpp
│   │       │   │   │   ├── TarHeader.h
│   │       │   │   │   ├── TarIn.cpp
│   │       │   │   │   ├── TarIn.h
│   │       │   │   │   ├── TarItem.h
│   │       │   │   │   ├── TarOut.cpp
│   │       │   │   │   ├── TarOut.h
│   │       │   │   │   ├── TarRegister.cpp
│   │       │   │   │   ├── TarUpdate.cpp
│   │       │   │   │   └── TarUpdate.h
│   │       │   │   ├── Udf/
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   ├── UdfHandler.cpp
│   │       │   │   │   ├── UdfHandler.h
│   │       │   │   │   ├── UdfIn.cpp
│   │       │   │   │   └── UdfIn.h
│   │       │   │   ├── UefiHandler.cpp
│   │       │   │   ├── VdiHandler.cpp
│   │       │   │   ├── VhdHandler.cpp
│   │       │   │   ├── VhdxHandler.cpp
│   │       │   │   ├── VmdkHandler.cpp
│   │       │   │   ├── Wim/
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   ├── WimHandler.cpp
│   │       │   │   │   ├── WimHandler.h
│   │       │   │   │   ├── WimHandlerOut.cpp
│   │       │   │   │   ├── WimIn.cpp
│   │       │   │   │   ├── WimIn.h
│   │       │   │   │   └── WimRegister.cpp
│   │       │   │   ├── XarHandler.cpp
│   │       │   │   ├── XzHandler.cpp
│   │       │   │   ├── XzHandler.h
│   │       │   │   ├── ZHandler.cpp
│   │       │   │   └── Zip/
│   │       │   │       ├── StdAfx.h
│   │       │   │       ├── ZipAddCommon.cpp
│   │       │   │       ├── ZipAddCommon.h
│   │       │   │       ├── ZipCompressionMode.h
│   │       │   │       ├── ZipHandler.cpp
│   │       │   │       ├── ZipHandler.h
│   │       │   │       ├── ZipHandlerOut.cpp
│   │       │   │       ├── ZipHeader.h
│   │       │   │       ├── ZipIn.cpp
│   │       │   │       ├── ZipIn.h
│   │       │   │       ├── ZipItem.cpp
│   │       │   │       ├── ZipItem.h
│   │       │   │       ├── ZipOut.cpp
│   │       │   │       ├── ZipOut.h
│   │       │   │       ├── ZipRegister.cpp
│   │       │   │       ├── ZipUpdate.cpp
│   │       │   │       └── ZipUpdate.h
│   │       │   ├── Bundles/
│   │       │   │   ├── SFXCon/
│   │       │   │   │   ├── SfxCon.cpp
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   └── resource.rc
│   │       │   │   ├── SFXSetup/
│   │       │   │   │   ├── ExtractCallbackSfx.cpp
│   │       │   │   │   ├── ExtractCallbackSfx.h
│   │       │   │   │   ├── ExtractEngine.cpp
│   │       │   │   │   ├── ExtractEngine.h
│   │       │   │   │   ├── SfxSetup.cpp
│   │       │   │   │   ├── StdAfx.h
│   │       │   │   │   ├── resource.h
│   │       │   │   │   └── resource.rc
│   │       │   │   └── SFXWin/
│   │       │   │       ├── SfxWin.cpp
│   │       │   │       ├── StdAfx.h
│   │       │   │       ├── resource.h
│   │       │   │       └── resource.rc
│   │       │   ├── Common/
│   │       │   │   ├── CWrappers.cpp
│   │       │   │   ├── CWrappers.h
│   │       │   │   ├── CreateCoder.cpp
│   │       │   │   ├── CreateCoder.h
│   │       │   │   ├── FilePathAutoRename.cpp
│   │       │   │   ├── FilePathAutoRename.h
│   │       │   │   ├── FileStreams.cpp
│   │       │   │   ├── FileStreams.h
│   │       │   │   ├── FilterCoder.cpp
│   │       │   │   ├── FilterCoder.h
│   │       │   │   ├── InBuffer.cpp
│   │       │   │   ├── InBuffer.h
│   │       │   │   ├── InOutTempBuffer.cpp
│   │       │   │   ├── InOutTempBuffer.h
│   │       │   │   ├── LimitedStreams.cpp
│   │       │   │   ├── LimitedStreams.h
│   │       │   │   ├── LockedStream.h
│   │       │   │   ├── MemBlocks.cpp
│   │       │   │   ├── MemBlocks.h
│   │       │   │   ├── MethodId.h
│   │       │   │   ├── MethodProps.cpp
│   │       │   │   ├── MethodProps.h
│   │       │   │   ├── OffsetStream.cpp
│   │       │   │   ├── OffsetStream.h
│   │       │   │   ├── OutBuffer.cpp
│   │       │   │   ├── OutBuffer.h
│   │       │   │   ├── OutMemStream.cpp
│   │       │   │   ├── OutMemStream.h
│   │       │   │   ├── ProgressMt.cpp
│   │       │   │   ├── ProgressMt.h
│   │       │   │   ├── ProgressUtils.cpp
│   │       │   │   ├── ProgressUtils.h
│   │       │   │   ├── PropId.cpp
│   │       │   │   ├── RegisterArc.h
│   │       │   │   ├── RegisterCodec.h
│   │       │   │   ├── StdAfx.h
│   │       │   │   ├── StreamBinder.cpp
│   │       │   │   ├── StreamBinder.h
│   │       │   │   ├── StreamObjects.cpp
│   │       │   │   ├── StreamObjects.h
│   │       │   │   ├── StreamUtils.cpp
│   │       │   │   ├── StreamUtils.h
│   │       │   │   ├── UniqBlocks.cpp
│   │       │   │   ├── UniqBlocks.h
│   │       │   │   ├── VirtThread.cpp
│   │       │   │   └── VirtThread.h
│   │       │   ├── Compress/
│   │       │   │   ├── BZip2Const.h
│   │       │   │   ├── BZip2Crc.cpp
│   │       │   │   ├── BZip2Crc.h
│   │       │   │   ├── BZip2Decoder.cpp
│   │       │   │   ├── BZip2Decoder.h
│   │       │   │   ├── BZip2Encoder.cpp
│   │       │   │   ├── BZip2Encoder.h
│   │       │   │   ├── BZip2Register.cpp
│   │       │   │   ├── Bcj2Coder.cpp
│   │       │   │   ├── Bcj2Coder.h
│   │       │   │   ├── Bcj2Register.cpp
│   │       │   │   ├── BcjCoder.cpp
│   │       │   │   ├── BcjCoder.h
│   │       │   │   ├── BcjRegister.cpp
│   │       │   │   ├── BitlDecoder.cpp
│   │       │   │   ├── BitlDecoder.h
│   │       │   │   ├── BitlEncoder.h
│   │       │   │   ├── BitmDecoder.h
│   │       │   │   ├── BitmEncoder.h
│   │       │   │   ├── BranchMisc.cpp
│   │       │   │   ├── BranchMisc.h
│   │       │   │   ├── BranchRegister.cpp
│   │       │   │   ├── ByteSwap.cpp
│   │       │   │   ├── CodecExports.cpp
│   │       │   │   ├── CopyCoder.cpp
│   │       │   │   ├── CopyCoder.h
│   │       │   │   ├── CopyRegister.cpp
│   │       │   │   ├── Deflate64Register.cpp
│   │       │   │   ├── DeflateConst.h
│   │       │   │   ├── DeflateDecoder.cpp
│   │       │   │   ├── DeflateDecoder.h
│   │       │   │   ├── DeflateEncoder.cpp
│   │       │   │   ├── DeflateEncoder.h
│   │       │   │   ├── DeflateRegister.cpp
│   │       │   │   ├── DeltaFilter.cpp
│   │       │   │   ├── HuffmanDecoder.h
│   │       │   │   ├── ImplodeDecoder.cpp
│   │       │   │   ├── ImplodeDecoder.h
│   │       │   │   ├── LzOutWindow.cpp
│   │       │   │   ├── LzOutWindow.h
│   │       │   │   ├── LzfseDecoder.cpp
│   │       │   │   ├── LzfseDecoder.h
│   │       │   │   ├── LzhDecoder.cpp
│   │       │   │   ├── LzhDecoder.h
│   │       │   │   ├── Lzma2Decoder.cpp
│   │       │   │   ├── Lzma2Decoder.h
│   │       │   │   ├── Lzma2Encoder.cpp
│   │       │   │   ├── Lzma2Encoder.h
│   │       │   │   ├── Lzma2Register.cpp
│   │       │   │   ├── LzmaDecoder.cpp
│   │       │   │   ├── LzmaDecoder.h
│   │       │   │   ├── LzmaEncoder.cpp
│   │       │   │   ├── LzmaEncoder.h
│   │       │   │   ├── LzmaRegister.cpp
│   │       │   │   ├── LzmsDecoder.cpp
│   │       │   │   ├── LzmsDecoder.h
│   │       │   │   ├── Lzx.h
│   │       │   │   ├── LzxDecoder.cpp
│   │       │   │   ├── LzxDecoder.h
│   │       │   │   ├── Mtf8.h
│   │       │   │   ├── PpmdDecoder.cpp
│   │       │   │   ├── PpmdDecoder.h
│   │       │   │   ├── PpmdEncoder.cpp
│   │       │   │   ├── PpmdEncoder.h
│   │       │   │   ├── PpmdRegister.cpp
│   │       │   │   ├── PpmdZip.cpp
│   │       │   │   ├── PpmdZip.h
│   │       │   │   ├── QuantumDecoder.cpp
│   │       │   │   ├── QuantumDecoder.h
│   │       │   │   ├── Rar1Decoder.cpp
│   │       │   │   ├── Rar1Decoder.h
│   │       │   │   ├── Rar2Decoder.cpp
│   │       │   │   ├── Rar2Decoder.h
│   │       │   │   ├── Rar3Decoder.cpp
│   │       │   │   ├── Rar3Decoder.h
│   │       │   │   ├── Rar3Vm.cpp
│   │       │   │   ├── Rar3Vm.h
│   │       │   │   ├── Rar5Decoder.cpp
│   │       │   │   ├── Rar5Decoder.h
│   │       │   │   ├── RarCodecsRegister.cpp
│   │       │   │   ├── ShrinkDecoder.cpp
│   │       │   │   ├── ShrinkDecoder.h
│   │       │   │   ├── StdAfx.h
│   │       │   │   ├── XpressDecoder.cpp
│   │       │   │   ├── XpressDecoder.h
│   │       │   │   ├── XzDecoder.cpp
│   │       │   │   ├── XzDecoder.h
│   │       │   │   ├── XzEncoder.cpp
│   │       │   │   ├── XzEncoder.h
│   │       │   │   ├── ZDecoder.cpp
│   │       │   │   ├── ZDecoder.h
│   │       │   │   ├── ZlibDecoder.cpp
│   │       │   │   ├── ZlibDecoder.h
│   │       │   │   ├── ZlibEncoder.cpp
│   │       │   │   └── ZlibEncoder.h
│   │       │   ├── Crypto/
│   │       │   │   ├── 7zAes.cpp
│   │       │   │   ├── 7zAes.h
│   │       │   │   ├── 7zAesRegister.cpp
│   │       │   │   ├── HmacSha1.cpp
│   │       │   │   ├── HmacSha1.h
│   │       │   │   ├── HmacSha256.cpp
│   │       │   │   ├── HmacSha256.h
│   │       │   │   ├── MyAes.cpp
│   │       │   │   ├── MyAes.h
│   │       │   │   ├── MyAesReg.cpp
│   │       │   │   ├── Pbkdf2HmacSha1.cpp
│   │       │   │   ├── Pbkdf2HmacSha1.h
│   │       │   │   ├── RandGen.cpp
│   │       │   │   ├── RandGen.h
│   │       │   │   ├── Rar20Crypto.cpp
│   │       │   │   ├── Rar20Crypto.h
│   │       │   │   ├── Rar5Aes.cpp
│   │       │   │   ├── Rar5Aes.h
│   │       │   │   ├── RarAes.cpp
│   │       │   │   ├── RarAes.h
│   │       │   │   ├── Sha1Cls.h
│   │       │   │   ├── StdAfx.h
│   │       │   │   ├── WzAes.cpp
│   │       │   │   ├── WzAes.h
│   │       │   │   ├── ZipCrypto.cpp
│   │       │   │   ├── ZipCrypto.h
│   │       │   │   ├── ZipStrong.cpp
│   │       │   │   └── ZipStrong.h
│   │       │   ├── GuiCommon.rc
│   │       │   ├── Guid.txt
│   │       │   ├── ICoder.h
│   │       │   ├── IDecl.h
│   │       │   ├── IPassword.h
│   │       │   ├── IProgress.h
│   │       │   ├── IStream.h
│   │       │   ├── MyVersion.h
│   │       │   ├── PropID.h
│   │       │   └── UI/
│   │       │       ├── Common/
│   │       │       │   ├── ArchiveCommandLine.h
│   │       │       │   ├── ArchiveExtractCallback.cpp
│   │       │       │   ├── ArchiveExtractCallback.h
│   │       │       │   ├── ArchiveOpenCallback.cpp
│   │       │       │   ├── ArchiveOpenCallback.h
│   │       │       │   ├── DefaultName.cpp
│   │       │       │   ├── DefaultName.h
│   │       │       │   ├── DirItem.h
│   │       │       │   ├── EnumDirItems.h
│   │       │       │   ├── ExitCode.h
│   │       │       │   ├── Extract.cpp
│   │       │       │   ├── Extract.h
│   │       │       │   ├── ExtractMode.h
│   │       │       │   ├── ExtractingFilePath.cpp
│   │       │       │   ├── ExtractingFilePath.h
│   │       │       │   ├── HashCalc.h
│   │       │       │   ├── IFileExtractCallback.h
│   │       │       │   ├── LoadCodecs.cpp
│   │       │       │   ├── LoadCodecs.h
│   │       │       │   ├── OpenArchive.cpp
│   │       │       │   ├── OpenArchive.h
│   │       │       │   ├── PropIDUtils.cpp
│   │       │       │   ├── PropIDUtils.h
│   │       │       │   ├── Property.h
│   │       │       │   ├── SetProperties.h
│   │       │       │   ├── SortUtils.cpp
│   │       │       │   ├── SortUtils.h
│   │       │       │   ├── StdAfx.h
│   │       │       │   ├── Update.h
│   │       │       │   ├── UpdateAction.h
│   │       │       │   ├── UpdateCallback.h
│   │       │       │   ├── UpdatePair.h
│   │       │       │   ├── UpdateProduce.h
│   │       │       │   └── ZipRegistry.h
│   │       │       ├── Console/
│   │       │       │   ├── ConsoleClose.cpp
│   │       │       │   ├── ConsoleClose.h
│   │       │       │   ├── ExtractCallbackConsole.cpp
│   │       │       │   ├── ExtractCallbackConsole.h
│   │       │       │   ├── List.cpp
│   │       │       │   ├── List.h
│   │       │       │   ├── MainAr.cpp
│   │       │       │   ├── OpenCallbackConsole.cpp
│   │       │       │   ├── OpenCallbackConsole.h
│   │       │       │   ├── PercentPrinter.cpp
│   │       │       │   ├── PercentPrinter.h
│   │       │       │   ├── StdAfx.h
│   │       │       │   ├── UserInputUtils.cpp
│   │       │       │   └── UserInputUtils.h
│   │       │       ├── Explorer/
│   │       │       │   ├── MyMessages.cpp
│   │       │       │   ├── MyMessages.h
│   │       │       │   └── StdAfx.h
│   │       │       ├── FileManager/
│   │       │       │   ├── BrowseDialog.cpp
│   │       │       │   ├── BrowseDialog.h
│   │       │       │   ├── BrowseDialog.rc
│   │       │       │   ├── BrowseDialogRes.h
│   │       │       │   ├── ComboDialog.cpp
│   │       │       │   ├── ComboDialog.h
│   │       │       │   ├── ComboDialog.rc
│   │       │       │   ├── ComboDialogRes.h
│   │       │       │   ├── DialogSize.h
│   │       │       │   ├── ExtractCallback.cpp
│   │       │       │   ├── ExtractCallback.h
│   │       │       │   ├── FormatUtils.cpp
│   │       │       │   ├── FormatUtils.h
│   │       │       │   ├── LangUtils.cpp
│   │       │       │   ├── LangUtils.h
│   │       │       │   ├── MemDialog.h
│   │       │       │   ├── MemDialogRes.h
│   │       │       │   ├── MyWindowsNew.h
│   │       │       │   ├── OverwriteDialog.cpp
│   │       │       │   ├── OverwriteDialog.h
│   │       │       │   ├── OverwriteDialog.rc
│   │       │       │   ├── OverwriteDialogRes.h
│   │       │       │   ├── PasswordDialog.cpp
│   │       │       │   ├── PasswordDialog.h
│   │       │       │   ├── PasswordDialog.rc
│   │       │       │   ├── PasswordDialogRes.h
│   │       │       │   ├── ProgressDialog.cpp
│   │       │       │   ├── ProgressDialog.h
│   │       │       │   ├── ProgressDialog.rc
│   │       │       │   ├── ProgressDialog2.cpp
│   │       │       │   ├── ProgressDialog2.h
│   │       │       │   ├── ProgressDialog2.rc
│   │       │       │   ├── ProgressDialog2Res.h
│   │       │       │   ├── ProgressDialog2a.rc
│   │       │       │   ├── ProgressDialogRes.h
│   │       │       │   ├── PropertyName.cpp
│   │       │       │   ├── PropertyName.h
│   │       │       │   ├── PropertyNameRes.h
│   │       │       │   ├── RegistryUtils.cpp
│   │       │       │   ├── RegistryUtils.h
│   │       │       │   ├── StdAfx.h
│   │       │       │   ├── SysIconUtils.cpp
│   │       │       │   ├── SysIconUtils.h
│   │       │       │   ├── resource.h
│   │       │       │   └── resourceGui.h
│   │       │       └── GUI/
│   │       │           ├── ExtractDialog.cpp
│   │       │           ├── ExtractDialog.h
│   │       │           ├── ExtractDialog.rc
│   │       │           ├── ExtractDialogRes.h
│   │       │           ├── ExtractGUI.cpp
│   │       │           ├── ExtractGUI.h
│   │       │           ├── ExtractRes.h
│   │       │           ├── HashGUI.h
│   │       │           ├── StdAfx.h
│   │       │           └── resource2.h
│   │       ├── Common/
│   │       │   ├── AutoPtr.h
│   │       │   ├── CRC.cpp
│   │       │   ├── ComTry.h
│   │       │   ├── CommandLineParser.cpp
│   │       │   ├── CommandLineParser.h
│   │       │   ├── Common.h
│   │       │   ├── Common0.h
│   │       │   ├── CrcReg.cpp
│   │       │   ├── Defs.h
│   │       │   ├── DynLimBuf.cpp
│   │       │   ├── DynLimBuf.h
│   │       │   ├── DynamicBuffer.h
│   │       │   ├── IntToString.cpp
│   │       │   ├── IntToString.h
│   │       │   ├── Lang.cpp
│   │       │   ├── Lang.h
│   │       │   ├── ListFileUtils.cpp
│   │       │   ├── ListFileUtils.h
│   │       │   ├── LzFindPrepare.cpp
│   │       │   ├── MyBuffer.h
│   │       │   ├── MyBuffer2.h
│   │       │   ├── MyCom.h
│   │       │   ├── MyException.h
│   │       │   ├── MyInitGuid.h
│   │       │   ├── MyLinux.h
│   │       │   ├── MyMap.cpp
│   │       │   ├── MyMap.h
│   │       │   ├── MyString.cpp
│   │       │   ├── MyString.h
│   │       │   ├── MyTypes.h
│   │       │   ├── MyUnknown.h
│   │       │   ├── MyVector.h
│   │       │   ├── MyWindows.h
│   │       │   ├── MyXml.cpp
│   │       │   ├── MyXml.h
│   │       │   ├── NewHandler.cpp
│   │       │   ├── NewHandler.h
│   │       │   ├── StdAfx.h
│   │       │   ├── StdInStream.cpp
│   │       │   ├── StdInStream.h
│   │       │   ├── StdOutStream.cpp
│   │       │   ├── StdOutStream.h
│   │       │   ├── StringConvert.cpp
│   │       │   ├── StringConvert.h
│   │       │   ├── StringToInt.cpp
│   │       │   ├── StringToInt.h
│   │       │   ├── TextConfig.cpp
│   │       │   ├── TextConfig.h
│   │       │   ├── UTFConvert.cpp
│   │       │   ├── UTFConvert.h
│   │       │   ├── Wildcard.cpp
│   │       │   ├── Wildcard.h
│   │       │   ├── XzCrc64Init.cpp
│   │       │   └── XzCrc64Reg.cpp
│   │       └── Windows/
│   │           ├── COM.h
│   │           ├── Clipboard.cpp
│   │           ├── Clipboard.h
│   │           ├── CommonDialog.cpp
│   │           ├── CommonDialog.h
│   │           ├── Control/
│   │           │   ├── ComboBox.cpp
│   │           │   ├── ComboBox.h
│   │           │   ├── Dialog.cpp
│   │           │   ├── Dialog.h
│   │           │   ├── Edit.h
│   │           │   ├── ListView.cpp
│   │           │   ├── ListView.h
│   │           │   ├── ProgressBar.h
│   │           │   ├── Static.h
│   │           │   └── StdAfx.h
│   │           ├── DLL.cpp
│   │           ├── DLL.h
│   │           ├── Defs.h
│   │           ├── ErrorMsg.cpp
│   │           ├── ErrorMsg.h
│   │           ├── FileDir.cpp
│   │           ├── FileDir.h
│   │           ├── FileFind.cpp
│   │           ├── FileFind.h
│   │           ├── FileIO.cpp
│   │           ├── FileIO.h
│   │           ├── FileLink.cpp
│   │           ├── FileMapping.cpp
│   │           ├── FileMapping.h
│   │           ├── FileName.cpp
│   │           ├── FileName.h
│   │           ├── Handle.h
│   │           ├── MemoryGlobal.cpp
│   │           ├── MemoryGlobal.h
│   │           ├── MemoryLock.cpp
│   │           ├── MemoryLock.h
│   │           ├── NtCheck.h
│   │           ├── PropVariant.cpp
│   │           ├── PropVariant.h
│   │           ├── PropVariantConv.cpp
│   │           ├── PropVariantConv.h
│   │           ├── PropVariantUtils.cpp
│   │           ├── PropVariantUtils.h
│   │           ├── Registry.cpp
│   │           ├── Registry.h
│   │           ├── ResourceString.cpp
│   │           ├── ResourceString.h
│   │           ├── SecurityUtils.cpp
│   │           ├── SecurityUtils.h
│   │           ├── Shell.cpp
│   │           ├── Shell.h
│   │           ├── StdAfx.h
│   │           ├── Synchronization.cpp
│   │           ├── Synchronization.h
│   │           ├── System.cpp
│   │           ├── System.h
│   │           ├── Thread.h
│   │           ├── TimeUtils.cpp
│   │           ├── TimeUtils.h
│   │           ├── Window.cpp
│   │           └── Window.h
│   └── Wrappers/
│       ├── Sha1Wrapper.cpp
│       ├── Sha1Wrapper.h
│       ├── Sha256Wrapper.cpp
│       ├── Sha256Wrapper.h
│       ├── Sha512Wrapper.cpp
│       └── Sha512Wrapper.h
├── NanaZip.ExtensionPackage/
│   ├── NanaZip.ExtensionPackage.Installer.iss
│   └── NanaZip.ExtensionPackage.Installer.proj
├── NanaZip.MaintainerTools.slnx
├── NanaZip.MigrateLegacyStringResources/
│   ├── NanaZip.MigrateLegacyStringResources.csproj
│   ├── Program.cs
│   └── VSWhereHelper.cs
├── NanaZip.Modern/
│   ├── AboutPage.cpp
│   ├── AboutPage.h
│   ├── AboutPage.idl
│   ├── AboutPage.xaml
│   ├── AddressBar.cpp
│   ├── AddressBar.h
│   ├── AddressBar.idl
│   ├── AddressBarTemplate.cpp
│   ├── AddressBarTemplate.h
│   ├── AddressBarTemplate.idl
│   ├── AddressBarTemplate.xaml
│   ├── App.cpp
│   ├── App.h
│   ├── App.idl
│   ├── App.xaml
│   ├── ControlMacros.h
│   ├── CopyLocationPage.cpp
│   ├── CopyLocationPage.h
│   ├── CopyLocationPage.idl
│   ├── CopyLocationPage.xaml
│   ├── InformationPage.cpp
│   ├── InformationPage.h
│   ├── InformationPage.idl
│   ├── InformationPage.xaml
│   ├── MainWindowToolBarPage.cpp
│   ├── MainWindowToolBarPage.h
│   ├── MainWindowToolBarPage.idl
│   ├── MainWindowToolBarPage.xaml
│   ├── NanaZip.Modern.Wrapper.cpp
│   ├── NanaZip.Modern.cpp
│   ├── NanaZip.Modern.def
│   ├── NanaZip.Modern.h
│   ├── NanaZip.Modern.manifest
│   ├── NanaZip.Modern.props
│   ├── NanaZip.Modern.vcxproj
│   ├── NanaZip.Modern.vcxproj.filters
│   ├── ProgressPage.cpp
│   ├── ProgressPage.h
│   ├── ProgressPage.idl
│   ├── ProgressPage.xaml
│   ├── SponsorPage.cpp
│   ├── SponsorPage.h
│   ├── SponsorPage.idl
│   ├── SponsorPage.xaml
│   ├── StatusBar.cpp
│   ├── StatusBar.h
│   ├── StatusBar.idl
│   ├── StatusBarTemplate.cpp
│   ├── StatusBarTemplate.h
│   ├── StatusBarTemplate.idl
│   ├── StatusBarTemplate.xaml
│   ├── Strings/
│   │   ├── af/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ar/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── az-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── be/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── bg/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── bn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ca/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ca-es-valencia/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── cs/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── cy/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── da/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── de/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── el/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── en/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── eo/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── es/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── et/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── eu/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── fa/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── fi/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── fr/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── fy/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ga/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── gl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── gu/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── he/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── hi/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── hr/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── hu/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── hy/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── id/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── is/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── it/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ja/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ka/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── kk/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ko/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ku-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ky-kg/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── lt/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── lv/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── mk/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── mn-cyrl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── mn-mong/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── mr/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ms/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── nb/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ne/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── nl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── nn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── pa-in/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── pl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── ps/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── pt/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── pt-BR/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── ro/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ru/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── si/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sk/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sq/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   ├── sr-Latn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sr-cyrl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sv/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── sw/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ta/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── tg-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── th/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── tk-cyrl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── tr/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── tt-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── ug-arab/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── uk/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── uz-cyrl/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── uz-latn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── vi/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── yo-latn/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   └── ProgressPage.resw
│   │   ├── zh-Hans/
│   │   │   ├── Common.resw
│   │   │   ├── CopyLocationPage.resw
│   │   │   ├── MainWindowToolBarPage.resw
│   │   │   ├── ProgressPage.resw
│   │   │   └── SponsorPage.resw
│   │   └── zh-Hant/
│   │       ├── Common.resw
│   │       ├── CopyLocationPage.resw
│   │       └── ProgressPage.resw
│   ├── pch.cpp
│   └── pch.h
├── NanaZip.Project/
│   ├── NanaZip.Project.Version.props
│   ├── NanaZip.Project.props
│   └── ReadMe.md
├── NanaZip.ProjectAssetsGenerator/
│   ├── NanaZip.ProjectAssetsGenerator.csproj
│   └── Program.cs
├── NanaZip.RefreshPackageVersion/
│   ├── NanaZip.RefreshPackageVersion.csproj
│   └── Program.cs
├── NanaZip.Specification/
│   ├── NanaZip.Specification.SevenZip.h
│   └── NanaZip.Specification.props
├── NanaZip.UI.Classic/
│   ├── AboutDialog.cpp
│   ├── AboutDialog.h
│   ├── NanaZip.manifest
│   ├── NanaZip.vcxproj
│   ├── NanaZip.vcxproj.filters
│   └── SevenZip/
│       ├── .gitignore
│       ├── C/
│       │   ├── 7zTypes.h
│       │   ├── Alloc.c
│       │   ├── Alloc.h
│       │   ├── Compiler.h
│       │   ├── CpuArch.c
│       │   ├── CpuArch.h
│       │   ├── DllSecur.c
│       │   ├── DllSecur.h
│       │   ├── Precomp.h
│       │   ├── RotateDefs.h
│       │   ├── Sort.c
│       │   ├── Sort.h
│       │   ├── Threads.c
│       │   └── Threads.h
│       └── CPP/
│           ├── 7zip/
│           │   ├── Archive/
│           │   │   ├── Common/
│           │   │   │   ├── ItemNameUtils.cpp
│           │   │   │   ├── ItemNameUtils.h
│           │   │   │   └── StdAfx.h
│           │   │   └── IArchive.h
│           │   ├── Common/
│           │   │   ├── CreateCoder.cpp
│           │   │   ├── CreateCoder.h
│           │   │   ├── FilePathAutoRename.cpp
│           │   │   ├── FilePathAutoRename.h
│           │   │   ├── FileStreams.cpp
│           │   │   ├── FileStreams.h
│           │   │   ├── FilterCoder.cpp
│           │   │   ├── FilterCoder.h
│           │   │   ├── LimitedStreams.cpp
│           │   │   ├── LimitedStreams.h
│           │   │   ├── MethodId.h
│           │   │   ├── MethodProps.cpp
│           │   │   ├── MethodProps.h
│           │   │   ├── ProgressUtils.cpp
│           │   │   ├── ProgressUtils.h
│           │   │   ├── PropId.cpp
│           │   │   ├── RegisterArc.h
│           │   │   ├── RegisterCodec.h
│           │   │   ├── StdAfx.h
│           │   │   ├── StreamObjects.cpp
│           │   │   ├── StreamObjects.h
│           │   │   ├── StreamUtils.cpp
│           │   │   ├── StreamUtils.h
│           │   │   ├── UniqBlocks.cpp
│           │   │   └── UniqBlocks.h
│           │   ├── Compress/
│           │   │   ├── CopyCoder.cpp
│           │   │   ├── CopyCoder.h
│           │   │   └── StdAfx.h
│           │   ├── GuiCommon.rc
│           │   ├── Guid.txt
│           │   ├── ICoder.h
│           │   ├── IDecl.h
│           │   ├── IPassword.h
│           │   ├── IProgress.h
│           │   ├── IStream.h
│           │   ├── PropID.h
│           │   └── UI/
│           │       ├── Agent/
│           │       │   ├── Agent.cpp
│           │       │   ├── Agent.h
│           │       │   ├── AgentOut.cpp
│           │       │   ├── AgentProxy.cpp
│           │       │   ├── AgentProxy.h
│           │       │   ├── ArchiveFolder.cpp
│           │       │   ├── ArchiveFolderOpen.cpp
│           │       │   ├── ArchiveFolderOut.cpp
│           │       │   ├── IFolderArchive.h
│           │       │   ├── StdAfx.h
│           │       │   ├── UpdateCallbackAgent.cpp
│           │       │   └── UpdateCallbackAgent.h
│           │       ├── Common/
│           │       │   ├── ArchiveExtractCallback.cpp
│           │       │   ├── ArchiveExtractCallback.h
│           │       │   ├── ArchiveName.cpp
│           │       │   ├── ArchiveName.h
│           │       │   ├── ArchiveOpenCallback.cpp
│           │       │   ├── ArchiveOpenCallback.h
│           │       │   ├── CompressCall.cpp
│           │       │   ├── CompressCall.h
│           │       │   ├── DefaultName.cpp
│           │       │   ├── DefaultName.h
│           │       │   ├── DirItem.h
│           │       │   ├── EnumDirItems.cpp
│           │       │   ├── EnumDirItems.h
│           │       │   ├── ExitCode.h
│           │       │   ├── Extract.h
│           │       │   ├── ExtractMode.h
│           │       │   ├── ExtractingFilePath.cpp
│           │       │   ├── ExtractingFilePath.h
│           │       │   ├── HashCalc.cpp
│           │       │   ├── HashCalc.h
│           │       │   ├── IFileExtractCallback.h
│           │       │   ├── LoadCodecs.cpp
│           │       │   ├── LoadCodecs.h
│           │       │   ├── OpenArchive.cpp
│           │       │   ├── OpenArchive.h
│           │       │   ├── PropIDUtils.cpp
│           │       │   ├── PropIDUtils.h
│           │       │   ├── Property.h
│           │       │   ├── SetProperties.cpp
│           │       │   ├── SetProperties.h
│           │       │   ├── SortUtils.cpp
│           │       │   ├── SortUtils.h
│           │       │   ├── StdAfx.h
│           │       │   ├── Update.h
│           │       │   ├── UpdateAction.cpp
│           │       │   ├── UpdateAction.h
│           │       │   ├── UpdateCallback.cpp
│           │       │   ├── UpdateCallback.h
│           │       │   ├── UpdatePair.cpp
│           │       │   ├── UpdatePair.h
│           │       │   ├── UpdateProduce.cpp
│           │       │   ├── UpdateProduce.h
│           │       │   ├── WorkDir.cpp
│           │       │   ├── WorkDir.h
│           │       │   ├── ZipRegistry.cpp
│           │       │   └── ZipRegistry.h
│           │       ├── Explorer/
│           │       │   ├── ContextMenu.cpp
│           │       │   ├── ContextMenu.h
│           │       │   ├── ContextMenuFlags.h
│           │       │   ├── MyExplorerCommand.h
│           │       │   ├── MyMessages.h
│           │       │   ├── StdAfx.h
│           │       │   ├── resource.h
│           │       │   └── resource2.rc
│           │       ├── FileManager/
│           │       │   ├── AltStreamsFolder.cpp
│           │       │   ├── AltStreamsFolder.h
│           │       │   ├── App.cpp
│           │       │   ├── App.h
│           │       │   ├── AppState.h
│           │       │   ├── BrowseDialog.cpp
│           │       │   ├── BrowseDialog.h
│           │       │   ├── BrowseDialog.rc
│           │       │   ├── BrowseDialogRes.h
│           │       │   ├── ClassDefs.cpp
│           │       │   ├── ComboDialog.cpp
│           │       │   ├── ComboDialog.h
│           │       │   ├── ComboDialog.rc
│           │       │   ├── ComboDialogRes.h
│           │       │   ├── CopyDialog.cpp
│           │       │   ├── CopyDialog.h
│           │       │   ├── CopyDialog.rc
│           │       │   ├── CopyDialogRes.h
│           │       │   ├── DialogSize.h
│           │       │   ├── EditDialog.cpp
│           │       │   ├── EditDialog.h
│           │       │   ├── EditDialog.rc
│           │       │   ├── EditDialogRes.h
│           │       │   ├── EditPage.cpp
│           │       │   ├── EditPage.h
│           │       │   ├── EditPage.rc
│           │       │   ├── EditPage2.rc
│           │       │   ├── EditPageRes.h
│           │       │   ├── EnumFormatEtc.cpp
│           │       │   ├── EnumFormatEtc.h
│           │       │   ├── ExtractCallback.cpp
│           │       │   ├── ExtractCallback.h
│           │       │   ├── FM.cpp
│           │       │   ├── FSDrives.cpp
│           │       │   ├── FSDrives.h
│           │       │   ├── FSFolder.cpp
│           │       │   ├── FSFolder.h
│           │       │   ├── FSFolderCopy.cpp
│           │       │   ├── FileFolderPluginOpen.cpp
│           │       │   ├── FileFolderPluginOpen.h
│           │       │   ├── FilePlugins.cpp
│           │       │   ├── FilePlugins.h
│           │       │   ├── FoldersPage.cpp
│           │       │   ├── FoldersPage.h
│           │       │   ├── FoldersPage.rc
│           │       │   ├── FoldersPage2.rc
│           │       │   ├── FoldersPageRes.h
│           │       │   ├── FormatUtils.cpp
│           │       │   ├── FormatUtils.h
│           │       │   ├── IFolder.h
│           │       │   ├── LangUtils.cpp
│           │       │   ├── LangUtils.h
│           │       │   ├── LinkDialog.cpp
│           │       │   ├── LinkDialog.h
│           │       │   ├── LinkDialog.rc
│           │       │   ├── LinkDialogRes.h
│           │       │   ├── MenuPage.cpp
│           │       │   ├── MenuPage.h
│           │       │   ├── MenuPage.rc
│           │       │   ├── MenuPage2.rc
│           │       │   ├── MenuPageRes.h
│           │       │   ├── MessagesDialog.cpp
│           │       │   ├── MessagesDialog.h
│           │       │   ├── MessagesDialog.rc
│           │       │   ├── MessagesDialogRes.h
│           │       │   ├── MyCom2.h
│           │       │   ├── MyLoadMenu.cpp
│           │       │   ├── MyLoadMenu.h
│           │       │   ├── MyWindowsNew.h
│           │       │   ├── NetFolder.cpp
│           │       │   ├── NetFolder.h
│           │       │   ├── OpenCallback.cpp
│           │       │   ├── OpenCallback.h
│           │       │   ├── OptionsDialog.cpp
│           │       │   ├── OverwriteDialog.cpp
│           │       │   ├── OverwriteDialog.h
│           │       │   ├── OverwriteDialog.rc
│           │       │   ├── OverwriteDialogRes.h
│           │       │   ├── Panel.cpp
│           │       │   ├── Panel.h
│           │       │   ├── PanelCopy.cpp
│           │       │   ├── PanelCrc.cpp
│           │       │   ├── PanelDrag.cpp
│           │       │   ├── PanelFolderChange.cpp
│           │       │   ├── PanelItemOpen.cpp
│           │       │   ├── PanelItems.cpp
│           │       │   ├── PanelKey.cpp
│           │       │   ├── PanelListNotify.cpp
│           │       │   ├── PanelMenu.cpp
│           │       │   ├── PanelOperations.cpp
│           │       │   ├── PanelSelect.cpp
│           │       │   ├── PanelSort.cpp
│           │       │   ├── PanelSplitFile.cpp
│           │       │   ├── PasswordDialog.cpp
│           │       │   ├── PasswordDialog.h
│           │       │   ├── PasswordDialog.rc
│           │       │   ├── PasswordDialogRes.h
│           │       │   ├── PluginInterface.h
│           │       │   ├── PluginLoader.h
│           │       │   ├── ProgressDialog2.cpp
│           │       │   ├── ProgressDialog2.h
│           │       │   ├── ProgressDialog2.rc
│           │       │   ├── ProgressDialog2Res.h
│           │       │   ├── ProgressDialog2a.rc
│           │       │   ├── PropertyName.cpp
│           │       │   ├── PropertyName.h
│           │       │   ├── PropertyName.rc
│           │       │   ├── PropertyNameRes.h
│           │       │   ├── RegistryAssociations.cpp
│           │       │   ├── RegistryAssociations.h
│           │       │   ├── RegistryPlugins.cpp
│           │       │   ├── RegistryPlugins.h
│           │       │   ├── RegistryUtils.cpp
│           │       │   ├── RegistryUtils.h
│           │       │   ├── RootFolder.cpp
│           │       │   ├── RootFolder.h
│           │       │   ├── SettingsPage.cpp
│           │       │   ├── SettingsPage.h
│           │       │   ├── SettingsPage.rc
│           │       │   ├── SettingsPage2.rc
│           │       │   ├── SettingsPageRes.h
│           │       │   ├── SplitDialog.cpp
│           │       │   ├── SplitDialog.h
│           │       │   ├── SplitDialog.rc
│           │       │   ├── SplitDialogRes.h
│           │       │   ├── SplitUtils.cpp
│           │       │   ├── SplitUtils.h
│           │       │   ├── StdAfx.cpp
│           │       │   ├── StdAfx.h
│           │       │   ├── StringUtils.cpp
│           │       │   ├── StringUtils.h
│           │       │   ├── SysIconUtils.cpp
│           │       │   ├── SysIconUtils.h
│           │       │   ├── TextPairs.cpp
│           │       │   ├── TextPairs.h
│           │       │   ├── UpdateCallback100.cpp
│           │       │   ├── UpdateCallback100.h
│           │       │   ├── VerCtrl.cpp
│           │       │   ├── ViewSettings.cpp
│           │       │   ├── ViewSettings.h
│           │       │   ├── resource.h
│           │       │   ├── resource.rc
│           │       │   ├── resourceGui.h
│           │       │   └── resourceGui.rc
│           │       └── GUI/
│           │           ├── Extract.rc
│           │           ├── ExtractDialogRes.h
│           │           ├── ExtractRes.h
│           │           ├── HashGUI.cpp
│           │           ├── HashGUI.h
│           │           ├── StdAfx.h
│           │           ├── UpdateCallbackGUI.h
│           │           ├── UpdateCallbackGUI2.cpp
│           │           ├── UpdateCallbackGUI2.h
│           │           ├── resource2.h
│           │           ├── resource3.h
│           │           └── resource3.rc
│           ├── Common/
│           │   ├── AutoPtr.h
│           │   ├── ComTry.h
│           │   ├── Common.h
│           │   ├── Defs.h
│           │   ├── DynLimBuf.cpp
│           │   ├── DynLimBuf.h
│           │   ├── DynamicBuffer.h
│           │   ├── IntToString.cpp
│           │   ├── IntToString.h
│           │   ├── Lang.cpp
│           │   ├── Lang.h
│           │   ├── MyBuffer.h
│           │   ├── MyBuffer2.h
│           │   ├── MyCom.h
│           │   ├── MyException.h
│           │   ├── MyGuidDef.h
│           │   ├── MyInitGuid.h
│           │   ├── MyLinux.h
│           │   ├── MyString.cpp
│           │   ├── MyString.h
│           │   ├── MyTypes.h
│           │   ├── MyUnknown.h
│           │   ├── MyVector.h
│           │   ├── MyWindows.h
│           │   ├── NewHandler.cpp
│           │   ├── NewHandler.h
│           │   ├── Random.cpp
│           │   ├── Random.h
│           │   ├── StdAfx.h
│           │   ├── StringConvert.cpp
│           │   ├── StringConvert.h
│           │   ├── StringToInt.cpp
│           │   ├── StringToInt.h
│           │   ├── UTFConvert.cpp
│           │   ├── UTFConvert.h
│           │   ├── Wildcard.cpp
│           │   └── Wildcard.h
│           └── Windows/
│               ├── COM.h
│               ├── Clipboard.cpp
│               ├── Clipboard.h
│               ├── CommonDialog.cpp
│               ├── CommonDialog.h
│               ├── Control/
│               │   ├── ComboBox.cpp
│               │   ├── ComboBox.h
│               │   ├── CommandBar.h
│               │   ├── Dialog.cpp
│               │   ├── Dialog.h
│               │   ├── Edit.h
│               │   ├── ImageList.h
│               │   ├── ListView.cpp
│               │   ├── ListView.h
│               │   ├── ProgressBar.h
│               │   ├── PropertyPage.cpp
│               │   ├── PropertyPage.h
│               │   ├── ReBar.h
│               │   ├── Static.h
│               │   ├── StatusBar.h
│               │   ├── StdAfx.h
│               │   ├── ToolBar.h
│               │   ├── Window2.cpp
│               │   └── Window2.h
│               ├── DLL.cpp
│               ├── DLL.h
│               ├── Defs.h
│               ├── ErrorMsg.cpp
│               ├── ErrorMsg.h
│               ├── FileDir.cpp
│               ├── FileDir.h
│               ├── FileFind.cpp
│               ├── FileFind.h
│               ├── FileIO.cpp
│               ├── FileIO.h
│               ├── FileLink.cpp
│               ├── FileMapping.h
│               ├── FileName.cpp
│               ├── FileName.h
│               ├── FileSystem.cpp
│               ├── FileSystem.h
│               ├── Handle.h
│               ├── MemoryGlobal.cpp
│               ├── MemoryGlobal.h
│               ├── MemoryLock.cpp
│               ├── MemoryLock.h
│               ├── Menu.cpp
│               ├── Menu.h
│               ├── Net.cpp
│               ├── Net.h
│               ├── NtCheck.h
│               ├── ProcessUtils.cpp
│               ├── ProcessUtils.h
│               ├── PropVariant.cpp
│               ├── PropVariant.h
│               ├── PropVariantConv.cpp
│               ├── PropVariantConv.h
│               ├── Registry.cpp
│               ├── Registry.h
│               ├── ResourceString.cpp
│               ├── ResourceString.h
│               ├── SecurityUtils.cpp
│               ├── SecurityUtils.h
│               ├── Shell.cpp
│               ├── Shell.h
│               ├── StdAfx.h
│               ├── Synchronization.cpp
│               ├── Synchronization.h
│               ├── System.cpp
│               ├── System.h
│               ├── Thread.h
│               ├── TimeUtils.cpp
│               ├── TimeUtils.h
│               ├── Window.cpp
│               └── Window.h
├── NanaZip.UI.Modern/
│   ├── NanaZip.Modern.FileManager.manifest
│   ├── NanaZip.Modern.FileManager.vcxproj
│   ├── NanaZip.Modern.FileManager.vcxproj.filters
│   ├── NanaZip.ShellExtension.cpp
│   ├── NanaZip.ShellExtension.def
│   ├── NanaZip.ShellExtension.manifest
│   ├── NanaZip.ShellExtension.vcxproj
│   ├── NanaZip.ShellExtension.vcxproj.filters
│   ├── NanaZip.UI.cpp
│   ├── NanaZip.UI.h
│   └── SevenZip/
│       ├── .gitignore
│       ├── C/
│       │   ├── 7zTypes.h
│       │   ├── Alloc.c
│       │   ├── Alloc.h
│       │   ├── Compiler.h
│       │   ├── CpuArch.c
│       │   ├── CpuArch.h
│       │   ├── DllSecur.c
│       │   ├── DllSecur.h
│       │   ├── Precomp.h
│       │   ├── RotateDefs.h
│       │   ├── Sort.c
│       │   ├── Sort.h
│       │   ├── Threads.c
│       │   └── Threads.h
│       └── CPP/
│           ├── 7zip/
│           │   ├── Archive/
│           │   │   ├── Common/
│           │   │   │   ├── ItemNameUtils.cpp
│           │   │   │   ├── ItemNameUtils.h
│           │   │   │   └── StdAfx.h
│           │   │   └── IArchive.h
│           │   ├── Common/
│           │   │   ├── CreateCoder.cpp
│           │   │   ├── CreateCoder.h
│           │   │   ├── FilePathAutoRename.cpp
│           │   │   ├── FilePathAutoRename.h
│           │   │   ├── FileStreams.cpp
│           │   │   ├── FileStreams.h
│           │   │   ├── FilterCoder.cpp
│           │   │   ├── FilterCoder.h
│           │   │   ├── LimitedStreams.cpp
│           │   │   ├── LimitedStreams.h
│           │   │   ├── MethodId.h
│           │   │   ├── MethodProps.cpp
│           │   │   ├── MethodProps.h
│           │   │   ├── ProgressUtils.cpp
│           │   │   ├── ProgressUtils.h
│           │   │   ├── PropId.cpp
│           │   │   ├── RegisterArc.h
│           │   │   ├── RegisterCodec.h
│           │   │   ├── StdAfx.h
│           │   │   ├── StreamObjects.cpp
│           │   │   ├── StreamObjects.h
│           │   │   ├── StreamUtils.cpp
│           │   │   ├── StreamUtils.h
│           │   │   ├── UniqBlocks.cpp
│           │   │   └── UniqBlocks.h
│           │   ├── Compress/
│           │   │   ├── CopyCoder.cpp
│           │   │   ├── CopyCoder.h
│           │   │   └── StdAfx.h
│           │   ├── GuiCommon.rc
│           │   ├── Guid.txt
│           │   ├── ICoder.h
│           │   ├── IDecl.h
│           │   ├── IPassword.h
│           │   ├── IProgress.h
│           │   ├── IStream.h
│           │   ├── PropID.h
│           │   └── UI/
│           │       ├── Agent/
│           │       │   ├── Agent.cpp
│           │       │   ├── Agent.h
│           │       │   ├── AgentOut.cpp
│           │       │   ├── AgentProxy.cpp
│           │       │   ├── AgentProxy.h
│           │       │   ├── ArchiveFolder.cpp
│           │       │   ├── ArchiveFolderOpen.cpp
│           │       │   ├── ArchiveFolderOut.cpp
│           │       │   ├── IFolderArchive.h
│           │       │   ├── StdAfx.h
│           │       │   ├── UpdateCallbackAgent.cpp
│           │       │   └── UpdateCallbackAgent.h
│           │       ├── Common/
│           │       │   ├── ArchiveExtractCallback.cpp
│           │       │   ├── ArchiveExtractCallback.h
│           │       │   ├── ArchiveName.cpp
│           │       │   ├── ArchiveName.h
│           │       │   ├── ArchiveOpenCallback.cpp
│           │       │   ├── ArchiveOpenCallback.h
│           │       │   ├── CompressCall.cpp
│           │       │   ├── CompressCall.h
│           │       │   ├── DefaultName.cpp
│           │       │   ├── DefaultName.h
│           │       │   ├── DirItem.h
│           │       │   ├── EnumDirItems.cpp
│           │       │   ├── EnumDirItems.h
│           │       │   ├── ExitCode.h
│           │       │   ├── Extract.h
│           │       │   ├── ExtractMode.h
│           │       │   ├── ExtractingFilePath.cpp
│           │       │   ├── ExtractingFilePath.h
│           │       │   ├── HashCalc.cpp
│           │       │   ├── HashCalc.h
│           │       │   ├── IFileExtractCallback.h
│           │       │   ├── LoadCodecs.cpp
│           │       │   ├── LoadCodecs.h
│           │       │   ├── OpenArchive.cpp
│           │       │   ├── OpenArchive.h
│           │       │   ├── PropIDUtils.cpp
│           │       │   ├── PropIDUtils.h
│           │       │   ├── Property.h
│           │       │   ├── SetProperties.cpp
│           │       │   ├── SetProperties.h
│           │       │   ├── SortUtils.cpp
│           │       │   ├── SortUtils.h
│           │       │   ├── StdAfx.h
│           │       │   ├── Update.h
│           │       │   ├── UpdateAction.cpp
│           │       │   ├── UpdateAction.h
│           │       │   ├── UpdateCallback.cpp
│           │       │   ├── UpdateCallback.h
│           │       │   ├── UpdatePair.cpp
│           │       │   ├── UpdatePair.h
│           │       │   ├── UpdateProduce.cpp
│           │       │   ├── UpdateProduce.h
│           │       │   ├── WorkDir.cpp
│           │       │   ├── WorkDir.h
│           │       │   ├── ZipRegistry.cpp
│           │       │   └── ZipRegistry.h
│           │       ├── Explorer/
│           │       │   ├── ContextMenu.cpp
│           │       │   ├── ContextMenu.h
│           │       │   ├── ContextMenuFlags.h
│           │       │   ├── MyExplorerCommand.h
│           │       │   ├── MyMessages.cpp
│           │       │   ├── MyMessages.h
│           │       │   ├── StdAfx.cpp
│           │       │   ├── StdAfx.h
│           │       │   ├── resource.h
│           │       │   ├── resource.rc
│           │       │   └── resource2.rc
│           │       ├── FileManager/
│           │       │   ├── AltStreamsFolder.cpp
│           │       │   ├── AltStreamsFolder.h
│           │       │   ├── App.cpp
│           │       │   ├── App.h
│           │       │   ├── AppState.h
│           │       │   ├── BrowseDialog.cpp
│           │       │   ├── BrowseDialog.h
│           │       │   ├── BrowseDialog.rc
│           │       │   ├── BrowseDialogRes.h
│           │       │   ├── ClassDefs.cpp
│           │       │   ├── ComboDialog.cpp
│           │       │   ├── ComboDialog.h
│           │       │   ├── ComboDialog.rc
│           │       │   ├── ComboDialogRes.h
│           │       │   ├── CopyDialog.cpp
│           │       │   ├── CopyDialog.h
│           │       │   ├── CopyDialog.rc
│           │       │   ├── CopyDialogRes.h
│           │       │   ├── DialogSize.h
│           │       │   ├── EditDialog.cpp
│           │       │   ├── EditDialog.h
│           │       │   ├── EditDialog.rc
│           │       │   ├── EditDialogRes.h
│           │       │   ├── EditPage.cpp
│           │       │   ├── EditPage.h
│           │       │   ├── EditPage.rc
│           │       │   ├── EditPage2.rc
│           │       │   ├── EditPageRes.h
│           │       │   ├── EnumFormatEtc.cpp
│           │       │   ├── EnumFormatEtc.h
│           │       │   ├── ExtractCallback.cpp
│           │       │   ├── ExtractCallback.h
│           │       │   ├── FM.cpp
│           │       │   ├── FSDrives.cpp
│           │       │   ├── FSDrives.h
│           │       │   ├── FSFolder.cpp
│           │       │   ├── FSFolder.h
│           │       │   ├── FSFolderCopy.cpp
│           │       │   ├── FileFolderPluginOpen.cpp
│           │       │   ├── FileFolderPluginOpen.h
│           │       │   ├── FilePlugins.cpp
│           │       │   ├── FilePlugins.h
│           │       │   ├── FoldersPage.cpp
│           │       │   ├── FoldersPage.h
│           │       │   ├── FoldersPage.rc
│           │       │   ├── FoldersPage2.rc
│           │       │   ├── FoldersPageRes.h
│           │       │   ├── FormatUtils.cpp
│           │       │   ├── FormatUtils.h
│           │       │   ├── IFolder.h
│           │       │   ├── LangUtils.cpp
│           │       │   ├── LangUtils.h
│           │       │   ├── LinkDialog.cpp
│           │       │   ├── LinkDialog.h
│           │       │   ├── LinkDialog.rc
│           │       │   ├── LinkDialogRes.h
│           │       │   ├── MenuPage.cpp
│           │       │   ├── MenuPage.h
│           │       │   ├── MenuPage.rc
│           │       │   ├── MenuPage2.rc
│           │       │   ├── MenuPageRes.h
│           │       │   ├── MessagesDialog.cpp
│           │       │   ├── MessagesDialog.h
│           │       │   ├── MessagesDialog.rc
│           │       │   ├── MessagesDialogRes.h
│           │       │   ├── MyCom2.h
│           │       │   ├── MyLoadMenu.cpp
│           │       │   ├── MyLoadMenu.h
│           │       │   ├── MyWindowsNew.h
│           │       │   ├── NetFolder.cpp
│           │       │   ├── NetFolder.h
│           │       │   ├── OpenCallback.cpp
│           │       │   ├── OpenCallback.h
│           │       │   ├── OptionsDialog.cpp
│           │       │   ├── OverwriteDialog.cpp
│           │       │   ├── OverwriteDialog.h
│           │       │   ├── OverwriteDialog.rc
│           │       │   ├── OverwriteDialogRes.h
│           │       │   ├── Panel.cpp
│           │       │   ├── Panel.h
│           │       │   ├── PanelCopy.cpp
│           │       │   ├── PanelCrc.cpp
│           │       │   ├── PanelDrag.cpp
│           │       │   ├── PanelFolderChange.cpp
│           │       │   ├── PanelItemOpen.cpp
│           │       │   ├── PanelItems.cpp
│           │       │   ├── PanelKey.cpp
│           │       │   ├── PanelListNotify.cpp
│           │       │   ├── PanelMenu.cpp
│           │       │   ├── PanelOperations.cpp
│           │       │   ├── PanelSelect.cpp
│           │       │   ├── PanelSort.cpp
│           │       │   ├── PanelSplitFile.cpp
│           │       │   ├── PasswordDialog.cpp
│           │       │   ├── PasswordDialog.h
│           │       │   ├── PasswordDialog.rc
│           │       │   ├── PasswordDialogRes.h
│           │       │   ├── PluginInterface.h
│           │       │   ├── PluginLoader.h
│           │       │   ├── ProgressDialog2.cpp
│           │       │   ├── ProgressDialog2.h
│           │       │   ├── ProgressDialog2.rc
│           │       │   ├── ProgressDialog2Res.h
│           │       │   ├── ProgressDialog2a.rc
│           │       │   ├── PropertyName.cpp
│           │       │   ├── PropertyName.h
│           │       │   ├── PropertyName.rc
│           │       │   ├── PropertyNameRes.h
│           │       │   ├── RegistryAssociations.cpp
│           │       │   ├── RegistryAssociations.h
│           │       │   ├── RegistryPlugins.cpp
│           │       │   ├── RegistryPlugins.h
│           │       │   ├── RegistryUtils.cpp
│           │       │   ├── RegistryUtils.h
│           │       │   ├── RootFolder.cpp
│           │       │   ├── RootFolder.h
│           │       │   ├── SettingsPage.cpp
│           │       │   ├── SettingsPage.h
│           │       │   ├── SettingsPage.rc
│           │       │   ├── SettingsPage2.rc
│           │       │   ├── SettingsPageRes.h
│           │       │   ├── SplitDialog.cpp
│           │       │   ├── SplitDialog.h
│           │       │   ├── SplitDialog.rc
│           │       │   ├── SplitDialogRes.h
│           │       │   ├── SplitUtils.cpp
│           │       │   ├── SplitUtils.h
│           │       │   ├── StdAfx.cpp
│           │       │   ├── StdAfx.h
│           │       │   ├── StringUtils.cpp
│           │       │   ├── StringUtils.h
│           │       │   ├── SysIconUtils.cpp
│           │       │   ├── SysIconUtils.h
│           │       │   ├── TextPairs.cpp
│           │       │   ├── TextPairs.h
│           │       │   ├── UpdateCallback100.cpp
│           │       │   ├── UpdateCallback100.h
│           │       │   ├── VerCtrl.cpp
│           │       │   ├── ViewSettings.cpp
│           │       │   ├── ViewSettings.h
│           │       │   ├── resource.h
│           │       │   ├── resource.rc
│           │       │   ├── resourceGui.h
│           │       │   └── resourceGui.rc
│           │       └── GUI/
│           │           ├── Extract.rc
│           │           ├── ExtractDialogRes.h
│           │           ├── ExtractRes.h
│           │           ├── HashGUI.cpp
│           │           ├── HashGUI.h
│           │           ├── StdAfx.h
│           │           ├── UpdateCallbackGUI.h
│           │           ├── UpdateCallbackGUI2.cpp
│           │           ├── UpdateCallbackGUI2.h
│           │           ├── resource2.h
│           │           ├── resource3.h
│           │           └── resource3.rc
│           ├── Common/
│           │   ├── AutoPtr.h
│           │   ├── ComTry.h
│           │   ├── Common.h
│           │   ├── Defs.h
│           │   ├── DynLimBuf.cpp
│           │   ├── DynLimBuf.h
│           │   ├── DynamicBuffer.h
│           │   ├── IntToString.cpp
│           │   ├── IntToString.h
│           │   ├── Lang.cpp
│           │   ├── Lang.h
│           │   ├── MyBuffer.h
│           │   ├── MyBuffer2.h
│           │   ├── MyCom.h
│           │   ├── MyException.h
│           │   ├── MyGuidDef.h
│           │   ├── MyInitGuid.h
│           │   ├── MyLinux.h
│           │   ├── MyString.cpp
│           │   ├── MyString.h
│           │   ├── MyTypes.h
│           │   ├── MyUnknown.h
│           │   ├── MyVector.h
│           │   ├── MyWindows.h
│           │   ├── NewHandler.cpp
│           │   ├── NewHandler.h
│           │   ├── Random.cpp
│           │   ├── Random.h
│           │   ├── StdAfx.h
│           │   ├── StringConvert.cpp
│           │   ├── StringConvert.h
│           │   ├── StringToInt.cpp
│           │   ├── StringToInt.h
│           │   ├── UTFConvert.cpp
│           │   ├── UTFConvert.h
│           │   ├── Wildcard.cpp
│           │   └── Wildcard.h
│           └── Windows/
│               ├── COM.h
│               ├── Clipboard.cpp
│               ├── Clipboard.h
│               ├── CommonDialog.cpp
│               ├── CommonDialog.h
│               ├── Control/
│               │   ├── ComboBox.cpp
│               │   ├── ComboBox.h
│               │   ├── CommandBar.h
│               │   ├── Dialog.cpp
│               │   ├── Dialog.h
│               │   ├── Edit.h
│               │   ├── ImageList.h
│               │   ├── ListView.cpp
│               │   ├── ListView.h
│               │   ├── ProgressBar.h
│               │   ├── PropertyPage.cpp
│               │   ├── PropertyPage.h
│               │   ├── ReBar.h
│               │   ├── Static.h
│               │   ├── StatusBar.h
│               │   ├── StdAfx.h
│               │   ├── ToolBar.h
│               │   ├── Window2.cpp
│               │   └── Window2.h
│               ├── DLL.cpp
│               ├── DLL.h
│               ├── Defs.h
│               ├── ErrorMsg.cpp
│               ├── ErrorMsg.h
│               ├── FileDir.cpp
│               ├── FileDir.h
│               ├── FileFind.cpp
│               ├── FileFind.h
│               ├── FileIO.cpp
│               ├── FileIO.h
│               ├── FileLink.cpp
│               ├── FileMapping.h
│               ├── FileName.cpp
│               ├── FileName.h
│               ├── FileSystem.cpp
│               ├── FileSystem.h
│               ├── Handle.h
│               ├── MemoryGlobal.cpp
│               ├── MemoryGlobal.h
│               ├── MemoryLock.cpp
│               ├── MemoryLock.h
│               ├── Menu.cpp
│               ├── Menu.h
│               ├── Net.cpp
│               ├── Net.h
│               ├── NtCheck.h
│               ├── ProcessUtils.cpp
│               ├── ProcessUtils.h
│               ├── PropVariant.cpp
│               ├── PropVariant.h
│               ├── PropVariantConv.cpp
│               ├── PropVariantConv.h
│               ├── Registry.cpp
│               ├── Registry.h
│               ├── ResourceString.cpp
│               ├── ResourceString.h
│               ├── SecurityUtils.cpp
│               ├── SecurityUtils.h
│               ├── Shell.cpp
│               ├── Shell.h
│               ├── StdAfx.h
│               ├── Synchronization.cpp
│               ├── Synchronization.h
│               ├── System.cpp
│               ├── System.h
│               ├── Thread.h
│               ├── TimeUtils.cpp
│               ├── TimeUtils.h
│               ├── Window.cpp
│               └── Window.h
├── NanaZip.Universal/
│   ├── NanaZip.Universal.Console.manifest
│   ├── NanaZip.Universal.Console.vcxproj
│   ├── NanaZip.Universal.Console.vcxproj.filters
│   ├── NanaZip.Universal.Windows.manifest
│   ├── NanaZip.Universal.Windows.vcxproj
│   ├── NanaZip.Universal.Windows.vcxproj.filters
│   └── SevenZip/
│       ├── .gitignore
│       ├── C/
│       │   ├── 7zCrc.c
│       │   ├── 7zCrc.h
│       │   ├── 7zCrcOpt.c
│       │   ├── 7zTypes.h
│       │   ├── 7zVersion.h
│       │   ├── 7zWindows.h
│       │   ├── Alloc.c
│       │   ├── Alloc.h
│       │   ├── Compiler.h
│       │   ├── CpuArch.c
│       │   ├── CpuArch.h
│       │   ├── DllSecur.c
│       │   ├── DllSecur.h
│       │   ├── Precomp.h
│       │   ├── RotateDefs.h
│       │   ├── Sort.c
│       │   ├── Sort.h
│       │   ├── Threads.c
│       │   └── Threads.h
│       └── CPP/
│           ├── 7zip/
│           │   ├── Archive/
│           │   │   ├── Common/
│           │   │   │   ├── ItemNameUtils.cpp
│           │   │   │   ├── ItemNameUtils.h
│           │   │   │   ├── OutStreamWithCRC.cpp
│           │   │   │   ├── OutStreamWithCRC.h
│           │   │   │   └── StdAfx.h
│           │   │   └── IArchive.h
│           │   ├── Common/
│           │   │   ├── CreateCoder.cpp
│           │   │   ├── CreateCoder.h
│           │   │   ├── FilePathAutoRename.cpp
│           │   │   ├── FilePathAutoRename.h
│           │   │   ├── FileStreams.cpp
│           │   │   ├── FileStreams.h
│           │   │   ├── FilterCoder.cpp
│           │   │   ├── FilterCoder.h
│           │   │   ├── LimitedStreams.cpp
│           │   │   ├── LimitedStreams.h
│           │   │   ├── MethodId.h
│           │   │   ├── MethodProps.cpp
│           │   │   ├── MethodProps.h
│           │   │   ├── MultiOutStream.cpp
│           │   │   ├── MultiOutStream.h
│           │   │   ├── OutBuffer.h
│           │   │   ├── ProgressUtils.cpp
│           │   │   ├── ProgressUtils.h
│           │   │   ├── PropId.cpp
│           │   │   ├── RegisterArc.h
│           │   │   ├── RegisterCodec.h
│           │   │   ├── StdAfx.h
│           │   │   ├── StreamObjects.cpp
│           │   │   ├── StreamObjects.h
│           │   │   ├── StreamUtils.cpp
│           │   │   ├── StreamUtils.h
│           │   │   ├── UniqBlocks.cpp
│           │   │   └── UniqBlocks.h
│           │   ├── Compress/
│           │   │   ├── CopyCoder.cpp
│           │   │   ├── CopyCoder.h
│           │   │   └── StdAfx.h
│           │   ├── GuiCommon.rc
│           │   ├── ICoder.h
│           │   ├── IDecl.h
│           │   ├── IPassword.h
│           │   ├── IProgress.h
│           │   ├── IStream.h
│           │   ├── MyVersion.h
│           │   ├── PropID.h
│           │   └── UI/
│           │       ├── Agent/
│           │       │   └── IFolderArchive.h
│           │       ├── Common/
│           │       │   ├── ArchiveCommandLine.cpp
│           │       │   ├── ArchiveCommandLine.h
│           │       │   ├── ArchiveExtractCallback.cpp
│           │       │   ├── ArchiveExtractCallback.h
│           │       │   ├── ArchiveOpenCallback.cpp
│           │       │   ├── ArchiveOpenCallback.h
│           │       │   ├── Bench.cpp
│           │       │   ├── Bench.h
│           │       │   ├── DefaultName.cpp
│           │       │   ├── DefaultName.h
│           │       │   ├── DirItem.h
│           │       │   ├── EnumDirItems.cpp
│           │       │   ├── EnumDirItems.h
│           │       │   ├── ExitCode.h
│           │       │   ├── Extract.cpp
│           │       │   ├── Extract.h
│           │       │   ├── ExtractMode.h
│           │       │   ├── ExtractingFilePath.cpp
│           │       │   ├── ExtractingFilePath.h
│           │       │   ├── HashCalc.cpp
│           │       │   ├── HashCalc.h
│           │       │   ├── IFileExtractCallback.h
│           │       │   ├── LoadCodecs.cpp
│           │       │   ├── LoadCodecs.h
│           │       │   ├── OpenArchive.cpp
│           │       │   ├── OpenArchive.h
│           │       │   ├── PropIDUtils.cpp
│           │       │   ├── PropIDUtils.h
│           │       │   ├── Property.h
│           │       │   ├── SetProperties.cpp
│           │       │   ├── SetProperties.h
│           │       │   ├── SortUtils.cpp
│           │       │   ├── SortUtils.h
│           │       │   ├── StdAfx.h
│           │       │   ├── TempFiles.cpp
│           │       │   ├── TempFiles.h
│           │       │   ├── Update.cpp
│           │       │   ├── Update.h
│           │       │   ├── UpdateAction.cpp
│           │       │   ├── UpdateAction.h
│           │       │   ├── UpdateCallback.cpp
│           │       │   ├── UpdateCallback.h
│           │       │   ├── UpdatePair.cpp
│           │       │   ├── UpdatePair.h
│           │       │   ├── UpdateProduce.cpp
│           │       │   ├── UpdateProduce.h
│           │       │   ├── WorkDir.cpp
│           │       │   ├── WorkDir.h
│           │       │   ├── ZipRegistry.cpp
│           │       │   └── ZipRegistry.h
│           │       ├── Console/
│           │       │   ├── BenchCon.cpp
│           │       │   ├── BenchCon.h
│           │       │   ├── ConsoleClose.cpp
│           │       │   ├── ConsoleClose.h
│           │       │   ├── ExtractCallbackConsole.cpp
│           │       │   ├── ExtractCallbackConsole.h
│           │       │   ├── HashCon.cpp
│           │       │   ├── HashCon.h
│           │       │   ├── List.cpp
│           │       │   ├── List.h
│           │       │   ├── Main.cpp
│           │       │   ├── MainAr.cpp
│           │       │   ├── OpenCallbackConsole.cpp
│           │       │   ├── OpenCallbackConsole.h
│           │       │   ├── PercentPrinter.cpp
│           │       │   ├── PercentPrinter.h
│           │       │   ├── StdAfx.h
│           │       │   ├── UpdateCallbackConsole.cpp
│           │       │   ├── UpdateCallbackConsole.h
│           │       │   ├── UserInputUtils.cpp
│           │       │   └── UserInputUtils.h
│           │       ├── Explorer/
│           │       │   ├── MyMessages.cpp
│           │       │   ├── MyMessages.h
│           │       │   └── StdAfx.h
│           │       ├── FileManager/
│           │       │   ├── BrowseDialog.cpp
│           │       │   ├── BrowseDialog.h
│           │       │   ├── BrowseDialog.rc
│           │       │   ├── BrowseDialogRes.h
│           │       │   ├── ComboDialog.cpp
│           │       │   ├── ComboDialog.h
│           │       │   ├── ComboDialog.rc
│           │       │   ├── ComboDialogRes.h
│           │       │   ├── DialogSize.h
│           │       │   ├── EditDialog.cpp
│           │       │   ├── EditDialog.h
│           │       │   ├── EditDialog.rc
│           │       │   ├── EditDialogRes.h
│           │       │   ├── ExtractCallback.cpp
│           │       │   ├── ExtractCallback.h
│           │       │   ├── FormatUtils.cpp
│           │       │   ├── FormatUtils.h
│           │       │   ├── IFolder.h
│           │       │   ├── LangUtils.cpp
│           │       │   ├── LangUtils.h
│           │       │   ├── MemDialog.cpp
│           │       │   ├── MemDialog.h
│           │       │   ├── MemDialog.rc
│           │       │   ├── MemDialogRes.h
│           │       │   ├── MyWindowsNew.h
│           │       │   ├── OpenCallback.cpp
│           │       │   ├── OpenCallback.h
│           │       │   ├── OverwriteDialog.cpp
│           │       │   ├── OverwriteDialog.h
│           │       │   ├── OverwriteDialog.rc
│           │       │   ├── OverwriteDialogRes.h
│           │       │   ├── PasswordDialog.cpp
│           │       │   ├── PasswordDialog.h
│           │       │   ├── PasswordDialog.rc
│           │       │   ├── PasswordDialogRes.h
│           │       │   ├── ProgressDialog2.cpp
│           │       │   ├── ProgressDialog2.h
│           │       │   ├── ProgressDialog2.rc
│           │       │   ├── ProgressDialog2Res.h
│           │       │   ├── ProgressDialog2a.rc
│           │       │   ├── PropertyName.cpp
│           │       │   ├── PropertyName.h
│           │       │   ├── PropertyName.rc
│           │       │   ├── PropertyNameRes.h
│           │       │   ├── RegistryUtils.cpp
│           │       │   ├── RegistryUtils.h
│           │       │   ├── SplitUtils.cpp
│           │       │   ├── SplitUtils.h
│           │       │   ├── StdAfx.h
│           │       │   ├── StringUtils.cpp
│           │       │   ├── StringUtils.h
│           │       │   ├── SysIconUtils.cpp
│           │       │   ├── SysIconUtils.h
│           │       │   ├── resource.h
│           │       │   ├── resourceGui.h
│           │       │   └── resourceGui.rc
│           │       └── GUI/
│           │           ├── BenchmarkDialog.cpp
│           │           ├── BenchmarkDialog.h
│           │           ├── BenchmarkDialog.rc
│           │           ├── BenchmarkDialogRes.h
│           │           ├── CompressDialog.cpp
│           │           ├── CompressDialog.h
│           │           ├── CompressDialog.rc
│           │           ├── CompressDialogRes.h
│           │           ├── CompressOptionsDialog.rc
│           │           ├── Extract.rc
│           │           ├── ExtractDialog.cpp
│           │           ├── ExtractDialog.h
│           │           ├── ExtractDialog.rc
│           │           ├── ExtractDialogRes.h
│           │           ├── ExtractGUI.cpp
│           │           ├── ExtractGUI.h
│           │           ├── ExtractRes.h
│           │           ├── GUI.cpp
│           │           ├── HashGUI.cpp
│           │           ├── HashGUI.h
│           │           ├── StdAfx.h
│           │           ├── UpdateCallbackGUI.cpp
│           │           ├── UpdateCallbackGUI.h
│           │           ├── UpdateCallbackGUI2.cpp
│           │           ├── UpdateCallbackGUI2.h
│           │           ├── UpdateGUI.cpp
│           │           ├── UpdateGUI.h
│           │           ├── resource.rc
│           │           ├── resource2.h
│           │           ├── resource2.rc
│           │           ├── resource3.h
│           │           └── resource3.rc
│           ├── Common/
│           │   ├── CRC.cpp
│           │   ├── ComTry.h
│           │   ├── CommandLineParser.cpp
│           │   ├── CommandLineParser.h
│           │   ├── Common.h
│           │   ├── Common0.h
│           │   ├── Defs.h
│           │   ├── DynLimBuf.cpp
│           │   ├── DynLimBuf.h
│           │   ├── IntToString.cpp
│           │   ├── IntToString.h
│           │   ├── Lang.cpp
│           │   ├── Lang.h
│           │   ├── ListFileUtils.cpp
│           │   ├── ListFileUtils.h
│           │   ├── MyBuffer.h
│           │   ├── MyBuffer2.h
│           │   ├── MyCom.h
│           │   ├── MyException.h
│           │   ├── MyInitGuid.h
│           │   ├── MyLinux.h
│           │   ├── MyString.cpp
│           │   ├── MyString.h
│           │   ├── MyTypes.h
│           │   ├── MyUnknown.h
│           │   ├── MyVector.h
│           │   ├── MyWindows.h
│           │   ├── NewHandler.cpp
│           │   ├── NewHandler.h
│           │   ├── StdAfx.h
│           │   ├── StdInStream.cpp
│           │   ├── StdInStream.h
│           │   ├── StdOutStream.cpp
│           │   ├── StdOutStream.h
│           │   ├── StringConvert.cpp
│           │   ├── StringConvert.h
│           │   ├── StringToInt.cpp
│           │   ├── StringToInt.h
│           │   ├── UTFConvert.cpp
│           │   ├── UTFConvert.h
│           │   ├── Wildcard.cpp
│           │   └── Wildcard.h
│           └── Windows/
│               ├── COM.h
│               ├── Clipboard.cpp
│               ├── Clipboard.h
│               ├── CommonDialog.cpp
│               ├── CommonDialog.h
│               ├── Control/
│               │   ├── ComboBox.cpp
│               │   ├── ComboBox.h
│               │   ├── Dialog.cpp
│               │   ├── Dialog.h
│               │   ├── Edit.h
│               │   ├── ListView.cpp
│               │   ├── ListView.h
│               │   ├── ProgressBar.h
│               │   ├── Static.h
│               │   └── StdAfx.h
│               ├── DLL.cpp
│               ├── DLL.h
│               ├── Defs.h
│               ├── ErrorMsg.cpp
│               ├── ErrorMsg.h
│               ├── FileDir.cpp
│               ├── FileDir.h
│               ├── FileFind.cpp
│               ├── FileFind.h
│               ├── FileIO.cpp
│               ├── FileIO.h
│               ├── FileLink.cpp
│               ├── FileMapping.h
│               ├── FileName.cpp
│               ├── FileName.h
│               ├── FileSystem.cpp
│               ├── FileSystem.h
│               ├── Handle.h
│               ├── MemoryGlobal.cpp
│               ├── MemoryGlobal.h
│               ├── MemoryLock.cpp
│               ├── MemoryLock.h
│               ├── NtCheck.h
│               ├── PropVariant.cpp
│               ├── PropVariant.h
│               ├── PropVariantConv.cpp
│               ├── PropVariantConv.h
│               ├── Registry.cpp
│               ├── Registry.h
│               ├── ResourceString.cpp
│               ├── ResourceString.h
│               ├── SecurityUtils.h
│               ├── Shell.cpp
│               ├── Shell.h
│               ├── StdAfx.h
│               ├── Synchronization.cpp
│               ├── Synchronization.h
│               ├── System.cpp
│               ├── System.h
│               ├── SystemInfo.cpp
│               ├── SystemInfo.h
│               ├── Thread.h
│               ├── TimeUtils.cpp
│               ├── TimeUtils.h
│               ├── Window.cpp
│               └── Window.h
├── NanaZip.slnx
├── NanaZipPackage/
│   ├── NanaZipPackage.wapproj
│   ├── Package.appxmanifest
│   └── Strings/
│       ├── af/
│       │   └── Legacy.resw
│       ├── ar/
│       │   └── Legacy.resw
│       ├── az-arab/
│       │   └── Legacy.resw
│       ├── be/
│       │   └── Legacy.resw
│       ├── bg/
│       │   └── Legacy.resw
│       ├── bn/
│       │   └── Legacy.resw
│       ├── ca/
│       │   └── Legacy.resw
│       ├── ca-es-valencia/
│       │   └── Legacy.resw
│       ├── cs/
│       │   └── Legacy.resw
│       ├── cy/
│       │   └── Legacy.resw
│       ├── da/
│       │   └── Legacy.resw
│       ├── de/
│       │   └── Legacy.resw
│       ├── el/
│       │   └── Legacy.resw
│       ├── en/
│       │   └── Legacy.resw
│       ├── eo/
│       │   └── Legacy.resw
│       ├── es/
│       │   └── Legacy.resw
│       ├── et/
│       │   └── Legacy.resw
│       ├── eu/
│       │   └── Legacy.resw
│       ├── fa/
│       │   └── Legacy.resw
│       ├── fi/
│       │   └── Legacy.resw
│       ├── fr/
│       │   └── Legacy.resw
│       ├── fy/
│       │   └── Legacy.resw
│       ├── ga/
│       │   └── Legacy.resw
│       ├── gl/
│       │   └── Legacy.resw
│       ├── gu/
│       │   └── Legacy.resw
│       ├── he/
│       │   └── Legacy.resw
│       ├── hi/
│       │   └── Legacy.resw
│       ├── hr/
│       │   └── Legacy.resw
│       ├── hu/
│       │   └── Legacy.resw
│       ├── hy/
│       │   └── Legacy.resw
│       ├── id/
│       │   └── Legacy.resw
│       ├── is/
│       │   └── Legacy.resw
│       ├── it/
│       │   └── Legacy.resw
│       ├── ja/
│       │   └── Legacy.resw
│       ├── ka/
│       │   └── Legacy.resw
│       ├── kk/
│       │   └── Legacy.resw
│       ├── ko/
│       │   └── Legacy.resw
│       ├── ku-arab/
│       │   └── Legacy.resw
│       ├── ky-kg/
│       │   └── Legacy.resw
│       ├── lt/
│       │   └── Legacy.resw
│       ├── lv/
│       │   └── Legacy.resw
│       ├── mk/
│       │   └── Legacy.resw
│       ├── mn-cyrl/
│       │   └── Legacy.resw
│       ├── mn-mong/
│       │   └── Legacy.resw
│       ├── mr/
│       │   └── Legacy.resw
│       ├── ms/
│       │   └── Legacy.resw
│       ├── nb/
│       │   └── Legacy.resw
│       ├── ne/
│       │   └── Legacy.resw
│       ├── nl/
│       │   └── Legacy.resw
│       ├── nn/
│       │   └── Legacy.resw
│       ├── pa-in/
│       │   └── Legacy.resw
│       ├── pl/
│       │   └── Legacy.resw
│       ├── ps/
│       │   └── Legacy.resw
│       ├── pt/
│       │   └── Legacy.resw
│       ├── pt-br/
│       │   └── Legacy.resw
│       ├── ro/
│       │   └── Legacy.resw
│       ├── ru/
│       │   └── Legacy.resw
│       ├── si/
│       │   └── Legacy.resw
│       ├── sk/
│       │   └── Legacy.resw
│       ├── sl/
│       │   └── Legacy.resw
│       ├── sq/
│       │   └── Legacy.resw
│       ├── sr-Latn/
│       │   └── Legacy.resw
│       ├── sr-cyrl/
│       │   └── Legacy.resw
│       ├── sv/
│       │   └── Legacy.resw
│       ├── sw/
│       │   └── Legacy.resw
│       ├── ta/
│       │   └── Legacy.resw
│       ├── tg-arab/
│       │   └── Legacy.resw
│       ├── th/
│       │   └── Legacy.resw
│       ├── tk-cyrl/
│       │   └── Legacy.resw
│       ├── tr/
│       │   └── Legacy.resw
│       ├── tt-arab/
│       │   └── Legacy.resw
│       ├── ug-arab/
│       │   └── Legacy.resw
│       ├── uk/
│       │   └── Legacy.resw
│       ├── uz-cyrl/
│       │   └── Legacy.resw
│       ├── uz-latn/
│       │   └── Legacy.resw
│       ├── vi/
│       │   └── Legacy.resw
│       ├── yo-latn/
│       │   └── Legacy.resw
│       ├── zh-Hans/
│       │   └── Legacy.resw
│       └── zh-Hant/
│           └── Legacy.resw
├── ReadMe.md
├── RestoreNuGetPackages.cmd
├── Security.md
└── Settings.XamlStyler
Download .txt
Showing preview only (1,018K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (11280 symbols across 974 files)

FILE: Documents/Website/src/components/StoreBadge/StoreBadge.ts
  function changeStoreBadge (line 1) | function changeStoreBadge(darkMode: boolean) {

FILE: K7Base/K7Base.h
  type CHAR (line 22) | typedef char CHAR;
  type SHORT (line 23) | typedef short SHORT;
  type LONG (line 24) | typedef long LONG;
  type K7_BASE_HASH_ALGORITHM_TYPE (line 100) | typedef enum _K7_BASE_HASH_ALGORITHM_TYPE
  type K7_BASE_HASH_HANDLE (line 145) | typedef K7_BASE_HASH_HANDLE *PK7_BASE_HASH_HANDLE;

FILE: K7Base/K7BaseDetours.cpp
  function EXTERN_C (line 15) | EXTERN_C LONG MOAPI K7BaseDetourTransactionBegin()
  function EXTERN_C (line 20) | EXTERN_C LONG MOAPI K7BaseDetourTransactionAbort()
  function EXTERN_C (line 25) | EXTERN_C LONG MOAPI K7BaseDetourTransactionCommit()
  function EXTERN_C (line 30) | EXTERN_C LONG MOAPI K7BaseDetourUpdateThread(
  function EXTERN_C (line 36) | EXTERN_C LONG MOAPI K7BaseDetourAttach(
  function EXTERN_C (line 43) | EXTERN_C LONG MOAPI K7BaseDetourDetach(

FILE: K7Base/K7BaseHash.cpp
  type _K7_BASE_HASH_ALGORITHM (line 23) | struct _K7_BASE_HASH_ALGORITHM
  type _K7_BASE_HASH_CONTEXT (line 41) | struct _K7_BASE_HASH_CONTEXT
  function PK7_BASE_HASH_CONTEXT (line 50) | static PK7_BASE_HASH_CONTEXT K7BaseHashInternalGetContextFromHandle(
  function EXTERN_C (line 74) | EXTERN_C MO_RESULT MOAPI K7BaseHashCreate(
  function EXTERN_C (line 191) | EXTERN_C MO_RESULT MOAPI K7BaseHashDestroy(
  function EXTERN_C (line 224) | EXTERN_C MO_RESULT MOAPI K7BaseHashUpdate(
  function EXTERN_C (line 245) | EXTERN_C MO_RESULT MOAPI K7BaseHashFinal(
  function EXTERN_C (line 294) | EXTERN_C MO_RESULT MOAPI K7BaseHashGetSize(
  function EXTERN_C (line 314) | EXTERN_C MO_RESULT MOAPI K7BaseHashDuplicate(

FILE: K7Base/K7BaseInitialize.cpp
  function EXTERN_C (line 13) | EXTERN_C MO_RESULT MOAPI K7BaseInitialize()

FILE: K7Base/K7BaseMitigations.cpp
  function BOOL (line 23) | static BOOL GetCurrentProcessMitigationPolicy(
  function EXTERN_C (line 36) | EXTERN_C MO_RESULT MOAPI K7BaseEnableMandatoryMitigations()
  function EXTERN_C (line 97) | EXTERN_C MO_RESULT MOAPI K7BaseDisableDynamicCodeGeneration()
  function EXTERN_C (line 133) | EXTERN_C MO_RESULT MOAPI K7BaseDisableChildProcessCreation()
  function EXTERN_C (line 165) | EXTERN_C MO_RESULT MOAPI K7BaseSetCurrentThreadDynamicCodePolicyOptOut(
  type ModuleTypes (line 193) | namespace ModuleTypes
  type ModuleItem (line 203) | struct ModuleItem
  function MO_UINT8 (line 223) | static MO_UINT8 QueryModuleType(
  function IsDynamicCodeAllowed (line 239) | static bool IsDynamicCodeAllowed(
  function IsCurrentProcessHandle (line 255) | static bool IsCurrentProcessHandle(
  function IsPageExecute (line 266) | static bool IsPageExecute(
  function CheckExtents (line 279) | static inline bool CheckExtents(
  function GetModuleExportName (line 290) | static bool GetModuleExportName(
  type FunctionTypes (line 359) | namespace FunctionTypes
  type FunctionItem (line 375) | struct FunctionItem
  function NTSTATUS (line 383) | static NTSTATUS NTAPI OriginalNtMapViewOfSection(
  function NTSTATUS (line 415) | static NTSTATUS NTAPI OriginalNtQuerySection(
  function NTSTATUS (line 437) | static NTSTATUS NTAPI OriginalNtUnmapViewOfSection(
  function LPVOID (line 453) | static LPVOID WINAPI OriginalVirtualAlloc(
  function LPVOID (line 474) | static LPVOID WINAPI OriginalVirtualAllocEx(
  function BOOL (line 497) | static BOOL WINAPI OriginalVirtualProtect(
  function BOOL (line 518) | static BOOL WINAPI OriginalVirtualProtectEx(
  function NTSTATUS (line 541) | static NTSTATUS NTAPI DetouredNtMapViewOfSection(
  function NTSTATUS (line 607) | static NTSTATUS NTAPI DetouredNtUnmapViewOfSection(
  function LPVOID (line 634) | static LPVOID WINAPI DetouredVirtualAlloc(
  function LPVOID (line 659) | static LPVOID WINAPI DetouredVirtualAllocEx(
  function BOOL (line 688) | static BOOL WINAPI DetouredVirtualProtect(
  function BOOL (line 713) | static BOOL WINAPI DetouredVirtualProtectEx(
  function InitializeFunctionTable (line 742) | static bool InitializeFunctionTable()
  function UninitializeFunctionTable (line 788) | static void UninitializeFunctionTable()
  function EXTERN_C (line 799) | EXTERN_C MO_RESULT MOAPI K7BaseInitializeDynamicLinkLibraryBlocker()
  function EXTERN_C (line 835) | EXTERN_C MO_RESULT MOAPI K7BaseUninitializeDynamicLinkLibraryBlocker()

FILE: K7Base/K7BaseModern.cpp
  function EXTERN_C (line 13) | EXTERN_C BOOL WINAPI K7BaseModernFileTimeToLocalFileTime(
  function EXTERN_C (line 41) | EXTERN_C BOOL WINAPI K7BaseModernLocalFileTimeToFileTime(

FILE: K7Base/K7BasePolicies.cpp
  function QueryDwordValue (line 36) | static bool QueryDwordValue(
  function QueryMultiStringValue (line 60) | static std::set<std::string> QueryMultiStringValue(
  function EXTERN_C (line 122) | EXTERN_C MO_RESULT MOAPI K7BaseInitializePolicies()
  function EXTERN_C (line 205) | EXTERN_C MO_BOOL MOAPI K7BaseGetAllowDynamicCodeGenerationPolicy()
  function EXTERN_C (line 210) | EXTERN_C MO_BOOL MOAPI K7BaseGetAllowChildProcessCreationPolicy()
  function EXTERN_C (line 215) | EXTERN_C MO_BOOL MOAPI K7BaseGetAllowedHandlerPolicy(
  function EXTERN_C (line 230) | EXTERN_C MO_BOOL MOAPI K7BaseGetAllowedCodecPolicy(
  function EXTERN_C (line 245) | EXTERN_C MO_UINT32 MOAPI K7BaseGetWriteZoneIdExtractPolicy()

FILE: K7User/K7User.h
  type CHAR (line 22) | typedef char CHAR;
  type SHORT (line 23) | typedef short SHORT;
  type LONG (line 24) | typedef long LONG;

FILE: K7User/K7UserDarkMode.cpp
  function HBRUSH (line 53) | static HBRUSH GetDarkModeBackgroundBrush()
  function HBRUSH (line 60) | static HBRUSH GetDarkModeForegroundBrush()
  function HBRUSH (line 67) | static HBRUSH GetDarkModeBorderBrush()
  function HBRUSH (line 74) | static HBRUSH GetDarkModeMenuSelectedBackgroundBrush()
  function IsStandardDynamicRangeMode (line 81) | static bool IsStandardDynamicRangeMode()
  type ThreadContext (line 147) | struct ThreadContext
    method ThreadContext (line 166) | ThreadContext()
  function RefreshWindowTheme (line 202) | static void RefreshWindowTheme(
  function IsFileManagerWindowClassName (line 309) | static bool IsFileManagerWindowClassName(
  function IsFileManagerPanelWindowClassName (line 315) | static bool IsFileManagerPanelWindowClassName(
  function IsFileManagerWindow (line 321) | static bool IsFileManagerWindow(
  function LRESULT (line 336) | LRESULT CALLBACK WindowSubclassCallback(
  function GetAssociatedModuleNameFromWindowHandle (line 739) | static std::wstring GetAssociatedModuleNameFromWindowHandle(
  function IsModernizedWindow (line 751) | static bool IsModernizedWindow(
  function LRESULT (line 782) | static LRESULT CALLBACK CallWndProcCallback(
  type FunctionTypes (line 819) | namespace FunctionTypes
  type FunctionItem (line 836) | struct FunctionItem
  function DWORD (line 844) | static DWORD WINAPI OriginalGetSysColor(
  function HBRUSH (line 857) | static HBRUSH WINAPI OriginalGetSysColorBrush(
  function HRESULT (line 870) | static HRESULT WINAPI OriginalGetThemeColor(
  function HRESULT (line 892) | static HRESULT WINAPI OriginalDrawThemeText(
  function HRESULT (line 922) | static HRESULT WINAPI OriginalDrawThemeBackground(
  function HRESULT (line 946) | static HRESULT WINAPI OriginalDrawThemeBackgroundEx(
  function HTHEME (line 970) | static HTHEME WINAPI OriginalOpenNcThemeData(
  function HRESULT (line 984) | static HRESULT WINAPI OriginalGetThemeClass(
  function DWORD (line 1002) | static DWORD WINAPI DetouredGetSysColor(
  function HBRUSH (line 1023) | static HBRUSH WINAPI DetouredGetSysColorBrush(
  function HRESULT (line 1042) | static HRESULT WINAPI DetouredGetThemeColor(
  function HRESULT (line 1088) | static HRESULT WINAPI DetouredDrawThemeText(
  function HRESULT (line 1130) | static HRESULT WINAPI DetouredDrawThemeBackground(
  function HRESULT (line 1264) | static HRESULT WINAPI DetouredDrawThemeBackgroundEx(
  function HTHEME (line 1338) | static HTHEME WINAPI DetouredOpenNcThemeData(
  function InitializeFunctionTable (line 1351) | static bool InitializeFunctionTable()
  function UninitializeFunctionTable (line 1417) | static void UninitializeFunctionTable()
  function EXTERN_C (line 1427) | EXTERN_C MO_RESULT MOAPI K7UserInitializeDarkModeSupport()
  function EXTERN_C (line 1473) | EXTERN_C MO_RESULT MOAPI K7UserUninitializeDarkModeSupport()

FILE: K7User/K7UserModern.cpp
  function OriginalMessageBoxW (line 25) | int WINAPI OriginalMessageBoxW(
  function EXTERN_C (line 47) | EXTERN_C int WINAPI K7UserModernMessageBoxW(
  function EXTERN_C (line 131) | EXTERN_C PIDLIST_ABSOLUTE WINAPI K7UserModernSHBrowseForFolderW(
  function LONG (line 198) | static LONG GetCurrentApplicationUserModelIdWrapper(
  function GetCurrentApplicationUserModelIdSimple (line 226) | static std::wstring GetCurrentApplicationUserModelIdSimple()
  function EXTERN_C (line 260) | EXTERN_C MO_RESULT MOAPI K7UserModernLaunchDefaultAppsSettings()
  function EXTERN_C (line 280) | EXTERN_C MO_RESULT MOAPI K7UserModernSetForegroundWindow(
  function EXTERN_C (line 311) | EXTERN_C MO_RESULT MOAPI K7UserModernSetForegroundProcessMainWindow(

FILE: K7User/K7UserPrivate.h
  type UAHMENUITEMMETRICS (line 30) | typedef union tagUAHMENUITEMMETRICS
  type UAHMENUPOPUPMETRICS (line 46) | typedef struct tagUAHMENUPOPUPMETRICS
  type UAHMENU (line 55) | typedef struct tagUAHMENU
  type UAHMENUITEM (line 65) | typedef struct tagUAHMENUITEM
  type UAHDRAWMENUITEM (line 75) | typedef struct UAHDRAWMENUITEM
  type UAHMEASUREMENUITEM (line 84) | typedef struct tagUAHMEASUREMENUITEM

FILE: NanaZip.Build.Tasks/RefreshAppxManifestVersion.cs
  class RefreshAppxManifestVersion (line 9) | public class RefreshAppxManifestVersion : Task
    method Execute (line 17) | public override bool Execute()

FILE: NanaZip.Build.Tasks/RefreshProjectBuildNumberDate.cs
  class RefreshProjectBuildNumberDate (line 9) | public class RefreshProjectBuildNumberDate : Task
    method Execute (line 17) | public override bool Execute()

FILE: NanaZip.Codecs/BLAKE3/blake3.c
  function INLINE (line 10) | INLINE void chunk_state_init(blake3_chunk_state *self, const uint32_t ke...
  function INLINE (line 20) | INLINE void chunk_state_reset(blake3_chunk_state *self, const uint32_t k...
  function INLINE (line 29) | INLINE size_t chunk_state_len(const blake3_chunk_state *self) {
  function INLINE (line 34) | INLINE size_t chunk_state_fill_buf(blake3_chunk_state *self,
  function INLINE (line 46) | INLINE uint8_t chunk_state_maybe_start_flag(const blake3_chunk_state *se...
  type output_t (line 54) | typedef struct {
  function INLINE (line 62) | INLINE output_t make_output(const uint32_t input_cv[8],
  function INLINE (line 81) | INLINE void output_chaining_value(const output_t *self, uint8_t cv[32]) {
  function INLINE (line 89) | INLINE void output_root_bytes(const output_t *self, uint64_t seek, uint8...
  function INLINE (line 118) | INLINE void chunk_state_update(blake3_chunk_state *self, const uint8_t *...
  function INLINE (line 146) | INLINE output_t chunk_state_output(const blake3_chunk_state *self) {
  function INLINE (line 153) | INLINE output_t parent_output(const uint8_t block[BLAKE3_BLOCK_LEN],
  function INLINE (line 161) | INLINE size_t left_subtree_len(size_t input_len) {
  function INLINE (line 172) | INLINE size_t compress_chunks_parallel(const uint8_t *input, size_t inpu...
  function INLINE (line 216) | INLINE size_t compress_parents_parallel(const uint8_t *child_chaining_va...
  function blake3_compress_subtree_wide (line 268) | size_t blake3_compress_subtree_wide(const uint8_t *input, size_t input_len,
  function INLINE (line 348) | INLINE void
  function INLINE (line 382) | INLINE void hasher_init_base(blake3_hasher *self, const uint32_t key[8],
  function blake3_hasher_init (line 389) | void blake3_hasher_init(blake3_hasher *self) { hasher_init_base(self, IV...
  function blake3_hasher_init_keyed (line 391) | void blake3_hasher_init_keyed(blake3_hasher *self,
  function blake3_hasher_init_derive_key_raw (line 398) | void blake3_hasher_init_derive_key_raw(blake3_hasher *self, const void *...
  function blake3_hasher_init_derive_key (line 410) | void blake3_hasher_init_derive_key(blake3_hasher *self, const char *cont...
  function INLINE (line 424) | INLINE void hasher_merge_cv_stack(blake3_hasher *self, uint64_t total_le...
  function INLINE (line 467) | INLINE void hasher_push_cv(blake3_hasher *self, uint8_t new_cv[BLAKE3_OU...
  function INLINE (line 475) | INLINE void blake3_hasher_update_base(blake3_hasher *self, const void *i...
  function blake3_hasher_update (line 584) | void blake3_hasher_update(blake3_hasher *self, const void *input,
  function blake3_hasher_update_tbb (line 591) | void blake3_hasher_update_tbb(blake3_hasher *self, const void *input,
  function blake3_hasher_finalize (line 598) | void blake3_hasher_finalize(const blake3_hasher *self, uint8_t *out,
  function blake3_hasher_finalize_seek (line 603) | void blake3_hasher_finalize_seek(const blake3_hasher *self, uint64_t seek,
  function blake3_hasher_reset (line 647) | void blake3_hasher_reset(blake3_hasher *self) {

FILE: NanaZip.Codecs/BLAKE3/blake3.h
  type blake3_chunk_state (line 42) | typedef struct {
  type blake3_hasher (line 51) | typedef struct {

FILE: NanaZip.Codecs/BLAKE3/blake3_dispatch.c
  function xgetbv (line 50) | static uint64_t xgetbv(void) {
  function cpuid (line 60) | static void cpuid(uint32_t out[4], uint32_t id) {
  function cpuidex (line 76) | static void cpuidex(uint32_t out[4], uint32_t id, uint32_t sid) {
  type cpu_feature (line 93) | enum cpu_feature {
  function get_cpu_features (line 113) | enum cpu_feature
  function blake3_compress_in_place (line 168) | void blake3_compress_in_place(uint32_t cv[8],
  function blake3_compress_xof (line 197) | void blake3_compress_xof(const uint32_t cv[8],
  function blake3_xof_many (line 227) | void blake3_xof_many(const uint32_t cv[8],
  function blake3_hash_many (line 250) | void blake3_hash_many(const uint8_t *const *inputs, size_t num_inputs,
  function blake3_simd_degree (line 303) | size_t blake3_simd_degree(void) {

FILE: NanaZip.Codecs/BLAKE3/blake3_impl.h
  type blake3_flags (line 17) | enum blake3_flags {
  function highest_one (line 102) | static unsigned int highest_one(uint64_t x) {
  function popcnt (line 132) | INLINE unsigned int popcnt(uint64_t x) {
  function INLINE (line 147) | INLINE uint64_t round_down_to_power_of_2(uint64_t x) {
  function INLINE (line 151) | INLINE uint32_t counter_low(uint64_t counter) { return (uint32_t)counter; }
  function INLINE (line 153) | INLINE uint32_t counter_high(uint64_t counter) {
  function INLINE (line 157) | INLINE uint32_t load32(const void *src) {
  function INLINE (line 163) | INLINE void load_key_words(const uint8_t key[BLAKE3_KEY_LEN],
  function INLINE (line 175) | INLINE void load_block_words(const uint8_t block[BLAKE3_BLOCK_LEN],
  function INLINE (line 182) | INLINE void store32(void *dst, uint32_t w) {
  function INLINE (line 190) | INLINE void store_cv_words(uint8_t bytes_out[32], uint32_t cv_words[8]) {

FILE: NanaZip.Codecs/BLAKE3/blake3_neon.c
  function INLINE (line 11) | INLINE uint32x4_t loadu_128(const uint8_t src[16]) {
  function INLINE (line 16) | INLINE void storeu_128(uint32x4_t src, uint8_t dest[16]) {
  function INLINE (line 21) | INLINE uint32x4_t add_128(uint32x4_t a, uint32x4_t b) {
  function INLINE (line 25) | INLINE uint32x4_t xor_128(uint32x4_t a, uint32x4_t b) {
  function INLINE (line 29) | INLINE uint32x4_t set1_128(uint32_t x) { return vld1q_dup_u32(&x); }
  function INLINE (line 31) | INLINE uint32x4_t set4(uint32_t a, uint32_t b, uint32_t c, uint32_t d) {
  function INLINE (line 36) | INLINE uint32x4_t rot16_128(uint32x4_t x) {
  function INLINE (line 44) | INLINE uint32x4_t rot12_128(uint32x4_t x) {
  function INLINE (line 50) | INLINE uint32x4_t rot8_128(uint32x4_t x) {
  function INLINE (line 63) | INLINE uint32x4_t rot7_128(uint32x4_t x) {
  function INLINE (line 79) | INLINE void round_fn4(uint32x4_t v[16], uint32x4_t m[16], size_t r) {
  function INLINE (line 195) | INLINE void transpose_vecs_128(uint32x4_t vecs[4]) {
  function INLINE (line 211) | INLINE void transpose_msg_vecs4(const uint8_t *const *inputs,
  function INLINE (line 235) | INLINE void load_counters4(uint64_t counter, bool increment_counter,
  function blake3_hash4_neon (line 246) | static void blake3_hash4_neon(const uint8_t *const *inputs, size_t blocks,
  function INLINE (line 319) | INLINE void hash_one_neon(const uint8_t *input, size_t blocks,
  function blake3_hash_many_neon (line 342) | void blake3_hash_many_neon(const uint8_t *const *inputs, size_t num_inputs,

FILE: NanaZip.Codecs/BLAKE3/blake3_portable.c
  function INLINE (line 4) | INLINE uint32_t rotr32(uint32_t w, uint32_t c) {
  function INLINE (line 8) | INLINE void g(uint32_t *state, size_t a, size_t b, size_t c, size_t d,
  function INLINE (line 20) | INLINE void round_fn(uint32_t state[16], const uint32_t *msg, size_t rou...
  function INLINE (line 37) | INLINE void compress_pre(uint32_t state[16], const uint32_t cv[8],
  function blake3_compress_in_place_portable (line 84) | void blake3_compress_in_place_portable(uint32_t cv[8],
  function blake3_compress_xof_portable (line 100) | void blake3_compress_xof_portable(const uint32_t cv[8],
  function INLINE (line 125) | INLINE void hash_one_portable(const uint8_t *input, size_t blocks,
  function blake3_hash_many_portable (line 145) | void blake3_hash_many_portable(const uint8_t *const *inputs, size_t num_...

FILE: NanaZip.Codecs/Brotli/common/constants.h
  type BrotliDistanceCodeLimit (line 103) | typedef struct BrotliDistanceCodeLimit {
  function BROTLI_UNUSED_FUNCTION (line 125) | BROTLI_UNUSED_FUNCTION BrotliDistanceCodeLimit BrotliCalculateDistanceCo...
  type BrotliPrefixCodeRange (line 189) | typedef struct {

FILE: NanaZip.Codecs/Brotli/common/context.h
  type ContextType (line 93) | typedef enum ContextType {

FILE: NanaZip.Codecs/Brotli/common/dictionary.c
  function BrotliDictionary (line 48) | const BrotliDictionary* BrotliGetDictionary(void) {
  function BrotliSetDictionaryData (line 52) | void BrotliSetDictionaryData(const uint8_t* data) {

FILE: NanaZip.Codecs/Brotli/common/dictionary.h
  type BrotliDictionary (line 18) | typedef struct BrotliDictionary {

FILE: NanaZip.Codecs/Brotli/common/platform.c
  function BrotliDefaultFreeFunc (line 16) | void BrotliDefaultFreeFunc(void* opaque, void* address) {

FILE: NanaZip.Codecs/Brotli/common/platform.h
  type BrotliPackedValue (line 290) | typedef union BrotliPackedValue {
  function BROTLI_INLINE (line 297) | static BROTLI_INLINE uint16_t BrotliUnalignedRead16(const void* p) {
  function BROTLI_INLINE (line 301) | static BROTLI_INLINE uint32_t BrotliUnalignedRead32(const void* p) {
  function BROTLI_INLINE (line 305) | static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
  function BROTLI_INLINE (line 309) | static BROTLI_INLINE size_t BrotliUnalignedReadSizeT(const void* p) {
  function BROTLI_INLINE (line 313) | static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
  function BROTLI_INLINE (line 320) | static BROTLI_INLINE uint16_t BrotliUnalignedRead16(const void* p) {
  function BROTLI_INLINE (line 325) | static BROTLI_INLINE uint32_t BrotliUnalignedRead32(const void* p) {
  function BROTLI_INLINE (line 330) | static BROTLI_INLINE uint64_t BrotliUnalignedRead64(const void* p) {
  function BROTLI_INLINE (line 335) | static BROTLI_INLINE size_t BrotliUnalignedReadSizeT(const void* p) {
  function BROTLI_INLINE (line 340) | static BROTLI_INLINE void BrotliUnalignedWrite64(void* p, uint64_t v) {
  function BROTLI_INLINE (line 379) | static BROTLI_INLINE uint16_t BROTLI_UNALIGNED_LOAD16LE(const void* p) {
  function BROTLI_INLINE (line 383) | static BROTLI_INLINE uint32_t BROTLI_UNALIGNED_LOAD32LE(const void* p) {
  function BROTLI_INLINE (line 387) | static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64LE(const void* p) {
  function BROTLI_INLINE (line 391) | static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64LE(void* p, uint64_t v) {
  function BROTLI_INLINE (line 397) | static BROTLI_INLINE uint16_t BROTLI_UNALIGNED_LOAD16LE(const void* p) {
  function BROTLI_INLINE (line 401) | static BROTLI_INLINE uint32_t BROTLI_UNALIGNED_LOAD32LE(const void* p) {
  function BROTLI_INLINE (line 409) | static BROTLI_INLINE uint64_t BROTLI_UNALIGNED_LOAD64LE(const void* p) {
  function BROTLI_INLINE (line 421) | static BROTLI_INLINE void BROTLI_UNALIGNED_STORE64LE(void* p, uint64_t v) {
  function BROTLI_INLINE (line 434) | static BROTLI_INLINE void* BROTLI_UNALIGNED_LOAD_PTR(const void* p) {
  function BROTLI_INLINE (line 440) | static BROTLI_INLINE void BROTLI_UNALIGNED_STORE_PTR(void* p, const void...
  function BROTLI_INLINE (line 477) | static BROTLI_INLINE void BrotliDump(const char* f, int l, const char* f...
  function BROTLI_INLINE (line 493) | static BROTLI_INLINE brotli_reg_t BrotliRBit(brotli_reg_t input) {
  function BROTLI_INLINE (line 503) | static BROTLI_INLINE void BrotliRBit(void) { /* Should break build if us...
  function BROTLI_INLINE (line 535) | static BROTLI_INLINE uint32_t BrotliBsf64Msvc(uint64_t x) {
  function BROTLI_INLINE (line 549) | static BROTLI_INLINE uint32_t BrotliBsr32Msvc(uint32_t x) {
  function BROTLI_INLINE (line 564) | static BROTLI_INLINE uint16_t BrotliRotateRight16(uint16_t const value,
  function BROTLI_INLINE (line 569) | static BROTLI_INLINE uint32_t BrotliRotateRight32(uint32_t const value,
  function BROTLI_INLINE (line 574) | static BROTLI_INLINE uint64_t BrotliRotateRight64(uint64_t const value,
  function BROTLI_UNUSED_FUNCTION (line 580) | BROTLI_UNUSED_FUNCTION void BrotliSuppressUnusedFunctions(void) {

FILE: NanaZip.Codecs/Brotli/common/shared_dictionary.c
  function BROTLI_BOOL (line 28) | static BROTLI_BOOL ReadBool(const uint8_t* encoded, size_t size, size_t*...
  function BROTLI_BOOL (line 41) | static BROTLI_BOOL ReadUint8(const uint8_t* encoded, size_t size, size_t...
  function BROTLI_BOOL (line 51) | static BROTLI_BOOL ReadUint16(const uint8_t* encoded, size_t size, size_...
  function BROTLI_BOOL (line 63) | static BROTLI_BOOL ReadVarint32(const uint8_t* encoded, size_t size,
  function BrotliSizeBitsToOffsets (line 79) | static size_t BrotliSizeBitsToOffsets(const uint8_t* size_bits_by_length,
  function BROTLI_BOOL (line 92) | static BROTLI_BOOL ParseWordList(size_t size, const uint8_t* encoded,
  function ComputeCutoffTransforms (line 124) | static void ComputeCutoffTransforms(BrotliTransforms* transforms) {
  function BROTLI_BOOL (line 140) | static BROTLI_BOOL ParsePrefixSuffixTable(size_t size, const uint8_t* en...
  function BROTLI_BOOL (line 182) | static BROTLI_BOOL ParseTransformsList(size_t size, const uint8_t* encoded,
  function BROTLI_BOOL (line 236) | static BROTLI_BOOL DryParseDictionary(const uint8_t* encoded,
  function BROTLI_BOOL (line 272) | static BROTLI_BOOL ParseDictionary(const uint8_t* encoded, size_t size,
  function BROTLI_BOOL (line 418) | static BROTLI_BOOL DecodeSharedDictionary(
  function BrotliSharedDictionaryDestroyInstance (line 445) | void BrotliSharedDictionaryDestroyInstance(
  function BROTLI_BOOL (line 461) | BROTLI_BOOL BrotliSharedDictionaryAttach(
  function BrotliSharedDictionary (line 484) | BrotliSharedDictionary* BrotliSharedDictionaryCreateInstance(

FILE: NanaZip.Codecs/Brotli/common/shared_dictionary_internal.h
  type BrotliSharedDictionaryStruct (line 22) | struct BrotliSharedDictionaryStruct {
  type BrotliSharedDictionaryInternal (line 68) | typedef struct BrotliSharedDictionaryStruct BrotliSharedDictionaryInternal;

FILE: NanaZip.Codecs/Brotli/common/transform.c
  function BrotliTransforms (line 175) | const BrotliTransforms* BrotliGetTransforms(void) {
  function ToUpperCase (line 179) | static int ToUpperCase(uint8_t* p) {
  function Shift (line 196) | static int Shift(uint8_t* word, int word_len, uint16_t parameter) {
  function BrotliTransformDictionaryWord (line 238) | int BrotliTransformDictionaryWord(uint8_t* dst, const uint8_t* word, int...

FILE: NanaZip.Codecs/Brotli/common/transform.h
  type BrotliWordTransformType (line 17) | enum BrotliWordTransformType {
  type BrotliTransforms (line 46) | typedef struct BrotliTransforms {

FILE: NanaZip.Codecs/Brotli/dec/bit_reader.c
  function BrotliInitBitReader (line 29) | void BrotliInitBitReader(BrotliBitReader* const br) {
  function BROTLI_BOOL (line 34) | BROTLI_BOOL BrotliWarmupBitReader(BrotliBitReader* const br) {
  function BROTLI_BOOL (line 58) | BROTLI_BOOL BrotliSafeReadBits32Slow(BrotliBitReader* const br,

FILE: NanaZip.Codecs/Brotli/dec/bit_reader.h
  function BROTLI_INLINE (line 26) | static BROTLI_INLINE brotli_reg_t BitMask(brotli_reg_t n) {
  type BrotliBitReader (line 36) | typedef struct {
  type BrotliBitReaderState (line 44) | typedef struct {
  function BROTLI_INLINE (line 67) | static BROTLI_INLINE size_t
  function BROTLI_INLINE (line 72) | static BROTLI_INLINE void BrotliBitReaderSaveState(
  function BROTLI_INLINE (line 80) | static BROTLI_INLINE void BrotliBitReaderSetInput(
  function BROTLI_INLINE (line 91) | static BROTLI_INLINE void BrotliBitReaderRestoreState(
  function BROTLI_INLINE (line 99) | static BROTLI_INLINE brotli_reg_t BrotliGetAvailableBits(
  function BROTLI_INLINE (line 107) | static BROTLI_INLINE size_t BrotliGetRemainingBytes(BrotliBitReader* br) {
  function BROTLI_INLINE (line 116) | static BROTLI_INLINE BROTLI_BOOL BrotliCheckInputAmount(
  function BROTLI_INLINE (line 122) | static BROTLI_INLINE brotli_reg_t BrotliBitReaderLoadBits(brotli_reg_t val,
  function BROTLI_INLINE (line 136) | static BROTLI_INLINE void BrotliFillBitWindow(
  function BROTLI_INLINE (line 190) | static BROTLI_INLINE void BrotliFillBitWindow16(BrotliBitReader* const b...
  function BROTLI_INLINE (line 196) | static BROTLI_INLINE BROTLI_BOOL BrotliPullByte(BrotliBitReader* const b...
  function BROTLI_INLINE (line 209) | static BROTLI_INLINE brotli_reg_t BrotliGetBitsUnmasked(
  function BROTLI_INLINE (line 216) | static BROTLI_INLINE brotli_reg_t BrotliGet16BitsUnmasked(
  function BROTLI_INLINE (line 224) | static BROTLI_INLINE brotli_reg_t BrotliGetBits(
  function BROTLI_INLINE (line 232) | static BROTLI_INLINE BROTLI_BOOL BrotliSafeGetBits(
  function BROTLI_INLINE (line 244) | static BROTLI_INLINE void BrotliDropBits(
  function BROTLI_INLINE (line 253) | static BROTLI_INLINE void BrotliBitReaderNormalize(BrotliBitReader* br) {
  function BROTLI_INLINE (line 260) | static BROTLI_INLINE void BrotliBitReaderUnload(BrotliBitReader* br) {
  function BROTLI_INLINE (line 271) | static BROTLI_INLINE void BrotliTakeBits(BrotliBitReader* const br,
  function BROTLI_INLINE (line 284) | static BROTLI_INLINE brotli_reg_t BrotliReadBits24(
  function BROTLI_INLINE (line 304) | static BROTLI_INLINE brotli_reg_t BrotliReadBits32(
  function BROTLI_INLINE (line 326) | static BROTLI_INLINE BROTLI_BOOL BrotliSafeReadBits(
  function BROTLI_INLINE (line 339) | static BROTLI_INLINE BROTLI_BOOL BrotliSafeReadBits32(
  function BROTLI_INLINE (line 357) | static BROTLI_INLINE BROTLI_BOOL BrotliJumpToByteBoundary(BrotliBitReade...
  function BROTLI_INLINE (line 367) | static BROTLI_INLINE void BrotliDropBytes(BrotliBitReader* br, size_t nu...
  function BROTLI_INLINE (line 377) | static BROTLI_INLINE void BrotliCopyBytes(uint8_t* dest,
  function BROTLI_UNUSED_FUNCTION (line 392) | BROTLI_UNUSED_FUNCTION void BrotliBitReaderSuppressUnusedFunctions(void) {

FILE: NanaZip.Codecs/Brotli/dec/dec_static_init.c
  function BROTLI_BOOL (line 22) | static BROTLI_BOOL DoBrotliDecoderStaticInit(void) {
  function BrotliDecoderStaticInitEarly (line 31) | static __attribute__((constructor)) void BrotliDecoderStaticInitEarly(vo...
  function BrotliDecoderLazyStaticInitInner (line 36) | void BrotliDecoderLazyStaticInitInner(void) {
  function BROTLI_BOOL (line 41) | BROTLI_BOOL BrotliDecoderEnsureStaticInit(void) {

FILE: NanaZip.Codecs/Brotli/dec/decode.c
  function BROTLI_BOOL (line 63) | BROTLI_BOOL BrotliDecoderSetParameter(
  function BrotliDecoderState (line 79) | BrotliDecoderState* BrotliDecoderCreateInstance(
  function BrotliDecoderDestroyInstance (line 108) | void BrotliDecoderDestroyInstance(BrotliDecoderState* state) {
  function BROTLI_NOINLINE (line 120) | static BROTLI_NOINLINE BrotliDecoderResult SaveErrorCode(
  function BrotliDecoderErrorCode (line 145) | static BrotliDecoderErrorCode DecodeWindowBits(BrotliDecoderState* s,
  function BROTLI_INLINE (line 181) | static BROTLI_INLINE void memmove16(uint8_t* dst, uint8_t* src) {
  function BROTLI_NOINLINE (line 192) | static BROTLI_NOINLINE BrotliDecoderErrorCode DecodeVarLenUint8(
  function BrotliDecoderErrorCode (line 236) | static BrotliDecoderErrorCode BROTLI_NOINLINE DecodeMetaBlockLength(
  function BROTLI_INLINE (line 361) | static BROTLI_INLINE brotli_reg_t DecodeSymbol(brotli_reg_t bits,
  function BROTLI_INLINE (line 379) | static BROTLI_INLINE brotli_reg_t ReadSymbol(const HuffmanCode* table,
  function BROTLI_NOINLINE (line 386) | static BROTLI_NOINLINE BROTLI_BOOL SafeDecodeSymbol(
  function BROTLI_INLINE (line 426) | static BROTLI_INLINE BROTLI_BOOL SafeReadSymbol(
  function BROTLI_INLINE (line 437) | static BROTLI_INLINE void PreloadSymbol(int safe,
  function BROTLI_INLINE (line 453) | static BROTLI_INLINE brotli_reg_t ReadPreloadedSymbol(const HuffmanCode*...
  function BROTLI_INLINE (line 477) | static BROTLI_INLINE int BrotliCopyPreloadedSymbolsToU8(const HuffmanCod...
  function BROTLI_INLINE (line 521) | static BROTLI_INLINE brotli_reg_t Log2Floor(brotli_reg_t x) {
  function BrotliDecoderErrorCode (line 533) | static BrotliDecoderErrorCode ReadSimpleHuffmanSymbols(
  function BROTLI_INLINE (line 576) | static BROTLI_INLINE void ProcessSingleCodeLength(brotli_reg_t code_len,
  function BROTLI_INLINE (line 603) | static BROTLI_INLINE void ProcessRepeatedCodeLength(brotli_reg_t code_len,
  function BrotliDecoderErrorCode (line 651) | static BrotliDecoderErrorCode ReadSymbolCodeLengths(
  function BrotliDecoderErrorCode (line 701) | static BrotliDecoderErrorCode SafeReadSymbolCodeLengths(
  function BrotliDecoderErrorCode (line 750) | static BrotliDecoderErrorCode ReadCodeLengthCodeLengths(BrotliDecoderSta...
  function BrotliDecoderErrorCode (line 806) | static BrotliDecoderErrorCode ReadHuffmanCode(brotli_reg_t alphabet_size...
  function BROTLI_INLINE (line 932) | static BROTLI_INLINE brotli_reg_t ReadBlockLength(const HuffmanCode* table,
  function BROTLI_INLINE (line 943) | static BROTLI_INLINE BROTLI_BOOL SafeReadBlockLength(
  function BROTLI_NOINLINE (line 983) | static BROTLI_NOINLINE void InverseMoveToFrontTransform(
  function BrotliDecoderErrorCode (line 1021) | static BrotliDecoderErrorCode HuffmanTreeGroupDecode(
  function BrotliDecoderErrorCode (line 1050) | static BrotliDecoderErrorCode DecodeContextMap(brotli_reg_t context_map_...
  function BROTLI_INLINE (line 1179) | static BROTLI_INLINE BROTLI_BOOL DecodeBlockTypeAndLength(
  function BROTLI_INLINE (line 1223) | static BROTLI_INLINE void DetectTrivialLiteralBlockTypes(
  function BROTLI_INLINE (line 1242) | static BROTLI_INLINE void PrepareLiteralDecoding(BrotliDecoderState* s) {
  function BROTLI_INLINE (line 1257) | static BROTLI_INLINE BROTLI_BOOL DecodeLiteralBlockSwitchInternal(
  function DecodeLiteralBlockSwitch (line 1266) | static void BROTLI_NOINLINE DecodeLiteralBlockSwitch(BrotliDecoderState*...
  function BROTLI_BOOL (line 1270) | static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeLiteralBlockSwitch(
  function BROTLI_INLINE (line 1277) | static BROTLI_INLINE BROTLI_BOOL DecodeCommandBlockSwitchInternal(
  function DecodeCommandBlockSwitch (line 1286) | static void BROTLI_NOINLINE DecodeCommandBlockSwitch(BrotliDecoderState*...
  function BROTLI_BOOL (line 1290) | static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeCommandBlockSwitch(
  function BROTLI_INLINE (line 1297) | static BROTLI_INLINE BROTLI_BOOL DecodeDistanceBlockSwitchInternal(
  function DecodeDistanceBlockSwitch (line 1308) | static void BROTLI_NOINLINE DecodeDistanceBlockSwitch(BrotliDecoderState...
  function BROTLI_BOOL (line 1312) | static BROTLI_BOOL BROTLI_NOINLINE SafeDecodeDistanceBlockSwitch(
  function UnwrittenBytes (line 1317) | static size_t UnwrittenBytes(const BrotliDecoderState* s, BROTLI_BOOL wr...
  function BrotliDecoderErrorCode (line 1327) | static BrotliDecoderErrorCode BROTLI_NOINLINE WriteRingBuffer(
  function WrapRingBuffer (line 1372) | static void BROTLI_NOINLINE WrapRingBuffer(BrotliDecoderState* s) {
  function BROTLI_BOOL (line 1386) | static BROTLI_BOOL BROTLI_NOINLINE BrotliEnsureRingBuffer(
  function BrotliDecoderErrorCode (line 1415) | static BrotliDecoderErrorCode BROTLI_NOINLINE
  function BrotliDecoderErrorCode (line 1467) | static BrotliDecoderErrorCode BROTLI_NOINLINE CopyUncompressedBlockToOut...
  function BROTLI_BOOL (line 1518) | static BROTLI_BOOL AttachCompoundDictionary(
  function EnsureCompoundDictionaryInitialized (line 1542) | static void EnsureCompoundDictionaryInitialized(BrotliDecoderState* stat...
  function BROTLI_BOOL (line 1559) | static BROTLI_BOOL InitializeCompoundDictionaryCopy(BrotliDecoderState* s,
  function GetCompoundDictionarySize (line 1578) | static int GetCompoundDictionarySize(BrotliDecoderState* s) {
  function CopyFromCompoundDictionary (line 1582) | static int CopyFromCompoundDictionary(BrotliDecoderState* s, int pos) {
  function BROTLI_BOOL (line 1608) | BROTLI_BOOL BrotliDecoderAttachDictionary(
  function BrotliCalculateRingBufferSize (line 1633) | static void BROTLI_NOINLINE BrotliCalculateRingBufferSize(
  function BrotliDecoderErrorCode (line 1673) | static BrotliDecoderErrorCode ReadContextModes(BrotliDecoderState* s) {
  function BROTLI_INLINE (line 1690) | static BROTLI_INLINE void TakeDistanceFromRingBuffer(BrotliDecoderState*...
  function BROTLI_INLINE (line 1717) | static BROTLI_INLINE BROTLI_BOOL SafeReadBits(
  function BROTLI_INLINE (line 1727) | static BROTLI_INLINE BROTLI_BOOL SafeReadBits32(
  function CalculateDistanceLut (line 1804) | static void CalculateDistanceLut(BrotliDecoderState* s) {
  function BROTLI_INLINE (line 1839) | static BROTLI_INLINE BROTLI_BOOL ReadDistanceInternal(
  function BROTLI_INLINE (line 1877) | static BROTLI_INLINE void ReadDistance(
  function BROTLI_INLINE (line 1882) | static BROTLI_INLINE BROTLI_BOOL SafeReadDistance(
  function BROTLI_INLINE (line 1887) | static BROTLI_INLINE BROTLI_BOOL ReadCommandInternal(
  function BROTLI_INLINE (line 1925) | static BROTLI_INLINE void ReadCommand(
  function BROTLI_INLINE (line 1930) | static BROTLI_INLINE BROTLI_BOOL SafeReadCommand(
  function BROTLI_INLINE (line 1935) | static BROTLI_INLINE BROTLI_BOOL CheckInputAmount(
  function BROTLI_INLINE (line 1955) | static BROTLI_INLINE BrotliDecoderErrorCode ProcessCommandsInternal(
  function BROTLI_NOINLINE (line 2344) | static BROTLI_NOINLINE BrotliDecoderErrorCode ProcessCommands(
  function BROTLI_NOINLINE (line 2349) | static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands(
  function BrotliDecoderResult (line 2354) | BrotliDecoderResult BrotliDecoderDecompress(
  function BrotliDecoderResult (line 2390) | BrotliDecoderResult BrotliDecoderDecompressStream(
  function BROTLI_BOOL (line 2873) | BROTLI_BOOL BrotliDecoderHasMoreOutput(const BrotliDecoderState* s) {
  function BROTLI_BOOL (line 2907) | BROTLI_BOOL BrotliDecoderIsUsed(const BrotliDecoderState* s) {
  function BROTLI_BOOL (line 2912) | BROTLI_BOOL BrotliDecoderIsFinished(const BrotliDecoderState* s) {
  function BrotliDecoderErrorCode (line 2917) | BrotliDecoderErrorCode BrotliDecoderGetErrorCode(const BrotliDecoderStat...
  function BrotliDecoderVersion (line 2933) | uint32_t BrotliDecoderVersion(void) {
  function BrotliDecoderSetMetadataCallbacks (line 2937) | void BrotliDecoderSetMetadataCallbacks(
  function BROTLI_BOOL (line 2950) | BROTLI_BOOL BrotliSafeReadSymbolForTest(
  function BrotliInverseMoveToFrontTransformForTest (line 2956) | void BrotliInverseMoveToFrontTransformForTest(

FILE: NanaZip.Codecs/Brotli/dec/huffman.c
  function BROTLI_INLINE (line 68) | static BROTLI_INLINE brotli_reg_t BrotliReverseBits(brotli_reg_t num) {
  function BROTLI_INLINE (line 78) | static BROTLI_INLINE void ReplicateValue(HuffmanCode* table,
  function BROTLI_INLINE (line 90) | static BROTLI_INLINE int NextTableBitSize(const uint16_t* const count,
  function BrotliBuildCodeLengthsHuffmanTable (line 102) | void BrotliBuildCodeLengthsHuffmanTable(HuffmanCode* table,
  function BrotliBuildHuffmanTable (line 169) | uint32_t BrotliBuildHuffmanTable(HuffmanCode* root_table,
  function BrotliBuildSimpleHuffmanTable (line 261) | uint32_t BrotliBuildSimpleHuffmanTable(HuffmanCode* table,

FILE: NanaZip.Codecs/Brotli/dec/huffman.h
  type HuffmanCode (line 37) | typedef struct {
  function BROTLI_INLINE (line 42) | static BROTLI_INLINE HuffmanCode ConstructHuffmanCode(const uint8_t bits,
  type HuffmanCode (line 74) | typedef BROTLI_ALIGNED(4) uint32_t HuffmanCode;
  function BROTLI_INLINE (line 76) | static BROTLI_INLINE HuffmanCode ConstructHuffmanCode(const uint8_t bits,
  type HuffmanTreeGroup (line 108) | typedef struct {

FILE: NanaZip.Codecs/Brotli/dec/prefix.c
  function BROTLI_COLD (line 24) | BROTLI_COLD BROTLI_BOOL BrotliDecoderInitCmdLut(CmdLutElement* items) {

FILE: NanaZip.Codecs/Brotli/dec/prefix.h
  type CmdLutElement (line 21) | typedef struct CmdLutElement {

FILE: NanaZip.Codecs/Brotli/dec/state.c
  function BROTLI_BOOL (line 32) | BROTLI_BOOL BrotliDecoderStateInit(BrotliDecoderState* s,
  function BrotliDecoderStateMetablockBegin (line 112) | void BrotliDecoderStateMetablockBegin(BrotliDecoderState* s) {
  function BrotliDecoderStateCleanupAfterMetablock (line 142) | void BrotliDecoderStateCleanupAfterMetablock(BrotliDecoderState* s) {
  function BrotliDecoderStateCleanup (line 151) | void BrotliDecoderStateCleanup(BrotliDecoderState* s) {
  function BROTLI_BOOL (line 163) | BROTLI_BOOL BrotliDecoderHuffmanTreeGroupInit(BrotliDecoderState* s,

FILE: NanaZip.Codecs/Brotli/dec/state.h
  type BrotliRunningState (line 112) | typedef enum {
  type BrotliRunningMetablockHeaderState (line 142) | typedef enum {
  type BrotliRunningUncompressedState (line 153) | typedef enum {
  type BrotliRunningTreeGroupState (line 158) | typedef enum {
  type BrotliRunningContextMapState (line 163) | typedef enum {
  type BrotliRunningHuffmanState (line 171) | typedef enum {
  type BrotliRunningDecodeUint8State (line 180) | typedef enum {
  type BrotliRunningReadBlockLengthState (line 186) | typedef enum {
  type BrotliDecoderCompoundDictionary (line 192) | typedef struct BrotliDecoderCompoundDictionary {
  type BrotliMetablockHeaderArena (line 205) | typedef struct BrotliMetablockHeaderArena {
  type BrotliMetablockBodyArena (line 245) | typedef struct BrotliMetablockBodyArena {
  type BrotliDecoderStateStruct (line 250) | struct BrotliDecoderStateStruct {
  type BrotliDecoderStateInternal (line 367) | typedef struct BrotliDecoderStateStruct BrotliDecoderStateInternal;

FILE: NanaZip.Codecs/Brotli/enc/backward_references.c
  function BROTLI_INLINE (line 25) | static BROTLI_INLINE size_t ComputeDistanceCode(size_t distance,
  function BrotliCreateBackwardReferences (line 181) | void BrotliCreateBackwardReferences(size_t num_bytes,

FILE: NanaZip.Codecs/Brotli/enc/backward_references_hq.c
  function BrotliInitZopfliNodes (line 42) | void BrotliInitZopfliNodes(ZopfliNode* array, size_t length) {
  function BROTLI_INLINE (line 52) | static BROTLI_INLINE uint32_t ZopfliNodeCopyLength(const ZopfliNode* sel...
  function BROTLI_INLINE (line 56) | static BROTLI_INLINE uint32_t ZopfliNodeLengthCode(const ZopfliNode* sel...
  function BROTLI_INLINE (line 61) | static BROTLI_INLINE uint32_t ZopfliNodeCopyDistance(const ZopfliNode* s...
  function BROTLI_INLINE (line 65) | static BROTLI_INLINE uint32_t ZopfliNodeDistanceCode(const ZopfliNode* s...
  function BROTLI_INLINE (line 72) | static BROTLI_INLINE uint32_t ZopfliNodeCommandLength(const ZopfliNode* ...
  type ZopfliCostModelArena (line 77) | typedef struct ZopfliCostModelArena {
  type ZopfliCostModel (line 85) | typedef struct ZopfliCostModel {
  function InitZopfliCostModel (line 102) | static void InitZopfliCostModel(
  function CleanupZopfliCostModel (line 112) | static void CleanupZopfliCostModel(MemoryManager* m, ZopfliCostModel* se...
  function SetCost (line 117) | static void SetCost(const uint32_t* histogram, size_t histogram_size,
  function ZopfliCostModelSetFromCommands (line 149) | static void ZopfliCostModelSetFromCommands(ZopfliCostModel* self,
  function ZopfliCostModelSetFromLiteralCosts (line 209) | static void ZopfliCostModelSetFromLiteralCosts(ZopfliCostModel* self,
  function BROTLI_INLINE (line 237) | static BROTLI_INLINE float ZopfliCostModelGetCommandCost(
  function BROTLI_INLINE (line 242) | static BROTLI_INLINE float ZopfliCostModelGetDistanceCost(
  function BROTLI_INLINE (line 247) | static BROTLI_INLINE float ZopfliCostModelGetLiteralCosts(
  function BROTLI_INLINE (line 252) | static BROTLI_INLINE float ZopfliCostModelGetMinCostCmd(
  function BROTLI_INLINE (line 260) | static BROTLI_INLINE void UpdateZopfliNode(ZopfliNode* nodes, size_t pos,
  type PosData (line 271) | typedef struct PosData {
  type StartPosQueue (line 279) | typedef struct StartPosQueue {
  function BROTLI_INLINE (line 284) | static BROTLI_INLINE void InitStartPosQueue(StartPosQueue* self) {
  function StartPosQueueSize (line 288) | static size_t StartPosQueueSize(const StartPosQueue* self) {
  function StartPosQueuePush (line 292) | static void StartPosQueuePush(StartPosQueue* self, const PosData* posdat...
  function PosData (line 308) | static const PosData* StartPosQueueAt(const StartPosQueue* self, size_t ...
  function ComputeMinimumCopyLength (line 314) | static size_t ComputeMinimumCopyLength(const float start_cost,
  function ComputeDistanceShortcut (line 341) | static uint32_t ComputeDistanceShortcut(const size_t block_start,
  function ComputeDistanceCache (line 372) | static void ComputeDistanceCache(const size_t pos,
  function EvaluateNode (line 393) | static void EvaluateNode(
  function UpdateNodes (line 414) | static size_t UpdateNodes(
  function ComputeShortestPathFromNodes (line 587) | static size_t ComputeShortestPathFromNodes(size_t num_bytes,
  function BrotliZopfliCreateCommands (line 604) | void BrotliZopfliCreateCommands(const size_t num_bytes,
  function ZopfliIterate (line 649) | static size_t ZopfliIterate(size_t num_bytes, size_t position,
  function MergeMatches (line 689) | static void MergeMatches(BackwardMatch* dst,
  function BrotliZopfliComputeShortestPath (line 707) | size_t BrotliZopfliComputeShortestPath(MemoryManager* m, size_t num_bytes,
  function BrotliCreateZopfliBackwardReferences (line 797) | void BrotliCreateZopfliBackwardReferences(MemoryManager* m, size_t num_b...
  function BrotliCreateHqZopfliBackwardReferences (line 814) | void BrotliCreateHqZopfliBackwardReferences(MemoryManager* m, size_t num...

FILE: NanaZip.Codecs/Brotli/enc/backward_references_hq.h
  type ZopfliNode (line 37) | typedef struct ZopfliNode {

FILE: NanaZip.Codecs/Brotli/enc/backward_references_inc.h
  function BROTLI_NOINLINE (line 10) | static BROTLI_NOINLINE void EXPORT_FN(CreateBackwardReferences)(

FILE: NanaZip.Codecs/Brotli/enc/bit_cost.c
  function BrotliBitsEntropy (line 18) | double BrotliBitsEntropy(const uint32_t* population, size_t size) {

FILE: NanaZip.Codecs/Brotli/enc/block_splitter.c
  function CountLiterals (line 39) | static size_t CountLiterals(const Command* cmds, const size_t num_comman...
  function CopyLiteralsToByteArray (line 49) | static void CopyLiteralsToByteArray(const Command* cmds,
  function BROTLI_INLINE (line 75) | static BROTLI_INLINE uint32_t MyRand(uint32_t* seed) {
  function BROTLI_INLINE (line 81) | static BROTLI_INLINE double BitCost(size_t count) {
  function BrotliInitBlockSplit (line 107) | void BrotliInitBlockSplit(BlockSplit* self) {
  function BrotliDestroyBlockSplit (line 116) | void BrotliDestroyBlockSplit(MemoryManager* m, BlockSplit* self) {
  function BrotliSplitBlock (line 123) | void BrotliSplitBlock(MemoryManager* m,
  function BrotliCountLiteralsForTest (line 200) | size_t BrotliCountLiteralsForTest(const Command* cmds, size_t num_comman...
  function BrotliCopyLiteralsToByteArrayForTest (line 205) | void BrotliCopyLiteralsToByteArrayForTest(const Command* cmds,

FILE: NanaZip.Codecs/Brotli/enc/block_splitter.h
  type BlockSplit (line 20) | typedef struct BlockSplit {

FILE: NanaZip.Codecs/Brotli/enc/brotli_bit_stream.c
  function BROTLI_INLINE (line 34) | static BROTLI_INLINE uint32_t BlockLengthPrefixCode(uint32_t len) {
  function BROTLI_INLINE (line 41) | static BROTLI_INLINE void GetBlockLengthPrefixCode(uint32_t len, size_t*...
  type BlockTypeCodeCalculator (line 48) | typedef struct BlockTypeCodeCalculator {
  function InitBlockTypeCodeCalculator (line 53) | static void InitBlockTypeCodeCalculator(BlockTypeCodeCalculator* self) {
  function BROTLI_INLINE (line 58) | static BROTLI_INLINE size_t NextBlockTypeCode(
  function BrotliEncodeMlen (line 70) | static void BrotliEncodeMlen(size_t length, uint64_t* bits,
  function BROTLI_INLINE (line 82) | static BROTLI_INLINE void StoreCommandExtra(
  type BlockSplitCode (line 97) | typedef struct BlockSplitCode {
  function StoreVarLenUint8 (line 106) | static void StoreVarLenUint8(size_t n, size_t* storage_ix, uint8_t* stor...
  function StoreCompressedMetaBlockHeader (line 120) | static void StoreCompressedMetaBlockHeader(BROTLI_BOOL is_final_block,
  function BrotliStoreUncompressedMetaBlockHeader (line 148) | static void BrotliStoreUncompressedMetaBlockHeader(size_t length,
  function BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask (line 165) | static void BrotliStoreHuffmanTreeOfHuffmanTreeToBitMask(
  function BrotliStoreHuffmanTreeToBitMask (line 220) | static void BrotliStoreHuffmanTreeToBitMask(
  function StoreSimpleHuffmanTree (line 242) | static void StoreSimpleHuffmanTree(const uint8_t* depths,
  function BrotliStoreHuffmanTree (line 283) | void BrotliStoreHuffmanTree(const uint8_t* depths, size_t num,
  function BuildAndStoreHuffmanTree (line 349) | static void BuildAndStoreHuffmanTree(const uint32_t* histogram,
  function BROTLI_INLINE (line 399) | static BROTLI_INLINE BROTLI_BOOL SortHuffmanTree(
  function BrotliBuildAndStoreHuffmanTreeFast (line 404) | void BrotliBuildAndStoreHuffmanTreeFast(HuffmanTree* tree,
  function IndexOf (line 575) | static size_t IndexOf(const uint8_t* v, size_t v_size, uint8_t value) {
  function MoveToFront (line 583) | static void MoveToFront(uint8_t* v, size_t index) {
  function MoveToFrontTransform (line 592) | static void MoveToFrontTransform(const uint32_t* BROTLI_RESTRICT v_in,
  function RunLengthCodeZeros (line 626) | static void RunLengthCodeZeros(const size_t in_size,
  type EncodeContextMapArena (line 677) | typedef struct EncodeContextMapArena {
  function EncodeContextMap (line 683) | static void EncodeContextMap(MemoryManager* m,
  function BROTLI_INLINE (line 737) | static BROTLI_INLINE void StoreBlockSwitch(BlockSplitCode* code,
  function BuildAndStoreBlockSplitCode (line 760) | static void BuildAndStoreBlockSplitCode(const uint8_t* types,
  function StoreTrivialContextMap (line 794) | static void StoreTrivialContextMap(EncodeContextMapArena* arena,
  type BlockEncoder (line 833) | typedef struct BlockEncoder {
  function InitBlockEncoder (line 847) | static void InitBlockEncoder(BlockEncoder* self, size_t histogram_length,
  function CleanupBlockEncoder (line 863) | static void CleanupBlockEncoder(MemoryManager* m, BlockEncoder* self) {
  function BuildAndStoreBlockSwitchEntropyCodes (line 870) | static void BuildAndStoreBlockSwitchEntropyCodes(BlockEncoder* self,
  function StoreSymbol (line 879) | static void StoreSymbol(BlockEncoder* self, size_t symbol, size_t* stora...
  function StoreSymbolWithContext (line 900) | static void StoreSymbolWithContext(BlockEncoder* self, size_t symbol,
  function JumpToByteBoundary (line 935) | static void JumpToByteBoundary(size_t* storage_ix, uint8_t* storage) {
  type StoreMetablockArena (line 940) | typedef struct StoreMetablockArena {
  function BrotliStoreMetaBlock (line 947) | void BrotliStoreMetaBlock(MemoryManager* m,
  function BuildHistograms (line 1088) | static void BuildHistograms(const uint8_t* input,
  function StoreDataWithHuffmanCodes (line 1113) | static void StoreDataWithHuffmanCodes(const uint8_t* input,
  type MetablockArena (line 1154) | typedef struct MetablockArena {
  function BrotliStoreMetaBlockTrivial (line 1168) | void BrotliStoreMetaBlockTrivial(MemoryManager* m,
  function BrotliStoreMetaBlockFast (line 1212) | void BrotliStoreMetaBlockFast(MemoryManager* m,
  function BrotliStoreUncompressedMetaBlock (line 1293) | void BrotliStoreUncompressedMetaBlock(BROTLI_BOOL is_final_block,
  function BrotliGetBlockLengthPrefixCodeForTest (line 1329) | void BrotliGetBlockLengthPrefixCodeForTest(uint32_t len, size_t* code,

FILE: NanaZip.Codecs/Brotli/enc/cluster.c
  function BROTLI_INLINE (line 21) | static BROTLI_INLINE BROTLI_BOOL HistogramPairIsLess(
  function BROTLI_INLINE (line 30) | static BROTLI_INLINE double ClusterCostDiff(size_t size_a, size_t size_b) {

FILE: NanaZip.Codecs/Brotli/enc/cluster.h
  type HistogramPair (line 20) | typedef struct HistogramPair {

FILE: NanaZip.Codecs/Brotli/enc/cluster_inc.h
  function BROTLI_INTERNAL (line 14) | BROTLI_INTERNAL void FN(BrotliCompareAndPushToQueue)(
  function BROTLI_INTERNAL (line 70) | BROTLI_INTERNAL size_t FN(BrotliHistogramCombine)(HistogramType* out,
  function BROTLI_INTERNAL (line 158) | BROTLI_INTERNAL double FN(BrotliHistogramBitCostDistance)(
  function BROTLI_INTERNAL (line 174) | BROTLI_INTERNAL void FN(BrotliHistogramRemap)(const HistogramType* in,
  function BROTLI_INTERNAL (line 213) | BROTLI_INTERNAL size_t FN(BrotliHistogramReindex)(MemoryManager* m,
  function BROTLI_INTERNAL (line 251) | BROTLI_INTERNAL void FN(BrotliClusterHistograms)(

FILE: NanaZip.Codecs/Brotli/enc/command.h
  function BROTLI_INLINE (line 31) | static BROTLI_INLINE uint16_t GetInsertLengthCode(size_t insertlen) {
  function BROTLI_INLINE (line 48) | static BROTLI_INLINE uint16_t GetCopyLengthCode(size_t copylen) {
  function BROTLI_INLINE (line 61) | static BROTLI_INLINE uint16_t CombineLengthCodes(
  function BROTLI_INLINE (line 82) | static BROTLI_INLINE void GetLengthCode(size_t insertlen, size_t copylen,
  function BROTLI_INLINE (line 90) | static BROTLI_INLINE uint32_t GetInsertBase(uint16_t inscode) {
  function BROTLI_INLINE (line 94) | static BROTLI_INLINE uint32_t GetInsertExtra(uint16_t inscode) {
  function BROTLI_INLINE (line 98) | static BROTLI_INLINE uint32_t GetCopyBase(uint16_t copycode) {
  function BROTLI_INLINE (line 102) | static BROTLI_INLINE uint32_t GetCopyExtra(uint16_t copycode) {
  type Command (line 106) | typedef struct Command {
  function BROTLI_INLINE (line 119) | static BROTLI_INLINE void InitCommand(Command* self,
  function BROTLI_INLINE (line 137) | static BROTLI_INLINE void InitInsertCommand(Command* self, size_t insert...
  function BROTLI_INLINE (line 145) | static BROTLI_INLINE uint32_t CommandRestoreDistanceCode(
  function BROTLI_INLINE (line 166) | static BROTLI_INLINE uint32_t CommandDistanceContext(const Command* self) {
  function BROTLI_INLINE (line 175) | static BROTLI_INLINE uint32_t CommandCopyLen(const Command* self) {
  function BROTLI_INLINE (line 179) | static BROTLI_INLINE uint32_t CommandCopyLenCode(const Command* self) {

FILE: NanaZip.Codecs/Brotli/enc/compound_dictionary.c
  function PreparedDictionary (line 13) | static PreparedDictionary* CreatePreparedDictionaryWithParams(MemoryMana...
  function PreparedDictionary (line 151) | PreparedDictionary* CreatePreparedDictionary(MemoryManager* m,
  function DestroyPreparedDictionary (line 168) | void DestroyPreparedDictionary(MemoryManager* m,
  function BROTLI_BOOL (line 174) | BROTLI_BOOL AttachPreparedDictionary(

FILE: NanaZip.Codecs/Brotli/enc/compound_dictionary.h
  type PreparedDictionary (line 30) | typedef struct PreparedDictionary {
  type CompoundDictionary (line 54) | typedef struct CompoundDictionary {

FILE: NanaZip.Codecs/Brotli/enc/compress_fragment.c
  function BROTLI_INLINE (line 32) | static BROTLI_INLINE uint32_t Hash(const uint8_t* p, size_t shift) {
  function BROTLI_INLINE (line 37) | static BROTLI_INLINE uint32_t HashBytesAtOffset(
  function BROTLI_INLINE (line 47) | static BROTLI_INLINE BROTLI_BOOL IsMatch(const uint8_t* p1, const uint8_...
  function BuildAndStoreLiteralPrefixCode (line 61) | static size_t BuildAndStoreLiteralPrefixCode(BrotliOnePassArena* s,
  function BuildAndStoreCommandPrefixCode (line 117) | static void BuildAndStoreCommandPrefixCode(BrotliOnePassArena* s,
  function BROTLI_INLINE (line 170) | static BROTLI_INLINE void EmitInsertLen(size_t insertlen,
  function BROTLI_INLINE (line 202) | static BROTLI_INLINE void EmitLongInsertLen(size_t insertlen,
  function BROTLI_INLINE (line 219) | static BROTLI_INLINE void EmitCopyLen(size_t copylen,
  function BROTLI_INLINE (line 251) | static BROTLI_INLINE void EmitCopyLenLastDistance(size_t copylen,
  function BROTLI_INLINE (line 294) | static BROTLI_INLINE void EmitDistance(size_t distance,
  function BROTLI_INLINE (line 309) | static BROTLI_INLINE void EmitLiterals(const uint8_t* input, const size_...
  function BrotliStoreMetaBlockHeader (line 321) | static void BrotliStoreMetaBlockHeader(
  function UpdateBits (line 338) | static void UpdateBits(size_t n_bits, uint32_t bits, size_t pos,
  function RewindBitPosition (line 357) | static void RewindBitPosition(const size_t new_storage_ix,
  function BROTLI_BOOL (line 365) | static BROTLI_BOOL ShouldMergeBlock(BrotliOnePassArena* s,
  function BROTLI_INLINE (line 387) | static BROTLI_INLINE BROTLI_BOOL ShouldUseUncompressedMode(
  function EmitUncompressedMetaBlock (line 398) | static void EmitUncompressedMetaBlock(const uint8_t* begin, const uint8_...
  function BROTLI_INLINE (line 419) | static BROTLI_INLINE void BrotliCompressFragmentFastImpl(
  function BrotliCompressFragmentFast (line 747) | void BrotliCompressFragmentFast(

FILE: NanaZip.Codecs/Brotli/enc/compress_fragment.h
  type BrotliOnePassArena (line 23) | typedef struct BrotliOnePassArena {

FILE: NanaZip.Codecs/Brotli/enc/compress_fragment_two_pass.c
  function BROTLI_INLINE (line 31) | static BROTLI_INLINE uint32_t Hash(const uint8_t* p,
  function BROTLI_INLINE (line 38) | static BROTLI_INLINE uint32_t HashBytesAtOffset(uint64_t v, size_t offset,
  function BROTLI_INLINE (line 47) | static BROTLI_INLINE BROTLI_BOOL IsMatch(const uint8_t* p1, const uint8_...
  function BuildAndStoreCommandPrefixCode (line 58) | static void BuildAndStoreCommandPrefixCode(BrotliTwoPassArena* s,
  function BROTLI_INLINE (line 107) | static BROTLI_INLINE void EmitInsertLen(
  function BROTLI_INLINE (line 137) | static BROTLI_INLINE void EmitCopyLen(size_t copylen, uint32_t** command...
  function BROTLI_INLINE (line 160) | static BROTLI_INLINE void EmitCopyLenLastDistance(
  function BROTLI_INLINE (line 199) | static BROTLI_INLINE void EmitDistance(uint32_t distance, uint32_t** com...
  function BrotliStoreMetaBlockHeader (line 211) | static void BrotliStoreMetaBlockHeader(
  function BROTLI_INLINE (line 228) | static BROTLI_INLINE void CreateCommands(const uint8_t* input,
  function StoreCommands (line 458) | static void StoreCommands(BrotliTwoPassArena* s,
  function BROTLI_BOOL (line 526) | static BROTLI_BOOL ShouldCompress(BrotliTwoPassArena* s,
  function RewindBitPosition (line 543) | static void RewindBitPosition(const size_t new_storage_ix,
  function EmitUncompressedMetaBlock (line 551) | static void EmitUncompressedMetaBlock(const uint8_t* input, size_t input...
  function BROTLI_INLINE (line 560) | static BROTLI_INLINE void BrotliCompressFragmentTwoPassImpl(
  function BrotliCompressFragmentTwoPass (line 612) | void BrotliCompressFragmentTwoPass(

FILE: NanaZip.Codecs/Brotli/enc/compress_fragment_two_pass.h
  type BrotliTwoPassArena (line 27) | typedef struct BrotliTwoPassArena {

FILE: NanaZip.Codecs/Brotli/enc/dictionary_hash.c
  function BROTLI_BOOL (line 24) | BROTLI_BOOL BROTLI_COLD BrotliEncoderInitDictionaryHash(

FILE: NanaZip.Codecs/Brotli/enc/enc_static_init.c
  function BROTLI_BOOL (line 23) | static BROTLI_BOOL DoBrotliEncoderStaticInit(void) {
  function BrotliEncoderStaticInitEarly (line 37) | static __attribute__((constructor)) void BrotliEncoderStaticInitEarly(vo...
  function BrotliEncoderLazyStaticInitInner (line 42) | void BrotliEncoderLazyStaticInitInner(void) {
  function BROTLI_BOOL (line 47) | BROTLI_BOOL BrotliEncoderEnsureStaticInit(void) {

FILE: NanaZip.Codecs/Brotli/enc/encode.c
  function InputBlockSize (line 45) | static size_t InputBlockSize(BrotliEncoderState* s) {
  function UnprocessedInputSize (line 49) | static uint64_t UnprocessedInputSize(BrotliEncoderState* s) {
  function RemainingInputBlockSize (line 53) | static size_t RemainingInputBlockSize(BrotliEncoderState* s) {
  function BROTLI_BOOL (line 60) | BROTLI_BOOL BrotliEncoderSetParameter(
  function WrapPosition (line 114) | static uint32_t WrapPosition(uint64_t position) {
  function HashTableSize (line 135) | static size_t HashTableSize(size_t max_table_size, size_t input_size) {
  function EncodeWindowBits (line 178) | static void EncodeWindowBits(int lgwin, BROTLI_BOOL large_window,
  function InitCommandPrefixCodes (line 202) | static void InitCommandPrefixCodes(BrotliOnePassArena* s) {
  function EstimateEntropy (line 245) | static double EstimateEntropy(const uint32_t* population, size_t size) {
  function ChooseContextMap (line 264) | static void ChooseContextMap(int quality,
  function BROTLI_BOOL (line 328) | static BROTLI_BOOL ShouldUseComplexStaticContextMap(const uint8_t* input,
  function DecideOverLiteralContextModeling (line 410) | static void DecideOverLiteralContextModeling(const uint8_t* input,
  function BROTLI_BOOL (line 443) | static BROTLI_BOOL ShouldCompress(
  function ContextType (line 472) | static ContextType ChooseContextMode(const BrotliEncoderParams* params,
  function WriteMetaBlockInternal (line 484) | static void WriteMetaBlockInternal(MemoryManager* m,
  function ChooseDistanceParams (line 598) | static void ChooseDistanceParams(BrotliEncoderParams* params) {
  function BROTLI_BOOL (line 624) | static BROTLI_BOOL EnsureInitialized(BrotliEncoderState* s) {
  function BrotliEncoderInitParams (line 680) | static void BrotliEncoderInitParams(BrotliEncoderParams* params) {
  function BrotliEncoderCleanupParams (line 698) | static void BrotliEncoderCleanupParams(MemoryManager* m,
  function BrotliEncoderInitState (line 718) | static void BrotliEncoderInitState(BrotliEncoderState* s) {
  function BrotliEncoderState (line 761) | BrotliEncoderState* BrotliEncoderCreateInstance(
  function BrotliEncoderCleanupState (line 779) | static void BrotliEncoderCleanupState(BrotliEncoderState* s) {
  function BrotliEncoderDestroyInstance (line 802) | void BrotliEncoderDestroyInstance(BrotliEncoderState* state) {
  function CopyInputToRingBuffer (line 818) | static void CopyInputToRingBuffer(BrotliEncoderState* s,
  function BROTLI_BOOL (line 875) | static BROTLI_BOOL UpdateLastProcessedPos(BrotliEncoderState* s) {
  function ExtendLastCommand (line 882) | static void ExtendLastCommand(BrotliEncoderState* s, uint32_t* bytes,
  function BROTLI_BOOL (line 962) | static BROTLI_BOOL EncodeData(
  function WriteMetadataHeader (line 1202) | static size_t WriteMetadataHeader(
  function BrotliEncoderMaxCompressedSize (line 1226) | size_t BrotliEncoderMaxCompressedSize(size_t input_size) {
  function MakeUncompressedStream (line 1239) | static size_t MakeUncompressedStream(
  function BROTLI_BOOL (line 1271) | BROTLI_BOOL BrotliEncoderCompress(
  function InjectBytePaddingBlock (line 1331) | static void InjectBytePaddingBlock(BrotliEncoderState* s) {
  function SetTotalOut (line 1355) | static void SetTotalOut(BrotliEncoderState* s, size_t* total_out) {
  function BROTLI_BOOL (line 1368) | static BROTLI_BOOL InjectFlushOrPushOutput(BrotliEncoderState* s,
  function CheckFlushComplete (line 1392) | static void CheckFlushComplete(BrotliEncoderState* s) {
  function BROTLI_BOOL (line 1400) | static BROTLI_BOOL BrotliEncoderCompressStreamFast(
  function BROTLI_BOOL (line 1524) | static BROTLI_BOOL ProcessMetadata(
  function UpdateSizeHint (line 1594) | static void UpdateSizeHint(BrotliEncoderState* s, size_t available_in) {
  function BROTLI_BOOL (line 1609) | BROTLI_BOOL BrotliEncoderCompressStream(
  function BROTLI_BOOL (line 1699) | BROTLI_BOOL BrotliEncoderIsFinished(BrotliEncoderState* s) {
  function BROTLI_BOOL (line 1704) | BROTLI_BOOL BrotliEncoderHasMoreOutput(BrotliEncoderState* s) {
  function BrotliEncoderVersion (line 1727) | uint32_t BrotliEncoderVersion(void) {
  function BrotliEncoderPreparedDictionary (line 1731) | BrotliEncoderPreparedDictionary* BrotliEncoderPrepareDictionary(
  function BrotliEncoderDestroyPreparedDictionary (line 1777) | void BROTLI_COLD BrotliEncoderDestroyPreparedDictionary(
  function BROTLI_BOOL (line 1803) | BROTLI_BOOL BROTLI_COLD BrotliEncoderAttachPreparedDictionary(
  function BrotliEncoderEstimatePeakMemoryUsage (line 1861) | size_t BROTLI_COLD BrotliEncoderEstimatePeakMemoryUsage(int quality, int...
  function BrotliEncoderGetPreparedDictionarySize (line 1929) | size_t BROTLI_COLD BrotliEncoderGetPreparedDictionarySize(
  function BrotliMakeUncompressedStreamForTest (line 2013) | size_t BrotliMakeUncompressedStreamForTest(

FILE: NanaZip.Codecs/Brotli/enc/encoder_dict.c
  function BrotliTrieInit (line 30) | static void BrotliTrieInit(BrotliTrie* trie) {
  function BrotliTrieFree (line 42) | static void BrotliTrieFree(MemoryManager* m, BrotliTrie* trie) {
  function InitEncoderDictionary (line 47) | static void InitEncoderDictionary(BrotliEncoderDictionary* dict) {
  function BrotliDestroyEncoderDictionary (line 72) | static void BrotliDestroyEncoderDictionary(MemoryManager* m,
  function Hash (line 84) | static uint32_t Hash(const uint8_t* data, int bits) {
  function TransformedDictionaryWord (line 96) | static void TransformedDictionaryWord(uint32_t word_idx, int len, int tr...
  function DictWord (line 106) | static DictWord MakeDictWord(uint8_t len, uint8_t transform, uint16_t id...
  function BrotliTrieAlloc (line 114) | static uint32_t BrotliTrieAlloc(MemoryManager* m, size_t num, BrotliTrie...
  function BROTLI_BOOL (line 145) | static BROTLI_BOOL BrotliTrieNodeAdd(MemoryManager* m, uint8_t len,
  function BROTLI_BOOL (line 188) | static BROTLI_BOOL BrotliTrieAdd(MemoryManager* m, uint8_t len, uint32_t...
  function BrotliTrieNode (line 193) | const BrotliTrieNode* BrotliTrieSub(const BrotliTrie* trie,
  function BrotliTrieNode (line 206) | static const BrotliTrieNode* BrotliTrieFind(const BrotliTrie* trie,
  function BROTLI_BOOL (line 217) | static BROTLI_BOOL BuildDictionaryLut(MemoryManager* m,
  function BuildDictionaryHashTable (line 367) | static void BuildDictionaryHashTable(uint16_t* hash_table_words,
  function BROTLI_BOOL (line 395) | static BROTLI_BOOL GenerateWordsHeavy(MemoryManager* m,
  function ComputeCutoffTransforms (line 422) | static void ComputeCutoffTransforms(
  function BROTLI_BOOL (line 446) | static BROTLI_BOOL ComputeDictionary(MemoryManager* m, int quality,
  function BrotliInitSharedEncoderDictionary (line 489) | void BrotliInitSharedEncoderDictionary(SharedEncoderDictionary* dict) {
  function BROTLI_BOOL (line 511) | static BROTLI_BOOL InitCustomSharedEncoderDictionary(
  function BROTLI_BOOL (line 576) | BROTLI_BOOL BrotliInitCustomSharedEncoderDictionary(
  function BrotliCleanupSharedEncoderDictionary (line 596) | void BrotliCleanupSharedEncoderDictionary(MemoryManager* m,
  function ManagedDictionary (line 613) | ManagedDictionary* BrotliCreateManagedDictionary(
  function BrotliDestroyManagedDictionary (line 627) | void BrotliDestroyManagedDictionary(ManagedDictionary* dictionary) {
  function BrotliInitEncoderDictionaryForTest (line 635) | void BrotliInitEncoderDictionaryForTest(BrotliEncoderDictionary* d) {

FILE: NanaZip.Codecs/Brotli/enc/encoder_dict.h
  type BrotliTrieNode (line 38) | typedef struct BrotliTrieNode {
  type BrotliTrie (line 46) | typedef struct BrotliTrie {
  type BrotliEncoderDictionary (line 59) | typedef struct BrotliEncoderDictionary {
  type ContextualEncoderDictionary (line 95) | typedef struct ContextualEncoderDictionary {
  type SharedEncoderDictionary (line 108) | typedef struct SharedEncoderDictionary {
  type ManagedDictionary (line 123) | typedef struct ManagedDictionary {

FILE: NanaZip.Codecs/Brotli/enc/entropy_encode.c
  function BROTLI_BOOL (line 20) | BROTLI_BOOL BrotliSetDepth(
  function BROTLI_INLINE (line 45) | static BROTLI_INLINE BROTLI_BOOL SortHuffmanTree(
  function BrotliCreateHuffmanTree (line 68) | void BrotliCreateHuffmanTree(const uint32_t* data,
  function Reverse (line 149) | static void Reverse(uint8_t* v, size_t start, size_t end) {
  function BrotliWriteHuffmanTreeRepetitions (line 160) | static void BrotliWriteHuffmanTreeRepetitions(
  function BrotliWriteHuffmanTreeRepetitionsZeros (line 205) | static void BrotliWriteHuffmanTreeRepetitionsZeros(
  function BrotliOptimizeHuffmanCountsForRle (line 241) | void BrotliOptimizeHuffmanCountsForRle(size_t length, uint32_t* counts,
  function DecideOverRleUse (line 372) | static void DecideOverRleUse(const uint8_t* depth, const size_t length,
  function BrotliWriteHuffmanTree (line 402) | void BrotliWriteHuffmanTree(const uint8_t* depth,
  function BrotliReverseBits (line 454) | static uint16_t BrotliReverseBits(size_t num_bits, uint16_t bits) {

FILE: NanaZip.Codecs/Brotli/enc/entropy_encode.h
  type HuffmanTree (line 19) | typedef struct HuffmanTree {
  function BROTLI_INLINE (line 25) | static BROTLI_INLINE void InitHuffmanTree(HuffmanTree* self, uint32_t co...
  type BROTLI_BOOL (line 80) | typedef BROTLI_BOOL (*HuffmanTreeComparator)(
  function BROTLI_INLINE (line 82) | static BROTLI_INLINE void SortHuffmanTreeItems(HuffmanTree* items,

FILE: NanaZip.Codecs/Brotli/enc/entropy_encode_static.h
  function BROTLI_INLINE (line 86) | static BROTLI_INLINE void StoreStaticCodeLengthCode(
  function BROTLI_INLINE (line 524) | static BROTLI_INLINE void StoreStaticCommandHuffmanTree(
  function BROTLI_INLINE (line 538) | static BROTLI_INLINE void StoreStaticDistanceHuffmanTree(

FILE: NanaZip.Codecs/Brotli/enc/fast_log.h
  function BROTLI_INLINE (line 20) | static BROTLI_INLINE uint32_t Log2FloorNonZero(size_t n) {
  function BROTLI_INLINE (line 51) | static BROTLI_INLINE double FastLog2(size_t v) {

FILE: NanaZip.Codecs/Brotli/enc/find_match_length.h
  function BROTLI_INLINE (line 20) | static BROTLI_INLINE size_t FindMatchLengthWithLimit(const uint8_t* s1,
  function BROTLI_INLINE (line 42) | static BROTLI_INLINE size_t FindMatchLengthWithLimit(const uint8_t* s1,

FILE: NanaZip.Codecs/Brotli/enc/hash.h
  type HasherCommon (line 31) | typedef struct {
  type HasherSearchResult (line 65) | typedef struct HasherSearchResult {
  function BROTLI_INLINE (line 72) | static BROTLI_INLINE void PrepareDistanceCache(
  function BROTLI_INLINE (line 115) | static BROTLI_INLINE score_t BackwardReferenceScore(
  function BROTLI_INLINE (line 121) | static BROTLI_INLINE score_t BackwardReferenceScoreUsingLastDistance(
  function BROTLI_INLINE (line 127) | static BROTLI_INLINE score_t BackwardReferencePenaltyUsingLastDistance(
  function BROTLI_INLINE (line 132) | static BROTLI_INLINE BROTLI_BOOL TestStaticDictionaryItem(
  function BROTLI_INLINE (line 171) | static BROTLI_INLINE void SearchInStaticDictionary(
  type BackwardMatch (line 196) | typedef struct BackwardMatch {
  function BROTLI_INLINE (line 201) | static BROTLI_INLINE void InitBackwardMatch(BackwardMatch* self,
  function BROTLI_INLINE (line 207) | static BROTLI_INLINE void InitDictionaryBackwardMatch(BackwardMatch* self,
  function BROTLI_INLINE (line 214) | static BROTLI_INLINE size_t BackwardMatchLength(const BackwardMatch* sel...
  function BROTLI_INLINE (line 218) | static BROTLI_INLINE size_t BackwardMatchLengthCode(const BackwardMatch*...
  type Hasher (line 393) | typedef struct {
  function BROTLI_INLINE (line 405) | static BROTLI_INLINE void HasherInit(Hasher* hasher) {
  function BROTLI_INLINE (line 413) | static BROTLI_INLINE void DestroyHasher(MemoryManager* m, Hasher* hasher) {
  function BROTLI_INLINE (line 420) | static BROTLI_INLINE void HasherReset(Hasher* hasher) {
  function BROTLI_INLINE (line 424) | static BROTLI_INLINE void HasherSize(const BrotliEncoderParams* params,
  function BROTLI_INLINE (line 438) | static BROTLI_INLINE void HasherSetup(MemoryManager* m, Hasher* hasher,
  function BROTLI_INLINE (line 486) | static BROTLI_INLINE void InitOrStitchToPreviousBlock(
  function BROTLI_INLINE (line 507) | static BROTLI_INLINE void FindCompoundDictionaryMatch(
  function BROTLI_INLINE (line 620) | static BROTLI_INLINE size_t FindAllCompoundDictionaryMatches(
  function BROTLI_INLINE (line 691) | static BROTLI_INLINE void LookupCompoundDictionaryMatch(
  function BROTLI_INLINE (line 708) | static BROTLI_INLINE size_t LookupAllCompoundDictionaryMatches(

FILE: NanaZip.Codecs/Brotli/enc/hash_base.h
  function BROTLI_INLINE (line 24) | static BROTLI_INLINE uint32_t Hash14(const uint8_t* data) {
  function BROTLI_INLINE (line 31) | static BROTLI_INLINE uint32_t Hash15(const uint8_t* data) {

FILE: NanaZip.Codecs/Brotli/enc/hash_composite_inc.h
  function BROTLI_INLINE (line 18) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) {
  function BROTLI_INLINE (line 24) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) {
  type HashComposite (line 30) | typedef struct HashComposite {
  function BROTLI_INLINE (line 78) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 94) | static BROTLI_INLINE void FN(Store)(HashComposite* BROTLI_RESTRICT self,
  function BROTLI_INLINE (line 100) | static BROTLI_INLINE void FN(StoreRange)(
  function BROTLI_INLINE (line 108) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(
  function BROTLI_INLINE (line 118) | static BROTLI_INLINE void FN(PrepareDistanceCache)(
  function BROTLI_INLINE (line 124) | static BROTLI_INLINE void FN(FindLongestMatch)(

FILE: NanaZip.Codecs/Brotli/enc/hash_forgetful_chain_inc.h
  function BROTLI_INLINE (line 27) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; }
  function BROTLI_INLINE (line 28) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 4; }
  function BROTLI_INLINE (line 31) | static BROTLI_INLINE size_t FN(HashBytes)(const uint8_t* BROTLI_RESTRICT...
  type FN (line 38) | struct FN
  type FN (line 43) | struct FN
  type HashForgetfulChain (line 47) | typedef struct HashForgetfulChain {
  function BROTLI_INLINE (line 120) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 133) | static BROTLI_INLINE void FN(Store)(HashForgetfulChain* BROTLI_RESTRICT ...
  function BROTLI_INLINE (line 151) | static BROTLI_INLINE void FN(StoreRange)(
  function BROTLI_INLINE (line 161) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(
  function BROTLI_INLINE (line 175) | static BROTLI_INLINE void FN(PrepareDistanceCache)(
  function BROTLI_INLINE (line 193) | static BROTLI_INLINE void FN(FindLongestMatch)(

FILE: NanaZip.Codecs/Brotli/enc/hash_longest_match64_inc.h
  function BROTLI_INLINE (line 19) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 8; }
  function BROTLI_INLINE (line 20) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 8; }
  function BROTLI_INLINE (line 23) | static BROTLI_INLINE size_t FN(HashBytes)(const uint8_t* BROTLI_RESTRICT...
  type HashLongestMatch (line 31) | typedef struct HashLongestMatch {
  function BROTLI_INLINE (line 92) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 105) | static BROTLI_INLINE void FN(Store)(
  function BROTLI_INLINE (line 117) | static BROTLI_INLINE void FN(StoreRange)(HashLongestMatch* BROTLI_RESTRI...
  function BROTLI_INLINE (line 126) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(
  function BROTLI_INLINE (line 140) | static BROTLI_INLINE void FN(PrepareDistanceCache)(
  function BROTLI_INLINE (line 157) | static BROTLI_INLINE void FN(FindLongestMatch)(

FILE: NanaZip.Codecs/Brotli/enc/hash_longest_match64_simd_inc.h
  function BROTLI_INLINE (line 22) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 8; }
  function BROTLI_INLINE (line 23) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 8; }
  function BROTLI_INLINE (line 26) | static BROTLI_INLINE size_t FN(HashBytes)(const uint8_t* BROTLI_RESTRICT...
  type HashLongestMatch (line 34) | typedef struct HashLongestMatch {
  function BROTLI_INLINE (line 100) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 114) | static BROTLI_INLINE void FN(Store)(
  function BROTLI_INLINE (line 130) | static BROTLI_INLINE void FN(StoreRange)(HashLongestMatch* BROTLI_RESTRI...
  function BROTLI_INLINE (line 139) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(
  function BROTLI_INLINE (line 153) | static BROTLI_INLINE void FN(PrepareDistanceCache)(
  function BROTLI_INLINE (line 170) | static BROTLI_INLINE void FN(FindLongestMatch)(

FILE: NanaZip.Codecs/Brotli/enc/hash_longest_match_inc.h
  function BROTLI_INLINE (line 19) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; }
  function BROTLI_INLINE (line 20) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 4; }
  type HashLongestMatch (line 31) | typedef struct HashLongestMatch {
  function BROTLI_INLINE (line 91) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 104) | static BROTLI_INLINE void FN(Store)(
  function BROTLI_INLINE (line 116) | static BROTLI_INLINE void FN(StoreRange)(HashLongestMatch* BROTLI_RESTRI...
  function BROTLI_INLINE (line 125) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(
  function BROTLI_INLINE (line 139) | static BROTLI_INLINE void FN(PrepareDistanceCache)(
  function BROTLI_INLINE (line 156) | static BROTLI_INLINE void FN(FindLongestMatch)(

FILE: NanaZip.Codecs/Brotli/enc/hash_longest_match_quickly_inc.h
  function BROTLI_INLINE (line 19) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 8; }
  function BROTLI_INLINE (line 20) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 8; }
  type HashLongestMatchQuickly (line 37) | typedef struct HashLongestMatchQuickly {
  function BROTLI_INLINE (line 83) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 95) | static BROTLI_INLINE void FN(Store)(
  function BROTLI_INLINE (line 108) | static BROTLI_INLINE void FN(StoreRange)(
  function BROTLI_INLINE (line 118) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(
  function BROTLI_INLINE (line 132) | static BROTLI_INLINE void FN(PrepareDistanceCache)(
  function BROTLI_INLINE (line 147) | static BROTLI_INLINE void FN(FindLongestMatch)(

FILE: NanaZip.Codecs/Brotli/enc/hash_longest_match_simd_inc.h
  function BROTLI_INLINE (line 15) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; }
  function BROTLI_INLINE (line 16) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 4; }
  type HashLongestMatch (line 25) | typedef struct HashLongestMatch {
  function BROTLI_INLINE (line 80) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 93) | static BROTLI_INLINE void FN(Store)(
  function BROTLI_INLINE (line 108) | static BROTLI_INLINE void FN(StoreRange)(HashLongestMatch* BROTLI_RESTRI...
  function BROTLI_INLINE (line 116) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(
  function BROTLI_INLINE (line 129) | static BROTLI_INLINE void FN(PrepareDistanceCache)(
  function BROTLI_INLINE (line 144) | static BROTLI_INLINE void FN(FindLongestMatch)(

FILE: NanaZip.Codecs/Brotli/enc/hash_rolling_inc.h
  function BROTLI_INLINE (line 23) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; }
  function BROTLI_INLINE (line 24) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) { return 4; }
  type HashRolling (line 44) | typedef struct HashRolling {
  function BROTLI_INLINE (line 91) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 100) | static BROTLI_INLINE void FN(Store)(HashRolling* BROTLI_RESTRICT self,
  function BROTLI_INLINE (line 108) | static BROTLI_INLINE void FN(StoreRange)(HashRolling* BROTLI_RESTRICT self,
  function BROTLI_INLINE (line 118) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(
  function BROTLI_INLINE (line 143) | static BROTLI_INLINE void FN(PrepareDistanceCache)(
  function BROTLI_INLINE (line 150) | static BROTLI_INLINE void FN(FindLongestMatch)(

FILE: NanaZip.Codecs/Brotli/enc/hash_to_binary_tree_inc.h
  function BROTLI_INLINE (line 22) | static BROTLI_INLINE size_t FN(HashTypeLength)(void) { return 4; }
  function BROTLI_INLINE (line 23) | static BROTLI_INLINE size_t FN(StoreLookahead)(void) {
  type HashToBinaryTree (line 34) | typedef struct HashToBinaryTree {
  function BROTLI_INLINE (line 81) | static BROTLI_INLINE void FN(HashMemAllocInBytes)(
  function BROTLI_INLINE (line 92) | static BROTLI_INLINE size_t FN(LeftChildIndex)(
  function BROTLI_INLINE (line 98) | static BROTLI_INLINE size_t FN(RightChildIndex)(
  function BROTLI_INLINE (line 202) | static BROTLI_INLINE size_t FN(FindAllMatches)(
  function BROTLI_INLINE (line 271) | static BROTLI_INLINE void FN(Store)(HashToBinaryTree* BROTLI_RESTRICT self,
  function BROTLI_INLINE (line 280) | static BROTLI_INLINE void FN(StoreRange)(HashToBinaryTree* BROTLI_RESTRI...
  function BROTLI_INLINE (line 298) | static BROTLI_INLINE void FN(StitchToPreviousBlock)(

FILE: NanaZip.Codecs/Brotli/enc/histogram.c
  type BlockSplitIterator (line 20) | typedef struct BlockSplitIterator {
  function InitBlockSplitIterator (line 27) | static void InitBlockSplitIterator(BlockSplitIterator* self,
  function BlockSplitIteratorNext (line 35) | static void BlockSplitIteratorNext(BlockSplitIterator* self) {
  function BrotliBuildHistogramsWithContext (line 44) | void BrotliBuildHistogramsWithContext(

FILE: NanaZip.Codecs/Brotli/enc/histogram_inc.h
  type FN (line 12) | struct FN
  function BROTLI_INLINE (line 18) | static BROTLI_INLINE void FN(HistogramClear)(FN(Histogram)* self) {
  function BROTLI_INLINE (line 24) | static BROTLI_INLINE void FN(ClearHistograms)(
  function BROTLI_INLINE (line 30) | static BROTLI_INLINE void FN(HistogramAdd)(FN(Histogram)* self, size_t v...
  function BROTLI_INLINE (line 35) | static BROTLI_INLINE void FN(HistogramAddVector)(FN(Histogram)* self,
  function BROTLI_INLINE (line 42) | static BROTLI_INLINE void FN(HistogramAddHistogram)(FN(Histogram)* self,
  function BROTLI_INLINE (line 51) | static BROTLI_INLINE size_t FN(HistogramDataSize)(void) { return DATA_SI...

FILE: NanaZip.Codecs/Brotli/enc/literal_cost.c
  function UTF8Position (line 20) | static size_t UTF8Position(size_t last, size_t c, size_t clamp) {
  function DecideMultiByteStatsLevel (line 35) | static size_t DecideMultiByteStatsLevel(size_t pos, size_t len, size_t m...
  function EstimateBitCostsForLiteralsUTF8 (line 55) | static void EstimateBitCostsForLiteralsUTF8(size_t pos, size_t len, size...
  function BrotliEstimateBitCostsForLiterals (line 129) | void BrotliEstimateBitCostsForLiterals(size_t pos, size_t len, size_t mask,

FILE: NanaZip.Codecs/Brotli/enc/matching_tag_mask.h
  function BROTLI_INLINE (line 16) | static BROTLI_INLINE uint64_t GetMatchingTagMask(

FILE: NanaZip.Codecs/Brotli/enc/memory.c
  function BrotliInitMemoryManager (line 26) | void BrotliInitMemoryManager(
  function BrotliFree (line 54) | void BrotliFree(MemoryManager* m, void* p) {
  function BrotliWipeOutMemoryManager (line 58) | void BrotliWipeOutMemoryManager(MemoryManager* m) {
  function SortPointers (line 64) | static void SortPointers(void** items, const size_t n) {
  function Annihilate (line 83) | static size_t Annihilate(void** a, size_t a_len, void** b, size_t b_len) {
  function CollectGarbagePointers (line 105) | static void CollectGarbagePointers(MemoryManager* m) {
  function BrotliFree (line 146) | void BrotliFree(MemoryManager* m, void* p) {
  function BrotliWipeOutMemoryManager (line 153) | void BrotliWipeOutMemoryManager(MemoryManager* m) {
  function BrotliBootstrapFree (line 175) | void BrotliBootstrapFree(void* address, MemoryManager* m) {

FILE: NanaZip.Codecs/Brotli/enc/memory.h
  type MemoryManager (line 33) | typedef struct MemoryManager {

FILE: NanaZip.Codecs/Brotli/enc/metablock.c
  function BrotliInitDistanceParams (line 29) | void BrotliInitDistanceParams(BrotliDistanceParams* dist_params,
  function RecomputeDistancePrefixes (line 58) | static void RecomputeDistancePrefixes(Command* cmds,
  function BROTLI_BOOL (line 82) | static BROTLI_BOOL ComputeDistanceCost(const Command* cmds,
  function BrotliBuildMetaBlock (line 126) | void BrotliBuildMetaBlock(MemoryManager* m,
  type ContextBlockSplitter (line 303) | typedef struct ContextBlockSplitter {
  function InitContextBlockSplitter (line 336) | static void InitContextBlockSplitter(
  function ContextBlockSplitterFinishBlock (line 383) | static void ContextBlockSplitterFinishBlock(
  function ContextBlockSplitterAddSymbol (line 505) | static void ContextBlockSplitterAddSymbol(
  function MapStaticContexts (line 517) | static void MapStaticContexts(MemoryManager* m,
  type GreedyMetablockArena (line 539) | typedef struct GreedyMetablockArena {
  function BROTLI_INLINE (line 548) | static BROTLI_INLINE void BrotliBuildMetaBlockGreedyInternal(
  function BrotliBuildMetaBlockGreedy (line 627) | void BrotliBuildMetaBlockGreedy(MemoryManager* m,
  function BrotliOptimizeHistograms (line 653) | void BrotliOptimizeHistograms(uint32_t num_distance_codes,

FILE: NanaZip.Codecs/Brotli/enc/metablock.h
  type MetaBlockSplit (line 27) | typedef struct MetaBlockSplit {
  function BROTLI_INLINE (line 43) | static BROTLI_INLINE void InitMetaBlockSplit(MetaBlockSplit* mb) {
  function BROTLI_INLINE (line 59) | static BROTLI_INLINE void DestroyMetaBlockSplit(

FILE: NanaZip.Codecs/Brotli/enc/metablock_inc.h
  type FN (line 14) | struct FN

FILE: NanaZip.Codecs/Brotli/enc/params.h
  type BrotliHasherParams (line 15) | typedef struct BrotliHasherParams {
  type BrotliDistanceParams (line 22) | typedef struct BrotliDistanceParams {
  type BrotliEncoderParams (line 31) | typedef struct BrotliEncoderParams {

FILE: NanaZip.Codecs/Brotli/enc/prefix.h
  function BROTLI_INLINE (line 23) | static BROTLI_INLINE void PrefixEncodeCopyDistance(size_t distance_code,

FILE: NanaZip.Codecs/Brotli/enc/quality.h
  function BROTLI_INLINE (line 36) | static BROTLI_INLINE size_t MaxHashTableSize(int quality) {
  function BROTLI_INLINE (line 47) | static BROTLI_INLINE size_t MaxZopfliLen(const BrotliEncoderParams* para...
  function BROTLI_INLINE (line 54) | static BROTLI_INLINE size_t MaxZopfliCandidates(
  function BROTLI_INLINE (line 59) | static BROTLI_INLINE void SanitizeParams(BrotliEncoderParams* params) {
  function BROTLI_INLINE (line 75) | static BROTLI_INLINE int ComputeLgBlock(const BrotliEncoderParams* param...
  function BROTLI_INLINE (line 99) | static BROTLI_INLINE int ComputeRbBits(const BrotliEncoderParams* params) {
  function BROTLI_INLINE (line 103) | static BROTLI_INLINE size_t MaxMetablockSize(
  function BROTLI_INLINE (line 116) | static BROTLI_INLINE size_t LiteralSpreeLengthForSparseSearch(
  function BROTLI_INLINE (line 156) | static BROTLI_INLINE void ChooseHasher(const BrotliEncoderParams* params,

FILE: NanaZip.Codecs/Brotli/enc/ringbuffer.h
  type RingBuffer (line 30) | typedef struct RingBuffer {
  function BROTLI_INLINE (line 47) | static BROTLI_INLINE void RingBufferInit(RingBuffer* rb) {
  function BROTLI_INLINE (line 54) | static BROTLI_INLINE void RingBufferSetup(
  function BROTLI_INLINE (line 64) | static BROTLI_INLINE void RingBufferFree(MemoryManager* m, RingBuffer* r...
  function BROTLI_INLINE (line 70) | static BROTLI_INLINE void RingBufferInitBuffer(
  function BROTLI_INLINE (line 91) | static BROTLI_INLINE void RingBufferWriteTail(
  function BROTLI_INLINE (line 103) | static BROTLI_INLINE void RingBufferWrite(

FILE: NanaZip.Codecs/Brotli/enc/state.h
  type BrotliEncoderStreamState (line 22) | typedef enum BrotliEncoderStreamState {
  type BrotliEncoderFlintState (line 36) | typedef enum BrotliEncoderFlintState {
  type BrotliEncoderStateStruct (line 44) | typedef struct BrotliEncoderStateStruct {
  type BrotliEncoderStateInternal (line 101) | typedef struct BrotliEncoderStateStruct BrotliEncoderStateInternal;

FILE: NanaZip.Codecs/Brotli/enc/static_dict.c
  function BROTLI_INLINE (line 20) | static BROTLI_INLINE void AddMatch(size_t distance, size_t len, size_t l...
  function BROTLI_INLINE (line 26) | static BROTLI_INLINE size_t DictMatchLength(const BrotliDictionary* dict...
  function BROTLI_INLINE (line 36) | static BROTLI_INLINE BROTLI_BOOL IsMatch(const BrotliDictionary* diction...
  function BROTLI_BOOL (line 72) | static BROTLI_BOOL BrotliFindAllStaticDictionaryMatchesFor(
  function BROTLI_BOOL (line 497) | BROTLI_BOOL BrotliFindAllStaticDictionaryMatches(

FILE: NanaZip.Codecs/Brotli/enc/static_dict_lut.c
  function BROTLI_BOOL (line 27) | static BROTLI_BOOL BROTLI_COLD DoBrotliEncoderInitStaticDictionaryLut(
  function BROTLI_BOOL (line 194) | BROTLI_BOOL BrotliEncoderInitStaticDictionaryLut(

FILE: NanaZip.Codecs/Brotli/enc/static_dict_lut.h
  type DictWord (line 20) | typedef struct DictWord {

FILE: NanaZip.Codecs/Brotli/enc/utf8_util.c
  function BrotliParseAsUTF8 (line 17) | static size_t BrotliParseAsUTF8(
  function BROTLI_BOOL (line 68) | BROTLI_BOOL BrotliIsMostlyUTF8(

FILE: NanaZip.Codecs/Brotli/enc/write_bits.h
  function BROTLI_INLINE (line 33) | static BROTLI_INLINE void BrotliWriteBits(size_t n_bits,
  function BROTLI_INLINE (line 75) | static BROTLI_INLINE void BrotliWriteBitsPrepareStorage(

FILE: NanaZip.Codecs/Brotli/include/brotli/decode.h
  type BrotliDecoderState (line 29) | typedef struct BrotliDecoderStateStruct BrotliDecoderState;
  type BrotliDecoderResult (line 35) | typedef enum {
  type BrotliDecoderParameter (line 133) | typedef enum BrotliDecoderParameter {

FILE: NanaZip.Codecs/Brotli/include/brotli/encode.h
  type BrotliEncoderMode (line 46) | typedef enum BrotliEncoderMode {
  type BrotliEncoderOperation (line 68) | typedef enum BrotliEncoderOperation {
  type BrotliEncoderParameter (line 135) | typedef enum BrotliEncoderParameter {
  type BrotliEncoderState (line 230) | typedef struct BrotliEncoderStateStruct BrotliEncoderState;
  type BrotliEncoderPreparedDictionary (line 275) | typedef struct BrotliEncoderPreparedDictionaryStruct

FILE: NanaZip.Codecs/Brotli/include/brotli/shared_dictionary.h
  type BrotliSharedDictionary (line 30) | typedef struct BrotliSharedDictionaryStruct BrotliSharedDictionary;
  type BrotliSharedDictionaryType (line 35) | typedef enum BrotliSharedDictionaryType {

FILE: NanaZip.Codecs/Brotli/include/brotli/types.h
  type __int8 (line 18) | typedef __int8 int8_t;
  type __int16 (line 20) | typedef __int16 int16_t;
  type __int32 (line 22) | typedef __int32 int32_t;
  type __int64 (line 25) | typedef __int64 int64_t;

FILE: NanaZip.Codecs/FastLZMA2/atomic.h
  type LONG (line 39) | typedef LONG volatile FL2_atomic;
  type FL2_atomic (line 47) | typedef long FL2_atomic;
  type FL2_atomic (line 57) | typedef _Atomic long FL2_atomic;
  type FL2_atomic (line 69) | typedef long FL2_atomic;

FILE: NanaZip.Codecs/FastLZMA2/count.h
  function ZSTD_NbCommonBytes (line 23) | static unsigned ZSTD_NbCommonBytes(register size_t val)
  function ZSTD_count (line 99) | static size_t ZSTD_count(const BYTE* pIn, const BYTE* pMatch, const BYTE...

FILE: NanaZip.Codecs/FastLZMA2/data_block.h
  type FL2_dataBlock (line 10) | typedef struct {

FILE: NanaZip.Codecs/FastLZMA2/dict_buffer.c
  function DICT_construct (line 20) | int DICT_construct(DICT_buffer * const buf, int const async)
  function DICT_init (line 35) | int DICT_init(DICT_buffer * const buf, size_t const dict_size, size_t co...
  function DICT_destruct (line 83) | void DICT_destruct(DICT_buffer * const buf)
  function DICT_size (line 96) | size_t DICT_size(const DICT_buffer * const buf)
  function DICT_get (line 102) | size_t DICT_get(DICT_buffer * const buf, void **const dict)
  function DICT_update (line 112) | int DICT_update(DICT_buffer * const buf, size_t const added_size)
  function DICT_put (line 121) | void DICT_put(DICT_buffer * const buf, FL2_inBuffer * const input)
  function DICT_availSpace (line 133) | size_t DICT_availSpace(const DICT_buffer * const buf)
  function DICT_hasUnprocessed (line 139) | int DICT_hasUnprocessed(const DICT_buffer * const buf)
  function DICT_getBlock (line 145) | void DICT_getBlock(DICT_buffer * const buf, FL2_dataBlock * const block)
  function DICT_needShift (line 161) | int DICT_needShift(DICT_buffer * const buf)
  function DICT_async (line 170) | int DICT_async(const DICT_buffer * const buf)
  function DICT_shift (line 177) | void DICT_shift(DICT_buffer * const buf)
  function XXH32_hash_t (line 221) | XXH32_hash_t DICT_getDigest(const DICT_buffer * const buf)
  function DICT_memUsage (line 227) | size_t DICT_memUsage(const DICT_buffer * const buf)

FILE: NanaZip.Codecs/FastLZMA2/dict_buffer.h
  type DICT_buffer (line 30) | typedef struct {

FILE: NanaZip.Codecs/FastLZMA2/fast-lzma2.h
  type FL2_CCtx (line 145) | typedef struct FL2_CCtx_s FL2_CCtx;
  type FL2_DCtx (line 180) | typedef struct FL2_DCtx_s FL2_DCtx;
  type FL2_inBuffer (line 203) | typedef struct {
  type FL2_outBuffer (line 209) | typedef struct {
  type FL2_dictBuffer (line 217) | typedef struct {
  type FL2_cBuffer (line 222) | typedef struct {
  type FL2_CStream (line 264) | typedef struct FL2_CCtx_s FL2_CStream;
  type FL2_DStream (line 383) | typedef struct FL2_DStream_s FL2_DStream;
  type FL2_strategy (line 482) | typedef enum {
  type FL2_compressionParameters (line 488) | typedef struct {
  type FL2_cParameter (line 499) | typedef enum {

FILE: NanaZip.Codecs/FastLZMA2/fl2_common.c
  function FL2_versionNumber (line 26) | FL2_versionNumber(void) { return FL2_VERSION_NUMBER; }
  function FL2_versionString (line 28) | FL2_versionString(void) { return FL2_VERSION_STRING; }
  function FL2LIB_CALL (line 34) | FL2LIB_CALL FL2_compressBound(size_t srcSize)
  function IsError (line 42) | HINT_INLINE
  function FL2_isError (line 50) | FL2LIB_API unsigned FL2LIB_CALL FL2_isError(size_t code)
  function FL2_isTimedOut (line 57) | FL2LIB_API unsigned FL2LIB_CALL FL2_isTimedOut(size_t code)
  function FL2LIB_API (line 64) | FL2LIB_API const char* FL2LIB_CALL FL2_getErrorName(size_t code)
  function FL2LIB_CALL (line 71) | FL2LIB_CALL FL2_getErrorCode(size_t code)
  function FL2LIB_API (line 81) | FL2LIB_API const char* FL2LIB_CALL FL2_getErrorString(FL2_ErrorCode code)

FILE: NanaZip.Codecs/FastLZMA2/fl2_compress.c
  function FL2LIB_CALL (line 106) | FL2LIB_CALL FL2_maxCLevel(void)
  function FL2LIB_CALL (line 111) | FL2LIB_CALL FL2_maxHighCLevel(void)
  function FL2_fillParameters (line 116) | static void FL2_fillParameters(FL2_CCtx* const cctx, const FL2_compressi...
  function FL2_CCtx (line 138) | static FL2_CCtx* FL2_createCCtx_internal(unsigned nbThreads, int const d...
  function FL2_createCCtx (line 189) | FL2_createCCtx(void)
  function FL2LIB_API (line 194) | FL2LIB_API FL2_CCtx* FL2LIB_CALL FL2_createCCtxMt(unsigned nbThreads)
  function FL2LIB_CALL (line 199) | FL2LIB_CALL FL2_freeCCtx(FL2_CCtx* cctx)
  function FL2_getCCtxThreadCount (line 221) | FL2LIB_API unsigned FL2LIB_CALL FL2_getCCtxThreadCount(const FL2_CCtx* c...
  function FL2_buildRadixTable (line 227) | static void FL2_buildRadixTable(void* const jobDescription, ptrdiff_t co...
  function FL2_compressRadixChunk (line 235) | static void FL2_compressRadixChunk(void* const jobDescription, ptrdiff_t...
  function FL2_initEncoders (line 246) | static int FL2_initEncoders(FL2_CCtx* const cctx)
  function FL2_initProgress (line 255) | static void FL2_initProgress(FL2_CCtx* const cctx)
  function FL2_compressCurBlock_blocking (line 268) | static size_t FL2_compressCurBlock_blocking(FL2_CCtx* const cctx, int co...
  function FL2_compressCurBlock_async (line 362) | static void FL2_compressCurBlock_async(void* const jobDescription, ptrdi...
  function FL2_compressCurBlock (line 375) | static size_t FL2_compressCurBlock(FL2_CCtx* const cctx, int const strea...
  function BYTE (line 425) | static BYTE FL2_getProp(FL2_CCtx* const cctx, size_t const dictionarySize)
  function FL2_preBeginFrame (line 435) | static void FL2_preBeginFrame(FL2_CCtx* const cctx, size_t const dictRed...
  function FL2_beginFrame (line 444) | static size_t FL2_beginFrame(FL2_CCtx* const cctx, size_t const dictReduce)
  function FL2_endFrame (line 476) | static void FL2_endFrame(FL2_CCtx* const cctx)
  function FL2_compressBuffer (line 487) | static size_t FL2_compressBuffer(FL2_CCtx* const cctx,
  function FL2LIB_CALL (line 540) | FL2LIB_CALL FL2_compressCCtx(FL2_CCtx* cctx,
  function FL2LIB_CALL (line 600) | FL2LIB_CALL FL2_compressMt(void* dst, size_t dstCapacity,
  function FL2LIB_CALL (line 616) | FL2LIB_CALL FL2_compress(void* dst, size_t dstCapacity,
  function FL2LIB_CALL (line 623) | FL2LIB_CALL FL2_getCCtxDictProp(FL2_CCtx* cctx)
  function FL2LIB_CALL (line 639) | FL2LIB_CALL FL2_CCtx_setParameter(FL2_CCtx* cctx, FL2_cParameter param, ...
  function FL2LIB_CALL (line 761) | FL2LIB_CALL FL2_CCtx_getParameter(FL2_CCtx* cctx, FL2_cParameter param)
  function FL2LIB_CALL (line 832) | FL2LIB_CALL FL2_CStream_setParameter(FL2_CStream* fcs, FL2_cParameter pa...
  function FL2LIB_CALL (line 837) | FL2LIB_CALL FL2_CStream_getParameter(FL2_CStream* fcs, FL2_cParameter pa...
  function FL2_createCStream (line 842) | FL2_createCStream(void)
  function FL2LIB_CALL (line 852) | FL2LIB_CALL FL2_freeCStream(FL2_CStream * fcs)
  function FL2LIB_CALL (line 857) | FL2LIB_CALL FL2_initCStream(FL2_CStream* fcs, int compressionLevel)
  function FL2LIB_CALL (line 891) | FL2LIB_CALL FL2_setCStreamTimeout(FL2_CStream * fcs, unsigned timeout)
  function FL2_compressStream_internal (line 911) | static size_t FL2_compressStream_internal(FL2_CStream* const fcs, int co...
  function FL2LIB_CALL (line 944) | FL2LIB_CALL FL2_copyCStreamOutput(FL2_CStream* fcs, FL2_outBuffer *output)
  function FL2_compressStream_input (line 969) | static size_t FL2_compressStream_input(FL2_CStream* fcs, FL2_inBuffer* i...
  function FL2_loopCheck (line 1002) | static size_t FL2_loopCheck(FL2_CStream* fcs, int unchanged)
  function FL2LIB_CALL (line 1017) | FL2LIB_CALL FL2_compressStream(FL2_CStream* fcs, FL2_outBuffer *output, ...
  function FL2LIB_CALL (line 1038) | FL2LIB_CALL FL2_getDictionaryBuffer(FL2_CStream * fcs, FL2_dictBuffer * ...
  function FL2LIB_CALL (line 1058) | FL2LIB_CALL FL2_updateDictionary(FL2_CStream * fcs, size_t addedSize)
  function FL2LIB_CALL (line 1066) | FL2LIB_CALL FL2_getNextCompressedBuffer(FL2_CStream* fcs, FL2_cBuffer* c...
  function FL2_getCStreamProgress (line 1084) | FL2LIB_API unsigned long long FL2LIB_CALL FL2_getCStreamProgress(const F...
  function FL2LIB_CALL (line 1097) | FL2LIB_CALL FL2_waitCStream(FL2_CStream * fcs)
  function FL2LIB_CALL (line 1107) | FL2LIB_CALL FL2_cancelCStream(FL2_CStream *fcs)
  function FL2LIB_CALL (line 1122) | FL2LIB_CALL FL2_remainingOutputSize(const FL2_CStream* fcs)
  function FL2_writeEnd (line 1136) | static void FL2_writeEnd(FL2_CStream* const fcs)
  function FL2_flushStream_internal (line 1178) | static size_t FL2_flushStream_internal(FL2_CStream* fcs, int const ending)
  function FL2LIB_CALL (line 1191) | FL2LIB_CALL FL2_flushStream(FL2_CStream* fcs, FL2_outBuffer *output)
  function FL2LIB_CALL (line 1214) | FL2LIB_CALL FL2_endStream(FL2_CStream* fcs, FL2_outBuffer *output)
  function FL2LIB_CALL (line 1244) | FL2LIB_CALL FL2_getLevelParameters(int compressionLevel, int high, FL2_c...
  function FL2_memoryUsage_internal (line 1259) | static size_t FL2_memoryUsage_internal(size_t const dictionarySize, unsi...
  function FL2LIB_CALL (line 1268) | FL2LIB_CALL FL2_estimateCCtxSize(int compressionLevel, unsigned nbThreads)
  function FL2LIB_CALL (line 1278) | FL2LIB_CALL FL2_estimateCCtxSize_byParams(const FL2_compressionParameter...
  function FL2LIB_CALL (line 1288) | FL2LIB_CALL FL2_estimateCCtxSize_usingCCtx(const FL2_CCtx * cctx)
  function FL2LIB_CALL (line 1297) | FL2LIB_CALL FL2_estimateCStreamSize(int compressionLevel, unsigned nbThr...
  function FL2LIB_CALL (line 1303) | FL2LIB_CALL FL2_estimateCStreamSize_byParams(const FL2_compressionParame...
  function FL2LIB_CALL (line 1309) | FL2LIB_CALL FL2_estimateCStreamSize_usingCStream(const FL2_CStream* fcs)

FILE: NanaZip.Codecs/FastLZMA2/fl2_compress_internal.h
  type FL2_CCtx_params (line 38) | typedef struct {
  type FL2_job (line 49) | typedef struct {
  type FL2_CCtx_s (line 56) | struct FL2_CCtx_s {

FILE: NanaZip.Codecs/FastLZMA2/fl2_errors.h
  type FL2_ErrorCode (line 30) | typedef enum {

FILE: NanaZip.Codecs/FastLZMA2/fl2_internal.h
  function MEM_STATIC (line 98) | MEM_STATIC U32 ZSTD_highbit32(U32 val)

FILE: NanaZip.Codecs/FastLZMA2/fl2_pool.c
  type FL2POOL_ctx_s (line 24) | struct FL2POOL_ctx_s {
  function FL2POOL_ctx (line 89) | FL2POOL_ctx* FL2POOL_create(size_t numThreads)
  function FL2POOL_join (line 122) | static void FL2POOL_join(FL2POOL_ctx* ctx)
  function FL2POOL_free (line 135) | void FL2POOL_free(FL2POOL_ctx *ctx)
  function FL2POOL_sizeof (line 145) | size_t FL2POOL_sizeof(FL2POOL_ctx *ctx)
  function FL2POOL_addRange (line 151) | void FL2POOL_addRange(void* ctxVoid, FL2POOL_function function, void *op...
  function FL2POOL_add (line 169) | void FL2POOL_add(void* ctxVoid, FL2POOL_function function, void *opaque,...
  function FL2POOL_waitAll (line 174) | int FL2POOL_waitAll(void *ctxVoid, unsigned timeout)
  function FL2POOL_threadsBusy (line 193) | size_t FL2POOL_threadsBusy(void * ctx)

FILE: NanaZip.Codecs/FastLZMA2/fl2_pool.h
  type FL2POOL_ctx (line 22) | typedef struct FL2POOL_ctx_s FL2POOL_ctx;

FILE: NanaZip.Codecs/FastLZMA2/fl2_threading.c
  function worker (line 39) | static unsigned __stdcall worker(void *arg)
  function FL2_pthread_create (line 46) | int FL2_pthread_create(FL2_pthread_t* thread, const void* unused,
  function FL2_pthread_join (line 60) | int FL2_pthread_join(FL2_pthread_t thread, void **value_ptr)
  function FL2_checkNbThreads (line 80) | unsigned FL2_checkNbThreads(unsigned nbThreads)

FILE: NanaZip.Codecs/FastLZMA2/fl2_threading.h
  type FL2_pthread_t (line 76) | typedef struct {
  function mythread_condtime_set (line 120) | static inline void
  function FL2_pthread_cond_timedwait (line 142) | static inline void
  type FL2_pthread_mutex_t (line 155) | typedef int FL2_pthread_mutex_t;
  type FL2_pthread_cond_t (line 161) | typedef int FL2_pthread_cond_t;

FILE: NanaZip.Codecs/FastLZMA2/lzma2_enc.c
  type LZMA2_lenStates (line 132) | typedef struct
  type LZMA2_encStates (line 144) | typedef struct
  type LZMA2_node (line 171) | typedef struct
  type LZMA2_hc3 (line 189) | typedef struct {
  type LZMA2_ECtx_s (line 197) | struct LZMA2_ECtx_s
  function LZMA2_ECtx (line 241) | LZMA2_ECtx* LZMA2_createECtx(void)
  function LZMA2_freeECtx (line 267) | void LZMA2_freeECtx(LZMA2_ECtx *const enc)
  function LZMA_getRepLen1Price (line 283) | HINT_INLINE
  function LZMA_getRepPrice (line 291) | static unsigned LZMA_getRepPrice(LZMA2_ECtx* const enc, size_t const rep...
  function LZMA_getRepMatch0Price (line 315) | static unsigned LZMA_getRepMatch0Price(LZMA2_ECtx *const enc, size_t con...
  function LZMA_getLiteralPriceMatched (line 324) | static unsigned LZMA_getLiteralPriceMatched(const LZMA2_prob *const prob...
  function HINT_INLINE (line 338) | HINT_INLINE
  function HINT_INLINE (line 352) | HINT_INLINE
  function HINT_INLINE (line 371) | HINT_INLINE
  function LZMA_lengthStates_SetPrices (line 384) | static void LZMA_lengthStates_SetPrices(const LZMA2_prob *probs, U32 sta...
  function FORCE_NOINLINE (line 395) | FORCE_NOINLINE
  function FORCE_NOINLINE (line 446) | FORCE_NOINLINE
  function HINT_INLINE (line 463) | HINT_INLINE
  function FORCE_NOINLINE (line 476) | FORCE_NOINLINE
  function FORCE_NOINLINE (line 490) | FORCE_NOINLINE
  function LZMA_fastDistShift (line 529) | HINT_INLINE
  function LZMA_fastDistResult (line 535) | HINT_INLINE
  function LZMA_getDistSlot (line 542) | static size_t LZMA_getDistSlot(U32 const distance)
  function HINT_INLINE (line 560) | HINT_INLINE
  function FORCE_INLINE_TEMPLATE (line 592) | FORCE_INLINE_TEMPLATE
  function FORCE_NOINLINE (line 789) | FORCE_NOINLINE
  function LZMA_getLiteralPrice (line 834) | static unsigned LZMA_getLiteralPrice(LZMA2_ECtx *const enc, size_t const...
  function LZMA_hashReset (line 852) | static void LZMA_hashReset(LZMA2_ECtx *const enc, unsigned const diction...
  function LZMA_hashCreate (line 862) | static int LZMA_hashCreate(LZMA2_ECtx *const enc, unsigned const diction...
  function LZMA2_hashAlloc (line 884) | int LZMA2_hashAlloc(LZMA2_ECtx *const enc, const FL2_lzma2Parameters* co...
  function HINT_INLINE (line 897) | HINT_INLINE
  function FORCE_INLINE_TEMPLATE (line 965) | FORCE_INLINE_TEMPLATE
  function FORCE_NOINLINE (line 1273) | FORCE_NOINLINE
  function FORCE_NOINLINE (line 1307) | FORCE_NOINLINE
  function FORCE_INLINE_TEMPLATE (line 1371) | FORCE_INLINE_TEMPLATE
  function FORCE_INLINE_TEMPLATE (line 1465) | FORCE_INLINE_TEMPLATE
  function FORCE_NOINLINE (line 1580) | FORCE_NOINLINE void LZMA_fillAlignPrices(LZMA2_ECtx* const enc)
  function FORCE_NOINLINE (line 1601) | FORCE_NOINLINE void LZMA_fillDistancesPrices(LZMA2_ECtx* const enc)
  function FORCE_INLINE_TEMPLATE (line 1679) | FORCE_INLINE_TEMPLATE
  function LZMA_lengthStates_Reset (line 1728) | static void LZMA_lengthStates_Reset(LZMA2_lenStates* const ls, unsigned ...
  function LZMA_encoderStates_Reset (line 1741) | static void LZMA_encoderStates_Reset(LZMA2_encStates* const es, unsigned...
  function BYTE (line 1777) | BYTE LZMA2_getDictSizeProp(size_t const dictionary_size)
  function LZMA2_compressBound (line 1793) | size_t LZMA2_compressBound(size_t src_size)
  function LZMA2_encMemoryUsage (line 1803) | size_t LZMA2_encMemoryUsage(unsigned const chain_log, FL2_strategy const...
  function LZMA2_reset (line 1811) | static void LZMA2_reset(LZMA2_ECtx *const enc, size_t const max_distance)
  function BYTE (line 1826) | static BYTE LZMA_getLcLpPbCode(LZMA2_ECtx *const enc)
  function U32 (line 1832) | static U32 LZMA2_isqrt(U32 op)
  function BYTE (line 1849) | static BYTE LZMA2_isChunkIncompressible(const FL2_matchTable* const tbl,
  function LZMA2_encodeChunk (line 1938) | static size_t LZMA2_encodeChunk(LZMA2_ECtx *const enc,
  function LZMA2_encode (line 1966) | size_t LZMA2_encode(LZMA2_ECtx *const enc,

FILE: NanaZip.Codecs/FastLZMA2/lzma2_enc.h
  type LZMA2_ECtx (line 25) | typedef struct LZMA2_ECtx_s LZMA2_ECtx;
  type FL2_lzma2Parameters (line 27) | typedef struct

FILE: NanaZip.Codecs/FastLZMA2/platform.h
  function IS_CONSOLE (line 126) | static __inline int IS_CONSOLE(FILE* stdStream) {

FILE: NanaZip.Codecs/FastLZMA2/radix_bitpack.c
  function BYTE (line 41) | BYTE* RMF_bitpackAsOutputBuffer(FL2_matchTable* const tbl, size_t const ...
  function RMF_bitpackLimitLengths (line 47) | void RMF_bitpackLimitLengths(FL2_matchTable* const tbl, size_t const pos)

FILE: NanaZip.Codecs/FastLZMA2/radix_engine.h
  function RMF_handleRepeat (line 16) | static size_t RMF_handleRepeat(RMF_builder* const tbl, const BYTE* const...
  function RMF_handleRepeat2 (line 46) | static size_t RMF_handleRepeat2(RMF_builder* const tbl, const BYTE* cons...
  function RMF_initReference (line 79) | static void RMF_initReference(FL2_matchTable* const tbl, const void* con...
  function RMF_bitpackInit (line 108) | RMF_bitpackInit
  function RMF_recurseListsBuffered (line 176) | static void RMF_recurseListsBuffered(RMF_builder* const tbl,
  function RMF_recurseListsBound (line 300) | static void RMF_recurseListsBound(RMF_builder* const tbl,
  function RMF_bruteForce (line 433) | static void RMF_bruteForce(RMF_builder* const tbl,
  function RMF_recurseLists16 (line 484) | static void RMF_recurseLists16(RMF_builder* const tbl,
  function RMF_recurseListsUnbuf16 (line 607) | static void RMF_recurseListsUnbuf16(RMF_builder* const tbl,
  function RMF_recurseListsReference (line 815) | static void RMF_recurseListsReference(RMF_builder* const tbl,
  function RMF_getNextList_mt (line 901) | static ptrdiff_t RMF_getNextList_mt(FL2_matchTable* const tbl)
  function RMF_getNextList_st (line 912) | static ptrdiff_t RMF_getNextList_st(FL2_matchTable* const tbl)
  function RMF_bitpackBuildTable (line 925) | RMF_bitpackBuildTable
  function RMF_bitpackIntegrityCheck (line 988) | RMF_bitpackIntegrityCheck

FILE: NanaZip.Codecs/FastLZMA2/radix_get.h
  type RMF_match (line 18) | typedef struct
  function RMF_bitpackExtendMatch (line 24) | static size_t RMF_bitpackExtendMatch(const BYTE* const data,
  function RMF_structuredExtendMatch (line 56) | static size_t RMF_structuredExtendMatch(const BYTE* const data,
  function FORCE_INLINE_TEMPLATE (line 84) | FORCE_INLINE_TEMPLATE
  function FORCE_INLINE_TEMPLATE (line 137) | FORCE_INLINE_TEMPLATE

FILE: NanaZip.Codecs/FastLZMA2/radix_internal.h
  type RMF_tableHead (line 50) | typedef struct
  type RMF_buildMatch (line 61) | typedef struct
  type RMF_listTail (line 68) | typedef struct
  type RMF_unit (line 74) | typedef struct
  type RMF_builder (line 80) | typedef struct
  type FL2_matchTable_s (line 92) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 108) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 109) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 110) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 114) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 126) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 127) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 128) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 129) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 130) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 131) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 132) | struct FL2_matchTable_s
  type FL2_matchTable_s (line 138) | struct FL2_matchTable_s

FILE: NanaZip.Codecs/FastLZMA2/radix_mf.c
  function RMF_initTailTable (line 31) | static void RMF_initTailTable(RMF_builder* const tbl)
  function RMF_builder (line 43) | static RMF_builder* RMF_createBuilder(size_t match_buffer_size)
  function RMF_freeBuilderTable (line 62) | static void RMF_freeBuilderTable(RMF_builder** const builders, unsigned ...
  function RMF_builder (line 78) | static RMF_builder** RMF_createBuilderTable(U32* const match_table, size...
  function RMF_isStruct (line 102) | static int RMF_isStruct(size_t const dictionary_size)
  function RMF_parameters (line 110) | static RMF_parameters RMF_clampParams(RMF_parameters params)
  function RMF_calBufSize (line 128) | static size_t RMF_calBufSize(size_t dictionary_size, unsigned buffer_res...
  function RMF_applyParameters_internal (line 153) | static size_t RMF_applyParameters_internal(FL2_matchTable* const tbl, co...
  function RMF_reduceDict (line 187) | static void RMF_reduceDict(RMF_parameters* const params, size_t const di...
  function RMF_initListHeads (line 193) | static void RMF_initListHeads(FL2_matchTable* const tbl)
  function FL2_matchTable (line 207) | FL2_matchTable* RMF_createMatchTable(const RMF_parameters* const p, size...
  function RMF_freeMatchTable (line 240) | void RMF_freeMatchTable(FL2_matchTable* const tbl)
  function BYTE (line 251) | BYTE RMF_compatibleParameters(const FL2_matchTable* const tbl, const RMF...
  function RMF_applyParameters (line 259) | size_t RMF_applyParameters(FL2_matchTable* const tbl, const RMF_paramete...
  function RMF_threadCount (line 266) | size_t RMF_threadCount(const FL2_matchTable* const tbl)
  function RMF_initProgress (line 271) | void RMF_initProgress(FL2_matchTable * const tbl)
  function RMF_initTable (line 277) | void RMF_initTable(FL2_matchTable* const tbl, const void* const data, si...
  function RMF_handleRepeat (line 289) | static void RMF_handleRepeat(RMF_buildMatch* const match_buffer,
  type BruteForceMatch (line 321) | typedef struct
  function RMF_bruteForceBuffered (line 328) | static void RMF_bruteForceBuffered(RMF_builder* const tbl,
  function FORCE_INLINE_TEMPLATE (line 391) | FORCE_INLINE_TEMPLATE
  function RMF_recurseListChunk (line 659) | void RMF_recurseListChunk(RMF_builder* const tbl,
  function RMF_buildTable (line 680) | int RMF_buildTable(FL2_matchTable* const tbl,
  function RMF_cancelBuild (line 699) | void RMF_cancelBuild(FL2_matchTable * const tbl)
  function RMF_resetIncompleteBuild (line 705) | void RMF_resetIncompleteBuild(FL2_matchTable * const tbl)
  function RMF_integrityCheck (line 710) | int RMF_integrityCheck(const FL2_matchTable* const tbl, const BYTE* cons...
  function RMF_limitLengths (line 718) | void RMF_limitLengths(FL2_matchTable* const tbl, size_t const pos)
  function BYTE (line 726) | BYTE* RMF_getTableAsOutputBuffer(FL2_matchTable* const tbl, size_t const...
  function RMF_memoryUsage (line 734) | size_t RMF_memoryUsage(size_t const dict_size, unsigned const buffer_res...

FILE: NanaZip.Codecs/FastLZMA2/radix_mf.h
  type FL2_matchTable (line 21) | typedef struct FL2_matchTable_s FL2_matchTable;
  type RMF_parameters (line 27) | typedef struct

FILE: NanaZip.Codecs/FastLZMA2/radix_struct.c
  function BYTE (line 41) | BYTE* RMF_structuredAsOutputBuffer(FL2_matchTable* const tbl, size_t con...
  function RMF_structuredLimitLengths (line 47) | void RMF_structuredLimitLengths(FL2_matchTable* const tbl, size_t const ...

FILE: NanaZip.Codecs/FastLZMA2/range_enc.c
  function RC_printPriceTable (line 55) | void RC_printPriceTable()
  function RC_setOutputBuffer (line 107) | void RC_setOutputBuffer(RC_encoder* const rc, BYTE *const out_buffer)
  function RC_reset (line 113) | void RC_reset(RC_encoder* const rc)
  function RC_shiftLow (line 125) | void RC_shiftLow(RC_encoder* const rc)
  function RC_shiftLow (line 151) | void RC_shiftLow(RC_encoder* const rc)
  function RC_encodeBitTree (line 174) | void RC_encodeBitTree(RC_encoder* const rc, LZMA2_prob *const probs, uns...
  function RC_encodeBitTreeReverse (line 189) | void RC_encodeBitTreeReverse(RC_encoder* const rc, LZMA2_prob *const pro...
  function RC_encodeDirect (line 205) | void RC_encodeDirect(RC_encoder* const rc, unsigned value, unsigned bit_...

FILE: NanaZip.Codecs/FastLZMA2/range_enc.h
  type U32 (line 19) | typedef U32 LZMA2_prob;
  type U16 (line 21) | typedef U16 LZMA2_prob;
  type RC_encoder (line 39) | typedef struct
  function HINT_INLINE (line 67) | HINT_INLINE
  function HINT_INLINE (line 80) | HINT_INLINE
  function HINT_INLINE (line 95) | HINT_INLINE
  function RC_getTreePrice (line 125) | HINT_INLINE
  function RC_getReverseTreePrice (line 140) | HINT_INLINE
  function HINT_INLINE (line 157) | HINT_INLINE

FILE: NanaZip.Codecs/FastLZMA2/util.c
  function UTIL_fileExist (line 24) | int UTIL_fileExist(const char* filename)
  function UTIL_isRegularFile (line 35) | int UTIL_isRegularFile(const char* infilename)
  function UTIL_getFileStat (line 41) | int UTIL_getFileStat(const char* infilename, stat_t *statbuf)
  function UTIL_setFileStat (line 54) | int UTIL_setFileStat(const char *filename, stat_t *statbuf)
  function U32 (line 76) | U32 UTIL_isDirectory(const char* infilename)
  function U32 (line 90) | U32 UTIL_isLink(const char* infilename)
  function U64 (line 111) | U64 UTIL_getFileSize(const char* infilename)
  function U64 (line 133) | U64 UTIL_getTotalFileSize(const char* const * const fileNamesTable, unsi...
  function UTIL_prepareFileList (line 147) | int UTIL_prepareFileList(const char *dirName, char** bufStart, size_t* p...
  function UTIL_prepareFileList (line 210) | int UTIL_prepareFileList(const char *dirName, char** bufStart, size_t* p...
  function UTIL_prepareFileList (line 273) | int UTIL_prepareFileList(const char *dirName, char** bufStart, size_t* p...
  function UTIL_time_t (line 349) | UTIL_time_t UTIL_getTime(void) { UTIL_time_t x; QueryPerformanceCounter(...
  function U64 (line 351) | U64 UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  function U64 (line 363) | U64 UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  function UTIL_time_t (line 377) | UTIL_time_t UTIL_getTime(void) { return mach_absolute_time(); }
  function U64 (line 379) | U64 UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  function U64 (line 390) | U64 UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd)
  function UTIL_time_t (line 407) | UTIL_time_t UTIL_getTime(void)
  function UTIL_time_t (line 415) | UTIL_time_t UTIL_getSpanTime(UTIL_time_t begin, UTIL_time_t end)
  function U64 (line 428) | U64 UTIL_getSpanTimeMicro(UTIL_time_t begin, UTIL_time_t end)
  function U64 (line 437) | U64 UTIL_getSpanTimeNano(UTIL_time_t begin, UTIL_time_t end)
  function UTIL_time_t (line 448) | UTIL_time_t UTIL_getTime(void) { return clock(); }
  function U64 (line 449) | U64 UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd) ...
  function U64 (line 450) | U64 UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd) {...
  function U64 (line 455) | U64 UTIL_clockSpanMicro(UTIL_time_t clockStart )
  function U64 (line 462) | U64 UTIL_clockSpanNano(UTIL_time_t clockStart )
  function UTIL_waitForNextTick (line 468) | void UTIL_waitForNextTick(void)
  function UTIL_countPhysicalCores (line 484) | int UTIL_countPhysicalCores(void)
  function UTIL_countPhysicalCores (line 557) | int UTIL_countPhysicalCores(void)
  function UTIL_countPhysicalCores (line 583) | int UTIL_countPhysicalCores(void)
  function UTIL_countPhysicalCores (line 652) | int UTIL_countPhysicalCores(void)
  function UTIL_countPhysicalCores (line 681) | int UTIL_countPhysicalCores(void)
  function UTIL_countPhysicalCores (line 697) | int UTIL_countPhysicalCores(void)

FILE: NanaZip.Codecs/FastLZMA2/util.h
  type LARGE_INTEGER (line 121) | typedef LARGE_INTEGER UTIL_time_t;
  type U64 (line 127) | typedef U64 UTIL_time_t;
  type UTIL_freq_t (line 136) | typedef struct timespec UTIL_freq_t;
  type UTIL_time_t (line 137) | typedef struct timespec UTIL_time_t;
  type clock_t (line 143) | typedef clock_t UTIL_time_t;
  type stat_t (line 166) | typedef struct __stat64 stat_t;
  type stat_t (line 168) | typedef struct stat stat_t;
  function UTIL_STATIC (line 188) | UTIL_STATIC void* UTIL_realloc(void *ptr, size_t size)
  function UTIL_STATIC (line 217) | UTIL_STATIC void UTIL_freeFileList(const char** filenameTable, char* all...

FILE: NanaZip.Codecs/FreeBSD/dinode.h
  type ufs1_daddr_t (line 94) | typedef	int32_t	ufs1_daddr_t;
  type ufs2_daddr_t (line 95) | typedef	int64_t	ufs2_daddr_t;
  type ufs_lbn_t (line 96) | typedef int64_t ufs_lbn_t;
  type ufs_time_t (line 97) | typedef int64_t ufs_time_t;
  type ufs2_dinode (line 129) | struct ufs2_dinode {
  type ufs1_dinode (line 184) | struct ufs1_dinode {

FILE: NanaZip.Codecs/FreeBSD/dir.h
  type direct (line 80) | struct	direct {
  type dirtemplate (line 131) | struct dirtemplate {
  type odirtemplate (line 147) | struct odirtemplate {

FILE: NanaZip.Codecs/FreeBSD/fs.h
  type fsck_cmd (line 278) | struct fsck_cmd {
  type fsrecovery (line 290) | struct fsrecovery {
  type csum (line 304) | struct csum {
  type csum_total (line 310) | struct csum_total {
  type fs_summary_info (line 334) | struct fs_summary_info {
  type fs (line 348) | struct fs {
  type fs (line 458) | struct fs
  type cg (line 605) | struct cg {
  function lbn_level (line 763) | static inline int
  function ufs_lbn_t (line 783) | static inline ufs_lbn_t
  type jsegrec (line 835) | struct jsegrec {
  type jrefrec (line 847) | struct jrefrec {
  type jmvrec (line 861) | struct jmvrec {
  type jblkrec (line 874) | struct jblkrec {
  type jtrncrec (line 888) | struct jtrncrec {
  type jsegrec (line 897) | struct jsegrec
  type jrefrec (line 898) | struct jrefrec
  type jmvrec (line 899) | struct jmvrec
  type jblkrec (line 900) | struct jblkrec
  type jtrncrec (line 901) | struct jtrncrec
  type jsegrec (line 905) | struct jsegrec
  type jrefrec (line 906) | struct jrefrec
  type jmvrec (line 907) | struct jmvrec
  type jblkrec (line 908) | struct jblkrec
  type jtrncrec (line 909) | struct jtrncrec

FILE: NanaZip.Codecs/GmSSL/sm3.c
  function sm3_compress_blocks (line 155) | void sm3_compress_blocks(uint32_t digest[8], const uint8_t *data, size_t...
  function sm3_init (line 298) | void sm3_init(SM3_CTX *ctx)
  function sm3_update (line 311) | void sm3_update(SM3_CTX *ctx, const uint8_t *data, size_t data_len)
  function sm3_finish (line 345) | void sm3_finish(SM3_CTX *ctx, uint8_t *digest)
  function sm3_digest (line 368) | void sm3_digest(const uint8_t *msg, size_t msglen,

FILE: NanaZip.Codecs/GmSSL/sm3.h
  type SM3_CTX (line 49) | typedef struct {
  type SM3_HMAC_CTX (line 63) | typedef struct {
  type SM3_KDF_CTX (line 76) | typedef struct {

FILE: NanaZip.Codecs/LZ4/lz4.c
  function LZ4_isAligned (line 292) | static int LZ4_isAligned(const void* ptr, size_t alignment)
  type BYTE (line 304) | typedef  uint8_t BYTE;
  type U16 (line 305) | typedef uint16_t U16;
  type U32 (line 306) | typedef uint32_t U32;
  type S32 (line 307) | typedef  int32_t S32;
  type U64 (line 308) | typedef uint64_t U64;
  type uptrval (line 309) | typedef uintptr_t uptrval;
  type BYTE (line 314) | typedef unsigned char       BYTE;
  type U16 (line 315) | typedef unsigned short      U16;
  type U32 (line 316) | typedef unsigned int        U32;
  type S32 (line 317) | typedef   signed int        S32;
  type U64 (line 318) | typedef unsigned long long  U64;
  type uptrval (line 319) | typedef size_t              uptrval;
  type U64 (line 323) | typedef U64    reg_t;
  type reg_t (line 325) | typedef size_t reg_t;
  type limitedOutput_directive (line 328) | typedef enum {
  function LZ4_isLittleEndian (line 363) | static unsigned LZ4_isLittleEndian(void)
  function U16 (line 378) | static U16 LZ4_read16(const void* memPtr) { return *(const U16*) memPtr; }
  function U32 (line 379) | static U32 LZ4_read32(const void* memPtr) { return *(const U32*) memPtr; }
  function reg_t (line 380) | static reg_t LZ4_read_ARCH(const void* memPtr) { return *(const reg_t*) ...
  function LZ4_write16 (line 382) | static void LZ4_write16(void* memPtr, U16 value) { *(U16*)memPtr = value; }
  function LZ4_write32 (line 383) | static void LZ4_write32(void* memPtr, U32 value) { *(U32*)memPtr = value; }
  function U16 (line 393) | static U16 LZ4_read16(const void* ptr) { return ((const LZ4_unalign16*)p...
  function U32 (line 394) | static U32 LZ4_read32(const void* ptr) { return ((const LZ4_unalign32*)p...
  function reg_t (line 395) | static reg_t LZ4_read_ARCH(const void* ptr) { return ((const LZ4_unalign...
  function LZ4_write16 (line 397) | static void LZ4_write16(void* memPtr, U16 value) { ((LZ4_unalign16*)memP...
  function LZ4_write32 (line 398) | static void LZ4_write32(void* memPtr, U32 value) { ((LZ4_unalign32*)memP...
  function U16 (line 402) | static U16 LZ4_read16(const void* memPtr)
  function U32 (line 407) | static U32 LZ4_read32(const void* memPtr)
  function reg_t (line 412) | static reg_t LZ4_read_ARCH(const void* memPtr)
  function LZ4_write16 (line 417) | static void LZ4_write16(void* memPtr, U16 value)
  function LZ4_write32 (line 422) | static void LZ4_write32(void* memPtr, U32 value)
  function U16 (line 430) | static U16 LZ4_readLE16(const void* memPtr)
  function U32 (line 441) | static U32 LZ4_readLE32(const void* memPtr)
  function LZ4_writeLE16 (line 452) | static void LZ4_writeLE16(void* memPtr, U16 value)
  function LZ4_FORCE_INLINE (line 464) | LZ4_FORCE_INLINE
  function LZ4_FORCE_INLINE (line 495) | LZ4_FORCE_INLINE void
  function LZ4_FORCE_INLINE (line 521) | LZ4_FORCE_INLINE void
  function LZ4_FORCE_INLINE (line 534) | LZ4_FORCE_INLINE void
  function LZ4_NbCommonBytes (line 579) | static unsigned LZ4_NbCommonBytes (reg_t val)
  function LZ4_count (line 679) | LZ4_FORCE_INLINE
  type tableType_t (line 717) | typedef enum { clearedTable = 0, byPtr, byU32, byU16 } tableType_t;
  type dict_directive (line 742) | typedef enum { noDict = 0, withPrefix64k, usingExtDict, usingDictCtx } d...
  type dictIssue_directive (line 743) | typedef enum { noDictIssue = 0, dictSmall } dictIssue_directive;
  function LZ4_versionNumber (line 749) | int LZ4_versionNumber (void) { return LZ4_VERSION_NUMBER; }
  function LZ4_compressBound (line 751) | int LZ4_compressBound(int isize)  { return LZ4_COMPRESSBOUND(isize); }
  function LZ4_sizeofState (line 752) | int LZ4_sizeofState(void) { return sizeof(LZ4_stream_t); }
  function LZ4_FORCE_INLINE (line 777) | LZ4_FORCE_INLINE U32 LZ4_hash4(U32 sequence, tableType_t const tableType)
  function LZ4_FORCE_INLINE (line 785) | LZ4_FORCE_INLINE U32 LZ4_hash5(U64 sequence, tableType_t const tableType)
  function LZ4_FORCE_INLINE (line 797) | LZ4_FORCE_INLINE U32 LZ4_hashPosition(const void* const p, tableType_t c...
  function LZ4_FORCE_INLINE (line 808) | LZ4_FORCE_INLINE void LZ4_clearHash(U32 h, void* tableBase, tableType_t ...
  function LZ4_FORCE_INLINE (line 820) | LZ4_FORCE_INLINE void LZ4_putIndexOnHash(U32 idx, U32 h, void* tableBase...
  function LZ4_FORCE_INLINE (line 833) | LZ4_FORCE_INLINE void LZ4_putPositionOnHash(const BYTE* p, U32 h,
  function LZ4_FORCE_INLINE (line 841) | LZ4_FORCE_INLINE void LZ4_putPosition(const BYTE* p, void* tableBase, ta...
  function LZ4_FORCE_INLINE (line 853) | LZ4_FORCE_INLINE U32 LZ4_getIndexOnHash(U32 h, const void* tableBase, ta...
  function BYTE (line 869) | static const BYTE* LZ4_getPositionOnHash(U32 h, const void* tableBase, t...
  function LZ4_FORCE_INLINE (line 875) | LZ4_FORCE_INLINE const BYTE*
  function LZ4_FORCE_INLINE (line 883) | LZ4_FORCE_INLINE void
  function LZ4_FORCE_INLINE (line 930) | LZ4_FORCE_INLINE int LZ4_compress_generic_validated(
  function LZ4_FORCE_INLINE (line 1344) | LZ4_FORCE_INLINE int LZ4_compress_generic(
  function LZ4_compress_fast_extState (line 1382) | int LZ4_compress_fast_extState(void* state, const char* source, char* de...
  function LZ4_compress_fast_extState_fastReset (line 1414) | int LZ4_compress_fast_extState_fastReset(void* state, const char* src, c...
  function LZ4_compress_fast (line 1453) | int LZ4_compress_fast(const char* src, char* dest, int srcSize, int dstC...
  function LZ4_compress_default (line 1472) | int LZ4_compress_default(const char* src, char* dst, int srcSize, int ds...
  function LZ4_compress_destSize_extState_internal (line 1481) | static int LZ4_compress_destSize_extState_internal(LZ4_stream_t* state, ...
  function LZ4_compress_destSize_extState (line 1497) | int LZ4_compress_destSize_extState(void* state, const char* src, char* d...
  function LZ4_compress_destSize (line 1506) | int LZ4_compress_destSize(const char* src, char* dst, int* srcSizePtr, i...
  function LZ4_stream_t (line 1531) | LZ4_stream_t* LZ4_createStream(void)
  function LZ4_stream_t_alignment (line 1542) | static size_t LZ4_stream_t_alignment(void)
  function LZ4_stream_t (line 1552) | LZ4_stream_t* LZ4_initStream (void* buffer, size_t size)
  function LZ4_resetStream (line 1564) | void LZ4_resetStream (LZ4_stream_t* LZ4_stream)
  function LZ4_resetStream_fast (line 1570) | void LZ4_resetStream_fast(LZ4_stream_t* ctx) {
  function LZ4_freeStream (line 1575) | int LZ4_freeStream (LZ4_stream_t* LZ4_stream)
  type LoadDict_mode_e (line 1585) | typedef enum { _ld_fast, _ld_slow } LoadDict_mode_e;
  function LZ4_loadDict_internal (line 1587) | int LZ4_loadDict_internal(LZ4_stream_t* LZ4_dict,
  function LZ4_loadDict (line 1648) | int LZ4_loadDict(LZ4_stream_t* LZ4_dict, const char* dictionary, int dic...
  function LZ4_loadDictSlow (line 1653) | int LZ4_loadDictSlow(LZ4_stream_t* LZ4_dict, const char* dictionary, int...
  function LZ4_attach_dictionary (line 1658) | void LZ4_attach_dictionary(LZ4_stream_t* workingStream, const LZ4_stream...
  function LZ4_renormDictT (line 1687) | static void LZ4_renormDictT(LZ4_stream_t_internal* LZ4_dict, int nextSize)
  function LZ4_compress_fast_continue (line 1707) | int LZ4_compress_fast_continue (LZ4_stream_t* LZ4_stream,
  function LZ4_compress_forceExtDict (line 1787) | int LZ4_compress_forceExtDict (LZ4_stream_t* LZ4_dict, const char* sourc...
  function LZ4_saveDict (line 1814) | int LZ4_saveDict (LZ4_stream_t* LZ4_dict, char* safeBuffer, int dictSize)
  type earlyEnd_directive (line 1842) | typedef enum { decode_full_block = 0, partial_decode = 1 } earlyEnd_dire...
  function read_long_length_no_check (line 1852) | static size_t read_long_length_no_check(const BYTE** pp)
  function LZ4_FORCE_INLINE (line 1869) | LZ4_FORCE_INLINE int
  type Rvl_t (line 1976) | typedef size_t Rvl_t;
  function LZ4_FORCE_INLINE (line 1978) | LZ4_FORCE_INLINE Rvl_t
  function LZ4_FORCE_O2 (line 2450) | LZ4_FORCE_O2
  function LZ4_FORCE_O2 (line 2458) | LZ4_FORCE_O2
  function LZ4_FORCE_O2 (line 2467) | LZ4_FORCE_O2
  function LZ4_FORCE_O2 (line 2478) | LZ4_FORCE_O2 /* Exported, an obsolete API function. */
  function LZ4_FORCE_O2 (line 2486) | LZ4_FORCE_O2
  function LZ4_decompress_fast_withPrefix64k (line 2496) | int LZ4_decompress_fast_withPrefix64k(const char* source, char* dest, in...
  function LZ4_FORCE_O2 (line 2503) | LZ4_FORCE_O2
  function LZ4_FORCE_O2 (line 2512) | LZ4_FORCE_O2
  function LZ4_FORCE_O2 (line 2522) | LZ4_FORCE_O2
  function LZ4_FORCE_O2 (line 2533) | LZ4_FORCE_O2
  function LZ4_FORCE_O2 (line 2544) | LZ4_FORCE_O2
  function LZ4_FORCE_INLINE (line 2557) | LZ4_FORCE_INLINE
  function LZ4_streamDecode_t (line 2569) | LZ4_streamDecode_t* LZ4_createStreamDecode(void)
  function LZ4_freeStreamDecode (line 2575) | int LZ4_freeStreamDecode (LZ4_streamDecode_t* LZ4_stream)
  function LZ4_setStreamDecode (line 2589) | int LZ4_setStreamDecode (LZ4_streamDecode_t* LZ4_streamDecode, const cha...
  function LZ4_decoderRingBufferSize (line 2615) | int LZ4_decoderRingBufferSize(int maxBlockSize)
  function LZ4_FORCE_O2 (line 2630) | LZ4_FORCE_O2
  function LZ4_FORCE_O2 (line 2670) | LZ4_FORCE_O2 int
  function LZ4_decompress_safe_usingDict (line 2719) | int LZ4_decompress_safe_usingDict(const char* source, char* dest, int co...
  function LZ4_decompress_safe_partial_usingDict (line 2734) | int LZ4_decompress_safe_partial_usingDict(const char* source, char* dest...
  function LZ4_decompress_fast_usingDict (line 2749) | int LZ4_decompress_fast_usingDict(const char* source, char* dest, int or...
  function LZ4_compress_limitedOutput (line 2764) | int LZ4_compress_limitedOutput(const char* source, char* dest, int input...
  function LZ4_compress (line 2768) | int LZ4_compress(const char* src, char* dest, int srcSize)
  function LZ4_compress_limitedOutput_withState (line 2772) | int LZ4_compress_limitedOutput_withState (void* state, const char* src, ...
  function LZ4_compress_withState (line 2776) | int LZ4_compress_withState (void* state, const char* src, char* dst, int...
  function LZ4_compress_limitedOutput_continue (line 2780) | int LZ4_compress_limitedOutput_continue (LZ4_stream_t* LZ4_stream, const...
  function LZ4_compress_continue (line 2784) | int LZ4_compress_continue (LZ4_stream_t* LZ4_stream, const char* source,...
  function LZ4_uncompress (line 2795) | int LZ4_uncompress (const char* source, char* dest, int outputSize)
  function LZ4_uncompress_unknownOutputSize (line 2799) | int LZ4_uncompress_unknownOutputSize (const char* source, char* dest, in...
  function LZ4_sizeofStreamState (line 2806) | int LZ4_sizeofStreamState(void) { return sizeof(LZ4_stream_t); }
  function LZ4_resetStreamState (line 2808) | int LZ4_resetStreamState(void* state, char* inputBuffer)

FILE: NanaZip.Codecs/LZ4/lz4.h
  type LZ4_stream_t (line 314) | typedef union LZ4_stream_u LZ4_stream_t;
  type LZ4_streamDecode_t (line 457) | typedef union LZ4_streamDecode_u LZ4_streamDecode_t;
  type LZ4_i8 (line 701) | typedef  int8_t  LZ4_i8;
  type LZ4_byte (line 702) | typedef uint8_t  LZ4_byte;
  type LZ4_u16 (line 703) | typedef uint16_t LZ4_u16;
  type LZ4_u32 (line 704) | typedef uint32_t LZ4_u32;
  type LZ4_i8 (line 706) | typedef   signed char  LZ4_i8;
  type LZ4_byte (line 707) | typedef unsigned char  LZ4_byte;
  type LZ4_u16 (line 708) | typedef unsigned short LZ4_u16;
  type LZ4_u32 (line 709) | typedef unsigned int   LZ4_u32;
  type LZ4_stream_t_internal (line 718) | typedef struct LZ4_stream_t_internal LZ4_stream_t_internal;
  type LZ4_stream_t_internal (line 719) | struct LZ4_stream_t_internal {
  type LZ4_streamDecode_t_internal (line 758) | typedef struct {

FILE: NanaZip.Codecs/LZ4/lz4frame.c
  function LZ4F_free (line 127) | static void LZ4F_free(void* p, LZ4F_CustomMem cmem)
  type BYTE (line 172) | typedef  uint8_t BYTE;
  type U16 (line 173) | typedef uint16_t U16;
  type U32 (line 174) | typedef uint32_t U32;
  type S32 (line 175) | typedef  int32_t S32;
  type U64 (line 176) | typedef uint64_t U64;
  type BYTE (line 178) | typedef unsigned char       BYTE;
  type U16 (line 179) | typedef unsigned short      U16;
  type U32 (line 180) | typedef unsigned int        U32;
  type S32 (line 181) | typedef   signed int        S32;
  type U64 (line 182) | typedef unsigned long long  U64;
  function U32 (line 187) | static U32 LZ4F_readLE32 (const void* src)
  function LZ4F_writeLE32 (line 197) | static void LZ4F_writeLE32 (void* dst, U32 value32)
  function U64 (line 206) | static U64 LZ4F_readLE64 (const void* src)
  function LZ4F_writeLE64 (line 220) | static void LZ4F_writeLE64 (void* dst, U64 value64)
  type LZ4F_BlockCompressMode_e (line 262) | typedef enum { LZ4B_COMPRESSED, LZ4B_UNCOMPRESSED} LZ4F_BlockCompressMod...
  type LZ4F_CtxType_e (line 263) | typedef enum { ctxNone, ctxFast, ctxHC } LZ4F_CtxType_e;
  type LZ4F_cctx_t (line 265) | typedef struct LZ4F_cctx_s
  function LZ4F_isError (line 293) | unsigned LZ4F_isError(LZ4F_errorCode_t code)
  function LZ4F_errorCodes (line 305) | LZ4F_errorCodes LZ4F_getErrorCode(size_t functionResult)
  function LZ4F_errorCode_t (line 311) | static LZ4F_errorCode_t LZ4F_returnErrorCode(LZ4F_errorCodes code)
  function LZ4F_getVersion (line 329) | unsigned LZ4F_getVersion(void) { return LZ4F_VERSION; }
  function LZ4F_compressionLevel_max (line 331) | int LZ4F_compressionLevel_max(void) { return LZ4HC_CLEVEL_MAX; }
  function LZ4F_getBlockSize (line 333) | size_t LZ4F_getBlockSize(LZ4F_blockSizeID_t blockSizeID)
  function BYTE (line 349) | static BYTE LZ4F_headerChecksum (const void* header, size_t length)
  function LZ4F_blockSizeID_t (line 359) | static LZ4F_blockSizeID_t LZ4F_optimalBSID(const LZ4F_blockSizeID_t requ...
  function LZ4F_compressBound_internal (line 379) | static size_t LZ4F_compressBound_internal(size_t srcSize,
  function LZ4F_compressFrameBound (line 406) | size_t LZ4F_compressFrameBound(size_t srcSize, const LZ4F_preferences_t*...
  function LZ4F_compressFrame_usingCDict (line 428) | size_t LZ4F_compressFrame_usingCDict(LZ4F_cctx* cctx,
  function LZ4F_compressFrame (line 484) | size_t LZ4F_compressFrame(void* dstBuffer, size_t dstCapacity,
  type LZ4F_CDict_s (line 531) | struct LZ4F_CDict_s {
  function LZ4F_CDict (line 538) | LZ4F_CDict*
  function LZ4F_CDict (line 575) | LZ4F_CDict* LZ4F_createCDict(const void* dictBuffer, size_t dictSize)
  function LZ4F_freeCDict (line 581) | void LZ4F_freeCDict(LZ4F_CDict* cdict)
  function LZ4F_cctx (line 595) | LZ4F_cctx*
  function LZ4F_errorCode_t (line 617) | LZ4F_errorCode_t
  function LZ4F_errorCode_t (line 629) | LZ4F_errorCode_t LZ4F_freeCompressionContext(LZ4F_cctx* cctxPtr)
  function LZ4F_initStream (line 648) | static void LZ4F_initStream(void* ctx,
  function ctxTypeID_to_size (line 676) | static int ctxTypeID_to_size(int ctxTypeID) {
  function LZ4F_compressBegin_internal (line 690) | size_t LZ4F_compressBegin_internal(LZ4F_cctx* cctx,
  function LZ4F_compressBegin (line 815) | size_t LZ4F_compressBegin(LZ4F_cctx* cctx,
  function LZ4F_compressBegin_usingDictOnce (line 828) | size_t LZ4F_compressBegin_usingDictOnce(LZ4F_cctx* cctx,
  function LZ4F_compressBegin_usingDict (line 838) | size_t LZ4F_compressBegin_usingDict(LZ4F_cctx* cctx,
  function LZ4F_compressBegin_usingCDict (line 851) | size_t LZ4F_compressBegin_usingCDict(LZ4F_cctx* cctx,
  function LZ4F_compressBound (line 867) | size_t LZ4F_compressBound(size_t srcSize, const LZ4F_preferences_t* pref...
  function LZ4F_makeBlock (line 883) | static size_t LZ4F_makeBlock(void* dst,
  function LZ4F_compressBlock (line 911) | static int LZ4F_compressBlock(void* ctx, const char* src, char* dst, int...
  function LZ4F_compressBlock_continue (line 923) | static int LZ4F_compressBlock_continue(void* ctx, const char* src, char*...
  function LZ4F_compressBlockHC (line 931) | static int LZ4F_compressBlockHC(void* ctx, const char* src, char* dst, i...
  function LZ4F_compressBlockHC_continue (line 940) | static int LZ4F_compressBlockHC_continue(void* ctx, const char* src, cha...
  function LZ4F_doNotCompressBlock (line 946) | static int LZ4F_doNotCompressBlock(void* ctx, const char* src, char* dst...
  function compressFunc_t (line 952) | static compressFunc_t LZ4F_selectCompression(LZ4F_blockMode_t blockMode,...
  function LZ4F_localSaveDict (line 965) | static int LZ4F_localSaveDict(LZ4F_cctx_t* cctxPtr)
  type LZ4F_lastBlockStatus (line 972) | typedef enum { notDone, fromTmpBuffer, fromSrcBuffer } LZ4F_lastBlockSta...
  function LZ4F_compressUpdateImpl (line 989) | static size_t LZ4F_compressUpdateImpl(LZ4F_cctx* cctxPtr,
  function LZ4F_compressUpdate (line 1119) | size_t LZ4F_compressUpdate(LZ4F_cctx* cctxPtr,
  function LZ4F_uncompressedUpdate (line 1139) | size_t LZ4F_uncompressedUpdate(LZ4F_cctx* cctxPtr,
  function LZ4F_flush (line 1159) | size_t LZ4F_flush(LZ4F_cctx* cctxPtr,
  function LZ4F_compressEnd (line 1206) | size_t LZ4F_compressEnd(LZ4F_cctx* cctxPtr,
  type dStage_t (line 1248) | typedef enum {
  type LZ4F_dctx_s (line 1260) | struct LZ4F_dctx_s {
  function LZ4F_dctx (line 1284) | LZ4F_dctx* LZ4F_createDecompressionContext_advanced(LZ4F_CustomMem custo...
  function LZ4F_errorCode_t (line 1300) | LZ4F_errorCode_t
  function LZ4F_errorCode_t (line 1313) | LZ4F_errorCode_t LZ4F_freeDecompressionContext(LZ4F_dctx* dctx)
  function LZ4F_resetDecompressionContext (line 1327) | void LZ4F_resetDecompressionContext(LZ4F_dctx* dctx)
  function LZ4F_decodeHeader (line 1346) | static size_t LZ4F_decodeHeader(LZ4F_dctx* dctx, const void* src, size_t...
  function LZ4F_headerSize (line 1444) | size_t LZ4F_headerSize(const void* src, size_t srcSize)
  function LZ4F_errorCode_t (line 1485) | LZ4F_errorCode_t LZ4F_getFrameInfo(LZ4F_dctx* dctx,
  function LZ4F_updateDict (line 1527) | static void LZ4F_updateDict(LZ4F_dctx* dctx,
  function LZ4F_decompress (line 1613) | size_t LZ4F_decompress(LZ4F_dctx* dctx,
  function LZ4F_decompress_usingDict (line 2123) | size_t LZ4F_decompress_usingDict(LZ4F_dctx* dctx,

FILE: NanaZip.Codecs/LZ4/lz4frame.h
  type LZ4F_errorCode_t (line 103) | typedef size_t LZ4F_errorCode_t;
  type LZ4F_blockSizeID_t (line 123) | typedef enum {
  type LZ4F_blockMode_t (line 138) | typedef enum {
  type LZ4F_contentChecksum_t (line 145) | typedef enum {
  type LZ4F_blockChecksum_t (line 152) | typedef enum {
  type LZ4F_frameType_t (line 157) | typedef enum {
  type LZ4F_blockSizeID_t (line 164) | typedef LZ4F_blockSizeID_t blockSizeID_t;
  type LZ4F_blockMode_t (line 165) | typedef LZ4F_blockMode_t blockMode_t;
  type LZ4F_frameType_t (line 166) | typedef LZ4F_frameType_t frameType_t;
  type LZ4F_contentChecksum_t (line 167) | typedef LZ4F_contentChecksum_t contentChecksum_t;
  type LZ4F_frameInfo_t (line 175) | typedef struct {
  type LZ4F_preferences_t (line 192) | typedef struct {
  type LZ4F_cctx (line 246) | typedef struct LZ4F_cctx_s LZ4F_cctx;
  type LZ4F_cctx (line 247) | typedef LZ4F_cctx* LZ4F_compressionContext_t;
  type LZ4F_compressOptions_t (line 249) | typedef struct {
  type LZ4F_dctx (line 368) | typedef struct LZ4F_dctx_s LZ4F_dctx;
  type LZ4F_dctx (line 369) | typedef LZ4F_dctx* LZ4F_decompressionContext_t;
  type LZ4F_decompressOptions_t (line 371) | typedef struct {
  type LZ4F_CDict (line 576) | typedef struct LZ4F_CDict_s LZ4F_CDict;
  type LZ4F_errorCodes (line 683) | typedef enum { LZ4F_LIST_ERRORS(LZ4F_GENERATE_ENUM)
  type LZ4F_CustomMem (line 730) | typedef struct {

FILE: NanaZip.Codecs/LZ4/lz4hc.c
  type dictCtx_directive (line 72) | typedef enum { noDictCtx, usingDictCtxHc } dictCtx_directive;
  type lz4hc_strat_e (line 86) | typedef enum { lz4mid, lz4hc, lz4opt } lz4hc_strat_e;
  type cParams_t (line 87) | typedef struct {
  function cParams_t (line 108) | static cParams_t LZ4HC_getCLevelParams(int cLevel)
  function U32 (line 122) | static U32 LZ4HC_hashPtr(const void* ptr) { return HASH_FUNCTION(LZ4_rea...
  function U64 (line 126) | static U64 LZ4_read64(const void* memPtr) { return *(const U64*) memPtr; }
  function U64 (line 131) | static U64 LZ4_read64(const void* ptr) { return ((const LZ4_unalign64*)p...
  function U64 (line 134) | static U64 LZ4_read64(const void* memPtr)
  function U32 (line 145) | static U32 LZ4MID_hash4(U32 v) { return (v * 2654435761U) >> (32-LZ4MID_...
  function U32 (line 146) | static U32 LZ4MID_hash4Ptr(const void* ptr) { return LZ4MID_hash4(LZ4_re...
  function U32 (line 149) | static U32 LZ4MID_hash7(U64 v) { return (U32)(((v  << (64-56)) * 5829581...
  function U32 (line 151) | static U32 LZ4MID_hash8Ptr(const void* ptr) { return LZ4MID_hash7(LZ4_re...
  function U64 (line 153) | static U64 LZ4_readLE64(const void* memPtr)
  function LZ4HC_NbCommonBytes32 (line 167) | LZ4_FORCE_INLINE
  function LZ4_FORCE_INLINE (line 204) | LZ4_FORCE_INLINE
  function LZ4HC_clearTables (line 236) | static void LZ4HC_clearTables (LZ4HC_CCtx_internal* hc4)
  function LZ4HC_init_internal (line 242) | static void LZ4HC_init_internal (LZ4HC_CCtx_internal* hc4, const BYTE* s...
  function LZ4_FORCE_INLINE (line 268) | LZ4_FORCE_INLINE int LZ4HC_encodeSequence (
  type LZ4HC_match_t (line 357) | typedef struct {
  function LZ4HC_match_t (line 363) | LZ4HC_match_t LZ4HC_searchExtDict(const BYTE* ip, U32 ipIndex,
  type LZ4HC_match_t (line 406) | typedef LZ4HC_match_t (*LZ4MID_searchIntoDict_f)(const BYTE* ip, U32 ipI...
  function LZ4HC_match_t (line 410) | static LZ4HC_match_t LZ4MID_searchHCDict(const BYTE* ip, U32 ipIndex,
  function LZ4HC_match_t (line 420) | static LZ4HC_match_t LZ4MID_searchExtDict(const BYTE* ip, U32 ipIndex,
  function LZ4_FORCE_INLINE (line 476) | LZ4_FORCE_INLINE void
  function LZ4MID_fillHTable (line 487) | static void
  function LZ4MID_searchIntoDict_f (line 514) | static LZ4MID_searchIntoDict_f select_searchDict_function(const LZ4HC_CC...
  function LZ4MID_compress (line 522) | static int LZ4MID_compress (
  function LZ4_FORCE_INLINE (line 781) | LZ4_FORCE_INLINE void LZ4HC_Insert (LZ4HC_CCtx_internal* hc4, const BYTE...
  function U32 (line 811) | static U32 LZ4HC_rotatePattern(size_t const rotate, U32 const pattern)
  function LZ4HC_countPattern (line 820) | static unsigned
  function LZ4HC_reverseCountPattern (line 853) | static unsigned
  function LZ4HC_protectDictEnd (line 875) | static int LZ4HC_protectDictEnd(U32 const dictLimit, U32 const matchIndex)
  type repeat_state_e (line 880) | typedef enum { rep_untested, rep_not, rep_confirmed } repeat_state_e;
  type HCfavor_e (line 881) | typedef enum { favorCompressionRatio=0, favorDecompressionSpeed } HCfavo...
  function LZ4_FORCE_INLINE (line 884) | LZ4_FORCE_INLINE LZ4HC_match_t
  function LZ4_FORCE_INLINE (line 1106) | LZ4_FORCE_INLINE LZ4HC_match_t
  function LZ4_FORCE_INLINE (line 1121) | LZ4_FORCE_INLINE int LZ4HC_compress_hashChain (
  function LZ4_FORCE_INLINE (line 1373) | LZ4_FORCE_INLINE int
  function LZ4HC_compress_generic_noDictCtx (line 1419) | static int
  function isStateCompatible (line 1434) | static int isStateCompatible(const LZ4HC_CCtx_internal* ctx1, const LZ4H...
  function LZ4HC_compress_generic_dictCtx (line 1441) | static int
  function LZ4HC_compress_generic (line 1467) | static int
  function LZ4_sizeofStateHC (line 1486) | int LZ4_sizeofStateHC(void) { return (int)sizeof(LZ4_streamHC_t); }
  function LZ4_streamHC_t_alignment (line 1488) | static size_t LZ4_streamHC_t_alignment(void)
  function LZ4_compress_HC_extStateHC_fastReset (line 1500) | int LZ4_compress_HC_extStateHC_fastReset (void* state, const char* src, ...
  function LZ4_compress_HC_extStateHC (line 1512) | int LZ4_compress_HC_extStateHC (void* state, const char* src, char* dst,...
  function LZ4_compress_HC (line 1519) | int LZ4_compress_HC(const char* src, char* dst, int srcSize, int dstCapa...
  function LZ4_compress_HC_destSize (line 1538) | int LZ4_compress_HC_destSize(void* state, const char* source, char* dest...
  function LZ4_streamHC_t (line 1554) | LZ4_streamHC_t* LZ4_createStreamHC(void)
  function LZ4_freeStreamHC (line 1563) | int LZ4_freeStreamHC (LZ4_streamHC_t* LZ4_streamHCPtr)
  function LZ4_streamHC_t (line 1573) | LZ4_streamHC_t* LZ4_initStreamHC (void* buffer, size_t size)
  function LZ4_resetStreamHC (line 1589) | void LZ4_resetStreamHC (LZ4_streamHC_t* LZ4_streamHCPtr, int compression...
  function LZ4_resetStreamHC_fast (line 1595) | void LZ4_resetStreamHC_fast (LZ4_streamHC_t* LZ4_streamHCPtr, int compre...
  function LZ4_setCompressionLevel (line 1611) | void LZ4_setCompressionLevel(LZ4_streamHC_t* LZ4_streamHCPtr, int compre...
  function LZ4_favorDecompressionSpeed (line 1619) | void LZ4_favorDecompressionSpeed(LZ4_streamHC_t* LZ4_streamHCPtr, int fa...
  function LZ4_loadDictHC (line 1626) | int LZ4_loadDictHC (LZ4_streamHC_t* LZ4_streamHCPtr,
  function LZ4_attach_HC_dictionary (line 1654) | void LZ4_attach_HC_dictionary(LZ4_streamHC_t *working_stream, const LZ4_...
  function LZ4HC_setExternalDict (line 1660) | static void LZ4HC_setExternalDict(LZ4HC_CCtx_internal* ctxPtr, const BYT...
  function LZ4_compressHC_continue_generic (line 1680) | static int
  function LZ4_compress_HC_continue (line 1722) | int LZ4_compress_HC_continue (LZ4_streamHC_t* LZ4_streamHCPtr, const cha...
  function LZ4_compress_HC_continue_destSize (line 1731) | int LZ4_compress_HC_continue_destSize (LZ4_streamHC_t* LZ4_streamHCPtr, ...
  function LZ4_saveDictHC (line 1742) | int LZ4_saveDictHC (LZ4_streamHC_t* LZ4_streamHCPtr, char* safeBuffer, i...
  type LZ4HC_optimal_t (line 1770) | typedef struct {
  function LZ4_FORCE_INLINE (line 1778) | LZ4_FORCE_INLINE int LZ4HC_literalsPrice(int const litlen)
  function LZ4_FORCE_INLINE (line 1788) | LZ4_FORCE_INLINE int LZ4HC_sequencePrice(int litlen, int mlen)
  function LZ4_FORCE_INLINE (line 1802) | LZ4_FORCE_INLINE LZ4HC_match_t
  function LZ4HC_compress_optimal (line 1823) | static int LZ4HC_compress_optimal ( LZ4HC_CCtx_internal* ctx,
  function LZ4_compressHC (line 2133) | int LZ4_compressHC(const char* src, char* dst, int srcSize) { return LZ4...
  function LZ4_compressHC_limitedOutput (line 2134) | int LZ4_compressHC_limitedOutput(const char* src, char* dst, int srcSize...
  function LZ4_compressHC2 (line 2135) | int LZ4_compressHC2(const char* src, char* dst, int srcSize, int cLevel)...
  function LZ4_compressHC2_limitedOutput (line 2136) | int LZ4_compressHC2_limitedOutput(const char* src, char* dst, int srcSiz...
  function LZ4_compressHC_withStateHC (line 2137) | int LZ4_compressHC_withStateHC (void* state, const char* src, char* dst,...
  function LZ4_compressHC_limitedOutput_withStateHC (line 2138) | int LZ4_compressHC_limitedOutput_withStateHC (void* state, const char* s...
  function LZ4_compressHC2_withStateHC (line 2139) | int LZ4_compressHC2_withStateHC (void* state, const char* src, char* dst...
  function LZ4_compressHC2_limitedOutput_withStateHC (line 2140) | int LZ4_compressHC2_limitedOutput_withStateHC (void* state, const char* ...
  function LZ4_compressHC_continue (line 2141) | int LZ4_compressHC_continue (LZ4_streamHC_t* ctx, const char* src, char*...
  function LZ4_compressHC_limitedOutput_continue (line 2142) | int LZ4_compressHC_limitedOutput_continue (LZ4_streamHC_t* ctx, const ch...
  function LZ4_sizeofStreamStateHC (line 2146) | int LZ4_sizeofStreamStateHC(void) { return sizeof(LZ4_streamHC_t); }
  function LZ4_resetStreamStateHC (line 2150) | int LZ4_resetStreamStateHC(void* state, char* inputBuffer)
  function LZ4_freeHC (line 2167) | int LZ4_freeHC (void* LZ4HC_Data)
  function LZ4_compressHC2_continue (line 2175) | int LZ4_compressHC2_continue (void* LZ4HC_Data, const char* src, char* d...
  function LZ4_compressHC2_limitedOutput_continue (line 2180) | int LZ4_compressHC2_limitedOutput_continue (void* LZ4HC_Data, const char...

FILE: NanaZip.Codecs/LZ4/lz4hc.h
  type LZ4_streamHC_t (line 101) | typedef union LZ4_streamHC_u LZ4_streamHC_t;
  type LZ4HC_CCtx_internal (line 234) | typedef struct LZ4HC_CCtx_internal LZ4HC_CCtx_internal;
  type LZ4HC_CCtx_internal (line 235) | struct LZ4HC_CCtx_internal

FILE: NanaZip.Codecs/LZ5/lz5.c
  type LZ5_stream_t_internal (line 59) | typedef struct {
  type limitedOutput_directive (line 68) | typedef enum { notLimited = 0, limitedOutput = 1 } limitedOutput_directive;
  type tableType_t (line 69) | typedef enum { byPtr, byU32, byU16 } tableType_t;
  type dict_directive (line 71) | typedef enum { noDict = 0, withPrefix64k, usingExtDict } dict_directive;
  type dictIssue_directive (line 72) | typedef enum { noDictIssue = 0, dictSmall } dictIssue_directive;
  type endCondition_directive (line 74) | typedef enum { endOnOutputSize = 0, endOnInputSize = 1 } endCondition_di...
  type earlyEnd_directive (line 75) | typedef enum { full = 0, partial = 1 } earlyEnd_directive;
  function LZ5_versionNumber (line 81) | int LZ5_versionNumber (void) { return LZ5_VERSION_NUMBER; }
  function LZ5_compressBound (line 82) | int LZ5_compressBound(int isize)  { return LZ5_COMPRESSBOUND(isize); }
  function LZ5_sizeofState (line 83) | int LZ5_sizeofState() { return LZ5_STREAMSIZE; }
  function U32 (line 91) | static U32 LZ5_hashSequence(U32 sequence, tableType_t const tableType)
  function U32 (line 99) | static U32 LZ5_hashSequence64(size_t sequence, tableType_t const tableType)
  function U32 (line 106) | static U32 LZ5_hashSequenceT(size_t sequence, tableType_t const tableType)
  function U32 (line 113) | static U32 LZ5_hashPosition(const void* p, tableType_t tableType) { retu...
  function LZ5_putPositionOnHash (line 115) | static void LZ5_putPositionOnHash(const BYTE* p, U32 h, void* tableBase,...
  function LZ5_putPosition (line 125) | static void LZ5_putPosition(const BYTE* p, void* tableBase, tableType_t ...
  function BYTE (line 131) | static const BYTE* LZ5_getPositionOnHash(U32 h, void* tableBase, tableTy...
  function BYTE (line 138) | static const BYTE* LZ5_getPosition(const BYTE* p, void* tableBase, table...
  function FORCE_INLINE (line 144) | FORCE_INLINE int LZ5_compress_generic(
  function LZ5_compress_fast_extState (line 404) | int LZ5_compress_fast_extState(void* state, const char* source, char* de...
  function LZ5_compress_fast (line 426) | int LZ5_compress_fast(const char* source, char* dest, int inputSize, int...
  function LZ5_compress_default (line 444) | int LZ5_compress_default(const char* source, char* dest, int inputSize, ...
  function LZ5_compress_fast_force (line 452) | int LZ5_compress_fast_force(const char* source, char* dest, int inputSiz...
  function LZ5_compress_destSize_generic (line 469) | static int LZ5_compress_destSize_generic(
  function LZ5_compress_destSize_extState (line 678) | static int LZ5_compress_destSize_extState (void* state, const char* src,...
  function LZ5_compress_destSize (line 696) | int LZ5_compress_destSize(const char* src, char* dst, int* srcSizePtr, i...
  function LZ5_stream_t (line 719) | LZ5_stream_t* LZ5_createStream(void)
  function LZ5_resetStream (line 727) | void LZ5_resetStream (LZ5_stream_t* LZ5_stream)
  function LZ5_freeStream (line 732) | int LZ5_freeStream (LZ5_stream_t* LZ5_stream)
  function LZ5_loadDict (line 740) | int LZ5_loadDict (LZ5_stream_t* LZ5_dict, const char* dictionary, int di...
  function LZ5_renormDictT (line 774) | static void LZ5_renormDictT(LZ5_stream_t_internal* LZ5_dict, const BYTE*...
  function LZ5_compress_fast_continue (line 795) | int LZ5_compress_fast_continue (LZ5_stream_t* LZ5_stream, const char* so...
  function LZ5_compress_forceExtDict (line 847) | int LZ5_compress_forceExtDict (LZ5_stream_t* LZ5_dict, const char* sourc...
  function LZ5_saveDict (line 867) | int LZ5_saveDict (LZ5_stream_t* LZ5_dict, char* safeBuffer, int dictSize)
  function FORCE_INLINE (line 896) | FORCE_INLINE int LZ5_decompress_generic(
  function LZ5_decompress_safe (line 1130) | int LZ5_decompress_safe(const char* source, char* dest, int compressedSi...
  function LZ5_decompress_safe_partial (line 1135) | int LZ5_decompress_safe_partial(const char* source, char* dest, int comp...
  function LZ5_decompress_fast (line 1140) | int LZ5_decompress_fast(const char* source, char* dest, int originalSize)
  type LZ5_streamDecode_t_internal (line 1148) | typedef struct
  function LZ5_streamDecode_t (line 1161) | LZ5_streamDecode_t* LZ5_createStreamDecode(void)
  function LZ5_freeStreamDecode (line 1167) | int LZ5_freeStreamDecode (LZ5_streamDecode_t* LZ5_stream)
  function LZ5_setStreamDecode (line 1180) | int LZ5_setStreamDecode (LZ5_streamDecode_t* LZ5_streamDecode, const cha...
  function LZ5_decompress_safe_continue (line 1197) | int LZ5_decompress_safe_continue (LZ5_streamDecode_t* LZ5_streamDecode, ...
  function LZ5_decompress_fast_continue (line 1226) | int LZ5_decompress_fast_continue (LZ5_streamDecode_t* LZ5_streamDecode, ...
  function FORCE_INLINE (line 1263) | FORCE_INLINE int LZ5_decompress_usingDict_generic(const char* source, ch...
  function LZ5_decompress_safe_usingDict (line 1276) | int LZ5_decompress_safe_usingDict(const char* source, char* dest, int co...
  function LZ5_decompress_fast_usingDict (line 1281) | int LZ5_decompress_fast_usingDict(const char* source, char* dest, int or...
  function LZ5_decompress_safe_forceExtDict (line 1287) | int LZ5_decompress_safe_forceExtDict(const char* source, char* dest, int...
  function LZ5_compress_limitedOutput (line 1297) | int LZ5_compress_limitedOutput(const char* source, char* dest, int input...
  function LZ5_compress (line 1298) | int LZ5_compress(const char* source, char* dest, int inputSize) { return...
  function LZ5_compress_limitedOutput_withState (line 1299) | int LZ5_compress_limitedOutput_withState (void* state, const char* src, ...
  function LZ5_compress_withState (line 1300) | int LZ5_compress_withState (void* state, const char* src, char* dst, int...
  function LZ5_compress_limitedOutput_continue (line 1301) | int LZ5_compress_limitedOutput_continue (LZ5_stream_t* LZ5_stream, const...
  function LZ5_compress_continue (line 1302) | int LZ5_compress_continue (LZ5_stream_t* LZ5_stream, const char* source,...
  function LZ5_uncompress (line 1310) | int LZ5_uncompress (const char* source, char* dest, int outputSize) { re...
  function LZ5_uncompress_unknownOutputSize (line 1311) | int LZ5_uncompress_unknownOutputSize (const char* source, char* dest, in...
  function LZ5_sizeofStreamState (line 1316) | int LZ5_sizeofStreamState() { return LZ5_STREAMSIZE; }
  function LZ5_init (line 1318) | static void LZ5_init(LZ5_stream_t_internal* lz5ds, BYTE* base)
  function LZ5_resetStreamState (line 1324) | int LZ5_resetStreamState(void* state, char* inputBuffer)
  function LZ5_decompress_safe_withPrefix64k (line 1347) | int LZ5_decompress_safe_withPrefix64k(const char* source, char* dest, in...
  function LZ5_decompress_fast_withPrefix64k (line 1352) | int LZ5_decompress_fast_withPrefix64k(const char* source, char* dest, in...

FILE: NanaZip.Codecs/LZ5/lz5.h
  type LZ5_stream_t (line 199) | typedef struct { long long table[LZ5_STREAMSIZE_U64]; } LZ5_stream_t;
  type LZ5_streamDecode_t (line 252) | typedef struct { unsigned long long table[LZ5_STREAMDECODESIZE_U64]; } L...

FILE: NanaZip.Codecs/LZ5/lz5common.h
  type BYTE (line 121) | typedef  uint8_t BYTE;
  type U16 (line 122) | typedef uint16_t U16;
  type S16 (line 123) | typedef  int16_t S16;
  type U32 (line 124) | typedef uint32_t U32;
  type S32 (line 125) | typedef  int32_t S32;
  type U64 (line 126) | typedef uint64_t U64;
  type S64 (line 127) | typedef  int64_t S64;
  type BYTE (line 129) | typedef unsigned char       BYTE;
  type U16 (line 130) | typedef unsigned short      U16;
  type S16 (line 131) | typedef   signed short      S16;
  type U32 (line 132) | typedef unsigned int        U32;
  type S32 (line 133) | typedef   signed int        S32;
  type U64 (line 134) | typedef unsigned long long  U64;
  type S64 (line 135) | typedef   signed long long  S64;
  function U32 (line 154) | static U32 LZ5HC_hash3(U32 u, U32 h) { return (u * prime3bytes) << (32-2...
  function LZ5HC_hash3Ptr (line 155) | static size_t LZ5HC_hash3Ptr(const void* ptr, U32 h) { return LZ5HC_hash...
  function U32 (line 157) | static U32 LZ5HC_hash4(U32 u, U32 h) { return (u * prime4bytes) >> (32-h...
  function LZ5HC_hash4Ptr (line 158) | static size_t LZ5HC_hash4Ptr(const void* ptr, U32 h) { return LZ5HC_hash...
  function LZ5HC_hash5 (line 160) | static size_t LZ5HC_hash5(U64 u, U32 h) { return (size_t)((u * prime5byt...
  function LZ5HC_hash5Ptr (line 161) | static size_t LZ5HC_hash5Ptr(const void* p, U32 h) { return LZ5HC_hash5(...
  function LZ5HC_hash6 (line 163) | static size_t LZ5HC_hash6(U64 u, U32 h) { return (size_t)((u * prime6byt...
  function LZ5HC_hash6Ptr (line 164) | static size_t LZ5HC_hash6Ptr(const void* p, U32 h) { return LZ5HC_hash6(...
  function LZ5HC_hash7 (line 166) | static size_t LZ5HC_hash7(U64 u, U32 h) { return (size_t)((u * prime7byt...
  function LZ5HC_hash7Ptr (line 167) | static size_t LZ5HC_hash7Ptr(const void* p, U32 h) { return LZ5HC_hash7(...
  function LZ5HC_hashPtr (line 169) | static size_t LZ5HC_hashPtr(const void* p, U32 hBits, U32 mls)
  function LZ5_LIT_COST (line 199) | static size_t LZ5_LIT_COST(size_t len, size_t offset){ return (len)+(((o...
  function LZ5_MATCH_COST (line 200) | static size_t LZ5_MATCH_COST(size_t mlen, size_t offset) { return LZ5_LE...
  function FORCE_INLINE (line 210) | FORCE_INLINE size_t LZ5HC_get_price(size_t litlen, size_t offset, size_t...
  function FORCE_INLINE (line 215) | FORCE_INLINE size_t LZ5HC_better_price(size_t best_off, size_t best_comm...
  function FORCE_INLINE (line 221) | FORCE_INLINE size_t LZ5HC_more_profitable(size_t best_off, size_t best_c...
  type LZ5HC_strategy (line 242) | typedef enum { LZ5HC_fast, LZ5HC_price_fast, LZ5HC_lowest_price, LZ5HC_o...
  type LZ5HC_parameters (line 244) | typedef struct
  type LZ5HC_Data_s (line 258) | struct LZ5HC_Data_s
  type LZ5HC_match_t (line 276) | typedef struct
  type LZ5HC_optimal_t (line 283) | typedef struct

FILE: NanaZip.Codecs/LZ5/lz5frame.c
  type BYTE (line 75) | typedef  uint8_t BYTE;
  type U16 (line 76) | typedef uint16_t U16;
  type U32 (line 77) | typedef uint32_t U32;
  type S32 (line 78) | typedef  int32_t S32;
  type U64 (line 79) | typedef uint64_t U64;
  type BYTE (line 81) | typedef unsigned char       BYTE;
  type U16 (line 82) | typedef unsigned short      U16;
  type U32 (line 83) | typedef unsigned int        U32;
  type S32 (line 84) | typedef   signed int        S32;
  type U64 (line 85) | typedef unsigned long long  U64;
  type LZ5F_cctx_t (line 117) | typedef struct LZ5F_cctx_s
  type LZ5F_dctx_t (line 133) | typedef struct LZ5F_dctx_s
  function LZ5F_isError (line 163) | unsigned LZ5F_isError(LZ5F_errorCode_t code)
  function LZ5F_getBlockSize (line 179) | static size_t LZ5F_getBlockSize(unsigned blockSizeID)
  function U32 (line 193) | static U32 LZ5F_readLE32 (const BYTE* srcPtr)
  function LZ5F_writeLE32 (line 202) | static void LZ5F_writeLE32 (BYTE* dstPtr, U32 value32)
  function U64 (line 210) | static U64 LZ5F_readLE64 (const BYTE* srcPtr)
  function LZ5F_writeLE64 (line 223) | static void LZ5F_writeLE64 (BYTE* dstPtr, U64 value64)
  function BYTE (line 236) | static BYTE LZ5F_headerChecksum (const void* header, size_t length)
  function LZ5F_blockSizeID_t (line 246) | static LZ5F_blockSizeID_t LZ5F_optimalBSID(const LZ5F_blockSizeID_t requ...
  function LZ5F_freeStream (line 261) | void LZ5F_freeStream(LZ5F_cctx_t* cctxPtr)
  function LZ5F_compressFrameBound (line 271) | size_t LZ5F_compressFrameBound(size_t srcSize, const LZ5F_preferences_t*...
  function LZ5F_compressFrame (line 299) | size_t LZ5F_compressFrame(void* dstBuffer, size_t dstMaxSize, const void...
  function LZ5F_errorCode_t (line 362) | LZ5F_errorCode_t LZ5F_createCompressionContext(LZ5F_compressionContext_t...
  function LZ5F_errorCode_t (line 378) | LZ5F_errorCode_t LZ5F_freeCompressionContext(LZ5F_compressionContext_t L...
  function LZ5F_compressBegin (line 399) | size_t LZ5F_compressBegin(LZ5F_compressionContext_t compressionContext, ...
  function LZ5F_compressBound (line 487) | size_t LZ5F_compressBound(size_t srcSize, const LZ5F_preferences_t* pref...
  function LZ5F_compressBlock (line 508) | static size_t LZ5F_compressBlock(void* dst, const void* src, size_t srcS...
  function LZ5F_localLZ5_compress_limitedOutput_withState (line 525) | static int LZ5F_localLZ5_compress_limitedOutput_withState(void* ctx, con...
  function LZ5F_localLZ5_compress_limitedOutput_continue (line 530) | static int LZ5F_localLZ5_compress_limitedOutput_continue(void* ctx, cons...
  function LZ5F_localLZ5_compressHC_limitedOutput_continue (line 535) | static int LZ5F_localLZ5_compressHC_limitedOutput_continue(void* ctx, co...
  function compressFunc_t (line 540) | static compressFunc_t LZ5F_selectCompression(LZ5F_blockMode_t blockMode,...
  function LZ5F_localSaveDict (line 551) | static int LZ5F_localSaveDict(LZ5F_cctx_t* cctxPtr)
  type LZ5F_lastBlockStatus (line 558) | typedef enum { notDone, fromTmpBuffer, fromSrcBuffer } LZ5F_lastBlockSta...
  function LZ5F_compressUpdate (line 569) | size_t LZ5F_compressUpdate(LZ5F_compressionContext_t compressionContext,...
  function LZ5F_flush (line 680) | size_t LZ5F_flush(LZ5F_compressionContext_t compressionContext, void* ds...
  function LZ5F_compressEnd (line 721) | size_t LZ5F_compressEnd(LZ5F_compressionContext_t compressionContext, vo...
  function LZ5F_errorCode_t (line 767) | LZ5F_errorCode_t LZ5F_createDecompressionContext(LZ5F_decompressionConte...
  function LZ5F_errorCode_t (line 779) | LZ5F_errorCode_t LZ5F_freeDecompressionContext(LZ5F_decompressionContext...
  type dStage_t (line 798) | typedef enum { dstage_getHeader=0, dstage_storeHeader,
  function LZ5F_decodeHeader (line 817) | static size_t LZ5F_decodeHeader(LZ5F_dctx_t* dctxPtr, const void* srcVoi...
  function LZ5F_errorCode_t (line 935) | LZ5F_errorCode_t LZ5F_getFrameInfo(LZ5F_decompressionContext_t dCtx, LZ5...
  function LZ5F_decompress_safe (line 961) | static int LZ5F_decompress_safe (const char* source, char* dest, int com...
  function LZ5F_updateDict (line 968) | static void LZ5F_updateDict(LZ5F_dctx_t* dctxPtr, const BYTE* dstPtr, si...
  function LZ5F_decompress (line 1051) | size_t LZ5F_decompress(LZ5F_decompressionContext_t decompressionContext,

FILE: NanaZip.Codecs/LZ5/lz5frame.h
  type LZ5F_errorCode_t (line 56) | typedef size_t LZ5F_errorCode_t;
  type LZ5F_blockSizeID_t (line 72) | typedef enum {
  type LZ5F_blockMode_t (line 87) | typedef enum {
  type LZ5F_contentChecksum_t (line 94) | typedef enum {
  type LZ5F_frameType_t (line 101) | typedef enum {
  type LZ5F_blockSizeID_t (line 108) | typedef LZ5F_blockSizeID_t blockSizeID_t;
  type LZ5F_blockMode_t (line 109) | typedef LZ5F_blockMode_t blockMode_t;
  type LZ5F_frameType_t (line 110) | typedef LZ5F_frameType_t frameType_t;
  type LZ5F_contentChecksum_t (line 111) | typedef LZ5F_contentChecksum_t contentChecksum_t;
  type LZ5F_frameInfo_t (line 114) | typedef struct {
  type LZ5F_preferences_t (line 123) | typedef struct {
  type LZ5F_cctx_s (line 152) | struct LZ5F_cctx_s
  type LZ5F_compressOptions_t (line 154) | typedef struct {
  type LZ5F_dctx_s (line 232) | struct LZ5F_dctx_s
  type LZ5F_decompressOptions_t (line 234) | typedef struct {

FILE: NanaZip.Codecs/LZ5/lz5frame_static.h
  type LZ5F_errorCodes (line 76) | typedef enum { LZ5F_LIST_ERRORS(LZ5F_GENERATE_ENUM) } LZ5F_errorCodes;

FILE: NanaZip.Codecs/LZ5/lz5hc.c
  function LZ5_alloc_mem_HC (line 55) | int LZ5_alloc_mem_HC(LZ5HC_Data_Structure* ctx, int compressionLevel)
  function LZ5_free_mem_HC (line 80) | void LZ5_free_mem_HC(LZ5HC_Data_Structure* ctx)
  function LZ5HC_init (line 88) | static void LZ5HC_init (LZ5HC_Data_Structure* ctx, const BYTE* start)
  function FORCE_INLINE (line 115) | FORCE_INLINE void LZ5HC_BinTree_Insert(LZ5HC_Data_Structure* ctx, const ...
  function FORCE_INLINE (line 135) | FORCE_INLINE void LZ5HC_BinTree_InsertFull(LZ5HC_Data_Structure* ctx, co...
  function FORCE_INLINE (line 239) | FORCE_INLINE void LZ5HC_Insert (LZ5HC_Data_Structure* ctx, const BYTE* ip)
  function FORCE_INLINE (line 267) | FORCE_INLINE int LZ5HC_FindBestMatch (LZ5HC_Data_Structure* ctx,   /* In...
  function FORCE_INLINE (line 349) | FORCE_INLINE int LZ5HC_FindMatchFast (LZ5HC_Data_Structure* ctx, U32 mat...
  function FORCE_INLINE (line 420) | FORCE_INLINE int LZ5HC_FindMatchFaster (LZ5HC_Data_Structure* ctx, U32 m...
  function FORCE_INLINE (line 471) | FORCE_INLINE int LZ5HC_FindMatchFastest (LZ5HC_Data_Structure* ctx, U32 ...
  function FORCE_INLINE (line 514) | FORCE_INLINE size_t LZ5HC_GetWiderMatch (
  function FORCE_INLINE (line 640) | FORCE_INLINE int LZ5HC_GetAllMatches (
  function FORCE_INLINE (line 772) | FORCE_INLINE int LZ5HC_BinTree_GetAllMatches (
  type limitedOutput_directive (line 915) | typedef enum { noLimit = 0, limitedOutput = 1 } limitedOutput_directive;
  function FORCE_INLINE (line 925) | FORCE_INLINE int LZ5HC_encodeSequence (
  function LZ5HC_compress_optimal_price (line 1012) | static int LZ5HC_compress_optimal_price (
  function LZ5HC_compress_lowest_price (line 1387) | static int LZ5HC_compress_lowest_price (
  function LZ5HC_compress_price_fast (line 1532) | static int LZ5HC_compress_price_fast (
  function LZ5HC_compress_fast (line 1666) | static int LZ5HC_compress_fast (
  function LZ5HC_compress_generic (line 1735) | static int LZ5HC_compress_generic (void* ctxvoid, const char* source, ch...
  function LZ5_sizeofStateHC (line 1755) | int LZ5_sizeofStateHC(void) { return sizeof(LZ5HC_Data_Structure); }
  function LZ5_compress_HC_extStateHC (line 1757) | int LZ5_compress_HC_extStateHC (void* state, const char* src, char* dst,...
  function LZ5_compress_HC (line 1768) | int LZ5_compress_HC(const char* src, char* dst, int srcSize, int maxDstS...
  function LZ5_streamHC_t (line 1789) | LZ5_streamHC_t* LZ5_createStreamHC(int compressionLevel)
  function LZ5_freeStreamHC (line 1803) | int LZ5_freeStreamHC (LZ5_streamHC_t* LZ5_streamHCPtr)
  function LZ5_resetStreamHC (line 1816) | void LZ5_resetStreamHC (LZ5_streamHC_t* LZ5_streamHCPtr)
  function LZ5_loadDictHC (line 1822) | int LZ5_loadDictHC (LZ5_streamHC_t* LZ5_streamHCPtr, const char* diction...
  function LZ5HC_setExternalDict (line 1839) | static void LZ5HC_setExternalDict(LZ5HC_Data_Structure* ctxPtr, const BY...
  function LZ5_compressHC_continue_generic (line 1852) | static int LZ5_compressHC_continue_generic (LZ5HC_Data_Structure* ctxPtr,
  function LZ5_compress_HC_continue (line 1889) | int LZ5_compress_HC_continue (LZ5_streamHC_t* LZ5_streamHCPtr, const cha...
  function LZ5_saveDictHC (line 1900) | int LZ5_saveDictHC (LZ5_streamHC_t* LZ5_streamHCPtr, char* safeBuffer, i...
  function LZ5_compressHC (line 1924) | int LZ5_compressHC(const char* src, char* dst, int srcSize) { return LZ5...
  function LZ5_compressHC_limitedOutput (line 1925) | int LZ5_compressHC_limitedOutput(const char* src, char* dst, int srcSize...
  function LZ5_compressHC_continue (line 1926) | int LZ5_compressHC_continue (LZ5_streamHC_t* ctx, const char* src, char*...
  function LZ5_compressHC_limitedOutput_continue (line 1927) | int LZ5_compressHC_limitedOutput_continue (LZ5_streamHC_t* ctx, const ch...
  function LZ5_compressHC_withStateHC (line 1928) | int LZ5_compressHC_withStateHC (void* state, const char* src, char* dst,...
  function LZ5_compressHC_limitedOutput_withStateHC (line 1929) | int LZ5_compressHC_limitedOutput_withStateHC (void* state, const char* s...

FILE: NanaZip.Codecs/LZ5/lz5hc.h
  type LZ5HC_Data_Structure (line 69) | typedef struct LZ5HC_Data_s LZ5HC_Data_Structure;
  type LZ5_streamHC_t (line 95) | typedef struct { size_t table[LZ5_STREAMHCSIZE_SIZET]; } LZ5_streamHC_t;

FILE: NanaZip.Codecs/LZ5/mem.h
  function MEM_32bits (line 90) | MEM_STATIC unsigned MEM_32bits(void) { return sizeof(void*)==4; }
  function MEM_64bits (line 91) | MEM_STATIC unsigned MEM_64bits(void) { return sizeof(void*)==8; }
  function MEM_isLittleEndian (line 93) | MEM_STATIC unsigned MEM_isLittleEndian(void)
  function MEM_STATIC (line 103) | MEM_STATIC U16 MEM_read16(const void* memPtr) { return *(const U16*) mem...
  function MEM_STATIC (line 104) | MEM_STATIC U32 MEM_read32(const void* memPtr) { return *(const U32*) mem...
  function MEM_STATIC (line 105) | MEM_STATIC U64 MEM_read64(const void* memPtr) { return *(const U64*) mem...
  function MEM_STATIC (line 107) | MEM_STATIC void MEM_write16(void* memPtr, U16 value) { *(U16*)memPtr = v...
  function MEM_STATIC (line 108) | MEM_STATIC void MEM_write32(void* memPtr, U32 value) { *(U32*)memPtr = v...
  function MEM_STATIC (line 109) | MEM_STATIC void MEM_write64(void* memPtr, U64 value) { *(U64*)memPtr = v...
  type unalign (line 115) | typedef union { U16 u16; U32 u32; U64 u64; } __attribute__((packed)) una...
  function MEM_STATIC (line 117) | MEM_STATIC U16 MEM_read16(const void* ptr) { return ((const unalign*)ptr...
  function MEM_STATIC (line 118) | MEM_STATIC U32 MEM_read32(const void* ptr) { return ((const unalign*)ptr...
  function MEM_STATIC (line 119) | MEM_STATIC U64 MEM_read64(const void* ptr) { return ((const unalign*)ptr...
  function MEM_STATIC (line 121) | MEM_STATIC void MEM_write16(void* memPtr, U16 value) { ((unalign*)memPtr...
  function MEM_STATIC (line 122) | MEM_STATIC void MEM_write32(void* memPtr, U32 value) { ((unalign*)memPtr...
  function MEM_STATIC (line 123) | MEM_STATIC void MEM_write64(void* memPtr, U64 value) { ((unalign*)memPtr...
  function MEM_STATIC (line 130) | MEM_STATIC U16 MEM_read16(const void* memPtr)
  function MEM_STATIC (line 135) | MEM_STATIC U32 MEM_read32(const void* memPtr)
  function MEM_STATIC (line 140) | MEM_STATIC U64 MEM_read64(const void* memPtr)
  function MEM_STATIC (line 145) | MEM_STATIC void MEM_write16(void* memPtr, U16 value)
  function MEM_STATIC (line 150) | MEM_STATIC void MEM_write32(void* memPtr, U32 value)
  function MEM_STATIC (line 155) | MEM_STATIC void MEM_write64(void* memPtr, U64 value)
  function MEM_STATIC (line 163) | MEM_STATIC U16 MEM_readLE16(const void* memPtr)
  function MEM_STATIC (line 174) | MEM_STATIC void MEM_writeLE16(void* memPtr, U16 val)
  function MEM_STATIC (line 188) | MEM_STATIC U32 MEM_readLE24(const void* memPtr)
  function MEM_STATIC (line 203) | MEM_STATIC void MEM_writeLE24(void* memPtr, U32 value)
  function MEM_STATIC (line 219) | MEM_STATIC U32 MEM_readLE32(const void* memPtr)
  function MEM_STATIC (line 230) | MEM_STATIC void MEM_writeLE32(void* memPtr, U32 val32)
  function MEM_STATIC (line 246) | MEM_STATIC U64 MEM_readLE64(const void* memPtr)
  function MEM_STATIC (line 258) | MEM_STATIC void MEM_writeLE64(void* memPtr, U64 val64)
  function MEM_STATIC (line 278) | MEM_STATIC size_t MEM_readLEST(const void* memPtr)
  function MEM_STATIC (line 286) | MEM_STATIC void MEM_writeLEST(void* memPtr, size_t val)
  function MEM_read_ARCH (line 305) | static size_t MEM_read_ARCH(const void* p) { size_t r; memcpy(&r, p, siz...
  function MEM_NbCommonBytes (line 333) | MEM_STATIC unsigned MEM_NbCommonBytes (register size_t val)
  function MEM_STATIC (line 402) | MEM_STATIC size_t MEM_count(const BYTE* pIn, const BYTE* pMatch, const B...
  function MEM_copy8 (line 421) | static void MEM_copy8(void* dst, const void* src) { memcpy(dst, src, 8); }
  function MEM_wildCopy (line 438) | static void MEM_wildCopy(void* dstPtr, const void* srcPtr, void* dstEnd)

FILE: NanaZip.Codecs/LittleFS/lfs.c
  function lfs_cache_drop (line 31) | static inline void lfs_cache_drop(lfs_t *lfs, lfs_cache_t *rcache) {
  function lfs_cache_zero (line 38) | static inline void lfs_cache_zero(lfs_t *lfs, lfs_cache_t *pcache) {
  function lfs_bd_read (line 44) | static int lfs_bd_read(lfs_t *lfs,
  function lfs_bd_cmp (line 127) | static int lfs_bd_cmp(lfs_t *lfs,
  function lfs_bd_crc (line 154) | static int lfs_bd_crc(lfs_t *lfs,
  function lfs_bd_flush (line 176) | static int lfs_bd_flush(lfs_t *lfs,
  function lfs_bd_sync (line 211) | static int lfs_bd_sync(lfs_t *lfs,
  function lfs_bd_prog (line 227) | static int lfs_bd_prog(lfs_t *lfs,
  function lfs_bd_erase (line 275) | static int lfs_bd_erase(lfs_t *lfs, lfs_block_t block) {
  function lfs_size_t (line 287) | static inline lfs_size_t lfs_path_namelen(const char *path) {
  function lfs_path_islast (line 291) | static inline bool lfs_path_islast(const char *path) {
  function lfs_path_isdir (line 296) | static inline bool lfs_path_isdir(const char *path) {
  function lfs_pair_swap (line 301) | static inline void lfs_pair_swap(lfs_block_t pair[2]) {
  function lfs_pair_isnull (line 307) | static inline bool lfs_pair_isnull(const lfs_block_t pair[2]) {
  function lfs_pair_cmp (line 311) | static inline int lfs_pair_cmp(
  function lfs_pair_issync (line 318) | static inline bool lfs_pair_issync(
  function lfs_pair_fromle32 (line 325) | static inline void lfs_pair_fromle32(lfs_block_t pair[2]) {
  function lfs_pair_tole32 (line 331) | static inline void lfs_pair_tole32(lfs_block_t pair[2]) {
  type lfs_tag_t (line 338) | typedef uint32_t lfs_tag_t;
  type lfs_stag_t (line 339) | typedef int32_t lfs_stag_t;
  function lfs_tag_isvalid (line 350) | static inline bool lfs_tag_isvalid(lfs_tag_t tag) {
  function lfs_tag_isdelete (line 354) | static inline bool lfs_tag_isdelete(lfs_tag_t tag) {
  function lfs_tag_type1 (line 358) | static inline uint16_t lfs_tag_type1(lfs_tag_t tag) {
  function lfs_tag_type2 (line 362) | static inline uint16_t lfs_tag_type2(lfs_tag_t tag) {
  function lfs_tag_type3 (line 366) | static inline uint16_t lfs_tag_type3(lfs_tag_t tag) {
  function lfs_tag_chunk (line 370) | static inline uint8_t lfs_tag_chunk(lfs_tag_t tag) {
  function lfs_tag_splice (line 374) | static inline int8_t lfs_tag_splice(lfs_tag_t tag) {
  function lfs_tag_id (line 378) | static inline uint16_t lfs_tag_id(lfs_tag_t tag) {
  function lfs_size_t (line 382) | static inline lfs_size_t lfs_tag_size(lfs_tag_t tag) {
  function lfs_size_t (line 386) | static inline lfs_size_t lfs_tag_dsize(lfs_tag_t tag) {
  type lfs_mattr (line 391) | struct lfs_mattr {
  type lfs_diskoff (line 396) | struct lfs_diskoff {
  function lfs_gstate_xor (line 406) | static inline void lfs_gstate_xor(lfs_gstate_t *a, const lfs_gstate_t *b) {
  function lfs_gstate_iszero (line 412) | static inline bool lfs_gstate_iszero(const lfs_gstate_t *a) {
  function lfs_gstate_hasorphans (line 419) | static inline bool lfs_gstate_hasorphans(const lfs_gstate_t *a) {
  function lfs_gstate_getorphans (line 423) | static inline uint8_t lfs_gstate_getorphans(const lfs_gstate_t *a) {
  function lfs_gstate_hasmove (line 427) | static inline bool lfs_gstate_hasmove(const lfs_gstate_t *a) {
  function lfs_gstate_needssuperblock (line 432) | static inline bool lfs_gstate_needssuperblock(const lfs_gstate_t *a) {
  function lfs_gstate_hasmovehere (line 436) | static inline bool lfs_gstate_hasmovehere(const lfs_gstate_t *a,
  function lfs_gstate_fromle32 (line 441) | static inline void lfs_gstate_fromle32(lfs_gstate_t *a) {
  function lfs_gstate_tole32 (line 448) | static inline void lfs_gstate_tole32(lfs_gstate_t *a) {
  type lfs_fcrc (line 456) | struct lfs_fcrc {
  function lfs_fcrc_fromle32 (line 461) | static void lfs_fcrc_fromle32(struct lfs_fcrc *fcrc) {
  function lfs_fcrc_tole32 (line 467) | static void lfs_fcrc_tole32(struct lfs_fcrc *fcrc) {
  function lfs_ctz_fromle32 (line 474) | static void lfs_ctz_fromle32(struct lfs_ctz *ctz) {
  function lfs_ctz_tole32 (line 480) | static void lfs_ctz_tole32(struct lfs_ctz *ctz) {
  function lfs_superblock_fromle32 (line 486) | static inline void lfs_superblock_fromle32(lfs_superblock_t *superblock) {
  function lfs_superblock_tole32 (line 496) | static inline void lfs_superblock_tole32(lfs_superblock_t *superblock) {
  function lfs_mlist_isopen (line 507) | static bool lfs_mlist_isopen(struct lfs_mlist *head,
  function lfs_mlist_remove (line 519) | static void lfs_mlist_remove(lfs_t *lfs, struct lfs_mlist *mlist) {
  function lfs_mlist_append (line 528) | static void lfs_mlist_append(lfs_t *lfs, struct lfs_mlist *mlist) {
  function lfs_fs_disk_version (line 534) | static uint32_t lfs_fs_disk_version(lfs_t *lfs) {
  function lfs_fs_disk_version_major (line 546) | static uint16_t lfs_fs_disk_version_major(lfs_t *lfs) {
  function lfs_fs_disk_version_minor (line 551) | static uint16_t lfs_fs_disk_version_minor(lfs_t *lfs) {
  type lfs_mattr (line 559) | struct lfs_mattr
  type lfs_mattr (line 561) | struct lfs_mattr
  function lfs_alloc_ckpoint (line 613) | static void lfs_alloc_ckpoint(lfs_t *lfs) {
  function lfs_alloc_drop (line 619) | static void lfs_alloc_drop(lfs_t *lfs) {
  function lfs_alloc_lookahead (line 626) | static int lfs_alloc_lookahead(void *p, lfs_block_t block) {
  function lfs_alloc_scan (line 640) | static int lfs_alloc_scan(lfs_t *lfs) {
  function lfs_alloc (line 665) | static int lfs_alloc(lfs_t *lfs, lfs_block_t *block) {
  function lfs_stag_t (line 718) | static lfs_stag_t lfs_dir_getslice(lfs_t *lfs, const lfs_mdir_t *dir,
  function lfs_stag_t (line 783) | static lfs_stag_t lfs_dir_get(lfs_t *lfs, const lfs_mdir_t *dir,
  function lfs_dir_getread (line 790) | static int lfs_dir_getread(lfs_t *lfs, const lfs_mdir_t *dir,
  function lfs_dir_traverse_filter (line 852) | static int lfs_dir_traverse_filter(void *p,
  type lfs_dir_traverse (line 891) | struct lfs_dir_traverse {
  function lfs_dir_traverse (line 912) | static int lfs_dir_traverse(lfs_t *lfs,
  function lfs_stag_t (line 1107) | static lfs_stag_t lfs_dir_fetchmatch(lfs_t *lfs,
  function lfs_dir_fetch (line 1386) | static int lfs_dir_fetch(lfs_t *lfs,
  function lfs_dir_getgstate (line 1394) | static int lfs_dir_getgstate(lfs_t *lfs, const lfs_mdir_t *dir,
  function lfs_dir_getinfo (line 1412) | static int lfs_dir_getinfo(lfs_t *lfs, lfs_mdir_t *dir,
  type lfs_dir_find_match (line 1446) | struct lfs_dir_find_match {
  function lfs_dir_find_match (line 1452) | static int lfs_dir_find_match(void *data,
  function lfs_stag_t (line 1482) | static lfs_stag_t lfs_dir_find(lfs_t *lfs, lfs_mdir_t *dir,
  type lfs_commit (line 1592) | struct lfs_commit {
  function lfs_dir_commitprog (line 1603) | static int lfs_dir_commitprog(lfs_t *lfs, struct lfs_commit *commit,
  function lfs_dir_commitattr (line 1620) | static int lfs_dir_commitattr(lfs_t *lfs, struct lfs_commit *commit,
  function lfs_dir_commitcrc (line 1668) | static int lfs_dir_commitcrc(lfs_t *lfs, struct lfs_commit *commit) {
  function lfs_dir_alloc (line 1814) | static int lfs_dir_alloc(lfs_t *lfs, lfs_mdir_t *dir) {
  function lfs_dir_drop (line 1858) | static int lfs_dir_drop(lfs_t *lfs, lfs_mdir_t *dir, lfs_mdir_t *tail) {
  function lfs_dir_split (line 1879) | static int lfs_dir_split(lfs_t *lfs,
  function lfs_dir_commit_size (line 1914) | static int lfs_dir_commit_size(void *p, lfs_tag_t tag, const void *buffe...
  type lfs_dir_commit_commit (line 1924) | struct lfs_dir_commit_commit {
  function lfs_dir_commit_commit (line 1931) | static int lfs_dir_commit_commit(void *p, lfs_tag_t tag, const void *buf...
  function lfs_dir_needsrelocation (line 1938) | static bool lfs_dir_needsrelocation(lfs_t *lfs, lfs_mdir_t *dir) {
  function lfs_dir_compact (line 1951) | static int lfs_dir_compact(lfs_t *lfs,
  function lfs_dir_splittingcompact (line 2124) | static int lfs_dir_splittingcompact(lfs_t *lfs, lfs_mdir_t *dir,
  function lfs_dir_relocatingcommit (line 2233) | static int lfs_dir_relocatingcommit(lfs_t *lfs, lfs_mdir_t *dir,
  function lfs_dir_orphaningcommit (line 2407) | static int lfs_dir_orphaningcommit(lfs_t *lfs, lfs_mdir_t *dir,
  function lfs_dir_commit (line 2600) | static int lfs_dir_commit(lfs_t *lfs, lfs_mdir_t *dir,
  function lfs_mkdir_ (line 2624) | static int lfs_mkdir_(lfs_t *lfs, const char *path) {
  function lfs_dir_open_ (line 2720) | static int lfs_dir_open_(lfs_t *lfs, lfs_dir_t *dir, const char *path) {
  function lfs_dir_close_ (line 2764) | static int lfs_dir_close_(lfs_t *lfs, lfs_dir_t *dir) {
  function lfs_dir_read_ (line 2771) | static int lfs_dir_read_(lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *in...
  function lfs_dir_seek_ (line 2816) | static int lfs_dir_seek_(lfs_t *lfs, lfs_dir_t *dir, lfs_off_t off) {
  function lfs_soff_t (line 2853) | static lfs_soff_t lfs_dir_tell_(lfs_t *lfs, lfs_dir_t *dir) {
  function lfs_dir_rewind_ (line 2858) | static int lfs_dir_rewind_(lfs_t *lfs, lfs_dir_t *dir) {
  function lfs_ctz_index (line 2872) | static int lfs_ctz_index(lfs_t *lfs, lfs_off_t *off) {
  function lfs_ctz_find (line 2885) | static int lfs_ctz_find(lfs_t *lfs,
  function lfs_ctz_extend (line 2920) | static int lfs_ctz_extend(lfs_t *lfs,
  function lfs_ctz_traverse (line 3019) | static int lfs_ctz_traverse(lfs_t *lfs,
  type lfs_file_config (line 3066) | struct lfs_file_config
  type lfs_mlist (line 3096) | struct lfs_mlist
  function lfs_file_open_ (line 3237) | static int lfs_file_open_(lfs_t *lfs, lfs_file_t *file,
  function lfs_file_close_ (line 3245) | static int lfs_file_close_(lfs_t *lfs, lfs_file_t *file) {
  function lfs_file_relocate (line 3265) | static int lfs_file_relocate(lfs_t *lfs, lfs_file_t *file) {
  function lfs_file_outline (line 3336) | static int lfs_file_outline(lfs_t *lfs, lfs_file_t *file) {
  function lfs_file_flush (line 3349) | static int lfs_file_flush(lfs_t *lfs, lfs_file_t *file) {
  function lfs_file_sync_ (line 3430) | static int lfs_file_sync_(lfs_t *lfs, lfs_file_t *file) {
  function lfs_ssize_t (line 3491) | static lfs_ssize_t lfs_file_flushedread(lfs_t *lfs, lfs_file_t *file,
  function lfs_ssize_t (line 3552) | static lfs_ssize_t lfs_file_read_(lfs_t *lfs, lfs_file_t *file,
  function lfs_ssize_t (line 3571) | static lfs_ssize_t lfs_file_flushedwrite(lfs_t *lfs, lfs_file_t *file,
  function lfs_ssize_t (line 3655) | static lfs_ssize_t lfs_file_write_(lfs_t *lfs, lfs_file_t *file,
  function lfs_soff_t (line 3699) | static lfs_soff_t lfs_file_seek_(lfs_t *lfs, lfs_file_t *file,
  function lfs_file_truncate_ (line 3752) | static int lfs_file_truncate_(lfs_t *lfs, lfs_file_t *file, lfs_off_t si...
  function lfs_soff_t (line 3834) | static lfs_soff_t lfs_file_tell_(lfs_t *lfs, lfs_file_t *file) {
  function lfs_file_rewind_ (line 3839) | static int lfs_file_rewind_(lfs_t *lfs, lfs_file_t *file) {
  function lfs_soff_t (line 3848) | static lfs_soff_t lfs_file_size_(lfs_t *lfs, lfs_file_t *file) {
  function lfs_stat_ (line 3862) | static int lfs_stat_(lfs_t *lfs, const char *path, struct lfs_info *info) {
  function lfs_remove_ (line 3879) | static int lfs_remove_(lfs_t *lfs, const char *path) {
  function lfs_rename_ (line 3958) | static int lfs_rename_(lfs_t *lfs, const char *oldpath, const char *newp...
  function lfs_ssize_t (line 4102) | static lfs_ssize_t lfs_getattr_(lfs_t *lfs, const char *path,
  function lfs_commitattr (line 4136) | static int lfs_commitattr(lfs_t *lfs, const char *path,
  function lfs_setattr_ (line 4160) | static int lfs_setattr_(lfs_t *lfs, const char *path,
  function lfs_removeattr_ (line 4171) | static int lfs_removeattr_(lfs_t *lfs, const char *path, uint8_t type) {
  function lfs_init (line 4193) | static int lfs_init(lfs_t *lfs, const struct lfs_config *cfg) {
  function lfs_deinit (line 4366) | static int lfs_deinit(lfs_t *lfs) {
  function lfs_format_ (line 4386) | static int lfs_format_(lfs_t *lfs, const struct lfs_config *cfg) {
  type lfs_tortoise_t (line 4453) | struct lfs_tortoise_t {
  function lfs_tortoise_detectcycles (line 4459) | static int lfs_tortoise_detectcycles(
  function lfs_mount_ (line 4477) | static int lfs_mount_(lfs_t *lfs, const struct lfs_config *cfg) {
  function lfs_unmount_ (line 4642) | static int lfs_unmount_(lfs_t *lfs) {
  function lfs_fs_stat_ (line 4648) | static int lfs_fs_stat_(lfs_t *lfs, struct lfs_fsinfo *fsinfo) {
  function lfs_fs_traverse_ (line 4688) | int lfs_fs_traverse_(lfs_t *lfs,
  function lfs_fs_pred (line 4791) | static int lfs_fs_pred(lfs_t *lfs,
  type lfs_fs_parent_match (line 4823) | struct lfs_fs_parent_match {
  function lfs_fs_parent_match (line 4830) | static int lfs_fs_parent_match(void *data,
  function lfs_stag_t (line 4851) | static lfs_stag_t lfs_fs_parent(lfs_t *lfs, const lfs_block_t pair[2],
  function lfs_fs_prepsuperblock (line 4883) | static void lfs_fs_prepsuperblock(lfs_t *lfs, bool needssuperblock) {
  function lfs_fs_preporphans (line 4889) | static int lfs_fs_preporphans(lfs_t *lfs, int8_t orphans) {
  function lfs_fs_prepmove (line 4901) | static void lfs_fs_prepmove(lfs_t *lfs,
  function lfs_fs_desuperblock (line 4911) | static int lfs_fs_desuperblock(lfs_t *lfs) {
  function lfs_fs_demove (line 4950) | static int lfs_fs_demove(lfs_t *lfs) {
  function lfs_fs_deorphan (line 4986) | static int lfs_fs_deorphan(lfs_t *lfs, bool powerloss) {
  function lfs_fs_forceconsistency (line 5117) | static int lfs_fs_forceconsistency(lfs_t *lfs) {
  function lfs_fs_mkconsistent_ (line 5138) | static int lfs_fs_mkconsistent_(lfs_t *lfs) {
  function lfs_fs_size_count (line 5167) | static int lfs_fs_size_count(void *p, lfs_block_t block) {
  function lfs_ssize_t (line 5174) | static lfs_ssize_t lfs_fs_size_(lfs_t *lfs) {
  function lfs_fs_gc_ (line 5186) | static int lfs_fs_gc_(lfs_t *lfs) {
  function lfs_fs_grow_ (line 5236) | static int lfs_fs_grow_(lfs_t *lfs, lfs_size_t block_count) {
  type lfs1_type (line 5297) | enum lfs1_type {
  type lfs1_t (line 5303) | typedef struct lfs1 {
  type lfs1_entry_t (line 5307) | typedef struct lfs1_entry {
  type lfs1_dir_t (line 5325) | typedef struct lfs1_dir {
  type lfs1_superblock_t (line 5340) | typedef struct lfs1_superblock {
  function lfs1_crc (line 5358) | static void lfs1_crc(uint32_t *crc, const void *buffer, size_t size) {
  function lfs1_bd_read (line 5362) | static int lfs1_bd_read(lfs_t *lfs, lfs_block_t block,
  function lfs1_bd_crc (line 5370) | static int lfs1_bd_crc(lfs_t *lfs, lfs_block_t block,
  function lfs1_dir_fromle32 (line 5387) | static void lfs1_dir_fromle32(struct lfs1_disk_dir *d) {
  function lfs1_dir_tole32 (line 5394) | static void lfs1_dir_tole32(struct lfs1_disk_dir *d) {
  function lfs1_entry_fromle32 (line 5401) | static void lfs1_entry_fromle32(struct lfs1_disk_entry *d) {
  function lfs1_entry_tole32 (line 5406) | static void lfs1_entry_tole32(struct lfs1_disk_entry *d) {
  function lfs1_superblock_fromle32 (line 5411) | static void lfs1_superblock_fromle32(struct lfs1_disk_superblock *d) {
  function lfs_size_t (line 5421) | static inline lfs_size_t lfs1_entry_size(const lfs1_entry_t *entry) {
  function lfs1_dir_fetch (line 5425) | static int lfs1_dir_fetch(lfs_t *lfs,
  function lfs1_dir_next (line 5487) | static int lfs1_dir_next(lfs_t *lfs, lfs1_dir_t *dir, lfs1_entry_t *entr...
  function lfs1_traverse (line 5517) | int lfs1_traverse(lfs_t *lfs, int (*cb)(void*, lfs_block_t), void *data) {
  function lfs1_moved (line 5586) | static int lfs1_moved(lfs_t *lfs, const void *e) {
  function lfs1_mount (line 5627) | static int lfs1_mount(lfs_t *lfs, struct lfs1 *lfs1,
  function lfs1_unmount (line 5690) | static int lfs1_unmount(lfs_t *lfs) {
  function lfs_migrate_ (line 5695) | static int lfs_migrate_(lfs_t *lfs, const struct lfs_config *cfg) {
  function lfs_format (line 5940) | int lfs_format(lfs_t *lfs, const struct lfs_config *cfg) {
  function lfs_mount (line 5970) | int lfs_mount(lfs_t *lfs, const struct lfs_config *cfg) {
  function lfs_unmount (line 5999) | int lfs_unmount(lfs_t *lfs) {
  function lfs_remove (line 6014) | int lfs_remove(lfs_t *lfs, const char *path) {
  function lfs_rename (line 6030) | int lfs_rename(lfs_t *lfs, const char *oldpath, const char *newpath) {
  function lfs_stat (line 6045) | int lfs_stat(lfs_t *lfs, const char *path, struct lfs_info *info) {
  function lfs_ssize_t (line 6059) | lfs_ssize_t lfs_getattr(lfs_t *lfs, const char *path,
  function lfs_setattr (line 6076) | int lfs_setattr(lfs_t *lfs, const char *path,
  function lfs_removeattr (line 6094) | int lfs_removeattr(lfs_t *lfs, const char *path, uint8_t type) {
  function lfs_file_open (line 6110) | int lfs_file_open(lfs_t *lfs, lfs_file_t *file, const char *path, int fl...
  function lfs_file_opencfg (line 6127) | int lfs_file_opencfg(lfs_t *lfs, lfs_file_t *file,
  function lfs_file_close (line 6147) | int lfs_file_close(lfs_t *lfs, lfs_file_t *file) {
  function lfs_file_sync (line 6163) | int lfs_file_sync(lfs_t *lfs, lfs_file_t *file) {
  function lfs_ssize_t (line 6179) | lfs_ssize_t lfs_file_read(lfs_t *lfs, lfs_file_t *file,
  function lfs_ssize_t (line 6197) | lfs_ssize_t lfs_file_write(lfs_t *lfs, lfs_file_t *file,
  function lfs_soff_t (line 6215) | lfs_soff_t lfs_file_seek(lfs_t *lfs, lfs_file_t *file,
  function lfs_file_truncate (line 6233) | int lfs_file_truncate(lfs_t *lfs, lfs_file_t *file, lfs_off_t size) {
  function lfs_soff_t (line 6250) | lfs_soff_t lfs_file_tell(lfs_t *lfs, lfs_file_t *file) {
  function lfs_file_rewind (line 6265) | int lfs_file_rewind(lfs_t *lfs, lfs_file_t *file) {
  function lfs_soff_t (line 6279) | lfs_soff_t lfs_file_size(lfs_t *lfs, lfs_file_t *file) {
  function lfs_mkdir (line 6295) | int lfs_mkdir(lfs_t *lfs, const char *path) {
  function lfs_dir_open (line 6310) | int lfs_dir_open(lfs_t *lfs, lfs_dir_t *dir, const char *path) {
  function lfs_dir_close (line 6325) | int lfs_dir_close(lfs_t *lfs, lfs_dir_t *dir) {
  function lfs_dir_read (line 6339) | int lfs_dir_read(lfs_t *lfs, lfs_dir_t *dir, struct lfs_info *info) {
  function lfs_dir_seek (line 6354) | int lfs_dir_seek(lfs_t *lfs, lfs_dir_t *dir, lfs_off_t off) {
  function lfs_soff_t (line 6369) | lfs_soff_t lfs_dir_tell(lfs_t *lfs, lfs_dir_t *dir) {
  function lfs_dir_rewind (line 6383) | int lfs_dir_rewind(lfs_t *lfs, lfs_dir_t *dir) {
  function lfs_fs_stat (line 6397) | int lfs_fs_stat(lfs_t *lfs, struct lfs_fsinfo *fsinfo) {
  function lfs_ssize_t (line 6411) | lfs_ssize_t lfs_fs_size(lfs_t *lfs) {
  function lfs_fs_traverse (line 6425) | int lfs_fs_traverse(lfs_t *lfs, int (*cb)(void *, lfs_block_t), void *da...
  function lfs_fs_mkconsistent (line 6441) | int lfs_fs_mkconsistent(lfs_t *lfs) {
  function lfs_fs_gc (line 6457) | int lfs_fs_gc(lfs_t *lfs) {
  function lfs_fs_grow (line 6473) | int lfs_fs_grow(lfs_t *lfs, lfs_size_t block_count) {
  function lfs_migrate (line 6489) | int lfs_migrate(lfs_t *lfs, const struct lfs_config *cfg) {

FILE: NanaZip.Codecs/LittleFS/lfs.h
  type lfs_size_t (line 39) | typedef uint32_t lfs_size_t;
  type lfs_off_t (line 40) | typedef uint32_t lfs_off_t;
  type lfs_ssize_t (line 42) | typedef int32_t  lfs_ssize_t;
  type lfs_soff_t (line 43) | typedef int32_t  lfs_soff_t;
  type lfs_block_t (line 45) | typedef uint32_t lfs_block_t;
  type lfs_error (line 70) | enum lfs_error {
  type lfs_type (line 89) | enum lfs_type {
  type lfs_open_flags (line 124) | enum lfs_open_flags {
  type lfs_whence_flags (line 149) | enum lfs_whence_flags {
  type lfs_config (line 157) | struct lfs_config {
  type lfs_info (line 296) | struct lfs_info {
  type lfs_fsinfo (line 311) | struct lfs_fsinfo {
  type lfs_attr (line 333) | struct lfs_attr {
  type lfs_file_config (line 346) | struct lfs_file_config {
  type lfs_cache_t (line 370) | typedef struct lfs_cache {
  type lfs_mdir_t (line 377) | typedef struct lfs_mdir {
  type lfs_dir_t (line 389) | typedef struct lfs_dir {
  type lfs_file_t (line 400) | typedef struct lfs_file {
  type lfs_superblock_t (line 420) | typedef struct lfs_superblock {
  type lfs_gstate_t (line 429) | typedef struct lfs_gstate {
  type lfs_t (line 435) | typedef struct lfs {
  type lfs_config (line 483) | struct lfs_config
  type lfs_config (line 494) | struct lfs_config
  type lfs_info (line 526) | struct lfs_info
  type lfs_file_config (line 593) | struct lfs_file_config
  type lfs_info (line 686) | struct lfs_info
  type lfs_fsinfo (line 716) | struct lfs_fsinfo
  type lfs_config (line 788) | struct lfs_config

FILE: NanaZip.Codecs/LittleFS/lfs_util.c
  function lfs_crc (line 17) | uint32_t lfs_crc(uint32_t crc, const void *buffer, size_t size) {

FILE: NanaZip.Codecs/LittleFS/lfs_util.h
  function lfs_max (line 126) | static inline uint32_t lfs_max(uint32_t a, uint32_t b) {
  function lfs_min (line 130) | static inline uint32_t lfs_min(uint32_t a, uint32_t b) {
  function lfs_aligndown (line 135) | static inline uint32_t lfs_aligndown(uint32_t a, uint32_t alignment) {
  function lfs_alignup (line 139) | static inline uint32_t lfs_alignup(uint32_t a, uint32_t alignment) {
  function lfs_npw2 (line 144) | static inline uint32_t lfs_npw2(uint32_t a) {
  function lfs_ctz (line 161) | static inline uint32_t lfs_ctz(uint32_t a) {
  function lfs_popc (line 170) | static inline uint32_t lfs_popc(uint32_t a) {
  function lfs_scmp (line 182) | static inline int lfs_scmp(uint32_t a, uint32_t b) {
  function lfs_fromle32 (line 187) | static inline uint32_t lfs_fromle32(uint32_t a) {
  function lfs_tole32 (line 205) | static inline uint32_t lfs_tole32(uint32_t a) {
  function lfs_frombe32 (line 210) | static inline uint32_t lfs_frombe32(uint32_t a) {
  function lfs_tobe32 (line 228) | static inline uint32_t lfs_tobe32(uint32_t a) {
  function lfs_crc (line 234) | uint32_t lfs_crc(uint32_t crc, const void *buffer, size_t size) {
  function lfs_free (line 257) | static inline void lfs_free(void *p) {

FILE: NanaZip.Codecs/Lizard/entropy/error_private.h
  type FSE_ErrorCode (line 67) | typedef FSE_ErrorCode ERR_enum;
  function ERR_isError (line 79) | ERR_STATIC unsigned ERR_isError(size_t code) { return (code > ERROR(maxC...
  function ERR_STATIC (line 81) | ERR_STATIC ERR_enum ERR_getErrorCode(size_t code) { if (!ERR_isError(cod...
  function ERR_STATIC (line 92) | ERR_STATIC const char* ERR_getErrorString(ERR_enum code)
  function ERR_STATIC (line 111) | ERR_STATIC const char* ERR_getErrorName(size_t code)

FILE: NanaZip.Codecs/Lizard/entropy/error_public.h
  type FSE_ErrorCode (line 45) | typedef enum {

FILE: NanaZip.Codecs/Lizard/entropy/fse.h
  type FSE_CTable (line 175) | typedef unsigned FSE_CTable;
  type FSE_DTable (line 248) | typedef unsigned FSE_DTable;
  type FSE_repeat (line 353) | typedef enum {
  type FSE_CState_t (line 366) | typedef struct {
  type FSE_DState_t (line 426) | typedef struct {
  type FSE_symbolCompressionTransform (line 498) | typedef struct {
  function MEM_STATIC (line 503) | MEM_STATIC void FSE_initCState(FSE_CState_t* statePtr, const FSE_CTable*...
  function MEM_STATIC (line 518) | MEM_STATIC void FSE_initCState2(FSE_CState_t* statePtr, const FSE_CTable...
  function MEM_STATIC (line 529) | MEM_STATIC void FSE_encodeSymbol(BIT_CStream_t* bitC, FSE_CState_t* stat...
  function MEM_STATIC (line 538) | MEM_STATIC void FSE_flushCState(BIT_CStream_t* bitC, const FSE_CState_t*...
  function MEM_STATIC (line 550) | MEM_STATIC U32 FSE_getMaxNbBits(const void* symbolTTPtr, U32 symbolValue)
  function MEM_STATIC (line 560) | MEM_STATIC U32 FSE_bitCost(const void* symbolTTPtr, U32 tableLog, U32 sy...
  type FSE_DTableHeader (line 580) | typedef struct {
  type FSE_decode_t (line 585) | typedef struct
  function MEM_STATIC (line 592) | MEM_STATIC void FSE_initDState(FSE_DState_t* DStatePtr, BIT_DStream_t* b...
  function MEM_STATIC (line 601) | MEM_STATIC BYTE FSE_peekSymbol(const FSE_DState_t* DStatePtr)
  function MEM_STATIC (line 607) | MEM_STATIC void FSE_updateState(FSE_DState_t* DStatePtr, BIT_DStream_t* ...
  function MEM_STATIC (line 615) | MEM_STATIC BYTE FSE_decodeSymbol(FSE_DState_t* DStatePtr, BIT_DStream_t*...
  function MEM_STATIC (line 628) | MEM_STATIC BYTE FSE_decodeSymbolFast(FSE_DState_t* DStatePtr, BIT_DStrea...
  function FSE_endOfDState (line 639) | MEM_STATIC unsigned FSE_endOfDState(const FSE_DState_t* DStatePtr)

FILE: NanaZip.Codecs/Lizard/entropy/huf.h
  type U32 (line 171) | typedef U32 HUF_DTable;
  type HUF_CElt (line 214) | typedef struct HUF_CElt_s HUF_CElt;
  type HUF_repeat (line 221) | typedef enum {

FILE: NanaZip.Codecs/Lizard/entropy/lizard_entropy_common.c
  function FSE_versionNumber (line 27) | unsigned FSE_versionNumber(void) { return FSE_VERSION_NUMBER; }
  function FSE_isError (line 31) | unsigned FSE_isError(size_t code) { return ERR_isError(code); }
  function HUF_isError (line 34) | unsigned HUF_isError(size_t code) { return ERR_isError(code); }
  function FSE_readNCount (line 41) | size_t FSE_readNCount (short* normalizedCounter, unsigned* maxSVPtr, uns...
  function HUF_readStats (line 154) | size_t HUF_readStats(BYTE* huffWeight, size_t hwSize, U32* rankStats,

FILE: NanaZip.Codecs/Lizard/entropy/lizard_fse_compress.c
  function FSE_buildCTable_wksp (line 65) | size_t FSE_buildCTable_wksp(FSE_CTable* ct,
  function FSE_buildCTable (line 171) | size_t FSE_buildCTable(FSE_CTable* ct, const short* normalizedCounter, u...
  function FSE_NCountWriteBound (line 185) | size_t FSE_NCountWriteBound(unsigned maxSymbolValue, unsigned tableLog)
  function FSE_writeNCount_generic (line 191) | static size_t
  function FSE_writeNCount (line 287) | size_t FSE_writeNCount (void* buffer, size_t bufferSize,
  function FSE_CTable (line 304) | FSE_CTable* FSE_createCTable (unsigned maxSymbolValue, unsigned tableLog)
  function FSE_freeCTable (line 312) | void FSE_freeCTable (FSE_CTable* ct) { free(ct); }
  function FSE_minTableLog (line 315) | static unsigned FSE_minTableLog(size_t srcSize, unsigned maxSymbolValue)
  function FSE_optimalTableLog_internal (line 324) | unsigned FSE_optimalTableLog_internal(unsigned maxTableLog, size_t srcSi...
  function FSE_optimalTableLog (line 338) | unsigned FSE_optimalTableLog(unsigned maxTableLog, size_t srcSize, unsig...
  function FSE_normalizeM2 (line 347) | static size_t FSE_normalizeM2(short* norm, U32 tableLog, const unsigned*...
  function FSE_normalizeCount (line 434) | size_t FSE_normalizeCount (short* normalizedCounter, unsigned tableLog,
  function FSE_buildCTable_raw (line 497) | size_t FSE_buildCTable_raw (FSE_CTable* ct, unsigned nbBits)
  function FSE_buildCTable_rle (line 530) | size_t FSE_buildCTable_rle (FSE_CTable* ct, BYTE symbolValue)
  function FSE_compress_usingCTable_generic (line 553) | static size_t FSE_compress_usingCTable_generic (void* dst, size_t dstSize,
  function FSE_compress_usingCTable (line 612) | size_t FSE_compress_usingCTable (void* dst, size_t dstSize,
  function FSE_compressBound (line 625) | size_t FSE_compressBound(size_t size) { return FSE_COMPRESSBOUND(size); }
  function FSE_compress_wksp (line 631) | size_t FSE_compress_wksp (void* dst, size_t dstSize, const void* src, si...
  type fseWkspMax_t (line 678) | typedef struct {
  function FSE_compress2 (line 686) | size_t FSE_compress2 (void* dst, size_t dstCapacity, const void* src, si...
  function FSE_compress (line 694) | size_t FSE_compress (void* dst, size_t dstCapacity, const void* src, siz...

FILE: NanaZip.Codecs/Lizard/entropy/lizard_fse_decompress.c
  function FSE_DTable (line 59) | FSE_DTable* FSE_createDTable (unsigned tableLog)
  function FSE_freeDTable (line 65) | void FSE_freeDTable (FSE_DTable* dt)
  function FSE_buildDTable (line 70) | size_t FSE_buildDTable(FSE_DTable* dt, const short* normalizedCounter, u...
  function FSE_buildDTable_rle (line 133) | size_t FSE_buildDTable_rle (FSE_DTable* dt, BYTE symbolValue)
  function FSE_buildDTable_raw (line 151) | size_t FSE_buildDTable_raw (FSE_DTable* dt, unsigned nbBits)
  function FORCE_INLINE_TEMPLATE (line 177) | FORCE_INLINE_TEMPLATE size_t FSE_decompress_usingDTable_generic(
  function FSE_decompress_usingDTable (line 240) | size_t FSE_decompress_usingDTable(void* dst, size_t originalSize,
  function FSE_decompress_wksp (line 254) | size_t FSE_decompress_wksp(void* dst, size_t dstCapacity, const void* cS...
  type FSE_DTable (line 276) | typedef FSE_DTable DTable_max_t[FSE_DTABLE_SIZE_U32(FSE_MAX_TABLELOG)];
  function FSE_decompress (line 278) | size_t FSE_decompress(void* dst, size_t dstCapacity, const void* cSrc, s...

FILE: NanaZip.Codecs/Lizard/entropy/lizard_huf_compress.c
  function HUF_optimalTableLog (line 48) | unsigned HUF_optimalTableLog(unsigned maxTableLog, size_t srcSize, unsig...
  function HUF_compressWeights (line 63) | static size_t HUF_compressWeights (void* dst, size_t dstSize, const void...
  type HUF_CElt_s (line 106) | struct HUF_CElt_s {
  function HUF_writeCTable (line 114) | size_t HUF_writeCTable (void* dst, size_t maxDstSize,
  function HUF_readCTable (line 150) | size_t HUF_readCTable (HUF_CElt* CTable, unsigned* maxSymbolValuePtr, co...
  function U32 (line 200) | U32 HUF_getNbBits(const void* symbolTable, U32 symbolValue)
  type nodeElt (line 208) | typedef struct nodeElt_s {
  function U32 (line 215) | static U32 HUF_setMaxHeight(nodeElt* huffNode, U32 lastNonNull, U32 maxN...
  type rankPos (line 293) | typedef struct {
  type nodeElt (line 298) | typedef nodeElt huffNodeTable[HUF_CTABLE_WORKSPACE_SIZE_U32];
  type HUF_buildCTable_wksp_tables (line 302) | typedef struct {
  function HUF_sort (line 307) | static void HUF_sort(nodeElt* huffNode, const unsigned* count, U32 maxSy...
  function HUF_buildCTable_wksp (line 338) | size_t HUF_buildCTable_wksp (HUF_CElt* tree, const unsigned* count, U32 ...
  function HUF_buildCTable (line 416) | size_t HUF_buildCTable (HUF_CElt* tree, const unsigned* count, unsigned ...
  function HUF_estimateCompressedSize (line 422) | size_t HUF_estimateCompressedSize(const HUF_CElt* CTable, const unsigned...
  function HUF_validateCTable (line 432) | int HUF_validateCTable(const HUF_CElt* CTable, const unsigned* count, un...
  function HUF_compressBound (line 441) | size_t HUF_compressBound(size_t size) { return HUF_COMPRESSBOUND(size); }
  function FORCE_INLINE_TEMPLATE (line 443) | FORCE_INLINE_TEMPLATE void
  function FORCE_INLINE_TEMPLATE (line 457) | FORCE_INLINE_TEMPLATE size_t
  function HUF_compress1X_usingCTable_internal_bmi2 (line 506) | size_t
  function HUF_compress1X_usingCTable_internal_default (line 514) | static size_t
  function HUF_compress1X_usingCTable_internal (line 522) | static size_t
  function HUF_compress1X_usingCTable_internal (line 535) | static size
Copy disabled (too large) Download .json
Condensed preview — 2780 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (16,416K chars).
[
  {
    "path": ".editorconfig",
    "chars": 1798,
    "preview": "## \n## PROJECT:    Mouri Internal Library Essentials\n## FILE:       .editorconfig\n## PURPOSE:    The root .editorconfig"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 88,
    "preview": "custom: [\n  \"https://github.com/M2Team/NanaZip/blob/main/Documents/SponsorEdition.md\"\n]\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "chars": 1637,
    "preview": "name: Bug report\ndescription: Something isn't working as expected.\nlabels: [\"bug\"]\nbody:\n  - type: checkboxes\n    attrib"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 262,
    "preview": "blank_issues_enabled: true\ncontact_links:\n  - name: Report a security vulnerability\n    url: https://github.com/M2Team/N"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.yml",
    "chars": 424,
    "preview": "name: Feature request\ndescription: Request a new feature into NanaZip.\nlabels: [\"enhancement\"]\nbody:\n  - type: textarea"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "chars": 199,
    "preview": "<!---\n  Read https://github.com/M2Team/NanaZip/blob/main/CONTRIBUTING.md word by word\n  first. For security fix PRs, al"
  },
  {
    "path": ".github/dco.yml",
    "chars": 89,
    "preview": "allowRemediationCommits:\n  individual: true\n  thirdParty: true\nrequire:\n  members: true\n"
  },
  {
    "path": ".github/workflows/BuildBinaries.yml",
    "chars": 1571,
    "preview": "name: Build Binaries\n\non:\n  push:\n    paths-ignore:\n      - 'Documents/**'\n      - '**/*.md'\n  pull_request:\n    paths-"
  },
  {
    "path": ".github/workflows/UpdatePrecompiledBuildTools.yml",
    "chars": 1360,
    "preview": "name: Update Precompiled Build Tools\n\non:\n  push:\n    branches:\n      - main\n    paths:\n      - 'NanaZip.Build.Tasks/**"
  },
  {
    "path": ".github/workflows/UpdateWebsite.yml",
    "chars": 766,
    "preview": "name: Update Website\n\non:\n  push:\n    branches:\n      - main\n    paths:\n      - 'Documents/Website/**'\n      - '.github"
  },
  {
    "path": ".gitignore",
    "chars": 7172,
    "preview": "## \n## PROJECT:    Mouri Internal Library Essentials\n## FILE:       .gitignore\n## PURPOSE:    The root .gitignore file f"
  },
  {
    "path": "BuildAllTargets.cmd",
    "chars": 791,
    "preview": "@setlocal\n@echo off\n\nrem Change to the current folder.\ncd \"%~dp0\"\n\nrem Remove the output folder for a fresh compile.\nrd "
  },
  {
    "path": "BuildAllTargets.proj",
    "chars": 11220,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project \n  DefaultTargets=\"RefreshVersion;Restore;Build;Packaging\"\n  xmlns=\"htt"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 3360,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, "
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 4900,
    "preview": "# Contributing to NanaZip\n\n## How to become a contributor\n\n- Direct contributions\n  - We use a code style similar but n"
  },
  {
    "path": "Directory.Build.props",
    "chars": 284,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project>\n  <PropertyGroup>\n    <MileProjectOutputPath>$(MSBuildThisFileDirector"
  },
  {
    "path": "Documents/ChannelSwitchNote.md",
    "chars": 486,
    "preview": "# Channel Switch Note for NanaZip development\n\nP.S. Only for Kenji Mouri\n\n## Preview\n\n- DisplayName=\"NanaZip Preview\"\n-"
  },
  {
    "path": "Documents/DevelopmentRoadmapArchived.md",
    "chars": 3362,
    "preview": "# Development Roadmap (Archived)\n\nThese will be migrated to the new roadmap issue in the future.\n\n- Blue Moon (3.x) Ser"
  },
  {
    "path": "Documents/People.md",
    "chars": 1801,
    "preview": "# Relevant People \n\n## Notice\n\n- This list is sorted in alphabetical order.\n\n## Development Team\n\n### Benevolent Dictat"
  },
  {
    "path": "Documents/Policies.md",
    "chars": 4968,
    "preview": "# NanaZip Policies\n\nStarting with NanaZip 6.0, users can configure system‑wide policies under the\nWindows registry key "
  },
  {
    "path": "Documents/PolicyDefinitions/NanaZip.admx",
    "chars": 8845,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<policyDefinitions\n    xmlns=\"http://www.microsoft.com/GroupPolicy/PolicyDefiniti"
  },
  {
    "path": "Documents/PolicyDefinitions/en-US/NanaZip.adml",
    "chars": 7725,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<policyDefinitionResources\n    xmlns=\"http://www.microsoft.com/GroupPolicy/Polic"
  },
  {
    "path": "Documents/Privacy.md",
    "chars": 1161,
    "preview": "# NanaZip - Privacy Policy\n\n## Information collected\n\nNanaZip does not collect any information. However it does provide"
  },
  {
    "path": "Documents/ReleaseNotes.md",
    "chars": 32997,
    "preview": "# NanaZip Release Notes\n\nFor preview versions, please read \n[NanaZip Preview Release Notes](ReleaseNotesPreview.md).\n\n*"
  },
  {
    "path": "Documents/ReleaseNotesPreview.md",
    "chars": 29927,
    "preview": "# NanaZip Preview Release Notes\n\nFor stable versions, please read [NanaZip Release Notes](ReleaseNotes.md).\n\n**NanaZip "
  },
  {
    "path": "Documents/Section508/NanaZip.html",
    "chars": 30868,
    "preview": "<!doctype HTML><html lang=\"en\"><head><title>NanaZip Accessibility Conformance Report</title><meta name=\"viewport\" conten"
  },
  {
    "path": "Documents/Section508/NanaZip.yaml",
    "chars": 48732,
    "preview": "title: NanaZip Accessibility Conformance Report\nproduct:\n  name: NanaZip\n  version: ''\n  description: >-\n    NanaZip is "
  },
  {
    "path": "Documents/SponsorEdition.md",
    "chars": 1856,
    "preview": "# NanaZip Sponsor Edition\n\nNanaZip provides a $99.99 USD Sponsor Edition addon to the Microsoft Store to \nattract more "
  },
  {
    "path": "Documents/UpstreamSynchronization.md",
    "chars": 1569,
    "preview": "# NanaZip Upstream Synchronization Status\n\n## 7-Zip Mainline\n\n- NanaZip.Core: 26.00\n- NanaZip.UI.Classic: 22.01\n    - F"
  },
  {
    "path": "Documents/Versioning.md",
    "chars": 1993,
    "preview": "# NanaZip Versioning\n\nThis document applies to all versions of NanaZip.\n\n## Version Format\n\n- Simple Version: `<Major>."
  },
  {
    "path": "Documents/Website/.gitignore",
    "chars": 264,
    "preview": "# build output\ndist/\n\n# generated types\n.astro/\n\n# dependencies\nnode_modules/\n\n# logs\nnpm-debug.log*\nyarn-debug.log*\nyar"
  },
  {
    "path": "Documents/Website/.vscode/extensions.json",
    "chars": 87,
    "preview": "{\n  \"recommendations\": [\"astro-build.astro-vscode\"],\n  \"unwantedRecommendations\": []\n}\n"
  },
  {
    "path": "Documents/Website/.vscode/launch.json",
    "chars": 207,
    "preview": "{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"command\": \"./node_modules/.bin/astro dev\",\n      \"name\": \"Dev"
  },
  {
    "path": "Documents/Website/.vscode/mcp.json",
    "chars": 121,
    "preview": "{\n\t\"servers\": {\n\t\t\"Astro docs\": {\n\t\t\t\"url\": \"https://mcp.docs.astro.build/mcp\",\n\t\t\t\"type\": \"http\"\n\t\t}\n\t},\n\t\"inputs\": []\n"
  },
  {
    "path": "Documents/Website/ReadMe.md",
    "chars": 1770,
    "preview": "# NanaZip Website\n\nThis folder contains the source code of the NanaZip website,\nbuilt using [Astro](https://astro.build)"
  },
  {
    "path": "Documents/Website/astro.config.mjs",
    "chars": 156,
    "preview": "// @ts-check\nimport { defineConfig } from 'astro/config';\n\n// https://astro.build/config\nexport default defineConfig({\n "
  },
  {
    "path": "Documents/Website/package.json",
    "chars": 336,
    "preview": "{\n  \"name\": \"k7site\",\n  \"type\": \"module\",\n  \"version\": \"0.0.1\",\n  \"scripts\": {\n    \"dev\": \"astro dev\",\n    \"build\": \"ast"
  },
  {
    "path": "Documents/Website/src/assets/styles/button.css",
    "chars": 1653,
    "preview": "button, .btn {\n    border-radius: var(--fds-control-corner-radius);\n    font-size: var(--fds-body-font-size);\n    border"
  },
  {
    "path": "Documents/Website/src/assets/styles/global.css",
    "chars": 647,
    "preview": "body {\n\tbackground-color: var(--fds-solid-background-base);\n\tcolor: var(--fds-text-primary);\n    font-family: var(--fds-"
  },
  {
    "path": "Documents/Website/src/assets/styles/icons.css",
    "chars": 596,
    "preview": "@font-face {\n    font-family: \"FluentSystemIcons-Regular\";\n    src: url(\"/FluentSystemIcons-Regular.woff2\") format(\"woff"
  },
  {
    "path": "Documents/Website/src/assets/styles/image.css",
    "chars": 132,
    "preview": "img {\n\tmax-width: 100%;\n\theight: auto;\n}\n\n.image-card {\n\tborder: 1px solid var(--fds-surface-stroke-default);\n\tborder-ra"
  },
  {
    "path": "Documents/Website/src/assets/styles/pages/index.css",
    "chars": 786,
    "preview": ".se-demo-scenario {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    gap: 16px;\n}\n\n.card {\n    b"
  },
  {
    "path": "Documents/Website/src/assets/styles/text.css",
    "chars": 713,
    "preview": "h1, h2, h3, h4, h5, h6 {\n    font-family: var(--fds-font-family-display);\n\n    margin: 0;\n    padding: 0;\n}\n\nh1 {\n    fo"
  },
  {
    "path": "Documents/Website/src/assets/styles/theme.css",
    "chars": 13326,
    "preview": "/* Global Variables */\n:root {\n\t/* Accent Colors */\n\t--fds-accent-light-3: 191, 98%, 80%;\n\t--fds-accent-light-2: 199, 99"
  },
  {
    "path": "Documents/Website/src/components/Footer/Footer.astro",
    "chars": 347,
    "preview": "---\nimport './Footer.css';\n---\n\n<footer>\n    <p>NanaZip, with ❤️ by <a href=\"https://m2team.org\">M2-Team</a> and contrib"
  },
  {
    "path": "Documents/Website/src/components/Footer/Footer.css",
    "chars": 175,
    "preview": "footer {\n    background-color: var(--fds-card-stroke-default-solid);\n    border-top: 1px solid var(--fds-surface-stroke-"
  },
  {
    "path": "Documents/Website/src/components/InfoBar/InfoBar.astro",
    "chars": 7640,
    "preview": "---\nimport \"./InfoBar.scss\";\n\ninterface Props {\n    title?: string;\n    severity: \"information\" | \"success\" | \"caution\" "
  },
  {
    "path": "Documents/Website/src/components/InfoBar/InfoBar.scss",
    "chars": 2500,
    "preview": ".info-badge {\n    display: flex;\n    align-items: center;\n    box-sizing: border-box;\n\tuser-select: none;\n\tmin-inline-si"
  },
  {
    "path": "Documents/Website/src/components/Navbar/Navbar.astro",
    "chars": 3171,
    "preview": "---\nimport \"./Navbar.scss\";\nimport Logo from \"../../assets/images/NanaZip.svg\";\nimport NavIcon from '@fluentui/svg-icons"
  },
  {
    "path": "Documents/Website/src/components/Navbar/Navbar.scss",
    "chars": 2145,
    "preview": ".navbar {\n    position: sticky;\n    top: 0;\n    z-index: 1000;\n    background-color: var(--fds-layer-background-default)"
  },
  {
    "path": "Documents/Website/src/components/Navbar/Navbar.ts",
    "chars": 185,
    "preview": "document.querySelector('.menu-button')?.addEventListener('click', () => {\n    const nav = document.querySelector('nav');"
  },
  {
    "path": "Documents/Website/src/components/PageSection/PageSection.astro",
    "chars": 319,
    "preview": "---\nimport './PageSection.scss';\n\ninterface Props {\n    header: string;\n}\n\nconst { header } = Astro.props;\n---\n\n<div cla"
  },
  {
    "path": "Documents/Website/src/components/PageSection/PageSection.scss",
    "chars": 858,
    "preview": ".page-section {\n    padding: 72px;\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    gap: 72px;\n "
  },
  {
    "path": "Documents/Website/src/components/StoreBadge/StoreBadge.astro",
    "chars": 1315,
    "preview": "---\ninterface Props {\n    productId: string;\n    windowMode?: \"direct\" | \"full\";\n    size?: \"large\" | \"small\";\n    campa"
  },
  {
    "path": "Documents/Website/src/components/StoreBadge/StoreBadge.css",
    "chars": 527,
    "preview": ".store-badge-link img.large {\n    height: 104px;\n}\n\n.store-badge-link img {\n    display: block;\n    transition: 0.35s ea"
  },
  {
    "path": "Documents/Website/src/components/StoreBadge/StoreBadge.ts",
    "chars": 321,
    "preview": "function changeStoreBadge(darkMode: boolean) {\n    document.querySelectorAll(\"ms-store-badge\").forEach((badge) => {\n    "
  },
  {
    "path": "Documents/Website/src/components/ThemedLocalPicture/ThemedLocalPicture.astro",
    "chars": 1880,
    "preview": "---\nimport type { ImageMetadata } from \"astro\";\nimport { getImage } from 'astro:assets';\n\ninterface Props {\n    lightSrc"
  },
  {
    "path": "Documents/Website/src/components/Tree/Tree.astro",
    "chars": 200,
    "preview": "---\ninterface Props {\n    text: string;\n}\n\nconst { text } = Astro.props;\n\nimport './Tree.css';\n---\n\n<div class=\"tree\">\n "
  },
  {
    "path": "Documents/Website/src/components/Tree/Tree.css",
    "chars": 157,
    "preview": ".tree > .tree {\n    margin-left: 16px;\n}\n\n.tree p {\n    margin-top: 8px;\n    margin-bottom: 8px;\n\n    display: flex;\n   "
  },
  {
    "path": "Documents/Website/src/layouts/Layout.astro",
    "chars": 858,
    "preview": "---\nimport '../assets/styles/theme.css';\nimport '../assets/styles/global.css';\nimport '../assets/styles/text.css';\nimpor"
  },
  {
    "path": "Documents/Website/src/pages/downloads.astro",
    "chars": 2117,
    "preview": "---\nimport Layout from \"../layouts/Layout.astro\";\nimport StoreBadge from \"../components/StoreBadge/StoreBadge.astro\";\nim"
  },
  {
    "path": "Documents/Website/src/pages/index.astro",
    "chars": 6172,
    "preview": "---\nimport Layout from \"../layouts/Layout.astro\";\nimport PageSection from \"../components/PageSection/PageSection.astro\";"
  },
  {
    "path": "Documents/Website/src/pages/section508.astro",
    "chars": 30868,
    "preview": "<!doctype HTML><html lang=\"en\"><head><title>NanaZip Accessibility Conformance Report</title><meta name=\"viewport\" conten"
  },
  {
    "path": "Documents/Website/tsconfig.json",
    "chars": 112,
    "preview": "{\n  \"extends\": \"astro/tsconfigs/strictest\",\n  \"include\": [\".astro/types.d.ts\", \"**/*\"],\n  \"exclude\": [\"dist\"]\n}\n"
  },
  {
    "path": "K7Base/K7Base.def",
    "chars": 531,
    "preview": "LIBRARY\n\nEXPORTS\n\nK7BaseDetourTransactionBegin\nK7BaseDetourTransactionAbort\nK7BaseDetourTransactionCommit\nK7BaseDetourU"
  },
  {
    "path": "K7Base/K7Base.h",
    "chars": 11444,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7Base.h\n * PURPOSE:    Definition for NanaZip "
  },
  {
    "path": "K7Base/K7Base.props",
    "chars": 1210,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  PROJECT:    NanaZip Platform Base Library (K7Base)\n  FILE:       K7Base.p"
  },
  {
    "path": "K7Base/K7Base.vcxproj",
    "chars": 2497,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/ms"
  },
  {
    "path": "K7Base/K7BaseDetours.cpp",
    "chars": 1102,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7BaseDetours.cpp\n * PURPOSE:    Implementation"
  },
  {
    "path": "K7Base/K7BaseHash.cpp",
    "chars": 9961,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7BaseHash.cpp\n * PURPOSE:    Implementation fo"
  },
  {
    "path": "K7Base/K7BaseInitialize.cpp",
    "chars": 994,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7BaseInitialize.cpp\n * PURPOSE:    Implementat"
  },
  {
    "path": "K7Base/K7BaseMitigations.cpp",
    "chars": 26151,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7BaseMitigations.cpp\n * PURPOSE:    Implementa"
  },
  {
    "path": "K7Base/K7BaseModern.cpp",
    "chars": 1587,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7BaseModern.cpp\n * PURPOSE:    Implementation "
  },
  {
    "path": "K7Base/K7BasePolicies.cpp",
    "chars": 6474,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7BasePolicies.cpp\n * PURPOSE:    Implementatio"
  },
  {
    "path": "K7Base/K7BasePrivate.h",
    "chars": 2802,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7BasePrivate.h\n * PURPOSE:    Definition for N"
  },
  {
    "path": "K7Base/K7BaseRedirector.cpp",
    "chars": 981,
    "preview": "/*\n * PROJECT:    NanaZip Platform Base Library (K7Base)\n * FILE:       K7BaseRedirector.cpp\n * PURPOSE:    Implementat"
  },
  {
    "path": "K7Base/K7BaseStatic.props",
    "chars": 1227,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  PROJECT:    NanaZip Platform Base Library (K7Base)\n  FILE:       K7BaseSt"
  },
  {
    "path": "K7Base/K7BaseStatic.vcxproj",
    "chars": 2245,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/ms"
  },
  {
    "path": "K7Base/ReadMe.md",
    "chars": 1274,
    "preview": "# NanaZip Platform Base Library (K7Base)\n\n***Work In Progress***\n\nThe static and dynamic library that encapsulates the "
  },
  {
    "path": "K7User/K7User.def",
    "chars": 220,
    "preview": "LIBRARY\n\nEXPORTS\n\nK7UserInitializeDarkModeSupport\n\nK7UserModernMessageBoxW\nK7UserModernSHBrowseForFolderW\nK7UserModernL"
  },
  {
    "path": "K7User/K7User.h",
    "chars": 4546,
    "preview": "/*\n * PROJECT:    NanaZip Platform User Library (K7User)\n * FILE:       K7User.h\n * PURPOSE:    Definition for NanaZip "
  },
  {
    "path": "K7User/K7User.props",
    "chars": 1210,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  PROJECT:    NanaZip Platform User Library (K7User)\n  FILE:       K7User.p"
  },
  {
    "path": "K7User/K7User.vcxproj",
    "chars": 2603,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/ms"
  },
  {
    "path": "K7User/K7UserDarkMode.cpp",
    "chars": 48265,
    "preview": "/*\n * PROJECT:    NanaZip Platform User Library (K7User)\n * FILE:       K7UserDarkMode.cpp\n * PURPOSE:    Implementatio"
  },
  {
    "path": "K7User/K7UserModern.cpp",
    "chars": 10296,
    "preview": "/*\n * PROJECT:    NanaZip Platform User Library (K7User)\n * FILE:       K7UserModern.cpp\n * PURPOSE:    Implementation "
  },
  {
    "path": "K7User/K7UserPrivate.h",
    "chars": 3124,
    "preview": "/*\n * PROJECT:    NanaZip Platform User Library (K7User)\n * FILE:       K7UserPrivate.h\n * PURPOSE:    Definition for N"
  },
  {
    "path": "K7User/K7UserRedirector.cpp",
    "chars": 947,
    "preview": "/*\n * PROJECT:    NanaZip Platform User Library (K7User)\n * FILE:       K7UserRedirector.cpp\n * PURPOSE:    Implementat"
  },
  {
    "path": "K7User/K7UserStatic.props",
    "chars": 1227,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  PROJECT:    NanaZip Platform User Library (K7User)\n  FILE:       K7UserSt"
  },
  {
    "path": "K7User/K7UserStatic.vcxproj",
    "chars": 2079,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msb"
  },
  {
    "path": "K7User/ReadMe.md",
    "chars": 1083,
    "preview": "# NanaZip Platform User Library (K7User)\n\n***Work In Progress***\n\nThe static and dynamic library that encapsulates the "
  },
  {
    "path": "License.md",
    "chars": 27249,
    "preview": "# NanaZip License\n\nFor giving the maximum respect for the upstream projects and following the \nphilosophy about open-so"
  },
  {
    "path": "NanaZip.Build.Tasks/NanaZip.Build.Tasks.csproj",
    "chars": 1165,
    "preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n  <Import Project=\"..\\NanaZip.Project\\NanaZip.Project.props\" />\n\n  <PropertyGroup>\n  "
  },
  {
    "path": "NanaZip.Build.Tasks/RefreshAppxManifestVersion.cs",
    "chars": 1755,
    "preview": "using Microsoft.Build.Framework;\nusing Microsoft.Build.Utilities;\nusing Mile.Project.Helpers;\nusing System.IO;\nusing Sy"
  },
  {
    "path": "NanaZip.Build.Tasks/RefreshProjectBuildNumberDate.cs",
    "chars": 1955,
    "preview": "using Microsoft.Build.Framework;\nusing Microsoft.Build.Utilities;\nusing Mile.Project.Helpers;\nusing System.IO;\nusing Sy"
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3.c",
    "chars": 28914,
    "preview": "#include <assert.h>\n#include <stdbool.h>\n#include <string.h>\n\n#include \"blake3.h\"\n#include \"blake3_impl.h\"\n\nconst char "
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3.h",
    "chars": 2924,
    "preview": "#ifndef BLAKE3_H\n#define BLAKE3_H\n\n#include <stddef.h>\n#include <stdint.h>\n\n#if !defined(BLAKE3_API)\n# if defined(_WIN3"
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3_avx2_x86-64_windows_msvc.asm",
    "chars": 65948,
    "preview": "public _blake3_hash_many_avx2\npublic blake3_hash_many_avx2\n\n_TEXT   SEGMENT ALIGN(16) 'CODE'\n\nALIGN   16\nblake3_hash_man"
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3_avx512_x86-64_windows_msvc.asm",
    "chars": 91605,
    "preview": "public _blake3_hash_many_avx512\npublic blake3_hash_many_avx512\npublic blake3_compress_in_place_avx512\npublic _blake3_com"
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3_dispatch.c",
    "chars": 9190,
    "preview": "#include <stdbool.h>\n#include <stddef.h>\n#include <stdint.h>\n\n#include \"blake3_impl.h\"\n\n#if defined(_MSC_VER)\n#include "
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3_impl.h",
    "chars": 12055,
    "preview": "#ifndef BLAKE3_IMPL_H\n#define BLAKE3_IMPL_H\n\n#include <assert.h>\n#include <stdbool.h>\n#include <stddef.h>\n#include <std"
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3_neon.c",
    "chars": 13893,
    "preview": "#include \"blake3_impl.h\"\n\n#include <arm_neon.h>\n\n#ifdef __ARM_BIG_ENDIAN\n#error \"This implementation only supports litt"
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3_portable.c",
    "chars": 5890,
    "preview": "#include \"blake3_impl.h\"\n#include <string.h>\n\nINLINE uint32_t rotr32(uint32_t w, uint32_t c) {\n  return (w >> c) | (w <"
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3_sse2_x86-64_windows_msvc.asm",
    "chars": 70982,
    "preview": "public _blake3_hash_many_sse2\npublic blake3_hash_many_sse2\npublic blake3_compress_in_place_sse2\npublic _blake3_compress_"
  },
  {
    "path": "NanaZip.Codecs/BLAKE3/blake3_sse41_x86-64_windows_msvc.asm",
    "chars": 63194,
    "preview": "public _blake3_hash_many_sse41\npublic blake3_hash_many_sse41\npublic blake3_compress_in_place_sse41\npublic _blake3_compre"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/constants.c",
    "chars": 620,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/constants.h",
    "chars": 7978,
    "preview": "/* Copyright 2016 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/context.c",
    "chars": 7984,
    "preview": "#include \"context.h\"\n\n#include \"platform.h\"\n\n/* Common context lookup table for all context modes. */\nconst BROTLI_MODE"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/context.h",
    "chars": 4638,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/dictionary.c",
    "chars": 1559,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/dictionary.h",
    "chars": 1923,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/dictionary_inc.h",
    "chars": 470433,
    "preview": "static const BROTLI_MODEL(\"small\") uint8_t kBrotliDictionaryData[] = {\n116,105,109,101,100,111,119,110,108,105,102,101,"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/platform.c",
    "chars": 466,
    "preview": "/* Copyright 2016 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/platform.h",
    "chars": 23754,
    "preview": "/* Copyright 2016 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/shared_dictionary.c",
    "chars": 17348,
    "preview": "/* Copyright 2017 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/shared_dictionary_internal.h",
    "chars": 2410,
    "preview": "/* Copyright 2017 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/static_init.h",
    "chars": 1997,
    "preview": "/* Copyright 2025 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/transform.c",
    "chars": 10788,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/transform.h",
    "chars": 3181,
    "preview": "/* transforms is a part of ABI, but not API.\n\n   It means that there are some functions that are supposed to be in \"com"
  },
  {
    "path": "NanaZip.Codecs/Brotli/common/version.h",
    "chars": 1724,
    "preview": "/* Copyright 2016 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/bit_reader.c",
    "chars": 2283,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/bit_reader.h",
    "chars": 14793,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/dec_static_init.c",
    "chars": 1445,
    "preview": "/* Copyright 2025 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/decode.c",
    "chars": 107781,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/huffman.c",
    "chars": 11949,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/huffman.h",
    "chars": 4081,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/prefix.c",
    "chars": 2530,
    "preview": "/* Copyright 2025 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/prefix.h",
    "chars": 1251,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/prefix_inc.h",
    "chars": 30934,
    "preview": "const BROTLI_MODEL(\"small\")\nCmdLutElement kCmdLut[BROTLI_NUM_COMMAND_SYMBOLS] = {\n  { 0x00, 0x00, 0, 0x00, 0x0000, 0x00"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/state.c",
    "chars": 5872,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/state.h",
    "chars": 12453,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/dec/static_init.h",
    "chars": 841,
    "preview": "/* Copyright 2025 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/backward_references.c",
    "chars": 6278,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/backward_references.h",
    "chars": 1207,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/backward_references_hq.c",
    "chars": 36737,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/backward_references_hq.h",
    "chars": 3774,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/backward_references_inc.h",
    "chars": 8182,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/bit_cost.c",
    "chars": 1428,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/bit_cost.h",
    "chars": 897,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/bit_cost_inc.h",
    "chars": 4116,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/block_encoder_inc.h",
    "chars": 1138,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2014 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/block_splitter.c",
    "chars": 7331,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/block_splitter.h",
    "chars": 1627,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/block_splitter_inc.h",
    "chars": 18880,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/brotli_bit_stream.c",
    "chars": 50916,
    "preview": "/* Copyright 2014 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/brotli_bit_stream.h",
    "chars": 3339,
    "preview": "/* Copyright 2014 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/cluster.c",
    "chars": 1459,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/cluster.h",
    "chars": 998,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/cluster_inc.h",
    "chars": 11827,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/command.c",
    "chars": 1026,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/command.h",
    "chars": 6938,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/compound_dictionary.c",
    "chars": 6652,
    "preview": "/* Copyright 2017 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/compound_dictionary.h",
    "chars": 2434,
    "preview": "/* Copyright 2017 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/compress_fragment.c",
    "chars": 32876,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/compress_fragment.h",
    "chars": 3572,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/compress_fragment_two_pass.c",
    "chars": 26807,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/compress_fragment_two_pass.h",
    "chars": 2853,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/dictionary_hash.c",
    "chars": 7933,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/dictionary_hash.h",
    "chars": 1533,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/dictionary_hash_inc.h",
    "chars": 146715,
    "preview": "const BROTLI_MODEL(\"small\")\nuint16_t kStaticDictionaryHashWords[BROTLI_ENC_NUM_HASH_BUCKETS] = {\n1002,0,0,0,0,0,0,0,0,6"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/enc_static_init.c",
    "chars": 1781,
    "preview": "/* Copyright 2025 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/encode.c",
    "chars": 78418,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/encoder_dict.c",
    "chars": 23379,
    "preview": "/* Copyright 2017 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/encoder_dict.h",
    "chars": 5021,
    "preview": "/* Copyright 2017 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/entropy_encode.c",
    "chars": 14569,
    "preview": "/* Copyright 2010 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/entropy_encode.h",
    "chars": 4056,
    "preview": "/* Copyright 2010 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/entropy_encode_static.h",
    "chars": 33145,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/fast_log.c",
    "chars": 6047,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/fast_log.h",
    "chars": 1646,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/find_match_length.h",
    "chars": 2168,
    "preview": "/* Copyright 2010 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash.h",
    "chars": 24297,
    "preview": "/* Copyright 2010 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_base.h",
    "chars": 1371,
    "preview": "/* Copyright 2025 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_composite_inc.h",
    "chars": 5098,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2018 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_forgetful_chain_inc.h",
    "chars": 11318,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2016 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_longest_match64_inc.h",
    "chars": 10656,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2010 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_longest_match64_simd_inc.h",
    "chars": 11836,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2010 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_longest_match_inc.h",
    "chars": 10590,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2010 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_longest_match_quickly_inc.h",
    "chars": 9482,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2010 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_longest_match_simd_inc.h",
    "chars": 11760,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2010 Google Inc. All Rights Reserved.\n   Distributed under MIT license.\n "
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_rolling_inc.h",
    "chars": 7227,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2018 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/hash_to_binary_tree_inc.h",
    "chars": 13082,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2016 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/histogram.c",
    "chars": 3262,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/histogram.h",
    "chars": 1814,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/histogram_inc.h",
    "chars": 1402,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/literal_cost.c",
    "chars": 5878,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/literal_cost.h",
    "chars": 890,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/matching_tag_mask.h",
    "chars": 2344,
    "preview": "#ifndef THIRD_PARTY_BROTLI_ENC_MATCHING_TAG_MASK_H_\n#define THIRD_PARTY_BROTLI_ENC_MATCHING_TAG_MASK_H_\n\n#include \"../c"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/memory.c",
    "chars": 5523,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/memory.h",
    "chars": 4297,
    "preview": "/* Copyright 2016 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/metablock.c",
    "chars": 26697,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/metablock.h",
    "chars": 4024,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/metablock_inc.h",
    "chars": 7637,
    "preview": "/* NOLINT(build/header_guard) */\n/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/params.h",
    "chars": 1169,
    "preview": "/* Copyright 2017 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/prefix.h",
    "chars": 1943,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/quality.h",
    "chars": 7865,
    "preview": "/* Copyright 2016 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/ringbuffer.h",
    "chars": 5968,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/state.h",
    "chars": 3079,
    "preview": "/* Copyright 2022 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/static_dict.c",
    "chars": 20878,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/static_dict.h",
    "chars": 1216,
    "preview": "/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/static_dict_lut.c",
    "chars": 7421,
    "preview": "/* Copyright 2025 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  },
  {
    "path": "NanaZip.Codecs/Brotli/enc/static_dict_lut.h",
    "chars": 1589,
    "preview": "/* Copyright 2015 Google Inc. All Rights Reserved.\n\n   Distributed under MIT license.\n   See file LICENSE for detail or"
  }
]

// ... and 2580 more files (download for full content)

About this extraction

This page contains the full source code of the M2Team/NanaZip GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2780 files (25.7 MB), approximately 4.1M tokens, and a symbol index with 11280 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!