react-native-update 10.59.2 → 10.61.0

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 (877) hide show
  1. package/README-CN.md +13 -7
  2. package/README.md +15 -6
  3. package/android/build.gradle +25 -33
  4. package/android/jni/Android.mk +18 -24
  5. package/android/jni/Application.mk +3 -1
  6. package/android/lib/arm64-v8a/librnpushy.so +0 -0
  7. package/android/lib/armeabi-v7a/librnpushy.so +0 -0
  8. package/android/lib/x86/librnpushy.so +0 -0
  9. package/android/lib/x86_64/librnpushy.so +0 -0
  10. package/android/proguard.pro +9 -7
  11. package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +3 -8
  12. package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +24 -6
  13. package/android/src/main/java/cn/reactnative/modules/update/BundlePreparationResult.java +2 -0
  14. package/android/src/main/java/cn/reactnative/modules/update/BundledResourceCopier.java +50 -51
  15. package/android/src/main/java/cn/reactnative/modules/update/CleanupKeepNames.java +12 -13
  16. package/android/src/main/java/cn/reactnative/modules/update/CopyGroupResult.java +3 -0
  17. package/android/src/main/java/cn/reactnative/modules/update/CrashHold.java +22 -30
  18. package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +284 -452
  19. package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +8 -4
  20. package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +32 -3
  21. package/android/src/main/java/cn/reactnative/modules/update/FileOperationException.java +1 -1
  22. package/android/src/main/java/cn/reactnative/modules/update/FlowBridge.java +39 -8
  23. package/android/src/main/java/cn/reactnative/modules/update/HttpClients.java +63 -0
  24. package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +0 -45
  25. package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +68 -116
  26. package/android/src/main/java/cn/reactnative/modules/update/NativeCore.java +10 -2
  27. package/android/src/main/java/cn/reactnative/modules/update/PatchFailedException.java +1 -1
  28. package/android/src/main/java/cn/reactnative/modules/update/PushyRuntime.java +53 -62
  29. package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +9 -24
  30. package/android/src/main/java/cn/reactnative/modules/update/ResumePlan.java +31 -0
  31. package/android/src/main/java/cn/reactnative/modules/update/SafeZipFile.java +42 -80
  32. package/android/src/main/java/cn/reactnative/modules/update/StateSerialRunner.java +22 -39
  33. package/android/src/main/java/cn/reactnative/modules/update/SyncCoordinator.java +474 -500
  34. package/android/src/main/java/cn/reactnative/modules/update/Texts.java +15 -1
  35. package/android/src/main/java/cn/reactnative/modules/update/Threads.java +44 -0
  36. package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +265 -188
  37. package/android/src/main/java/cn/reactnative/modules/update/UpdateEventEmitter.java +1 -1
  38. package/android/src/main/java/cn/reactnative/modules/update/UpdateFileUtils.java +75 -17
  39. package/android/src/main/java/cn/reactnative/modules/update/{UpdateModuleImpl.java → UpdateModule.java} +114 -96
  40. package/android/src/main/java/cn/reactnative/modules/update/UpdatePackage.java +16 -19
  41. package/android/src/main/java/cn/reactnative/modules/update/VersionScopedKeys.java +64 -0
  42. package/android/src/oldarch/cn/reactnative/modules/update/NativePushySpec.java +71 -0
  43. package/cpp/android_jni/archive_limits_jni.cpp +83 -0
  44. package/cpp/android_jni/install_record_jni.cpp +89 -0
  45. package/cpp/android_jni/jni_log.h +30 -0
  46. package/cpp/android_jni/jni_natives.h +46 -0
  47. package/cpp/android_jni/jni_registration.cpp +146 -0
  48. package/cpp/android_jni/jni_util.h +160 -0
  49. package/cpp/android_jni/resume_plan_jni.cpp +58 -0
  50. package/cpp/android_jni/update_core_android.cpp +448 -0
  51. package/cpp/android_jni/update_flow_jni.cpp +150 -0
  52. package/{android/jni → cpp/hpatch}/hpatch.c +5 -5
  53. package/{android/jni → cpp/hpatch}/hpatch.h +4 -1
  54. package/cpp/patch_core/archive_limits.cpp +194 -0
  55. package/cpp/patch_core/archive_limits.h +101 -10
  56. package/cpp/patch_core/archive_patch_core.cpp +98 -15
  57. package/cpp/patch_core/archive_patch_core.h +51 -0
  58. package/cpp/patch_core/digest.h +5 -4
  59. package/cpp/patch_core/error_codes.h +15 -11
  60. package/cpp/patch_core/install_record.cpp +430 -0
  61. package/cpp/patch_core/install_record.h +165 -9
  62. package/cpp/patch_core/native_texts.h +102 -0
  63. package/cpp/patch_core/patch_core.cpp +62 -16
  64. package/cpp/patch_core/patch_core.h +27 -7
  65. package/cpp/patch_core/patch_manifest.cpp +201 -0
  66. package/cpp/patch_core/patch_manifest.h +74 -0
  67. package/cpp/patch_core/resume_plan.cpp +226 -0
  68. package/cpp/patch_core/resume_plan.h +88 -0
  69. package/cpp/patch_core/state_ops.h +5 -3
  70. package/cpp/update_flow_core/flow_json.cpp +82 -8
  71. package/cpp/update_flow_core/flow_json.h +21 -0
  72. package/cpp/update_flow_core/native_config.cpp +436 -0
  73. package/cpp/update_flow_core/native_config.h +84 -0
  74. package/cpp/update_flow_core/native_round.cpp +321 -0
  75. package/cpp/update_flow_core/native_round.h +94 -0
  76. package/cpp/update_flow_core/round_engine.cpp +456 -0
  77. package/cpp/update_flow_core/round_engine.h +106 -0
  78. package/cpp/update_flow_core/update_flow_core.cpp +5 -14
  79. package/cpp/update_flow_core/update_flow_core.h +2 -2
  80. package/harmony/hvigor-plugin.ts +11 -19
  81. package/harmony/pushy/src/main/cpp/CMakeLists.txt +19 -26
  82. package/harmony/pushy/src/main/cpp/PushyPackage.h +2 -2
  83. package/harmony/pushy/src/main/cpp/PushyTurboModule.cpp +57 -94
  84. package/harmony/pushy/src/main/cpp/pushy.cpp +817 -518
  85. package/harmony/pushy/src/main/ets/ArchiveLimits.ts +55 -75
  86. package/harmony/pushy/src/main/ets/DownloadTask.ts +279 -539
  87. package/harmony/pushy/src/main/ets/DownloadTaskParams.ts +6 -6
  88. package/harmony/pushy/src/main/ets/ErrorCodes.ts +3 -15
  89. package/harmony/pushy/src/main/ets/EventHub.ts +1 -1
  90. package/harmony/pushy/src/main/ets/InstallRecord.ts +54 -151
  91. package/harmony/pushy/src/main/ets/Logger.ts +20 -34
  92. package/harmony/pushy/src/main/ets/NativePatchCore.ts +150 -41
  93. package/harmony/pushy/src/main/ets/PushyConfiguration.ts +8 -85
  94. package/harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets +8 -3
  95. package/harmony/pushy/src/main/ets/PushyTurboModule.ts +11 -25
  96. package/harmony/pushy/src/main/ets/SaveFile.ts +99 -18
  97. package/harmony/pushy/src/main/ets/SyncCoordinator.ts +291 -543
  98. package/harmony/pushy/src/main/ets/Texts.ts +8 -7
  99. package/harmony/pushy/src/main/ets/UpdateContext.ts +245 -152
  100. package/harmony/pushy.har +0 -0
  101. package/ios/RCTPushy/RCTPushy+Launch.mm +190 -0
  102. package/ios/RCTPushy/RCTPushy.h +12 -0
  103. package/ios/RCTPushy/RCTPushy.mm +135 -2666
  104. package/ios/RCTPushy/RCTPushyCommon.h +28 -0
  105. package/ios/RCTPushy/RCTPushyConfiguration.h +0 -8
  106. package/ios/RCTPushy/RCTPushyConfiguration.mm +40 -123
  107. package/ios/RCTPushy/RCTPushyDownloader.mm +152 -198
  108. package/ios/RCTPushy/RCTPushyInstallRecord.mm +101 -0
  109. package/ios/RCTPushy/RCTPushyInstaller.mm +732 -0
  110. package/ios/RCTPushy/RCTPushyInternal.h +185 -0
  111. package/ios/RCTPushy/RCTPushyOrchestrator.mm +969 -0
  112. package/ios/RCTPushy/RCTPushyState.mm +382 -0
  113. package/package.json +46 -25
  114. package/react-native-update.podspec +73 -82
  115. package/src/client.ts +126 -1633
  116. package/src/clientActivation.ts +324 -0
  117. package/src/clientCheck.ts +405 -0
  118. package/src/clientDownload.ts +448 -0
  119. package/src/clientNativeConfig.ts +171 -0
  120. package/src/clientReporter.ts +398 -0
  121. package/src/clientState.ts +51 -0
  122. package/src/context.ts +1 -1
  123. package/src/core.ts +39 -10
  124. package/src/endpoint.ts +22 -8
  125. package/src/error.ts +18 -35
  126. package/src/i18n.ts +18 -83
  127. package/src/locales/en.ts +1 -5
  128. package/src/locales/zh.ts +1 -5
  129. package/src/provider.tsx +86 -67
  130. package/src/telemetry.ts +0 -13
  131. package/src/type.ts +0 -15
  132. package/src/updateFlowCore.ts +116 -10
  133. package/src/utils.ts +49 -42
  134. package/android/jni/HDiffPatch/.travis.yml +0 -33
  135. package/android/jni/HDiffPatch/CHANGELOG.md +0 -153
  136. package/android/jni/HDiffPatch/Makefile +0 -157
  137. package/android/jni/HDiffPatch/_atosize.h +0 -83
  138. package/android/jni/HDiffPatch/_clock_for_demo.h +0 -47
  139. package/android/jni/HDiffPatch/_dir_ignore.h +0 -191
  140. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +0 -37
  141. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +0 -7
  142. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +0 -1
  143. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +0 -1
  144. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +0 -18
  145. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +0 -20
  146. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +0 -28
  147. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +0 -8
  148. package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +0 -8
  149. package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +0 -219
  150. package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +0 -156
  151. package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +0 -65
  152. package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +0 -105
  153. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +0 -237
  154. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +0 -3
  155. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +0 -318
  156. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +0 -3
  157. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +0 -182
  158. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +0 -3
  159. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -30
  160. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  161. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +0 -408
  162. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  163. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +0 -573
  164. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  165. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  166. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +0 -396
  167. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  168. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +0 -268
  169. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  170. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +0 -361
  171. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  172. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +0 -301
  173. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  174. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  175. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +0 -411
  176. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  177. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +0 -504
  178. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  179. package/android/jni/HDiffPatch/checksum_plugin_demo.h +0 -344
  180. package/android/jni/HDiffPatch/compress_parallel.cpp +0 -166
  181. package/android/jni/HDiffPatch/compress_parallel.h +0 -59
  182. package/android/jni/HDiffPatch/compress_plugin_demo.h +0 -1152
  183. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +0 -797
  184. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +0 -65
  185. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +0 -200
  186. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +0 -178
  187. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +0 -357
  188. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +0 -87
  189. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +0 -151
  190. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +0 -770
  191. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +0 -236
  192. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +0 -47
  193. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +0 -112
  194. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +0 -53
  195. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +0 -331
  196. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +0 -144
  197. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +0 -176
  198. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +0 -84
  199. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +0 -146
  200. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +0 -61
  201. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +0 -152
  202. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +0 -76
  203. package/android/jni/HDiffPatch/hdiffz.cpp +0 -1570
  204. package/android/jni/HDiffPatch/hpatch_dir_listener.h +0 -290
  205. package/android/jni/HDiffPatch/hpatchz.c +0 -1221
  206. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +0 -1025
  207. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +0 -116
  208. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -72
  209. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +0 -213
  210. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +0 -63
  211. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +0 -170
  212. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +0 -86
  213. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +0 -89
  214. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +0 -13
  215. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +0 -398
  216. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +0 -194
  217. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +0 -13
  218. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +0 -204
  219. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +0 -207
  220. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +0 -815
  221. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +0 -586
  222. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +0 -381
  223. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +0 -352
  224. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +0 -137
  225. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +0 -137
  226. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +0 -70
  227. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +0 -628
  228. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +0 -87
  229. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +0 -363
  230. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +0 -139
  231. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +0 -68
  232. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +0 -115
  233. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +0 -342
  234. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +0 -94
  235. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +0 -52
  236. package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +0 -174
  237. package/android/jni/HDiffPatch/libParallel/parallel_channel.h +0 -73
  238. package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +0 -367
  239. package/android/jni/HDiffPatch/libParallel/parallel_import.h +0 -92
  240. package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +0 -100
  241. package/android/jni/lzma/Asm/x86/7zAsm.asm +0 -147
  242. package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +0 -147
  243. package/android/jni/lzma/Asm/x86/AesOpt.asm +0 -237
  244. package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +0 -1258
  245. package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +0 -205
  246. package/android/jni/lzma/C/7z.h +0 -202
  247. package/android/jni/lzma/C/7zAlloc.c +0 -80
  248. package/android/jni/lzma/C/7zAlloc.h +0 -19
  249. package/android/jni/lzma/C/7zArcIn.c +0 -1771
  250. package/android/jni/lzma/C/7zBuf.c +0 -36
  251. package/android/jni/lzma/C/7zBuf.h +0 -35
  252. package/android/jni/lzma/C/7zBuf2.c +0 -52
  253. package/android/jni/lzma/C/7zCrc.c +0 -128
  254. package/android/jni/lzma/C/7zCrc.h +0 -25
  255. package/android/jni/lzma/C/7zCrcOpt.c +0 -115
  256. package/android/jni/lzma/C/7zDec.c +0 -591
  257. package/android/jni/lzma/C/7zFile.c +0 -286
  258. package/android/jni/lzma/C/7zFile.h +0 -83
  259. package/android/jni/lzma/C/7zStream.c +0 -176
  260. package/android/jni/lzma/C/7zVersion.h +0 -27
  261. package/android/jni/lzma/C/7zVersion.rc +0 -55
  262. package/android/jni/lzma/C/Aes.c +0 -306
  263. package/android/jni/lzma/C/Aes.h +0 -38
  264. package/android/jni/lzma/C/AesOpt.c +0 -184
  265. package/android/jni/lzma/C/Alloc.c +0 -455
  266. package/android/jni/lzma/C/Alloc.h +0 -51
  267. package/android/jni/lzma/C/Bcj2.c +0 -257
  268. package/android/jni/lzma/C/Bcj2.h +0 -146
  269. package/android/jni/lzma/C/Bcj2Enc.c +0 -311
  270. package/android/jni/lzma/C/Bra.c +0 -230
  271. package/android/jni/lzma/C/Bra.h +0 -64
  272. package/android/jni/lzma/C/Bra86.c +0 -82
  273. package/android/jni/lzma/C/BraIA64.c +0 -53
  274. package/android/jni/lzma/C/CpuArch.c +0 -218
  275. package/android/jni/lzma/C/CpuArch.h +0 -336
  276. package/android/jni/lzma/C/Delta.c +0 -64
  277. package/android/jni/lzma/C/Delta.h +0 -19
  278. package/android/jni/lzma/C/DllSecur.c +0 -108
  279. package/android/jni/lzma/C/DllSecur.h +0 -20
  280. package/android/jni/lzma/C/LzFind.c +0 -1127
  281. package/android/jni/lzma/C/LzFind.h +0 -121
  282. package/android/jni/lzma/C/LzFindMt.c +0 -853
  283. package/android/jni/lzma/C/LzFindMt.h +0 -101
  284. package/android/jni/lzma/C/LzHash.h +0 -57
  285. package/android/jni/lzma/C/Lzma2DecMt.c +0 -1082
  286. package/android/jni/lzma/C/Lzma2DecMt.h +0 -79
  287. package/android/jni/lzma/C/Lzma2Enc.c +0 -803
  288. package/android/jni/lzma/C/Lzma2Enc.h +0 -55
  289. package/android/jni/lzma/C/Lzma86.h +0 -111
  290. package/android/jni/lzma/C/Lzma86Dec.c +0 -54
  291. package/android/jni/lzma/C/Lzma86Enc.c +0 -106
  292. package/android/jni/lzma/C/LzmaEnc.c +0 -2976
  293. package/android/jni/lzma/C/LzmaEnc.h +0 -76
  294. package/android/jni/lzma/C/LzmaLib.c +0 -40
  295. package/android/jni/lzma/C/LzmaLib.h +0 -131
  296. package/android/jni/lzma/C/MtCoder.c +0 -601
  297. package/android/jni/lzma/C/MtCoder.h +0 -141
  298. package/android/jni/lzma/C/MtDec.c +0 -1138
  299. package/android/jni/lzma/C/MtDec.h +0 -201
  300. package/android/jni/lzma/C/Ppmd.h +0 -85
  301. package/android/jni/lzma/C/Ppmd7.c +0 -712
  302. package/android/jni/lzma/C/Ppmd7.h +0 -142
  303. package/android/jni/lzma/C/Ppmd7Dec.c +0 -191
  304. package/android/jni/lzma/C/Ppmd7Enc.c +0 -187
  305. package/android/jni/lzma/C/RotateDefs.h +0 -30
  306. package/android/jni/lzma/C/Sha256.c +0 -248
  307. package/android/jni/lzma/C/Sha256.h +0 -26
  308. package/android/jni/lzma/C/Sort.c +0 -141
  309. package/android/jni/lzma/C/Sort.h +0 -18
  310. package/android/jni/lzma/C/Threads.c +0 -95
  311. package/android/jni/lzma/C/Threads.h +0 -70
  312. package/android/jni/lzma/C/ThreadsP.c +0 -396
  313. package/android/jni/lzma/C/ThreadsP.h +0 -31
  314. package/android/jni/lzma/C/Util/7z/7z.dsp +0 -241
  315. package/android/jni/lzma/C/Util/7z/7z.dsw +0 -29
  316. package/android/jni/lzma/C/Util/7z/7zMain.c +0 -686
  317. package/android/jni/lzma/C/Util/7z/Precomp.c +0 -4
  318. package/android/jni/lzma/C/Util/7z/Precomp.h +0 -10
  319. package/android/jni/lzma/C/Util/7z/makefile +0 -40
  320. package/android/jni/lzma/C/Util/7z/makefile.gcc +0 -75
  321. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +0 -258
  322. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -168
  323. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +0 -29
  324. package/android/jni/lzma/C/Util/Lzma/makefile +0 -28
  325. package/android/jni/lzma/C/Util/Lzma/makefile.gcc +0 -44
  326. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +0 -4
  327. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +0 -178
  328. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +0 -29
  329. package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +0 -14
  330. package/android/jni/lzma/C/Util/LzmaLib/makefile +0 -34
  331. package/android/jni/lzma/C/Util/LzmaLib/resource.rc +0 -3
  332. package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +0 -4
  333. package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +0 -10
  334. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +0 -640
  335. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +0 -231
  336. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +0 -29
  337. package/android/jni/lzma/C/Util/SfxSetup/makefile +0 -37
  338. package/android/jni/lzma/C/Util/SfxSetup/makefile_con +0 -38
  339. package/android/jni/lzma/C/Util/SfxSetup/resource.rc +0 -5
  340. package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
  341. package/android/jni/lzma/C/Xz.c +0 -90
  342. package/android/jni/lzma/C/Xz.h +0 -460
  343. package/android/jni/lzma/C/XzCrc64.c +0 -86
  344. package/android/jni/lzma/C/XzCrc64.h +0 -26
  345. package/android/jni/lzma/C/XzCrc64Opt.c +0 -69
  346. package/android/jni/lzma/C/XzDec.c +0 -2766
  347. package/android/jni/lzma/C/XzEnc.c +0 -1329
  348. package/android/jni/lzma/C/XzEnc.h +0 -60
  349. package/android/jni/lzma/C/XzIn.c +0 -319
  350. package/android/jni/lzma/CPP/7zip/7zip.mak +0 -240
  351. package/android/jni/lzma/CPP/7zip/Aes.mak +0 -7
  352. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +0 -3
  353. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +0 -76
  354. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +0 -569
  355. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +0 -70
  356. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +0 -678
  357. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +0 -92
  358. package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +0 -423
  359. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +0 -139
  360. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +0 -61
  361. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +0 -763
  362. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +0 -181
  363. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +0 -942
  364. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +0 -19
  365. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +0 -148
  366. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +0 -1666
  367. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +0 -445
  368. package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +0 -202
  369. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +0 -901
  370. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +0 -335
  371. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +0 -174
  372. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +0 -22
  373. package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +0 -21
  374. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +0 -22
  375. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +0 -35
  376. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +0 -2500
  377. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +0 -139
  378. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +0 -3
  379. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +0 -8
  380. package/android/jni/lzma/CPP/7zip/Archive/Archive.def +0 -12
  381. package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +0 -19
  382. package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +0 -151
  383. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +0 -1125
  384. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +0 -447
  385. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +0 -17
  386. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +0 -25
  387. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +0 -232
  388. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +0 -110
  389. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +0 -46
  390. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +0 -67
  391. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +0 -88
  392. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +0 -28
  393. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +0 -191
  394. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +0 -89
  395. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +0 -18
  396. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +0 -37
  397. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +0 -3
  398. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +0 -6
  399. package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +0 -8
  400. package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +0 -122
  401. package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +0 -608
  402. package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  403. package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +0 -629
  404. package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +0 -359
  405. package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +0 -8
  406. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +0 -1308
  407. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +0 -11
  408. package/android/jni/lzma/CPP/7zip/Asm.mak +0 -9
  409. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +0 -1910
  410. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +0 -29
  411. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +0 -3
  412. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +0 -8
  413. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +0 -154
  414. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +0 -7
  415. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +0 -3
  416. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +0 -8
  417. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +0 -96
  418. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +0 -5
  419. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +0 -3
  420. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +0 -8
  421. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +0 -116
  422. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +0 -5
  423. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +0 -799
  424. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +0 -477
  425. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +0 -29
  426. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +0 -3
  427. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +0 -8
  428. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +0 -59
  429. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +0 -195
  430. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +0 -3
  431. package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +0 -715
  432. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  433. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +0 -912
  434. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +0 -29
  435. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +0 -482
  436. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +0 -3
  437. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +0 -8
  438. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +0 -134
  439. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +0 -5
  440. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +0 -246
  441. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +0 -86
  442. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +0 -137
  443. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +0 -11
  444. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +0 -803
  445. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +0 -29
  446. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +0 -364
  447. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +0 -3
  448. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +0 -13
  449. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +0 -117
  450. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +0 -6
  451. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +0 -16
  452. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  453. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  454. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +0 -988
  455. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +0 -29
  456. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +0 -241
  457. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +0 -3
  458. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +0 -14
  459. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +0 -153
  460. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +0 -1
  461. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -50
  462. package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +0 -250
  463. package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +0 -120
  464. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +0 -536
  465. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +0 -192
  466. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +0 -46
  467. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +0 -10
  468. package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +0 -475
  469. package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +0 -166
  470. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +0 -435
  471. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +0 -205
  472. package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +0 -163
  473. package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +0 -92
  474. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +0 -127
  475. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +0 -48
  476. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +0 -367
  477. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +0 -252
  478. package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +0 -3
  479. package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +0 -6
  480. package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +0 -3
  481. package/android/jni/lzma/CPP/7zip/Common/MethodId.h +0 -10
  482. package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +0 -509
  483. package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +0 -264
  484. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +0 -39
  485. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +0 -26
  486. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +0 -111
  487. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +0 -66
  488. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +0 -51
  489. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +0 -35
  490. package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +0 -108
  491. package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +0 -78
  492. package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +0 -106
  493. package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +0 -8
  494. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +0 -156
  495. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +0 -60
  496. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +0 -285
  497. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +0 -157
  498. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +0 -56
  499. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +0 -13
  500. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +0 -57
  501. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +0 -26
  502. package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +0 -48
  503. package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +0 -24
  504. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +0 -666
  505. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +0 -120
  506. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +0 -24
  507. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +0 -24
  508. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +0 -31
  509. package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +0 -17
  510. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +0 -23
  511. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +0 -35
  512. package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +0 -41
  513. package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +0 -92
  514. package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +0 -344
  515. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +0 -120
  516. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +0 -49
  517. package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +0 -15
  518. package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +0 -128
  519. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +0 -265
  520. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +0 -96
  521. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +0 -122
  522. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +0 -42
  523. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +0 -22
  524. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +0 -343
  525. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +0 -113
  526. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +0 -182
  527. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +0 -46
  528. package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +0 -22
  529. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +0 -170
  530. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +0 -86
  531. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +0 -152
  532. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +0 -58
  533. package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +0 -22
  534. package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +0 -8
  535. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +0 -150
  536. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +0 -92
  537. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +0 -245
  538. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +0 -46
  539. package/android/jni/lzma/CPP/7zip/Crc.mak +0 -8
  540. package/android/jni/lzma/CPP/7zip/Crc64.mak +0 -8
  541. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +0 -280
  542. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +0 -118
  543. package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +0 -17
  544. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +0 -112
  545. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +0 -57
  546. package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +0 -16
  547. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +0 -233
  548. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +0 -40
  549. package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +0 -8
  550. package/android/jni/lzma/CPP/7zip/GuiCommon.rc +0 -84
  551. package/android/jni/lzma/CPP/7zip/Guid.txt +0 -220
  552. package/android/jni/lzma/CPP/7zip/ICoder.h +0 -399
  553. package/android/jni/lzma/CPP/7zip/IDecl.h +0 -28
  554. package/android/jni/lzma/CPP/7zip/IPassword.h +0 -23
  555. package/android/jni/lzma/CPP/7zip/IProgress.h +0 -19
  556. package/android/jni/lzma/CPP/7zip/IStream.h +0 -127
  557. package/android/jni/lzma/CPP/7zip/LzmaDec.mak +0 -5
  558. package/android/jni/lzma/CPP/7zip/MyVersion.h +0 -2
  559. package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +0 -2
  560. package/android/jni/lzma/CPP/7zip/PropID.h +0 -127
  561. package/android/jni/lzma/CPP/7zip/SubBuild.mak +0 -3
  562. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +0 -993
  563. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +0 -235
  564. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +0 -29
  565. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +0 -3
  566. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +0 -8
  567. package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +0 -28
  568. package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +0 -3
  569. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +0 -1295
  570. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +0 -136
  571. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +0 -1715
  572. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +0 -403
  573. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +0 -155
  574. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +0 -10
  575. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +0 -161
  576. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +0 -112
  577. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +0 -3618
  578. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +0 -77
  579. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +0 -37
  580. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +0 -11
  581. package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +0 -190
  582. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +0 -1096
  583. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +0 -42
  584. package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +0 -27
  585. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +0 -482
  586. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +0 -94
  587. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +0 -34
  588. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +0 -280
  589. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +0 -31
  590. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +0 -347
  591. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +0 -110
  592. package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +0 -114
  593. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +0 -1074
  594. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +0 -424
  595. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +0 -3553
  596. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +0 -436
  597. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +0 -668
  598. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +0 -18
  599. package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +0 -14
  600. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +0 -80
  601. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +0 -10
  602. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +0 -25
  603. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +0 -10
  604. package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +0 -8
  605. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +0 -19
  606. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +0 -16
  607. package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +0 -1704
  608. package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +0 -200
  609. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +0 -64
  610. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +0 -66
  611. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +0 -771
  612. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +0 -162
  613. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +0 -233
  614. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +0 -27
  615. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +0 -70
  616. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +0 -55
  617. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +0 -94
  618. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +0 -26
  619. package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +0 -130
  620. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +0 -41
  621. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +0 -14
  622. package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +0 -43
  623. package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +0 -13
  624. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +0 -69
  625. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +0 -33
  626. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +0 -825
  627. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +0 -164
  628. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +0 -367
  629. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +0 -48
  630. package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +0 -1359
  631. package/android/jni/lzma/CPP/7zip/UI/Console/List.h +0 -27
  632. package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +0 -1154
  633. package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +0 -175
  634. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +0 -115
  635. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +0 -66
  636. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +0 -183
  637. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +0 -62
  638. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +0 -3
  639. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +0 -8
  640. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +0 -702
  641. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +0 -124
  642. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +0 -110
  643. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +0 -27
  644. package/android/jni/lzma/CPP/7zip/UI/Console/makefile +0 -64
  645. package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +0 -7
  646. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +0 -37
  647. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +0 -16
  648. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +0 -1025
  649. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +0 -21
  650. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +0 -9
  651. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +0 -64
  652. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +0 -28
  653. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +0 -4
  654. package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +0 -16
  655. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +0 -1037
  656. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +0 -328
  657. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +0 -28
  658. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +0 -14
  659. package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +0 -40
  660. package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +0 -76
  661. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +0 -122
  662. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +0 -69
  663. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +0 -91
  664. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +0 -17
  665. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +0 -58
  666. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +0 -28
  667. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -14
  668. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +0 -5
  669. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +0 -196
  670. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +0 -170
  671. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +0 -12
  672. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +0 -1337
  673. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +0 -351
  674. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +0 -40
  675. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +0 -48
  676. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +0 -80
  677. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +0 -3
  678. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +0 -23
  679. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +0 -10
  680. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -95
  681. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +0 -255
  682. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +0 -62
  683. package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +0 -177
  684. package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -15
  685. package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +0 -59
  686. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +0 -418
  687. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +0 -113
  688. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +0 -98
  689. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +0 -24
  690. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +0 -280
  691. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +0 -38
  692. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +0 -51
  693. package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +0 -27
  694. package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +0 -2
  695. package/android/jni/lzma/CPP/Build.mak +0 -156
  696. package/android/jni/lzma/CPP/Common/AutoPtr.h +0 -35
  697. package/android/jni/lzma/CPP/Common/CRC.cpp +0 -7
  698. package/android/jni/lzma/CPP/Common/C_FileIO.cpp +0 -92
  699. package/android/jni/lzma/CPP/Common/C_FileIO.h +0 -53
  700. package/android/jni/lzma/CPP/Common/ComTry.h +0 -21
  701. package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +0 -197
  702. package/android/jni/lzma/CPP/Common/CommandLineParser.h +0 -63
  703. package/android/jni/lzma/CPP/Common/Common.h +0 -43
  704. package/android/jni/lzma/CPP/Common/CrcReg.cpp +0 -98
  705. package/android/jni/lzma/CPP/Common/Defs.h +0 -15
  706. package/android/jni/lzma/CPP/Common/DynamicBuffer.h +0 -64
  707. package/android/jni/lzma/CPP/Common/IntToString.cpp +0 -193
  708. package/android/jni/lzma/CPP/Common/IntToString.h +0 -28
  709. package/android/jni/lzma/CPP/Common/Lang.h +0 -23
  710. package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +0 -132
  711. package/android/jni/lzma/CPP/Common/ListFileUtils.h +0 -18
  712. package/android/jni/lzma/CPP/Common/MyBuffer.h +0 -259
  713. package/android/jni/lzma/CPP/Common/MyBuffer2.h +0 -100
  714. package/android/jni/lzma/CPP/Common/MyCom.h +0 -277
  715. package/android/jni/lzma/CPP/Common/MyException.h +0 -14
  716. package/android/jni/lzma/CPP/Common/MyGuidDef.h +0 -54
  717. package/android/jni/lzma/CPP/Common/MyInitGuid.h +0 -45
  718. package/android/jni/lzma/CPP/Common/MyLinux.h +0 -42
  719. package/android/jni/lzma/CPP/Common/MyString.cpp +0 -1659
  720. package/android/jni/lzma/CPP/Common/MyString.h +0 -868
  721. package/android/jni/lzma/CPP/Common/MyTypes.h +0 -35
  722. package/android/jni/lzma/CPP/Common/MyUnknown.h +0 -17
  723. package/android/jni/lzma/CPP/Common/MyVector.cpp +0 -3
  724. package/android/jni/lzma/CPP/Common/MyVector.h +0 -634
  725. package/android/jni/lzma/CPP/Common/MyWindows.cpp +0 -145
  726. package/android/jni/lzma/CPP/Common/MyWindows.h +0 -231
  727. package/android/jni/lzma/CPP/Common/NewHandler.cpp +0 -163
  728. package/android/jni/lzma/CPP/Common/NewHandler.h +0 -88
  729. package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +0 -40
  730. package/android/jni/lzma/CPP/Common/StdAfx.h +0 -8
  731. package/android/jni/lzma/CPP/Common/StdInStream.cpp +0 -89
  732. package/android/jni/lzma/CPP/Common/StdInStream.h +0 -38
  733. package/android/jni/lzma/CPP/Common/StdOutStream.cpp +0 -163
  734. package/android/jni/lzma/CPP/Common/StdOutStream.h +0 -71
  735. package/android/jni/lzma/CPP/Common/StringConvert.cpp +0 -319
  736. package/android/jni/lzma/CPP/Common/StringConvert.h +0 -88
  737. package/android/jni/lzma/CPP/Common/StringToInt.cpp +0 -144
  738. package/android/jni/lzma/CPP/Common/StringToInt.h +0 -21
  739. package/android/jni/lzma/CPP/Common/TextConfig.cpp +0 -124
  740. package/android/jni/lzma/CPP/Common/TextConfig.h +0 -19
  741. package/android/jni/lzma/CPP/Common/UTFConvert.cpp +0 -288
  742. package/android/jni/lzma/CPP/Common/UTFConvert.h +0 -12
  743. package/android/jni/lzma/CPP/Common/Wildcard.cpp +0 -676
  744. package/android/jni/lzma/CPP/Common/Wildcard.h +0 -149
  745. package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +0 -7
  746. package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +0 -42
  747. package/android/jni/lzma/CPP/Windows/COM.h +0 -70
  748. package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +0 -185
  749. package/android/jni/lzma/CPP/Windows/CommonDialog.h +0 -23
  750. package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +0 -66
  751. package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +0 -65
  752. package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +0 -52
  753. package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +0 -251
  754. package/android/jni/lzma/CPP/Windows/Control/Dialog.h +0 -170
  755. package/android/jni/lzma/CPP/Windows/Control/Edit.h +0 -19
  756. package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +0 -10
  757. package/android/jni/lzma/CPP/Windows/Control/ImageList.h +0 -87
  758. package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +0 -155
  759. package/android/jni/lzma/CPP/Windows/Control/ListView.h +0 -146
  760. package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +0 -35
  761. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +0 -143
  762. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +0 -50
  763. package/android/jni/lzma/CPP/Windows/Control/ReBar.h +0 -34
  764. package/android/jni/lzma/CPP/Windows/Control/Static.h +0 -28
  765. package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +0 -42
  766. package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +0 -8
  767. package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +0 -43
  768. package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +0 -27
  769. package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +0 -200
  770. package/android/jni/lzma/CPP/Windows/Control/Window2.h +0 -51
  771. package/android/jni/lzma/CPP/Windows/DLL.cpp +0 -109
  772. package/android/jni/lzma/CPP/Windows/DLL.h +0 -58
  773. package/android/jni/lzma/CPP/Windows/Defs.h +0 -17
  774. package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +0 -66
  775. package/android/jni/lzma/CPP/Windows/ErrorMsg.h +0 -15
  776. package/android/jni/lzma/CPP/Windows/FileDir.cpp +0 -714
  777. package/android/jni/lzma/CPP/Windows/FileDir.h +0 -117
  778. package/android/jni/lzma/CPP/Windows/FileFind.cpp +0 -749
  779. package/android/jni/lzma/CPP/Windows/FileFind.h +0 -161
  780. package/android/jni/lzma/CPP/Windows/FileIO.cpp +0 -432
  781. package/android/jni/lzma/CPP/Windows/FileIO.h +0 -212
  782. package/android/jni/lzma/CPP/Windows/FileLink.cpp +0 -440
  783. package/android/jni/lzma/CPP/Windows/FileMapping.cpp +0 -12
  784. package/android/jni/lzma/CPP/Windows/FileMapping.h +0 -66
  785. package/android/jni/lzma/CPP/Windows/FileName.cpp +0 -839
  786. package/android/jni/lzma/CPP/Windows/FileName.h +0 -115
  787. package/android/jni/lzma/CPP/Windows/FileSystem.cpp +0 -131
  788. package/android/jni/lzma/CPP/Windows/FileSystem.h +0 -27
  789. package/android/jni/lzma/CPP/Windows/Handle.h +0 -37
  790. package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +0 -112
  791. package/android/jni/lzma/CPP/Windows/MemoryLock.h +0 -40
  792. package/android/jni/lzma/CPP/Windows/NtCheck.h +0 -46
  793. package/android/jni/lzma/CPP/Windows/PropVariant.cpp +0 -347
  794. package/android/jni/lzma/CPP/Windows/PropVariant.h +0 -114
  795. package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +0 -138
  796. package/android/jni/lzma/CPP/Windows/PropVariantConv.h +0 -37
  797. package/android/jni/lzma/CPP/Windows/Registry.cpp +0 -390
  798. package/android/jni/lzma/CPP/Windows/Registry.h +0 -84
  799. package/android/jni/lzma/CPP/Windows/ResourceString.cpp +0 -103
  800. package/android/jni/lzma/CPP/Windows/ResourceString.h +0 -16
  801. package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +0 -181
  802. package/android/jni/lzma/CPP/Windows/SecurityUtils.h +0 -167
  803. package/android/jni/lzma/CPP/Windows/Shell.cpp +0 -358
  804. package/android/jni/lzma/CPP/Windows/Shell.h +0 -94
  805. package/android/jni/lzma/CPP/Windows/StdAfx.h +0 -8
  806. package/android/jni/lzma/CPP/Windows/Synchronization.cpp +0 -10
  807. package/android/jni/lzma/CPP/Windows/Synchronization.h +0 -164
  808. package/android/jni/lzma/CPP/Windows/System.cpp +0 -142
  809. package/android/jni/lzma/CPP/Windows/System.h +0 -40
  810. package/android/jni/lzma/CPP/Windows/Thread.h +0 -38
  811. package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +0 -213
  812. package/android/jni/lzma/CPP/Windows/TimeUtils.h +0 -32
  813. package/android/jni/lzma/CPP/Windows/Window.cpp +0 -179
  814. package/android/jni/lzma/CPP/Windows/Window.h +0 -284
  815. package/android/jni/lzma/CS/7zip/Common/CRC.cs +0 -55
  816. package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +0 -274
  817. package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +0 -72
  818. package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +0 -47
  819. package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +0 -24
  820. package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +0 -367
  821. package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +0 -132
  822. package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +0 -110
  823. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +0 -76
  824. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +0 -398
  825. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +0 -1480
  826. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +0 -364
  827. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +0 -90
  828. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +0 -20
  829. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +0 -340
  830. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +0 -29
  831. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +0 -70
  832. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +0 -42
  833. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +0 -234
  834. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +0 -117
  835. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +0 -157
  836. package/android/jni/lzma/CS/7zip/ICoder.cs +0 -157
  837. package/android/jni/lzma/DOC/7zC.txt +0 -187
  838. package/android/jni/lzma/DOC/7zFormat.txt +0 -469
  839. package/android/jni/lzma/DOC/Methods.txt +0 -173
  840. package/android/jni/lzma/DOC/installer.txt +0 -166
  841. package/android/jni/lzma/DOC/lzma-history.txt +0 -446
  842. package/android/jni/lzma/DOC/lzma-specification.txt +0 -1176
  843. package/android/jni/lzma/DOC/lzma.txt +0 -328
  844. package/android/jni/lzma/Java/SevenZip/CRC.java +0 -52
  845. package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +0 -382
  846. package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +0 -131
  847. package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +0 -85
  848. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +0 -88
  849. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +0 -329
  850. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +0 -1416
  851. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +0 -55
  852. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +0 -99
  853. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +0 -88
  854. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +0 -151
  855. package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +0 -6
  856. package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +0 -253
  857. package/android/jni/lzma/Java/SevenZip/LzmaBench.java +0 -392
  858. package/android/jni/lzma/bin/7zS2.sfx +0 -0
  859. package/android/jni/lzma/bin/7zS2con.sfx +0 -0
  860. package/android/jni/lzma/bin/7zSD.sfx +0 -0
  861. package/android/jni/lzma/bin/7zdec.exe +0 -0
  862. package/android/jni/lzma/bin/7zr.exe +0 -0
  863. package/android/jni/lzma/bin/installer/config.txt +0 -5
  864. package/android/jni/lzma/bin/installer/cr.bat +0 -5
  865. package/android/jni/lzma/bin/lzma.exe +0 -0
  866. package/android/jni/lzma/bin/x64/7zr.exe +0 -0
  867. package/android/src/main/java/cn/reactnative/modules/update/ArchivePatchPlanResult.java +0 -6
  868. package/android/src/main/java/cn/reactnative/modules/update/PushyConfiguration.java +0 -104
  869. package/android/src/main/java/cn/reactnative/modules/update/UiThreadRunner.java +0 -37
  870. package/android/src/newarch/cn/reactnative/modules/update/UpdateModule.java +0 -121
  871. package/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java +0 -125
  872. package/cpp/patch_core/jni_natives.h +0 -27
  873. package/cpp/patch_core/jni_registration.cpp +0 -103
  874. package/cpp/patch_core/jni_util.h +0 -60
  875. package/cpp/patch_core/patch_core_android.cpp +0 -97
  876. package/cpp/patch_core/update_core_android.cpp +0 -485
  877. package/cpp/update_flow_core/update_flow_jni.cpp +0 -150
@@ -1,1025 +0,0 @@
1
- //diff.cpp
2
- //
3
- /*
4
- The MIT License (MIT)
5
- Copyright (c) 2012-2018 HouSisong
6
-
7
- Permission is hereby granted, free of charge, to any person
8
- obtaining a copy of this software and associated documentation
9
- files (the "Software"), to deal in the Software without
10
- restriction, including without limitation the rights to use,
11
- copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- copies of the Software, and to permit persons to whom the
13
- Software is furnished to do so, subject to the following
14
- conditions:
15
-
16
- The above copyright notice and this permission notice shall be
17
- included in all copies or substantial portions of the Software.
18
-
19
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
- OTHER DEALINGS IN THE SOFTWARE.
27
- */
28
-
29
- #include "diff.h"
30
- #include <string.h> //strlen memcmp
31
- #include <stdio.h> //fprintf
32
- #include <algorithm> //std::max
33
- #include <vector>
34
- #include "private_diff/suffix_string.h"
35
- #include "private_diff/bytes_rle.h"
36
- #include "private_diff/compress_detect.h"
37
- #include "private_diff/pack_uint.h"
38
- #include "private_diff/mem_buf.h"
39
- #include "../HPatch/patch.h"
40
- #include "../HPatch/patch_private.h"
41
- #include "private_diff/limit_mem_diff/covers.h"
42
- #include "private_diff/limit_mem_diff/digest_matcher.h"
43
- #include "private_diff/limit_mem_diff/stream_serialize.h"
44
- using namespace hdiff_private;
45
-
46
- static void getCovers_by_stream(const hpatch_TStreamInput* newData,
47
- const hpatch_TStreamInput* oldData,
48
- size_t kMatchBlockSize,bool kIsSkipSameRange,
49
- TCovers& out_covers);
50
-
51
-
52
- static const char* kHDiffVersionType ="HDIFF13";
53
- static const char* kHDiffSFVersionType="HDIFFSF20";
54
-
55
- #define checki(value,info) { if (!(value)) { throw std::runtime_error(info); } }
56
- #define check(value) checki(value,"check "#value" error!")
57
-
58
- namespace{
59
-
60
- typedef unsigned char TByte;
61
- typedef size_t TUInt;
62
- typedef ptrdiff_t TInt;
63
- static const int kMaxLinkSpaceLength=(1<<9)-1; //跨覆盖线合并时,允许合并的最远距离.
64
-
65
- //覆盖线.
66
- struct TOldCover {
67
- TInt oldPos;
68
- TInt newPos;
69
- TInt length;
70
- inline TOldCover():oldPos(0),newPos(0),length(0) { }
71
- inline TOldCover(TInt _oldPos,TInt _newPos,TInt _length)
72
- :oldPos(_oldPos),newPos(_newPos),length(_length) { }
73
- inline TOldCover(const TOldCover& cover)
74
- :oldPos(cover.oldPos),newPos(cover.newPos),length(cover.length) { }
75
-
76
- inline bool isCanLink(const TOldCover& next)const{//覆盖线是否可以连接.
77
- return isCollinear(next)&&(linkSpaceLength(next)<=kMaxLinkSpaceLength);
78
- }
79
- inline bool isCollinear(const TOldCover& next)const{//覆盖线是否在同一条直线上.
80
- return (oldPos-next.oldPos==newPos-next.newPos);
81
- }
82
- inline TInt linkSpaceLength(const TOldCover& next)const{//覆盖线间的间距.
83
- return next.oldPos-(oldPos+length);
84
- }
85
- inline void Link(const TOldCover& next){//共线的2覆盖线合并链接.
86
- assert(isCollinear(next));
87
- assert(oldPos<=next.oldPos);
88
- length = (next.oldPos-oldPos)+next.length;
89
- }
90
- };
91
-
92
-
93
- struct TDiffData{
94
- const TByte* newData;
95
- const TByte* newData_end;
96
- const TByte* oldData;
97
- const TByte* oldData_end;
98
- std::vector<TOldCover> covers; //选出的覆盖线.
99
- std::vector<TByte> newDataDiff; //集中储存newData中没有被覆盖线覆盖住的字节数据.
100
- std::vector<TByte> newDataSubDiff; //newData中的每个数值减去对应的cover线条的oldData数值和newDataDiff的数值.
101
- };
102
-
103
-
104
- //查找相等的字符串长度.
105
- static TInt getEqualLength(const TByte* x,const TByte* x_end,
106
- const TByte* y,const TByte* y_end){
107
- const TInt xLen=(TInt)(x_end-x);
108
- const TInt yLen=(TInt)(y_end-y);
109
- const TInt maxEqLen=(xLen<yLen)?xLen:yLen;
110
- for (TInt i=0; i<maxEqLen; ++i) {
111
- if (x[i]!=y[i])
112
- return i;
113
- }
114
- return maxEqLen;
115
- }
116
-
117
- //得到最长的一个匹配长度和其位置.
118
- static TInt getBestMatch(TInt* out_pos,const TSuffixString& sstring,
119
- const TByte* newData,const TByte* newData_end){
120
- TInt sai=sstring.lower_bound(newData,newData_end);
121
-
122
- const TByte* src_begin=sstring.src_begin();
123
- const TByte* src_end=sstring.src_end();
124
- TInt bestLength=-1;
125
- TInt bestOldPos=-1;
126
- for (TInt i=sai-1; i<=sai; ++i) {
127
- if ((i<0)||(i>=(src_end-src_begin))) continue;
128
- TInt curOldPos=sstring.SA(i);
129
- TInt curLength=getEqualLength(newData,newData_end,src_begin+curOldPos,src_end);
130
- if (curLength>bestLength){
131
- bestLength=curLength;
132
- bestOldPos=curOldPos;
133
- }
134
- }
135
- *out_pos=bestOldPos;
136
- return bestLength;
137
- }
138
-
139
-
140
- //粗略估算覆盖线的控制数据成本;
141
- inline static TInt getCoverCtrlCost(const TOldCover& cover,const TOldCover& lastCover){
142
- static const int kUnLinkOtherScore=0;//0--2
143
- return _getIntCost<TInt,TUInt>((TInt)(cover.oldPos-lastCover.oldPos))
144
- + _getUIntCost((TUInt)cover.length)
145
- + _getUIntCost((TUInt)(cover.newPos-lastCover.newPos)) + kUnLinkOtherScore;
146
- }
147
-
148
- //粗略估算 区域内当作覆盖时的可能存储成本.
149
- inline static bool checkGetCoverCost(TInt* out_cost,TInt newPos,TInt oldPos,
150
- TInt length,const TDiffData& diff){
151
- if ((oldPos<0)||(oldPos+length>(diff.oldData_end-diff.oldData)))
152
- return false;
153
- *out_cost=(TInt)getRegionRleCost(diff.newData+newPos,length,diff.oldData+oldPos);
154
- return true;
155
- }
156
- inline static TInt getCoverCost(const TOldCover& cover,const TDiffData& diff){
157
- return (TInt)getRegionRleCost(diff.newData+cover.newPos,cover.length,diff.oldData+cover.oldPos);
158
- }
159
-
160
- //尝试延长lastCover来完全代替matchCover;
161
- static bool tryLinkExtend(TOldCover& lastCover,const TOldCover& matchCover,const TDiffData& diff){
162
- if (lastCover.length<=0) return false;
163
- const TInt linkSpaceLength=(matchCover.newPos-(lastCover.newPos+lastCover.length));
164
- if ((linkSpaceLength>kMaxLinkSpaceLength)||(matchCover.newPos==0))
165
- return false;
166
- if (lastCover.isCollinear(matchCover)){//已经共线;
167
- lastCover.Link(matchCover);
168
- return true;
169
- }
170
- TInt linkOldPos=lastCover.oldPos+lastCover.length+linkSpaceLength;
171
- TInt matchCost=getCoverCtrlCost(matchCover,lastCover);
172
- TInt lastLinkCost;
173
- if (!checkGetCoverCost(&lastLinkCost,matchCover.newPos,linkOldPos,matchCover.length,diff)) return false;
174
- if (lastLinkCost>matchCost)
175
- return false;
176
- TInt len=lastCover.length+linkSpaceLength+(matchCover.length*2/3);//扩展大部分,剩下的可能扩展留给extend_cover.
177
- len+=getEqualLength(diff.newData+lastCover.newPos+len,diff.newData_end,
178
- diff.oldData+lastCover.oldPos+len,diff.oldData_end);
179
- while ((len>0) && (diff.newData[lastCover.newPos+len-1]
180
- !=diff.oldData[lastCover.oldPos+len-1])) {
181
- --len;
182
- }
183
- lastCover.length=len;
184
- return true;
185
- }
186
-
187
- //尝试设置lastCover为matchCover所在直线的延长线,实现共线(增加合并可能等);
188
- static void tryCollinear(TOldCover& lastCover,const TOldCover& matchCover,const TDiffData& diff){
189
- if (lastCover.length<=0) return;
190
- if (lastCover.isCollinear(matchCover)) return; //已经共线;
191
- TInt linkOldPos=matchCover.oldPos-(matchCover.newPos-lastCover.newPos);
192
- TInt lastCost=getCoverCost(lastCover,diff);
193
- TInt matchLinkCost;
194
- if (!checkGetCoverCost(&matchLinkCost,lastCover.newPos,linkOldPos,lastCover.length,diff)) return;
195
- if (lastCost>=matchLinkCost)
196
- lastCover.oldPos=linkOldPos;
197
- }
198
-
199
- //寻找合适的覆盖线.
200
- static void search_cover(TDiffData& diff,const TSuffixString& sstring){
201
- if (sstring.SASize()<=0) return;
202
- static const int kMinMatchScore = 2; //最小搜寻覆盖收益.
203
- const TInt maxSearchNewPos=(diff.newData_end-diff.newData)-kMinMatchScore;
204
- TInt newPos=0;
205
- TOldCover lastCover(0,0,0);
206
- while (newPos<=maxSearchNewPos) {
207
- TInt matchOldPos=0;
208
- TInt matchEqLength=getBestMatch(&matchOldPos,sstring,diff.newData+newPos,diff.newData_end);
209
- TOldCover matchCover(matchOldPos,newPos,matchEqLength);
210
- if (matchEqLength-getCoverCtrlCost(matchCover,lastCover)<kMinMatchScore){
211
- ++newPos;//下一个需要匹配的字符串(逐位置匹配速度会比较慢).
212
- continue;
213
- }//else matched
214
-
215
- if (tryLinkExtend(lastCover,matchCover,diff)){//use link
216
- if (diff.covers.empty())
217
- diff.covers.push_back(lastCover);
218
- else
219
- diff.covers.back()=lastCover;
220
- }else{ //use match
221
- if (!diff.covers.empty())//尝试共线;
222
- tryCollinear(diff.covers.back(),matchCover,diff);
223
- diff.covers.push_back(matchCover);
224
- }
225
- lastCover=diff.covers.back();
226
- newPos=std::max(newPos+1,lastCover.newPos+lastCover.length);//选出的cover不允许重叠,这可能不是最优策略;
227
- }
228
- }
229
-
230
- //选择合适的覆盖线,去掉不合适的.
231
- static void select_cover(TDiffData& diff,int kMinSingleMatchScore){
232
- std::vector<TOldCover>& covers=diff.covers;
233
- TCompressDetect nocover_detect;
234
- TCompressDetect cover_detect;
235
-
236
- TOldCover lastCover(0,0,0);
237
- const TInt coverSize_old=(TInt)covers.size();
238
- TInt insertIndex=0;
239
- for (TInt i=0;i<coverSize_old;++i){
240
- if (covers[i].oldPos<0) continue;//处理已经del的.
241
- bool isNeedSave=false;
242
- if (!isNeedSave){//向前合并可能.
243
- if ((insertIndex>0)&&(covers[insertIndex-1].isCanLink(covers[i])))
244
- isNeedSave=true;
245
- }
246
- if (i+1<coverSize_old){//查询向后合并可能link
247
- for (TInt j=i+1;j<coverSize_old; ++j) {
248
- if (!covers[i].isCanLink(covers[j])) break;
249
- covers[i].Link(covers[j]);
250
- covers[j].oldPos=-1;//del
251
- }
252
- }
253
- if (!isNeedSave){//单覆盖是否保留.
254
- TInt noCoverCost=nocover_detect.cost(diff.newData+covers[i].newPos,covers[i].length);
255
- TInt coverCost=cover_detect.cost(diff.newData+covers[i].newPos,covers[i].length,
256
- diff.oldData+covers[i].oldPos);
257
- TInt coverSorce=noCoverCost-coverCost-getCoverCtrlCost(covers[i],lastCover);
258
- isNeedSave=(coverSorce>=kMinSingleMatchScore);
259
- }
260
-
261
- if (isNeedSave){
262
- if ((insertIndex>0)&&(covers[insertIndex-1].isCanLink(covers[i]))){//link合并.
263
- covers[insertIndex-1].Link(covers[i]);
264
- cover_detect.add_chars(diff.newData+lastCover.newPos+lastCover.length,
265
- covers[insertIndex-1].length-lastCover.length,
266
- diff.oldData+lastCover.oldPos+lastCover.length);
267
- }else{
268
- covers[insertIndex++]=covers[i];
269
- nocover_detect.add_chars(diff.newData+lastCover.newPos+lastCover.length,
270
- covers[i].newPos-(lastCover.newPos+lastCover.length));
271
- cover_detect.add_chars(diff.newData+covers[i].newPos,covers[i].length,
272
- diff.oldData+covers[i].oldPos);
273
- }
274
- lastCover=covers[insertIndex-1];
275
- }
276
- }
277
- covers.resize(insertIndex);
278
- }
279
-
280
- typedef size_t TFixedFloatSmooth; //定点数.
281
- static const TFixedFloatSmooth kFixedFloatSmooth_base=1024;//定点数小数点位置.
282
-
283
- //得到可以扩展位置的长度.
284
- static TInt getCanExtendLength(TInt oldPos,TInt newPos,int inc,TInt newPos_min,TInt lastNewEnd,
285
- const TDiffData& diff,const TFixedFloatSmooth kExtendMinSameRatio){
286
- static const unsigned int kSmoothLength=4;
287
-
288
- TFixedFloatSmooth curBestSameRatio=0;
289
- TInt curBestLength=0;
290
- TUInt curSameCount=0;
291
- const TFixedFloatSmooth kLimitSameCount=(~(TFixedFloatSmooth)0)/kFixedFloatSmooth_base;
292
- for (TUInt length=1; (oldPos>=0)&&(oldPos<(diff.oldData_end-diff.oldData))
293
- &&(newPos>=newPos_min)&&(newPos<lastNewEnd); ++length,oldPos+=inc,newPos+=inc) {
294
- if (diff.oldData[oldPos]==diff.newData[newPos]){
295
- ++curSameCount;
296
-
297
- if (curSameCount>= kLimitSameCount) break; //for curSameCount*kFixedFloatSmooth_base
298
- const TFixedFloatSmooth curSameRatio= (curSameCount*kFixedFloatSmooth_base)
299
- /(length+kSmoothLength);
300
- if (curSameRatio>=curBestSameRatio){
301
- curBestSameRatio=curSameRatio;
302
- curBestLength=length;
303
- }
304
- }
305
- }
306
- if ((curBestSameRatio<kExtendMinSameRatio)||(curBestLength<=2)){
307
- curBestLength=0;
308
- }
309
-
310
- return curBestLength;
311
- }
312
-
313
- //尝试延长覆盖区域.
314
- static void extend_cover(TDiffData& diff,const TFixedFloatSmooth kExtendMinSameRatio){
315
- std::vector<TOldCover>& covers=diff.covers;
316
-
317
- TInt lastNewEnd=0;
318
- for (TInt i=0; i<(TInt)covers.size(); ++i) {
319
- TInt newPos_next=(TInt)(diff.newData_end-diff.newData);
320
- if (i+1<(TInt)covers.size())
321
- newPos_next=covers[i+1].newPos;
322
- TOldCover& curCover=covers[i];
323
- //向前延伸.
324
- TInt extendLength_front=getCanExtendLength(curCover.oldPos-1,curCover.newPos-1,
325
- -1,lastNewEnd,newPos_next,diff,kExtendMinSameRatio);
326
- if (extendLength_front>0){
327
- curCover.oldPos-=extendLength_front;
328
- curCover.newPos-=extendLength_front;
329
- curCover.length+=extendLength_front;
330
- }
331
- //向后延伸.
332
- TInt extendLength_back=getCanExtendLength(curCover.oldPos+curCover.length,
333
- curCover.newPos+curCover.length,
334
- 1,lastNewEnd,newPos_next,diff,kExtendMinSameRatio);
335
- if (extendLength_back>0){
336
- curCover.length+=extendLength_back;
337
- }
338
-
339
- lastNewEnd=curCover.newPos+curCover.length;
340
- }
341
- }
342
-
343
- template<class _TCover,class _TInt>
344
- static void assert_cover_safe(const _TCover& cover,_TInt lastNewEnd,_TInt newSize,_TInt oldSize){
345
- check(cover.length>0);
346
- check(cover.newPos>=lastNewEnd);
347
- check(cover.newPos<newSize);
348
- check(cover.newPos+cover.length>0);
349
- check(cover.newPos+cover.length<=newSize);
350
- check(cover.oldPos>=0);
351
- check(cover.oldPos<oldSize);
352
- check(cover.oldPos+cover.length>0);
353
- check(cover.oldPos+cover.length<=oldSize);
354
- }
355
-
356
- //用覆盖线得到差异数据.
357
- static void sub_cover(TDiffData& diff){
358
- std::vector<TOldCover>& covers=diff.covers;
359
- const TByte* newData=diff.newData;
360
- const TByte* oldData=diff.oldData;
361
-
362
- diff.newDataSubDiff.resize(0);
363
- diff.newDataSubDiff.resize(diff.newData_end-diff.newData,0);
364
- TByte* newDataSubDiff=diff.newDataSubDiff.data();
365
- diff.newDataDiff.resize(0);
366
- diff.newDataDiff.reserve((diff.newData_end-diff.newData)>>2);
367
-
368
- TInt lastNewEnd=0;
369
- for (TInt i=0;i<(TInt)covers.size();++i){
370
- assert_cover_safe(covers[i],lastNewEnd,
371
- diff.newData_end-diff.newData,diff.oldData_end-diff.oldData);
372
- const TInt newPos=covers[i].newPos;
373
- if (newPos>lastNewEnd)
374
- pushBack(diff.newDataDiff,newData+lastNewEnd,newData+newPos);
375
- const TInt oldPos=covers[i].oldPos;
376
- const TInt length=covers[i].length;
377
- for (TInt si=0; si<length;++si)
378
- newDataSubDiff[si+newPos]=(newData[si+newPos]-oldData[si+oldPos]);
379
- lastNewEnd=newPos+length;
380
- }
381
- if (lastNewEnd<diff.newData_end-newData)
382
- pushBack(diff.newDataDiff,newData+lastNewEnd,diff.newData_end);
383
- }
384
-
385
- //diff结果序列化输出.
386
- static void serialize_diff(const TDiffData& diff,std::vector<TByte>& out_diff){
387
- const TUInt coverCount=(TUInt)diff.covers.size();
388
- std::vector<TByte> length_buf;
389
- std::vector<TByte> inc_newPos_buf;
390
- std::vector<TByte> inc_oldPos_buf;
391
- {
392
- TInt oldPosBack=0;
393
- TInt lastNewEnd=0;
394
- for (TUInt i=0; i<coverCount; ++i) {
395
- packUInt(length_buf, (TUInt)diff.covers[i].length);
396
- assert(diff.covers[i].newPos>=lastNewEnd);
397
- packUInt(inc_newPos_buf,(TUInt)(diff.covers[i].newPos-lastNewEnd)); //save inc_newPos
398
- if (diff.covers[i].oldPos>=oldPosBack){ //save inc_oldPos
399
- packUIntWithTag(inc_oldPos_buf,(TUInt)(diff.covers[i].oldPos-oldPosBack), 0, 1);
400
- }else{
401
- packUIntWithTag(inc_oldPos_buf,(TUInt)(oldPosBack-diff.covers[i].oldPos), 1, 1);//sub safe
402
- }
403
- oldPosBack=diff.covers[i].oldPos;
404
- lastNewEnd=diff.covers[i].newPos+diff.covers[i].length;
405
- }
406
- }
407
-
408
- packUInt(out_diff, (TUInt)coverCount);
409
- packUInt(out_diff, (TUInt)length_buf.size());
410
- packUInt(out_diff, (TUInt)inc_newPos_buf.size());
411
- packUInt(out_diff, (TUInt)inc_oldPos_buf.size());
412
- packUInt(out_diff, (TUInt)diff.newDataDiff.size());
413
- pushBack(out_diff,length_buf);
414
- pushBack(out_diff,inc_newPos_buf);
415
- pushBack(out_diff,inc_oldPos_buf);
416
- pushBack(out_diff,diff.newDataDiff);
417
-
418
- const TByte* newDataSubDiff=diff.newDataSubDiff.data();
419
- bytesRLE_save(out_diff,newDataSubDiff,
420
- newDataSubDiff+diff.newDataSubDiff.size(),kRle_bestSize);
421
- }
422
-
423
-
424
- static void do_compress(std::vector<TByte>& out_code,const std::vector<TByte>& data,
425
- const hdiff_TCompress* compressPlugin,bool isMustCompress=false){
426
- out_code.clear();
427
- if (!compressPlugin) return;
428
- if (data.empty()) return;
429
- hpatch_StreamPos_t maxCodeSize=compressPlugin->maxCompressedSize(data.size());
430
- if ((maxCodeSize<=data.size())||(maxCodeSize!=(size_t)maxCodeSize)) return; //error
431
- out_code.resize((size_t)maxCodeSize);
432
- const TByte* data0=&data[0];
433
- TByte* out_code0=&out_code[0];
434
- size_t codeSize=hdiff_compress_mem(compressPlugin,out_code0,out_code0+out_code.size(),
435
- data0,data0+data.size());
436
- if ((codeSize>0)&&(isMustCompress||(codeSize<data.size())))
437
- out_code.resize(codeSize); //ok
438
- else
439
- out_code.clear();//error or cancel
440
- }
441
- inline static void pushCompressCode(std::vector<TByte>& out_diff,
442
- const std::vector<TByte>& compress_code,
443
- const std::vector<TByte>& data){
444
- if (compress_code.empty())
445
- pushBack(out_diff,data);
446
- else
447
- pushBack(out_diff,compress_code);
448
- }
449
-
450
- template<class T>
451
- static void _outType(std::vector<TByte>& out_data,T* compressPlugin,const char* versionType=kHDiffVersionType){
452
- //type version
453
- pushCStr(out_data,versionType);
454
- pushCStr(out_data,"&");
455
- {//compressType
456
- const char* compressType="";
457
- if (compressPlugin)
458
- compressType=compressPlugin->compressType();
459
- size_t compressTypeLen=strlen(compressType);
460
- check(compressTypeLen<=hpatch_kMaxPluginTypeLength);
461
- check(0==strchr(compressType,'&'));
462
- pushCStr(out_data,compressType);
463
- }
464
- const TByte _cstrEndTag='\0';//c string end tag
465
- pushBack(out_data,&_cstrEndTag,(&_cstrEndTag)+1);
466
- }
467
-
468
- static void serialize_compressed_diff(const TDiffData& diff,std::vector<TByte>& out_diff,
469
- const hdiff_TCompress* compressPlugin){
470
- const TUInt coverCount=(TUInt)diff.covers.size();
471
- std::vector<TByte> cover_buf;
472
- {
473
- TInt lastOldEnd=0;
474
- TInt lastNewEnd=0;
475
- for (TUInt i=0; i<coverCount; ++i) {
476
- if (diff.covers[i].oldPos>=lastOldEnd){ //save inc_oldPos
477
- packUIntWithTag(cover_buf,(TUInt)(diff.covers[i].oldPos-lastOldEnd), 0, 1);
478
- }else{
479
- packUIntWithTag(cover_buf,(TUInt)(lastOldEnd-diff.covers[i].oldPos), 1, 1);//sub safe
480
- }
481
- assert(diff.covers[i].newPos>=lastNewEnd);
482
- packUInt(cover_buf,(TUInt)(diff.covers[i].newPos-lastNewEnd)); //save inc_newPos
483
- packUInt(cover_buf,(TUInt)diff.covers[i].length);
484
- lastOldEnd=diff.covers[i].oldPos+diff.covers[i].length;//! +length
485
- lastNewEnd=diff.covers[i].newPos+diff.covers[i].length;
486
- }
487
- }
488
-
489
- std::vector<TByte> rle_ctrlBuf;
490
- std::vector<TByte> rle_codeBuf;
491
- const TByte* newDataSubDiff=diff.newDataSubDiff.data();
492
- bytesRLE_save(rle_ctrlBuf,rle_codeBuf,newDataSubDiff,
493
- newDataSubDiff+diff.newDataSubDiff.size(),kRle_bestSize);
494
-
495
- std::vector<TByte> compress_cover_buf;
496
- std::vector<TByte> compress_rle_ctrlBuf;
497
- std::vector<TByte> compress_rle_codeBuf;
498
- std::vector<TByte> compress_newDataDiff;
499
- do_compress(compress_cover_buf,cover_buf,compressPlugin);
500
- do_compress(compress_rle_ctrlBuf,rle_ctrlBuf,compressPlugin);
501
- do_compress(compress_rle_codeBuf,rle_codeBuf,compressPlugin);
502
- do_compress(compress_newDataDiff,diff.newDataDiff,compressPlugin);
503
-
504
- _outType(out_diff,compressPlugin);
505
- const TUInt newDataSize=(TUInt)(diff.newData_end-diff.newData);
506
- const TUInt oldDataSize=(TUInt)(diff.oldData_end-diff.oldData);
507
- packUInt(out_diff, newDataSize);
508
- packUInt(out_diff, oldDataSize);
509
- packUInt(out_diff, coverCount);
510
- packUInt(out_diff, (TUInt)cover_buf.size());
511
- packUInt(out_diff, (TUInt)compress_cover_buf.size());
512
- packUInt(out_diff, (TUInt)rle_ctrlBuf.size());
513
- packUInt(out_diff, (TUInt)compress_rle_ctrlBuf.size());
514
- packUInt(out_diff, (TUInt)rle_codeBuf.size());
515
- packUInt(out_diff, (TUInt)compress_rle_codeBuf.size());
516
- packUInt(out_diff, (TUInt)diff.newDataDiff.size());
517
- packUInt(out_diff, (TUInt)compress_newDataDiff.size());
518
-
519
- pushCompressCode(out_diff,compress_cover_buf,cover_buf);
520
- pushCompressCode(out_diff,compress_rle_ctrlBuf,rle_ctrlBuf);
521
- pushCompressCode(out_diff,compress_rle_codeBuf,rle_codeBuf);
522
- pushCompressCode(out_diff,compress_newDataDiff,diff.newDataDiff);
523
- }
524
-
525
- static void search_cover_by_stream(TDiffData& diff,size_t kMatchBlockSize,bool isSkipSameRange){
526
- hdiff_TStreamInput oldData;
527
- mem_as_hStreamInput(&oldData,diff.oldData,diff.oldData_end);
528
- hdiff_TStreamInput newData;
529
- mem_as_hStreamInput(&newData,diff.newData,diff.newData_end);
530
- TCovers covers(oldData.streamSize,newData.streamSize);
531
- getCovers_by_stream(&newData,&oldData,kMatchBlockSize,isSkipSameRange,covers);
532
-
533
- size_t coverCount=covers.coverCount();
534
- diff.covers.resize(coverCount);
535
- TOldCover* outCover=diff.covers.data();
536
- for (size_t i=0;i<coverCount;++i,++outCover){
537
- TCover cover;
538
- covers.covers(i,&cover);
539
- outCover->oldPos=(TInt)cover.oldPos;
540
- outCover->newPos=(TInt)cover.newPos;
541
- outCover->length=(TInt)cover.length;
542
- }
543
- }
544
-
545
- static void get_diff(const TByte* newData,const TByte* newData_end,
546
- const TByte* oldData,const TByte* oldData_end,
547
- TDiffData& out_diff,int kMinSingleMatchScore,
548
- const TSuffixString* sstring=0, bool isDoSubCover=true,
549
- bool _is_search_cover_by_stream=false){
550
- assert(newData<=newData_end);
551
- assert(oldData<=oldData_end);
552
- TDiffData& diff=out_diff;
553
- diff.newData=newData;
554
- diff.newData_end=newData_end;
555
- diff.oldData=oldData;
556
- diff.oldData_end=oldData_end;
557
-
558
- if (_is_search_cover_by_stream){
559
- search_cover_by_stream(diff,8,true);
560
- }else{
561
- TSuffixString _sstring_default(0,0);
562
- if (sstring==0){
563
- _sstring_default.resetSuffixString(oldData,oldData_end);
564
- sstring=&_sstring_default;
565
- }
566
- search_cover(diff,*sstring);
567
- sstring=0;
568
- _sstring_default.clear();
569
- }
570
-
571
- TFixedFloatSmooth kExtendMinSameRatio=kMinSingleMatchScore*36+254;
572
- if (kExtendMinSameRatio<200) kExtendMinSameRatio=200;
573
- if (kExtendMinSameRatio>800) kExtendMinSameRatio=800;
574
-
575
- extend_cover(diff,kExtendMinSameRatio);//先尝试扩展.
576
- select_cover(diff,kMinSingleMatchScore);
577
- extend_cover(diff,kExtendMinSameRatio);//select_cover会删除一些覆盖线,所以重新扩展.
578
- if (isDoSubCover) sub_cover(diff);
579
- }
580
-
581
- }//end namespace
582
-
583
-
584
- void create_diff(const TByte* newData,const TByte* newData_end,
585
- const TByte* oldData,const TByte* oldData_end,
586
- std::vector<TByte>& out_diff,
587
- int kMinSingleMatchScore){
588
- TDiffData diff;
589
- get_diff(newData,newData_end,oldData,oldData_end,diff,kMinSingleMatchScore);
590
- serialize_diff(diff,out_diff);
591
- }
592
-
593
- bool check_diff(const TByte* newData,const TByte* newData_end,
594
- const TByte* oldData,const TByte* oldData_end,
595
- const TByte* diff,const TByte* diff_end){
596
- TAutoMem updateNewData(newData_end-newData);
597
- TByte* updateNew0=updateNewData.data();
598
- if (!patch(updateNew0,updateNew0+updateNewData.size(),
599
- oldData,oldData_end, diff,diff_end)) return false;
600
- return (0==memcmp(updateNew0,newData,updateNewData.size()));
601
- }
602
-
603
- void create_compressed_diff(const TByte* newData,const TByte* newData_end,
604
- const TByte* oldData,const TByte* oldData_end,
605
- std::vector<TByte>& out_diff,
606
- const hdiff_TCompress* compressPlugin,int kMinSingleMatchScore){
607
- TDiffData diff;
608
- get_diff(newData,newData_end,oldData,oldData_end,diff,kMinSingleMatchScore);
609
- serialize_compressed_diff(diff,out_diff,compressPlugin);
610
- }
611
-
612
- bool check_compressed_diff(const TByte* newData,const TByte* newData_end,
613
- const TByte* oldData,const TByte* oldData_end,
614
- const TByte* diff,const TByte* diff_end,
615
- hpatch_TDecompress* decompressPlugin){
616
- TAutoMem updateNewData(newData_end-newData);
617
- TByte* updateNew0=updateNewData.data();
618
- if (!patch_decompress_mem(updateNew0,updateNew0+updateNewData.size(),
619
- oldData,oldData_end, diff,diff_end, decompressPlugin)) return false;
620
- return (0==memcmp(updateNew0,newData,updateNewData.size()));
621
- }
622
-
623
-
624
- static void _flush_step_code(std::vector<TByte> &buf, std::vector<TByte> &step_bufCover, std::vector<TByte> &step_bufData,
625
- hdiff_private::TSangileStreamRLE0 &step_bufRle,size_t& curMaxStepMemSize) {
626
- step_bufRle.finishAppend();
627
- packUInt(buf,step_bufCover.size()); //general saved data
628
- packUInt(buf,step_bufRle.curCodeSize());
629
- size_t bufSize_back=buf.size();
630
- pushBack(buf,step_bufCover); step_bufCover.clear();
631
- pushBack(buf,step_bufRle.fixed_code); step_bufRle.clear();
632
- size_t curStepMemSize=buf.size()-bufSize_back;
633
- pushBack(buf,step_bufData); step_bufData.clear();
634
- if (curMaxStepMemSize<curStepMemSize)
635
- curMaxStepMemSize=curStepMemSize;
636
- }
637
-
638
- static void serialize_single_compressed_diff(TDiffData& diff,std::vector<TByte>& out_diff,
639
- const hdiff_TCompress* compressPlugin,size_t patchStepMemSize){
640
- check(patchStepMemSize>=hpatch_kStreamCacheSize);
641
- std::vector<TOldCover>& covers=diff.covers;
642
- const TUInt newDataSize=(TUInt)(diff.newData_end-diff.newData);
643
- const TUInt oldDataSize=(TUInt)(diff.oldData_end-diff.oldData);
644
- if (covers.empty()){
645
- covers.push_back(TOldCover(0,newDataSize,0));
646
- }else{
647
- const TOldCover& back=covers[covers.size()-1];
648
- if ((TUInt)back.newPos+(TUInt)back.length<newDataSize){
649
- covers.push_back(TOldCover(back.oldPos+back.length,newDataSize,0));
650
- }
651
- }
652
- size_t curMaxStepMemSize=0;
653
- std::vector<TByte> buf;
654
- {
655
- TInt lastOldEnd=0;
656
- TInt lastNewEnd=0;
657
- TUInt curNewDiff=0;
658
- std::vector<TByte> step_bufCover;
659
- TSangileStreamRLE0 step_bufRle;
660
- std::vector<TByte> step_bufData;
661
- TUInt i=0;
662
- while ( i<covers.size()) {
663
- const size_t step_bufCover_backSize=step_bufCover.size();
664
-
665
- const TOldCover& cover=covers[i];
666
- const TByte* subDiff=diff.newDataSubDiff.data()+cover.newPos;
667
- if (cover.oldPos>=lastOldEnd){ //save inc_oldPos
668
- packUIntWithTag(step_bufCover,(TUInt)(cover.oldPos-lastOldEnd), 0, 1);
669
- }else{
670
- packUIntWithTag(step_bufCover,(TUInt)(lastOldEnd-cover.oldPos), 1, 1);//sub safe
671
- }
672
- TInt backNewLen=cover.newPos-lastNewEnd;
673
- assert(backNewLen>=0);
674
- packUInt(step_bufCover,(TUInt)backNewLen); //save inc_newPos
675
- packUInt(step_bufCover,cover.length);
676
-
677
- const TUInt curMaxNeedSize = step_bufCover.size() + step_bufRle.maxCodeSize(subDiff,subDiff+cover.length);
678
- if (curMaxNeedSize<=patchStepMemSize){ //append
679
- step_bufRle.append(subDiff,subDiff+cover.length);
680
- if (backNewLen>0){
681
- const TByte* newDataDiff=diff.newDataDiff.data()+curNewDiff;
682
- pushBack(step_bufData,newDataDiff,newDataDiff+backNewLen);
683
- curNewDiff+=backNewLen;
684
- }
685
-
686
- //next i
687
- lastOldEnd=cover.oldPos+cover.length;//! +length
688
- lastNewEnd=cover.newPos+cover.length;
689
- ++i;
690
- }else{
691
- if (step_bufCover_backSize+step_bufRle.curCodeSize()>=(patchStepMemSize/2)){//flush step
692
- step_bufCover.resize(step_bufCover_backSize);
693
- _flush_step_code(buf,step_bufCover,step_bufData,step_bufRle,curMaxStepMemSize);
694
- continue; // old i!
695
- }else{ //clip one cover to two cover
696
- TOldCover& cover_l=covers[i];
697
- TUInt clen=cover_l.length;
698
- while (1) {
699
- clen=clen*3/4;
700
- check(clen>0); // stepMemSize error
701
- const TUInt _curMaxNeedSize = step_bufCover.size() + step_bufRle.maxCodeSize(subDiff,subDiff+clen);
702
- if (_curMaxNeedSize<=patchStepMemSize)
703
- break;
704
- }
705
- TOldCover cover_r=cover_l;
706
- cover_l.length=clen;
707
- cover_r.length-=clen;
708
- cover_r.oldPos+=clen;
709
- cover_r.newPos+=clen;
710
- covers.insert(covers.begin()+(i+1),cover_r);
711
-
712
- step_bufCover.resize(step_bufCover_backSize);
713
- continue; // old i!
714
- }
715
- }
716
- }
717
- check(diff.newDataDiff.size()==curNewDiff);
718
- if (!step_bufCover.empty())
719
- _flush_step_code(buf,step_bufCover,step_bufData,step_bufRle,curMaxStepMemSize);
720
- }
721
- assert(curMaxStepMemSize<=patchStepMemSize);
722
-
723
- std::vector<TByte> compress_buf;
724
- do_compress(compress_buf,buf,compressPlugin);
725
-
726
- _outType(out_diff,compress_buf.empty()?0:compressPlugin,kHDiffSFVersionType);
727
- packUInt(out_diff, newDataSize);
728
- packUInt(out_diff, oldDataSize);
729
- packUInt(out_diff, covers.size());
730
- packUInt(out_diff, curMaxStepMemSize);
731
- packUInt(out_diff, (TUInt)buf.size());
732
- packUInt(out_diff, (TUInt)compress_buf.size());
733
-
734
- pushCompressCode(out_diff,compress_buf,buf);
735
- }
736
-
737
- void create_single_compressed_diff(const TByte* newData,const TByte* newData_end,
738
- const TByte* oldData,const TByte* oldData_end,
739
- std::vector<unsigned char>& out_diff,ICoverLinesListener* listener,const hdiff_TCompress* compressPlugin,
740
- int kMinSingleMatchScore,size_t patchStepMemSize,bool _is_search_cover_by_stream){
741
- TDiffData diff;
742
- get_diff(newData,newData_end,oldData,oldData_end,diff,kMinSingleMatchScore,0,false,_is_search_cover_by_stream);
743
- if (listener){
744
- std::vector<hpatch_TCover> _covers(diff.covers.size());
745
- for (size_t i=0; i<diff.covers.size(); ++i) {
746
- _covers[i].oldPos=diff.covers[i].oldPos;
747
- _covers[i].newPos=diff.covers[i].newPos;
748
- _covers[i].length=diff.covers[i].length;
749
- }
750
- hpatch_StreamPos_t newDataSize=(size_t)(diff.newData_end-diff.newData);
751
- hpatch_StreamPos_t oldDataSize=(size_t)(diff.oldData_end-diff.oldData);
752
- size_t coverCount=_covers.size();
753
- listener->coverLines(listener,_covers.data(),&coverCount,&newDataSize,&oldDataSize);
754
- assert(coverCount<=_covers.size());
755
- diff.covers.resize(coverCount);
756
- diff.newData_end=diff.newData+newDataSize;
757
- diff.oldData_end=diff.oldData+oldDataSize;
758
- for (size_t i=0; i<diff.covers.size(); ++i){
759
- diff.covers[i].oldPos=(TInt)_covers[i].oldPos;
760
- diff.covers[i].newPos=(TInt)_covers[i].newPos;
761
- diff.covers[i].length=(TInt)_covers[i].length;
762
- }
763
- }
764
- sub_cover(diff);
765
- serialize_single_compressed_diff(diff,out_diff,compressPlugin,patchStepMemSize);
766
- }
767
-
768
- static hpatch_BOOL _check_single_onDiffInfo(struct sspatch_listener_t* listener,
769
- const hpatch_singleCompressedDiffInfo* info,
770
- hpatch_TDecompress** out_decompressPlugin,
771
- unsigned char** out_temp_cache,
772
- unsigned char** out_temp_cacheEnd){
773
- size_t memSize=(size_t)(info->stepMemSize+hpatch_kStreamCacheSize*3);
774
- *out_temp_cache=(unsigned char*)malloc(memSize);
775
- *out_temp_cacheEnd=(*out_temp_cache)+memSize;
776
- *out_decompressPlugin=(hpatch_TDecompress*)listener->import;
777
- return hpatch_TRUE;
778
- }
779
- static void _check_single_onPatchFinish(struct sspatch_listener_t* listener,
780
- unsigned char* temp_cache, unsigned char* temp_cacheEnd){
781
- if (temp_cache) free(temp_cache);
782
- }
783
-
784
- bool check_single_compressed_diff(const TByte* newData,const TByte* newData_end,
785
- const TByte* oldData,const TByte* oldData_end,
786
- const TByte* diff,const TByte* diff_end,
787
- hpatch_TDecompress* decompressPlugin){
788
- sspatch_listener_t listener={0};
789
- listener.import=decompressPlugin;
790
- listener.onDiffInfo=_check_single_onDiffInfo;
791
- listener.onPatchFinish=_check_single_onPatchFinish;
792
- TAutoMem updateNewData(newData_end-newData);
793
- TByte* updateNew0=updateNewData.data();
794
- if (!patch_single_stream_by_mem(&listener,updateNew0,updateNew0+updateNewData.size(),
795
- oldData,oldData_end,diff,diff_end)) return false;
796
- return (0==memcmp(updateNew0,newData,updateNewData.size()));
797
- }
798
-
799
-
800
- #define _test(value) { if (!(value)) { fprintf(stderr,"patch check "#value" error!\n"); return hpatch_FALSE; } }
801
-
802
- bool check_compressed_diff_stream(const hpatch_TStreamInput* newData,
803
- const hpatch_TStreamInput* oldData,
804
- const hpatch_TStreamInput* compressed_diff,
805
- hpatch_TDecompress* decompressPlugin){
806
-
807
- struct _TCheckOutNewDataStream:public hpatch_TStreamOutput{
808
- explicit _TCheckOutNewDataStream(const hpatch_TStreamInput* _newData,
809
- TByte* _buf,size_t _bufSize)
810
- :newData(_newData),writedLen(0),buf(_buf),bufSize(_bufSize){
811
- streamImport=this;
812
- streamSize=newData->streamSize;
813
- read_writed=0;
814
- write=_write_check;
815
- }
816
- static hpatch_BOOL _write_check(const hpatch_TStreamOutput* stream,hpatch_StreamPos_t writeToPos,
817
- const TByte* data,const TByte* data_end){
818
- _TCheckOutNewDataStream* self=(_TCheckOutNewDataStream*)stream->streamImport;
819
- _test(self->writedLen==writeToPos);
820
- self->writedLen+=(size_t)(data_end-data);
821
- _test(self->writedLen<=self->streamSize);
822
-
823
- hpatch_StreamPos_t readPos=writeToPos;
824
- while (data<data_end) {
825
- size_t readLen=(size_t)(data_end-data);
826
- if (readLen>self->bufSize) readLen=self->bufSize;
827
- _test(self->newData->read(self->newData,readPos,self->buf,self->buf+readLen));
828
- _test(0==memcmp(data,self->buf,readLen));
829
- data+=readLen;
830
- readPos+=readLen;
831
- }
832
- return hpatch_TRUE;
833
- }
834
- bool isWriteFinish()const{ return writedLen==newData->streamSize; }
835
- const hpatch_TStreamInput* newData;
836
- hpatch_StreamPos_t writedLen;
837
- TByte* buf;
838
- size_t bufSize;
839
- };
840
-
841
- const size_t kACacheBufSize=hpatch_kFileIOBufBetterSize;
842
- TAutoMem _cache(kACacheBufSize*8);
843
- _TCheckOutNewDataStream out_newData(newData,_cache.data(),kACacheBufSize);
844
- _test(patch_decompress_with_cache(&out_newData,oldData,compressed_diff,decompressPlugin,
845
- _cache.data()+kACacheBufSize,_cache.data_end()));
846
- _test(out_newData.isWriteFinish());
847
- return true;
848
- }
849
- #undef _test
850
-
851
- //for test
852
- void __hdiff_private__create_compressed_diff(const TByte* newData,const TByte* newData_end,
853
- const TByte* oldData,const TByte* oldData_end,
854
- std::vector<TByte>& out_diff,
855
- const hdiff_TCompress* compressPlugin,int kMinSingleMatchScore,
856
- const TSuffixString* sstring){
857
- TDiffData diff;
858
- get_diff(newData,newData_end,oldData,oldData_end,diff,kMinSingleMatchScore,sstring);
859
- serialize_compressed_diff(diff,out_diff,compressPlugin);
860
- }
861
-
862
-
863
- //======================
864
- #include "private_diff/limit_mem_diff/digest_matcher.h"
865
- #include "private_diff/limit_mem_diff/stream_serialize.h"
866
-
867
- static void getCovers_by_stream(const hpatch_TStreamInput* newData,
868
- const hpatch_TStreamInput* oldData,
869
- size_t kMatchBlockSize,bool kIsSkipSameRange,
870
- TCovers& out_covers){
871
- {
872
- TDigestMatcher matcher(oldData,kMatchBlockSize,kIsSkipSameRange);
873
- matcher.search_cover(newData,&out_covers);
874
- }
875
- {//check cover
876
- TCover cover;
877
- hpatch_StreamPos_t lastNewEnd=0;
878
- size_t coverCount=out_covers.coverCount();
879
- for (size_t i=0;i<coverCount;++i){
880
- out_covers.covers(i,&cover);
881
- assert_cover_safe(cover,lastNewEnd,newData->streamSize,oldData->streamSize);
882
- lastNewEnd=cover.newPos+cover.length;
883
- }
884
- }
885
- //todo: + extend_cover_stream ?
886
- }
887
-
888
- static void stream_serialize(const hpatch_TStreamInput* newData,
889
- hpatch_StreamPos_t oldDataSize,
890
- const hpatch_TStreamOutput* out_diff,
891
- const hdiff_TCompress* compressPlugin,
892
- const TCovers& covers){
893
-
894
- std::vector<TByte> rle_ctrlBuf;
895
- std::vector<TByte> rle_codeBuf;
896
- {//empty rle //todo: suport rle data
897
- if (newData->streamSize>0)
898
- packUIntWithTag(rle_ctrlBuf,newData->streamSize-1,kByteRleType_rle0,kByteRleType_bit);
899
- assert(rle_codeBuf.empty());
900
- }
901
-
902
- TDiffStream outDiff(out_diff);
903
- {//type
904
- std::vector<TByte> out_type;
905
- _outType(out_type,compressPlugin);
906
- outDiff.pushBack(out_type.data(),out_type.size());
907
- }
908
- outDiff.packUInt(newData->streamSize);
909
- outDiff.packUInt(oldDataSize);
910
- outDiff.packUInt(covers.coverCount());
911
- const hpatch_StreamPos_t cover_buf_size=TCoversStream::getDataSize(covers);
912
- outDiff.packUInt(cover_buf_size);
913
- TPlaceholder compress_cover_buf_sizePos=
914
- outDiff.packUInt_pos(compressPlugin?cover_buf_size:0); //compress_cover_buf size
915
- outDiff.packUInt(rle_ctrlBuf.size());//rle_ctrlBuf size
916
- outDiff.packUInt(0);//compress_rle_ctrlBuf size
917
- outDiff.packUInt(rle_codeBuf.size());//rle_codeBuf size
918
- outDiff.packUInt(0);//compress_rle_codeBuf size
919
- const hpatch_StreamPos_t newDataDiff_size=
920
- TNewDataDiffStream::getDataSize(covers,newData->streamSize);
921
- outDiff.packUInt(newDataDiff_size);
922
- TPlaceholder compress_newDataDiff_sizePos=
923
- outDiff.packUInt_pos(compressPlugin?newDataDiff_size:0); //compress_newDataDiff size
924
-
925
- {//save covers
926
- TCoversStream cover_buf(covers,cover_buf_size);
927
- outDiff.pushStream(&cover_buf,compressPlugin,compress_cover_buf_sizePos);
928
- }
929
- {//rle
930
- outDiff.pushBack(rle_ctrlBuf.data(),rle_ctrlBuf.size());
931
- outDiff.pushBack(rle_codeBuf.data(),rle_codeBuf.size());
932
- }
933
- {//save newDataDiff
934
- TNewDataDiffStream newDataDiff(covers,newData,newDataDiff_size);
935
- outDiff.pushStream(&newDataDiff,compressPlugin,compress_newDataDiff_sizePos);
936
- }
937
- }
938
-
939
- void create_compressed_diff_stream(const hpatch_TStreamInput* newData,
940
- const hpatch_TStreamInput* oldData,
941
- const hpatch_TStreamOutput* out_diff,
942
- const hdiff_TCompress* compressPlugin,size_t kMatchBlockSize){
943
- const bool isSkipSameRange=(compressPlugin!=0);
944
- TCovers covers(oldData->streamSize,newData->streamSize);
945
- getCovers_by_stream(newData,oldData,kMatchBlockSize,isSkipSameRange,covers);
946
- stream_serialize(newData,oldData->streamSize,out_diff,compressPlugin,covers);
947
- }
948
-
949
-
950
- void resave_compressed_diff(const hpatch_TStreamInput* in_diff,
951
- hpatch_TDecompress* decompressPlugin,
952
- const hpatch_TStreamOutput* out_diff,
953
- const hdiff_TCompress* compressPlugin){
954
- _THDiffzHead head;
955
- hpatch_compressedDiffInfo diffInfo;
956
- assert(in_diff!=0);
957
- assert(in_diff->read!=0);
958
- assert(out_diff!=0);
959
- assert(out_diff->write!=0);
960
-
961
- {//read head
962
- checki(read_diffz_head(&diffInfo,&head,in_diff),
963
- "resave_compressed_diff() read_diffz_head() error!");
964
- checki((decompressPlugin!=0)||(diffInfo.compressedCount<=0),
965
- "resave_compressed_diff() decompressPlugin null error!");
966
- if ((decompressPlugin)&&(diffInfo.compressedCount>0)){
967
- checki(decompressPlugin->is_can_open(diffInfo.compressType),
968
- "resave_compressed_diff() decompressPlugin cannot open compressed data error!");
969
- }
970
- }
971
-
972
- TDiffStream outDiff(out_diff);
973
- {//type
974
- std::vector<TByte> out_type;
975
- _outType(out_type,compressPlugin);
976
- outDiff.pushBack(out_type.data(),out_type.size());
977
- }
978
- {//copy other
979
- TStreamClip clip(in_diff,head.typesEndPos,head.compressSizeBeginPos);
980
- outDiff.pushStream(&clip);
981
- }
982
- outDiff.packUInt(head.cover_buf_size);
983
- TPlaceholder compress_cover_buf_sizePos=
984
- outDiff.packUInt_pos(compressPlugin?head.cover_buf_size:0);//compress_cover_buf size
985
- outDiff.packUInt(head.rle_ctrlBuf_size);//rle_ctrlBuf size
986
- TPlaceholder compress_rle_ctrlBuf_sizePos=
987
- outDiff.packUInt_pos(compressPlugin?head.rle_ctrlBuf_size:0);//compress_rle_ctrlBuf size
988
- outDiff.packUInt(head.rle_codeBuf_size);//rle_codeBuf size
989
- TPlaceholder compress_rle_codeBuf_sizePos=
990
- outDiff.packUInt_pos(compressPlugin?head.rle_codeBuf_size:0);//compress_rle_codeBuf size
991
- outDiff.packUInt(head.newDataDiff_size);
992
- TPlaceholder compress_newDataDiff_sizePos=
993
- outDiff.packUInt_pos(compressPlugin?head.newDataDiff_size:0);//compress_newDataDiff size
994
-
995
- {//save covers
996
- TStreamClip clip(in_diff,head.headEndPos,head.coverEndPos,
997
- (head.compress_cover_buf_size>0)?decompressPlugin:0,head.cover_buf_size);
998
- outDiff.pushStream(&clip,compressPlugin,compress_cover_buf_sizePos);
999
- }
1000
- hpatch_StreamPos_t diffPos0=head.coverEndPos;
1001
- {//save rle ctrl
1002
- bool isCompressed=(head.compress_rle_ctrlBuf_size>0);
1003
- hpatch_StreamPos_t bufSize=isCompressed?head.compress_rle_ctrlBuf_size:head.rle_ctrlBuf_size;
1004
- TStreamClip clip(in_diff,diffPos0,diffPos0+bufSize,
1005
- isCompressed?decompressPlugin:0,head.rle_ctrlBuf_size);
1006
- outDiff.pushStream(&clip,compressPlugin,compress_rle_ctrlBuf_sizePos);
1007
- diffPos0+=bufSize;
1008
- }
1009
- {//save rle code
1010
- bool isCompressed=(head.compress_rle_codeBuf_size>0);
1011
- hpatch_StreamPos_t bufSize=isCompressed?head.compress_rle_codeBuf_size:head.rle_codeBuf_size;
1012
- TStreamClip clip(in_diff,diffPos0,diffPos0+bufSize,
1013
- isCompressed?decompressPlugin:0,head.rle_codeBuf_size);
1014
- outDiff.pushStream(&clip,compressPlugin,compress_rle_codeBuf_sizePos);
1015
- diffPos0+=bufSize;
1016
- }
1017
- {//save newDataDiff
1018
- bool isCompressed=(head.compress_newDataDiff_size>0);
1019
- hpatch_StreamPos_t bufSize=isCompressed?head.compress_newDataDiff_size:head.newDataDiff_size;
1020
- TStreamClip clip(in_diff,diffPos0,diffPos0+bufSize,
1021
- isCompressed?decompressPlugin:0,head.newDataDiff_size);
1022
- outDiff.pushStream(&clip,compressPlugin,compress_newDataDiff_sizePos);
1023
- diffPos0+=bufSize;
1024
- }
1025
- }