7zip-native 0.0.0-stage → 0.0.1

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 (1313) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -2
  3. package/THIRD_PARTY_NOTICES.md +23 -0
  4. package/bench/args.mts +69 -0
  5. package/bench/benchmark.mts +102 -0
  6. package/bench/compare.mts +546 -0
  7. package/bench/concurrency.mts +196 -0
  8. package/binding.gyp +51 -0
  9. package/dist/index.cjs +433 -0
  10. package/dist/index.d.cts +59 -0
  11. package/dist/index.d.mts +59 -0
  12. package/dist/index.d.ts +59 -0
  13. package/dist/index.mjs +429 -0
  14. package/docs/architecture.md +112 -0
  15. package/examples/basic.mts +19 -0
  16. package/native/addon.cpp +2154 -0
  17. package/package.json +85 -5
  18. package/prebuilds/linux-x64/7z.so +0 -0
  19. package/prebuilds/linux-x64/7zip_native.node +0 -0
  20. package/vendor/7zip/.gitattributes +2 -0
  21. package/vendor/7zip/Asm/arm/7zCrcOpt.asm +100 -0
  22. package/vendor/7zip/Asm/arm64/7zAsm.S +187 -0
  23. package/vendor/7zip/Asm/arm64/LzmaDecOpt.S +1487 -0
  24. package/vendor/7zip/Asm/x86/7zAsm.asm +341 -0
  25. package/vendor/7zip/Asm/x86/7zCrcOpt.asm +258 -0
  26. package/vendor/7zip/Asm/x86/AesOpt.asm +742 -0
  27. package/vendor/7zip/Asm/x86/LzFindOpt.asm +540 -0
  28. package/vendor/7zip/Asm/x86/LzmaDecOpt.asm +1339 -0
  29. package/vendor/7zip/Asm/x86/Sha1Opt.asm +263 -0
  30. package/vendor/7zip/Asm/x86/Sha256Opt.asm +275 -0
  31. package/vendor/7zip/Asm/x86/Sort.asm +860 -0
  32. package/vendor/7zip/Asm/x86/XzCrc64Opt.asm +523 -0
  33. package/vendor/7zip/C/7z.h +204 -0
  34. package/vendor/7zip/C/7zAlloc.c +89 -0
  35. package/vendor/7zip/C/7zAlloc.h +19 -0
  36. package/vendor/7zip/C/7zArcIn.c +1701 -0
  37. package/vendor/7zip/C/7zBuf.c +36 -0
  38. package/vendor/7zip/C/7zBuf.h +35 -0
  39. package/vendor/7zip/C/7zBuf2.c +52 -0
  40. package/vendor/7zip/C/7zCrc.c +420 -0
  41. package/vendor/7zip/C/7zCrc.h +28 -0
  42. package/vendor/7zip/C/7zCrcOpt.c +199 -0
  43. package/vendor/7zip/C/7zDec.c +672 -0
  44. package/vendor/7zip/C/7zFile.c +443 -0
  45. package/vendor/7zip/C/7zFile.h +91 -0
  46. package/vendor/7zip/C/7zStream.c +199 -0
  47. package/vendor/7zip/C/7zTypes.h +600 -0
  48. package/vendor/7zip/C/7zVersion.h +27 -0
  49. package/vendor/7zip/C/7zVersion.rc +55 -0
  50. package/vendor/7zip/C/7zWindows.h +107 -0
  51. package/vendor/7zip/C/7zip_gcc_c.mak +366 -0
  52. package/vendor/7zip/C/Aes.c +429 -0
  53. package/vendor/7zip/C/Aes.h +60 -0
  54. package/vendor/7zip/C/AesOpt.c +1002 -0
  55. package/vendor/7zip/C/Alloc.c +774 -0
  56. package/vendor/7zip/C/Alloc.h +76 -0
  57. package/vendor/7zip/C/Asm_c.mak +12 -0
  58. package/vendor/7zip/C/Bcj2.c +290 -0
  59. package/vendor/7zip/C/Bcj2.h +332 -0
  60. package/vendor/7zip/C/Bcj2Enc.c +509 -0
  61. package/vendor/7zip/C/Blake2.h +105 -0
  62. package/vendor/7zip/C/Blake2s.c +2672 -0
  63. package/vendor/7zip/C/Bra.c +709 -0
  64. package/vendor/7zip/C/Bra.h +105 -0
  65. package/vendor/7zip/C/Bra86.c +187 -0
  66. package/vendor/7zip/C/BraIA64.c +14 -0
  67. package/vendor/7zip/C/BwtSort.c +630 -0
  68. package/vendor/7zip/C/BwtSort.h +27 -0
  69. package/vendor/7zip/C/Compiler.h +287 -0
  70. package/vendor/7zip/C/CpuArch.c +970 -0
  71. package/vendor/7zip/C/CpuArch.h +719 -0
  72. package/vendor/7zip/C/Delta.c +169 -0
  73. package/vendor/7zip/C/Delta.h +19 -0
  74. package/vendor/7zip/C/DllSecur.c +99 -0
  75. package/vendor/7zip/C/DllSecur.h +20 -0
  76. package/vendor/7zip/C/HuffEnc.c +361 -0
  77. package/vendor/7zip/C/HuffEnc.h +23 -0
  78. package/vendor/7zip/C/LzFind.c +1746 -0
  79. package/vendor/7zip/C/LzFind.h +160 -0
  80. package/vendor/7zip/C/LzFindMt.c +1422 -0
  81. package/vendor/7zip/C/LzFindMt.h +114 -0
  82. package/vendor/7zip/C/LzFindOpt.c +578 -0
  83. package/vendor/7zip/C/LzHash.h +34 -0
  84. package/vendor/7zip/C/Lzma2Dec.c +493 -0
  85. package/vendor/7zip/C/Lzma2Dec.h +121 -0
  86. package/vendor/7zip/C/Lzma2DecMt.c +1095 -0
  87. package/vendor/7zip/C/Lzma2DecMt.h +81 -0
  88. package/vendor/7zip/C/Lzma2Enc.c +799 -0
  89. package/vendor/7zip/C/Lzma2Enc.h +58 -0
  90. package/vendor/7zip/C/Lzma86.h +111 -0
  91. package/vendor/7zip/C/Lzma86Dec.c +53 -0
  92. package/vendor/7zip/C/Lzma86Enc.c +103 -0
  93. package/vendor/7zip/C/LzmaDec.c +1367 -0
  94. package/vendor/7zip/C/LzmaDec.h +237 -0
  95. package/vendor/7zip/C/LzmaEnc.c +3154 -0
  96. package/vendor/7zip/C/LzmaEnc.h +85 -0
  97. package/vendor/7zip/C/LzmaLib.c +42 -0
  98. package/vendor/7zip/C/LzmaLib.h +138 -0
  99. package/vendor/7zip/C/Md5.c +206 -0
  100. package/vendor/7zip/C/Md5.h +34 -0
  101. package/vendor/7zip/C/MtCoder.c +604 -0
  102. package/vendor/7zip/C/MtCoder.h +144 -0
  103. package/vendor/7zip/C/MtDec.c +1124 -0
  104. package/vendor/7zip/C/MtDec.h +202 -0
  105. package/vendor/7zip/C/Ppmd.h +169 -0
  106. package/vendor/7zip/C/Ppmd7.c +1131 -0
  107. package/vendor/7zip/C/Ppmd7.h +181 -0
  108. package/vendor/7zip/C/Ppmd7Dec.c +312 -0
  109. package/vendor/7zip/C/Ppmd7Enc.c +340 -0
  110. package/vendor/7zip/C/Ppmd7aDec.c +295 -0
  111. package/vendor/7zip/C/Ppmd8.c +1574 -0
  112. package/vendor/7zip/C/Ppmd8.h +181 -0
  113. package/vendor/7zip/C/Ppmd8Dec.c +295 -0
  114. package/vendor/7zip/C/Ppmd8Enc.c +337 -0
  115. package/vendor/7zip/C/Precomp.h +127 -0
  116. package/vendor/7zip/C/RotateDefs.h +50 -0
  117. package/vendor/7zip/C/Sha1.c +441 -0
  118. package/vendor/7zip/C/Sha1.h +86 -0
  119. package/vendor/7zip/C/Sha1Opt.c +424 -0
  120. package/vendor/7zip/C/Sha256.c +492 -0
  121. package/vendor/7zip/C/Sha256.h +86 -0
  122. package/vendor/7zip/C/Sha256Opt.c +451 -0
  123. package/vendor/7zip/C/Sha3.c +359 -0
  124. package/vendor/7zip/C/Sha3.h +36 -0
  125. package/vendor/7zip/C/Sha512.c +711 -0
  126. package/vendor/7zip/C/Sha512.h +86 -0
  127. package/vendor/7zip/C/Sha512Opt.c +395 -0
  128. package/vendor/7zip/C/Sort.c +268 -0
  129. package/vendor/7zip/C/Sort.h +15 -0
  130. package/vendor/7zip/C/SwapBytes.c +835 -0
  131. package/vendor/7zip/C/SwapBytes.h +17 -0
  132. package/vendor/7zip/C/Threads.c +826 -0
  133. package/vendor/7zip/C/Threads.h +260 -0
  134. package/vendor/7zip/C/Util/7z/7z.dsp +249 -0
  135. package/vendor/7zip/C/Util/7z/7z.dsw +29 -0
  136. package/vendor/7zip/C/Util/7z/7zMain.c +1210 -0
  137. package/vendor/7zip/C/Util/7z/Precomp.c +4 -0
  138. package/vendor/7zip/C/Util/7z/Precomp.h +13 -0
  139. package/vendor/7zip/C/Util/7z/makefile +44 -0
  140. package/vendor/7zip/C/Util/7z/makefile.gcc +32 -0
  141. package/vendor/7zip/C/Util/7zipInstall/7zip.ico +0 -0
  142. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.c +1699 -0
  143. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.dsp +248 -0
  144. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.dsw +29 -0
  145. package/vendor/7zip/C/Util/7zipInstall/7zipInstall.manifest +18 -0
  146. package/vendor/7zip/C/Util/7zipInstall/Precomp.c +4 -0
  147. package/vendor/7zip/C/Util/7zipInstall/Precomp.h +13 -0
  148. package/vendor/7zip/C/Util/7zipInstall/makefile +47 -0
  149. package/vendor/7zip/C/Util/7zipInstall/resource.h +9 -0
  150. package/vendor/7zip/C/Util/7zipInstall/resource.rc +48 -0
  151. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.c +1234 -0
  152. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.dsp +132 -0
  153. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.dsw +29 -0
  154. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.ico +0 -0
  155. package/vendor/7zip/C/Util/7zipUninstall/7zipUninstall.manifest +18 -0
  156. package/vendor/7zip/C/Util/7zipUninstall/Precomp.c +4 -0
  157. package/vendor/7zip/C/Util/7zipUninstall/Precomp.h +13 -0
  158. package/vendor/7zip/C/Util/7zipUninstall/makefile +18 -0
  159. package/vendor/7zip/C/Util/7zipUninstall/resource.h +9 -0
  160. package/vendor/7zip/C/Util/7zipUninstall/resource.rc +48 -0
  161. package/vendor/7zip/C/Util/Lzma/LzmaUtil.c +313 -0
  162. package/vendor/7zip/C/Util/Lzma/LzmaUtil.dsp +192 -0
  163. package/vendor/7zip/C/Util/Lzma/LzmaUtil.dsw +29 -0
  164. package/vendor/7zip/C/Util/Lzma/Precomp.h +13 -0
  165. package/vendor/7zip/C/Util/Lzma/makefile +30 -0
  166. package/vendor/7zip/C/Util/Lzma/makefile.gcc +21 -0
  167. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.def +4 -0
  168. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.dsp +206 -0
  169. package/vendor/7zip/C/Util/LzmaLib/LzmaLib.dsw +29 -0
  170. package/vendor/7zip/C/Util/LzmaLib/LzmaLibExports.c +15 -0
  171. package/vendor/7zip/C/Util/LzmaLib/Precomp.c +4 -0
  172. package/vendor/7zip/C/Util/LzmaLib/Precomp.h +13 -0
  173. package/vendor/7zip/C/Util/LzmaLib/makefile +59 -0
  174. package/vendor/7zip/C/Util/LzmaLib/resource.rc +3 -0
  175. package/vendor/7zip/C/Util/SfxSetup/Precomp.c +4 -0
  176. package/vendor/7zip/C/Util/SfxSetup/Precomp.h +13 -0
  177. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.c +657 -0
  178. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.dsp +231 -0
  179. package/vendor/7zip/C/Util/SfxSetup/SfxSetup.dsw +29 -0
  180. package/vendor/7zip/C/Util/SfxSetup/makefile +44 -0
  181. package/vendor/7zip/C/Util/SfxSetup/makefile_con +40 -0
  182. package/vendor/7zip/C/Util/SfxSetup/resource.rc +5 -0
  183. package/vendor/7zip/C/Util/SfxSetup/setup.ico +0 -0
  184. package/vendor/7zip/C/Xxh64.c +389 -0
  185. package/vendor/7zip/C/Xxh64.h +50 -0
  186. package/vendor/7zip/C/Xz.c +92 -0
  187. package/vendor/7zip/C/Xz.h +542 -0
  188. package/vendor/7zip/C/XzCrc64.c +140 -0
  189. package/vendor/7zip/C/XzCrc64.h +26 -0
  190. package/vendor/7zip/C/XzCrc64Opt.c +261 -0
  191. package/vendor/7zip/C/XzDec.c +2865 -0
  192. package/vendor/7zip/C/XzEnc.c +1374 -0
  193. package/vendor/7zip/C/XzEnc.h +62 -0
  194. package/vendor/7zip/C/XzIn.c +385 -0
  195. package/vendor/7zip/C/ZstdDec.c +4067 -0
  196. package/vendor/7zip/C/ZstdDec.h +173 -0
  197. package/vendor/7zip/C/var_clang.mak +11 -0
  198. package/vendor/7zip/C/var_clang_arm64.mak +12 -0
  199. package/vendor/7zip/C/var_clang_x64.mak +11 -0
  200. package/vendor/7zip/C/var_clang_x86.mak +11 -0
  201. package/vendor/7zip/C/var_gcc.mak +12 -0
  202. package/vendor/7zip/C/var_gcc_arm64.mak +12 -0
  203. package/vendor/7zip/C/var_gcc_x64.mak +10 -0
  204. package/vendor/7zip/C/var_gcc_x86.mak +10 -0
  205. package/vendor/7zip/C/var_mac_arm64.mak +13 -0
  206. package/vendor/7zip/C/var_mac_x64.mak +13 -0
  207. package/vendor/7zip/C/warn_clang.mak +1 -0
  208. package/vendor/7zip/C/warn_clang_mac.mak +1 -0
  209. package/vendor/7zip/C/warn_gcc.mak +51 -0
  210. package/vendor/7zip/CPP/7zip/7zip.mak +240 -0
  211. package/vendor/7zip/CPP/7zip/7zip_gcc.mak +1376 -0
  212. package/vendor/7zip/CPP/7zip/Aes.mak +10 -0
  213. package/vendor/7zip/CPP/7zip/Archive/7z/7z.dsp +650 -0
  214. package/vendor/7zip/CPP/7zip/Archive/7z/7z.dsw +29 -0
  215. package/vendor/7zip/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
  216. package/vendor/7zip/CPP/7zip/Archive/7z/7zCompressionMode.h +92 -0
  217. package/vendor/7zip/CPP/7zip/Archive/7z/7zDecode.cpp +599 -0
  218. package/vendor/7zip/CPP/7zip/Archive/7z/7zDecode.h +73 -0
  219. package/vendor/7zip/CPP/7zip/Archive/7z/7zEncode.cpp +702 -0
  220. package/vendor/7zip/CPP/7zip/Archive/7z/7zEncode.h +95 -0
  221. package/vendor/7zip/CPP/7zip/Archive/7z/7zExtract.cpp +444 -0
  222. package/vendor/7zip/CPP/7zip/Archive/7z/7zFolderInStream.cpp +264 -0
  223. package/vendor/7zip/CPP/7zip/Archive/7z/7zFolderInStream.h +101 -0
  224. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandler.cpp +800 -0
  225. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandler.h +178 -0
  226. package/vendor/7zip/CPP/7zip/Archive/7z/7zHandlerOut.cpp +1162 -0
  227. package/vendor/7zip/CPP/7zip/Archive/7z/7zHeader.cpp +19 -0
  228. package/vendor/7zip/CPP/7zip/Archive/7z/7zHeader.h +156 -0
  229. package/vendor/7zip/CPP/7zip/Archive/7z/7zIn.cpp +1815 -0
  230. package/vendor/7zip/CPP/7zip/Archive/7z/7zIn.h +454 -0
  231. package/vendor/7zip/CPP/7zip/Archive/7z/7zItem.h +207 -0
  232. package/vendor/7zip/CPP/7zip/Archive/7z/7zOut.cpp +1026 -0
  233. package/vendor/7zip/CPP/7zip/Archive/7z/7zOut.h +346 -0
  234. package/vendor/7zip/CPP/7zip/Archive/7z/7zProperties.cpp +182 -0
  235. package/vendor/7zip/CPP/7zip/Archive/7z/7zProperties.h +26 -0
  236. package/vendor/7zip/CPP/7zip/Archive/7z/7zRegister.cpp +27 -0
  237. package/vendor/7zip/CPP/7zip/Archive/7z/7zSpecStream.cpp +31 -0
  238. package/vendor/7zip/CPP/7zip/Archive/7z/7zSpecStream.h +49 -0
  239. package/vendor/7zip/CPP/7zip/Archive/7z/7zUpdate.cpp +3087 -0
  240. package/vendor/7zip/CPP/7zip/Archive/7z/7zUpdate.h +167 -0
  241. package/vendor/7zip/CPP/7zip/Archive/7z/StdAfx.cpp +3 -0
  242. package/vendor/7zip/CPP/7zip/Archive/7z/StdAfx.h +11 -0
  243. package/vendor/7zip/CPP/7zip/Archive/7z/makefile +81 -0
  244. package/vendor/7zip/CPP/7zip/Archive/7z/resource.rc +11 -0
  245. package/vendor/7zip/CPP/7zip/Archive/ApfsHandler.cpp +4470 -0
  246. package/vendor/7zip/CPP/7zip/Archive/ApmHandler.cpp +420 -0
  247. package/vendor/7zip/CPP/7zip/Archive/ArHandler.cpp +844 -0
  248. package/vendor/7zip/CPP/7zip/Archive/Archive.def +15 -0
  249. package/vendor/7zip/CPP/7zip/Archive/Archive2.def +22 -0
  250. package/vendor/7zip/CPP/7zip/Archive/ArchiveExports.cpp +158 -0
  251. package/vendor/7zip/CPP/7zip/Archive/ArjHandler.cpp +977 -0
  252. package/vendor/7zip/CPP/7zip/Archive/AvbHandler.cpp +616 -0
  253. package/vendor/7zip/CPP/7zip/Archive/Base64Handler.cpp +488 -0
  254. package/vendor/7zip/CPP/7zip/Archive/Bz2Handler.cpp +482 -0
  255. package/vendor/7zip/CPP/7zip/Archive/Cab/CabBlockInStream.cpp +122 -0
  256. package/vendor/7zip/CPP/7zip/Archive/Cab/CabBlockInStream.h +28 -0
  257. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHandler.cpp +1270 -0
  258. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHandler.h +29 -0
  259. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHeader.cpp +15 -0
  260. package/vendor/7zip/CPP/7zip/Archive/Cab/CabHeader.h +41 -0
  261. package/vendor/7zip/CPP/7zip/Archive/Cab/CabIn.cpp +485 -0
  262. package/vendor/7zip/CPP/7zip/Archive/Cab/CabIn.h +169 -0
  263. package/vendor/7zip/CPP/7zip/Archive/Cab/CabItem.h +69 -0
  264. package/vendor/7zip/CPP/7zip/Archive/Cab/CabRegister.cpp +19 -0
  265. package/vendor/7zip/CPP/7zip/Archive/Cab/StdAfx.h +11 -0
  266. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmHandler.cpp +790 -0
  267. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmHandler.h +27 -0
  268. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmIn.cpp +1026 -0
  269. package/vendor/7zip/CPP/7zip/Archive/Chm/ChmIn.h +282 -0
  270. package/vendor/7zip/CPP/7zip/Archive/Chm/StdAfx.h +11 -0
  271. package/vendor/7zip/CPP/7zip/Archive/ComHandler.cpp +1449 -0
  272. package/vendor/7zip/CPP/7zip/Archive/Common/CoderMixer2.cpp +1144 -0
  273. package/vendor/7zip/CPP/7zip/Archive/Common/CoderMixer2.h +447 -0
  274. package/vendor/7zip/CPP/7zip/Archive/Common/DummyOutStream.cpp +17 -0
  275. package/vendor/7zip/CPP/7zip/Archive/Common/DummyOutStream.h +23 -0
  276. package/vendor/7zip/CPP/7zip/Archive/Common/FindSignature.cpp +90 -0
  277. package/vendor/7zip/CPP/7zip/Archive/Common/FindSignature.h +12 -0
  278. package/vendor/7zip/CPP/7zip/Archive/Common/HandlerOut.cpp +315 -0
  279. package/vendor/7zip/CPP/7zip/Archive/Common/HandlerOut.h +169 -0
  280. package/vendor/7zip/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +57 -0
  281. package/vendor/7zip/CPP/7zip/Archive/Common/InStreamWithCRC.h +64 -0
  282. package/vendor/7zip/CPP/7zip/Archive/Common/ItemNameUtils.cpp +140 -0
  283. package/vendor/7zip/CPP/7zip/Archive/Common/ItemNameUtils.h +33 -0
  284. package/vendor/7zip/CPP/7zip/Archive/Common/MultiStream.cpp +193 -0
  285. package/vendor/7zip/CPP/7zip/Archive/Common/MultiStream.h +86 -0
  286. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
  287. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.h +35 -0
  288. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.cpp +29 -0
  289. package/vendor/7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.h +61 -0
  290. package/vendor/7zip/CPP/7zip/Archive/Common/ParseProperties.cpp +3 -0
  291. package/vendor/7zip/CPP/7zip/Archive/Common/ParseProperties.h +6 -0
  292. package/vendor/7zip/CPP/7zip/Archive/Common/StdAfx.h +11 -0
  293. package/vendor/7zip/CPP/7zip/Archive/CpioHandler.cpp +1110 -0
  294. package/vendor/7zip/CPP/7zip/Archive/CramfsHandler.cpp +784 -0
  295. package/vendor/7zip/CPP/7zip/Archive/DeflateProps.cpp +3 -0
  296. package/vendor/7zip/CPP/7zip/Archive/DeflateProps.h +6 -0
  297. package/vendor/7zip/CPP/7zip/Archive/DllExports.cpp +96 -0
  298. package/vendor/7zip/CPP/7zip/Archive/DllExports2.cpp +184 -0
  299. package/vendor/7zip/CPP/7zip/Archive/DmgHandler.cpp +2336 -0
  300. package/vendor/7zip/CPP/7zip/Archive/ElfHandler.cpp +1284 -0
  301. package/vendor/7zip/CPP/7zip/Archive/ExtHandler.cpp +2860 -0
  302. package/vendor/7zip/CPP/7zip/Archive/FatHandler.cpp +1325 -0
  303. package/vendor/7zip/CPP/7zip/Archive/FlvHandler.cpp +521 -0
  304. package/vendor/7zip/CPP/7zip/Archive/GptHandler.cpp +473 -0
  305. package/vendor/7zip/CPP/7zip/Archive/GzHandler.cpp +1200 -0
  306. package/vendor/7zip/CPP/7zip/Archive/HandlerCont.cpp +320 -0
  307. package/vendor/7zip/CPP/7zip/Archive/HandlerCont.h +134 -0
  308. package/vendor/7zip/CPP/7zip/Archive/HfsHandler.cpp +2631 -0
  309. package/vendor/7zip/CPP/7zip/Archive/HfsHandler.h +87 -0
  310. package/vendor/7zip/CPP/7zip/Archive/IArchive.h +755 -0
  311. package/vendor/7zip/CPP/7zip/Archive/Icons/7z.ico +0 -0
  312. package/vendor/7zip/CPP/7zip/Archive/Icons/apfs.ico +0 -0
  313. package/vendor/7zip/CPP/7zip/Archive/Icons/arj.ico +0 -0
  314. package/vendor/7zip/CPP/7zip/Archive/Icons/bz2.ico +0 -0
  315. package/vendor/7zip/CPP/7zip/Archive/Icons/cab.ico +0 -0
  316. package/vendor/7zip/CPP/7zip/Archive/Icons/cpio.ico +0 -0
  317. package/vendor/7zip/CPP/7zip/Archive/Icons/deb.ico +0 -0
  318. package/vendor/7zip/CPP/7zip/Archive/Icons/dmg.ico +0 -0
  319. package/vendor/7zip/CPP/7zip/Archive/Icons/fat.ico +0 -0
  320. package/vendor/7zip/CPP/7zip/Archive/Icons/gz.ico +0 -0
  321. package/vendor/7zip/CPP/7zip/Archive/Icons/hfs.ico +0 -0
  322. package/vendor/7zip/CPP/7zip/Archive/Icons/iso.ico +0 -0
  323. package/vendor/7zip/CPP/7zip/Archive/Icons/lzh.ico +0 -0
  324. package/vendor/7zip/CPP/7zip/Archive/Icons/lzma.ico +0 -0
  325. package/vendor/7zip/CPP/7zip/Archive/Icons/ntfs.ico +0 -0
  326. package/vendor/7zip/CPP/7zip/Archive/Icons/rar.ico +0 -0
  327. package/vendor/7zip/CPP/7zip/Archive/Icons/rpm.ico +0 -0
  328. package/vendor/7zip/CPP/7zip/Archive/Icons/split.ico +0 -0
  329. package/vendor/7zip/CPP/7zip/Archive/Icons/squashfs.ico +0 -0
  330. package/vendor/7zip/CPP/7zip/Archive/Icons/tar.ico +0 -0
  331. package/vendor/7zip/CPP/7zip/Archive/Icons/vhd.ico +0 -0
  332. package/vendor/7zip/CPP/7zip/Archive/Icons/wim.ico +0 -0
  333. package/vendor/7zip/CPP/7zip/Archive/Icons/xar.ico +0 -0
  334. package/vendor/7zip/CPP/7zip/Archive/Icons/xz.ico +0 -0
  335. package/vendor/7zip/CPP/7zip/Archive/Icons/z.ico +0 -0
  336. package/vendor/7zip/CPP/7zip/Archive/Icons/zip.ico +0 -0
  337. package/vendor/7zip/CPP/7zip/Archive/Icons/zst.ico +0 -0
  338. package/vendor/7zip/CPP/7zip/Archive/IhexHandler.cpp +493 -0
  339. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHandler.cpp +498 -0
  340. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHandler.h +24 -0
  341. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHeader.cpp +12 -0
  342. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoHeader.h +64 -0
  343. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoIn.cpp +801 -0
  344. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoIn.h +328 -0
  345. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoItem.h +316 -0
  346. package/vendor/7zip/CPP/7zip/Archive/Iso/IsoRegister.cpp +21 -0
  347. package/vendor/7zip/CPP/7zip/Archive/Iso/StdAfx.h +11 -0
  348. package/vendor/7zip/CPP/7zip/Archive/LpHandler.cpp +1172 -0
  349. package/vendor/7zip/CPP/7zip/Archive/LvmHandler.cpp +1108 -0
  350. package/vendor/7zip/CPP/7zip/Archive/LzhHandler.cpp +719 -0
  351. package/vendor/7zip/CPP/7zip/Archive/LzmaHandler.cpp +606 -0
  352. package/vendor/7zip/CPP/7zip/Archive/MachoHandler.cpp +1075 -0
  353. package/vendor/7zip/CPP/7zip/Archive/MbrHandler.cpp +648 -0
  354. package/vendor/7zip/CPP/7zip/Archive/MslzHandler.cpp +389 -0
  355. package/vendor/7zip/CPP/7zip/Archive/MubHandler.cpp +248 -0
  356. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisDecode.cpp +295 -0
  357. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisDecode.h +97 -0
  358. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisHandler.cpp +703 -0
  359. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisHandler.h +30 -0
  360. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisIn.cpp +6231 -0
  361. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisIn.h +462 -0
  362. package/vendor/7zip/CPP/7zip/Archive/Nsis/NsisRegister.cpp +20 -0
  363. package/vendor/7zip/CPP/7zip/Archive/Nsis/StdAfx.h +11 -0
  364. package/vendor/7zip/CPP/7zip/Archive/NtfsHandler.cpp +2944 -0
  365. package/vendor/7zip/CPP/7zip/Archive/PeHandler.cpp +3427 -0
  366. package/vendor/7zip/CPP/7zip/Archive/PpmdHandler.cpp +414 -0
  367. package/vendor/7zip/CPP/7zip/Archive/QcowHandler.cpp +713 -0
  368. package/vendor/7zip/CPP/7zip/Archive/Rar/Rar5Handler.cpp +3483 -0
  369. package/vendor/7zip/CPP/7zip/Archive/Rar/Rar5Handler.h +527 -0
  370. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHandler.cpp +1775 -0
  371. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHandler.h +115 -0
  372. package/vendor/7zip/CPP/7zip/Archive/Rar/RarHeader.h +209 -0
  373. package/vendor/7zip/CPP/7zip/Archive/Rar/RarItem.h +97 -0
  374. package/vendor/7zip/CPP/7zip/Archive/Rar/RarVol.h +136 -0
  375. package/vendor/7zip/CPP/7zip/Archive/Rar/StdAfx.cpp +3 -0
  376. package/vendor/7zip/CPP/7zip/Archive/Rar/StdAfx.h +11 -0
  377. package/vendor/7zip/CPP/7zip/Archive/RpmHandler.cpp +775 -0
  378. package/vendor/7zip/CPP/7zip/Archive/SparseHandler.cpp +558 -0
  379. package/vendor/7zip/CPP/7zip/Archive/SplitHandler.cpp +353 -0
  380. package/vendor/7zip/CPP/7zip/Archive/SquashfsHandler.cpp +2373 -0
  381. package/vendor/7zip/CPP/7zip/Archive/StdAfx.h +11 -0
  382. package/vendor/7zip/CPP/7zip/Archive/SwfHandler.cpp +996 -0
  383. package/vendor/7zip/CPP/7zip/Archive/Tar/StdAfx.h +11 -0
  384. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandler.cpp +1105 -0
  385. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandler.h +57 -0
  386. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHandlerOut.cpp +332 -0
  387. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHeader.cpp +99 -0
  388. package/vendor/7zip/CPP/7zip/Archive/Tar/TarHeader.h +90 -0
  389. package/vendor/7zip/CPP/7zip/Archive/Tar/TarIn.cpp +1151 -0
  390. package/vendor/7zip/CPP/7zip/Archive/Tar/TarIn.h +151 -0
  391. package/vendor/7zip/CPP/7zip/Archive/Tar/TarItem.h +365 -0
  392. package/vendor/7zip/CPP/7zip/Archive/Tar/TarOut.cpp +644 -0
  393. package/vendor/7zip/CPP/7zip/Archive/Tar/TarOut.h +53 -0
  394. package/vendor/7zip/CPP/7zip/Archive/Tar/TarRegister.cpp +31 -0
  395. package/vendor/7zip/CPP/7zip/Archive/Tar/TarUpdate.cpp +563 -0
  396. package/vendor/7zip/CPP/7zip/Archive/Tar/TarUpdate.h +74 -0
  397. package/vendor/7zip/CPP/7zip/Archive/Udf/StdAfx.h +11 -0
  398. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfHandler.cpp +427 -0
  399. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfHandler.h +32 -0
  400. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfIn.cpp +1756 -0
  401. package/vendor/7zip/CPP/7zip/Archive/Udf/UdfIn.h +508 -0
  402. package/vendor/7zip/CPP/7zip/Archive/UefiHandler.cpp +1884 -0
  403. package/vendor/7zip/CPP/7zip/Archive/VdiHandler.cpp +433 -0
  404. package/vendor/7zip/CPP/7zip/Archive/VhdHandler.cpp +1106 -0
  405. package/vendor/7zip/CPP/7zip/Archive/VhdxHandler.cpp +2085 -0
  406. package/vendor/7zip/CPP/7zip/Archive/VmdkHandler.cpp +1530 -0
  407. package/vendor/7zip/CPP/7zip/Archive/Wim/StdAfx.h +11 -0
  408. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandler.cpp +1291 -0
  409. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandler.h +117 -0
  410. package/vendor/7zip/CPP/7zip/Archive/Wim/WimHandlerOut.cpp +2008 -0
  411. package/vendor/7zip/CPP/7zip/Archive/Wim/WimIn.cpp +2104 -0
  412. package/vendor/7zip/CPP/7zip/Archive/Wim/WimIn.h +719 -0
  413. package/vendor/7zip/CPP/7zip/Archive/Wim/WimRegister.cpp +29 -0
  414. package/vendor/7zip/CPP/7zip/Archive/XarHandler.cpp +1316 -0
  415. package/vendor/7zip/CPP/7zip/Archive/XzHandler.cpp +1452 -0
  416. package/vendor/7zip/CPP/7zip/Archive/XzHandler.h +11 -0
  417. package/vendor/7zip/CPP/7zip/Archive/ZHandler.cpp +208 -0
  418. package/vendor/7zip/CPP/7zip/Archive/Zip/StdAfx.h +11 -0
  419. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipAddCommon.cpp +484 -0
  420. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipAddCommon.h +76 -0
  421. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipCompressionMode.h +62 -0
  422. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandler.cpp +1679 -0
  423. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandler.h +94 -0
  424. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHandlerOut.cpp +626 -0
  425. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipHeader.h +201 -0
  426. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipIn.cpp +3474 -0
  427. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipIn.h +456 -0
  428. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipItem.cpp +464 -0
  429. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipItem.h +356 -0
  430. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipOut.cpp +428 -0
  431. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipOut.h +103 -0
  432. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipRegister.cpp +38 -0
  433. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipUpdate.cpp +2165 -0
  434. package/vendor/7zip/CPP/7zip/Archive/Zip/ZipUpdate.h +107 -0
  435. package/vendor/7zip/CPP/7zip/Archive/ZstdHandler.cpp +1147 -0
  436. package/vendor/7zip/CPP/7zip/Archive/makefile +23 -0
  437. package/vendor/7zip/CPP/7zip/Asm.mak +12 -0
  438. package/vendor/7zip/CPP/7zip/Bundles/Alone/Alone.dsp +3324 -0
  439. package/vendor/7zip/CPP/7zip/Bundles/Alone/Alone.dsw +29 -0
  440. package/vendor/7zip/CPP/7zip/Bundles/Alone/StdAfx.cpp +3 -0
  441. package/vendor/7zip/CPP/7zip/Bundles/Alone/StdAfx.h +11 -0
  442. package/vendor/7zip/CPP/7zip/Bundles/Alone/makefile +245 -0
  443. package/vendor/7zip/CPP/7zip/Bundles/Alone/makefile.gcc +354 -0
  444. package/vendor/7zip/CPP/7zip/Bundles/Alone/resource.rc +7 -0
  445. package/vendor/7zip/CPP/7zip/Bundles/Alone2/StdAfx.cpp +3 -0
  446. package/vendor/7zip/CPP/7zip/Bundles/Alone2/StdAfx.h +11 -0
  447. package/vendor/7zip/CPP/7zip/Bundles/Alone2/makefile +31 -0
  448. package/vendor/7zip/CPP/7zip/Bundles/Alone2/makefile.gcc +108 -0
  449. package/vendor/7zip/CPP/7zip/Bundles/Alone2/resource.rc +7 -0
  450. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/Alone.dsp +2090 -0
  451. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/Alone.dsw +29 -0
  452. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +3 -0
  453. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/StdAfx.h +11 -0
  454. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/makefile +168 -0
  455. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/makefile.gcc +276 -0
  456. package/vendor/7zip/CPP/7zip/Bundles/Alone7z/resource.rc +7 -0
  457. package/vendor/7zip/CPP/7zip/Bundles/Fm/FM.dsp +2275 -0
  458. package/vendor/7zip/CPP/7zip/Bundles/Fm/FM.dsw +29 -0
  459. package/vendor/7zip/CPP/7zip/Bundles/Fm/StdAfx.cpp +3 -0
  460. package/vendor/7zip/CPP/7zip/Bundles/Fm/StdAfx.h +6 -0
  461. package/vendor/7zip/CPP/7zip/Bundles/Fm/makefile +82 -0
  462. package/vendor/7zip/CPP/7zip/Bundles/Fm/resource.rc +7 -0
  463. package/vendor/7zip/CPP/7zip/Bundles/Format7z/StdAfx.cpp +3 -0
  464. package/vendor/7zip/CPP/7zip/Bundles/Format7z/StdAfx.h +11 -0
  465. package/vendor/7zip/CPP/7zip/Bundles/Format7z/makefile +148 -0
  466. package/vendor/7zip/CPP/7zip/Bundles/Format7z/resource.rc +5 -0
  467. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp +3 -0
  468. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/StdAfx.h +11 -0
  469. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/makefile +116 -0
  470. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtract/resource.rc +5 -0
  471. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +3 -0
  472. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +11 -0
  473. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/makefile +98 -0
  474. package/vendor/7zip/CPP/7zip/Bundles/Format7zExtractR/resource.rc +5 -0
  475. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Arc.mak +310 -0
  476. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Arc_gcc.mak +395 -0
  477. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Format7z.dsp +3486 -0
  478. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/Format7z.dsw +29 -0
  479. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/StdAfx.cpp +3 -0
  480. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/StdAfx.h +11 -0
  481. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/makefile +20 -0
  482. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/makefile.gcc +55 -0
  483. package/vendor/7zip/CPP/7zip/Bundles/Format7zF/resource.rc +39 -0
  484. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +3 -0
  485. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/StdAfx.h +11 -0
  486. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/makefile +121 -0
  487. package/vendor/7zip/CPP/7zip/Bundles/Format7zR/resource.rc +5 -0
  488. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +815 -0
  489. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +540 -0
  490. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +29 -0
  491. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +3 -0
  492. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/StdAfx.h +11 -0
  493. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/makefile +68 -0
  494. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/makefile.gcc +131 -0
  495. package/vendor/7zip/CPP/7zip/Bundles/LzmaCon/resource.rc +3 -0
  496. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  497. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +1017 -0
  498. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +29 -0
  499. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +521 -0
  500. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +3 -0
  501. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/StdAfx.h +11 -0
  502. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/makefile +137 -0
  503. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/makefile.gcc +215 -0
  504. package/vendor/7zip/CPP/7zip/Bundles/SFXCon/resource.rc +9 -0
  505. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +246 -0
  506. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +83 -0
  507. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +135 -0
  508. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +11 -0
  509. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +872 -0
  510. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +29 -0
  511. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +359 -0
  512. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +3 -0
  513. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/StdAfx.h +6 -0
  514. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/makefile +121 -0
  515. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/resource.h +6 -0
  516. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/resource.rc +16 -0
  517. package/vendor/7zip/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  518. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  519. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +1074 -0
  520. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +29 -0
  521. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +268 -0
  522. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +3 -0
  523. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/StdAfx.h +6 -0
  524. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/makefile +159 -0
  525. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/resource.h +1 -0
  526. package/vendor/7zip/CPP/7zip/Bundles/SFXWin/resource.rc +55 -0
  527. package/vendor/7zip/CPP/7zip/Bundles/makefile +19 -0
  528. package/vendor/7zip/CPP/7zip/Common/CWrappers.cpp +358 -0
  529. package/vendor/7zip/CPP/7zip/Common/CWrappers.h +182 -0
  530. package/vendor/7zip/CPP/7zip/Common/CreateCoder.cpp +548 -0
  531. package/vendor/7zip/CPP/7zip/Common/CreateCoder.h +200 -0
  532. package/vendor/7zip/CPP/7zip/Common/FilePathAutoRename.cpp +46 -0
  533. package/vendor/7zip/CPP/7zip/Common/FilePathAutoRename.h +10 -0
  534. package/vendor/7zip/CPP/7zip/Common/FileStreams.cpp +923 -0
  535. package/vendor/7zip/CPP/7zip/Common/FileStreams.h +205 -0
  536. package/vendor/7zip/CPP/7zip/Common/FilterCoder.cpp +582 -0
  537. package/vendor/7zip/CPP/7zip/Common/FilterCoder.h +201 -0
  538. package/vendor/7zip/CPP/7zip/Common/InBuffer.cpp +182 -0
  539. package/vendor/7zip/CPP/7zip/Common/InBuffer.h +121 -0
  540. package/vendor/7zip/CPP/7zip/Common/InOutTempBuffer.cpp +237 -0
  541. package/vendor/7zip/CPP/7zip/Common/InOutTempBuffer.h +45 -0
  542. package/vendor/7zip/CPP/7zip/Common/LimitedStreams.cpp +395 -0
  543. package/vendor/7zip/CPP/7zip/Common/LimitedStreams.h +221 -0
  544. package/vendor/7zip/CPP/7zip/Common/LockedStream.cpp +3 -0
  545. package/vendor/7zip/CPP/7zip/Common/LockedStream.h +6 -0
  546. package/vendor/7zip/CPP/7zip/Common/MemBlocks.cpp +215 -0
  547. package/vendor/7zip/CPP/7zip/Common/MemBlocks.h +72 -0
  548. package/vendor/7zip/CPP/7zip/Common/MethodId.cpp +3 -0
  549. package/vendor/7zip/CPP/7zip/Common/MethodId.h +10 -0
  550. package/vendor/7zip/CPP/7zip/Common/MethodProps.cpp +765 -0
  551. package/vendor/7zip/CPP/7zip/Common/MethodProps.h +348 -0
  552. package/vendor/7zip/CPP/7zip/Common/MultiOutStream.cpp +855 -0
  553. package/vendor/7zip/CPP/7zip/Common/MultiOutStream.h +160 -0
  554. package/vendor/7zip/CPP/7zip/Common/OffsetStream.cpp +37 -0
  555. package/vendor/7zip/CPP/7zip/Common/OffsetStream.h +22 -0
  556. package/vendor/7zip/CPP/7zip/Common/OutBuffer.cpp +111 -0
  557. package/vendor/7zip/CPP/7zip/Common/OutBuffer.h +133 -0
  558. package/vendor/7zip/CPP/7zip/Common/OutMemStream.cpp +158 -0
  559. package/vendor/7zip/CPP/7zip/Common/OutMemStream.h +104 -0
  560. package/vendor/7zip/CPP/7zip/Common/ProgressMt.cpp +53 -0
  561. package/vendor/7zip/CPP/7zip/Common/ProgressMt.h +43 -0
  562. package/vendor/7zip/CPP/7zip/Common/ProgressUtils.cpp +51 -0
  563. package/vendor/7zip/CPP/7zip/Common/ProgressUtils.h +33 -0
  564. package/vendor/7zip/CPP/7zip/Common/PropId.cpp +115 -0
  565. package/vendor/7zip/CPP/7zip/Common/RegisterArc.h +80 -0
  566. package/vendor/7zip/CPP/7zip/Common/RegisterCodec.h +106 -0
  567. package/vendor/7zip/CPP/7zip/Common/StdAfx.h +11 -0
  568. package/vendor/7zip/CPP/7zip/Common/StreamBinder.cpp +151 -0
  569. package/vendor/7zip/CPP/7zip/Common/StreamBinder.h +78 -0
  570. package/vendor/7zip/CPP/7zip/Common/StreamObjects.cpp +290 -0
  571. package/vendor/7zip/CPP/7zip/Common/StreamObjects.h +146 -0
  572. package/vendor/7zip/CPP/7zip/Common/StreamUtils.cpp +101 -0
  573. package/vendor/7zip/CPP/7zip/Common/StreamUtils.h +31 -0
  574. package/vendor/7zip/CPP/7zip/Common/UniqBlocks.cpp +57 -0
  575. package/vendor/7zip/CPP/7zip/Common/UniqBlocks.h +41 -0
  576. package/vendor/7zip/CPP/7zip/Common/VirtThread.cpp +47 -0
  577. package/vendor/7zip/CPP/7zip/Common/VirtThread.h +24 -0
  578. package/vendor/7zip/CPP/7zip/Compress/BZip2Const.h +71 -0
  579. package/vendor/7zip/CPP/7zip/Compress/BZip2Crc.cpp +28 -0
  580. package/vendor/7zip/CPP/7zip/Compress/BZip2Crc.h +31 -0
  581. package/vendor/7zip/CPP/7zip/Compress/BZip2Decoder.cpp +1777 -0
  582. package/vendor/7zip/CPP/7zip/Compress/BZip2Decoder.h +388 -0
  583. package/vendor/7zip/CPP/7zip/Compress/BZip2Encoder.cpp +1116 -0
  584. package/vendor/7zip/CPP/7zip/Compress/BZip2Encoder.h +273 -0
  585. package/vendor/7zip/CPP/7zip/Compress/BZip2Register.cpp +25 -0
  586. package/vendor/7zip/CPP/7zip/Compress/Bcj2Coder.cpp +867 -0
  587. package/vendor/7zip/CPP/7zip/Compress/Bcj2Coder.h +127 -0
  588. package/vendor/7zip/CPP/7zip/Compress/Bcj2Register.cpp +24 -0
  589. package/vendor/7zip/CPP/7zip/Compress/BcjCoder.cpp +24 -0
  590. package/vendor/7zip/CPP/7zip/Compress/BcjCoder.h +37 -0
  591. package/vendor/7zip/CPP/7zip/Compress/BcjRegister.cpp +17 -0
  592. package/vendor/7zip/CPP/7zip/Compress/BitlDecoder.cpp +32 -0
  593. package/vendor/7zip/CPP/7zip/Compress/BitlDecoder.h +225 -0
  594. package/vendor/7zip/CPP/7zip/Compress/BitlEncoder.h +57 -0
  595. package/vendor/7zip/CPP/7zip/Compress/BitmDecoder.h +106 -0
  596. package/vendor/7zip/CPP/7zip/Compress/BitmEncoder.h +90 -0
  597. package/vendor/7zip/CPP/7zip/Compress/BranchMisc.cpp +106 -0
  598. package/vendor/7zip/CPP/7zip/Compress/BranchMisc.h +59 -0
  599. package/vendor/7zip/CPP/7zip/Compress/BranchRegister.cpp +58 -0
  600. package/vendor/7zip/CPP/7zip/Compress/ByteSwap.cpp +91 -0
  601. package/vendor/7zip/CPP/7zip/Compress/Codec.def +7 -0
  602. package/vendor/7zip/CPP/7zip/Compress/CodecExports.cpp +378 -0
  603. package/vendor/7zip/CPP/7zip/Compress/CopyCoder.cpp +153 -0
  604. package/vendor/7zip/CPP/7zip/Compress/CopyCoder.h +34 -0
  605. package/vendor/7zip/CPP/7zip/Compress/CopyRegister.cpp +15 -0
  606. package/vendor/7zip/CPP/7zip/Compress/Deflate64Register.cpp +25 -0
  607. package/vendor/7zip/CPP/7zip/Compress/DeflateConst.h +131 -0
  608. package/vendor/7zip/CPP/7zip/Compress/DeflateDecoder.cpp +566 -0
  609. package/vendor/7zip/CPP/7zip/Compress/DeflateDecoder.h +154 -0
  610. package/vendor/7zip/CPP/7zip/Compress/DeflateEncoder.cpp +1045 -0
  611. package/vendor/7zip/CPP/7zip/Compress/DeflateEncoder.h +203 -0
  612. package/vendor/7zip/CPP/7zip/Compress/DeflateRegister.cpp +25 -0
  613. package/vendor/7zip/CPP/7zip/Compress/DeltaFilter.cpp +126 -0
  614. package/vendor/7zip/CPP/7zip/Compress/DllExports2Compress.cpp +38 -0
  615. package/vendor/7zip/CPP/7zip/Compress/DllExportsCompress.cpp +59 -0
  616. package/vendor/7zip/CPP/7zip/Compress/HuffmanDecoder.h +528 -0
  617. package/vendor/7zip/CPP/7zip/Compress/ImplodeDecoder.cpp +250 -0
  618. package/vendor/7zip/CPP/7zip/Compress/ImplodeDecoder.h +61 -0
  619. package/vendor/7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp +3 -0
  620. package/vendor/7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.h +6 -0
  621. package/vendor/7zip/CPP/7zip/Compress/LzOutWindow.cpp +14 -0
  622. package/vendor/7zip/CPP/7zip/Compress/LzOutWindow.h +102 -0
  623. package/vendor/7zip/CPP/7zip/Compress/LzfseDecoder.cpp +950 -0
  624. package/vendor/7zip/CPP/7zip/Compress/LzfseDecoder.h +63 -0
  625. package/vendor/7zip/CPP/7zip/Compress/LzhDecoder.cpp +220 -0
  626. package/vendor/7zip/CPP/7zip/Compress/LzhDecoder.h +68 -0
  627. package/vendor/7zip/CPP/7zip/Compress/Lzma2Decoder.cpp +267 -0
  628. package/vendor/7zip/CPP/7zip/Compress/Lzma2Decoder.h +87 -0
  629. package/vendor/7zip/CPP/7zip/Compress/Lzma2Encoder.cpp +134 -0
  630. package/vendor/7zip/CPP/7zip/Compress/Lzma2Encoder.h +30 -0
  631. package/vendor/7zip/CPP/7zip/Compress/Lzma2Register.cpp +22 -0
  632. package/vendor/7zip/CPP/7zip/Compress/LzmaDecoder.cpp +350 -0
  633. package/vendor/7zip/CPP/7zip/Compress/LzmaDecoder.h +113 -0
  634. package/vendor/7zip/CPP/7zip/Compress/LzmaEncoder.cpp +374 -0
  635. package/vendor/7zip/CPP/7zip/Compress/LzmaEncoder.h +45 -0
  636. package/vendor/7zip/CPP/7zip/Compress/LzmaRegister.cpp +22 -0
  637. package/vendor/7zip/CPP/7zip/Compress/LzmsDecoder.cpp +619 -0
  638. package/vendor/7zip/CPP/7zip/Compress/LzmsDecoder.h +209 -0
  639. package/vendor/7zip/CPP/7zip/Compress/Lzx.h +61 -0
  640. package/vendor/7zip/CPP/7zip/Compress/LzxDecoder.cpp +1517 -0
  641. package/vendor/7zip/CPP/7zip/Compress/LzxDecoder.h +106 -0
  642. package/vendor/7zip/CPP/7zip/Compress/Mtf8.h +225 -0
  643. package/vendor/7zip/CPP/7zip/Compress/PpmdDecoder.cpp +219 -0
  644. package/vendor/7zip/CPP/7zip/Compress/PpmdDecoder.h +87 -0
  645. package/vendor/7zip/CPP/7zip/Compress/PpmdEncoder.cpp +193 -0
  646. package/vendor/7zip/CPP/7zip/Compress/PpmdEncoder.h +49 -0
  647. package/vendor/7zip/CPP/7zip/Compress/PpmdRegister.cpp +22 -0
  648. package/vendor/7zip/CPP/7zip/Compress/PpmdZip.cpp +309 -0
  649. package/vendor/7zip/CPP/7zip/Compress/PpmdZip.h +78 -0
  650. package/vendor/7zip/CPP/7zip/Compress/QuantumDecoder.cpp +355 -0
  651. package/vendor/7zip/CPP/7zip/Compress/QuantumDecoder.h +60 -0
  652. package/vendor/7zip/CPP/7zip/Compress/Rar1Decoder.cpp +518 -0
  653. package/vendor/7zip/CPP/7zip/Compress/Rar1Decoder.h +70 -0
  654. package/vendor/7zip/CPP/7zip/Compress/Rar2Decoder.cpp +472 -0
  655. package/vendor/7zip/CPP/7zip/Compress/Rar2Decoder.h +111 -0
  656. package/vendor/7zip/CPP/7zip/Compress/Rar3Decoder.cpp +939 -0
  657. package/vendor/7zip/CPP/7zip/Compress/Rar3Decoder.h +283 -0
  658. package/vendor/7zip/CPP/7zip/Compress/Rar3Vm.cpp +1153 -0
  659. package/vendor/7zip/CPP/7zip/Compress/Rar3Vm.h +195 -0
  660. package/vendor/7zip/CPP/7zip/Compress/Rar5Decoder.cpp +2060 -0
  661. package/vendor/7zip/CPP/7zip/Compress/Rar5Decoder.h +132 -0
  662. package/vendor/7zip/CPP/7zip/Compress/RarCodecsRegister.cpp +33 -0
  663. package/vendor/7zip/CPP/7zip/Compress/ShrinkDecoder.cpp +290 -0
  664. package/vendor/7zip/CPP/7zip/Compress/ShrinkDecoder.h +38 -0
  665. package/vendor/7zip/CPP/7zip/Compress/StdAfx.h +11 -0
  666. package/vendor/7zip/CPP/7zip/Compress/XpressDecoder.cpp +399 -0
  667. package/vendor/7zip/CPP/7zip/Compress/XpressDecoder.h +18 -0
  668. package/vendor/7zip/CPP/7zip/Compress/XzDecoder.cpp +151 -0
  669. package/vendor/7zip/CPP/7zip/Compress/XzDecoder.h +86 -0
  670. package/vendor/7zip/CPP/7zip/Compress/XzEncoder.cpp +243 -0
  671. package/vendor/7zip/CPP/7zip/Compress/XzEncoder.h +35 -0
  672. package/vendor/7zip/CPP/7zip/Compress/ZDecoder.cpp +392 -0
  673. package/vendor/7zip/CPP/7zip/Compress/ZDecoder.h +41 -0
  674. package/vendor/7zip/CPP/7zip/Compress/ZlibDecoder.cpp +136 -0
  675. package/vendor/7zip/CPP/7zip/Compress/ZlibDecoder.h +78 -0
  676. package/vendor/7zip/CPP/7zip/Compress/ZlibEncoder.cpp +61 -0
  677. package/vendor/7zip/CPP/7zip/Compress/ZlibEncoder.h +42 -0
  678. package/vendor/7zip/CPP/7zip/Compress/ZstdDecoder.cpp +437 -0
  679. package/vendor/7zip/CPP/7zip/Compress/ZstdDecoder.h +98 -0
  680. package/vendor/7zip/CPP/7zip/Compress/makefile +7 -0
  681. package/vendor/7zip/CPP/7zip/Crc.mak +8 -0
  682. package/vendor/7zip/CPP/7zip/Crc64.mak +8 -0
  683. package/vendor/7zip/CPP/7zip/Crypto/7zAes.cpp +315 -0
  684. package/vendor/7zip/CPP/7zip/Crypto/7zAes.h +130 -0
  685. package/vendor/7zip/CPP/7zip/Crypto/7zAesRegister.cpp +17 -0
  686. package/vendor/7zip/CPP/7zip/Crypto/Codec.def +4 -0
  687. package/vendor/7zip/CPP/7zip/Crypto/HmacSha1.cpp +94 -0
  688. package/vendor/7zip/CPP/7zip/Crypto/HmacSha1.h +31 -0
  689. package/vendor/7zip/CPP/7zip/Crypto/HmacSha256.cpp +53 -0
  690. package/vendor/7zip/CPP/7zip/Crypto/HmacSha256.h +27 -0
  691. package/vendor/7zip/CPP/7zip/Crypto/MyAes.cpp +277 -0
  692. package/vendor/7zip/CPP/7zip/Crypto/MyAes.h +122 -0
  693. package/vendor/7zip/CPP/7zip/Crypto/MyAesReg.cpp +29 -0
  694. package/vendor/7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp +48 -0
  695. package/vendor/7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.h +19 -0
  696. package/vendor/7zip/CPP/7zip/Crypto/RandGen.cpp +242 -0
  697. package/vendor/7zip/CPP/7zip/Crypto/RandGen.h +41 -0
  698. package/vendor/7zip/CPP/7zip/Crypto/Rar20Crypto.cpp +130 -0
  699. package/vendor/7zip/CPP/7zip/Crypto/Rar20Crypto.h +54 -0
  700. package/vendor/7zip/CPP/7zip/Crypto/Rar5Aes.cpp +273 -0
  701. package/vendor/7zip/CPP/7zip/Crypto/Rar5Aes.h +97 -0
  702. package/vendor/7zip/CPP/7zip/Crypto/RarAes.cpp +202 -0
  703. package/vendor/7zip/CPP/7zip/Crypto/RarAes.h +54 -0
  704. package/vendor/7zip/CPP/7zip/Crypto/Sha1Cls.h +37 -0
  705. package/vendor/7zip/CPP/7zip/Crypto/StdAfx.h +11 -0
  706. package/vendor/7zip/CPP/7zip/Crypto/WzAes.cpp +231 -0
  707. package/vendor/7zip/CPP/7zip/Crypto/WzAes.h +161 -0
  708. package/vendor/7zip/CPP/7zip/Crypto/ZipCrypto.cpp +114 -0
  709. package/vendor/7zip/CPP/7zip/Crypto/ZipCrypto.h +80 -0
  710. package/vendor/7zip/CPP/7zip/Crypto/ZipStrong.cpp +265 -0
  711. package/vendor/7zip/CPP/7zip/Crypto/ZipStrong.h +73 -0
  712. package/vendor/7zip/CPP/7zip/GuiCommon.rc +119 -0
  713. package/vendor/7zip/CPP/7zip/Guid.txt +243 -0
  714. package/vendor/7zip/CPP/7zip/ICoder.h +480 -0
  715. package/vendor/7zip/CPP/7zip/IDecl.h +76 -0
  716. package/vendor/7zip/CPP/7zip/IPassword.h +54 -0
  717. package/vendor/7zip/CPP/7zip/IProgress.h +20 -0
  718. package/vendor/7zip/CPP/7zip/IStream.h +210 -0
  719. package/vendor/7zip/CPP/7zip/LzFindOpt.mak +7 -0
  720. package/vendor/7zip/CPP/7zip/LzmaDec.mak +7 -0
  721. package/vendor/7zip/CPP/7zip/LzmaDec_gcc.mak +14 -0
  722. package/vendor/7zip/CPP/7zip/MyVersion.h +2 -0
  723. package/vendor/7zip/CPP/7zip/MyVersionInfo.rc +2 -0
  724. package/vendor/7zip/CPP/7zip/PropID.h +178 -0
  725. package/vendor/7zip/CPP/7zip/Sha1.mak +13 -0
  726. package/vendor/7zip/CPP/7zip/Sha256.mak +13 -0
  727. package/vendor/7zip/CPP/7zip/Sort.mak +6 -0
  728. package/vendor/7zip/CPP/7zip/SubBuild.mak +3 -0
  729. package/vendor/7zip/CPP/7zip/UI/Agent/Agent.cpp +2003 -0
  730. package/vendor/7zip/CPP/7zip/UI/Agent/Agent.h +365 -0
  731. package/vendor/7zip/CPP/7zip/UI/Agent/AgentOut.cpp +776 -0
  732. package/vendor/7zip/CPP/7zip/UI/Agent/AgentProxy.cpp +1098 -0
  733. package/vendor/7zip/CPP/7zip/UI/Agent/AgentProxy.h +198 -0
  734. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolder.cpp +57 -0
  735. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolderOpen.cpp +243 -0
  736. package/vendor/7zip/CPP/7zip/UI/Agent/ArchiveFolderOut.cpp +457 -0
  737. package/vendor/7zip/CPP/7zip/UI/Agent/IFolderArchive.h +123 -0
  738. package/vendor/7zip/CPP/7zip/UI/Agent/StdAfx.h +11 -0
  739. package/vendor/7zip/CPP/7zip/UI/Agent/UpdateCallbackAgent.cpp +208 -0
  740. package/vendor/7zip/CPP/7zip/UI/Agent/UpdateCallbackAgent.h +22 -0
  741. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.cpp +1145 -0
  742. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.dsp +331 -0
  743. package/vendor/7zip/CPP/7zip/UI/Client7z/Client7z.dsw +29 -0
  744. package/vendor/7zip/CPP/7zip/UI/Client7z/StdAfx.cpp +3 -0
  745. package/vendor/7zip/CPP/7zip/UI/Client7z/StdAfx.h +11 -0
  746. package/vendor/7zip/CPP/7zip/UI/Client7z/makefile +29 -0
  747. package/vendor/7zip/CPP/7zip/UI/Client7z/makefile.gcc +72 -0
  748. package/vendor/7zip/CPP/7zip/UI/Client7z/resource.rc +3 -0
  749. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +1913 -0
  750. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveCommandLine.h +170 -0
  751. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +3243 -0
  752. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveExtractCallback.h +640 -0
  753. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveName.cpp +176 -0
  754. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveName.h +16 -0
  755. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +403 -0
  756. package/vendor/7zip/CPP/7zip/UI/Common/ArchiveOpenCallback.h +182 -0
  757. package/vendor/7zip/CPP/7zip/UI/Common/Bench.cpp +5036 -0
  758. package/vendor/7zip/CPP/7zip/UI/Common/Bench.h +121 -0
  759. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall.cpp +343 -0
  760. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall.h +28 -0
  761. package/vendor/7zip/CPP/7zip/UI/Common/CompressCall2.cpp +327 -0
  762. package/vendor/7zip/CPP/7zip/UI/Common/DefaultName.cpp +37 -0
  763. package/vendor/7zip/CPP/7zip/UI/Common/DefaultName.h +11 -0
  764. package/vendor/7zip/CPP/7zip/UI/Common/DirItem.h +407 -0
  765. package/vendor/7zip/CPP/7zip/UI/Common/EnumDirItems.cpp +1637 -0
  766. package/vendor/7zip/CPP/7zip/UI/Common/EnumDirItems.h +38 -0
  767. package/vendor/7zip/CPP/7zip/UI/Common/ExitCode.h +27 -0
  768. package/vendor/7zip/CPP/7zip/UI/Common/Extract.cpp +593 -0
  769. package/vendor/7zip/CPP/7zip/UI/Common/Extract.h +118 -0
  770. package/vendor/7zip/CPP/7zip/UI/Common/ExtractMode.h +44 -0
  771. package/vendor/7zip/CPP/7zip/UI/Common/ExtractingFilePath.cpp +299 -0
  772. package/vendor/7zip/CPP/7zip/UI/Common/ExtractingFilePath.h +31 -0
  773. package/vendor/7zip/CPP/7zip/UI/Common/HashCalc.cpp +2273 -0
  774. package/vendor/7zip/CPP/7zip/UI/Common/HashCalc.h +322 -0
  775. package/vendor/7zip/CPP/7zip/UI/Common/IFileExtractCallback.h +112 -0
  776. package/vendor/7zip/CPP/7zip/UI/Common/LoadCodecs.cpp +1354 -0
  777. package/vendor/7zip/CPP/7zip/UI/Common/LoadCodecs.h +482 -0
  778. package/vendor/7zip/CPP/7zip/UI/Common/OpenArchive.cpp +3690 -0
  779. package/vendor/7zip/CPP/7zip/UI/Common/OpenArchive.h +469 -0
  780. package/vendor/7zip/CPP/7zip/UI/Common/PropIDUtils.cpp +746 -0
  781. package/vendor/7zip/CPP/7zip/UI/Common/PropIDUtils.h +18 -0
  782. package/vendor/7zip/CPP/7zip/UI/Common/Property.h +14 -0
  783. package/vendor/7zip/CPP/7zip/UI/Common/SetProperties.cpp +88 -0
  784. package/vendor/7zip/CPP/7zip/UI/Common/SetProperties.h +10 -0
  785. package/vendor/7zip/CPP/7zip/UI/Common/SortUtils.cpp +25 -0
  786. package/vendor/7zip/CPP/7zip/UI/Common/SortUtils.h +10 -0
  787. package/vendor/7zip/CPP/7zip/UI/Common/StdAfx.h +11 -0
  788. package/vendor/7zip/CPP/7zip/UI/Common/TempFiles.cpp +20 -0
  789. package/vendor/7zip/CPP/7zip/UI/Common/TempFiles.h +19 -0
  790. package/vendor/7zip/CPP/7zip/UI/Common/Update.cpp +1931 -0
  791. package/vendor/7zip/CPP/7zip/UI/Common/Update.h +221 -0
  792. package/vendor/7zip/CPP/7zip/UI/Common/UpdateAction.cpp +64 -0
  793. package/vendor/7zip/CPP/7zip/UI/Common/UpdateAction.h +66 -0
  794. package/vendor/7zip/CPP/7zip/UI/Common/UpdateCallback.cpp +1078 -0
  795. package/vendor/7zip/CPP/7zip/UI/Common/UpdateCallback.h +197 -0
  796. package/vendor/7zip/CPP/7zip/UI/Common/UpdatePair.cpp +303 -0
  797. package/vendor/7zip/CPP/7zip/UI/Common/UpdatePair.h +27 -0
  798. package/vendor/7zip/CPP/7zip/UI/Common/UpdateProduce.cpp +75 -0
  799. package/vendor/7zip/CPP/7zip/UI/Common/UpdateProduce.h +60 -0
  800. package/vendor/7zip/CPP/7zip/UI/Common/WorkDir.cpp +84 -0
  801. package/vendor/7zip/CPP/7zip/UI/Common/WorkDir.h +30 -0
  802. package/vendor/7zip/CPP/7zip/UI/Common/ZipRegistry.cpp +599 -0
  803. package/vendor/7zip/CPP/7zip/UI/Common/ZipRegistry.h +212 -0
  804. package/vendor/7zip/CPP/7zip/UI/Console/BenchCon.cpp +41 -0
  805. package/vendor/7zip/CPP/7zip/UI/Console/BenchCon.h +14 -0
  806. package/vendor/7zip/CPP/7zip/UI/Console/Console.dsp +1052 -0
  807. package/vendor/7zip/CPP/7zip/UI/Console/Console.dsw +29 -0
  808. package/vendor/7zip/CPP/7zip/UI/Console/Console.mak +45 -0
  809. package/vendor/7zip/CPP/7zip/UI/Console/Console.manifest +16 -0
  810. package/vendor/7zip/CPP/7zip/UI/Console/ConsoleClose.cpp +98 -0
  811. package/vendor/7zip/CPP/7zip/UI/Console/ConsoleClose.h +39 -0
  812. package/vendor/7zip/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +954 -0
  813. package/vendor/7zip/CPP/7zip/UI/Console/ExtractCallbackConsole.h +211 -0
  814. package/vendor/7zip/CPP/7zip/UI/Console/HashCon.cpp +426 -0
  815. package/vendor/7zip/CPP/7zip/UI/Console/HashCon.h +58 -0
  816. package/vendor/7zip/CPP/7zip/UI/Console/List.cpp +1417 -0
  817. package/vendor/7zip/CPP/7zip/UI/Console/List.h +42 -0
  818. package/vendor/7zip/CPP/7zip/UI/Console/Main.cpp +1663 -0
  819. package/vendor/7zip/CPP/7zip/UI/Console/MainAr.cpp +235 -0
  820. package/vendor/7zip/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +115 -0
  821. package/vendor/7zip/CPP/7zip/UI/Console/OpenCallbackConsole.h +73 -0
  822. package/vendor/7zip/CPP/7zip/UI/Console/PercentPrinter.cpp +186 -0
  823. package/vendor/7zip/CPP/7zip/UI/Console/PercentPrinter.h +66 -0
  824. package/vendor/7zip/CPP/7zip/UI/Console/StdAfx.cpp +3 -0
  825. package/vendor/7zip/CPP/7zip/UI/Console/StdAfx.h +11 -0
  826. package/vendor/7zip/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +1012 -0
  827. package/vendor/7zip/CPP/7zip/UI/Console/UpdateCallbackConsole.h +148 -0
  828. package/vendor/7zip/CPP/7zip/UI/Console/UserInputUtils.cpp +118 -0
  829. package/vendor/7zip/CPP/7zip/UI/Console/UserInputUtils.h +27 -0
  830. package/vendor/7zip/CPP/7zip/UI/Console/makefile +68 -0
  831. package/vendor/7zip/CPP/7zip/UI/Console/makefile.gcc +184 -0
  832. package/vendor/7zip/CPP/7zip/UI/Console/resource.rc +7 -0
  833. package/vendor/7zip/CPP/7zip/UI/Explorer/7-zip.dll.manifest +1 -0
  834. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenu.cpp +1837 -0
  835. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenu.h +173 -0
  836. package/vendor/7zip/CPP/7zip/UI/Explorer/ContextMenuFlags.h +27 -0
  837. package/vendor/7zip/CPP/7zip/UI/Explorer/DllExportsExplorer.cpp +268 -0
  838. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.def +9 -0
  839. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.dsp +620 -0
  840. package/vendor/7zip/CPP/7zip/UI/Explorer/Explorer.dsw +29 -0
  841. package/vendor/7zip/CPP/7zip/UI/Explorer/MenuLogo.bmp +0 -0
  842. package/vendor/7zip/CPP/7zip/UI/Explorer/MyExplorerCommand.h +217 -0
  843. package/vendor/7zip/CPP/7zip/UI/Explorer/MyMessages.cpp +43 -0
  844. package/vendor/7zip/CPP/7zip/UI/Explorer/MyMessages.h +16 -0
  845. package/vendor/7zip/CPP/7zip/UI/Explorer/RegistryContextMenu.cpp +225 -0
  846. package/vendor/7zip/CPP/7zip/UI/Explorer/RegistryContextMenu.h +13 -0
  847. package/vendor/7zip/CPP/7zip/UI/Explorer/StdAfx.cpp +3 -0
  848. package/vendor/7zip/CPP/7zip/UI/Explorer/StdAfx.h +6 -0
  849. package/vendor/7zip/CPP/7zip/UI/Explorer/makefile +76 -0
  850. package/vendor/7zip/CPP/7zip/UI/Explorer/resource.h +15 -0
  851. package/vendor/7zip/CPP/7zip/UI/Explorer/resource.rc +10 -0
  852. package/vendor/7zip/CPP/7zip/UI/Explorer/resource2.rc +19 -0
  853. package/vendor/7zip/CPP/7zip/UI/Far/ExtractEngine.cpp +274 -0
  854. package/vendor/7zip/CPP/7zip/UI/Far/ExtractEngine.h +43 -0
  855. package/vendor/7zip/CPP/7zip/UI/Far/Far.cpp +588 -0
  856. package/vendor/7zip/CPP/7zip/UI/Far/Far.def +35 -0
  857. package/vendor/7zip/CPP/7zip/UI/Far/Far.dsp +831 -0
  858. package/vendor/7zip/CPP/7zip/UI/Far/Far.dsw +29 -0
  859. package/vendor/7zip/CPP/7zip/UI/Far/FarPlugin.h +560 -0
  860. package/vendor/7zip/CPP/7zip/UI/Far/FarUtils.cpp +523 -0
  861. package/vendor/7zip/CPP/7zip/UI/Far/FarUtils.h +203 -0
  862. package/vendor/7zip/CPP/7zip/UI/Far/Messages.h +136 -0
  863. package/vendor/7zip/CPP/7zip/UI/Far/OverwriteDialogFar.cpp +145 -0
  864. package/vendor/7zip/CPP/7zip/UI/Far/OverwriteDialogFar.h +37 -0
  865. package/vendor/7zip/CPP/7zip/UI/Far/Plugin.cpp +937 -0
  866. package/vendor/7zip/CPP/7zip/UI/Far/Plugin.h +97 -0
  867. package/vendor/7zip/CPP/7zip/UI/Far/PluginCommon.cpp +50 -0
  868. package/vendor/7zip/CPP/7zip/UI/Far/PluginDelete.cpp +144 -0
  869. package/vendor/7zip/CPP/7zip/UI/Far/PluginRead.cpp +301 -0
  870. package/vendor/7zip/CPP/7zip/UI/Far/PluginWrite.cpp +840 -0
  871. package/vendor/7zip/CPP/7zip/UI/Far/ProgressBox.cpp +305 -0
  872. package/vendor/7zip/CPP/7zip/UI/Far/ProgressBox.h +85 -0
  873. package/vendor/7zip/CPP/7zip/UI/Far/StdAfx.cpp +3 -0
  874. package/vendor/7zip/CPP/7zip/UI/Far/StdAfx.h +11 -0
  875. package/vendor/7zip/CPP/7zip/UI/Far/UpdateCallbackFar.cpp +327 -0
  876. package/vendor/7zip/CPP/7zip/UI/Far/UpdateCallbackFar.h +58 -0
  877. package/vendor/7zip/CPP/7zip/UI/Far/makefile +105 -0
  878. package/vendor/7zip/CPP/7zip/UI/Far/resource.rc +3 -0
  879. package/vendor/7zip/CPP/7zip/UI/FileManager/7zFM.exe.manifest +23 -0
  880. package/vendor/7zip/CPP/7zip/UI/FileManager/7zipLogo.ico +0 -0
  881. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.cpp +81 -0
  882. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.h +19 -0
  883. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialog.rc +26 -0
  884. package/vendor/7zip/CPP/7zip/UI/FileManager/AboutDialogRes.h +8 -0
  885. package/vendor/7zip/CPP/7zip/UI/FileManager/Add.bmp +0 -0
  886. package/vendor/7zip/CPP/7zip/UI/FileManager/Add2.bmp +0 -0
  887. package/vendor/7zip/CPP/7zip/UI/FileManager/AltStreamsFolder.cpp +865 -0
  888. package/vendor/7zip/CPP/7zip/UI/FileManager/AltStreamsFolder.h +92 -0
  889. package/vendor/7zip/CPP/7zip/UI/FileManager/App.cpp +1004 -0
  890. package/vendor/7zip/CPP/7zip/UI/FileManager/App.h +314 -0
  891. package/vendor/7zip/CPP/7zip/UI/FileManager/AppState.h +95 -0
  892. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.cpp +1132 -0
  893. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.h +32 -0
  894. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog.rc +25 -0
  895. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.cpp +1873 -0
  896. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.h +10 -0
  897. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2.rc +32 -0
  898. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialog2Res.h +9 -0
  899. package/vendor/7zip/CPP/7zip/UI/FileManager/BrowseDialogRes.h +9 -0
  900. package/vendor/7zip/CPP/7zip/UI/FileManager/ClassDefs.cpp +12 -0
  901. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.cpp +64 -0
  902. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.h +28 -0
  903. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialog.rc +16 -0
  904. package/vendor/7zip/CPP/7zip/UI/FileManager/ComboDialogRes.h +4 -0
  905. package/vendor/7zip/CPP/7zip/UI/FileManager/Copy.bmp +0 -0
  906. package/vendor/7zip/CPP/7zip/UI/FileManager/Copy2.bmp +0 -0
  907. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.cpp +103 -0
  908. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.h +31 -0
  909. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialog.rc +20 -0
  910. package/vendor/7zip/CPP/7zip/UI/FileManager/CopyDialogRes.h +8 -0
  911. package/vendor/7zip/CPP/7zip/UI/FileManager/Delete.bmp +0 -0
  912. package/vendor/7zip/CPP/7zip/UI/FileManager/Delete2.bmp +0 -0
  913. package/vendor/7zip/CPP/7zip/UI/FileManager/DialogSize.h +16 -0
  914. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.cpp +57 -0
  915. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.h +25 -0
  916. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialog.rc +15 -0
  917. package/vendor/7zip/CPP/7zip/UI/FileManager/EditDialogRes.h +2 -0
  918. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.cpp +159 -0
  919. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.h +30 -0
  920. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage.rc +19 -0
  921. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPage2.rc +14 -0
  922. package/vendor/7zip/CPP/7zip/UI/FileManager/EditPageRes.h +15 -0
  923. package/vendor/7zip/CPP/7zip/UI/FileManager/EnumFormatEtc.cpp +109 -0
  924. package/vendor/7zip/CPP/7zip/UI/FileManager/EnumFormatEtc.h +10 -0
  925. package/vendor/7zip/CPP/7zip/UI/FileManager/Extract.bmp +0 -0
  926. package/vendor/7zip/CPP/7zip/UI/FileManager/Extract2.bmp +0 -0
  927. package/vendor/7zip/CPP/7zip/UI/FileManager/ExtractCallback.cpp +1284 -0
  928. package/vendor/7zip/CPP/7zip/UI/FileManager/ExtractCallback.h +347 -0
  929. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.cpp +1230 -0
  930. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.dsp +1699 -0
  931. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.dsw +29 -0
  932. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.ico +0 -0
  933. package/vendor/7zip/CPP/7zip/UI/FileManager/FM.mak +102 -0
  934. package/vendor/7zip/CPP/7zip/UI/FileManager/FSDrives.cpp +512 -0
  935. package/vendor/7zip/CPP/7zip/UI/FileManager/FSDrives.h +52 -0
  936. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolder.cpp +1179 -0
  937. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolder.h +220 -0
  938. package/vendor/7zip/CPP/7zip/UI/FileManager/FSFolderCopy.cpp +871 -0
  939. package/vendor/7zip/CPP/7zip/UI/FileManager/FileFolderPluginOpen.cpp +394 -0
  940. package/vendor/7zip/CPP/7zip/UI/FileManager/FileFolderPluginOpen.h +27 -0
  941. package/vendor/7zip/CPP/7zip/UI/FileManager/FilePlugins.cpp +78 -0
  942. package/vendor/7zip/CPP/7zip/UI/FileManager/FilePlugins.h +33 -0
  943. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.cpp +172 -0
  944. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.h +32 -0
  945. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage.rc +23 -0
  946. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPage2.rc +11 -0
  947. package/vendor/7zip/CPP/7zip/UI/FileManager/FoldersPageRes.h +12 -0
  948. package/vendor/7zip/CPP/7zip/UI/FileManager/FormatUtils.cpp +28 -0
  949. package/vendor/7zip/CPP/7zip/UI/FileManager/FormatUtils.h +14 -0
  950. package/vendor/7zip/CPP/7zip/UI/FileManager/HelpUtils.cpp +78 -0
  951. package/vendor/7zip/CPP/7zip/UI/FileManager/HelpUtils.h +10 -0
  952. package/vendor/7zip/CPP/7zip/UI/FileManager/IFolder.h +187 -0
  953. package/vendor/7zip/CPP/7zip/UI/FileManager/Info.bmp +0 -0
  954. package/vendor/7zip/CPP/7zip/UI/FileManager/Info2.bmp +0 -0
  955. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.cpp +359 -0
  956. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.h +36 -0
  957. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPage.rc +40 -0
  958. package/vendor/7zip/CPP/7zip/UI/FileManager/LangPageRes.h +9 -0
  959. package/vendor/7zip/CPP/7zip/UI/FileManager/LangUtils.cpp +333 -0
  960. package/vendor/7zip/CPP/7zip/UI/FileManager/LangUtils.h +48 -0
  961. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.cpp +402 -0
  962. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.h +34 -0
  963. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialog.rc +38 -0
  964. package/vendor/7zip/CPP/7zip/UI/FileManager/LinkDialogRes.h +22 -0
  965. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.cpp +321 -0
  966. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.h +46 -0
  967. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialog.rc +14 -0
  968. package/vendor/7zip/CPP/7zip/UI/FileManager/ListViewDialogRes.h +2 -0
  969. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.cpp +218 -0
  970. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.h +48 -0
  971. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialog.rc +49 -0
  972. package/vendor/7zip/CPP/7zip/UI/FileManager/MemDialogRes.h +13 -0
  973. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.cpp +439 -0
  974. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.h +57 -0
  975. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage.rc +24 -0
  976. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPage2.rc +28 -0
  977. package/vendor/7zip/CPP/7zip/UI/FileManager/MenuPageRes.h +15 -0
  978. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.cpp +76 -0
  979. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.h +25 -0
  980. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialog.rc +14 -0
  981. package/vendor/7zip/CPP/7zip/UI/FileManager/MessagesDialogRes.h +3 -0
  982. package/vendor/7zip/CPP/7zip/UI/FileManager/Move.bmp +0 -0
  983. package/vendor/7zip/CPP/7zip/UI/FileManager/Move2.bmp +0 -0
  984. package/vendor/7zip/CPP/7zip/UI/FileManager/MyCom2.h +46 -0
  985. package/vendor/7zip/CPP/7zip/UI/FileManager/MyLoadMenu.cpp +964 -0
  986. package/vendor/7zip/CPP/7zip/UI/FileManager/MyLoadMenu.h +40 -0
  987. package/vendor/7zip/CPP/7zip/UI/FileManager/MyWindowsNew.h +119 -0
  988. package/vendor/7zip/CPP/7zip/UI/FileManager/NetFolder.cpp +276 -0
  989. package/vendor/7zip/CPP/7zip/UI/FileManager/NetFolder.h +36 -0
  990. package/vendor/7zip/CPP/7zip/UI/FileManager/OpenCallback.cpp +86 -0
  991. package/vendor/7zip/CPP/7zip/UI/FileManager/OpenCallback.h +69 -0
  992. package/vendor/7zip/CPP/7zip/UI/FileManager/OptionsDialog.cpp +89 -0
  993. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +288 -0
  994. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.h +89 -0
  995. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialog.rc +93 -0
  996. package/vendor/7zip/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +19 -0
  997. package/vendor/7zip/CPP/7zip/UI/FileManager/Panel.cpp +1177 -0
  998. package/vendor/7zip/CPP/7zip/UI/FileManager/Panel.h +1020 -0
  999. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelCopy.cpp +477 -0
  1000. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelCrc.cpp +422 -0
  1001. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelDrag.cpp +3006 -0
  1002. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelFolderChange.cpp +1122 -0
  1003. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelItemOpen.cpp +1836 -0
  1004. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelItems.cpp +1476 -0
  1005. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelKey.cpp +357 -0
  1006. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelListNotify.cpp +838 -0
  1007. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelMenu.cpp +1160 -0
  1008. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelOperations.cpp +533 -0
  1009. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSelect.cpp +317 -0
  1010. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSort.cpp +288 -0
  1011. package/vendor/7zip/CPP/7zip/UI/FileManager/PanelSplitFile.cpp +562 -0
  1012. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.cpp +58 -0
  1013. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.h +28 -0
  1014. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialog.rc +18 -0
  1015. package/vendor/7zip/CPP/7zip/UI/FileManager/PasswordDialogRes.h +5 -0
  1016. package/vendor/7zip/CPP/7zip/UI/FileManager/PluginInterface.h +32 -0
  1017. package/vendor/7zip/CPP/7zip/UI/FileManager/PluginLoader.h +33 -0
  1018. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgramLocation.cpp +3 -0
  1019. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgramLocation.h +6 -0
  1020. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.cpp +201 -0
  1021. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.h +171 -0
  1022. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog.rc +12 -0
  1023. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +1484 -0
  1024. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.h +355 -0
  1025. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2.rc +40 -0
  1026. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +49 -0
  1027. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +85 -0
  1028. package/vendor/7zip/CPP/7zip/UI/FileManager/ProgressDialogRes.h +3 -0
  1029. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.cpp +23 -0
  1030. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.h +10 -0
  1031. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyName.rc +109 -0
  1032. package/vendor/7zip/CPP/7zip/UI/FileManager/PropertyNameRes.h +104 -0
  1033. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryAssociations.cpp +167 -0
  1034. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryAssociations.h +31 -0
  1035. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryPlugins.cpp +145 -0
  1036. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryPlugins.h +29 -0
  1037. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryUtils.cpp +194 -0
  1038. package/vendor/7zip/CPP/7zip/UI/FileManager/RegistryUtils.h +50 -0
  1039. package/vendor/7zip/CPP/7zip/UI/FileManager/RootFolder.cpp +342 -0
  1040. package/vendor/7zip/CPP/7zip/UI/FileManager/RootFolder.h +24 -0
  1041. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.cpp +453 -0
  1042. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.h +37 -0
  1043. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage.rc +22 -0
  1044. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPage2.rc +37 -0
  1045. package/vendor/7zip/CPP/7zip/UI/FileManager/SettingsPageRes.h +23 -0
  1046. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.cpp +114 -0
  1047. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.h +28 -0
  1048. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialog.rc +16 -0
  1049. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitDialogRes.h +8 -0
  1050. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitUtils.cpp +96 -0
  1051. package/vendor/7zip/CPP/7zip/UI/FileManager/SplitUtils.h +15 -0
  1052. package/vendor/7zip/CPP/7zip/UI/FileManager/StdAfx.cpp +3 -0
  1053. package/vendor/7zip/CPP/7zip/UI/FileManager/StdAfx.h +67 -0
  1054. package/vendor/7zip/CPP/7zip/UI/FileManager/StringUtils.cpp +39 -0
  1055. package/vendor/7zip/CPP/7zip/UI/FileManager/StringUtils.h +11 -0
  1056. package/vendor/7zip/CPP/7zip/UI/FileManager/SysIconUtils.cpp +352 -0
  1057. package/vendor/7zip/CPP/7zip/UI/FileManager/SysIconUtils.h +65 -0
  1058. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.cpp +472 -0
  1059. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.h +126 -0
  1060. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPage.rc +43 -0
  1061. package/vendor/7zip/CPP/7zip/UI/FileManager/SystemPageRes.h +9 -0
  1062. package/vendor/7zip/CPP/7zip/UI/FileManager/Test.bmp +0 -0
  1063. package/vendor/7zip/CPP/7zip/UI/FileManager/Test2.bmp +0 -0
  1064. package/vendor/7zip/CPP/7zip/UI/FileManager/TextPairs.cpp +193 -0
  1065. package/vendor/7zip/CPP/7zip/UI/FileManager/TextPairs.h +32 -0
  1066. package/vendor/7zip/CPP/7zip/UI/FileManager/UpdateCallback100.cpp +147 -0
  1067. package/vendor/7zip/CPP/7zip/UI/FileManager/UpdateCallback100.h +49 -0
  1068. package/vendor/7zip/CPP/7zip/UI/FileManager/VerCtrl.cpp +428 -0
  1069. package/vendor/7zip/CPP/7zip/UI/FileManager/ViewSettings.cpp +315 -0
  1070. package/vendor/7zip/CPP/7zip/UI/FileManager/ViewSettings.h +115 -0
  1071. package/vendor/7zip/CPP/7zip/UI/FileManager/makefile +110 -0
  1072. package/vendor/7zip/CPP/7zip/UI/FileManager/resource.h +199 -0
  1073. package/vendor/7zip/CPP/7zip/UI/FileManager/resource.rc +296 -0
  1074. package/vendor/7zip/CPP/7zip/UI/FileManager/resourceGui.h +25 -0
  1075. package/vendor/7zip/CPP/7zip/UI/FileManager/resourceGui.rc +30 -0
  1076. package/vendor/7zip/CPP/7zip/UI/GUI/7zG.exe.manifest +23 -0
  1077. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.cpp +1921 -0
  1078. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.h +15 -0
  1079. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialog.rc +288 -0
  1080. package/vendor/7zip/CPP/7zip/UI/GUI/BenchmarkDialogRes.h +79 -0
  1081. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.cpp +3821 -0
  1082. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.h +483 -0
  1083. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialog.rc +233 -0
  1084. package/vendor/7zip/CPP/7zip/UI/GUI/CompressDialogRes.h +125 -0
  1085. package/vendor/7zip/CPP/7zip/UI/GUI/CompressOptionsDialog.rc +79 -0
  1086. package/vendor/7zip/CPP/7zip/UI/GUI/Extract.rc +59 -0
  1087. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.cpp +420 -0
  1088. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.h +113 -0
  1089. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialog.rc +98 -0
  1090. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractDialogRes.h +24 -0
  1091. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractGUI.cpp +297 -0
  1092. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractGUI.h +39 -0
  1093. package/vendor/7zip/CPP/7zip/UI/GUI/ExtractRes.h +51 -0
  1094. package/vendor/7zip/CPP/7zip/UI/GUI/FM.ico +0 -0
  1095. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.cpp +502 -0
  1096. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.dsp +1275 -0
  1097. package/vendor/7zip/CPP/7zip/UI/GUI/GUI.dsw +29 -0
  1098. package/vendor/7zip/CPP/7zip/UI/GUI/HashGUI.cpp +341 -0
  1099. package/vendor/7zip/CPP/7zip/UI/GUI/HashGUI.h +27 -0
  1100. package/vendor/7zip/CPP/7zip/UI/GUI/StdAfx.cpp +3 -0
  1101. package/vendor/7zip/CPP/7zip/UI/GUI/StdAfx.h +6 -0
  1102. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI.cpp +295 -0
  1103. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI.h +31 -0
  1104. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI2.cpp +130 -0
  1105. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateCallbackGUI2.h +53 -0
  1106. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateGUI.cpp +605 -0
  1107. package/vendor/7zip/CPP/7zip/UI/GUI/UpdateGUI.h +33 -0
  1108. package/vendor/7zip/CPP/7zip/UI/GUI/makefile +148 -0
  1109. package/vendor/7zip/CPP/7zip/UI/GUI/resource.rc +26 -0
  1110. package/vendor/7zip/CPP/7zip/UI/GUI/resource2.h +2 -0
  1111. package/vendor/7zip/CPP/7zip/UI/GUI/resource2.rc +10 -0
  1112. package/vendor/7zip/CPP/7zip/UI/GUI/resource3.h +10 -0
  1113. package/vendor/7zip/CPP/7zip/UI/GUI/resource3.rc +15 -0
  1114. package/vendor/7zip/CPP/7zip/UI/makefile +12 -0
  1115. package/vendor/7zip/CPP/7zip/cmpl_clang.mak +3 -0
  1116. package/vendor/7zip/CPP/7zip/cmpl_clang_arm64.mak +3 -0
  1117. package/vendor/7zip/CPP/7zip/cmpl_clang_x64.mak +3 -0
  1118. package/vendor/7zip/CPP/7zip/cmpl_clang_x86.mak +3 -0
  1119. package/vendor/7zip/CPP/7zip/cmpl_gcc.mak +3 -0
  1120. package/vendor/7zip/CPP/7zip/cmpl_gcc_arm.mak +3 -0
  1121. package/vendor/7zip/CPP/7zip/cmpl_gcc_arm64.mak +3 -0
  1122. package/vendor/7zip/CPP/7zip/cmpl_gcc_x64.mak +3 -0
  1123. package/vendor/7zip/CPP/7zip/cmpl_gcc_x86.mak +3 -0
  1124. package/vendor/7zip/CPP/7zip/cmpl_mac_arm64.mak +3 -0
  1125. package/vendor/7zip/CPP/7zip/cmpl_mac_x64.mak +3 -0
  1126. package/vendor/7zip/CPP/7zip/makefile +10 -0
  1127. package/vendor/7zip/CPP/7zip/var_clang.mak +11 -0
  1128. package/vendor/7zip/CPP/7zip/var_clang_arm64.mak +19 -0
  1129. package/vendor/7zip/CPP/7zip/var_clang_x64.mak +11 -0
  1130. package/vendor/7zip/CPP/7zip/var_clang_x86.mak +11 -0
  1131. package/vendor/7zip/CPP/7zip/var_gcc.mak +12 -0
  1132. package/vendor/7zip/CPP/7zip/var_gcc_arm.mak +34 -0
  1133. package/vendor/7zip/CPP/7zip/var_gcc_arm64.mak +12 -0
  1134. package/vendor/7zip/CPP/7zip/var_gcc_x64.mak +11 -0
  1135. package/vendor/7zip/CPP/7zip/var_gcc_x86.mak +10 -0
  1136. package/vendor/7zip/CPP/7zip/var_mac_arm64.mak +13 -0
  1137. package/vendor/7zip/CPP/7zip/var_mac_x64.mak +13 -0
  1138. package/vendor/7zip/CPP/7zip/warn_clang.mak +3 -0
  1139. package/vendor/7zip/CPP/7zip/warn_clang_mac.mak +9 -0
  1140. package/vendor/7zip/CPP/7zip/warn_gcc.mak +55 -0
  1141. package/vendor/7zip/CPP/Build.mak +259 -0
  1142. package/vendor/7zip/CPP/Common/AutoPtr.h +46 -0
  1143. package/vendor/7zip/CPP/Common/CRC.cpp +7 -0
  1144. package/vendor/7zip/CPP/Common/C_FileIO.cpp +3 -0
  1145. package/vendor/7zip/CPP/Common/C_FileIO.h +6 -0
  1146. package/vendor/7zip/CPP/Common/CksumReg.cpp +55 -0
  1147. package/vendor/7zip/CPP/Common/ComTry.h +21 -0
  1148. package/vendor/7zip/CPP/Common/CommandLineParser.cpp +231 -0
  1149. package/vendor/7zip/CPP/Common/CommandLineParser.h +63 -0
  1150. package/vendor/7zip/CPP/Common/Common.h +28 -0
  1151. package/vendor/7zip/CPP/Common/Common0.h +342 -0
  1152. package/vendor/7zip/CPP/Common/CrcReg.cpp +77 -0
  1153. package/vendor/7zip/CPP/Common/Defs.h +16 -0
  1154. package/vendor/7zip/CPP/Common/DynLimBuf.cpp +93 -0
  1155. package/vendor/7zip/CPP/Common/DynLimBuf.h +41 -0
  1156. package/vendor/7zip/CPP/Common/DynamicBuffer.h +76 -0
  1157. package/vendor/7zip/CPP/Common/IntToString.cpp +215 -0
  1158. package/vendor/7zip/CPP/Common/IntToString.h +54 -0
  1159. package/vendor/7zip/CPP/Common/Lang.cpp +173 -0
  1160. package/vendor/7zip/CPP/Common/Lang.h +30 -0
  1161. package/vendor/7zip/CPP/Common/ListFileUtils.cpp +150 -0
  1162. package/vendor/7zip/CPP/Common/ListFileUtils.h +18 -0
  1163. package/vendor/7zip/CPP/Common/LzFindPrepare.cpp +7 -0
  1164. package/vendor/7zip/CPP/Common/Md5Reg.cpp +44 -0
  1165. package/vendor/7zip/CPP/Common/MyBuffer.h +343 -0
  1166. package/vendor/7zip/CPP/Common/MyBuffer2.h +185 -0
  1167. package/vendor/7zip/CPP/Common/MyCom.h +693 -0
  1168. package/vendor/7zip/CPP/Common/MyException.h +14 -0
  1169. package/vendor/7zip/CPP/Common/MyGuidDef.h +63 -0
  1170. package/vendor/7zip/CPP/Common/MyInitGuid.h +57 -0
  1171. package/vendor/7zip/CPP/Common/MyLinux.h +75 -0
  1172. package/vendor/7zip/CPP/Common/MyMap.cpp +140 -0
  1173. package/vendor/7zip/CPP/Common/MyMap.h +28 -0
  1174. package/vendor/7zip/CPP/Common/MyString.cpp +1842 -0
  1175. package/vendor/7zip/CPP/Common/MyString.h +1079 -0
  1176. package/vendor/7zip/CPP/Common/MyTypes.h +38 -0
  1177. package/vendor/7zip/CPP/Common/MyUnknown.h +8 -0
  1178. package/vendor/7zip/CPP/Common/MyVector.cpp +3 -0
  1179. package/vendor/7zip/CPP/Common/MyVector.h +772 -0
  1180. package/vendor/7zip/CPP/Common/MyWindows.cpp +292 -0
  1181. package/vendor/7zip/CPP/Common/MyWindows.h +325 -0
  1182. package/vendor/7zip/CPP/Common/MyXml.cpp +349 -0
  1183. package/vendor/7zip/CPP/Common/MyXml.h +45 -0
  1184. package/vendor/7zip/CPP/Common/NewHandler.cpp +340 -0
  1185. package/vendor/7zip/CPP/Common/NewHandler.h +121 -0
  1186. package/vendor/7zip/CPP/Common/Random.cpp +28 -0
  1187. package/vendor/7zip/CPP/Common/Random.h +14 -0
  1188. package/vendor/7zip/CPP/Common/Sha1Prepare.cpp +7 -0
  1189. package/vendor/7zip/CPP/Common/Sha1Reg.cpp +67 -0
  1190. package/vendor/7zip/CPP/Common/Sha256Prepare.cpp +7 -0
  1191. package/vendor/7zip/CPP/Common/Sha256Reg.cpp +67 -0
  1192. package/vendor/7zip/CPP/Common/Sha3Reg.cpp +76 -0
  1193. package/vendor/7zip/CPP/Common/Sha512Prepare.cpp +7 -0
  1194. package/vendor/7zip/CPP/Common/Sha512Reg.cpp +83 -0
  1195. package/vendor/7zip/CPP/Common/StdAfx.h +8 -0
  1196. package/vendor/7zip/CPP/Common/StdInStream.cpp +98 -0
  1197. package/vendor/7zip/CPP/Common/StdInStream.h +46 -0
  1198. package/vendor/7zip/CPP/Common/StdOutStream.cpp +271 -0
  1199. package/vendor/7zip/CPP/Common/StdOutStream.h +87 -0
  1200. package/vendor/7zip/CPP/Common/StringConvert.cpp +762 -0
  1201. package/vendor/7zip/CPP/Common/StringConvert.h +110 -0
  1202. package/vendor/7zip/CPP/Common/StringToInt.cpp +154 -0
  1203. package/vendor/7zip/CPP/Common/StringToInt.h +38 -0
  1204. package/vendor/7zip/CPP/Common/TextConfig.cpp +123 -0
  1205. package/vendor/7zip/CPP/Common/TextConfig.h +19 -0
  1206. package/vendor/7zip/CPP/Common/UTFConvert.cpp +863 -0
  1207. package/vendor/7zip/CPP/Common/UTFConvert.h +384 -0
  1208. package/vendor/7zip/CPP/Common/Wildcard.cpp +789 -0
  1209. package/vendor/7zip/CPP/Common/Wildcard.h +231 -0
  1210. package/vendor/7zip/CPP/Common/Xxh64Reg.cpp +97 -0
  1211. package/vendor/7zip/CPP/Common/XzCrc64Init.cpp +7 -0
  1212. package/vendor/7zip/CPP/Common/XzCrc64Reg.cpp +39 -0
  1213. package/vendor/7zip/CPP/Windows/COM.cpp +41 -0
  1214. package/vendor/7zip/CPP/Windows/COM.h +86 -0
  1215. package/vendor/7zip/CPP/Windows/Clipboard.cpp +130 -0
  1216. package/vendor/7zip/CPP/Windows/Clipboard.h +28 -0
  1217. package/vendor/7zip/CPP/Windows/CommonDialog.cpp +269 -0
  1218. package/vendor/7zip/CPP/Windows/CommonDialog.h +43 -0
  1219. package/vendor/7zip/CPP/Windows/Console.cpp +10 -0
  1220. package/vendor/7zip/CPP/Windows/Console.h +52 -0
  1221. package/vendor/7zip/CPP/Windows/Control/ComboBox.cpp +75 -0
  1222. package/vendor/7zip/CPP/Windows/Control/ComboBox.h +79 -0
  1223. package/vendor/7zip/CPP/Windows/Control/CommandBar.h +52 -0
  1224. package/vendor/7zip/CPP/Windows/Control/Dialog.cpp +446 -0
  1225. package/vendor/7zip/CPP/Windows/Control/Dialog.h +213 -0
  1226. package/vendor/7zip/CPP/Windows/Control/Edit.h +19 -0
  1227. package/vendor/7zip/CPP/Windows/Control/ImageList.cpp +10 -0
  1228. package/vendor/7zip/CPP/Windows/Control/ImageList.h +87 -0
  1229. package/vendor/7zip/CPP/Windows/Control/ListView.cpp +162 -0
  1230. package/vendor/7zip/CPP/Windows/Control/ListView.h +156 -0
  1231. package/vendor/7zip/CPP/Windows/Control/ProgressBar.h +35 -0
  1232. package/vendor/7zip/CPP/Windows/Control/PropertyPage.cpp +165 -0
  1233. package/vendor/7zip/CPP/Windows/Control/PropertyPage.h +50 -0
  1234. package/vendor/7zip/CPP/Windows/Control/ReBar.h +34 -0
  1235. package/vendor/7zip/CPP/Windows/Control/Static.h +28 -0
  1236. package/vendor/7zip/CPP/Windows/Control/StatusBar.h +42 -0
  1237. package/vendor/7zip/CPP/Windows/Control/StdAfx.h +11 -0
  1238. package/vendor/7zip/CPP/Windows/Control/ToolBar.h +43 -0
  1239. package/vendor/7zip/CPP/Windows/Control/Trackbar.h +27 -0
  1240. package/vendor/7zip/CPP/Windows/Control/Window2.cpp +202 -0
  1241. package/vendor/7zip/CPP/Windows/Control/Window2.h +53 -0
  1242. package/vendor/7zip/CPP/Windows/DLL.cpp +178 -0
  1243. package/vendor/7zip/CPP/Windows/DLL.h +103 -0
  1244. package/vendor/7zip/CPP/Windows/ErrorMsg.cpp +133 -0
  1245. package/vendor/7zip/CPP/Windows/ErrorMsg.h +16 -0
  1246. package/vendor/7zip/CPP/Windows/FileDir.cpp +1388 -0
  1247. package/vendor/7zip/CPP/Windows/FileDir.h +173 -0
  1248. package/vendor/7zip/CPP/Windows/FileFind.cpp +1458 -0
  1249. package/vendor/7zip/CPP/Windows/FileFind.h +345 -0
  1250. package/vendor/7zip/CPP/Windows/FileIO.cpp +1188 -0
  1251. package/vendor/7zip/CPP/Windows/FileIO.h +508 -0
  1252. package/vendor/7zip/CPP/Windows/FileLink.cpp +697 -0
  1253. package/vendor/7zip/CPP/Windows/FileMapping.cpp +12 -0
  1254. package/vendor/7zip/CPP/Windows/FileMapping.h +66 -0
  1255. package/vendor/7zip/CPP/Windows/FileName.cpp +911 -0
  1256. package/vendor/7zip/CPP/Windows/FileName.h +142 -0
  1257. package/vendor/7zip/CPP/Windows/FileSystem.cpp +187 -0
  1258. package/vendor/7zip/CPP/Windows/FileSystem.h +31 -0
  1259. package/vendor/7zip/CPP/Windows/Handle.h +39 -0
  1260. package/vendor/7zip/CPP/Windows/MemoryGlobal.cpp +36 -0
  1261. package/vendor/7zip/CPP/Windows/MemoryGlobal.h +55 -0
  1262. package/vendor/7zip/CPP/Windows/MemoryLock.cpp +127 -0
  1263. package/vendor/7zip/CPP/Windows/MemoryLock.h +40 -0
  1264. package/vendor/7zip/CPP/Windows/Menu.cpp +265 -0
  1265. package/vendor/7zip/CPP/Windows/Menu.h +170 -0
  1266. package/vendor/7zip/CPP/Windows/NationalTime.cpp +37 -0
  1267. package/vendor/7zip/CPP/Windows/NationalTime.h +20 -0
  1268. package/vendor/7zip/CPP/Windows/Net.cpp +398 -0
  1269. package/vendor/7zip/CPP/Windows/Net.h +87 -0
  1270. package/vendor/7zip/CPP/Windows/NtCheck.h +58 -0
  1271. package/vendor/7zip/CPP/Windows/ProcessMessages.cpp +22 -0
  1272. package/vendor/7zip/CPP/Windows/ProcessMessages.h +12 -0
  1273. package/vendor/7zip/CPP/Windows/ProcessUtils.cpp +102 -0
  1274. package/vendor/7zip/CPP/Windows/ProcessUtils.h +138 -0
  1275. package/vendor/7zip/CPP/Windows/PropVariant.cpp +393 -0
  1276. package/vendor/7zip/CPP/Windows/PropVariant.h +173 -0
  1277. package/vendor/7zip/CPP/Windows/PropVariantConv.cpp +274 -0
  1278. package/vendor/7zip/CPP/Windows/PropVariantConv.h +47 -0
  1279. package/vendor/7zip/CPP/Windows/PropVariantUtils.cpp +161 -0
  1280. package/vendor/7zip/CPP/Windows/PropVariantUtils.h +34 -0
  1281. package/vendor/7zip/CPP/Windows/Registry.cpp +474 -0
  1282. package/vendor/7zip/CPP/Windows/Registry.h +96 -0
  1283. package/vendor/7zip/CPP/Windows/ResourceString.cpp +103 -0
  1284. package/vendor/7zip/CPP/Windows/ResourceString.h +17 -0
  1285. package/vendor/7zip/CPP/Windows/SecurityUtils.cpp +186 -0
  1286. package/vendor/7zip/CPP/Windows/SecurityUtils.h +154 -0
  1287. package/vendor/7zip/CPP/Windows/Shell.cpp +839 -0
  1288. package/vendor/7zip/CPP/Windows/Shell.h +129 -0
  1289. package/vendor/7zip/CPP/Windows/StdAfx.h +11 -0
  1290. package/vendor/7zip/CPP/Windows/Synchronization.cpp +87 -0
  1291. package/vendor/7zip/CPP/Windows/Synchronization.h +386 -0
  1292. package/vendor/7zip/CPP/Windows/System.cpp +423 -0
  1293. package/vendor/7zip/CPP/Windows/System.h +209 -0
  1294. package/vendor/7zip/CPP/Windows/SystemInfo.cpp +1312 -0
  1295. package/vendor/7zip/CPP/Windows/SystemInfo.h +19 -0
  1296. package/vendor/7zip/CPP/Windows/Thread.h +46 -0
  1297. package/vendor/7zip/CPP/Windows/TimeUtils.cpp +467 -0
  1298. package/vendor/7zip/CPP/Windows/TimeUtils.h +154 -0
  1299. package/vendor/7zip/CPP/Windows/WinDefs.h +17 -0
  1300. package/vendor/7zip/CPP/Windows/Window.cpp +179 -0
  1301. package/vendor/7zip/CPP/Windows/Window.h +363 -0
  1302. package/vendor/7zip/DOC/7zC.txt +187 -0
  1303. package/vendor/7zip/DOC/7zFormat.txt +469 -0
  1304. package/vendor/7zip/DOC/7zip.hhp +84 -0
  1305. package/vendor/7zip/DOC/7zip.wxs +403 -0
  1306. package/vendor/7zip/DOC/License.txt +151 -0
  1307. package/vendor/7zip/DOC/Methods.txt +177 -0
  1308. package/vendor/7zip/DOC/copying.txt +502 -0
  1309. package/vendor/7zip/DOC/lzma.txt +345 -0
  1310. package/vendor/7zip/DOC/readme.txt +299 -0
  1311. package/vendor/7zip/DOC/src-history.txt +884 -0
  1312. package/vendor/7zip/DOC/unRarLicense.txt +41 -0
  1313. package/vendor/7zip/README.md +2 -0
@@ -0,0 +1,1837 @@
1
+ // ContextMenu.cpp
2
+
3
+ #include "StdAfx.h"
4
+
5
+ #include "../../../Common/ComTry.h"
6
+ #include "../../../Common/IntToString.h"
7
+ #include "../../../Common/StringConvert.h"
8
+
9
+ #include "../../../Windows/COM.h"
10
+ #include "../../../Windows/DLL.h"
11
+ #include "../../../Windows/FileDir.h"
12
+ #include "../../../Windows/FileName.h"
13
+ #include "../../../Windows/Menu.h"
14
+ #include "../../../Windows/ProcessUtils.h"
15
+
16
+ // for IS_INTRESOURCE():
17
+ #include "../../../Windows/Window.h"
18
+
19
+ #include "../../PropID.h"
20
+
21
+ #include "../Common/ArchiveName.h"
22
+ #include "../Common/CompressCall.h"
23
+ #include "../Common/ExtractingFilePath.h"
24
+ #include "../Common/ZipRegistry.h"
25
+
26
+ #include "../FileManager/FormatUtils.h"
27
+ #include "../FileManager/LangUtils.h"
28
+ #include "../FileManager/PropertyName.h"
29
+
30
+ #include "ContextMenu.h"
31
+ #include "ContextMenuFlags.h"
32
+ #include "MyMessages.h"
33
+
34
+ #include "resource.h"
35
+
36
+
37
+ // #define SHOW_DEBUG_CTX_MENU
38
+
39
+ #ifdef SHOW_DEBUG_CTX_MENU
40
+ #include <stdio.h>
41
+ #endif
42
+
43
+ using namespace NWindows;
44
+ using namespace NFile;
45
+ using namespace NDir;
46
+
47
+ #ifndef UNDER_CE
48
+ #define EMAIL_SUPPORT 1
49
+ #endif
50
+
51
+ extern LONG g_DllRefCount;
52
+
53
+ #ifdef _WIN32
54
+ extern HINSTANCE g_hInstance;
55
+ #endif
56
+
57
+ #ifdef UNDER_CE
58
+ #define MY_IS_INTRESOURCE(_r) ((((ULONG_PTR)(_r)) >> 16) == 0)
59
+ #else
60
+ #define MY_IS_INTRESOURCE(_r) IS_INTRESOURCE(_r)
61
+ #endif
62
+
63
+
64
+ #ifdef SHOW_DEBUG_CTX_MENU
65
+
66
+ static void PrintStringA(const char *name, LPCSTR ptr)
67
+ {
68
+ AString m;
69
+ m += name;
70
+ m += ": ";
71
+ char s[32];
72
+ sprintf(s, "%p", (const void *)ptr);
73
+ m += s;
74
+ if (!MY_IS_INTRESOURCE(ptr))
75
+ {
76
+ m += ": \"";
77
+ m += ptr;
78
+ m += "\"";
79
+ }
80
+ OutputDebugStringA(m);
81
+ }
82
+
83
+ #if !defined(UNDER_CE)
84
+ static void PrintStringW(const char *name, LPCWSTR ptr)
85
+ {
86
+ UString m;
87
+ m += name;
88
+ m += ": ";
89
+ char s[32];
90
+ sprintf(s, "%p", (const void *)ptr);
91
+ m += s;
92
+ if (!MY_IS_INTRESOURCE(ptr))
93
+ {
94
+ m += ": \"";
95
+ m += ptr;
96
+ m += "\"";
97
+ }
98
+ OutputDebugStringW(m);
99
+ }
100
+ #endif
101
+
102
+ static void Print_Ptr(const void *p, const char *s)
103
+ {
104
+ char temp[32];
105
+ sprintf(temp, "%p", (const void *)p);
106
+ AString m;
107
+ m += temp;
108
+ m.Add_Space();
109
+ m += s;
110
+ OutputDebugStringA(m);
111
+ }
112
+
113
+ static void Print_Number(UInt32 number, const char *s)
114
+ {
115
+ AString m;
116
+ m.Add_UInt32(number);
117
+ m.Add_Space();
118
+ m += s;
119
+ OutputDebugStringA(m);
120
+ }
121
+
122
+ #define ODS(sz) { Print_Ptr(this, sz); }
123
+ #define ODS_U(s) { OutputDebugStringW(s); }
124
+ #define ODS_(op) { op; }
125
+ #define ODS_SPRF_s(x) { char s[256]; x; OutputDebugStringA(s); }
126
+
127
+ #else
128
+
129
+ #define ODS(sz)
130
+ #define ODS_U(s)
131
+ #define ODS_(op)
132
+ #define ODS_SPRF_s(x)
133
+
134
+ #endif
135
+
136
+
137
+ /*
138
+ DOCs: In Windows 7 and later, the number of items passed to
139
+ a verb is limited to 16 when a shortcut menu is queried.
140
+ The verb is then re-created and re-initialized with the full
141
+ selection when that verb is invoked.
142
+ win10 tests:
143
+ if (the number of selected file/dir objects > 16)
144
+ {
145
+ Explorer does the following actions:
146
+ - it creates ctx_menu_1 IContextMenu object
147
+ - it calls ctx_menu_1->Initialize() with list of only up to 16 items
148
+ - it calls ctx_menu_1->QueryContextMenu(menu_1)
149
+ - if (some menu command is pressed)
150
+ {
151
+ - it gets shown string from selected menu item : shown_menu_1_string
152
+ - it creates another ctx_menu_2 IContextMenu object
153
+ - it calls ctx_menu_2->Initialize() with list of all items
154
+ - it calls ctx_menu_2->QueryContextMenu(menu_2)
155
+ - if there is menu item with shown_menu_1_string string in menu_2,
156
+ Explorer calls ctx_menu_2->InvokeCommand() for that item.
157
+ Explorer probably doesn't use VERB from first object ctx_menu_1.
158
+ So we must provide same shown menu strings for both objects:
159
+ ctx_menu_1 and ctx_menu_2.
160
+ }
161
+ }
162
+ */
163
+
164
+
165
+ CZipContextMenu::CZipContextMenu():
166
+ _isMenuForFM(true),
167
+ _fileNames_WereReduced(true),
168
+ _dropMode(false),
169
+ _bitmap(NULL),
170
+ _writeZone((UInt32)(Int32)-1),
171
+ IsSeparator(false),
172
+ IsRoot(true),
173
+ CurrentSubCommand(0)
174
+ {
175
+ ODS("== CZipContextMenu()");
176
+ InterlockedIncrement(&g_DllRefCount);
177
+ }
178
+
179
+ CZipContextMenu::~CZipContextMenu()
180
+ {
181
+ ODS("== ~CZipContextMenu");
182
+ if (_bitmap)
183
+ DeleteObject(_bitmap);
184
+ InterlockedDecrement(&g_DllRefCount);
185
+ }
186
+
187
+ // IShellExtInit
188
+
189
+ /*
190
+ IShellExtInit::Initialize()
191
+ pidlFolder:
192
+ - for property sheet extension:
193
+ NULL
194
+ - for shortcut menu extensions:
195
+ pidl of folder that contains the item whose shortcut menu is being displayed:
196
+ - for nondefault drag-and-drop menu extensions:
197
+ pidl of target folder: for nondefault drag-and-drop menu extensions
198
+ pidlFolder == NULL in (win10): for context menu
199
+ */
200
+
201
+ Z7_COMWF_B CZipContextMenu::Initialize(LPCITEMIDLIST pidlFolder, LPDATAOBJECT dataObject, HKEY /* hkeyProgID */)
202
+ {
203
+ COM_TRY_BEGIN
204
+ ODS("==== CZipContextMenu::Initialize START")
205
+ _isMenuForFM = false;
206
+ _fileNames_WereReduced = true;
207
+ _dropMode = false;
208
+ _attribs.Clear();
209
+ _fileNames.Clear();
210
+ _dropPath.Empty();
211
+
212
+ if (pidlFolder)
213
+ {
214
+ ODS("==== CZipContextMenu::Initialize (pidlFolder != 0)")
215
+ #ifndef UNDER_CE
216
+ if (NShell::GetPathFromIDList(pidlFolder, _dropPath))
217
+ {
218
+ ODS("==== CZipContextMenu::Initialize path from (pidl):")
219
+ ODS_U(_dropPath);
220
+ /* win10 : path with "\\\\?\\\" prefix is returned by GetPathFromIDList, if path is long
221
+ we can remove super prefix here. But probably prefix
222
+ is not problem for following 7-zip code.
223
+ so we don't remove super prefix */
224
+ NFile::NName::If_IsSuperPath_RemoveSuperPrefix(_dropPath);
225
+ NName::NormalizeDirPathPrefix(_dropPath);
226
+ _dropMode = !_dropPath.IsEmpty();
227
+ }
228
+ else
229
+ #endif
230
+ _dropPath.Empty();
231
+ }
232
+
233
+ if (!dataObject)
234
+ return E_INVALIDARG;
235
+
236
+ #ifndef UNDER_CE
237
+
238
+ RINOK(NShell::DataObject_GetData_HDROP_or_IDLIST_Names(dataObject, _fileNames))
239
+ // for (unsigned y = 0; y < 10000; y++)
240
+ if (NShell::DataObject_GetData_FILE_ATTRS(dataObject, _attribs) != S_OK)
241
+ _attribs.Clear();
242
+
243
+ #endif
244
+
245
+ ODS_SPRF_s(sprintf(s, "==== CZipContextMenu::Initialize END _files=%d",
246
+ _fileNames.Size()))
247
+
248
+ return S_OK;
249
+ COM_TRY_END
250
+ }
251
+
252
+
253
+ /////////////////////////////
254
+ // IContextMenu
255
+
256
+ static LPCSTR const kMainVerb = "SevenZip";
257
+ static LPCSTR const kOpenCascadedVerb = "SevenZip.OpenWithType.";
258
+ static LPCSTR const kCheckSumCascadedVerb = "SevenZip.Checksum";
259
+
260
+
261
+ struct CContextMenuCommand
262
+ {
263
+ UInt32 flag;
264
+ CZipContextMenu::enum_CommandInternalID CommandInternalID;
265
+ LPCSTR Verb;
266
+ UINT ResourceID;
267
+ };
268
+
269
+ #define CMD_REC(cns, verb, ids) { NContextMenuFlags::cns, CZipContextMenu::cns, verb, ids }
270
+
271
+ static const CContextMenuCommand g_Commands[] =
272
+ {
273
+ CMD_REC( kOpen, "Open", IDS_CONTEXT_OPEN),
274
+ CMD_REC( kExtract, "Extract", IDS_CONTEXT_EXTRACT),
275
+ CMD_REC( kExtractHere, "ExtractHere", IDS_CONTEXT_EXTRACT_HERE),
276
+ CMD_REC( kExtractTo, "ExtractTo", IDS_CONTEXT_EXTRACT_TO),
277
+ CMD_REC( kTest, "Test", IDS_CONTEXT_TEST),
278
+ CMD_REC( kCompress, "Compress", IDS_CONTEXT_COMPRESS),
279
+ CMD_REC( kCompressEmail, "CompressEmail", IDS_CONTEXT_COMPRESS_EMAIL),
280
+ CMD_REC( kCompressTo7z, "CompressTo7z", IDS_CONTEXT_COMPRESS_TO),
281
+ CMD_REC( kCompressTo7zEmail, "CompressTo7zEmail", IDS_CONTEXT_COMPRESS_TO_EMAIL),
282
+ CMD_REC( kCompressToZip, "CompressToZip", IDS_CONTEXT_COMPRESS_TO),
283
+ CMD_REC( kCompressToZipEmail, "CompressToZipEmail", IDS_CONTEXT_COMPRESS_TO_EMAIL)
284
+ };
285
+
286
+
287
+ struct CHashCommand
288
+ {
289
+ CZipContextMenu::enum_CommandInternalID CommandInternalID;
290
+ LPCSTR UserName;
291
+ LPCSTR MethodName;
292
+ };
293
+
294
+ static const CHashCommand g_HashCommands[] =
295
+ {
296
+ { CZipContextMenu::kHash_CRC32, "CRC-32", "CRC32" },
297
+ { CZipContextMenu::kHash_CRC64, "CRC-64", "CRC64" },
298
+ { CZipContextMenu::kHash_XXH64, "XXH64", "XXH64" },
299
+ { CZipContextMenu::kHash_MD5, "MD5", "MD5" },
300
+ { CZipContextMenu::kHash_SHA1, "SHA-1", "SHA1" },
301
+ { CZipContextMenu::kHash_SHA256, "SHA-256", "SHA256" },
302
+ { CZipContextMenu::kHash_SHA384, "SHA-384", "SHA384" },
303
+ { CZipContextMenu::kHash_SHA512, "SHA-512", "SHA512" },
304
+ { CZipContextMenu::kHash_SHA3_256, "SHA3-256", "SHA3-256" },
305
+ { CZipContextMenu::kHash_BLAKE2SP, "BLAKE2sp", "BLAKE2sp" },
306
+ { CZipContextMenu::kHash_All, "*", "*" },
307
+ { CZipContextMenu::kHash_Generate_SHA256, "SHA-256 -> file.sha256", "SHA256" },
308
+ { CZipContextMenu::kHash_TestArc, "Checksum : Test", "Hash" }
309
+ };
310
+
311
+
312
+ static int FindCommand(CZipContextMenu::enum_CommandInternalID &id)
313
+ {
314
+ for (unsigned i = 0; i < Z7_ARRAY_SIZE(g_Commands); i++)
315
+ if (g_Commands[i].CommandInternalID == id)
316
+ return (int)i;
317
+ return -1;
318
+ }
319
+
320
+
321
+ void CZipContextMenu::FillCommand(enum_CommandInternalID id, UString &mainString, CCommandMapItem &cmi) const
322
+ {
323
+ mainString.Empty();
324
+ const int i = FindCommand(id);
325
+ if (i < 0)
326
+ throw 201908;
327
+ const CContextMenuCommand &command = g_Commands[(unsigned)i];
328
+ cmi.CommandInternalID = command.CommandInternalID;
329
+ cmi.Verb = kMainVerb;
330
+ cmi.Verb += command.Verb;
331
+ // cmi.HelpString = cmi.Verb;
332
+ LangString(command.ResourceID, mainString);
333
+ cmi.UserString = mainString;
334
+ }
335
+
336
+
337
+ static UString LangStringAlt(UInt32 id, const char *altString)
338
+ {
339
+ UString s = LangString(id);
340
+ if (s.IsEmpty())
341
+ s = altString;
342
+ return s;
343
+ }
344
+
345
+
346
+ void CZipContextMenu::AddCommand(enum_CommandInternalID id, UString &mainString, CCommandMapItem &cmi)
347
+ {
348
+ FillCommand(id, mainString, cmi);
349
+ _commandMap.Add(cmi);
350
+ }
351
+
352
+
353
+
354
+ /*
355
+ note: old msdn article:
356
+ Duplicate Menu Items In the File Menu For a Shell Context Menu Extension (214477)
357
+ ----------
358
+ On systems with Shell32.dll version 4.71 or higher, a context menu extension
359
+ for a file folder that inserts one or more pop-up menus results in duplicates
360
+ of these menu items.
361
+ This occurs when the file menu is activated more than once for the selected object.
362
+
363
+ CAUSE
364
+ In a context menu extension, if pop-up menus are inserted using InsertMenu
365
+ or AppendMenu, then the ID for the pop-up menu item cannot be specified.
366
+ Instead, this field should take in the HMENU of the pop-up menu.
367
+ Because the ID is not specified for the pop-up menu item, the Shell does
368
+ not keep track of the menu item if the file menu is pulled down multiple times.
369
+ As a result, the pop-up menu items are added multiple times in the context menu.
370
+
371
+ This problem occurs only when the file menu is pulled down, and does not happen
372
+ when the context menu is invoked by using the right button or the context menu key.
373
+ RESOLUTION
374
+ To work around this problem, use InsertMenuItem and specify the ID of the
375
+ pop-up menu item in the wID member of the MENUITEMINFO structure.
376
+ */
377
+
378
+ static void MyInsertMenu(CMenu &menu, unsigned pos, UINT id, const UString &s, HBITMAP bitmap)
379
+ {
380
+ if (!menu)
381
+ return;
382
+ CMenuItem mi;
383
+ mi.fType = MFT_STRING;
384
+ mi.fMask = MIIM_TYPE | MIIM_ID;
385
+ if (bitmap)
386
+ mi.fMask |= MIIM_CHECKMARKS;
387
+ mi.wID = id;
388
+ mi.StringValue = s;
389
+ mi.hbmpUnchecked = bitmap;
390
+ // mi.hbmpChecked = bitmap; // do we need hbmpChecked ???
391
+ if (!menu.InsertItem(pos, true, mi))
392
+ throw 20190816;
393
+
394
+ // SetMenuItemBitmaps also works
395
+ // ::SetMenuItemBitmaps(menu, pos, MF_BYPOSITION, bitmap, NULL);
396
+ }
397
+
398
+
399
+ static void MyAddSubMenu(
400
+ CObjectVector<CZipContextMenu::CCommandMapItem> &_commandMap,
401
+ const char *verb,
402
+ CMenu &menu, unsigned pos, UINT id, const UString &s, HMENU hSubMenu, HBITMAP bitmap)
403
+ {
404
+ CZipContextMenu::CCommandMapItem cmi;
405
+ cmi.CommandInternalID = CZipContextMenu::kCommandNULL;
406
+ cmi.Verb = verb;
407
+ cmi.IsPopup = true;
408
+ // cmi.HelpString = verb;
409
+ cmi.UserString = s;
410
+ _commandMap.Add(cmi);
411
+
412
+ if (!menu)
413
+ return;
414
+
415
+ CMenuItem mi;
416
+ mi.fType = MFT_STRING;
417
+ mi.fMask = MIIM_SUBMENU | MIIM_TYPE | MIIM_ID;
418
+ if (bitmap)
419
+ mi.fMask |= MIIM_CHECKMARKS;
420
+ mi.wID = id;
421
+ mi.hSubMenu = hSubMenu;
422
+ mi.hbmpUnchecked = bitmap;
423
+
424
+ mi.StringValue = s;
425
+ if (!menu.InsertItem(pos, true, mi))
426
+ throw 20190817;
427
+ }
428
+
429
+
430
+ static const char * const kArcExts[] =
431
+ {
432
+ "7z"
433
+ , "bz2"
434
+ , "gz"
435
+ , "rar"
436
+ , "zip"
437
+ };
438
+
439
+ static bool IsItArcExt(const UString &ext)
440
+ {
441
+ for (unsigned i = 0; i < Z7_ARRAY_SIZE(kArcExts); i++)
442
+ if (ext.IsEqualTo_Ascii_NoCase(kArcExts[i]))
443
+ return true;
444
+ return false;
445
+ }
446
+
447
+ UString GetSubFolderNameForExtract(const UString &arcName);
448
+ UString GetSubFolderNameForExtract(const UString &arcName)
449
+ {
450
+ int dotPos = arcName.ReverseFind_Dot();
451
+ if (dotPos < 0)
452
+ return Get_Correct_FsFile_Name(arcName) + L'~';
453
+
454
+ const UString ext = arcName.Ptr(dotPos + 1);
455
+ UString res = arcName.Left(dotPos);
456
+ res.TrimRight();
457
+ dotPos = res.ReverseFind_Dot();
458
+ if (dotPos > 0)
459
+ {
460
+ const UString ext2 = res.Ptr(dotPos + 1);
461
+ if ((ext.IsEqualTo_Ascii_NoCase("001") && IsItArcExt(ext2))
462
+ || (ext.IsEqualTo_Ascii_NoCase("rar") &&
463
+ ( ext2.IsEqualTo_Ascii_NoCase("part001")
464
+ || ext2.IsEqualTo_Ascii_NoCase("part01")
465
+ || ext2.IsEqualTo_Ascii_NoCase("part1"))))
466
+ res.DeleteFrom(dotPos);
467
+ res.TrimRight();
468
+ }
469
+ return Get_Correct_FsFile_Name(res);
470
+ }
471
+
472
+ static void ReduceString(UString &s)
473
+ {
474
+ const unsigned kMaxSize = 64;
475
+ if (s.Len() <= kMaxSize)
476
+ return;
477
+ s.Delete(kMaxSize / 2, s.Len() - kMaxSize);
478
+ s.Insert(kMaxSize / 2, L" ... ");
479
+ }
480
+
481
+ static UString GetQuotedReducedString(const UString &s)
482
+ {
483
+ UString s2 = s;
484
+ ReduceString(s2);
485
+ s2.Replace(L"&", L"&&");
486
+ return GetQuotedString(s2);
487
+ }
488
+
489
+ static void MyFormatNew_ReducedName(UString &s, const UString &name)
490
+ {
491
+ s = MyFormatNew(s, GetQuotedReducedString(name));
492
+ }
493
+
494
+ static const char * const kExtractExcludeExtensions =
495
+ " 3gp"
496
+ " aac ans ape asc asm asp aspx avi awk"
497
+ " bas bat bmp"
498
+ " c cs cls clw cmd cpp csproj css ctl cxx"
499
+ " def dep dlg dsp dsw"
500
+ " eps"
501
+ " f f77 f90 f95 fla flac frm"
502
+ " gif"
503
+ " h hpp hta htm html hxx"
504
+ " ico idl inc ini inl"
505
+ " java jpeg jpg js"
506
+ " la lnk log"
507
+ " mak manifest wmv mov mp3 mp4 mpe mpeg mpg m4a"
508
+ " ofr ogg"
509
+ " pac pas pdf php php3 php4 php5 phptml pl pm png ps py pyo"
510
+ " ra rb rc reg rka rm rtf"
511
+ " sed sh shn shtml sln sql srt swa"
512
+ " tcl tex tiff tta txt"
513
+ " vb vcproj vbs"
514
+ " mkv wav webm wma wv"
515
+ " xml xsd xsl xslt"
516
+ " ";
517
+
518
+ /*
519
+ static const char * const kNoOpenAsExtensions =
520
+ " 7z arj bz2 cab chm cpio flv gz lha lzh lzma rar swm tar tbz2 tgz wim xar xz z zip ";
521
+ */
522
+
523
+ static const char * const kOpenTypes[] =
524
+ {
525
+ ""
526
+ , "*"
527
+ , "#"
528
+ , "#:e"
529
+ // , "#:a"
530
+ , "7z"
531
+ , "zip"
532
+ , "cab"
533
+ , "rar"
534
+ };
535
+
536
+
537
+ bool FindExt(const char *p, const UString &name, CStringFinder &finder);
538
+ bool FindExt(const char *p, const UString &name, CStringFinder &finder)
539
+ {
540
+ const int dotPos = name.ReverseFind_Dot();
541
+ int len = (int)name.Len() - (dotPos + 1);
542
+ if (len == 0 || len > 32 || dotPos < 0)
543
+ return false;
544
+ return finder.FindWord_In_LowCaseAsciiList_NoCase(p, name.Ptr(dotPos + 1));
545
+ }
546
+
547
+ /* returns false, if extraction of that file extension is not expected */
548
+ static bool DoNeedExtract(const UString &name, CStringFinder &finder)
549
+ {
550
+ // for (int y = 0; y < 1000; y++) FindExt(kExtractExcludeExtensions, name);
551
+ return !FindExt(kExtractExcludeExtensions, name, finder);
552
+ }
553
+
554
+ // we must use diferent Verbs for Popup subMenu.
555
+ void CZipContextMenu::AddMapItem_ForSubMenu(const char *verb)
556
+ {
557
+ CCommandMapItem cmi;
558
+ cmi.CommandInternalID = kCommandNULL;
559
+ cmi.Verb = verb;
560
+ // cmi.HelpString = verb;
561
+ _commandMap.Add(cmi);
562
+ }
563
+
564
+
565
+ static HRESULT RETURN_WIN32_LastError_AS_HRESULT()
566
+ {
567
+ DWORD lastError = ::GetLastError();
568
+ if (lastError == 0)
569
+ return E_FAIL;
570
+ return HRESULT_FROM_WIN32(lastError);
571
+ }
572
+
573
+
574
+ /*
575
+ we add CCommandMapItem to _commandMap for each new Menu ID.
576
+ so then we use _commandMap[offset].
577
+ That way we can execute commands that have menu item.
578
+ Another non-implemented way:
579
+ We can return the number off all possible commands in QueryContextMenu().
580
+ so the caller could call InvokeCommand() via string verb even
581
+ without using menu items.
582
+ */
583
+
584
+
585
+ Z7_COMWF_B CZipContextMenu::QueryContextMenu(HMENU hMenu, UINT indexMenu,
586
+ UINT commandIDFirst, UINT commandIDLast, UINT flags)
587
+ {
588
+ ODS("+ QueryContextMenu()")
589
+ COM_TRY_BEGIN
590
+ try {
591
+
592
+ _commandMap.Clear();
593
+
594
+ ODS_SPRF_s(sprintf(s, "QueryContextMenu: index=%u first=%u last=%u flags=%x _files=%u",
595
+ indexMenu, commandIDFirst, commandIDLast, flags, _fileNames.Size()))
596
+ /*
597
+ for (UInt32 i = 0; i < _fileNames.Size(); i++)
598
+ {
599
+ ODS_U(_fileNames[i])
600
+ }
601
+ */
602
+
603
+ #define MAKE_HRESULT_SUCCESS_FAC0(code) (HRESULT)(code)
604
+
605
+ if (_fileNames.Size() == 0)
606
+ {
607
+ return MAKE_HRESULT_SUCCESS_FAC0(0);
608
+ // return E_INVALIDARG;
609
+ }
610
+
611
+ if (commandIDFirst > commandIDLast)
612
+ return E_INVALIDARG;
613
+
614
+ UINT currentCommandID = commandIDFirst;
615
+
616
+ if ((flags & 0x000F) != CMF_NORMAL
617
+ && (flags & CMF_VERBSONLY) == 0
618
+ && (flags & CMF_EXPLORE) == 0)
619
+ return MAKE_HRESULT_SUCCESS_FAC0(currentCommandID - commandIDFirst);
620
+ // return MAKE_HRESULT_SUCCESS_FAC0(currentCommandID);
621
+ // 19.01 : we changed from (currentCommandID) to (currentCommandID - commandIDFirst)
622
+ // why it was so before?
623
+
624
+ #ifdef Z7_LANG
625
+ LoadLangOneTime();
626
+ #endif
627
+
628
+ CMenu popupMenu;
629
+ CMenuDestroyer menuDestroyer;
630
+
631
+ ODS("### 40")
632
+ CContextMenuInfo ci;
633
+ ci.Load();
634
+ ODS("### 44")
635
+
636
+ _elimDup = ci.ElimDup;
637
+ _writeZone = ci.WriteZone;
638
+
639
+ HBITMAP bitmap = NULL;
640
+ if (ci.MenuIcons.Val)
641
+ {
642
+ ODS("### 45")
643
+ if (!_bitmap)
644
+ _bitmap = ::LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_MENU_LOGO));
645
+ bitmap = _bitmap;
646
+ }
647
+
648
+ UINT subIndex = indexMenu;
649
+
650
+ ODS("### 50")
651
+
652
+ if (ci.Cascaded.Val)
653
+ {
654
+ if (hMenu)
655
+ if (!popupMenu.CreatePopup())
656
+ return RETURN_WIN32_LastError_AS_HRESULT();
657
+ menuDestroyer.Attach(popupMenu);
658
+
659
+ /* 9.31: we commented the following code. Probably we don't need.
660
+ Check more systems. Maybe it was for old Windows? */
661
+ /*
662
+ AddMapItem_ForSubMenu();
663
+ currentCommandID++;
664
+ */
665
+ subIndex = 0;
666
+ }
667
+ else
668
+ {
669
+ popupMenu.Attach(hMenu);
670
+ CMenuItem mi;
671
+ mi.fType = MFT_SEPARATOR;
672
+ mi.fMask = MIIM_TYPE;
673
+ if (hMenu)
674
+ popupMenu.InsertItem(subIndex++, true, mi);
675
+ }
676
+
677
+ const UInt32 contextMenuFlags = ci.Flags;
678
+
679
+ NFind::CFileInfo fi0;
680
+ FString folderPrefix;
681
+
682
+ if (_fileNames.Size() > 0)
683
+ {
684
+ const UString &fileName = _fileNames.Front();
685
+
686
+ #if defined(_WIN32) && !defined(UNDER_CE)
687
+ if (NName::IsDevicePath(us2fs(fileName)))
688
+ {
689
+ // CFileInfo::Find can be slow for device files. So we don't call it.
690
+ // we need only name here.
691
+ fi0.Name = us2fs(fileName.Ptr(NName::kDevicePathPrefixSize));
692
+ folderPrefix =
693
+ #ifdef UNDER_CE
694
+ "\\";
695
+ #else
696
+ "C:\\";
697
+ #endif
698
+ }
699
+ else
700
+ #endif
701
+ {
702
+ if (!fi0.Find(us2fs(fileName)))
703
+ {
704
+ throw 20190820;
705
+ // return RETURN_WIN32_LastError_AS_HRESULT();
706
+ }
707
+ GetOnlyDirPrefix(us2fs(fileName), folderPrefix);
708
+ }
709
+ }
710
+
711
+ ODS("### 100")
712
+
713
+ UString mainString;
714
+ CStringFinder finder;
715
+ UStringVector fileNames_Reduced;
716
+ const unsigned k_Explorer_NumReducedItems = 16;
717
+ const bool needReduce = !_isMenuForFM && (_fileNames.Size() >= k_Explorer_NumReducedItems);
718
+ _fileNames_WereReduced = needReduce;
719
+ // _fileNames_WereReduced = true; // for debug;
720
+ const UStringVector *fileNames = &_fileNames;
721
+ if (needReduce)
722
+ {
723
+ for (unsigned i = 0; i < k_Explorer_NumReducedItems
724
+ && i < _fileNames.Size(); i++)
725
+ fileNames_Reduced.Add(_fileNames[i]);
726
+ fileNames = &fileNames_Reduced;
727
+ }
728
+
729
+ /*
730
+ if (_fileNames.Size() == k_Explorer_NumReducedItems) // for debug
731
+ {
732
+ for (int i = 0; i < 10; i++)
733
+ {
734
+ CCommandMapItem cmi;
735
+ AddCommand(kCompressToZipEmail, mainString, cmi);
736
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, mainString, bitmap);
737
+ }
738
+ }
739
+ */
740
+
741
+ if (_fileNames.Size() == 1 && currentCommandID + 14 <= commandIDLast)
742
+ {
743
+ if (!fi0.IsDir() && DoNeedExtract(fs2us(fi0.Name), finder))
744
+ {
745
+ // Open
746
+ const bool thereIsMainOpenItem = ((contextMenuFlags & NContextMenuFlags::kOpen) != 0);
747
+ if (thereIsMainOpenItem)
748
+ {
749
+ CCommandMapItem cmi;
750
+ AddCommand(kOpen, mainString, cmi);
751
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, mainString, bitmap);
752
+ }
753
+ if ((contextMenuFlags & NContextMenuFlags::kOpenAs) != 0
754
+ // && (!thereIsMainOpenItem || !FindExt(kNoOpenAsExtensions, fi0.Name))
755
+ && hMenu // we want to reduce number of menu items below 16
756
+ )
757
+ {
758
+ CMenu subMenu;
759
+ if (!hMenu || subMenu.CreatePopup())
760
+ {
761
+ MyAddSubMenu(_commandMap, kOpenCascadedVerb, popupMenu, subIndex++, currentCommandID++, LangString(IDS_CONTEXT_OPEN), subMenu, bitmap);
762
+ _commandMap.Back().CtxCommandType = CtxCommandType_OpenRoot;
763
+
764
+ UINT subIndex2 = 0;
765
+ for (unsigned i = (thereIsMainOpenItem ? 1 : 0); i < Z7_ARRAY_SIZE(kOpenTypes); i++)
766
+ {
767
+ CCommandMapItem cmi;
768
+ if (i == 0)
769
+ FillCommand(kOpen, mainString, cmi);
770
+ else
771
+ {
772
+ mainString = kOpenTypes[i];
773
+ cmi.CommandInternalID = kOpen;
774
+ cmi.Verb = kMainVerb;
775
+ cmi.Verb += ".Open.";
776
+ cmi.Verb += mainString;
777
+ // cmi.HelpString = cmi.Verb;
778
+ cmi.ArcType = mainString;
779
+ cmi.CtxCommandType = CtxCommandType_OpenChild;
780
+ }
781
+ _commandMap.Add(cmi);
782
+ Set_UserString_in_LastCommand(mainString);
783
+ MyInsertMenu(subMenu, subIndex2++, currentCommandID++, mainString, bitmap);
784
+ }
785
+
786
+ subMenu.Detach();
787
+ }
788
+ }
789
+ }
790
+ }
791
+
792
+ ODS("### 150")
793
+
794
+ if (_fileNames.Size() > 0 && currentCommandID + 10 <= commandIDLast)
795
+ {
796
+ ODS("### needExtract list START")
797
+ const bool needExtendedVerbs = ((flags & Z7_WIN_CMF_EXTENDEDVERBS) != 0);
798
+ // || _isMenuForFM;
799
+ bool needExtract = true;
800
+ bool areDirs = fi0.IsDir() || (unsigned)_attribs.FirstDirIndex < k_Explorer_NumReducedItems;
801
+ if (!needReduce)
802
+ areDirs = areDirs || (_attribs.FirstDirIndex != -1);
803
+ if (areDirs)
804
+ needExtract = false;
805
+
806
+ if (!needExtendedVerbs)
807
+ if (needExtract)
808
+ {
809
+ UString name;
810
+ const unsigned numItemsCheck = fileNames->Size();
811
+ for (unsigned i = 0; i < numItemsCheck; i++)
812
+ {
813
+ const UString &a = (*fileNames)[i];
814
+ const int slash = a.ReverseFind_PathSepar();
815
+ name = a.Ptr(slash + 1);
816
+ // for (int y = 0; y < 600; y++) // for debug
817
+ const bool needExtr2 = DoNeedExtract(name, finder);
818
+ if (!needExtr2)
819
+ {
820
+ needExtract = needExtr2;
821
+ break;
822
+ }
823
+ }
824
+ }
825
+ ODS("### needExtract list END")
826
+
827
+ if (needExtract)
828
+ {
829
+ {
830
+ UString baseFolder = fs2us(folderPrefix);
831
+ if (_dropMode)
832
+ baseFolder = _dropPath;
833
+
834
+ UString specFolder ('*');
835
+ if (_fileNames.Size() == 1)
836
+ specFolder = GetSubFolderNameForExtract(fs2us(fi0.Name));
837
+ specFolder.Add_PathSepar();
838
+
839
+ if ((contextMenuFlags & NContextMenuFlags::kExtract) != 0)
840
+ {
841
+ // Extract
842
+ CCommandMapItem cmi;
843
+ cmi.Folder = baseFolder + specFolder;
844
+ AddCommand(kExtract, mainString, cmi);
845
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, mainString, bitmap);
846
+ }
847
+
848
+ if ((contextMenuFlags & NContextMenuFlags::kExtractHere) != 0)
849
+ {
850
+ // Extract Here
851
+ CCommandMapItem cmi;
852
+ cmi.Folder = baseFolder;
853
+ AddCommand(kExtractHere, mainString, cmi);
854
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, mainString, bitmap);
855
+ }
856
+
857
+ if ((contextMenuFlags & NContextMenuFlags::kExtractTo) != 0)
858
+ {
859
+ // Extract To
860
+ CCommandMapItem cmi;
861
+ UString s;
862
+ cmi.Folder = baseFolder + specFolder;
863
+ AddCommand(kExtractTo, s, cmi);
864
+ MyFormatNew_ReducedName(s, specFolder);
865
+ Set_UserString_in_LastCommand(s);
866
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, s, bitmap);
867
+ }
868
+ }
869
+
870
+ if ((contextMenuFlags & NContextMenuFlags::kTest) != 0)
871
+ {
872
+ // Test
873
+ CCommandMapItem cmi;
874
+ AddCommand(kTest, mainString, cmi);
875
+ // if (_fileNames.Size() == 16) mainString += "_[16]"; // for debug
876
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, mainString, bitmap);
877
+ }
878
+ }
879
+
880
+ ODS("### CreateArchiveName START")
881
+ UString arcName_base;
882
+ const UString arcName = CreateArchiveName(
883
+ *fileNames,
884
+ false, // isHash
885
+ fileNames->Size() == 1 ? &fi0 : NULL,
886
+ arcName_base);
887
+ ODS("### CreateArchiveName END")
888
+ UString arcName_Show = arcName;
889
+ if (needReduce)
890
+ {
891
+ /* we need same arcName_Show for two calls from Explorer:
892
+ 1) reduced call (only first 16 items)
893
+ 2) full call with all items (can be >= 16 items)
894
+ (fileNames) array was reduced to 16 items.
895
+ So we will have same (arcName) in both reduced and full calls.
896
+ If caller (Explorer) uses (reduce_to_first_16_items) scheme,
897
+ we can use (arcName) here instead of (arcName_base).
898
+ (arcName_base) has no number in name.
899
+ */
900
+ arcName_Show = arcName_base; // we can comment that line
901
+ /* we use "_" in archive name as sign to user
902
+ that shows that final archive name can be changed. */
903
+ arcName_Show += "_";
904
+ }
905
+
906
+ UString arcName_7z = arcName;
907
+ arcName_7z += ".7z";
908
+ UString arcName_7z_Show = arcName_Show;
909
+ arcName_7z_Show += ".7z";
910
+ UString arcName_zip = arcName;
911
+ arcName_zip += ".zip";
912
+ UString arcName_zip_Show = arcName_Show;
913
+ arcName_zip_Show += ".zip";
914
+
915
+
916
+ // Compress
917
+ if ((contextMenuFlags & NContextMenuFlags::kCompress) != 0)
918
+ {
919
+ CCommandMapItem cmi;
920
+ if (_dropMode)
921
+ cmi.Folder = _dropPath;
922
+ else
923
+ cmi.Folder = fs2us(folderPrefix);
924
+ cmi.ArcName = arcName;
925
+ AddCommand(kCompress, mainString, cmi);
926
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, mainString, bitmap);
927
+ }
928
+
929
+ #ifdef EMAIL_SUPPORT
930
+ // CompressEmail
931
+ if ((contextMenuFlags & NContextMenuFlags::kCompressEmail) != 0 && !_dropMode)
932
+ {
933
+ CCommandMapItem cmi;
934
+ cmi.ArcName = arcName;
935
+ AddCommand(kCompressEmail, mainString, cmi);
936
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, mainString, bitmap);
937
+ }
938
+ #endif
939
+
940
+ // CompressTo7z
941
+ if (contextMenuFlags & NContextMenuFlags::kCompressTo7z &&
942
+ !arcName_7z.IsEqualTo_NoCase(fs2us(fi0.Name)))
943
+ {
944
+ CCommandMapItem cmi;
945
+ UString s;
946
+ if (_dropMode)
947
+ cmi.Folder = _dropPath;
948
+ else
949
+ cmi.Folder = fs2us(folderPrefix);
950
+ cmi.ArcName = arcName_7z;
951
+ cmi.ArcType = "7z";
952
+ AddCommand(kCompressTo7z, s, cmi);
953
+ MyFormatNew_ReducedName(s, arcName_7z_Show);
954
+ Set_UserString_in_LastCommand(s);
955
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, s, bitmap);
956
+ }
957
+
958
+ #ifdef EMAIL_SUPPORT
959
+ // CompressTo7zEmail
960
+ if ((contextMenuFlags & NContextMenuFlags::kCompressTo7zEmail) != 0 && !_dropMode)
961
+ {
962
+ CCommandMapItem cmi;
963
+ UString s;
964
+ cmi.ArcName = arcName_7z;
965
+ cmi.ArcType = "7z";
966
+ AddCommand(kCompressTo7zEmail, s, cmi);
967
+ MyFormatNew_ReducedName(s, arcName_7z_Show);
968
+ Set_UserString_in_LastCommand(s);
969
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, s, bitmap);
970
+ }
971
+ #endif
972
+
973
+ // CompressToZip
974
+ if (contextMenuFlags & NContextMenuFlags::kCompressToZip &&
975
+ !arcName_zip.IsEqualTo_NoCase(fs2us(fi0.Name)))
976
+ {
977
+ CCommandMapItem cmi;
978
+ UString s;
979
+ if (_dropMode)
980
+ cmi.Folder = _dropPath;
981
+ else
982
+ cmi.Folder = fs2us(folderPrefix);
983
+ cmi.ArcName = arcName_zip;
984
+ cmi.ArcType = "zip";
985
+ AddCommand(kCompressToZip, s, cmi);
986
+ MyFormatNew_ReducedName(s, arcName_zip_Show);
987
+ Set_UserString_in_LastCommand(s);
988
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, s, bitmap);
989
+ }
990
+
991
+ #ifdef EMAIL_SUPPORT
992
+ // CompressToZipEmail
993
+ if ((contextMenuFlags & NContextMenuFlags::kCompressToZipEmail) != 0 && !_dropMode)
994
+ {
995
+ CCommandMapItem cmi;
996
+ UString s;
997
+ cmi.ArcName = arcName_zip;
998
+ cmi.ArcType = "zip";
999
+ AddCommand(kCompressToZipEmail, s, cmi);
1000
+ MyFormatNew_ReducedName(s, arcName_zip_Show);
1001
+ Set_UserString_in_LastCommand(s);
1002
+ MyInsertMenu(popupMenu, subIndex++, currentCommandID++, s, bitmap);
1003
+ }
1004
+ #endif
1005
+ }
1006
+
1007
+ ODS("### 300")
1008
+
1009
+ // don't use InsertMenu: See MSDN:
1010
+ // PRB: Duplicate Menu Items In the File Menu For a Shell Context Menu Extension
1011
+ // ID: Q214477
1012
+
1013
+ if (ci.Cascaded.Val)
1014
+ {
1015
+ CMenu menu;
1016
+ menu.Attach(hMenu);
1017
+ menuDestroyer.Disable();
1018
+ MyAddSubMenu(_commandMap, kMainVerb, menu, indexMenu++, currentCommandID++, (UString)"7-Zip",
1019
+ popupMenu, // popupMenu.Detach(),
1020
+ bitmap);
1021
+ }
1022
+ else
1023
+ {
1024
+ // popupMenu.Detach();
1025
+ indexMenu = subIndex;
1026
+ }
1027
+
1028
+ ODS("### 350")
1029
+
1030
+ const bool needCrc = ((contextMenuFlags &
1031
+ (NContextMenuFlags::kCRC |
1032
+ NContextMenuFlags::kCRC_Cascaded)) != 0);
1033
+
1034
+ if (
1035
+ // !_isMenuForFM && // 21.04: we don't hide CRC SHA menu in 7-Zip FM
1036
+ needCrc
1037
+ && currentCommandID + 1 < commandIDLast)
1038
+ {
1039
+ CMenu subMenu;
1040
+ // CMenuDestroyer menuDestroyer_CRC;
1041
+
1042
+ UINT subIndex_CRC = 0;
1043
+
1044
+ if (!hMenu || subMenu.CreatePopup())
1045
+ {
1046
+ // menuDestroyer_CRC.Attach(subMenu);
1047
+ const bool insertHashMenuTo7zipMenu = (ci.Cascaded.Val
1048
+ && (contextMenuFlags & NContextMenuFlags::kCRC_Cascaded) != 0);
1049
+
1050
+ CMenu menu;
1051
+ {
1052
+ unsigned indexInParent;
1053
+ if (insertHashMenuTo7zipMenu)
1054
+ {
1055
+ indexInParent = subIndex;
1056
+ menu.Attach(popupMenu);
1057
+ }
1058
+ else
1059
+ {
1060
+ indexInParent = indexMenu;
1061
+ menu.Attach(hMenu);
1062
+ // menuDestroyer_CRC.Disable();
1063
+ }
1064
+ MyAddSubMenu(_commandMap, kCheckSumCascadedVerb, menu, indexInParent++, currentCommandID++, (UString)"CRC SHA", subMenu,
1065
+ /* insertHashMenuTo7zipMenu ? NULL : */ bitmap);
1066
+ _commandMap.Back().CtxCommandType = CtxCommandType_CrcRoot;
1067
+ if (!insertHashMenuTo7zipMenu)
1068
+ indexMenu = indexInParent;
1069
+ }
1070
+
1071
+ ODS("### HashCommands")
1072
+
1073
+ for (unsigned i = 0; i < Z7_ARRAY_SIZE(g_HashCommands); i++)
1074
+ {
1075
+ if (currentCommandID >= commandIDLast)
1076
+ break;
1077
+ const CHashCommand &hc = g_HashCommands[i];
1078
+ CCommandMapItem cmi;
1079
+ cmi.CommandInternalID = hc.CommandInternalID;
1080
+ cmi.Verb = kCheckSumCascadedVerb;
1081
+ cmi.Verb.Add_Dot();
1082
+ UString s;
1083
+ s += hc.UserName;
1084
+
1085
+ if (hc.CommandInternalID == kHash_Generate_SHA256)
1086
+ {
1087
+ cmi.Verb += "Generate";
1088
+ {
1089
+ popupMenu.Attach(hMenu);
1090
+ CMenuItem mi;
1091
+ mi.fType = MFT_SEPARATOR;
1092
+ mi.fMask = MIIM_TYPE;
1093
+ subMenu.InsertItem(subIndex_CRC++, true, mi);
1094
+ }
1095
+
1096
+ UString name;
1097
+ UString showName;
1098
+ ODS("### Hash CreateArchiveName Start")
1099
+ // for (int y = 0; y < 10000; y++) // for debug
1100
+ // if (fileNames->Size() == 1) name = fs2us(fi0.Name); else
1101
+ name = CreateArchiveName(
1102
+ *fileNames,
1103
+ true, // isHash
1104
+ fileNames->Size() == 1 ? &fi0 : NULL,
1105
+ showName);
1106
+ if (needReduce)
1107
+ showName += "_";
1108
+ else
1109
+ showName = name;
1110
+
1111
+ ODS("### Hash CreateArchiveName END")
1112
+ name += ".sha256";
1113
+ showName += ".sha256";
1114
+ cmi.Folder = fs2us(folderPrefix);
1115
+ cmi.ArcName = name;
1116
+ s = "SHA-256 -> ";
1117
+ s += showName;
1118
+ }
1119
+ else if (hc.CommandInternalID == kHash_TestArc)
1120
+ {
1121
+ cmi.Verb += "Test";
1122
+ s = LangStringAlt(IDS_CONTEXT_TEST, "Test archive");
1123
+ s += " : ";
1124
+ s += GetNameOfProperty(kpidChecksum, UString("Checksum"));
1125
+ }
1126
+ else
1127
+ cmi.Verb += "Calc";
1128
+
1129
+ cmi.Verb.Add_Dot();
1130
+ cmi.Verb += hc.MethodName;
1131
+
1132
+ // cmi.HelpString = cmi.Verb;
1133
+ cmi.UserString = s;
1134
+ cmi.CtxCommandType = CtxCommandType_CrcChild;
1135
+ _commandMap.Add(cmi);
1136
+ MyInsertMenu(subMenu, subIndex_CRC++, currentCommandID++, s, bitmap);
1137
+ ODS("### 380")
1138
+ }
1139
+
1140
+ subMenu.Detach();
1141
+ }
1142
+ }
1143
+
1144
+ popupMenu.Detach();
1145
+ /*
1146
+ if (!ci.Cascaded.Val)
1147
+ indexMenu = subIndex;
1148
+ */
1149
+ const unsigned numCommands = currentCommandID - commandIDFirst;
1150
+ ODS("+ QueryContextMenu() END")
1151
+ ODS_SPRF_s(sprintf(s, "Commands=%u currentCommandID - commandIDFirst = %u",
1152
+ _commandMap.Size(), numCommands))
1153
+ if (_commandMap.Size() != numCommands)
1154
+ throw 20190818;
1155
+ /*
1156
+ FOR_VECTOR (k, _commandMap)
1157
+ {
1158
+ ODS_U(_commandMap[k].Verb);
1159
+ }
1160
+ */
1161
+ }
1162
+ catch(...)
1163
+ {
1164
+ ODS_SPRF_s(sprintf(s, "catch() exception: Commands=%u", _commandMap.Size()))
1165
+ if (_commandMap.Size() == 0)
1166
+ throw;
1167
+ }
1168
+ /* we added some menu items already : num_added_menu_items,
1169
+ So we MUST return (number_of_defined_ids), where (number_of_defined_ids >= num_added_menu_items)
1170
+ This will prevent incorrect menu working, when same IDs can be
1171
+ assigned in multiple menu items from different subhandlers.
1172
+ And we must add items to _commandMap before adding to menu.
1173
+ */
1174
+ return MAKE_HRESULT_SUCCESS_FAC0(_commandMap.Size());
1175
+ COM_TRY_END
1176
+ }
1177
+
1178
+
1179
+ int CZipContextMenu::FindVerb(const UString &verb) const
1180
+ {
1181
+ FOR_VECTOR (i, _commandMap)
1182
+ if (_commandMap[i].Verb == verb)
1183
+ return (int)i;
1184
+ return -1;
1185
+ }
1186
+
1187
+ static UString Get7zFmPath()
1188
+ {
1189
+ return fs2us(NWindows::NDLL::GetModuleDirPrefix()) + L"7zFM.exe";
1190
+ }
1191
+
1192
+
1193
+ Z7_COMWF_B CZipContextMenu::InvokeCommand(LPCMINVOKECOMMANDINFO commandInfo)
1194
+ {
1195
+ COM_TRY_BEGIN
1196
+
1197
+ ODS("==== CZipContextMenu::InvokeCommand()")
1198
+
1199
+ #ifdef SHOW_DEBUG_CTX_MENU
1200
+
1201
+ ODS_SPRF_s(sprintf(s, ": InvokeCommand: cbSize=%u flags=%x ",
1202
+ (unsigned)commandInfo->cbSize, (unsigned)commandInfo->fMask))
1203
+
1204
+ PrintStringA("Verb", commandInfo->lpVerb);
1205
+ PrintStringA("Parameters", commandInfo->lpParameters);
1206
+ PrintStringA("Directory", commandInfo->lpDirectory);
1207
+ #endif
1208
+
1209
+ int commandOffset = -1;
1210
+
1211
+ // xp64 / Win10 : explorer.exe sends 0 in lpVerbW
1212
+ // MSDN: if (IS_INTRESOURCE(lpVerbW)), we must use LOWORD(lpVerb) as command offset
1213
+
1214
+ // FIXME: old MINGW doesn't define CMINVOKECOMMANDINFOEX / CMIC_MASK_UNICODE
1215
+ #if !defined(UNDER_CE) && defined(CMIC_MASK_UNICODE)
1216
+ bool unicodeVerb = false;
1217
+ if (commandInfo->cbSize == sizeof(CMINVOKECOMMANDINFOEX) &&
1218
+ (commandInfo->fMask & CMIC_MASK_UNICODE) != 0)
1219
+ {
1220
+ LPCMINVOKECOMMANDINFOEX commandInfoEx = (LPCMINVOKECOMMANDINFOEX)commandInfo;
1221
+ if (!MY_IS_INTRESOURCE(commandInfoEx->lpVerbW))
1222
+ {
1223
+ unicodeVerb = true;
1224
+ commandOffset = FindVerb(commandInfoEx->lpVerbW);
1225
+ }
1226
+
1227
+ #ifdef SHOW_DEBUG_CTX_MENU
1228
+ PrintStringW("VerbW", commandInfoEx->lpVerbW);
1229
+ PrintStringW("ParametersW", commandInfoEx->lpParametersW);
1230
+ PrintStringW("DirectoryW", commandInfoEx->lpDirectoryW);
1231
+ PrintStringW("TitleW", commandInfoEx->lpTitleW);
1232
+ PrintStringA("Title", commandInfoEx->lpTitle);
1233
+ #endif
1234
+ }
1235
+ if (!unicodeVerb)
1236
+ #endif
1237
+ {
1238
+ ODS("use non-UNICODE verb")
1239
+ // if (HIWORD(commandInfo->lpVerb) == 0)
1240
+ if (MY_IS_INTRESOURCE(commandInfo->lpVerb))
1241
+ commandOffset = LOWORD(commandInfo->lpVerb);
1242
+ else
1243
+ commandOffset = FindVerb(GetUnicodeString(commandInfo->lpVerb));
1244
+ }
1245
+
1246
+ ODS_SPRF_s(sprintf(s, "commandOffset=%d", commandOffset))
1247
+
1248
+ if (/* commandOffset < 0 || */ (unsigned)commandOffset >= _commandMap.Size())
1249
+ return E_INVALIDARG;
1250
+ const CCommandMapItem &cmi = _commandMap[(unsigned)commandOffset];
1251
+ return InvokeCommandCommon(cmi);
1252
+ COM_TRY_END
1253
+ }
1254
+
1255
+
1256
+ HRESULT CZipContextMenu::InvokeCommandCommon(const CCommandMapItem &cmi)
1257
+ {
1258
+ const enum_CommandInternalID cmdID = cmi.CommandInternalID;
1259
+
1260
+ try
1261
+ {
1262
+ switch (cmdID)
1263
+ {
1264
+ case kOpen:
1265
+ {
1266
+ UString params;
1267
+ params = GetQuotedString(_fileNames[0]);
1268
+ if (!cmi.ArcType.IsEmpty())
1269
+ {
1270
+ params += " -t";
1271
+ params += cmi.ArcType;
1272
+ }
1273
+ MyCreateProcess(Get7zFmPath(), params);
1274
+ break;
1275
+ }
1276
+ case kExtract:
1277
+ case kExtractHere:
1278
+ case kExtractTo:
1279
+ {
1280
+ if (_attribs.FirstDirIndex != -1)
1281
+ {
1282
+ ShowErrorMessageRes(IDS_SELECT_FILES);
1283
+ break;
1284
+ }
1285
+ ExtractArchives(_fileNames, cmi.Folder,
1286
+ (cmdID == kExtract), // showDialog
1287
+ (cmdID == kExtractTo) && _elimDup.Val, // elimDup
1288
+ _writeZone
1289
+ );
1290
+ break;
1291
+ }
1292
+ case kTest:
1293
+ {
1294
+ TestArchives(_fileNames);
1295
+ break;
1296
+ }
1297
+ case kCompress:
1298
+ case kCompressEmail:
1299
+ case kCompressTo7z:
1300
+ case kCompressTo7zEmail:
1301
+ case kCompressToZip:
1302
+ case kCompressToZipEmail:
1303
+ {
1304
+ UString arcName = cmi.ArcName;
1305
+ if (_fileNames_WereReduced)
1306
+ {
1307
+ UString arcName_base;
1308
+ arcName = CreateArchiveName(
1309
+ _fileNames,
1310
+ false, // isHash
1311
+ NULL, // fi0
1312
+ arcName_base);
1313
+ const char *postfix = NULL;
1314
+ if (cmdID == kCompressTo7z ||
1315
+ cmdID == kCompressTo7zEmail)
1316
+ postfix = ".7z";
1317
+ else if (
1318
+ cmdID == kCompressToZip ||
1319
+ cmdID == kCompressToZipEmail)
1320
+ postfix = ".zip";
1321
+ if (postfix)
1322
+ arcName += postfix;
1323
+ }
1324
+
1325
+ const bool email =
1326
+ cmdID == kCompressEmail ||
1327
+ cmdID == kCompressTo7zEmail ||
1328
+ cmdID == kCompressToZipEmail;
1329
+ const bool showDialog =
1330
+ cmdID == kCompress ||
1331
+ cmdID == kCompressEmail;
1332
+ const bool addExtension = showDialog;
1333
+ CompressFiles(cmi.Folder,
1334
+ arcName, cmi.ArcType,
1335
+ addExtension,
1336
+ _fileNames, email, showDialog,
1337
+ false // waitFinish
1338
+ );
1339
+ break;
1340
+ }
1341
+
1342
+ case kHash_CRC32:
1343
+ case kHash_CRC64:
1344
+ case kHash_XXH64:
1345
+ case kHash_MD5:
1346
+ case kHash_SHA1:
1347
+ case kHash_SHA256:
1348
+ case kHash_SHA384:
1349
+ case kHash_SHA512:
1350
+ case kHash_SHA3_256:
1351
+ case kHash_BLAKE2SP:
1352
+ case kHash_All:
1353
+ case kHash_Generate_SHA256:
1354
+ case kHash_TestArc:
1355
+ {
1356
+ for (unsigned i = 0; i < Z7_ARRAY_SIZE(g_HashCommands); i++)
1357
+ {
1358
+ const CHashCommand &hc = g_HashCommands[i];
1359
+ if (hc.CommandInternalID == cmdID)
1360
+ {
1361
+ if (cmdID == kHash_TestArc)
1362
+ {
1363
+ TestArchives(_fileNames, true); // hashMode
1364
+ break;
1365
+ }
1366
+ UString generateName;
1367
+ if (cmdID == kHash_Generate_SHA256)
1368
+ {
1369
+ generateName = cmi.ArcName;
1370
+ if (_fileNames_WereReduced)
1371
+ {
1372
+ UString arcName_base;
1373
+ generateName = CreateArchiveName(_fileNames,
1374
+ true, // isHash
1375
+ NULL, // fi0
1376
+ arcName_base);
1377
+ generateName += ".sha256";
1378
+ }
1379
+ }
1380
+ CalcChecksum(_fileNames, (UString)hc.MethodName,
1381
+ cmi.Folder, generateName);
1382
+ break;
1383
+ }
1384
+ }
1385
+ break;
1386
+ }
1387
+ case kCommandNULL:
1388
+ break;
1389
+ }
1390
+ }
1391
+ catch(...)
1392
+ {
1393
+ ShowErrorMessage(NULL, L"Error");
1394
+ }
1395
+ return S_OK;
1396
+ }
1397
+
1398
+
1399
+
1400
+ static void MyCopyString_isUnicode(void *dest, UINT size, const UString &src, bool writeInUnicode)
1401
+ {
1402
+ if (size != 0)
1403
+ size--;
1404
+ if (writeInUnicode)
1405
+ {
1406
+ UString s = src;
1407
+ s.DeleteFrom(size);
1408
+ MyStringCopy((wchar_t *)dest, s);
1409
+ ODS_U(s)
1410
+ }
1411
+ else
1412
+ {
1413
+ AString s = GetAnsiString(src);
1414
+ s.DeleteFrom(size);
1415
+ MyStringCopy((char *)dest, s);
1416
+ }
1417
+ }
1418
+
1419
+
1420
+ Z7_COMWF_B CZipContextMenu::GetCommandString(
1421
+ #ifdef Z7_OLD_WIN_SDK
1422
+ UINT
1423
+ #else
1424
+ UINT_PTR
1425
+ #endif
1426
+ commandOffset,
1427
+ UINT uType,
1428
+ UINT * /* pwReserved */ , LPSTR pszName, UINT cchMax)
1429
+ {
1430
+ COM_TRY_BEGIN
1431
+
1432
+ ODS("GetCommandString")
1433
+
1434
+ const int cmdOffset = (int)commandOffset;
1435
+
1436
+ ODS_SPRF_s(sprintf(s, "GetCommandString: cmdOffset=%d uType=%d cchMax = %d",
1437
+ cmdOffset, uType, cchMax))
1438
+
1439
+ if ((uType | GCS_UNICODE) == GCS_VALIDATEW)
1440
+ {
1441
+ if (/* cmdOffset < 0 || */ (unsigned)cmdOffset >= _commandMap.Size())
1442
+ return S_FALSE;
1443
+ return S_OK;
1444
+ }
1445
+
1446
+ if (/* cmdOffset < 0 || */ (unsigned)cmdOffset >= _commandMap.Size())
1447
+ {
1448
+ ODS("------ cmdOffset: E_INVALIDARG")
1449
+ return E_INVALIDARG;
1450
+ }
1451
+
1452
+ // we use Verb as HelpString
1453
+ if (cchMax != 0)
1454
+ if ((uType | GCS_UNICODE) == GCS_VERBW ||
1455
+ (uType | GCS_UNICODE) == GCS_HELPTEXTW)
1456
+ {
1457
+ const CCommandMapItem &cmi = _commandMap[(unsigned)cmdOffset];
1458
+ MyCopyString_isUnicode(pszName, cchMax, cmi.Verb, (uType & GCS_UNICODE) != 0);
1459
+ return S_OK;
1460
+ }
1461
+
1462
+ return E_INVALIDARG;
1463
+
1464
+ COM_TRY_END
1465
+ }
1466
+
1467
+
1468
+
1469
+ // ---------- IExplorerCommand ----------
1470
+
1471
+ static HRESULT WINAPI My_SHStrDupW(LPCWSTR src, LPWSTR *dest)
1472
+ {
1473
+ if (src)
1474
+ {
1475
+ const SIZE_T size = (wcslen(src) + 1) * sizeof(WCHAR);
1476
+ WCHAR *p = (WCHAR *)CoTaskMemAlloc(size);
1477
+ if (p)
1478
+ {
1479
+ memcpy(p, src, size);
1480
+ *dest = p;
1481
+ return S_OK;
1482
+ }
1483
+ }
1484
+ *dest = NULL;
1485
+ return E_OUTOFMEMORY;
1486
+ }
1487
+
1488
+
1489
+ #define CZipExplorerCommand CZipContextMenu
1490
+
1491
+ class CCoTaskWSTR
1492
+ {
1493
+ LPWSTR m_str;
1494
+ Z7_CLASS_NO_COPY(CCoTaskWSTR)
1495
+ public:
1496
+ CCoTaskWSTR(): m_str(NULL) {}
1497
+ ~CCoTaskWSTR() { ::CoTaskMemFree(m_str); }
1498
+ LPWSTR* operator&() Z7_lifetimebound { return &m_str; }
1499
+ operator LPCWSTR () const { return m_str; }
1500
+ // operator LPCOLESTR() const { return m_str; }
1501
+ operator bool() const { return m_str != NULL; }
1502
+ // bool operator!() const { return m_str == NULL; }
1503
+
1504
+ /*
1505
+ void Wipe_and_Free()
1506
+ {
1507
+ if (m_str)
1508
+ {
1509
+ memset(m_str, 0, ::SysStringLen(m_str) * sizeof(*m_str));
1510
+ Empty();
1511
+ }
1512
+ }
1513
+ */
1514
+
1515
+ private:
1516
+ /*
1517
+ CCoTaskWSTR(LPCOLESTR src) { m_str = ::CoTaskMemAlloc(src); }
1518
+
1519
+ CCoTaskWSTR& operator=(LPCOLESTR src)
1520
+ {
1521
+ ::CoTaskMemFree(m_str);
1522
+ m_str = ::SysAllocString(src);
1523
+ return *this;
1524
+ }
1525
+
1526
+
1527
+ void Empty()
1528
+ {
1529
+ ::CoTaskMemFree(m_str);
1530
+ m_str = NULL;
1531
+ }
1532
+ */
1533
+ };
1534
+
1535
+ static HRESULT LoadPaths(IShellItemArray *psiItemArray, UStringVector &paths)
1536
+ {
1537
+ if (psiItemArray)
1538
+ {
1539
+ DWORD numItems = 0;
1540
+ RINOK(psiItemArray->GetCount(&numItems))
1541
+ {
1542
+ ODS_(Print_Number(numItems, " ==== LoadPaths START === "))
1543
+ for (DWORD i = 0; i < numItems; i++)
1544
+ {
1545
+ CMyComPtr<IShellItem> item;
1546
+ RINOK(psiItemArray->GetItemAt(i, &item))
1547
+ if (item)
1548
+ {
1549
+ CCoTaskWSTR displayName;
1550
+ if (item->GetDisplayName(SIGDN_FILESYSPATH, &displayName) == S_OK
1551
+ && (bool)displayName)
1552
+ {
1553
+ ODS_U(displayName)
1554
+ paths.Add((LPCWSTR)displayName);
1555
+ }
1556
+ }
1557
+ }
1558
+ ODS_(Print_Number(numItems, " ==== LoadPaths END === "))
1559
+ }
1560
+ }
1561
+ return S_OK;
1562
+ }
1563
+
1564
+
1565
+ void CZipExplorerCommand::LoadItems(IShellItemArray *psiItemArray)
1566
+ {
1567
+ SubCommands.Clear();
1568
+ _fileNames.Clear();
1569
+ {
1570
+ UStringVector paths;
1571
+ if (LoadPaths(psiItemArray, paths) != S_OK)
1572
+ return;
1573
+ _fileNames = paths;
1574
+ }
1575
+ const HRESULT res = QueryContextMenu(
1576
+ NULL, // hMenu,
1577
+ 0, // indexMenu,
1578
+ 0, // commandIDFirst,
1579
+ 0 + 999, // commandIDLast,
1580
+ CMF_NORMAL);
1581
+
1582
+ if (FAILED(res))
1583
+ return /* res */;
1584
+
1585
+ CZipExplorerCommand *crcHandler = NULL;
1586
+ CZipExplorerCommand *openHandler = NULL;
1587
+
1588
+ bool useCascadedCrc = true; // false;
1589
+ bool useCascadedOpen = true; // false;
1590
+
1591
+ for (unsigned i = 0; i < _commandMap.Size(); i++)
1592
+ {
1593
+ const CCommandMapItem &cmi = _commandMap[i];
1594
+
1595
+ if (cmi.IsPopup)
1596
+ if (!cmi.IsSubMenu())
1597
+ continue;
1598
+
1599
+ // if (cmi.IsSubMenu()) continue // for debug
1600
+
1601
+ CZipContextMenu *shellExt = new CZipContextMenu();
1602
+ shellExt->IsRoot = false;
1603
+
1604
+ if (cmi.CtxCommandType == CtxCommandType_CrcRoot && !useCascadedCrc)
1605
+ shellExt->IsSeparator = true;
1606
+
1607
+ {
1608
+ CZipExplorerCommand *handler = this;
1609
+ if (cmi.CtxCommandType == CtxCommandType_CrcChild && crcHandler)
1610
+ handler = crcHandler;
1611
+ else if (cmi.CtxCommandType == CtxCommandType_OpenChild && openHandler)
1612
+ handler = openHandler;
1613
+ handler->SubCommands.AddNew() = shellExt;
1614
+ }
1615
+
1616
+ shellExt->_commandMap_Cur.Add(cmi);
1617
+
1618
+ ODS_U(cmi.UserString)
1619
+
1620
+ if (cmi.CtxCommandType == CtxCommandType_CrcRoot && useCascadedCrc)
1621
+ crcHandler = shellExt;
1622
+ if (cmi.CtxCommandType == CtxCommandType_OpenRoot && useCascadedOpen)
1623
+ {
1624
+ // ODS("cmi.CtxCommandType == CtxCommandType_OpenRoot");
1625
+ openHandler = shellExt;
1626
+ }
1627
+ }
1628
+ }
1629
+
1630
+
1631
+ Z7_COMWF_B CZipExplorerCommand::GetTitle(IShellItemArray *psiItemArray, LPWSTR *ppszName)
1632
+ {
1633
+ ODS("- GetTitle()")
1634
+ // COM_TRY_BEGIN
1635
+ if (IsSeparator)
1636
+ {
1637
+ *ppszName = NULL;
1638
+ return S_FALSE;
1639
+ }
1640
+
1641
+ UString name;
1642
+ if (IsRoot)
1643
+ {
1644
+ LoadItems(psiItemArray);
1645
+ name = "7-Zip"; // "New"
1646
+ }
1647
+ else
1648
+ name = "7-Zip item";
1649
+
1650
+ if (!_commandMap_Cur.IsEmpty())
1651
+ {
1652
+ const CCommandMapItem &mi = _commandMap_Cur[0];
1653
+ // s += mi.Verb;
1654
+ // s += " : ";
1655
+ name = mi.UserString;
1656
+ }
1657
+
1658
+ return My_SHStrDupW(name, ppszName);
1659
+ // return S_OK;
1660
+ // COM_TRY_END
1661
+ }
1662
+
1663
+
1664
+ Z7_COMWF_B CZipExplorerCommand::GetIcon(IShellItemArray * /* psiItemArray */, LPWSTR *ppszIcon)
1665
+ {
1666
+ ODS("- GetIcon()")
1667
+ // COM_TRY_BEGIN
1668
+ *ppszIcon = NULL;
1669
+ // return E_NOTIMPL;
1670
+ UString imageName = fs2us(NWindows::NDLL::GetModuleDirPrefix());
1671
+ // imageName += "7zG.exe";
1672
+ imageName += "7-zip.dll";
1673
+ // imageName += ",190";
1674
+ return My_SHStrDupW(imageName, ppszIcon);
1675
+ // COM_TRY_END
1676
+ }
1677
+
1678
+
1679
+ Z7_COMWF_B CZipExplorerCommand::GetToolTip (IShellItemArray * /* psiItemArray */, LPWSTR *ppszInfotip)
1680
+ {
1681
+ // COM_TRY_BEGIN
1682
+ ODS("- GetToolTip()")
1683
+ *ppszInfotip = NULL;
1684
+ return E_NOTIMPL;
1685
+ // COM_TRY_END
1686
+ }
1687
+
1688
+
1689
+ Z7_COMWF_B CZipExplorerCommand::GetCanonicalName(GUID *pguidCommandName)
1690
+ {
1691
+ // COM_TRY_BEGIN
1692
+ ODS("- GetCanonicalName()")
1693
+ *pguidCommandName = GUID_NULL;
1694
+ return E_NOTIMPL;
1695
+ // COM_TRY_END
1696
+ }
1697
+
1698
+
1699
+ Z7_COMWF_B CZipExplorerCommand::GetState(IShellItemArray * /* psiItemArray */, BOOL /* fOkToBeSlow */, EXPCMDSTATE *pCmdState)
1700
+ {
1701
+ // COM_TRY_BEGIN
1702
+ ODS("- GetState()")
1703
+ *pCmdState = ECS_ENABLED;
1704
+ return S_OK;
1705
+ // COM_TRY_END
1706
+ }
1707
+
1708
+
1709
+
1710
+
1711
+ Z7_COMWF_B CZipExplorerCommand::Invoke(IShellItemArray *psiItemArray, IBindCtx * /* pbc */)
1712
+ {
1713
+ COM_TRY_BEGIN
1714
+
1715
+ if (_commandMap_Cur.IsEmpty())
1716
+ return E_INVALIDARG;
1717
+
1718
+ ODS("- Invoke()")
1719
+ _fileNames.Clear();
1720
+ UStringVector paths;
1721
+ RINOK(LoadPaths(psiItemArray, paths))
1722
+ _fileNames = paths;
1723
+ return InvokeCommandCommon(_commandMap_Cur[0]);
1724
+
1725
+ COM_TRY_END
1726
+ }
1727
+
1728
+
1729
+ Z7_COMWF_B CZipExplorerCommand::GetFlags(EXPCMDFLAGS *pFlags)
1730
+ {
1731
+ ODS("- GetFlags()")
1732
+ // COM_TRY_BEGIN
1733
+ EXPCMDFLAGS f = ECF_DEFAULT;
1734
+ if (IsSeparator)
1735
+ f = ECF_ISSEPARATOR;
1736
+ else if (IsRoot)
1737
+ f = ECF_HASSUBCOMMANDS;
1738
+ else
1739
+ {
1740
+ if (!_commandMap_Cur.IsEmpty())
1741
+ {
1742
+ // const CCommandMapItem &cmi = ;
1743
+ if (_commandMap_Cur[0].IsSubMenu())
1744
+ {
1745
+ // ODS("ECF_HASSUBCOMMANDS")
1746
+ f = ECF_HASSUBCOMMANDS;
1747
+ }
1748
+ }
1749
+ }
1750
+ *pFlags = f;
1751
+ return S_OK;
1752
+ // COM_TRY_END
1753
+ }
1754
+
1755
+
1756
+ Z7_COMWF_B CZipExplorerCommand::EnumSubCommands(IEnumExplorerCommand **ppEnum)
1757
+ {
1758
+ ODS("- EnumSubCommands()")
1759
+ // COM_TRY_BEGIN
1760
+ *ppEnum = NULL;
1761
+
1762
+ if (!_commandMap_Cur.IsEmpty() && _commandMap_Cur[0].IsSubMenu())
1763
+ {
1764
+ }
1765
+ else
1766
+ {
1767
+ if (!IsRoot)
1768
+ return E_NOTIMPL;
1769
+ if (SubCommands.IsEmpty())
1770
+ {
1771
+ return E_NOTIMPL;
1772
+ }
1773
+ }
1774
+
1775
+ // shellExt->
1776
+ return QueryInterface(IID_IEnumExplorerCommand, (void **)ppEnum);
1777
+
1778
+ // return S_OK;
1779
+ // COM_TRY_END
1780
+ }
1781
+
1782
+
1783
+ Z7_COMWF_B CZipContextMenu::Next(ULONG celt, IExplorerCommand **pUICommand, ULONG *pceltFetched)
1784
+ {
1785
+ ODS("CZipContextMenu::Next()")
1786
+ ODS_(Print_Number(celt, "celt"))
1787
+ ODS_(Print_Number(CurrentSubCommand, "CurrentSubCommand"))
1788
+ ODS_(Print_Number(SubCommands.Size(), "SubCommands.Size()"))
1789
+
1790
+ COM_TRY_BEGIN
1791
+ ULONG fetched = 0;
1792
+
1793
+ ULONG i;
1794
+ for (i = 0; i < celt; i++)
1795
+ {
1796
+ pUICommand[i] = NULL;
1797
+ }
1798
+
1799
+ for (i = 0; i < celt && CurrentSubCommand < SubCommands.Size(); i++)
1800
+ {
1801
+ pUICommand[i] = SubCommands[CurrentSubCommand++];
1802
+ pUICommand[i]->AddRef();
1803
+ fetched++;
1804
+ }
1805
+
1806
+ if (pceltFetched)
1807
+ *pceltFetched = fetched;
1808
+
1809
+ ODS(fetched == celt ? " === OK === " : "=== ERROR ===")
1810
+
1811
+ // we return S_FALSE for (fetched == 0)
1812
+ return (fetched == celt) ? S_OK : S_FALSE;
1813
+ COM_TRY_END
1814
+ }
1815
+
1816
+
1817
+ Z7_COMWF_B CZipContextMenu::Skip(ULONG /* celt */)
1818
+ {
1819
+ ODS("CZipContextMenu::Skip()")
1820
+ return E_NOTIMPL;
1821
+ }
1822
+
1823
+
1824
+ Z7_COMWF_B CZipContextMenu::Reset(void)
1825
+ {
1826
+ ODS("CZipContextMenu::Reset()")
1827
+ CurrentSubCommand = 0;
1828
+ return S_OK;
1829
+ }
1830
+
1831
+
1832
+ Z7_COMWF_B CZipContextMenu::Clone(IEnumExplorerCommand **ppenum)
1833
+ {
1834
+ ODS("CZipContextMenu::Clone()")
1835
+ *ppenum = NULL;
1836
+ return E_NOTIMPL;
1837
+ }