react-native-update 10.34.1 → 10.34.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (908) hide show
  1. package/.gitmodules +6 -0
  2. package/harmony/pushy/src/main/cpp/HDiffPatch/CHANGELOG.md +291 -0
  3. package/harmony/pushy/src/main/cpp/HDiffPatch/LICENSE +48 -0
  4. package/harmony/pushy/src/main/cpp/HDiffPatch/Makefile +473 -0
  5. package/harmony/pushy/src/main/cpp/HDiffPatch/README.md +552 -0
  6. package/harmony/pushy/src/main/cpp/HDiffPatch/README_cn.md +547 -0
  7. package/harmony/pushy/src/main/cpp/HDiffPatch/_atosize.h +127 -0
  8. package/harmony/pushy/src/main/cpp/HDiffPatch/_clock_for_demo.h +59 -0
  9. package/harmony/pushy/src/main/cpp/HDiffPatch/_dir_ignore.h +191 -0
  10. package/harmony/pushy/src/main/cpp/HDiffPatch/_hextobytes.h +112 -0
  11. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bsdiff_wrapper.cpp +389 -0
  12. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bsdiff_wrapper.h +73 -0
  13. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bspatch_wrapper.c +266 -0
  14. package/harmony/pushy/src/main/cpp/HDiffPatch/bsdiff_wrapper/bspatch_wrapper.h +58 -0
  15. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +190 -0
  16. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +8 -0
  17. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +1 -0
  18. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +1 -0
  19. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs_patchers.bat +1 -0
  20. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/build_libs_patchers.sh +1 -0
  21. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +49 -0
  22. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +31 -0
  23. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +38 -0
  24. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +26 -0
  25. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffPatch.sln +155 -0
  26. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HDiffZ.vcxproj +364 -0
  27. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/HPatchZ.vcxproj +348 -0
  28. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/bzip2.vcxproj +228 -0
  29. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/hpatchz_test.vcxproj +215 -0
  30. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/libdeflate.vcxproj +256 -0
  31. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/longPathAware.exe.manifest +7 -0
  32. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/lzma.vcxproj +271 -0
  33. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/testHashClash.vcxproj +228 -0
  34. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/unitTest.vcxproj +296 -0
  35. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/zlib.vcxproj +242 -0
  36. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/vc/zstd.vcxproj +287 -0
  37. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +39 -0
  38. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  39. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +8 -0
  40. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +447 -0
  41. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +703 -0
  42. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +463 -0
  43. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/libdeflate.xcodeproj/project.pbxproj +286 -0
  44. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +268 -0
  45. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +585 -0
  46. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +301 -0
  47. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +591 -0
  48. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/zlib.xcodeproj/project.pbxproj +308 -0
  49. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +524 -0
  50. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatch_objc/hpatch_objc.h +33 -0
  51. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatch_objc/hpatch_objc.m +33 -0
  52. package/harmony/pushy/src/main/cpp/HDiffPatch/builds/xcode_iOS_hpatchz/hpatchz.xcodeproj/project.pbxproj +774 -0
  53. package/harmony/pushy/src/main/cpp/HDiffPatch/checksum_plugin_demo.h +799 -0
  54. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_parallel.cpp +201 -0
  55. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_parallel.h +59 -0
  56. package/harmony/pushy/src/main/cpp/HDiffPatch/compress_plugin_demo.h +1526 -0
  57. package/harmony/pushy/src/main/cpp/HDiffPatch/decompress_plugin_demo.h +1637 -0
  58. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +846 -0
  59. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +79 -0
  60. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +339 -0
  61. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +190 -0
  62. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +339 -0
  63. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +87 -0
  64. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +43 -0
  65. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +836 -0
  66. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +246 -0
  67. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +47 -0
  68. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +112 -0
  69. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +69 -0
  70. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_types.h +65 -0
  71. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +346 -0
  72. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +149 -0
  73. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +176 -0
  74. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +84 -0
  75. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +146 -0
  76. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +61 -0
  77. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +152 -0
  78. package/harmony/pushy/src/main/cpp/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +76 -0
  79. package/harmony/pushy/src/main/cpp/HDiffPatch/file_for_patch.c +735 -0
  80. package/harmony/pushy/src/main/cpp/HDiffPatch/file_for_patch.h +240 -0
  81. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz.cpp +1971 -0
  82. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz_import_patch.c +31 -0
  83. package/harmony/pushy/src/main/cpp/HDiffPatch/hdiffz_import_patch.h +42 -0
  84. package/harmony/pushy/src/main/cpp/HDiffPatch/hpatch_dir_listener.h +307 -0
  85. package/harmony/pushy/src/main/cpp/HDiffPatch/hpatchz.c +1786 -0
  86. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +1746 -0
  87. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff.h +201 -0
  88. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff_for_hpatch_lite.h +74 -0
  89. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +187 -0
  90. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/match_block.cpp +478 -0
  91. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/match_block.h +222 -0
  92. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +383 -0
  93. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +73 -0
  94. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +184 -0
  95. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +88 -0
  96. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +89 -0
  97. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +325 -0
  98. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.cpp +10 -0
  99. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +97 -0
  100. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.cpp +14 -0
  101. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +108 -0
  102. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +186 -0
  103. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +780 -0
  104. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +579 -0
  105. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +415 -0
  106. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +144 -0
  107. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +164 -0
  108. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +148 -0
  109. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +769 -0
  110. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +97 -0
  111. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +954 -0
  112. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +299 -0
  113. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/match_inplace.cpp +168 -0
  114. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/match_inplace.h +44 -0
  115. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +72 -0
  116. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +130 -0
  117. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/qsort_parallel.h +125 -0
  118. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +428 -0
  119. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +133 -0
  120. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +52 -0
  121. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hcache_old_mt.c +243 -0
  122. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hcache_old_mt.h +51 -0
  123. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hinput_mt.c +153 -0
  124. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hinput_mt.h +54 -0
  125. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_houtput_mt.c +158 -0
  126. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_houtput_mt.h +49 -0
  127. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hpatch_mt.c +294 -0
  128. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_hpatch_mt.h +59 -0
  129. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/_patch_private_mt.h +217 -0
  130. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/hpatch_mt.c +349 -0
  131. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/hpatch_mt/hpatch_mt.h +110 -0
  132. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.c +2643 -0
  133. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch.h +253 -0
  134. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_private.h +245 -0
  135. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatch/patch_types.h +361 -0
  136. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite.c +366 -0
  137. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite.h +91 -0
  138. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite_input_cache.h +31 -0
  139. package/harmony/pushy/src/main/cpp/HDiffPatch/libHDiffPatch/HPatchLite/hpatch_lite_types.h +106 -0
  140. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_channel.cpp +170 -0
  141. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_channel.h +250 -0
  142. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import.h +67 -0
  143. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import_c.c +497 -0
  144. package/harmony/pushy/src/main/cpp/HDiffPatch/libParallel/parallel_import_c.h +106 -0
  145. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_match_in_old_sign.cpp +254 -0
  146. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_match_in_old_sign.h +39 -0
  147. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/_sign_diff_type.h +37 -0
  148. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/sign_diff.cpp +62 -0
  149. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sign_diff/sign_diff.h +44 -0
  150. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dict_decompress_plugin.h +156 -0
  151. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dir_sync_client.cpp +440 -0
  152. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/dir_sync_client.h +88 -0
  153. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_old.cpp +332 -0
  154. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_old.h +48 -0
  155. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/match_in_types.h +198 -0
  156. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client.cpp +697 -0
  157. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client.h +74 -0
  158. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_private.h +262 -0
  159. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_type.h +174 -0
  160. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_client_type_private.h +174 -0
  161. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_diff_data.cpp +252 -0
  162. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_diff_data.h +67 -0
  163. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_info_client.cpp +680 -0
  164. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_client/sync_info_client.h +137 -0
  165. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dict_compress_plugin.h +83 -0
  166. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dir_sync_make.cpp +125 -0
  167. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/dir_sync_make.h +56 -0
  168. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/hsynz_plugin.h +55 -0
  169. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/match_in_new.cpp +147 -0
  170. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/match_in_new.h +38 -0
  171. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_info_make.cpp +354 -0
  172. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_info_make.h +76 -0
  173. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make.cpp +521 -0
  174. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make.h +69 -0
  175. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make_hash_clash.h +122 -0
  176. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/sync_make/sync_make_private.h +66 -0
  177. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_type.h +36 -0
  178. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_type_private.h +81 -0
  179. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_wrapper.cpp +247 -0
  180. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_client_wrapper.h +71 -0
  181. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_info_client.cpp +351 -0
  182. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_info_client.h +42 -0
  183. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_match_in_old.cpp +124 -0
  184. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_client_wrapper/zsync_match_in_old.h +38 -0
  185. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_info_make.cpp +203 -0
  186. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_info_make.h +55 -0
  187. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_make_wrapper.cpp +79 -0
  188. package/harmony/pushy/src/main/cpp/HDiffPatch/libhsync/zsync_make_wrapper/zsync_make_wrapper.h +66 -0
  189. package/harmony/pushy/src/main/cpp/HDiffPatch/test/_private_searchBestParams.cpp +301 -0
  190. package/harmony/pushy/src/main/cpp/HDiffPatch/test/hpatchz_test.cpp +291 -0
  191. package/harmony/pushy/src/main/cpp/HDiffPatch/test/testHashClash.cpp +630 -0
  192. package/harmony/pushy/src/main/cpp/HDiffPatch/test/unit_test.cpp +889 -0
  193. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcdiff_wrapper.cpp +628 -0
  194. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcdiff_wrapper.h +95 -0
  195. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_code_table.h +78 -0
  196. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_wrapper.c +950 -0
  197. package/harmony/pushy/src/main/cpp/HDiffPatch/vcdiff_wrapper/vcpatch_wrapper.h +72 -0
  198. package/harmony/pushy/src/main/cpp/lzma/Asm/arm/7zCrcOpt.asm +100 -0
  199. package/harmony/pushy/src/main/cpp/lzma/Asm/arm64/7zAsm.S +181 -0
  200. package/harmony/pushy/src/main/cpp/lzma/Asm/arm64/LzmaDecOpt.S +1487 -0
  201. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/7zAsm.asm +341 -0
  202. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/7zCrcOpt.asm +258 -0
  203. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/AesOpt.asm +742 -0
  204. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/LzFindOpt.asm +540 -0
  205. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/LzmaDecOpt.asm +1339 -0
  206. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/Sha256Opt.asm +275 -0
  207. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/Sort.asm +860 -0
  208. package/harmony/pushy/src/main/cpp/lzma/Asm/x86/XzCrc64Opt.asm +523 -0
  209. package/harmony/pushy/src/main/cpp/lzma/C/7z.h +204 -0
  210. package/harmony/pushy/src/main/cpp/lzma/C/7zAlloc.c +89 -0
  211. package/harmony/pushy/src/main/cpp/lzma/C/7zAlloc.h +19 -0
  212. package/harmony/pushy/src/main/cpp/lzma/C/7zArcIn.c +1786 -0
  213. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf.c +36 -0
  214. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf.h +35 -0
  215. package/harmony/pushy/src/main/cpp/lzma/C/7zBuf2.c +52 -0
  216. package/harmony/pushy/src/main/cpp/lzma/C/7zCrc.c +464 -0
  217. package/harmony/pushy/src/main/cpp/lzma/C/7zCrc.h +28 -0
  218. package/harmony/pushy/src/main/cpp/lzma/C/7zCrcOpt.c +199 -0
  219. package/harmony/pushy/src/main/cpp/lzma/C/7zDec.c +673 -0
  220. package/harmony/pushy/src/main/cpp/lzma/C/7zFile.c +443 -0
  221. package/harmony/pushy/src/main/cpp/lzma/C/7zFile.h +92 -0
  222. package/harmony/pushy/src/main/cpp/lzma/C/7zStream.c +199 -0
  223. package/harmony/pushy/src/main/cpp/lzma/C/7zTypes.h +597 -0
  224. package/harmony/pushy/src/main/cpp/lzma/C/7zVersion.h +27 -0
  225. package/harmony/pushy/src/main/cpp/lzma/C/7zVersion.rc +55 -0
  226. package/harmony/pushy/src/main/cpp/lzma/C/7zWindows.h +101 -0
  227. package/harmony/pushy/src/main/cpp/lzma/C/7zip_gcc_c.mak +360 -0
  228. package/harmony/pushy/src/main/cpp/lzma/C/Aes.c +429 -0
  229. package/harmony/pushy/src/main/cpp/lzma/C/Aes.h +60 -0
  230. package/harmony/pushy/src/main/cpp/lzma/C/AesOpt.c +1002 -0
  231. package/harmony/pushy/src/main/cpp/lzma/C/Alloc.c +605 -0
  232. package/harmony/pushy/src/main/cpp/lzma/C/Alloc.h +76 -0
  233. package/harmony/pushy/src/main/cpp/lzma/C/Asm_c.mak +12 -0
  234. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2.c +290 -0
  235. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2.h +332 -0
  236. package/harmony/pushy/src/main/cpp/lzma/C/Bcj2Enc.c +506 -0
  237. package/harmony/pushy/src/main/cpp/lzma/C/Bra.c +709 -0
  238. package/harmony/pushy/src/main/cpp/lzma/C/Bra.h +105 -0
  239. package/harmony/pushy/src/main/cpp/lzma/C/Bra86.c +187 -0
  240. package/harmony/pushy/src/main/cpp/lzma/C/BraIA64.c +14 -0
  241. package/harmony/pushy/src/main/cpp/lzma/C/Compiler.h +246 -0
  242. package/harmony/pushy/src/main/cpp/lzma/C/CpuArch.c +970 -0
  243. package/harmony/pushy/src/main/cpp/lzma/C/CpuArch.h +686 -0
  244. package/harmony/pushy/src/main/cpp/lzma/C/Delta.c +169 -0
  245. package/harmony/pushy/src/main/cpp/lzma/C/Delta.h +19 -0
  246. package/harmony/pushy/src/main/cpp/lzma/C/DllSecur.c +99 -0
  247. package/harmony/pushy/src/main/cpp/lzma/C/DllSecur.h +20 -0
  248. package/harmony/pushy/src/main/cpp/lzma/C/LzFind.c +1746 -0
  249. package/harmony/pushy/src/main/cpp/lzma/C/LzFind.h +160 -0
  250. package/harmony/pushy/src/main/cpp/lzma/C/LzFindMt.c +1422 -0
  251. package/harmony/pushy/src/main/cpp/lzma/C/LzFindMt.h +114 -0
  252. package/harmony/pushy/src/main/cpp/lzma/C/LzFindOpt.c +578 -0
  253. package/harmony/pushy/src/main/cpp/lzma/C/LzHash.h +34 -0
  254. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Dec.c +493 -0
  255. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Dec.h +121 -0
  256. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2DecMt.c +1095 -0
  257. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2DecMt.h +81 -0
  258. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Enc.c +807 -0
  259. package/harmony/pushy/src/main/cpp/lzma/C/Lzma2Enc.h +58 -0
  260. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86.h +111 -0
  261. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86Dec.c +53 -0
  262. package/harmony/pushy/src/main/cpp/lzma/C/Lzma86Enc.c +103 -0
  263. package/harmony/pushy/src/main/cpp/lzma/C/LzmaDec.c +1363 -0
  264. package/harmony/pushy/src/main/cpp/lzma/C/LzmaDec.h +237 -0
  265. package/harmony/pushy/src/main/cpp/lzma/C/LzmaEnc.c +3150 -0
  266. package/harmony/pushy/src/main/cpp/lzma/C/LzmaEnc.h +85 -0
  267. package/harmony/pushy/src/main/cpp/lzma/C/LzmaLib.c +42 -0
  268. package/harmony/pushy/src/main/cpp/lzma/C/LzmaLib.h +138 -0
  269. package/harmony/pushy/src/main/cpp/lzma/C/MtCoder.c +604 -0
  270. package/harmony/pushy/src/main/cpp/lzma/C/MtCoder.h +144 -0
  271. package/harmony/pushy/src/main/cpp/lzma/C/MtDec.c +1124 -0
  272. package/harmony/pushy/src/main/cpp/lzma/C/MtDec.h +202 -0
  273. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd.h +169 -0
  274. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7.c +1131 -0
  275. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7.h +181 -0
  276. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7Dec.c +312 -0
  277. package/harmony/pushy/src/main/cpp/lzma/C/Ppmd7Enc.c +337 -0
  278. package/harmony/pushy/src/main/cpp/lzma/C/Precomp.h +127 -0
  279. package/harmony/pushy/src/main/cpp/lzma/C/RotateDefs.h +50 -0
  280. package/harmony/pushy/src/main/cpp/lzma/C/Sha256.c +492 -0
  281. package/harmony/pushy/src/main/cpp/lzma/C/Sha256.h +86 -0
  282. package/harmony/pushy/src/main/cpp/lzma/C/Sha256Opt.c +451 -0
  283. package/harmony/pushy/src/main/cpp/lzma/C/Sort.c +268 -0
  284. package/harmony/pushy/src/main/cpp/lzma/C/Sort.h +15 -0
  285. package/harmony/pushy/src/main/cpp/lzma/C/SwapBytes.c +835 -0
  286. package/harmony/pushy/src/main/cpp/lzma/C/SwapBytes.h +17 -0
  287. package/harmony/pushy/src/main/cpp/lzma/C/Threads.c +812 -0
  288. package/harmony/pushy/src/main/cpp/lzma/C/Threads.h +260 -0
  289. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7z.dsp +249 -0
  290. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7z.dsw +29 -0
  291. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/7zMain.c +889 -0
  292. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/Precomp.c +4 -0
  293. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/Precomp.h +13 -0
  294. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/makefile +44 -0
  295. package/harmony/pushy/src/main/cpp/lzma/C/Util/7z/makefile.gcc +32 -0
  296. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.c +313 -0
  297. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsp +192 -0
  298. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/LzmaUtil.dsw +29 -0
  299. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/Precomp.h +13 -0
  300. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/makefile +30 -0
  301. package/harmony/pushy/src/main/cpp/lzma/C/Util/Lzma/makefile.gcc +21 -0
  302. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.def +4 -0
  303. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsp +206 -0
  304. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  305. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/LzmaLibExports.c +15 -0
  306. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/Precomp.c +4 -0
  307. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/Precomp.h +13 -0
  308. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/makefile +59 -0
  309. package/harmony/pushy/src/main/cpp/lzma/C/Util/LzmaLib/resource.rc +3 -0
  310. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.c +4 -0
  311. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/Precomp.h +13 -0
  312. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.c +657 -0
  313. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  314. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  315. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/makefile +44 -0
  316. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/makefile_con +40 -0
  317. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/resource.rc +5 -0
  318. package/harmony/pushy/src/main/cpp/lzma/C/Util/SfxSetup/setup.ico +0 -0
  319. package/harmony/pushy/src/main/cpp/lzma/C/Xz.c +92 -0
  320. package/harmony/pushy/src/main/cpp/lzma/C/Xz.h +542 -0
  321. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64.c +140 -0
  322. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64.h +26 -0
  323. package/harmony/pushy/src/main/cpp/lzma/C/XzCrc64Opt.c +261 -0
  324. package/harmony/pushy/src/main/cpp/lzma/C/XzDec.c +2876 -0
  325. package/harmony/pushy/src/main/cpp/lzma/C/XzEnc.c +1384 -0
  326. package/harmony/pushy/src/main/cpp/lzma/C/XzEnc.h +64 -0
  327. package/harmony/pushy/src/main/cpp/lzma/C/XzIn.c +385 -0
  328. package/harmony/pushy/src/main/cpp/lzma/C/var_clang.mak +11 -0
  329. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_arm64.mak +12 -0
  330. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_x64.mak +11 -0
  331. package/harmony/pushy/src/main/cpp/lzma/C/var_clang_x86.mak +11 -0
  332. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc.mak +12 -0
  333. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_arm64.mak +12 -0
  334. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_x64.mak +10 -0
  335. package/harmony/pushy/src/main/cpp/lzma/C/var_gcc_x86.mak +10 -0
  336. package/harmony/pushy/src/main/cpp/lzma/C/var_mac_arm64.mak +11 -0
  337. package/harmony/pushy/src/main/cpp/lzma/C/var_mac_x64.mak +11 -0
  338. package/harmony/pushy/src/main/cpp/lzma/C/warn_clang.mak +1 -0
  339. package/harmony/pushy/src/main/cpp/lzma/C/warn_clang_mac.mak +1 -0
  340. package/harmony/pushy/src/main/cpp/lzma/C/warn_gcc.mak +51 -0
  341. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/7zip.mak +240 -0
  342. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/7zip_gcc.mak +1370 -0
  343. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Aes.mak +10 -0
  344. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  345. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +92 -0
  346. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +599 -0
  347. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zDecode.h +73 -0
  348. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +721 -0
  349. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zEncode.h +95 -0
  350. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +444 -0
  351. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +264 -0
  352. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +101 -0
  353. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +795 -0
  354. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandler.h +178 -0
  355. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +1162 -0
  356. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  357. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zHeader.h +156 -0
  358. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.cpp +1764 -0
  359. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zIn.h +454 -0
  360. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zItem.h +207 -0
  361. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.cpp +1026 -0
  362. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zOut.h +346 -0
  363. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +182 -0
  364. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zProperties.h +26 -0
  365. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +27 -0
  366. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +31 -0
  367. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +49 -0
  368. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +3088 -0
  369. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/7zUpdate.h +167 -0
  370. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  371. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/7z/StdAfx.h +11 -0
  372. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Archive.def +14 -0
  373. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Archive2.def +21 -0
  374. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/ArchiveExports.cpp +158 -0
  375. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +1144 -0
  376. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  377. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  378. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +23 -0
  379. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +315 -0
  380. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/HandlerOut.h +169 -0
  381. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +57 -0
  382. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +64 -0
  383. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +140 -0
  384. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +33 -0
  385. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +193 -0
  386. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/MultiStream.h +86 -0
  387. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  388. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +35 -0
  389. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  390. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  391. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Common/StdAfx.h +11 -0
  392. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/DllExports2.cpp +175 -0
  393. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/IArchive.h +754 -0
  394. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  395. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/LzmaHandler.cpp +608 -0
  396. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/SplitHandler.cpp +353 -0
  397. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/StdAfx.h +11 -0
  398. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.cpp +1452 -0
  399. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Archive/XzHandler.h +11 -0
  400. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Asm.mak +12 -0
  401. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +2090 -0
  402. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  403. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  404. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +11 -0
  405. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/makefile +168 -0
  406. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/makefile.gcc +279 -0
  407. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  408. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  409. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +11 -0
  410. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +98 -0
  411. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  412. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  413. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +11 -0
  414. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/makefile +121 -0
  415. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  416. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +817 -0
  417. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +540 -0
  418. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  419. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  420. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +11 -0
  421. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile +68 -0
  422. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +131 -0
  423. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  424. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +715 -0
  425. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  426. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +1017 -0
  427. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  428. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +521 -0
  429. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  430. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +11 -0
  431. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/makefile +137 -0
  432. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/makefile.gcc +215 -0
  433. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +9 -0
  434. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  435. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +83 -0
  436. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +135 -0
  437. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  438. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +872 -0
  439. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  440. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +371 -0
  441. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  442. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +6 -0
  443. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/makefile +121 -0
  444. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  445. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  446. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  447. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  448. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +1074 -0
  449. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  450. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +268 -0
  451. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  452. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +6 -0
  453. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/makefile +159 -0
  454. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  455. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +55 -0
  456. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.cpp +358 -0
  457. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CWrappers.h +182 -0
  458. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.cpp +548 -0
  459. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/CreateCoder.h +200 -0
  460. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  461. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  462. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.cpp +923 -0
  463. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FileStreams.h +205 -0
  464. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.cpp +577 -0
  465. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/FilterCoder.h +201 -0
  466. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.cpp +182 -0
  467. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InBuffer.h +121 -0
  468. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +237 -0
  469. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/InOutTempBuffer.h +45 -0
  470. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.cpp +393 -0
  471. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LimitedStreams.h +221 -0
  472. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.cpp +3 -0
  473. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/LockedStream.h +6 -0
  474. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodId.cpp +3 -0
  475. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodId.h +10 -0
  476. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.cpp +765 -0
  477. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MethodProps.h +349 -0
  478. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MultiOutStream.cpp +855 -0
  479. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/MultiOutStream.h +160 -0
  480. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.cpp +37 -0
  481. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OffsetStream.h +22 -0
  482. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.cpp +111 -0
  483. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/OutBuffer.h +133 -0
  484. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  485. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/ProgressUtils.h +33 -0
  486. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/PropId.cpp +117 -0
  487. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/RegisterArc.h +80 -0
  488. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/RegisterCodec.h +106 -0
  489. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StdAfx.h +11 -0
  490. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.cpp +151 -0
  491. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamBinder.h +78 -0
  492. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.cpp +290 -0
  493. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamObjects.h +146 -0
  494. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.cpp +101 -0
  495. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/StreamUtils.h +31 -0
  496. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  497. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/UniqBlocks.h +41 -0
  498. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.cpp +47 -0
  499. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Common/VirtThread.h +24 -0
  500. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +867 -0
  501. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Coder.h +127 -0
  502. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  503. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  504. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjCoder.h +37 -0
  505. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  506. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.cpp +106 -0
  507. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchMisc.h +59 -0
  508. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/BranchRegister.cpp +58 -0
  509. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/ByteSwap.cpp +91 -0
  510. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CodecExports.cpp +378 -0
  511. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.cpp +153 -0
  512. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyCoder.h +34 -0
  513. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  514. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/DeltaFilter.cpp +126 -0
  515. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +267 -0
  516. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Decoder.h +87 -0
  517. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +134 -0
  518. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Encoder.h +30 -0
  519. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  520. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +350 -0
  521. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  522. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +374 -0
  523. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaEncoder.h +45 -0
  524. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  525. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +219 -0
  526. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdDecoder.h +87 -0
  527. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +193 -0
  528. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdEncoder.h +49 -0
  529. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  530. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/StdAfx.h +11 -0
  531. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.cpp +151 -0
  532. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzDecoder.h +86 -0
  533. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.cpp +243 -0
  534. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Compress/XzEncoder.h +35 -0
  535. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crc.mak +8 -0
  536. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crc64.mak +8 -0
  537. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.cpp +315 -0
  538. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAes.h +130 -0
  539. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  540. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.cpp +277 -0
  541. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAes.h +122 -0
  542. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/MyAesReg.cpp +29 -0
  543. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.cpp +241 -0
  544. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/RandGen.h +41 -0
  545. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Crypto/StdAfx.h +11 -0
  546. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/GuiCommon.rc +119 -0
  547. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Guid.txt +243 -0
  548. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/ICoder.h +480 -0
  549. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IDecl.h +76 -0
  550. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IPassword.h +54 -0
  551. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IProgress.h +20 -0
  552. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/IStream.h +210 -0
  553. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzFindOpt.mak +7 -0
  554. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzmaDec.mak +7 -0
  555. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/LzmaDec_gcc.mak +14 -0
  556. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/MyVersion.h +2 -0
  557. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/MyVersionInfo.rc +2 -0
  558. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/PropID.h +178 -0
  559. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Sha256.mak +13 -0
  560. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/Sort.mak +6 -0
  561. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/SubBuild.mak +3 -0
  562. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +1145 -0
  563. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +331 -0
  564. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  565. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  566. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/StdAfx.h +11 -0
  567. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/makefile +29 -0
  568. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/makefile.gcc +72 -0
  569. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Client7z/resource.rc +3 -0
  570. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1799 -0
  571. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +170 -0
  572. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +3077 -0
  573. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +641 -0
  574. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +176 -0
  575. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveName.h +16 -0
  576. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +398 -0
  577. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +182 -0
  578. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.cpp +5026 -0
  579. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Bench.h +121 -0
  580. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  581. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DefaultName.h +11 -0
  582. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/DirItem.h +407 -0
  583. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +1637 -0
  584. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/EnumDirItems.h +38 -0
  585. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExitCode.h +27 -0
  586. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.cpp +575 -0
  587. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Extract.h +107 -0
  588. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractMode.h +44 -0
  589. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +296 -0
  590. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  591. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.cpp +2273 -0
  592. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/HashCalc.h +322 -0
  593. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +112 -0
  594. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +1337 -0
  595. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/LoadCodecs.h +482 -0
  596. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +3702 -0
  597. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/OpenArchive.h +469 -0
  598. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +745 -0
  599. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  600. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Property.h +14 -0
  601. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.cpp +88 -0
  602. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SetProperties.h +10 -0
  603. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  604. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/SortUtils.h +10 -0
  605. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/StdAfx.h +11 -0
  606. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.cpp +20 -0
  607. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/TempFiles.h +19 -0
  608. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.cpp +1931 -0
  609. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/Update.h +221 -0
  610. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  611. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  612. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +1069 -0
  613. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateCallback.h +197 -0
  614. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +302 -0
  615. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  616. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +74 -0
  617. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/UpdateProduce.h +60 -0
  618. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.cpp +84 -0
  619. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/WorkDir.h +30 -0
  620. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Common/ZipRegistry.h +212 -0
  621. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  622. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/BenchCon.h +14 -0
  623. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.mak +46 -0
  624. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Console.manifest +16 -0
  625. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +98 -0
  626. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ConsoleClose.h +39 -0
  627. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +946 -0
  628. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +211 -0
  629. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.cpp +426 -0
  630. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/HashCon.h +58 -0
  631. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/List.cpp +1417 -0
  632. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/List.h +42 -0
  633. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/Main.cpp +1635 -0
  634. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/MainAr.cpp +235 -0
  635. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  636. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +73 -0
  637. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +186 -0
  638. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/PercentPrinter.h +66 -0
  639. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  640. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/StdAfx.h +11 -0
  641. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +998 -0
  642. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +148 -0
  643. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +118 -0
  644. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  645. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/makefile +68 -0
  646. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/makefile.gcc +187 -0
  647. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Console/resource.rc +7 -0
  648. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +43 -0
  649. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  650. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1132 -0
  651. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +32 -0
  652. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  653. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  654. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  655. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  656. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  657. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1272 -0
  658. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +347 -0
  659. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  660. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  661. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/LangUtils.h +48 -0
  662. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialog.cpp +218 -0
  663. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialog.h +48 -0
  664. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MemDialogRes.h +13 -0
  665. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +119 -0
  666. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +288 -0
  667. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +89 -0
  668. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +93 -0
  669. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +19 -0
  670. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  671. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  672. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +18 -0
  673. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  674. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +201 -0
  675. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +171 -0
  676. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  677. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1483 -0
  678. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +355 -0
  679. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  680. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +49 -0
  681. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +85 -0
  682. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  683. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  684. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  685. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +104 -0
  686. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/StdAfx.h +67 -0
  687. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +351 -0
  688. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +65 -0
  689. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resource.h +199 -0
  690. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/FileManager/resourceGui.h +25 -0
  691. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/7zG.exe.manifest +23 -0
  692. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/Extract.rc +59 -0
  693. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +421 -0
  694. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  695. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  696. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  697. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +297 -0
  698. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +39 -0
  699. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  700. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  701. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/UI/GUI/resource2.h +2 -0
  702. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang.mak +3 -0
  703. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_arm64.mak +3 -0
  704. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_x64.mak +3 -0
  705. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_clang_x86.mak +3 -0
  706. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc.mak +3 -0
  707. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_arm64.mak +3 -0
  708. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_x64.mak +3 -0
  709. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_gcc_x86.mak +3 -0
  710. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_mac_arm64.mak +3 -0
  711. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/cmpl_mac_x64.mak +3 -0
  712. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang.mak +11 -0
  713. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_arm64.mak +19 -0
  714. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_x64.mak +11 -0
  715. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_clang_x86.mak +11 -0
  716. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc.mak +12 -0
  717. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_arm64.mak +12 -0
  718. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_x64.mak +11 -0
  719. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_gcc_x86.mak +10 -0
  720. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_mac_arm64.mak +13 -0
  721. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/var_mac_x64.mak +11 -0
  722. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_clang.mak +3 -0
  723. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_clang_mac.mak +9 -0
  724. package/harmony/pushy/src/main/cpp/lzma/CPP/7zip/warn_gcc.mak +55 -0
  725. package/harmony/pushy/src/main/cpp/lzma/CPP/Build.mak +252 -0
  726. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/AutoPtr.h +46 -0
  727. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CRC.cpp +7 -0
  728. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/C_FileIO.cpp +3 -0
  729. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/C_FileIO.h +6 -0
  730. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ComTry.h +21 -0
  731. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CommandLineParser.cpp +231 -0
  732. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CommandLineParser.h +63 -0
  733. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Common.h +28 -0
  734. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Common0.h +330 -0
  735. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/CrcReg.cpp +77 -0
  736. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Defs.h +16 -0
  737. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynLimBuf.cpp +93 -0
  738. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynLimBuf.h +41 -0
  739. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/DynamicBuffer.h +76 -0
  740. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/IntToString.cpp +215 -0
  741. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/IntToString.h +54 -0
  742. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Lang.h +30 -0
  743. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ListFileUtils.cpp +150 -0
  744. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/ListFileUtils.h +18 -0
  745. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/LzFindPrepare.cpp +7 -0
  746. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyBuffer.h +297 -0
  747. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyBuffer2.h +185 -0
  748. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyCom.h +693 -0
  749. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyException.h +14 -0
  750. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyGuidDef.h +63 -0
  751. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyInitGuid.h +57 -0
  752. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyLinux.h +75 -0
  753. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyString.cpp +1842 -0
  754. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyString.h +1079 -0
  755. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyTypes.h +38 -0
  756. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyUnknown.h +8 -0
  757. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyVector.cpp +3 -0
  758. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyVector.h +724 -0
  759. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyWindows.cpp +292 -0
  760. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/MyWindows.h +325 -0
  761. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/NewHandler.cpp +340 -0
  762. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/NewHandler.h +121 -0
  763. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Sha256Prepare.cpp +7 -0
  764. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Sha256Reg.cpp +67 -0
  765. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdAfx.h +8 -0
  766. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdInStream.cpp +98 -0
  767. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdInStream.h +46 -0
  768. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdOutStream.cpp +248 -0
  769. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StdOutStream.h +87 -0
  770. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringConvert.cpp +762 -0
  771. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringConvert.h +110 -0
  772. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringToInt.cpp +154 -0
  773. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/StringToInt.h +38 -0
  774. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/TextConfig.cpp +123 -0
  775. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/TextConfig.h +19 -0
  776. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/UTFConvert.cpp +863 -0
  777. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/UTFConvert.h +384 -0
  778. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Wildcard.cpp +789 -0
  779. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/Wildcard.h +231 -0
  780. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/XzCrc64Init.cpp +7 -0
  781. package/harmony/pushy/src/main/cpp/lzma/CPP/Common/XzCrc64Reg.cpp +39 -0
  782. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/COM.h +86 -0
  783. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Clipboard.cpp +130 -0
  784. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Clipboard.h +28 -0
  785. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/CommonDialog.cpp +269 -0
  786. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/CommonDialog.h +43 -0
  787. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.cpp +66 -0
  788. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ComboBox.h +77 -0
  789. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/CommandBar.h +52 -0
  790. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Dialog.cpp +446 -0
  791. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Dialog.h +213 -0
  792. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Edit.h +19 -0
  793. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ImageList.cpp +10 -0
  794. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ImageList.h +87 -0
  795. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ListView.cpp +162 -0
  796. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ListView.h +156 -0
  797. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ProgressBar.h +35 -0
  798. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.cpp +165 -0
  799. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/PropertyPage.h +50 -0
  800. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ReBar.h +34 -0
  801. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Static.h +28 -0
  802. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/StatusBar.h +42 -0
  803. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/StdAfx.h +11 -0
  804. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/ToolBar.h +43 -0
  805. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Trackbar.h +27 -0
  806. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Window2.cpp +202 -0
  807. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Control/Window2.h +53 -0
  808. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/DLL.cpp +178 -0
  809. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/DLL.h +103 -0
  810. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Defs.h +17 -0
  811. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ErrorMsg.cpp +133 -0
  812. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ErrorMsg.h +16 -0
  813. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileDir.cpp +1362 -0
  814. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileDir.h +172 -0
  815. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileFind.cpp +1449 -0
  816. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileFind.h +347 -0
  817. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileIO.cpp +954 -0
  818. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileIO.h +467 -0
  819. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileLink.cpp +697 -0
  820. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileMapping.cpp +12 -0
  821. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileMapping.h +66 -0
  822. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileName.cpp +911 -0
  823. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileName.h +142 -0
  824. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileSystem.cpp +187 -0
  825. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/FileSystem.h +31 -0
  826. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Handle.h +39 -0
  827. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryGlobal.cpp +36 -0
  828. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryGlobal.h +55 -0
  829. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryLock.cpp +127 -0
  830. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/MemoryLock.h +40 -0
  831. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/NtCheck.h +58 -0
  832. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariant.cpp +393 -0
  833. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariant.h +173 -0
  834. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariantConv.cpp +274 -0
  835. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/PropVariantConv.h +47 -0
  836. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Registry.cpp +474 -0
  837. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Registry.h +96 -0
  838. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ResourceString.cpp +103 -0
  839. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/ResourceString.h +17 -0
  840. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SecurityUtils.cpp +186 -0
  841. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SecurityUtils.h +150 -0
  842. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Shell.cpp +839 -0
  843. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Shell.h +129 -0
  844. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/StdAfx.h +11 -0
  845. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Synchronization.cpp +87 -0
  846. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Synchronization.h +386 -0
  847. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/System.cpp +421 -0
  848. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/System.h +189 -0
  849. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SystemInfo.cpp +1251 -0
  850. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/SystemInfo.h +19 -0
  851. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Thread.h +46 -0
  852. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/TimeUtils.cpp +467 -0
  853. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/TimeUtils.h +146 -0
  854. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Window.cpp +179 -0
  855. package/harmony/pushy/src/main/cpp/lzma/CPP/Windows/Window.h +363 -0
  856. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/CRC.cs +55 -0
  857. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/CommandLineParser.cs +274 -0
  858. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/InBuffer.cs +72 -0
  859. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Common/OutBuffer.cs +47 -0
  860. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +24 -0
  861. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +367 -0
  862. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +132 -0
  863. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +110 -0
  864. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +76 -0
  865. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +398 -0
  866. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +1480 -0
  867. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +364 -0
  868. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +20 -0
  869. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +340 -0
  870. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +29 -0
  871. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +70 -0
  872. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +42 -0
  873. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +234 -0
  874. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +117 -0
  875. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +157 -0
  876. package/harmony/pushy/src/main/cpp/lzma/CS/7zip/ICoder.cs +157 -0
  877. package/harmony/pushy/src/main/cpp/lzma/DOC/7zC.txt +187 -0
  878. package/harmony/pushy/src/main/cpp/lzma/DOC/7zFormat.txt +469 -0
  879. package/harmony/pushy/src/main/cpp/lzma/DOC/Methods.txt +177 -0
  880. package/harmony/pushy/src/main/cpp/lzma/DOC/installer.txt +166 -0
  881. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-history.txt +651 -0
  882. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-sdk.txt +437 -0
  883. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma-specification.txt +1176 -0
  884. package/harmony/pushy/src/main/cpp/lzma/DOC/lzma.txt +345 -0
  885. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/CRC.java +52 -0
  886. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/BinTree.java +382 -0
  887. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/InWindow.java +131 -0
  888. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +85 -0
  889. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Base.java +88 -0
  890. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +329 -0
  891. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +1416 -0
  892. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +55 -0
  893. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +99 -0
  894. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +88 -0
  895. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +151 -0
  896. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/ICodeProgress.java +6 -0
  897. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/LzmaAlone.java +253 -0
  898. package/harmony/pushy/src/main/cpp/lzma/Java/SevenZip/LzmaBench.java +392 -0
  899. package/harmony/pushy/src/main/cpp/lzma/bin/7zS2.sfx +0 -0
  900. package/harmony/pushy/src/main/cpp/lzma/bin/7zS2con.sfx +0 -0
  901. package/harmony/pushy/src/main/cpp/lzma/bin/7zSD.sfx +0 -0
  902. package/harmony/pushy/src/main/cpp/lzma/bin/7zdec.exe +0 -0
  903. package/harmony/pushy/src/main/cpp/lzma/bin/7zr.exe +0 -0
  904. package/harmony/pushy/src/main/cpp/lzma/bin/installer/config.txt +5 -0
  905. package/harmony/pushy/src/main/cpp/lzma/bin/installer/cr.bat +5 -0
  906. package/harmony/pushy/src/main/cpp/lzma/bin/lzma.exe +0 -0
  907. package/harmony/pushy/src/main/cpp/lzma/bin/x64/7zr.exe +0 -0
  908. package/package.json +1 -1
@@ -0,0 +1,1422 @@
1
+ /* LzFindMt.c -- multithreaded Match finder for LZ algorithms
2
+ : Igor Pavlov : Public domain */
3
+
4
+ #include "Precomp.h"
5
+
6
+ // #include <stdio.h>
7
+
8
+ #include "CpuArch.h"
9
+
10
+ #include "LzHash.h"
11
+ #include "LzFindMt.h"
12
+
13
+ // #define LOG_ITERS
14
+
15
+ // #define LOG_THREAD
16
+
17
+ #ifdef LOG_THREAD
18
+ #include <stdio.h>
19
+ #define PRF(x) x
20
+ #else
21
+ #define PRF(x)
22
+ #endif
23
+
24
+ #ifdef LOG_ITERS
25
+ #include <stdio.h>
26
+ extern UInt64 g_NumIters_Tree;
27
+ extern UInt64 g_NumIters_Loop;
28
+ extern UInt64 g_NumIters_Bytes;
29
+ #define LOG_ITER(x) x
30
+ #else
31
+ #define LOG_ITER(x)
32
+ #endif
33
+
34
+ #define kMtHashBlockSize ((UInt32)1 << 17)
35
+ #define kMtHashNumBlocks (1 << 1)
36
+
37
+ #define GET_HASH_BLOCK_OFFSET(i) (((i) & (kMtHashNumBlocks - 1)) * kMtHashBlockSize)
38
+
39
+ #define kMtBtBlockSize ((UInt32)1 << 16)
40
+ #define kMtBtNumBlocks (1 << 4)
41
+
42
+ #define GET_BT_BLOCK_OFFSET(i) (((i) & (kMtBtNumBlocks - 1)) * (size_t)kMtBtBlockSize)
43
+
44
+ /*
45
+ HASH functions:
46
+ We use raw 8/16 bits from a[1] and a[2],
47
+ xored with crc(a[0]) and crc(a[3]).
48
+ We check a[0], a[3] only. We don't need to compare a[1] and a[2] in matches.
49
+ our crc() function provides one-to-one correspondence for low 8-bit values:
50
+ (crc[0...0xFF] & 0xFF) <-> [0...0xFF]
51
+ */
52
+
53
+ #define MF(mt) ((mt)->MatchFinder)
54
+ #define MF_CRC (p->crc)
55
+
56
+ // #define MF(mt) (&(mt)->MatchFinder)
57
+ // #define MF_CRC (p->MatchFinder.crc)
58
+
59
+ #define MT_HASH2_CALC \
60
+ h2 = (MF_CRC[cur[0]] ^ cur[1]) & (kHash2Size - 1);
61
+
62
+ #define MT_HASH3_CALC { \
63
+ UInt32 temp = MF_CRC[cur[0]] ^ cur[1]; \
64
+ h2 = temp & (kHash2Size - 1); \
65
+ h3 = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); }
66
+
67
+ /*
68
+ #define MT_HASH3_CALC__NO_2 { \
69
+ UInt32 temp = p->crc[cur[0]] ^ cur[1]; \
70
+ h3 = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); }
71
+
72
+ #define MT_HASH4_CALC { \
73
+ UInt32 temp = p->crc[cur[0]] ^ cur[1]; \
74
+ h2 = temp & (kHash2Size - 1); \
75
+ temp ^= ((UInt32)cur[2] << 8); \
76
+ h3 = temp & (kHash3Size - 1); \
77
+ h4 = (temp ^ (p->crc[cur[3]] << kLzHash_CrcShift_1)) & p->hash4Mask; }
78
+ // (kHash4Size - 1);
79
+ */
80
+
81
+
82
+ Z7_NO_INLINE
83
+ static void MtSync_Construct(CMtSync *p)
84
+ {
85
+ p->affinityGroup = -1;
86
+ p->affinityInGroup = 0;
87
+ p->affinity = 0;
88
+ p->wasCreated = False;
89
+ p->csWasInitialized = False;
90
+ p->csWasEntered = False;
91
+ Thread_CONSTRUCT(&p->thread)
92
+ Event_Construct(&p->canStart);
93
+ Event_Construct(&p->wasStopped);
94
+ Semaphore_Construct(&p->freeSemaphore);
95
+ Semaphore_Construct(&p->filledSemaphore);
96
+ }
97
+
98
+
99
+ // #define DEBUG_BUFFER_LOCK // define it to debug lock state
100
+
101
+ #ifdef DEBUG_BUFFER_LOCK
102
+ #include <stdlib.h>
103
+ #define BUFFER_MUST_BE_LOCKED(p) if (!(p)->csWasEntered) exit(1);
104
+ #define BUFFER_MUST_BE_UNLOCKED(p) if ( (p)->csWasEntered) exit(1);
105
+ #else
106
+ #define BUFFER_MUST_BE_LOCKED(p)
107
+ #define BUFFER_MUST_BE_UNLOCKED(p)
108
+ #endif
109
+
110
+ #define LOCK_BUFFER(p) { \
111
+ BUFFER_MUST_BE_UNLOCKED(p); \
112
+ CriticalSection_Enter(&(p)->cs); \
113
+ (p)->csWasEntered = True; }
114
+
115
+ #define UNLOCK_BUFFER(p) { \
116
+ BUFFER_MUST_BE_LOCKED(p); \
117
+ CriticalSection_Leave(&(p)->cs); \
118
+ (p)->csWasEntered = False; }
119
+
120
+
121
+ Z7_NO_INLINE
122
+ static UInt32 MtSync_GetNextBlock(CMtSync *p)
123
+ {
124
+ UInt32 numBlocks = 0;
125
+ if (p->needStart)
126
+ {
127
+ BUFFER_MUST_BE_UNLOCKED(p)
128
+ p->numProcessedBlocks = 1;
129
+ p->needStart = False;
130
+ p->stopWriting = False;
131
+ p->exit = False;
132
+ Event_Reset(&p->wasStopped);
133
+ Event_Set(&p->canStart);
134
+ }
135
+ else
136
+ {
137
+ UNLOCK_BUFFER(p)
138
+ // we free current block
139
+ numBlocks = p->numProcessedBlocks++;
140
+ Semaphore_Release1(&p->freeSemaphore);
141
+ }
142
+
143
+ // buffer is UNLOCKED here
144
+ Semaphore_Wait(&p->filledSemaphore);
145
+ LOCK_BUFFER(p)
146
+ return numBlocks;
147
+ }
148
+
149
+
150
+ /* if Writing (Processing) thread was started, we must call MtSync_StopWriting() */
151
+
152
+ Z7_NO_INLINE
153
+ static void MtSync_StopWriting(CMtSync *p)
154
+ {
155
+ if (!Thread_WasCreated(&p->thread) || p->needStart)
156
+ return;
157
+
158
+ PRF(printf("\nMtSync_StopWriting %p\n", p));
159
+
160
+ if (p->csWasEntered)
161
+ {
162
+ /* we don't use buffer in this thread after StopWriting().
163
+ So we UNLOCK buffer.
164
+ And we restore default UNLOCKED state for stopped thread */
165
+ UNLOCK_BUFFER(p)
166
+ }
167
+
168
+ /* We send (p->stopWriting) message and release freeSemaphore
169
+ to free current block.
170
+ So the thread will see (p->stopWriting) at some
171
+ iteration after Wait(freeSemaphore).
172
+ The thread doesn't need to fill all avail free blocks,
173
+ so we can get fast thread stop.
174
+ */
175
+
176
+ p->stopWriting = True;
177
+ Semaphore_Release1(&p->freeSemaphore); // check semaphore count !!!
178
+
179
+ PRF(printf("\nMtSync_StopWriting %p : Event_Wait(&p->wasStopped)\n", p));
180
+ Event_Wait(&p->wasStopped);
181
+ PRF(printf("\nMtSync_StopWriting %p : Event_Wait() finsihed\n", p));
182
+
183
+ /* 21.03 : we don't restore samaphore counters here.
184
+ We will recreate and reinit samaphores in next start */
185
+
186
+ p->needStart = True;
187
+ }
188
+
189
+
190
+ Z7_NO_INLINE
191
+ static void MtSync_Destruct(CMtSync *p)
192
+ {
193
+ PRF(printf("\nMtSync_Destruct %p\n", p));
194
+
195
+ if (Thread_WasCreated(&p->thread))
196
+ {
197
+ /* we want thread to be in Stopped state before sending EXIT command.
198
+ note: stop(btSync) will stop (htSync) also */
199
+ MtSync_StopWriting(p);
200
+ /* thread in Stopped state here : (p->needStart == true) */
201
+ p->exit = True;
202
+ // if (p->needStart) // it's (true)
203
+ Event_Set(&p->canStart); // we send EXIT command to thread
204
+ Thread_Wait_Close(&p->thread); // we wait thread finishing
205
+ }
206
+
207
+ if (p->csWasInitialized)
208
+ {
209
+ CriticalSection_Delete(&p->cs);
210
+ p->csWasInitialized = False;
211
+ }
212
+ p->csWasEntered = False;
213
+
214
+ Event_Close(&p->canStart);
215
+ Event_Close(&p->wasStopped);
216
+ Semaphore_Close(&p->freeSemaphore);
217
+ Semaphore_Close(&p->filledSemaphore);
218
+
219
+ p->wasCreated = False;
220
+ }
221
+
222
+
223
+ // #define RINOK_THREAD(x) { if ((x) != 0) return SZ_ERROR_THREAD; }
224
+ // we want to get real system error codes here instead of SZ_ERROR_THREAD
225
+ #define RINOK_THREAD(x) RINOK_WRes(x)
226
+
227
+
228
+ // call it before each new file (when new starting is required):
229
+ Z7_NO_INLINE
230
+ static SRes MtSync_Init(CMtSync *p, UInt32 numBlocks)
231
+ {
232
+ WRes wres;
233
+ // BUFFER_MUST_BE_UNLOCKED(p)
234
+ if (!p->needStart || p->csWasEntered)
235
+ return SZ_ERROR_FAIL;
236
+ wres = Semaphore_OptCreateInit(&p->freeSemaphore, numBlocks, numBlocks);
237
+ if (wres == 0)
238
+ wres = Semaphore_OptCreateInit(&p->filledSemaphore, 0, numBlocks);
239
+ return MY_SRes_HRESULT_FROM_WRes(wres);
240
+ }
241
+
242
+
243
+ static WRes MtSync_Create_WRes(CMtSync *p, THREAD_FUNC_TYPE startAddress, void *obj)
244
+ {
245
+ WRes wres;
246
+
247
+ if (p->wasCreated)
248
+ return SZ_OK;
249
+
250
+ RINOK_THREAD(CriticalSection_Init(&p->cs))
251
+ p->csWasInitialized = True;
252
+ p->csWasEntered = False;
253
+
254
+ RINOK_THREAD(AutoResetEvent_CreateNotSignaled(&p->canStart))
255
+ RINOK_THREAD(AutoResetEvent_CreateNotSignaled(&p->wasStopped))
256
+
257
+ p->needStart = True;
258
+ p->exit = True; /* p->exit is unused before (canStart) Event.
259
+ But in case of some unexpected code failure we will get fast exit from thread */
260
+
261
+ // return ERROR_TOO_MANY_POSTS; // for debug
262
+ // return EINVAL; // for debug
263
+
264
+ #ifdef _WIN32
265
+ if (p->affinityGroup >= 0)
266
+ wres = Thread_Create_With_Group(&p->thread, startAddress, obj,
267
+ (unsigned)(UInt32)p->affinityGroup, (CAffinityMask)p->affinityInGroup);
268
+ else
269
+ #endif
270
+ if (p->affinity != 0)
271
+ wres = Thread_Create_With_Affinity(&p->thread, startAddress, obj, (CAffinityMask)p->affinity);
272
+ else
273
+ wres = Thread_Create(&p->thread, startAddress, obj);
274
+
275
+ RINOK_THREAD(wres)
276
+ p->wasCreated = True;
277
+ return SZ_OK;
278
+ }
279
+
280
+
281
+ Z7_NO_INLINE
282
+ static SRes MtSync_Create(CMtSync *p, THREAD_FUNC_TYPE startAddress, void *obj)
283
+ {
284
+ const WRes wres = MtSync_Create_WRes(p, startAddress, obj);
285
+ if (wres == 0)
286
+ return 0;
287
+ MtSync_Destruct(p);
288
+ return MY_SRes_HRESULT_FROM_WRes(wres);
289
+ }
290
+
291
+
292
+ // ---------- HASH THREAD ----------
293
+
294
+ #define kMtMaxValForNormalize 0xFFFFFFFF
295
+ // #define kMtMaxValForNormalize ((1 << 21)) // for debug
296
+ // #define kNormalizeAlign (1 << 7) // alignment for speculated accesses
297
+
298
+ #ifdef MY_CPU_LE_UNALIGN
299
+ #define GetUi24hi_from32(p) ((UInt32)GetUi32(p) >> 8)
300
+ #else
301
+ #define GetUi24hi_from32(p) ((p)[1] ^ ((UInt32)(p)[2] << 8) ^ ((UInt32)(p)[3] << 16))
302
+ #endif
303
+
304
+ #define GetHeads_DECL(name) \
305
+ static void GetHeads ## name(const Byte *p, UInt32 pos, \
306
+ UInt32 *hash, UInt32 hashMask, UInt32 *heads, UInt32 numHeads, const UInt32 *crc)
307
+
308
+ #define GetHeads_LOOP(v) \
309
+ for (; numHeads != 0; numHeads--) { \
310
+ const UInt32 value = (v); \
311
+ p++; \
312
+ *heads++ = pos - hash[value]; \
313
+ hash[value] = pos++; }
314
+
315
+ #define DEF_GetHeads2(name, v, action) \
316
+ GetHeads_DECL(name) { action \
317
+ GetHeads_LOOP(v) }
318
+
319
+ #define DEF_GetHeads(name, v) DEF_GetHeads2(name, v, ;)
320
+
321
+ DEF_GetHeads2(2, GetUi16(p), UNUSED_VAR(hashMask); UNUSED_VAR(crc); )
322
+ DEF_GetHeads(3, (crc[p[0]] ^ GetUi16(p + 1)) & hashMask)
323
+ DEF_GetHeads2(3b, GetUi16(p) ^ ((UInt32)(p)[2] << 16), UNUSED_VAR(hashMask); UNUSED_VAR(crc); )
324
+ // BT3 is not good for crc collisions for big hashMask values.
325
+
326
+ /*
327
+ GetHeads_DECL(3b)
328
+ {
329
+ UNUSED_VAR(hashMask);
330
+ UNUSED_VAR(crc);
331
+ {
332
+ const Byte *pLim = p + numHeads;
333
+ if (numHeads == 0)
334
+ return;
335
+ pLim--;
336
+ while (p < pLim)
337
+ {
338
+ UInt32 v1 = GetUi32(p);
339
+ UInt32 v0 = v1 & 0xFFFFFF;
340
+ UInt32 h0, h1;
341
+ p += 2;
342
+ v1 >>= 8;
343
+ h0 = hash[v0]; hash[v0] = pos; heads[0] = pos - h0; pos++;
344
+ h1 = hash[v1]; hash[v1] = pos; heads[1] = pos - h1; pos++;
345
+ heads += 2;
346
+ }
347
+ if (p == pLim)
348
+ {
349
+ UInt32 v0 = GetUi16(p) ^ ((UInt32)(p)[2] << 16);
350
+ *heads = pos - hash[v0];
351
+ hash[v0] = pos;
352
+ }
353
+ }
354
+ }
355
+ */
356
+
357
+ /*
358
+ GetHeads_DECL(4)
359
+ {
360
+ unsigned sh = 0;
361
+ UNUSED_VAR(crc)
362
+ while ((hashMask & 0x80000000) == 0)
363
+ {
364
+ hashMask <<= 1;
365
+ sh++;
366
+ }
367
+ GetHeads_LOOP((GetUi32(p) * 0xa54a1) >> sh)
368
+ }
369
+ #define GetHeads4b GetHeads4
370
+ */
371
+
372
+ #define USE_GetHeads_LOCAL_CRC
373
+
374
+ #ifdef USE_GetHeads_LOCAL_CRC
375
+
376
+ GetHeads_DECL(4)
377
+ {
378
+ UInt32 crc0[256];
379
+ UInt32 crc1[256];
380
+ {
381
+ unsigned i;
382
+ for (i = 0; i < 256; i++)
383
+ {
384
+ UInt32 v = crc[i];
385
+ crc0[i] = v & hashMask;
386
+ crc1[i] = (v << kLzHash_CrcShift_1) & hashMask;
387
+ // crc1[i] = rotlFixed(v, 8) & hashMask;
388
+ }
389
+ }
390
+ GetHeads_LOOP(crc0[p[0]] ^ crc1[p[3]] ^ (UInt32)GetUi16(p+1))
391
+ }
392
+
393
+ GetHeads_DECL(4b)
394
+ {
395
+ UInt32 crc0[256];
396
+ {
397
+ unsigned i;
398
+ for (i = 0; i < 256; i++)
399
+ crc0[i] = crc[i] & hashMask;
400
+ }
401
+ GetHeads_LOOP(crc0[p[0]] ^ GetUi24hi_from32(p))
402
+ }
403
+
404
+ GetHeads_DECL(5)
405
+ {
406
+ UInt32 crc0[256];
407
+ UInt32 crc1[256];
408
+ UInt32 crc2[256];
409
+ {
410
+ unsigned i;
411
+ for (i = 0; i < 256; i++)
412
+ {
413
+ UInt32 v = crc[i];
414
+ crc0[i] = v & hashMask;
415
+ crc1[i] = (v << kLzHash_CrcShift_1) & hashMask;
416
+ crc2[i] = (v << kLzHash_CrcShift_2) & hashMask;
417
+ }
418
+ }
419
+ GetHeads_LOOP(crc0[p[0]] ^ crc1[p[3]] ^ crc2[p[4]] ^ (UInt32)GetUi16(p+1))
420
+ }
421
+
422
+ GetHeads_DECL(5b)
423
+ {
424
+ UInt32 crc0[256];
425
+ UInt32 crc1[256];
426
+ {
427
+ unsigned i;
428
+ for (i = 0; i < 256; i++)
429
+ {
430
+ UInt32 v = crc[i];
431
+ crc0[i] = v & hashMask;
432
+ crc1[i] = (v << kLzHash_CrcShift_1) & hashMask;
433
+ }
434
+ }
435
+ GetHeads_LOOP(crc0[p[0]] ^ crc1[p[4]] ^ GetUi24hi_from32(p))
436
+ }
437
+
438
+ #else
439
+
440
+ DEF_GetHeads(4, (crc[p[0]] ^ (crc[p[3]] << kLzHash_CrcShift_1) ^ (UInt32)GetUi16(p+1)) & hashMask)
441
+ DEF_GetHeads(4b, (crc[p[0]] ^ GetUi24hi_from32(p)) & hashMask)
442
+ DEF_GetHeads(5, (crc[p[0]] ^ (crc[p[3]] << kLzHash_CrcShift_1) ^ (crc[p[4]] << kLzHash_CrcShift_2) ^ (UInt32)GetUi16(p + 1)) & hashMask)
443
+ DEF_GetHeads(5b, (crc[p[0]] ^ (crc[p[4]] << kLzHash_CrcShift_1) ^ GetUi24hi_from32(p)) & hashMask)
444
+
445
+ #endif
446
+
447
+
448
+ static void HashThreadFunc(CMatchFinderMt *mt)
449
+ {
450
+ CMtSync *p = &mt->hashSync;
451
+ PRF(printf("\nHashThreadFunc\n"));
452
+
453
+ for (;;)
454
+ {
455
+ UInt32 blockIndex = 0;
456
+ PRF(printf("\nHashThreadFunc : Event_Wait(&p->canStart)\n"));
457
+ Event_Wait(&p->canStart);
458
+ PRF(printf("\nHashThreadFunc : Event_Wait(&p->canStart) : after \n"));
459
+ if (p->exit)
460
+ {
461
+ PRF(printf("\nHashThreadFunc : exit \n"));
462
+ return;
463
+ }
464
+
465
+ MatchFinder_Init_HighHash(MF(mt));
466
+
467
+ for (;;)
468
+ {
469
+ PRF(printf("Hash thread block = %d pos = %d\n", (unsigned)blockIndex, mt->MatchFinder->pos));
470
+
471
+ {
472
+ CMatchFinder *mf = MF(mt);
473
+ if (MatchFinder_NeedMove(mf))
474
+ {
475
+ CriticalSection_Enter(&mt->btSync.cs);
476
+ CriticalSection_Enter(&mt->hashSync.cs);
477
+ {
478
+ const Byte *beforePtr = Inline_MatchFinder_GetPointerToCurrentPos(mf);
479
+ ptrdiff_t offset;
480
+ MatchFinder_MoveBlock(mf);
481
+ offset = beforePtr - Inline_MatchFinder_GetPointerToCurrentPos(mf);
482
+ mt->pointerToCurPos -= offset;
483
+ mt->buffer -= offset;
484
+ }
485
+ CriticalSection_Leave(&mt->hashSync.cs);
486
+ CriticalSection_Leave(&mt->btSync.cs);
487
+ continue;
488
+ }
489
+
490
+ Semaphore_Wait(&p->freeSemaphore);
491
+
492
+ if (p->exit) // exit is unexpected here. But we check it here for some failure case
493
+ return;
494
+
495
+ // for faster stop : we check (p->stopWriting) after Wait(freeSemaphore)
496
+ if (p->stopWriting)
497
+ break;
498
+
499
+ MatchFinder_ReadIfRequired(mf);
500
+ {
501
+ UInt32 *heads = mt->hashBuf + GET_HASH_BLOCK_OFFSET(blockIndex++);
502
+ UInt32 num = Inline_MatchFinder_GetNumAvailableBytes(mf);
503
+ heads[0] = 2;
504
+ heads[1] = num;
505
+
506
+ /* heads[1] contains the number of avail bytes:
507
+ if (avail < mf->numHashBytes) :
508
+ {
509
+ it means that stream was finished
510
+ HASH_THREAD and BT_TREAD must move position for heads[1] (avail) bytes.
511
+ HASH_THREAD doesn't stop,
512
+ HASH_THREAD fills only the header (2 numbers) for all next blocks:
513
+ {2, NumHashBytes - 1}, {2,0}, {2,0}, ... , {2,0}
514
+ }
515
+ else
516
+ {
517
+ HASH_THREAD and BT_TREAD must move position for (heads[0] - 2) bytes;
518
+ }
519
+ */
520
+
521
+ if (num >= mf->numHashBytes)
522
+ {
523
+ num = num - mf->numHashBytes + 1;
524
+ if (num > kMtHashBlockSize - 2)
525
+ num = kMtHashBlockSize - 2;
526
+
527
+ if (mf->pos > (UInt32)kMtMaxValForNormalize - num)
528
+ {
529
+ const UInt32 subValue = (mf->pos - mf->historySize - 1); // & ~(UInt32)(kNormalizeAlign - 1);
530
+ MatchFinder_REDUCE_OFFSETS(mf, subValue)
531
+ MatchFinder_Normalize3(subValue, mf->hash + mf->fixedHashSize, (size_t)mf->hashMask + 1);
532
+ }
533
+
534
+ heads[0] = 2 + num;
535
+ mt->GetHeadsFunc(mf->buffer, mf->pos, mf->hash + mf->fixedHashSize, mf->hashMask, heads + 2, num, mf->crc);
536
+ }
537
+
538
+ mf->pos += num; // wrap over zero is allowed at the end of stream
539
+ mf->buffer += num;
540
+ }
541
+ }
542
+
543
+ Semaphore_Release1(&p->filledSemaphore);
544
+ } // for() processing end
545
+
546
+ // p->numBlocks_Sent = blockIndex;
547
+ Event_Set(&p->wasStopped);
548
+ } // for() thread end
549
+ }
550
+
551
+
552
+
553
+
554
+ // ---------- BT THREAD ----------
555
+
556
+ /* we use one variable instead of two (cyclicBufferPos == pos) before CyclicBuf wrap.
557
+ here we define fixed offset of (p->pos) from (p->cyclicBufferPos) */
558
+ #define CYC_TO_POS_OFFSET 0
559
+ // #define CYC_TO_POS_OFFSET 1 // for debug
560
+
561
+ #define MFMT_GM_INLINE
562
+
563
+ #ifdef MFMT_GM_INLINE
564
+
565
+ /*
566
+ we use size_t for (pos) instead of UInt32
567
+ to eliminate "movsx" BUG in old MSVC x64 compiler.
568
+ */
569
+
570
+
571
+ UInt32 * Z7_FASTCALL GetMatchesSpecN_2(const Byte *lenLimit, size_t pos, const Byte *cur, CLzRef *son,
572
+ UInt32 _cutValue, UInt32 *d, size_t _maxLen, const UInt32 *hash, const UInt32 *limit, const UInt32 *size,
573
+ size_t _cyclicBufferPos, UInt32 _cyclicBufferSize,
574
+ UInt32 *posRes);
575
+
576
+ #endif
577
+
578
+
579
+ static void BtGetMatches(CMatchFinderMt *p, UInt32 *d)
580
+ {
581
+ UInt32 numProcessed = 0;
582
+ UInt32 curPos = 2;
583
+
584
+ /* GetMatchesSpec() functions don't create (len = 1)
585
+ in [len, dist] match pairs, if (p->numHashBytes >= 2)
586
+ Also we suppose here that (matchMaxLen >= 2).
587
+ So the following code for (reserve) is not required
588
+ UInt32 reserve = (p->matchMaxLen * 2);
589
+ const UInt32 kNumHashBytes_Max = 5; // BT_HASH_BYTES_MAX
590
+ if (reserve < kNumHashBytes_Max - 1)
591
+ reserve = kNumHashBytes_Max - 1;
592
+ const UInt32 limit = kMtBtBlockSize - (reserve);
593
+ */
594
+
595
+ const UInt32 limit = kMtBtBlockSize - (p->matchMaxLen * 2);
596
+
597
+ d[1] = p->hashNumAvail;
598
+
599
+ if (p->failure_BT)
600
+ {
601
+ // printf("\n == 1 BtGetMatches() p->failure_BT\n");
602
+ d[0] = 0;
603
+ // d[1] = 0;
604
+ return;
605
+ }
606
+
607
+ while (curPos < limit)
608
+ {
609
+ if (p->hashBufPos == p->hashBufPosLimit)
610
+ {
611
+ // MatchFinderMt_GetNextBlock_Hash(p);
612
+ UInt32 avail;
613
+ {
614
+ const UInt32 bi = MtSync_GetNextBlock(&p->hashSync);
615
+ const UInt32 k = GET_HASH_BLOCK_OFFSET(bi);
616
+ const UInt32 *h = p->hashBuf + k;
617
+ avail = h[1];
618
+ p->hashBufPosLimit = k + h[0];
619
+ p->hashNumAvail = avail;
620
+ p->hashBufPos = k + 2;
621
+ }
622
+
623
+ {
624
+ /* we must prevent UInt32 overflow for avail total value,
625
+ if avail was increased with new hash block */
626
+ UInt32 availSum = numProcessed + avail;
627
+ if (availSum < numProcessed)
628
+ availSum = (UInt32)(Int32)-1;
629
+ d[1] = availSum;
630
+ }
631
+
632
+ if (avail >= p->numHashBytes)
633
+ continue;
634
+
635
+ // if (p->hashBufPos != p->hashBufPosLimit) exit(1);
636
+
637
+ /* (avail < p->numHashBytes)
638
+ It means that stream was finished.
639
+ And (avail) - is a number of remaining bytes,
640
+ we fill (d) for (avail) bytes for LZ_THREAD (receiver).
641
+ but we don't update (p->pos) and (p->cyclicBufferPos) here in BT_THREAD */
642
+
643
+ /* here we suppose that we have space enough:
644
+ (kMtBtBlockSize - curPos >= p->hashNumAvail) */
645
+ p->hashNumAvail = 0;
646
+ d[0] = curPos + avail;
647
+ d += curPos;
648
+ for (; avail != 0; avail--)
649
+ *d++ = 0;
650
+ return;
651
+ }
652
+ {
653
+ UInt32 size = p->hashBufPosLimit - p->hashBufPos;
654
+ UInt32 pos = p->pos;
655
+ UInt32 cyclicBufferPos = p->cyclicBufferPos;
656
+ UInt32 lenLimit = p->matchMaxLen;
657
+ if (lenLimit >= p->hashNumAvail)
658
+ lenLimit = p->hashNumAvail;
659
+ {
660
+ UInt32 size2 = p->hashNumAvail - lenLimit + 1;
661
+ if (size2 < size)
662
+ size = size2;
663
+ size2 = p->cyclicBufferSize - cyclicBufferPos;
664
+ if (size2 < size)
665
+ size = size2;
666
+ }
667
+
668
+ if (pos > (UInt32)kMtMaxValForNormalize - size)
669
+ {
670
+ const UInt32 subValue = (pos - p->cyclicBufferSize); // & ~(UInt32)(kNormalizeAlign - 1);
671
+ pos -= subValue;
672
+ p->pos = pos;
673
+ MatchFinder_Normalize3(subValue, p->son, (size_t)p->cyclicBufferSize * 2);
674
+ }
675
+
676
+ #ifndef MFMT_GM_INLINE
677
+ while (curPos < limit && size-- != 0)
678
+ {
679
+ UInt32 *startDistances = d + curPos;
680
+ UInt32 num = (UInt32)(GetMatchesSpec1(lenLimit, pos - p->hashBuf[p->hashBufPos++],
681
+ pos, p->buffer, p->son, cyclicBufferPos, p->cyclicBufferSize, p->cutValue,
682
+ startDistances + 1, p->numHashBytes - 1) - startDistances);
683
+ *startDistances = num - 1;
684
+ curPos += num;
685
+ cyclicBufferPos++;
686
+ pos++;
687
+ p->buffer++;
688
+ }
689
+ #else
690
+ {
691
+ UInt32 posRes = pos;
692
+ const UInt32 *d_end;
693
+ {
694
+ d_end = GetMatchesSpecN_2(
695
+ p->buffer + lenLimit - 1,
696
+ pos, p->buffer, p->son, p->cutValue, d + curPos,
697
+ p->numHashBytes - 1, p->hashBuf + p->hashBufPos,
698
+ d + limit, p->hashBuf + p->hashBufPos + size,
699
+ cyclicBufferPos, p->cyclicBufferSize,
700
+ &posRes);
701
+ }
702
+ {
703
+ if (!d_end)
704
+ {
705
+ // printf("\n == 2 BtGetMatches() p->failure_BT\n");
706
+ // internal data failure
707
+ p->failure_BT = True;
708
+ d[0] = 0;
709
+ // d[1] = 0;
710
+ return;
711
+ }
712
+ }
713
+ curPos = (UInt32)(d_end - d);
714
+ {
715
+ const UInt32 processed = posRes - pos;
716
+ pos = posRes;
717
+ p->hashBufPos += processed;
718
+ cyclicBufferPos += processed;
719
+ p->buffer += processed;
720
+ }
721
+ }
722
+ #endif
723
+
724
+ {
725
+ const UInt32 processed = pos - p->pos;
726
+ numProcessed += processed;
727
+ p->hashNumAvail -= processed;
728
+ p->pos = pos;
729
+ }
730
+ if (cyclicBufferPos == p->cyclicBufferSize)
731
+ cyclicBufferPos = 0;
732
+ p->cyclicBufferPos = cyclicBufferPos;
733
+ }
734
+ }
735
+
736
+ d[0] = curPos;
737
+ }
738
+
739
+
740
+ static void BtFillBlock(CMatchFinderMt *p, UInt32 globalBlockIndex)
741
+ {
742
+ CMtSync *sync = &p->hashSync;
743
+
744
+ BUFFER_MUST_BE_UNLOCKED(sync)
745
+
746
+ if (!sync->needStart)
747
+ {
748
+ LOCK_BUFFER(sync)
749
+ }
750
+
751
+ BtGetMatches(p, p->btBuf + GET_BT_BLOCK_OFFSET(globalBlockIndex));
752
+
753
+ /* We suppose that we have called GetNextBlock() from start.
754
+ So buffer is LOCKED */
755
+
756
+ UNLOCK_BUFFER(sync)
757
+ }
758
+
759
+
760
+ Z7_NO_INLINE
761
+ static void BtThreadFunc(CMatchFinderMt *mt)
762
+ {
763
+ CMtSync *p = &mt->btSync;
764
+ for (;;)
765
+ {
766
+ UInt32 blockIndex = 0;
767
+ Event_Wait(&p->canStart);
768
+
769
+ for (;;)
770
+ {
771
+ PRF(printf(" BT thread block = %d pos = %d\n", (unsigned)blockIndex, mt->pos));
772
+ /* (p->exit == true) is possible after (p->canStart) at first loop iteration
773
+ and is unexpected after more Wait(freeSemaphore) iterations */
774
+ if (p->exit)
775
+ return;
776
+
777
+ Semaphore_Wait(&p->freeSemaphore);
778
+
779
+ // for faster stop : we check (p->stopWriting) after Wait(freeSemaphore)
780
+ if (p->stopWriting)
781
+ break;
782
+
783
+ BtFillBlock(mt, blockIndex++);
784
+
785
+ Semaphore_Release1(&p->filledSemaphore);
786
+ }
787
+
788
+ // we stop HASH_THREAD here
789
+ MtSync_StopWriting(&mt->hashSync);
790
+
791
+ // p->numBlocks_Sent = blockIndex;
792
+ Event_Set(&p->wasStopped);
793
+ }
794
+ }
795
+
796
+
797
+ void MatchFinderMt_Construct(CMatchFinderMt *p)
798
+ {
799
+ p->hashBuf = NULL;
800
+ MtSync_Construct(&p->hashSync);
801
+ MtSync_Construct(&p->btSync);
802
+ }
803
+
804
+ static void MatchFinderMt_FreeMem(CMatchFinderMt *p, ISzAllocPtr alloc)
805
+ {
806
+ ISzAlloc_Free(alloc, p->hashBuf);
807
+ p->hashBuf = NULL;
808
+ }
809
+
810
+ void MatchFinderMt_Destruct(CMatchFinderMt *p, ISzAllocPtr alloc)
811
+ {
812
+ /*
813
+ HASH_THREAD can use CriticalSection(s) btSync.cs and hashSync.cs.
814
+ So we must be sure that HASH_THREAD will not use CriticalSection(s)
815
+ after deleting CriticalSection here.
816
+
817
+ we call ReleaseStream(p)
818
+ that calls StopWriting(btSync)
819
+ that calls StopWriting(hashSync), if it's required to stop HASH_THREAD.
820
+ after StopWriting() it's safe to destruct MtSync(s) in any order */
821
+
822
+ MatchFinderMt_ReleaseStream(p);
823
+
824
+ MtSync_Destruct(&p->btSync);
825
+ MtSync_Destruct(&p->hashSync);
826
+
827
+ LOG_ITER(
828
+ printf("\nTree %9d * %7d iter = %9d = sum : bytes = %9d\n",
829
+ (UInt32)(g_NumIters_Tree / 1000),
830
+ (UInt32)(((UInt64)g_NumIters_Loop * 1000) / (g_NumIters_Tree + 1)),
831
+ (UInt32)(g_NumIters_Loop / 1000),
832
+ (UInt32)(g_NumIters_Bytes / 1000)
833
+ ));
834
+
835
+ MatchFinderMt_FreeMem(p, alloc);
836
+ }
837
+
838
+
839
+ #define kHashBufferSize (kMtHashBlockSize * kMtHashNumBlocks)
840
+ #define kBtBufferSize (kMtBtBlockSize * kMtBtNumBlocks)
841
+
842
+
843
+ static THREAD_FUNC_DECL HashThreadFunc2(void *p) { HashThreadFunc((CMatchFinderMt *)p); return 0; }
844
+ static THREAD_FUNC_DECL BtThreadFunc2(void *p)
845
+ {
846
+ Byte allocaDummy[0x180];
847
+ unsigned i = 0;
848
+ for (i = 0; i < 16; i++)
849
+ allocaDummy[i] = (Byte)0;
850
+ if (allocaDummy[0] == 0)
851
+ BtThreadFunc((CMatchFinderMt *)p);
852
+ return 0;
853
+ }
854
+
855
+
856
+ SRes MatchFinderMt_Create(CMatchFinderMt *p, UInt32 historySize, UInt32 keepAddBufferBefore,
857
+ UInt32 matchMaxLen, UInt32 keepAddBufferAfter, ISzAllocPtr alloc)
858
+ {
859
+ CMatchFinder *mf = MF(p);
860
+ p->historySize = historySize;
861
+ if (kMtBtBlockSize <= matchMaxLen * 4)
862
+ return SZ_ERROR_PARAM;
863
+ if (!p->hashBuf)
864
+ {
865
+ p->hashBuf = (UInt32 *)ISzAlloc_Alloc(alloc, ((size_t)kHashBufferSize + (size_t)kBtBufferSize) * sizeof(UInt32));
866
+ if (!p->hashBuf)
867
+ return SZ_ERROR_MEM;
868
+ p->btBuf = p->hashBuf + kHashBufferSize;
869
+ }
870
+ keepAddBufferBefore += (kHashBufferSize + kBtBufferSize);
871
+ keepAddBufferAfter += kMtHashBlockSize;
872
+ if (!MatchFinder_Create(mf, historySize, keepAddBufferBefore, matchMaxLen, keepAddBufferAfter, alloc))
873
+ return SZ_ERROR_MEM;
874
+
875
+ RINOK(MtSync_Create(&p->hashSync, HashThreadFunc2, p))
876
+ RINOK(MtSync_Create(&p->btSync, BtThreadFunc2, p))
877
+ return SZ_OK;
878
+ }
879
+
880
+
881
+ SRes MatchFinderMt_InitMt(CMatchFinderMt *p)
882
+ {
883
+ RINOK(MtSync_Init(&p->hashSync, kMtHashNumBlocks))
884
+ return MtSync_Init(&p->btSync, kMtBtNumBlocks);
885
+ }
886
+
887
+
888
+ static void MatchFinderMt_Init(void *_p)
889
+ {
890
+ CMatchFinderMt *p = (CMatchFinderMt *)_p;
891
+ CMatchFinder *mf = MF(p);
892
+
893
+ p->btBufPos =
894
+ p->btBufPosLimit = NULL;
895
+ p->hashBufPos =
896
+ p->hashBufPosLimit = 0;
897
+ p->hashNumAvail = 0; // 21.03
898
+
899
+ p->failure_BT = False;
900
+
901
+ /* Init without data reading. We don't want to read data in this thread */
902
+ MatchFinder_Init_4(mf);
903
+
904
+ MatchFinder_Init_LowHash(mf);
905
+
906
+ p->pointerToCurPos = Inline_MatchFinder_GetPointerToCurrentPos(mf);
907
+ p->btNumAvailBytes = 0;
908
+ p->failure_LZ_BT = False;
909
+ // p->failure_LZ_LZ = False;
910
+
911
+ p->lzPos =
912
+ 1; // optimal smallest value
913
+ // 0; // for debug: ignores match to start
914
+ // kNormalizeAlign; // for debug
915
+
916
+ p->hash = mf->hash;
917
+ p->fixedHashSize = mf->fixedHashSize;
918
+ // p->hash4Mask = mf->hash4Mask;
919
+ p->crc = mf->crc;
920
+ // memcpy(p->crc, mf->crc, sizeof(mf->crc));
921
+
922
+ p->son = mf->son;
923
+ p->matchMaxLen = mf->matchMaxLen;
924
+ p->numHashBytes = mf->numHashBytes;
925
+
926
+ /* (mf->pos) and (mf->streamPos) were already initialized to 1 in MatchFinder_Init_4() */
927
+ // mf->streamPos = mf->pos = 1; // optimal smallest value
928
+ // 0; // for debug: ignores match to start
929
+ // kNormalizeAlign; // for debug
930
+
931
+ /* we must init (p->pos = mf->pos) for BT, because
932
+ BT code needs (p->pos == delta_value_for_empty_hash_record == mf->pos) */
933
+ p->pos = mf->pos; // do not change it
934
+
935
+ p->cyclicBufferPos = (p->pos - CYC_TO_POS_OFFSET);
936
+ p->cyclicBufferSize = mf->cyclicBufferSize;
937
+ p->buffer = mf->buffer;
938
+ p->cutValue = mf->cutValue;
939
+ // p->son[0] = p->son[1] = 0; // unused: to init skipped record for speculated accesses.
940
+ }
941
+
942
+
943
+ /* ReleaseStream is required to finish multithreading */
944
+ void MatchFinderMt_ReleaseStream(CMatchFinderMt *p)
945
+ {
946
+ // Sleep(1); // for debug
947
+ MtSync_StopWriting(&p->btSync);
948
+ // Sleep(200); // for debug
949
+ /* p->MatchFinder->ReleaseStream(); */
950
+ }
951
+
952
+
953
+ Z7_NO_INLINE
954
+ static UInt32 MatchFinderMt_GetNextBlock_Bt(CMatchFinderMt *p)
955
+ {
956
+ if (p->failure_LZ_BT)
957
+ p->btBufPos = p->failureBuf;
958
+ else
959
+ {
960
+ const UInt32 bi = MtSync_GetNextBlock(&p->btSync);
961
+ const UInt32 *bt = p->btBuf + GET_BT_BLOCK_OFFSET(bi);
962
+ {
963
+ const UInt32 numItems = bt[0];
964
+ p->btBufPosLimit = bt + numItems;
965
+ p->btNumAvailBytes = bt[1];
966
+ p->btBufPos = bt + 2;
967
+ if (numItems < 2 || numItems > kMtBtBlockSize)
968
+ {
969
+ p->failureBuf[0] = 0;
970
+ p->btBufPos = p->failureBuf;
971
+ p->btBufPosLimit = p->failureBuf + 1;
972
+ p->failure_LZ_BT = True;
973
+ // p->btNumAvailBytes = 0;
974
+ /* we don't want to decrease AvailBytes, that was load before.
975
+ that can be unxepected for the code that have loaded anopther value before */
976
+ }
977
+ }
978
+
979
+ if (p->lzPos >= (UInt32)kMtMaxValForNormalize - (UInt32)kMtBtBlockSize)
980
+ {
981
+ /* we don't check (lzPos) over exact avail bytes in (btBuf).
982
+ (fixedHashSize) is small, so normalization is fast */
983
+ const UInt32 subValue = (p->lzPos - p->historySize - 1); // & ~(UInt32)(kNormalizeAlign - 1);
984
+ p->lzPos -= subValue;
985
+ MatchFinder_Normalize3(subValue, p->hash, p->fixedHashSize);
986
+ }
987
+ }
988
+ return p->btNumAvailBytes;
989
+ }
990
+
991
+
992
+
993
+ static const Byte * MatchFinderMt_GetPointerToCurrentPos(void *_p)
994
+ {
995
+ CMatchFinderMt *p = (CMatchFinderMt *)_p;
996
+ return p->pointerToCurPos;
997
+ }
998
+
999
+
1000
+ #define GET_NEXT_BLOCK_IF_REQUIRED if (p->btBufPos == p->btBufPosLimit) MatchFinderMt_GetNextBlock_Bt(p);
1001
+
1002
+
1003
+ static UInt32 MatchFinderMt_GetNumAvailableBytes(void *_p)
1004
+ {
1005
+ CMatchFinderMt *p = (CMatchFinderMt *)_p;
1006
+ if (p->btBufPos != p->btBufPosLimit)
1007
+ return p->btNumAvailBytes;
1008
+ return MatchFinderMt_GetNextBlock_Bt(p);
1009
+ }
1010
+
1011
+
1012
+ // #define CHECK_FAILURE_LZ(_match_, _pos_) if (_match_ >= _pos_) { p->failure_LZ_LZ = True; return d; }
1013
+ #define CHECK_FAILURE_LZ(_match_, _pos_)
1014
+
1015
+ static UInt32 * MixMatches2(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *d)
1016
+ {
1017
+ UInt32 h2, c2;
1018
+ UInt32 *hash = p->hash;
1019
+ const Byte *cur = p->pointerToCurPos;
1020
+ const UInt32 m = p->lzPos;
1021
+ MT_HASH2_CALC
1022
+
1023
+ c2 = hash[h2];
1024
+ hash[h2] = m;
1025
+
1026
+ if (c2 >= matchMinPos)
1027
+ {
1028
+ CHECK_FAILURE_LZ(c2, m)
1029
+ if (cur[(ptrdiff_t)c2 - (ptrdiff_t)m] == cur[0])
1030
+ {
1031
+ *d++ = 2;
1032
+ *d++ = m - c2 - 1;
1033
+ }
1034
+ }
1035
+
1036
+ return d;
1037
+ }
1038
+
1039
+ static UInt32 * MixMatches3(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *d)
1040
+ {
1041
+ UInt32 h2, h3, c2, c3;
1042
+ UInt32 *hash = p->hash;
1043
+ const Byte *cur = p->pointerToCurPos;
1044
+ const UInt32 m = p->lzPos;
1045
+ MT_HASH3_CALC
1046
+
1047
+ c2 = hash[h2];
1048
+ c3 = (hash + kFix3HashSize)[h3];
1049
+
1050
+ hash[h2] = m;
1051
+ (hash + kFix3HashSize)[h3] = m;
1052
+
1053
+ if (c2 >= matchMinPos)
1054
+ {
1055
+ CHECK_FAILURE_LZ(c2, m)
1056
+ if (cur[(ptrdiff_t)c2 - (ptrdiff_t)m] == cur[0])
1057
+ {
1058
+ d[1] = m - c2 - 1;
1059
+ if (cur[(ptrdiff_t)c2 - (ptrdiff_t)m + 2] == cur[2])
1060
+ {
1061
+ d[0] = 3;
1062
+ return d + 2;
1063
+ }
1064
+ d[0] = 2;
1065
+ d += 2;
1066
+ }
1067
+ }
1068
+
1069
+ if (c3 >= matchMinPos)
1070
+ {
1071
+ CHECK_FAILURE_LZ(c3, m)
1072
+ if (cur[(ptrdiff_t)c3 - (ptrdiff_t)m] == cur[0])
1073
+ {
1074
+ *d++ = 3;
1075
+ *d++ = m - c3 - 1;
1076
+ }
1077
+ }
1078
+
1079
+ return d;
1080
+ }
1081
+
1082
+
1083
+ #define INCREASE_LZ_POS p->lzPos++; p->pointerToCurPos++;
1084
+
1085
+ /*
1086
+ static
1087
+ UInt32* MatchFinderMt_GetMatches_Bt4(CMatchFinderMt *p, UInt32 *d)
1088
+ {
1089
+ const UInt32 *bt = p->btBufPos;
1090
+ const UInt32 len = *bt++;
1091
+ const UInt32 *btLim = bt + len;
1092
+ UInt32 matchMinPos;
1093
+ UInt32 avail = p->btNumAvailBytes - 1;
1094
+ p->btBufPos = btLim;
1095
+
1096
+ {
1097
+ p->btNumAvailBytes = avail;
1098
+
1099
+ #define BT_HASH_BYTES_MAX 5
1100
+
1101
+ matchMinPos = p->lzPos;
1102
+
1103
+ if (len != 0)
1104
+ matchMinPos -= bt[1];
1105
+ else if (avail < (BT_HASH_BYTES_MAX - 1) - 1)
1106
+ {
1107
+ INCREASE_LZ_POS
1108
+ return d;
1109
+ }
1110
+ else
1111
+ {
1112
+ const UInt32 hs = p->historySize;
1113
+ if (matchMinPos > hs)
1114
+ matchMinPos -= hs;
1115
+ else
1116
+ matchMinPos = 1;
1117
+ }
1118
+ }
1119
+
1120
+ for (;;)
1121
+ {
1122
+
1123
+ UInt32 h2, h3, c2, c3;
1124
+ UInt32 *hash = p->hash;
1125
+ const Byte *cur = p->pointerToCurPos;
1126
+ UInt32 m = p->lzPos;
1127
+ MT_HASH3_CALC
1128
+
1129
+ c2 = hash[h2];
1130
+ c3 = (hash + kFix3HashSize)[h3];
1131
+
1132
+ hash[h2] = m;
1133
+ (hash + kFix3HashSize)[h3] = m;
1134
+
1135
+ if (c2 >= matchMinPos && cur[(ptrdiff_t)c2 - (ptrdiff_t)m] == cur[0])
1136
+ {
1137
+ d[1] = m - c2 - 1;
1138
+ if (cur[(ptrdiff_t)c2 - (ptrdiff_t)m + 2] == cur[2])
1139
+ {
1140
+ d[0] = 3;
1141
+ d += 2;
1142
+ break;
1143
+ }
1144
+ // else
1145
+ {
1146
+ d[0] = 2;
1147
+ d += 2;
1148
+ }
1149
+ }
1150
+ if (c3 >= matchMinPos && cur[(ptrdiff_t)c3 - (ptrdiff_t)m] == cur[0])
1151
+ {
1152
+ *d++ = 3;
1153
+ *d++ = m - c3 - 1;
1154
+ }
1155
+ break;
1156
+ }
1157
+
1158
+ if (len != 0)
1159
+ {
1160
+ do
1161
+ {
1162
+ const UInt32 v0 = bt[0];
1163
+ const UInt32 v1 = bt[1];
1164
+ bt += 2;
1165
+ d[0] = v0;
1166
+ d[1] = v1;
1167
+ d += 2;
1168
+ }
1169
+ while (bt != btLim);
1170
+ }
1171
+ INCREASE_LZ_POS
1172
+ return d;
1173
+ }
1174
+ */
1175
+
1176
+
1177
+ static UInt32 * MixMatches4(CMatchFinderMt *p, UInt32 matchMinPos, UInt32 *d)
1178
+ {
1179
+ UInt32 h2, h3, /* h4, */ c2, c3 /* , c4 */;
1180
+ UInt32 *hash = p->hash;
1181
+ const Byte *cur = p->pointerToCurPos;
1182
+ const UInt32 m = p->lzPos;
1183
+ MT_HASH3_CALC
1184
+ // MT_HASH4_CALC
1185
+ c2 = hash[h2];
1186
+ c3 = (hash + kFix3HashSize)[h3];
1187
+ // c4 = (hash + kFix4HashSize)[h4];
1188
+
1189
+ hash[h2] = m;
1190
+ (hash + kFix3HashSize)[h3] = m;
1191
+ // (hash + kFix4HashSize)[h4] = m;
1192
+
1193
+ // #define BT5_USE_H2
1194
+ // #ifdef BT5_USE_H2
1195
+ if (c2 >= matchMinPos && cur[(ptrdiff_t)c2 - (ptrdiff_t)m] == cur[0])
1196
+ {
1197
+ d[1] = m - c2 - 1;
1198
+ if (cur[(ptrdiff_t)c2 - (ptrdiff_t)m + 2] == cur[2])
1199
+ {
1200
+ // d[0] = (cur[(ptrdiff_t)c2 - (ptrdiff_t)m + 3] == cur[3]) ? 4 : 3;
1201
+ // return d + 2;
1202
+
1203
+ if (cur[(ptrdiff_t)c2 - (ptrdiff_t)m + 3] == cur[3])
1204
+ {
1205
+ d[0] = 4;
1206
+ return d + 2;
1207
+ }
1208
+ d[0] = 3;
1209
+ d += 2;
1210
+
1211
+ #ifdef BT5_USE_H4
1212
+ if (c4 >= matchMinPos)
1213
+ if (
1214
+ cur[(ptrdiff_t)c4 - (ptrdiff_t)m] == cur[0] &&
1215
+ cur[(ptrdiff_t)c4 - (ptrdiff_t)m + 3] == cur[3]
1216
+ )
1217
+ {
1218
+ *d++ = 4;
1219
+ *d++ = m - c4 - 1;
1220
+ }
1221
+ #endif
1222
+ return d;
1223
+ }
1224
+ d[0] = 2;
1225
+ d += 2;
1226
+ }
1227
+ // #endif
1228
+
1229
+ if (c3 >= matchMinPos && cur[(ptrdiff_t)c3 - (ptrdiff_t)m] == cur[0])
1230
+ {
1231
+ d[1] = m - c3 - 1;
1232
+ if (cur[(ptrdiff_t)c3 - (ptrdiff_t)m + 3] == cur[3])
1233
+ {
1234
+ d[0] = 4;
1235
+ return d + 2;
1236
+ }
1237
+ d[0] = 3;
1238
+ d += 2;
1239
+ }
1240
+
1241
+ #ifdef BT5_USE_H4
1242
+ if (c4 >= matchMinPos)
1243
+ if (
1244
+ cur[(ptrdiff_t)c4 - (ptrdiff_t)m] == cur[0] &&
1245
+ cur[(ptrdiff_t)c4 - (ptrdiff_t)m + 3] == cur[3]
1246
+ )
1247
+ {
1248
+ *d++ = 4;
1249
+ *d++ = m - c4 - 1;
1250
+ }
1251
+ #endif
1252
+
1253
+ return d;
1254
+ }
1255
+
1256
+
1257
+ static UInt32 * MatchFinderMt2_GetMatches(void *_p, UInt32 *d)
1258
+ {
1259
+ CMatchFinderMt *p = (CMatchFinderMt *)_p;
1260
+ const UInt32 *bt = p->btBufPos;
1261
+ const UInt32 len = *bt++;
1262
+ const UInt32 *btLim = bt + len;
1263
+ p->btBufPos = btLim;
1264
+ p->btNumAvailBytes--;
1265
+ INCREASE_LZ_POS
1266
+ {
1267
+ while (bt != btLim)
1268
+ {
1269
+ const UInt32 v0 = bt[0];
1270
+ const UInt32 v1 = bt[1];
1271
+ bt += 2;
1272
+ d[0] = v0;
1273
+ d[1] = v1;
1274
+ d += 2;
1275
+ }
1276
+ }
1277
+ return d;
1278
+ }
1279
+
1280
+
1281
+
1282
+ static UInt32 * MatchFinderMt_GetMatches(void *_p, UInt32 *d)
1283
+ {
1284
+ CMatchFinderMt *p = (CMatchFinderMt *)_p;
1285
+ const UInt32 *bt = p->btBufPos;
1286
+ UInt32 len = *bt++;
1287
+ const UInt32 avail = p->btNumAvailBytes - 1;
1288
+ p->btNumAvailBytes = avail;
1289
+ p->btBufPos = bt + len;
1290
+ if (len == 0)
1291
+ {
1292
+ #define BT_HASH_BYTES_MAX 5
1293
+ if (avail >= (BT_HASH_BYTES_MAX - 1) - 1)
1294
+ {
1295
+ UInt32 m = p->lzPos;
1296
+ if (m > p->historySize)
1297
+ m -= p->historySize;
1298
+ else
1299
+ m = 1;
1300
+ d = p->MixMatchesFunc(p, m, d);
1301
+ }
1302
+ }
1303
+ else
1304
+ {
1305
+ /*
1306
+ first match pair from BinTree: (match_len, match_dist),
1307
+ (match_len >= numHashBytes).
1308
+ MixMatchesFunc() inserts only hash matches that are nearer than (match_dist)
1309
+ */
1310
+ d = p->MixMatchesFunc(p, p->lzPos - bt[1], d);
1311
+ // if (d) // check for failure
1312
+ do
1313
+ {
1314
+ const UInt32 v0 = bt[0];
1315
+ const UInt32 v1 = bt[1];
1316
+ bt += 2;
1317
+ d[0] = v0;
1318
+ d[1] = v1;
1319
+ d += 2;
1320
+ }
1321
+ while (len -= 2);
1322
+ }
1323
+ INCREASE_LZ_POS
1324
+ return d;
1325
+ }
1326
+
1327
+ #define SKIP_HEADER2_MT do { GET_NEXT_BLOCK_IF_REQUIRED
1328
+ #define SKIP_HEADER_MT(n) SKIP_HEADER2_MT if (p->btNumAvailBytes-- >= (n)) { const Byte *cur = p->pointerToCurPos; UInt32 *hash = p->hash;
1329
+ #define SKIP_FOOTER_MT } INCREASE_LZ_POS p->btBufPos += (size_t)*p->btBufPos + 1; } while (--num != 0);
1330
+
1331
+ static void MatchFinderMt0_Skip(void *_p, UInt32 num)
1332
+ {
1333
+ CMatchFinderMt *p = (CMatchFinderMt *)_p;
1334
+ SKIP_HEADER2_MT { p->btNumAvailBytes--;
1335
+ SKIP_FOOTER_MT
1336
+ }
1337
+
1338
+ static void MatchFinderMt2_Skip(void *_p, UInt32 num)
1339
+ {
1340
+ CMatchFinderMt *p = (CMatchFinderMt *)_p;
1341
+ SKIP_HEADER_MT(2)
1342
+ UInt32 h2;
1343
+ MT_HASH2_CALC
1344
+ hash[h2] = p->lzPos;
1345
+ SKIP_FOOTER_MT
1346
+ }
1347
+
1348
+ static void MatchFinderMt3_Skip(void *_p, UInt32 num)
1349
+ {
1350
+ CMatchFinderMt *p = (CMatchFinderMt *)_p;
1351
+ SKIP_HEADER_MT(3)
1352
+ UInt32 h2, h3;
1353
+ MT_HASH3_CALC
1354
+ (hash + kFix3HashSize)[h3] =
1355
+ hash[ h2] =
1356
+ p->lzPos;
1357
+ SKIP_FOOTER_MT
1358
+ }
1359
+
1360
+ /*
1361
+ // MatchFinderMt4_Skip() is similar to MatchFinderMt3_Skip().
1362
+ // The difference is that MatchFinderMt3_Skip() updates hash for last 3 bytes of stream.
1363
+
1364
+ static void MatchFinderMt4_Skip(CMatchFinderMt *p, UInt32 num)
1365
+ {
1366
+ SKIP_HEADER_MT(4)
1367
+ UInt32 h2, h3; // h4
1368
+ MT_HASH3_CALC
1369
+ // MT_HASH4_CALC
1370
+ // (hash + kFix4HashSize)[h4] =
1371
+ (hash + kFix3HashSize)[h3] =
1372
+ hash[ h2] =
1373
+ p->lzPos;
1374
+ SKIP_FOOTER_MT
1375
+ }
1376
+ */
1377
+
1378
+ void MatchFinderMt_CreateVTable(CMatchFinderMt *p, IMatchFinder2 *vTable)
1379
+ {
1380
+ vTable->Init = MatchFinderMt_Init;
1381
+ vTable->GetNumAvailableBytes = MatchFinderMt_GetNumAvailableBytes;
1382
+ vTable->GetPointerToCurrentPos = MatchFinderMt_GetPointerToCurrentPos;
1383
+ vTable->GetMatches = MatchFinderMt_GetMatches;
1384
+
1385
+ switch (MF(p)->numHashBytes)
1386
+ {
1387
+ case 2:
1388
+ p->GetHeadsFunc = GetHeads2;
1389
+ p->MixMatchesFunc = NULL;
1390
+ vTable->Skip = MatchFinderMt0_Skip;
1391
+ vTable->GetMatches = MatchFinderMt2_GetMatches;
1392
+ break;
1393
+ case 3:
1394
+ p->GetHeadsFunc = MF(p)->bigHash ? GetHeads3b : GetHeads3;
1395
+ p->MixMatchesFunc = MixMatches2;
1396
+ vTable->Skip = MatchFinderMt2_Skip;
1397
+ break;
1398
+ case 4:
1399
+ p->GetHeadsFunc = MF(p)->bigHash ? GetHeads4b : GetHeads4;
1400
+
1401
+ // it's fast inline version of GetMatches()
1402
+ // vTable->GetMatches = MatchFinderMt_GetMatches_Bt4;
1403
+
1404
+ p->MixMatchesFunc = MixMatches3;
1405
+ vTable->Skip = MatchFinderMt3_Skip;
1406
+ break;
1407
+ default:
1408
+ p->GetHeadsFunc = MF(p)->bigHash ? GetHeads5b : GetHeads5;
1409
+ p->MixMatchesFunc = MixMatches4;
1410
+ vTable->Skip =
1411
+ MatchFinderMt3_Skip;
1412
+ // MatchFinderMt4_Skip;
1413
+ break;
1414
+ }
1415
+ }
1416
+
1417
+ #undef RINOK_THREAD
1418
+ #undef PRF
1419
+ #undef MF
1420
+ #undef GetUi24hi_from32
1421
+ #undef LOCK_BUFFER
1422
+ #undef UNLOCK_BUFFER