├── _config.yml ├── .gitattributes ├── docs ├── favicon.ico ├── fonts │ ├── open-iconic.47151e87.eot │ ├── open-iconic.527eff64.otf │ ├── open-iconic.93cc7aa6.ttf │ └── open-iconic.3cf97837.woff ├── css │ └── app.6b79cdfc.css ├── 404.html ├── index.html └── js │ ├── app.4c85d27f.js │ └── app.4c85d27f.js.map ├── FernflowerUI_MFC ├── res │ ├── .bmp │ ├── info.bmp │ ├── small.ico │ ├── sort.bmp │ ├── Toolbar.bmp │ ├── explorer.bmp │ ├── fileview.bmp │ ├── sort_hc.bmp │ ├── Toolbar256.bmp │ ├── class_view.ico │ ├── classf_obj.bmp │ ├── classf_obj.png │ ├── classview.bmp │ ├── file_view.ico │ ├── menuimages.bmp │ ├── output_wnd.ico │ ├── userimages.bmp │ ├── class_view_hc.ico │ ├── classview_hc.bmp │ ├── explorer_hc.bmp │ ├── file_view_hc.ico │ ├── fileview_hc.bmp │ ├── menuimages_hc.bmp │ ├── output_wnd_hc.ico │ ├── FernflowerUIMFC.rc2 │ ├── Toolbar_backup.bmp │ ├── properties_wnd.ico │ ├── startlistimage.bmp │ ├── FernFlowerUI_MFC.ico │ ├── Toolbar256_backup.bmp │ ├── classview_Backup.bmp │ ├── properties_wnd_hc.ico │ ├── FernflowerUI_MFCDoc.ico │ ├── FernflowerUI_MFC_Old.ico │ ├── classview__hc_Backup.bmp │ ├── menuimages_hc_Backup.bmp │ ├── FernflowerUI_MFC_Backup.ico │ └── startlistimage_Backup.bmp ├── stdafx.h ├── ChildFrm.h ├── ClassView.h ├── FileView.h ├── MainFrm.cpp ├── MainFrm.h ├── OutputWnd.h ├── ViewTree.h ├── resource.h ├── small.ico ├── stdafx.cpp ├── targetver.h ├── ChildFrm.cpp ├── ClassView.cpp ├── FileView.cpp ├── OutputWnd.cpp ├── ViewTree.cpp ├── zlibstat.pdb ├── CommonWrapper.h ├── FernFlowerUI.ico ├── PropertiesWnd.h ├── ShellTreeView.h ├── SplashView.cpp ├── pack.mcmeta ├── CommonWrapper.cpp ├── DecompOpinionBox.h ├── FernflowerUIMFC.rc ├── FernflowerUI_MFC.h ├── PropertiesWnd.cpp ├── ShellTreeView.cpp ├── DecompOpinionBox.cpp ├── FernflowerUIMFC.aps ├── FernflowerUI_MFC.cpp ├── FernflowerUI_MFC.reg ├── FernflowerUI_MFCDoc.h ├── UsingImages │ ├── Cache.jpg │ ├── SaveJar.jpg │ ├── FindText.jpg │ ├── OpenFile.jpg │ ├── StartPage.jpg │ ├── ViewUpdate.jpg │ ├── DesktopAlert.jpg │ ├── DecompInsideJar.jpg │ └── FernFlowerUI_MFC.ico ├── FernflowerUI_MFCDoc.cpp ├── FernflowerUI_MFCView.h ├── FernflowerUI_MFCData.cpp ├── FernflowerUI_MFCView.cpp ├── OutputWnd_TestBackup.cpp ├── mcmod.info ├── FernflowerUI_MFCData.h ├── SplashView.h ├── Md5Checksum.h ├── FernflowerUI_MFC.vcxproj.user ├── Md5ChecksumDefs.h ├── FernflowerUI_MFC.vcxproj.filters ├── zip.h ├── unzip.h ├── Md5Checksum.cpp ├── zconf.h └── FernflowerUI_MFC.vcxproj ├── .gitignore ├── FernflowerUI_MFC.sln ├── README.md └── LICENSE /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/docs/favicon.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/stdafx.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/ChildFrm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/ChildFrm.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/ClassView.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/ClassView.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/FileView.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FileView.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/MainFrm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/MainFrm.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/MainFrm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/MainFrm.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/OutputWnd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/OutputWnd.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/ViewTree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/ViewTree.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/resource.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/small.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/stdafx.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/targetver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/targetver.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/ChildFrm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/ChildFrm.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/ClassView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/ClassView.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/FileView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FileView.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/OutputWnd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/OutputWnd.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/ViewTree.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/ViewTree.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/info.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/info.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/small.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/sort.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/sort.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/zlibstat.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/zlibstat.pdb -------------------------------------------------------------------------------- /FernflowerUI_MFC/CommonWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/CommonWrapper.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernFlowerUI.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernFlowerUI.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/PropertiesWnd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/PropertiesWnd.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/ShellTreeView.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/ShellTreeView.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/SplashView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/SplashView.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/pack.mcmeta: -------------------------------------------------------------------------------- 1 | { 2 | "pack":{ 3 | "pack_format":1, 4 | "description":"iChunUtil" 5 | } 6 | } -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/Toolbar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/Toolbar.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/explorer.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/explorer.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/fileview.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/fileview.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/sort_hc.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/sort_hc.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/CommonWrapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/CommonWrapper.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/DecompOpinionBox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/DecompOpinionBox.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUIMFC.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUIMFC.rc -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFC.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUI_MFC.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/PropertiesWnd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/PropertiesWnd.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/ShellTreeView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/ShellTreeView.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/Toolbar256.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/Toolbar256.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/class_view.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/class_view.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/classf_obj.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/classf_obj.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/classf_obj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/classf_obj.png -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/classview.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/classview.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/file_view.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/file_view.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/menuimages.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/menuimages.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/output_wnd.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/output_wnd.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/userimages.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/userimages.bmp -------------------------------------------------------------------------------- /docs/fonts/open-iconic.47151e87.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/docs/fonts/open-iconic.47151e87.eot -------------------------------------------------------------------------------- /docs/fonts/open-iconic.527eff64.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/docs/fonts/open-iconic.527eff64.otf -------------------------------------------------------------------------------- /docs/fonts/open-iconic.93cc7aa6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/docs/fonts/open-iconic.93cc7aa6.ttf -------------------------------------------------------------------------------- /FernflowerUI_MFC/DecompOpinionBox.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/DecompOpinionBox.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUIMFC.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUIMFC.aps -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFC.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUI_MFC.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFC.reg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUI_MFC.reg -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFCDoc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUI_MFCDoc.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/Cache.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/Cache.jpg -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/class_view_hc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/class_view_hc.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/classview_hc.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/classview_hc.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/explorer_hc.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/explorer_hc.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/file_view_hc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/file_view_hc.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/fileview_hc.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/fileview_hc.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/menuimages_hc.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/menuimages_hc.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/output_wnd_hc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/output_wnd_hc.ico -------------------------------------------------------------------------------- /docs/fonts/open-iconic.3cf97837.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/docs/fonts/open-iconic.3cf97837.woff -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFCDoc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUI_MFCDoc.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFCView.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUI_MFCView.h -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/SaveJar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/SaveJar.jpg -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/FernflowerUIMFC.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/FernflowerUIMFC.rc2 -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/Toolbar_backup.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/Toolbar_backup.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/properties_wnd.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/properties_wnd.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/startlistimage.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/startlistimage.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFCData.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUI_MFCData.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFCView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/FernflowerUI_MFCView.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/OutputWnd_TestBackup.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/OutputWnd_TestBackup.cpp -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/FindText.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/FindText.jpg -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/OpenFile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/OpenFile.jpg -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/StartPage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/StartPage.jpg -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/ViewUpdate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/ViewUpdate.jpg -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/FernFlowerUI_MFC.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/FernFlowerUI_MFC.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/Toolbar256_backup.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/Toolbar256_backup.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/classview_Backup.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/classview_Backup.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/properties_wnd_hc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/properties_wnd_hc.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/DesktopAlert.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/DesktopAlert.jpg -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/FernflowerUI_MFCDoc.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/FernflowerUI_MFCDoc.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/FernflowerUI_MFC_Old.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/FernflowerUI_MFC_Old.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/classview__hc_Backup.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/classview__hc_Backup.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/menuimages_hc_Backup.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/menuimages_hc_Backup.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/DecompInsideJar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/DecompInsideJar.jpg -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/FernflowerUI_MFC_Backup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/FernflowerUI_MFC_Backup.ico -------------------------------------------------------------------------------- /FernflowerUI_MFC/res/startlistimage_Backup.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/res/startlistimage_Backup.bmp -------------------------------------------------------------------------------- /FernflowerUI_MFC/UsingImages/FernFlowerUI_MFC.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/6168218c/FernflowerUI/HEAD/FernflowerUI_MFC/UsingImages/FernFlowerUI_MFC.ico -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | -------------------------------------------------------------------------------- /FernflowerUI_MFC/mcmod.info: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "modid" : "iChunUtil", 4 | "name" : "iChunUtil", 5 | "version" : "4.0.0", 6 | "url" : "http://www.ichun.us/", 7 | "credits" : "", 8 | "authors": [ 9 | "iChun", "Kihira" 10 | ], 11 | "description": "Shared library mod required by several of iChun's Mods.", 12 | "logoFile" : "", 13 | "updateUrl" : "", 14 | "parent" : "", 15 | "screenshots": [ 16 | ], 17 | "dependancies": [ 18 | "Forge" 19 | ] 20 | } 21 | ] -------------------------------------------------------------------------------- /docs/css/app.6b79cdfc.css: -------------------------------------------------------------------------------- 1 | a.linkBox[data-v-7738cf92]{display:inline-block;text-decoration:none;padding:15px;border:1px solid #ccc;margin:0 10px;font-size:18px;border-radius:5px;-webkit-box-shadow:0 3px 2px 0 rgba(0,0,0,.2);box-shadow:0 3px 2px 0 rgba(0,0,0,.2);background:#fff;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f2f2f2));background:linear-gradient(180deg,#fff 0,#f2f2f2);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#f2f2f2",GradientType=0)}@media (min-width:576px){.sidebar[data-v-42eb376d]{position:fixed;z-index:1000}.sizeprovider[data-v-42eb376d]{visibility:visible}}@media (max-width:576px){.sizeprovider[data-v-42eb376d]{visibility:hidden}} -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFCData.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "stdafx.h" 4 | 5 | struct DecomplieOptions 6 | { 7 | std::map OptionMap = { 8 | { L"rbr" ,L"1" }, 9 | { L"rsy" ,L"0" }, 10 | { L"din" ,L"1" }, 11 | { L"dc4" ,L"1" }, 12 | { L"das" ,L"1" }, 13 | { L"hes" ,L"1" }, 14 | { L"hdc" ,L"1" }, 15 | { L"dgs" ,L"0" }, 16 | { L"ner" ,L"1" }, 17 | { L"den" ,L"1" }, 18 | { L"rgn" ,L"1" }, 19 | { L"lit" ,L"0" }, 20 | { L"asc" ,L"0" }, 21 | { L"bto" ,L"1" }, 22 | { L"nns" ,L"0" }, 23 | { L"uto" ,L"1" }, 24 | { L"udv" ,L"1" }, 25 | { L"rer" ,L"1" }, 26 | { L"fdi" ,L"1" }, 27 | //{ L"mpm" ,L"0" }, 28 | { L"ren" ,L"0" }, 29 | { L"inn" ,L"1" }, 30 | { L"lac" ,L"0" }, 31 | { L"nls" ,L"0" }, 32 | { L"ind" ,L"\" \"" }, 33 | { L"log" ,L"INFO" } 34 | }; 35 | std::map TooltipMap; 36 | void InitTooltip(); 37 | CString GetOptionString(); 38 | }; 39 | 40 | CArchive & operator<<(CArchive & ar, DecomplieOptions & DecompOption); 41 | 42 | CArchive & operator>>(CArchive & ar, DecomplieOptions & DecompOption); -------------------------------------------------------------------------------- /FernflowerUI_MFC/SplashView.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | class CMRUFileListCtrl :public CListCtrl 5 | { 6 | public: 7 | DECLARE_MESSAGE_MAP() 8 | afx_msg void OnNMClick(NMHDR *pNMHDR, LRESULT *pResult); 9 | afx_msg void OnLvnGetInfoTip(NMHDR *pNMHDR, LRESULT *pResult); 10 | }; 11 | 12 | class CStartPageLink :public CMFCLinkCtrl 13 | { 14 | protected: 15 | CFont m_linkFont; 16 | public: 17 | virtual void OnDraw(CDC* pDC, const CRect& rect, UINT uiState); 18 | }; 19 | 20 | class CSplashView : 21 | public CFormView 22 | { 23 | protected: 24 | CFont m_Font; 25 | CFont m_linkFont; 26 | CMRUFileListCtrl m_wndlistCtrl; 27 | CStartPageLink m_linkHelpCore; 28 | CStartPageLink m_linkHelpFeatures; 29 | CStartPageLink m_linkViewUpdate; 30 | std::map m_mapSysImageId; 31 | CImageList m_ImageList; 32 | protected: 33 | CSplashView(); 34 | ~CSplashView(); 35 | DECLARE_DYNCREATE(CSplashView) 36 | DECLARE_MESSAGE_MAP() 37 | afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); 38 | public: 39 | virtual void OnInitialUpdate(); 40 | virtual void OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/); 41 | afx_msg void OnDestroy(); 42 | afx_msg void OnOpenClass(); 43 | afx_msg void OnOpenJar(); 44 | afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct); 45 | }; 46 | 47 | -------------------------------------------------------------------------------- /FernflowerUI_MFC/Md5Checksum.h: -------------------------------------------------------------------------------- 1 | #if !defined(AFX_MD5CHECKSUM_H__2BC7928E_4C15_11D3_B2EE_A4A60E20D2C3__INCLUDED_) 2 | #define AFX_MD5CHECKSUM_H__2BC7928E_4C15_11D3_B2EE_A4A60E20D2C3__INCLUDED_ 3 | 4 | #if _MSC_VER > 1000 5 | #pragma once 6 | #endif // _MSC_VER > 1000 7 | /***************************************************************************************** 8 | 9 | 10 | *****************************************************************************************/ 11 | class CMD5Checksum 12 | { 13 | public: 14 | static CString GetMD5OfString(CString strString); 15 | //interface functions for the RSA MD5 calculation 16 | static CString GetMD5(const CString& strFilePath); 17 | 18 | protected: 19 | //constructor/destructor 20 | CMD5Checksum(); 21 | virtual ~CMD5Checksum() {}; 22 | 23 | //RSA MD5 implementation 24 | void Transform(BYTE Block[64]); 25 | void Update(BYTE* Input, ULONG nInputLen); 26 | CString Final(); 27 | inline DWORD RotateLeft(DWORD x, int n); 28 | inline void FF(DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T); 29 | inline void GG(DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T); 30 | inline void HH(DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T); 31 | inline void II(DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T); 32 | 33 | //utility functions 34 | inline void DWordToByte(BYTE* Output, DWORD* Input, UINT nLength); 35 | inline void ByteToDWord(DWORD* Output, BYTE* Input, UINT nLength); 36 | 37 | private: 38 | BYTE m_lpszBuffer[64]; //input buffer 39 | ULONG m_nCount[2]; //number of bits, modulo 2^64 (lsb first) 40 | ULONG m_lMD5[4]; //MD5 checksum 41 | }; 42 | 43 | #endif // !defined(AFX_MD5CHECKSUM_H__2BC7928E_4C15_11D3_B2EE_A4A60E20D2C3__INCLUDED_) -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFC.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FernflowerUIMFC.rc 5 | 6 | 7 | 8 | 9 | WindowsLocalDebugger 10 | 11 | 12 | 13 | 14 | WindowsLocalDebugger 15 | 16 | 17 | 18 | 19 | WindowsLocalDebugger 20 | 21 | 22 | 23 | 24 | WindowsLocalDebugger 25 | 26 | 27 | 28 | 29 | WindowsLocalDebugger 30 | 31 | 32 | 33 | 34 | WindowsLocalDebugger 35 | 36 | -------------------------------------------------------------------------------- /FernflowerUI_MFC.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2026 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FernflowerUI_MFC", "FernflowerUI_MFC\FernflowerUI_MFC.vcxproj", "{12C337DD-04ED-41ED-A6BF-632A66FF9E39}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | ReleaseWithDLL|x64 = ReleaseWithDLL|x64 15 | ReleaseWithDLL|x86 = ReleaseWithDLL|x86 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.Debug|x64.ActiveCfg = Debug|x64 19 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.Debug|x64.Build.0 = Debug|x64 20 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.Debug|x86.ActiveCfg = Debug|Win32 21 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.Debug|x86.Build.0 = Debug|Win32 22 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.Release|x64.ActiveCfg = Release|x64 23 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.Release|x64.Build.0 = Release|x64 24 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.Release|x86.ActiveCfg = Release|Win32 25 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.Release|x86.Build.0 = Release|Win32 26 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.ReleaseWithDLL|x64.ActiveCfg = ReleaseWithDLL|x64 27 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.ReleaseWithDLL|x64.Build.0 = ReleaseWithDLL|x64 28 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.ReleaseWithDLL|x86.ActiveCfg = ReleaseWithDLL|Win32 29 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39}.ReleaseWithDLL|x86.Build.0 = ReleaseWithDLL|Win32 30 | EndGlobalSection 31 | GlobalSection(SolutionProperties) = preSolution 32 | HideSolutionNode = FALSE 33 | EndGlobalSection 34 | GlobalSection(ExtensibilityGlobals) = postSolution 35 | SolutionGuid = {35A2F26E-22C8-4B84-AB98-84181B8D82E5} 36 | EndGlobalSection 37 | EndGlobal 38 | -------------------------------------------------------------------------------- /docs/404.html: -------------------------------------------------------------------------------- 1 | FernflowerUI
-------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | FernflowerUI
-------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FernflowerUI [![License](https://img.shields.io/github/license/6168218c/FernflowerUI.svg)](https://github.com/6168218c/FernflowerUI/blob/MFC/LICENSE) [![GitHub release](https://img.shields.io/github/release/6168218c/FernflowerUI.svg)](https://github.com/6168218c/FernflowerUI/releases/latest) ![Platform](https://img.shields.io/badge/platform-windows-orange.svg) [![Issues](https://img.shields.io/github/issues/6168218c/FernflowerUI.svg)](https://github.com/6168218c/FernflowerUI/issues) 2 | ## Just a Graphic User Interface(GUI) Wrapper for Fernflower 3 | 4 | ![Icon](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/FernFlowerUI_MFC.ico) 5 | 6 | >[Wiki](https://github.com/6168218c/FernflowerUI/wiki) 7 | 8 | >[中文文档](https://github.com/6168218c/FernflowerUI/wiki/%E4%B8%BB%E9%A1%B5) 9 | 10 | ## What's FernflowerUI? 11 | It was used to enter the long and boring command line when it was first created.(Yes,just like a BATCH file) 12 | Then several features were added, such as decompile logging,syntax highlight and some other stuff. 13 | It has updated to version 3.4.2 so far,which is a result of 1.5 year's hard(lazy) work. 14 | 15 | ## Features 16 | FernflowerUI can: 17 | 18 | - [x] Help you decompile Jar files,as well as Class files.(JRE required.) 19 | 20 | ![Image](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/OpenFile.jpg) 21 | 22 | - [x] Help you decompile classes inside a jar file sperately. 23 | ![Image](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/DecompInsideJar.jpg) 24 | 25 | - [ ] Help you modify the decompiled code. 26 | Really bad at syntax highlight, so code editing is not supported. 27 | 28 | - [x] Search for some contents in Current Block,Current Document,All Open Documents,Current Package and The Whole Jar with the FindText dialog box.You can press Control to make the dialog box transparent. 29 | 30 | ![Image](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/FindText.jpg) 31 | 32 | - [x] Save the Jar file by clicking the Save button. 33 | 34 | ![Image](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/SaveJar.jpg) 35 | 36 | - [x] Save the decompiled content in the cache for faster decompiling in the future. 37 | 38 | ![Image](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/Cache.jpg) 39 | 40 | - [x] Help you do advanced decompiling with decompile arguments.(for a full list of arguments,visit:[https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine](https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine)) 41 | 42 | ![Image](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/ViewUpdate.jpg) 43 | 44 | 45 | - [x] Show how to get started,just for you. 46 | 47 | ![Image](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/StartPage.jpg) 48 | 49 | - [x] Inform you after finishing decompilation. 50 | 51 | ![Image](https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/DesktopAlert.jpg) 52 | 53 | 54 | ### Download Link:[https://github.com/6168218c/FernflowerUI/releases/latest](https://github.com/6168218c/FernflowerUI/releases/latest) 55 | ### 下载链接:[https://github.com/6168218c/FernflowerUI/releases/latest](https://github.com/6168218c/FernflowerUI/releases/latest) 56 | 57 | ## 另外,我们还在[McBBS](http://www.mcbbs.net/thread-773809-1-1.html)上发布了这个项目。 58 | -------------------------------------------------------------------------------- /FernflowerUI_MFC/Md5ChecksumDefs.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | //Magic initialization constants 3 | #define MD5_INIT_STATE_0 0x67452301 4 | #define MD5_INIT_STATE_1 0xefcdab89 5 | #define MD5_INIT_STATE_2 0x98badcfe 6 | #define MD5_INIT_STATE_3 0x10325476 7 | 8 | //Constants for Transform routine. 9 | #define MD5_S11 7 10 | #define MD5_S12 12 11 | #define MD5_S13 17 12 | #define MD5_S14 22 13 | #define MD5_S21 5 14 | #define MD5_S22 9 15 | #define MD5_S23 14 16 | #define MD5_S24 20 17 | #define MD5_S31 4 18 | #define MD5_S32 11 19 | #define MD5_S33 16 20 | #define MD5_S34 23 21 | #define MD5_S41 6 22 | #define MD5_S42 10 23 | #define MD5_S43 15 24 | #define MD5_S44 21 25 | 26 | //Transformation Constants - Round 1 27 | #define MD5_T01 0xd76aa478 //Transformation Constant 1 28 | #define MD5_T02 0xe8c7b756 //Transformation Constant 2 29 | #define MD5_T03 0x242070db //Transformation Constant 3 30 | #define MD5_T04 0xc1bdceee //Transformation Constant 4 31 | #define MD5_T05 0xf57c0faf //Transformation Constant 5 32 | #define MD5_T06 0x4787c62a //Transformation Constant 6 33 | #define MD5_T07 0xa8304613 //Transformation Constant 7 34 | #define MD5_T08 0xfd469501 //Transformation Constant 8 35 | #define MD5_T09 0x698098d8 //Transformation Constant 9 36 | #define MD5_T10 0x8b44f7af //Transformation Constant 10 37 | #define MD5_T11 0xffff5bb1 //Transformation Constant 11 38 | #define MD5_T12 0x895cd7be //Transformation Constant 12 39 | #define MD5_T13 0x6b901122 //Transformation Constant 13 40 | #define MD5_T14 0xfd987193 //Transformation Constant 14 41 | #define MD5_T15 0xa679438e //Transformation Constant 15 42 | #define MD5_T16 0x49b40821 //Transformation Constant 16 43 | 44 | //Transformation Constants - Round 2 45 | #define MD5_T17 0xf61e2562 //Transformation Constant 17 46 | #define MD5_T18 0xc040b340 //Transformation Constant 18 47 | #define MD5_T19 0x265e5a51 //Transformation Constant 19 48 | #define MD5_T20 0xe9b6c7aa //Transformation Constant 20 49 | #define MD5_T21 0xd62f105d //Transformation Constant 21 50 | #define MD5_T22 0x02441453 //Transformation Constant 22 51 | #define MD5_T23 0xd8a1e681 //Transformation Constant 23 52 | #define MD5_T24 0xe7d3fbc8 //Transformation Constant 24 53 | #define MD5_T25 0x21e1cde6 //Transformation Constant 25 54 | #define MD5_T26 0xc33707d6 //Transformation Constant 26 55 | #define MD5_T27 0xf4d50d87 //Transformation Constant 27 56 | #define MD5_T28 0x455a14ed //Transformation Constant 28 57 | #define MD5_T29 0xa9e3e905 //Transformation Constant 29 58 | #define MD5_T30 0xfcefa3f8 //Transformation Constant 30 59 | #define MD5_T31 0x676f02d9 //Transformation Constant 31 60 | #define MD5_T32 0x8d2a4c8a //Transformation Constant 32 61 | 62 | //Transformation Constants - Round 3 63 | #define MD5_T33 0xfffa3942 //Transformation Constant 33 64 | #define MD5_T34 0x8771f681 //Transformation Constant 34 65 | #define MD5_T35 0x6d9d6122 //Transformation Constant 35 66 | #define MD5_T36 0xfde5380c //Transformation Constant 36 67 | #define MD5_T37 0xa4beea44 //Transformation Constant 37 68 | #define MD5_T38 0x4bdecfa9 //Transformation Constant 38 69 | #define MD5_T39 0xf6bb4b60 //Transformation Constant 39 70 | #define MD5_T40 0xbebfbc70 //Transformation Constant 40 71 | #define MD5_T41 0x289b7ec6 //Transformation Constant 41 72 | #define MD5_T42 0xeaa127fa //Transformation Constant 42 73 | #define MD5_T43 0xd4ef3085 //Transformation Constant 43 74 | #define MD5_T44 0x04881d05 //Transformation Constant 44 75 | #define MD5_T45 0xd9d4d039 //Transformation Constant 45 76 | #define MD5_T46 0xe6db99e5 //Transformation Constant 46 77 | #define MD5_T47 0x1fa27cf8 //Transformation Constant 47 78 | #define MD5_T48 0xc4ac5665 //Transformation Constant 48 79 | 80 | //Transformation Constants - Round 4 81 | #define MD5_T49 0xf4292244 //Transformation Constant 49 82 | #define MD5_T50 0x432aff97 //Transformation Constant 50 83 | #define MD5_T51 0xab9423a7 //Transformation Constant 51 84 | #define MD5_T52 0xfc93a039 //Transformation Constant 52 85 | #define MD5_T53 0x655b59c3 //Transformation Constant 53 86 | #define MD5_T54 0x8f0ccc92 //Transformation Constant 54 87 | #define MD5_T55 0xffeff47d //Transformation Constant 55 88 | #define MD5_T56 0x85845dd1 //Transformation Constant 56 89 | #define MD5_T57 0x6fa87e4f //Transformation Constant 57 90 | #define MD5_T58 0xfe2ce6e0 //Transformation Constant 58 91 | #define MD5_T59 0xa3014314 //Transformation Constant 59 92 | #define MD5_T60 0x4e0811a1 //Transformation Constant 60 93 | #define MD5_T61 0xf7537e82 //Transformation Constant 61 94 | #define MD5_T62 0xbd3af235 //Transformation Constant 62 95 | #define MD5_T63 0x2ad7d2bb //Transformation Constant 63 96 | #define MD5_T64 0xeb86d391 //Transformation Constant 64 97 | 98 | 99 | //Null data (except for first BYTE) used to finalise the checksum calculation 100 | static unsigned char PADDING[64] = { 101 | 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 102 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 104 | }; -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFC.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | 头文件 20 | 21 | 22 | 头文件 23 | 24 | 25 | 头文件 26 | 27 | 28 | 头文件 29 | 30 | 31 | 头文件 32 | 33 | 34 | 头文件 35 | 36 | 37 | 头文件 38 | 39 | 40 | 头文件 41 | 42 | 43 | 头文件 44 | 45 | 46 | 头文件 47 | 48 | 49 | 头文件 50 | 51 | 52 | 头文件 53 | 54 | 55 | 头文件 56 | 57 | 58 | 头文件 59 | 60 | 61 | 头文件 62 | 63 | 64 | 头文件 65 | 66 | 67 | 头文件 68 | 69 | 70 | 头文件 71 | 72 | 73 | 头文件 74 | 75 | 76 | 头文件 77 | 78 | 79 | 头文件 80 | 81 | 82 | 83 | 84 | 源文件 85 | 86 | 87 | 源文件 88 | 89 | 90 | 源文件 91 | 92 | 93 | 源文件 94 | 95 | 96 | 源文件 97 | 98 | 99 | 源文件 100 | 101 | 102 | 源文件 103 | 104 | 105 | 源文件 106 | 107 | 108 | 源文件 109 | 110 | 111 | 源文件 112 | 113 | 114 | 源文件 115 | 116 | 117 | 源文件 118 | 119 | 120 | 源文件 121 | 122 | 123 | 源文件 124 | 125 | 126 | 源文件 127 | 128 | 129 | 源文件 130 | 131 | 132 | 源文件 133 | 134 | 135 | 源文件 136 | 137 | 138 | 139 | 140 | 141 | 资源文件 142 | 143 | 144 | 145 | 资源文件 146 | 147 | 148 | 149 | 150 | 资源文件 151 | 152 | 153 | 154 | 155 | 资源文件 156 | 157 | 158 | 资源文件 159 | 160 | 161 | 资源文件 162 | 163 | 164 | 资源文件 165 | 166 | 167 | 资源文件 168 | 169 | 170 | 资源文件 171 | 172 | 173 | 资源文件 174 | 175 | 176 | 资源文件 177 | 178 | 179 | 资源文件 180 | 181 | 182 | 资源文件 183 | 184 | 185 | 资源文件 186 | 187 | 188 | 资源文件 189 | 190 | 191 | 资源文件 192 | 193 | 194 | 资源文件 195 | 196 | 197 | 资源文件 198 | 199 | 200 | 资源文件 201 | 202 | 203 | 资源文件 204 | 205 | 206 | 资源文件 207 | 208 | 209 | 资源文件 210 | 211 | 212 | 资源文件 213 | 214 | 215 | 资源文件 216 | 217 | 218 | 资源文件 219 | 220 | 221 | 资源文件 222 | 223 | 224 | 资源文件 225 | 226 | 227 | 资源文件 228 | 229 | 230 | 资源文件 231 | 232 | 233 | 资源文件 234 | 235 | 236 | 237 | 238 | 239 | -------------------------------------------------------------------------------- /FernflowerUI_MFC/zip.h: -------------------------------------------------------------------------------- 1 | #ifndef _zip_H 2 | #define _zip_H 3 | 4 | 5 | // ZIP functions -- for creating zip files 6 | // This file is a repackaged form of the Info-Zip source code available 7 | // at www.info-zip.org. The original copyright notice may be found in 8 | // zip.cpp. The repackaging was done by Lucian Wischik to simplify and 9 | // extend its use in Windows/C++. Also to add encryption and unicode. 10 | 11 | 12 | #ifndef _unzip_H 13 | DECLARE_HANDLE(HZIP); 14 | #endif 15 | // An HZIP identifies a zip file that is being created 16 | 17 | typedef DWORD ZRESULT; 18 | // return codes from any of the zip functions. Listed later. 19 | 20 | 21 | 22 | HZIP CreateZip(const TCHAR *fn, const char *password); 23 | HZIP CreateZip(void *buf,unsigned int len, const char *password); 24 | HZIP CreateZipHandle(HANDLE h, const char *password); 25 | // CreateZip - call this to start the creation of a zip file. 26 | // As the zip is being created, it will be stored somewhere: 27 | // to a pipe: CreateZipHandle(hpipe_write); 28 | // in a file (by handle): CreateZipHandle(hfile); 29 | // in a file (by name): CreateZip("c:\\test.zip"); 30 | // in memory: CreateZip(buf, len); 31 | // or in pagefile memory: CreateZip(0, len); 32 | // The final case stores it in memory backed by the system paging file, 33 | // where the zip may not exceed len bytes. This is a bit friendlier than 34 | // allocating memory with new[]: it won't lead to fragmentation, and the 35 | // memory won't be touched unless needed. That means you can give very 36 | // large estimates of the maximum-size without too much worry. 37 | // As for the password, it lets you encrypt every file in the archive. 38 | // (This api doesn't support per-file encryption.) 39 | // Note: because pipes don't allow random access, the structure of a zipfile 40 | // created into a pipe is slightly different from that created into a file 41 | // or memory. In particular, the compressed-size of the item cannot be 42 | // stored in the zipfile until after the item itself. (Also, for an item added 43 | // itself via a pipe, the uncompressed-size might not either be known until 44 | // after.) This is not normally a problem. But if you try to unzip via a pipe 45 | // as well, then the unzipper will not know these things about the item until 46 | // after it has been unzipped. Therefore: for unzippers which don't just write 47 | // each item to disk or to a pipe, but instead pre-allocate memory space into 48 | // which to unzip them, then either you have to create the zip not to a pipe, 49 | // or you have to add items not from a pipe, or at least when adding items 50 | // from a pipe you have to specify the length. 51 | // Note: for windows-ce, you cannot close the handle until after CloseZip. 52 | // but for real windows, the zip makes its own copy of your handle, so you 53 | // can close yours anytime. 54 | 55 | 56 | ZRESULT ZipAdd(HZIP hz,const TCHAR *dstzn, const TCHAR *fn); 57 | ZRESULT ZipAdd(HZIP hz,const TCHAR *dstzn, void *src,unsigned int len); 58 | ZRESULT ZipAddHandle(HZIP hz,const TCHAR *dstzn, HANDLE h); 59 | ZRESULT ZipAddHandle(HZIP hz,const TCHAR *dstzn, HANDLE h, unsigned int len); 60 | ZRESULT ZipAddFolder(HZIP hz,const TCHAR *dstzn); 61 | // ZipAdd - call this for each file to be added to the zip. 62 | // dstzn is the name that the file will be stored as in the zip file. 63 | // The file to be added to the zip can come 64 | // from a pipe: ZipAddHandle(hz,"file.dat", hpipe_read); 65 | // from a file: ZipAddHandle(hz,"file.dat", hfile); 66 | // from a filen: ZipAdd(hz,"file.dat", "c:\\docs\\origfile.dat"); 67 | // from memory: ZipAdd(hz,"subdir\\file.dat", buf,len); 68 | // (folder): ZipAddFolder(hz,"subdir"); 69 | // Note: if adding an item from a pipe, and if also creating the zip file itself 70 | // to a pipe, then you might wish to pass a non-zero length to the ZipAddHandle 71 | // function. This will let the zipfile store the item's size ahead of the 72 | // compressed item itself, which in turn makes it easier when unzipping the 73 | // zipfile from a pipe. 74 | 75 | ZRESULT ZipGetMemory(HZIP hz, void **buf, unsigned long *len); 76 | // ZipGetMemory - If the zip was created in memory, via ZipCreate(0,len), 77 | // then this function will return information about that memory block. 78 | // buf will receive a pointer to its start, and len its length. 79 | // Note: you can't add any more after calling this. 80 | 81 | ZRESULT CloseZip(HZIP hz); 82 | // CloseZip - the zip handle must be closed with this function. 83 | 84 | unsigned int FormatZipMessage(ZRESULT code, TCHAR *buf,unsigned int len); 85 | // FormatZipMessage - given an error code, formats it as a string. 86 | // It returns the length of the error message. If buf/len points 87 | // to a real buffer, then it also writes as much as possible into there. 88 | 89 | 90 | 91 | // These are the result codes: 92 | #define ZR_OK 0x00000000 // nb. the pseudo-code zr-recent is never returned, 93 | #define ZR_RECENT 0x00000001 // but can be passed to FormatZipMessage. 94 | // The following come from general system stuff (e.g. files not openable) 95 | #define ZR_GENMASK 0x0000FF00 96 | #define ZR_NODUPH 0x00000100 // couldn't duplicate the handle 97 | #define ZR_NOFILE 0x00000200 // couldn't create/open the file 98 | #define ZR_NOALLOC 0x00000300 // failed to allocate some resource 99 | #define ZR_WRITE 0x00000400 // a general error writing to the file 100 | #define ZR_NOTFOUND 0x00000500 // couldn't find that file in the zip 101 | #define ZR_MORE 0x00000600 // there's still more data to be unzipped 102 | #define ZR_CORRUPT 0x00000700 // the zipfile is corrupt or not a zipfile 103 | #define ZR_READ 0x00000800 // a general error reading the file 104 | // The following come from mistakes on the part of the caller 105 | #define ZR_CALLERMASK 0x00FF0000 106 | #define ZR_ARGS 0x00010000 // general mistake with the arguments 107 | #define ZR_NOTMMAP 0x00020000 // tried to ZipGetMemory, but that only works on mmap zipfiles, which yours wasn't 108 | #define ZR_MEMSIZE 0x00030000 // the memory size is too small 109 | #define ZR_FAILED 0x00040000 // the thing was already failed when you called this function 110 | #define ZR_ENDED 0x00050000 // the zip creation has already been closed 111 | #define ZR_MISSIZE 0x00060000 // the indicated input file size turned out mistaken 112 | #define ZR_PARTIALUNZ 0x00070000 // the file had already been partially unzipped 113 | #define ZR_ZMODE 0x00080000 // tried to mix creating/opening a zip 114 | // The following come from bugs within the zip library itself 115 | #define ZR_BUGMASK 0xFF000000 116 | #define ZR_NOTINITED 0x01000000 // initialisation didn't work 117 | #define ZR_SEEK 0x02000000 // trying to seek in an unseekable file 118 | #define ZR_NOCHANGE 0x04000000 // changed its mind on storage, but not allowed 119 | #define ZR_FLATE 0x05000000 // an internal error in the de/inflation code 120 | 121 | 122 | 123 | 124 | 125 | 126 | // e.g. 127 | // 128 | // (1) Traditional use, creating a zipfile from existing files 129 | // HZIP hz = CreateZip("c:\\simple1.zip",0); 130 | // ZipAdd(hz,"znsimple.bmp", "c:\\simple.bmp"); 131 | // ZipAdd(hz,"znsimple.txt", "c:\\simple.txt"); 132 | // CloseZip(hz); 133 | // 134 | // (2) Memory use, creating an auto-allocated mem-based zip file from various sources 135 | // HZIP hz = CreateZip(0,100000, 0); 136 | // // adding a conventional file... 137 | // ZipAdd(hz,"src1.txt", "c:\\src1.txt"); 138 | // // adding something from memory... 139 | // char buf[1000]; for (int i=0; i<1000; i++) buf[i]=(char)(i&0x7F); 140 | // ZipAdd(hz,"file.dat", buf,1000); 141 | // // adding something from a pipe... 142 | // HANDLE hread,hwrite; CreatePipe(&hread,&hwrite,NULL,0); 143 | // HANDLE hthread = CreateThread(0,0,ThreadFunc,(void*)hwrite,0,0); 144 | // ZipAdd(hz,"unz3.dat", hread,1000); // the '1000' is optional. 145 | // WaitForSingleObject(hthread,INFINITE); 146 | // CloseHandle(hthread); CloseHandle(hread); 147 | // ... meanwhile DWORD WINAPI ThreadFunc(void *dat) 148 | // { HANDLE hwrite = (HANDLE)dat; 149 | // char buf[1000]={17}; 150 | // DWORD writ; WriteFile(hwrite,buf,1000,&writ,NULL); 151 | // CloseHandle(hwrite); 152 | // return 0; 153 | // } 154 | // // and now that the zip is created, let's do something with it: 155 | // void *zbuf; unsigned long zlen; ZipGetMemory(hz,&zbuf,&zlen); 156 | // HANDLE hfz = CreateFile("test2.zip",GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0); 157 | // DWORD writ; WriteFile(hfz,zbuf,zlen,&writ,NULL); 158 | // CloseHandle(hfz); 159 | // CloseZip(hz); 160 | // 161 | // (3) Handle use, for file handles and pipes 162 | // HANDLE hzread,hzwrite; CreatePipe(&hzread,&hzwrite,0,0); 163 | // HANDLE hthread = CreateThread(0,0,ZipReceiverThread,(void*)hzread,0,0); 164 | // HZIP hz = CreateZipHandle(hzwrite,0); 165 | // // ... add to it 166 | // CloseZip(hz); 167 | // CloseHandle(hzwrite); 168 | // WaitForSingleObject(hthread,INFINITE); 169 | // CloseHandle(hthread); 170 | // ... meanwhile DWORD WINAPI ZipReceiverThread(void *dat) 171 | // { HANDLE hread = (HANDLE)dat; 172 | // char buf[1000]; 173 | // while (true) 174 | // { DWORD red; ReadFile(hread,buf,1000,&red,NULL); 175 | // // ... and do something with this zip data we're receiving 176 | // if (red==0) break; 177 | // } 178 | // CloseHandle(hread); 179 | // return 0; 180 | // } 181 | 182 | 183 | 184 | // Now we indulge in a little skullduggery so that the code works whether 185 | // the user has included just zip or both zip and unzip. 186 | // Idea: if header files for both zip and unzip are present, then presumably 187 | // the cpp files for zip and unzip are both present, so we will call 188 | // one or the other of them based on a dynamic choice. If the header file 189 | // for only one is present, then we will bind to that particular one. 190 | ZRESULT CloseZipZ(HZIP hz); 191 | unsigned int FormatZipMessageZ(ZRESULT code, char *buf,unsigned int len); 192 | bool IsZipHandleZ(HZIP hz); 193 | #ifdef _unzip_H 194 | #undef CloseZip 195 | #define CloseZip(hz) (IsZipHandleZ(hz)?CloseZipZ(hz):CloseZipU(hz)) 196 | #else 197 | #define CloseZip CloseZipZ 198 | #define FormatZipMessage FormatZipMessageZ 199 | #endif 200 | 201 | 202 | 203 | #endif 204 | -------------------------------------------------------------------------------- /FernflowerUI_MFC/unzip.h: -------------------------------------------------------------------------------- 1 | #ifndef _unzip_H 2 | #define _unzip_H 3 | 4 | // UNZIPPING functions -- for unzipping. 5 | // This file is a repackaged form of extracts from the zlib code available 6 | // at www.gzip.org/zlib, by Jean-Loup Gailly and Mark Adler. The original 7 | // copyright notice may be found in unzip.cpp. The repackaging was done 8 | // by Lucian Wischik to simplify and extend its use in Windows/C++. Also 9 | // encryption and unicode filenames have been added. 10 | 11 | 12 | #ifndef _zip_H 13 | DECLARE_HANDLE(HZIP); 14 | #endif 15 | // An HZIP identifies a zip file that has been opened 16 | 17 | typedef DWORD ZRESULT; 18 | // return codes from any of the zip functions. Listed later. 19 | 20 | typedef struct 21 | { int index; // index of this file within the zip 22 | TCHAR name[MAX_PATH]; // filename within the zip 23 | DWORD attr; // attributes, as in GetFileAttributes. 24 | FILETIME atime,ctime,mtime;// access, create, modify filetimes 25 | long comp_size; // sizes of item, compressed and uncompressed. These 26 | long unc_size; // may be -1 if not yet known (e.g. being streamed in) 27 | } ZIPENTRY; 28 | 29 | 30 | HZIP OpenZip(const TCHAR *fn, const char *password); 31 | HZIP OpenZip(void *z,unsigned int len, const char *password); 32 | HZIP OpenZipHandle(HANDLE h, const char *password); 33 | // OpenZip - opens a zip file and returns a handle with which you can 34 | // subsequently examine its contents. You can open a zip file from: 35 | // from a pipe: OpenZipHandle(hpipe_read,0); 36 | // from a file (by handle): OpenZipHandle(hfile,0); 37 | // from a file (by name): OpenZip("c:\\test.zip","password"); 38 | // from a memory block: OpenZip(bufstart, buflen,0); 39 | // If the file is opened through a pipe, then items may only be 40 | // accessed in increasing order, and an item may only be unzipped once, 41 | // although GetZipItem can be called immediately before and after unzipping 42 | // it. If it's opened in any other way, then full random access is possible. 43 | // Note: pipe input is not yet implemented. 44 | // Note: zip passwords are ascii, not unicode. 45 | // Note: for windows-ce, you cannot close the handle until after CloseZip. 46 | // but for real windows, the zip makes its own copy of your handle, so you 47 | // can close yours anytime. 48 | 49 | ZRESULT GetZipItem(HZIP hz, int index, ZIPENTRY *ze); 50 | // GetZipItem - call this to get information about an item in the zip. 51 | // If index is -1 and the file wasn't opened through a pipe, 52 | // then it returns information about the whole zipfile 53 | // (and in particular ze.index returns the number of index items). 54 | // Note: the item might be a directory (ze.attr & FILE_ATTRIBUTE_DIRECTORY) 55 | // See below for notes on what happens when you unzip such an item. 56 | // Note: if you are opening the zip through a pipe, then random access 57 | // is not possible and GetZipItem(-1) fails and you can't discover the number 58 | // of items except by calling GetZipItem on each one of them in turn, 59 | // starting at 0, until eventually the call fails. Also, in the event that 60 | // you are opening through a pipe and the zip was itself created into a pipe, 61 | // then then comp_size and sometimes unc_size as well may not be known until 62 | // after the item has been unzipped. 63 | 64 | ZRESULT FindZipItem(HZIP hz, const TCHAR *name, bool ic, int *index, ZIPENTRY *ze); 65 | // FindZipItem - finds an item by name. ic means 'insensitive to case'. 66 | // It returns the index of the item, and returns information about it. 67 | // If nothing was found, then index is set to -1 and the function returns 68 | // an error code. 69 | 70 | ZRESULT UnzipItem(HZIP hz, int index, const TCHAR *fn); 71 | ZRESULT UnzipItem(HZIP hz, int index, void *z,unsigned int len); 72 | ZRESULT UnzipItemHandle(HZIP hz, int index, HANDLE h); 73 | // UnzipItem - given an index to an item, unzips it. You can unzip to: 74 | // to a pipe: UnzipItemHandle(hz,i, hpipe_write); 75 | // to a file (by handle): UnzipItemHandle(hz,i, hfile); 76 | // to a file (by name): UnzipItem(hz,i, ze.name); 77 | // to a memory block: UnzipItem(hz,i, buf,buflen); 78 | // In the final case, if the buffer isn't large enough to hold it all, 79 | // then the return code indicates that more is yet to come. If it was 80 | // large enough, and you want to know precisely how big, GetZipItem. 81 | // Note: zip files are normally stored with relative pathnames. If you 82 | // unzip with ZIP_FILENAME a relative pathname then the item gets created 83 | // relative to the current directory - it first ensures that all necessary 84 | // subdirectories have been created. Also, the item may itself be a directory. 85 | // If you unzip a directory with ZIP_FILENAME, then the directory gets created. 86 | // If you unzip it to a handle or a memory block, then nothing gets created 87 | // and it emits 0 bytes. 88 | ZRESULT SetUnzipBaseDir(HZIP hz, const TCHAR *dir); 89 | // if unzipping to a filename, and it's a relative filename, then it will be relative to here. 90 | // (defaults to current-directory). 91 | 92 | 93 | ZRESULT CloseZip(HZIP hz); 94 | // CloseZip - the zip handle must be closed with this function. 95 | 96 | unsigned int FormatZipMessage(ZRESULT code, TCHAR *buf,unsigned int len); 97 | // FormatZipMessage - given an error code, formats it as a string. 98 | // It returns the length of the error message. If buf/len points 99 | // to a real buffer, then it also writes as much as possible into there. 100 | 101 | 102 | // These are the result codes: 103 | #define ZR_OK 0x00000000 // nb. the pseudo-code zr-recent is never returned, 104 | #define ZR_RECENT 0x00000001 // but can be passed to FormatZipMessage. 105 | // The following come from general system stuff (e.g. files not openable) 106 | #define ZR_GENMASK 0x0000FF00 107 | #define ZR_NODUPH 0x00000100 // couldn't duplicate the handle 108 | #define ZR_NOFILE 0x00000200 // couldn't create/open the file 109 | #define ZR_NOALLOC 0x00000300 // failed to allocate some resource 110 | #define ZR_WRITE 0x00000400 // a general error writing to the file 111 | #define ZR_NOTFOUND 0x00000500 // couldn't find that file in the zip 112 | #define ZR_MORE 0x00000600 // there's still more data to be unzipped 113 | #define ZR_CORRUPT 0x00000700 // the zipfile is corrupt or not a zipfile 114 | #define ZR_READ 0x00000800 // a general error reading the file 115 | #define ZR_PASSWORD 0x00001000 // we didn't get the right password to unzip the file 116 | // The following come from mistakes on the part of the caller 117 | #define ZR_CALLERMASK 0x00FF0000 118 | #define ZR_ARGS 0x00010000 // general mistake with the arguments 119 | #define ZR_NOTMMAP 0x00020000 // tried to ZipGetMemory, but that only works on mmap zipfiles, which yours wasn't 120 | #define ZR_MEMSIZE 0x00030000 // the memory size is too small 121 | #define ZR_FAILED 0x00040000 // the thing was already failed when you called this function 122 | #define ZR_ENDED 0x00050000 // the zip creation has already been closed 123 | #define ZR_MISSIZE 0x00060000 // the indicated input file size turned out mistaken 124 | #define ZR_PARTIALUNZ 0x00070000 // the file had already been partially unzipped 125 | #define ZR_ZMODE 0x00080000 // tried to mix creating/opening a zip 126 | // The following come from bugs within the zip library itself 127 | #define ZR_BUGMASK 0xFF000000 128 | #define ZR_NOTINITED 0x01000000 // initialisation didn't work 129 | #define ZR_SEEK 0x02000000 // trying to seek in an unseekable file 130 | #define ZR_NOCHANGE 0x04000000 // changed its mind on storage, but not allowed 131 | #define ZR_FLATE 0x05000000 // an internal error in the de/inflation code 132 | 133 | 134 | 135 | 136 | 137 | // e.g. 138 | // 139 | // SetCurrentDirectory("c:\\docs\\stuff"); 140 | // HZIP hz = OpenZip("c:\\stuff.zip",0); 141 | // ZIPENTRY ze; GetZipItem(hz,-1,&ze); int numitems=ze.index; 142 | // for (int i=0; i 0) 30 | { 31 | MD5Checksum.Update(Buffer, nLength); 32 | } 33 | 34 | file.Close(); 35 | 36 | //finalise the checksum and return it 37 | return MD5Checksum.Final(); 38 | } 39 | 40 | //report any file exceptions in debug mode only 41 | catch (CFileException* e) 42 | { 43 | TRACE0("CMD5Checksum::GetMD5: CFileException caught"); 44 | throw e; 45 | } 46 | } 47 | 48 | /***************************************************************************************** 49 | FUNCTION: CMD5Checksum::RotateLeft 50 | DETAILS: private 51 | DESCRIPTION: Rotates the bits in a 32 bit DWORD left by a specified amount 52 | RETURNS: The rotated DWORD 53 | ARGUMENTS: DWORD x : the value to be rotated 54 | int n : the number of bits to rotate by 55 | *****************************************************************************************/ 56 | DWORD CMD5Checksum::RotateLeft(DWORD x, int n) 57 | { 58 | //check that DWORD is 4 bytes long - true in Visual C++ 6 and 32 bit Windows 59 | ASSERT(sizeof(x) == 4); 60 | 61 | //rotate and return x 62 | return (x << n) | (x >> (32 - n)); 63 | } 64 | 65 | 66 | /***************************************************************************************** 67 | FUNCTION: CMD5Checksum::FF 68 | DETAILS: protected 69 | DESCRIPTION: Implementation of basic MD5 transformation algorithm 70 | RETURNS: none 71 | ARGUMENTS: DWORD &A, B, C, D : Current (partial) checksum 72 | DWORD X : Input data 73 | DWORD S : MD5_SXX Transformation constant 74 | DWORD T : MD5_TXX Transformation constant 75 | NOTES: None 76 | *****************************************************************************************/ 77 | void CMD5Checksum::FF(DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T) 78 | { 79 | DWORD F = (B & C) | (~B & D); 80 | A += F + X + T; 81 | A = RotateLeft(A, S); 82 | A += B; 83 | } 84 | 85 | 86 | /***************************************************************************************** 87 | FUNCTION: CMD5Checksum::GG 88 | DETAILS: protected 89 | DESCRIPTION: Implementation of basic MD5 transformation algorithm 90 | RETURNS: none 91 | ARGUMENTS: DWORD &A, B, C, D : Current (partial) checksum 92 | DWORD X : Input data 93 | DWORD S : MD5_SXX Transformation constant 94 | DWORD T : MD5_TXX Transformation constant 95 | NOTES: None 96 | *****************************************************************************************/ 97 | void CMD5Checksum::GG(DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T) 98 | { 99 | DWORD G = (B & D) | (C & ~D); 100 | A += G + X + T; 101 | A = RotateLeft(A, S); 102 | A += B; 103 | } 104 | 105 | 106 | /***************************************************************************************** 107 | FUNCTION: CMD5Checksum::HH 108 | DETAILS: protected 109 | DESCRIPTION: Implementation of basic MD5 transformation algorithm 110 | RETURNS: none 111 | ARGUMENTS: DWORD &A, B, C, D : Current (partial) checksum 112 | DWORD X : Input data 113 | DWORD S : MD5_SXX Transformation constant 114 | DWORD T : MD5_TXX Transformation constant 115 | NOTES: None 116 | *****************************************************************************************/ 117 | void CMD5Checksum::HH(DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T) 118 | { 119 | DWORD H = (B ^ C ^ D); 120 | A += H + X + T; 121 | A = RotateLeft(A, S); 122 | A += B; 123 | } 124 | 125 | 126 | /***************************************************************************************** 127 | FUNCTION: CMD5Checksum::II 128 | DETAILS: protected 129 | DESCRIPTION: Implementation of basic MD5 transformation algorithm 130 | RETURNS: none 131 | ARGUMENTS: DWORD &A, B, C, D : Current (partial) checksum 132 | DWORD X : Input data 133 | DWORD S : MD5_SXX Transformation constant 134 | DWORD T : MD5_TXX Transformation constant 135 | NOTES: None 136 | *****************************************************************************************/ 137 | void CMD5Checksum::II(DWORD& A, DWORD B, DWORD C, DWORD D, DWORD X, DWORD S, DWORD T) 138 | { 139 | DWORD I = (C ^ (B | ~D)); 140 | A += I + X + T; 141 | A = RotateLeft(A, S); 142 | A += B; 143 | } 144 | 145 | 146 | /***************************************************************************************** 147 | FUNCTION: CMD5Checksum::ByteToDWord 148 | DETAILS: private 149 | DESCRIPTION: Transfers the data in an 8 bit array to a 32 bit array 150 | RETURNS: void 151 | ARGUMENTS: DWORD* Output : the 32 bit (unsigned long) destination array 152 | BYTE* Input : the 8 bit (unsigned char) source array 153 | UINT nLength : the number of 8 bit data items in the source array 154 | NOTES: Four BYTES from the input array are transferred to each DWORD entry 155 | of the output array. The first BYTE is transferred to the bits (0-7) 156 | of the output DWORD, the second BYTE to bits 8-15 etc. 157 | The algorithm assumes that the input array is a multiple of 4 bytes long 158 | so that there is a perfect fit into the array of 32 bit words. 159 | *****************************************************************************************/ 160 | void CMD5Checksum::ByteToDWord(DWORD* Output, BYTE* Input, UINT nLength) 161 | { 162 | //entry invariants 163 | ASSERT(nLength % 4 == 0); 164 | ASSERT(AfxIsValidAddress(Output, nLength / 4, TRUE)); 165 | ASSERT(AfxIsValidAddress(Input, nLength, FALSE)); 166 | 167 | //initialisations 168 | UINT i = 0; //index to Output array 169 | UINT j = 0; //index to Input array 170 | 171 | //transfer the data by shifting and copying 172 | for (; j < nLength; i++, j += 4) 173 | { 174 | Output[i] = (ULONG)Input[j] | 175 | (ULONG)Input[j + 1] << 8 | 176 | (ULONG)Input[j + 2] << 16 | 177 | (ULONG)Input[j + 3] << 24; 178 | } 179 | } 180 | 181 | /***************************************************************************************** 182 | FUNCTION: CMD5Checksum::Transform 183 | DETAILS: protected 184 | DESCRIPTION: MD5 basic transformation algorithm; transforms 'm_lMD5' 185 | RETURNS: void 186 | ARGUMENTS: BYTE Block[64] 187 | NOTES: An MD5 checksum is calculated by four rounds of 'Transformation'. 188 | The MD5 checksum currently held in m_lMD5 is merged by the 189 | transformation process with data passed in 'Block'. 190 | *****************************************************************************************/ 191 | void CMD5Checksum::Transform(BYTE Block[64]) 192 | { 193 | //initialise local data with current checksum 194 | ULONG a = m_lMD5[0]; 195 | ULONG b = m_lMD5[1]; 196 | ULONG c = m_lMD5[2]; 197 | ULONG d = m_lMD5[3]; 198 | 199 | //copy BYTES from input 'Block' to an array of ULONGS 'X' 200 | ULONG X[16]; 201 | ByteToDWord(X, Block, 64); 202 | 203 | //Perform Round 1 of the transformation 204 | FF(a, b, c, d, X[0], MD5_S11, MD5_T01); 205 | FF(d, a, b, c, X[1], MD5_S12, MD5_T02); 206 | FF(c, d, a, b, X[2], MD5_S13, MD5_T03); 207 | FF(b, c, d, a, X[3], MD5_S14, MD5_T04); 208 | FF(a, b, c, d, X[4], MD5_S11, MD5_T05); 209 | FF(d, a, b, c, X[5], MD5_S12, MD5_T06); 210 | FF(c, d, a, b, X[6], MD5_S13, MD5_T07); 211 | FF(b, c, d, a, X[7], MD5_S14, MD5_T08); 212 | FF(a, b, c, d, X[8], MD5_S11, MD5_T09); 213 | FF(d, a, b, c, X[9], MD5_S12, MD5_T10); 214 | FF(c, d, a, b, X[10], MD5_S13, MD5_T11); 215 | FF(b, c, d, a, X[11], MD5_S14, MD5_T12); 216 | FF(a, b, c, d, X[12], MD5_S11, MD5_T13); 217 | FF(d, a, b, c, X[13], MD5_S12, MD5_T14); 218 | FF(c, d, a, b, X[14], MD5_S13, MD5_T15); 219 | FF(b, c, d, a, X[15], MD5_S14, MD5_T16); 220 | 221 | //Perform Round 2 of the transformation 222 | GG(a, b, c, d, X[1], MD5_S21, MD5_T17); 223 | GG(d, a, b, c, X[6], MD5_S22, MD5_T18); 224 | GG(c, d, a, b, X[11], MD5_S23, MD5_T19); 225 | GG(b, c, d, a, X[0], MD5_S24, MD5_T20); 226 | GG(a, b, c, d, X[5], MD5_S21, MD5_T21); 227 | GG(d, a, b, c, X[10], MD5_S22, MD5_T22); 228 | GG(c, d, a, b, X[15], MD5_S23, MD5_T23); 229 | GG(b, c, d, a, X[4], MD5_S24, MD5_T24); 230 | GG(a, b, c, d, X[9], MD5_S21, MD5_T25); 231 | GG(d, a, b, c, X[14], MD5_S22, MD5_T26); 232 | GG(c, d, a, b, X[3], MD5_S23, MD5_T27); 233 | GG(b, c, d, a, X[8], MD5_S24, MD5_T28); 234 | GG(a, b, c, d, X[13], MD5_S21, MD5_T29); 235 | GG(d, a, b, c, X[2], MD5_S22, MD5_T30); 236 | GG(c, d, a, b, X[7], MD5_S23, MD5_T31); 237 | GG(b, c, d, a, X[12], MD5_S24, MD5_T32); 238 | 239 | //Perform Round 3 of the transformation 240 | HH(a, b, c, d, X[5], MD5_S31, MD5_T33); 241 | HH(d, a, b, c, X[8], MD5_S32, MD5_T34); 242 | HH(c, d, a, b, X[11], MD5_S33, MD5_T35); 243 | HH(b, c, d, a, X[14], MD5_S34, MD5_T36); 244 | HH(a, b, c, d, X[1], MD5_S31, MD5_T37); 245 | HH(d, a, b, c, X[4], MD5_S32, MD5_T38); 246 | HH(c, d, a, b, X[7], MD5_S33, MD5_T39); 247 | HH(b, c, d, a, X[10], MD5_S34, MD5_T40); 248 | HH(a, b, c, d, X[13], MD5_S31, MD5_T41); 249 | HH(d, a, b, c, X[0], MD5_S32, MD5_T42); 250 | HH(c, d, a, b, X[3], MD5_S33, MD5_T43); 251 | HH(b, c, d, a, X[6], MD5_S34, MD5_T44); 252 | HH(a, b, c, d, X[9], MD5_S31, MD5_T45); 253 | HH(d, a, b, c, X[12], MD5_S32, MD5_T46); 254 | HH(c, d, a, b, X[15], MD5_S33, MD5_T47); 255 | HH(b, c, d, a, X[2], MD5_S34, MD5_T48); 256 | 257 | //Perform Round 4 of the transformation 258 | II(a, b, c, d, X[0], MD5_S41, MD5_T49); 259 | II(d, a, b, c, X[7], MD5_S42, MD5_T50); 260 | II(c, d, a, b, X[14], MD5_S43, MD5_T51); 261 | II(b, c, d, a, X[5], MD5_S44, MD5_T52); 262 | II(a, b, c, d, X[12], MD5_S41, MD5_T53); 263 | II(d, a, b, c, X[3], MD5_S42, MD5_T54); 264 | II(c, d, a, b, X[10], MD5_S43, MD5_T55); 265 | II(b, c, d, a, X[1], MD5_S44, MD5_T56); 266 | II(a, b, c, d, X[8], MD5_S41, MD5_T57); 267 | II(d, a, b, c, X[15], MD5_S42, MD5_T58); 268 | II(c, d, a, b, X[6], MD5_S43, MD5_T59); 269 | II(b, c, d, a, X[13], MD5_S44, MD5_T60); 270 | II(a, b, c, d, X[4], MD5_S41, MD5_T61); 271 | II(d, a, b, c, X[11], MD5_S42, MD5_T62); 272 | II(c, d, a, b, X[2], MD5_S43, MD5_T63); 273 | II(b, c, d, a, X[9], MD5_S44, MD5_T64); 274 | 275 | //add the transformed values to the current checksum 276 | m_lMD5[0] += a; 277 | m_lMD5[1] += b; 278 | m_lMD5[2] += c; 279 | m_lMD5[3] += d; 280 | } 281 | 282 | 283 | /***************************************************************************************** 284 | CONSTRUCTOR: CMD5Checksum 285 | DESCRIPTION: Initialises member data 286 | ARGUMENTS: None 287 | NOTES: None 288 | *****************************************************************************************/ 289 | CMD5Checksum::CMD5Checksum() 290 | { 291 | // zero members 292 | memset(m_lpszBuffer, 0, 64); 293 | m_nCount[0] = m_nCount[1] = 0; 294 | 295 | // Load magic state initialization constants 296 | m_lMD5[0] = MD5_INIT_STATE_0; 297 | m_lMD5[1] = MD5_INIT_STATE_1; 298 | m_lMD5[2] = MD5_INIT_STATE_2; 299 | m_lMD5[3] = MD5_INIT_STATE_3; 300 | } 301 | 302 | /***************************************************************************************** 303 | FUNCTION: CMD5Checksum::DWordToByte 304 | DETAILS: private 305 | DESCRIPTION: Transfers the data in an 32 bit array to a 8 bit array 306 | RETURNS: void 307 | ARGUMENTS: BYTE* Output : the 8 bit destination array 308 | DWORD* Input : the 32 bit source array 309 | UINT nLength : the number of 8 bit data items in the source array 310 | NOTES: One DWORD from the input array is transferred into four BYTES 311 | in the output array. The first (0-7) bits of the first DWORD are 312 | transferred to the first output BYTE, bits bits 8-15 are transferred from 313 | the second BYTE etc. 314 | 315 | The algorithm assumes that the output array is a multiple of 4 bytes long 316 | so that there is a perfect fit of 8 bit BYTES into the 32 bit DWORDs. 317 | *****************************************************************************************/ 318 | void CMD5Checksum::DWordToByte(BYTE* Output, DWORD* Input, UINT nLength) 319 | { 320 | //entry invariants 321 | ASSERT(nLength % 4 == 0); 322 | ASSERT(AfxIsValidAddress(Output, nLength, TRUE)); 323 | ASSERT(AfxIsValidAddress(Input, nLength / 4, FALSE)); 324 | 325 | //transfer the data by shifting and copying 326 | UINT i = 0; 327 | UINT j = 0; 328 | for (; j < nLength; i++, j += 4) 329 | { 330 | Output[j] = (UCHAR)(Input[i] & 0xff); 331 | Output[j + 1] = (UCHAR)((Input[i] >> 8) & 0xff); 332 | Output[j + 2] = (UCHAR)((Input[i] >> 16) & 0xff); 333 | Output[j + 3] = (UCHAR)((Input[i] >> 24) & 0xff); 334 | } 335 | } 336 | 337 | 338 | /***************************************************************************************** 339 | FUNCTION: CMD5Checksum::Final 340 | DETAILS: protected 341 | DESCRIPTION: Implementation of main MD5 checksum algorithm; ends the checksum calculation. 342 | RETURNS: CString : the final hexadecimal MD5 checksum result 343 | ARGUMENTS: None 344 | NOTES: Performs the final MD5 checksum calculation ('Update' does most of the work, 345 | this function just finishes the calculation.) 346 | *****************************************************************************************/ 347 | CString CMD5Checksum::Final() 348 | { 349 | //Save number of bits 350 | BYTE Bits[8]; 351 | DWordToByte(Bits, m_nCount, 8); 352 | 353 | //Pad out to 56 mod 64. 354 | UINT nIndex = (UINT)((m_nCount[0] >> 3) & 0x3f); 355 | UINT nPadLen = (nIndex < 56) ? (56 - nIndex) : (120 - nIndex); 356 | Update(PADDING, nPadLen); 357 | 358 | //Append length (before padding) 359 | Update(Bits, 8); 360 | 361 | //Store final state in 'lpszMD5' 362 | const int nMD5Size = 16; 363 | unsigned char lpszMD5[nMD5Size]; 364 | DWordToByte(lpszMD5, m_lMD5, nMD5Size); 365 | 366 | //Convert the hexadecimal checksum to a CString 367 | CString strMD5; 368 | for (int i = 0; i < nMD5Size; i++) 369 | { 370 | CString Str; 371 | if (lpszMD5[i] == 0) 372 | { 373 | Str = CString("00"); 374 | } 375 | else if (lpszMD5[i] <= 15) 376 | { 377 | Str.Format(_T("0%X"), lpszMD5[i]); 378 | } 379 | else 380 | { 381 | Str.Format(_T("%X"), lpszMD5[i]); 382 | } 383 | 384 | ASSERT(Str.GetLength() == 2); 385 | strMD5 += Str; 386 | } 387 | ASSERT(strMD5.GetLength() == 32); 388 | return strMD5; 389 | } 390 | 391 | 392 | /***************************************************************************************** 393 | FUNCTION: CMD5Checksum::Update 394 | DETAILS: protected 395 | DESCRIPTION: Implementation of main MD5 checksum algorithm 396 | RETURNS: void 397 | ARGUMENTS: BYTE* Input : input block 398 | UINT nInputLen : length of input block 399 | NOTES: Computes the partial MD5 checksum for 'nInputLen' bytes of data in 'Input' 400 | *****************************************************************************************/ 401 | void CMD5Checksum::Update(BYTE* Input, ULONG nInputLen) 402 | { 403 | //Compute number of bytes mod 64 404 | UINT nIndex = (UINT)((m_nCount[0] >> 3) & 0x3F); 405 | 406 | //Update number of bits 407 | if ((m_nCount[0] += nInputLen << 3) < (nInputLen << 3)) 408 | { 409 | m_nCount[1]++; 410 | } 411 | m_nCount[1] += (nInputLen >> 29); 412 | 413 | //Transform as many times as possible. 414 | UINT i = 0; 415 | UINT nPartLen = 64 - nIndex; 416 | if (nInputLen >= nPartLen) 417 | { 418 | memcpy(&m_lpszBuffer[nIndex], Input, nPartLen); 419 | Transform(m_lpszBuffer); 420 | for (i = nPartLen; i + 63 < nInputLen; i += 64) 421 | { 422 | Transform(&Input[i]); 423 | } 424 | nIndex = 0; 425 | } 426 | else 427 | { 428 | i = 0; 429 | } 430 | 431 | // Buffer remaining input 432 | memcpy(&m_lpszBuffer[nIndex], &Input[i], nInputLen - i); 433 | } 434 | 435 | 436 | 437 | CString CMD5Checksum::GetMD5OfString(CString strString) 438 | { 439 | try 440 | { 441 | CMD5Checksum MD5Checksum; //checksum object 442 | int nLength = strString.GetLength(); //number of bytes read from the file 443 | //const int nBufferSize = 1024; //checksum the file in blocks of 1024 bytes 444 | BYTE *Buffer; //buffer for data read from the file 445 | Buffer = (BYTE*)(strString.GetBuffer(nLength)); 446 | //checksum the file in blocks of 1024 bytes 447 | //while ((nLength = File.Read( Buffer, nBufferSize )) > 0 ) 448 | //{ 449 | MD5Checksum.Update(Buffer, nLength); 450 | //} 451 | //finalise the checksum and return it 452 | return MD5Checksum.Final(); 453 | } 454 | 455 | //report any file exceptions in debug mode only 456 | catch (CFileException* e) 457 | { 458 | TRACE0("CMD5Checksum::GetMD5: CFileException caught"); 459 | throw e; 460 | } 461 | } -------------------------------------------------------------------------------- /FernflowerUI_MFC/zconf.h: -------------------------------------------------------------------------------- 1 | /* zconf.h -- configuration of the zlib compression library 2 | * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* @(#) $Id$ */ 7 | 8 | #ifndef ZCONF_H 9 | #define ZCONF_H 10 | 11 | /* 12 | * If you *really* need a unique prefix for all types and library functions, 13 | * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. 14 | * Even better than compiling with -DZ_PREFIX would be to use configure to set 15 | * this permanently in zconf.h using "./configure --zprefix". 16 | */ 17 | #ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ 18 | # define Z_PREFIX_SET 19 | 20 | /* all linked symbols and init macros */ 21 | # define _dist_code z__dist_code 22 | # define _length_code z__length_code 23 | # define _tr_align z__tr_align 24 | # define _tr_flush_bits z__tr_flush_bits 25 | # define _tr_flush_block z__tr_flush_block 26 | # define _tr_init z__tr_init 27 | # define _tr_stored_block z__tr_stored_block 28 | # define _tr_tally z__tr_tally 29 | # define adler32 z_adler32 30 | # define adler32_combine z_adler32_combine 31 | # define adler32_combine64 z_adler32_combine64 32 | # define adler32_z z_adler32_z 33 | # ifndef Z_SOLO 34 | # define compress z_compress 35 | # define compress2 z_compress2 36 | # define compressBound z_compressBound 37 | # endif 38 | # define crc32 z_crc32 39 | # define crc32_combine z_crc32_combine 40 | # define crc32_combine64 z_crc32_combine64 41 | # define crc32_z z_crc32_z 42 | # define deflate z_deflate 43 | # define deflateBound z_deflateBound 44 | # define deflateCopy z_deflateCopy 45 | # define deflateEnd z_deflateEnd 46 | # define deflateGetDictionary z_deflateGetDictionary 47 | # define deflateInit z_deflateInit 48 | # define deflateInit2 z_deflateInit2 49 | # define deflateInit2_ z_deflateInit2_ 50 | # define deflateInit_ z_deflateInit_ 51 | # define deflateParams z_deflateParams 52 | # define deflatePending z_deflatePending 53 | # define deflatePrime z_deflatePrime 54 | # define deflateReset z_deflateReset 55 | # define deflateResetKeep z_deflateResetKeep 56 | # define deflateSetDictionary z_deflateSetDictionary 57 | # define deflateSetHeader z_deflateSetHeader 58 | # define deflateTune z_deflateTune 59 | # define deflate_copyright z_deflate_copyright 60 | # define get_crc_table z_get_crc_table 61 | # ifndef Z_SOLO 62 | # define gz_error z_gz_error 63 | # define gz_intmax z_gz_intmax 64 | # define gz_strwinerror z_gz_strwinerror 65 | # define gzbuffer z_gzbuffer 66 | # define gzclearerr z_gzclearerr 67 | # define gzclose z_gzclose 68 | # define gzclose_r z_gzclose_r 69 | # define gzclose_w z_gzclose_w 70 | # define gzdirect z_gzdirect 71 | # define gzdopen z_gzdopen 72 | # define gzeof z_gzeof 73 | # define gzerror z_gzerror 74 | # define gzflush z_gzflush 75 | # define gzfread z_gzfread 76 | # define gzfwrite z_gzfwrite 77 | # define gzgetc z_gzgetc 78 | # define gzgetc_ z_gzgetc_ 79 | # define gzgets z_gzgets 80 | # define gzoffset z_gzoffset 81 | # define gzoffset64 z_gzoffset64 82 | # define gzopen z_gzopen 83 | # define gzopen64 z_gzopen64 84 | # ifdef _WIN32 85 | # define gzopen_w z_gzopen_w 86 | # endif 87 | # define gzprintf z_gzprintf 88 | # define gzputc z_gzputc 89 | # define gzputs z_gzputs 90 | # define gzread z_gzread 91 | # define gzrewind z_gzrewind 92 | # define gzseek z_gzseek 93 | # define gzseek64 z_gzseek64 94 | # define gzsetparams z_gzsetparams 95 | # define gztell z_gztell 96 | # define gztell64 z_gztell64 97 | # define gzungetc z_gzungetc 98 | # define gzvprintf z_gzvprintf 99 | # define gzwrite z_gzwrite 100 | # endif 101 | # define inflate z_inflate 102 | # define inflateBack z_inflateBack 103 | # define inflateBackEnd z_inflateBackEnd 104 | # define inflateBackInit z_inflateBackInit 105 | # define inflateBackInit_ z_inflateBackInit_ 106 | # define inflateCodesUsed z_inflateCodesUsed 107 | # define inflateCopy z_inflateCopy 108 | # define inflateEnd z_inflateEnd 109 | # define inflateGetDictionary z_inflateGetDictionary 110 | # define inflateGetHeader z_inflateGetHeader 111 | # define inflateInit z_inflateInit 112 | # define inflateInit2 z_inflateInit2 113 | # define inflateInit2_ z_inflateInit2_ 114 | # define inflateInit_ z_inflateInit_ 115 | # define inflateMark z_inflateMark 116 | # define inflatePrime z_inflatePrime 117 | # define inflateReset z_inflateReset 118 | # define inflateReset2 z_inflateReset2 119 | # define inflateResetKeep z_inflateResetKeep 120 | # define inflateSetDictionary z_inflateSetDictionary 121 | # define inflateSync z_inflateSync 122 | # define inflateSyncPoint z_inflateSyncPoint 123 | # define inflateUndermine z_inflateUndermine 124 | # define inflateValidate z_inflateValidate 125 | # define inflate_copyright z_inflate_copyright 126 | # define inflate_fast z_inflate_fast 127 | # define inflate_table z_inflate_table 128 | # ifndef Z_SOLO 129 | # define uncompress z_uncompress 130 | # define uncompress2 z_uncompress2 131 | # endif 132 | # define zError z_zError 133 | # ifndef Z_SOLO 134 | # define zcalloc z_zcalloc 135 | # define zcfree z_zcfree 136 | # endif 137 | # define zlibCompileFlags z_zlibCompileFlags 138 | # define zlibVersion z_zlibVersion 139 | 140 | /* all zlib typedefs in zlib.h and zconf.h */ 141 | # define Byte z_Byte 142 | # define Bytef z_Bytef 143 | # define alloc_func z_alloc_func 144 | # define charf z_charf 145 | # define free_func z_free_func 146 | # ifndef Z_SOLO 147 | # define gzFile z_gzFile 148 | # endif 149 | # define gz_header z_gz_header 150 | # define gz_headerp z_gz_headerp 151 | # define in_func z_in_func 152 | # define intf z_intf 153 | # define out_func z_out_func 154 | # define uInt z_uInt 155 | # define uIntf z_uIntf 156 | # define uLong z_uLong 157 | # define uLongf z_uLongf 158 | # define voidp z_voidp 159 | # define voidpc z_voidpc 160 | # define voidpf z_voidpf 161 | 162 | /* all zlib structs in zlib.h and zconf.h */ 163 | # define gz_header_s z_gz_header_s 164 | # define internal_state z_internal_state 165 | 166 | #endif 167 | 168 | #if defined(__MSDOS__) && !defined(MSDOS) 169 | # define MSDOS 170 | #endif 171 | #if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) 172 | # define OS2 173 | #endif 174 | #if defined(_WINDOWS) && !defined(WINDOWS) 175 | # define WINDOWS 176 | #endif 177 | #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) 178 | # ifndef WIN32 179 | # define WIN32 180 | # endif 181 | #endif 182 | #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) 183 | # if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) 184 | # ifndef SYS16BIT 185 | # define SYS16BIT 186 | # endif 187 | # endif 188 | #endif 189 | 190 | /* 191 | * Compile with -DMAXSEG_64K if the alloc function cannot allocate more 192 | * than 64k bytes at a time (needed on systems with 16-bit int). 193 | */ 194 | #ifdef SYS16BIT 195 | # define MAXSEG_64K 196 | #endif 197 | #ifdef MSDOS 198 | # define UNALIGNED_OK 199 | #endif 200 | 201 | #ifdef __STDC_VERSION__ 202 | # ifndef STDC 203 | # define STDC 204 | # endif 205 | # if __STDC_VERSION__ >= 199901L 206 | # ifndef STDC99 207 | # define STDC99 208 | # endif 209 | # endif 210 | #endif 211 | #if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) 212 | # define STDC 213 | #endif 214 | #if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) 215 | # define STDC 216 | #endif 217 | #if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) 218 | # define STDC 219 | #endif 220 | #if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) 221 | # define STDC 222 | #endif 223 | 224 | #if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ 225 | # define STDC 226 | #endif 227 | 228 | #ifndef STDC 229 | # ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ 230 | # define const /* note: need a more gentle solution here */ 231 | # endif 232 | #endif 233 | 234 | #if defined(ZLIB_CONST) && !defined(z_const) 235 | # define z_const const 236 | #else 237 | # define z_const 238 | #endif 239 | 240 | #ifdef Z_SOLO 241 | typedef unsigned long z_size_t; 242 | #else 243 | # define z_longlong long long 244 | # if defined(NO_SIZE_T) 245 | typedef unsigned NO_SIZE_T z_size_t; 246 | # elif defined(STDC) 247 | # include 248 | typedef size_t z_size_t; 249 | # else 250 | typedef unsigned long z_size_t; 251 | # endif 252 | # undef z_longlong 253 | #endif 254 | 255 | /* Maximum value for memLevel in deflateInit2 */ 256 | #ifndef MAX_MEM_LEVEL 257 | # ifdef MAXSEG_64K 258 | # define MAX_MEM_LEVEL 8 259 | # else 260 | # define MAX_MEM_LEVEL 9 261 | # endif 262 | #endif 263 | 264 | /* Maximum value for windowBits in deflateInit2 and inflateInit2. 265 | * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files 266 | * created by gzip. (Files created by minigzip can still be extracted by 267 | * gzip.) 268 | */ 269 | #ifndef MAX_WBITS 270 | # define MAX_WBITS 15 /* 32K LZ77 window */ 271 | #endif 272 | 273 | /* The memory requirements for deflate are (in bytes): 274 | (1 << (windowBits+2)) + (1 << (memLevel+9)) 275 | that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) 276 | plus a few kilobytes for small objects. For example, if you want to reduce 277 | the default memory requirements from 256K to 128K, compile with 278 | make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" 279 | Of course this will generally degrade compression (there's no free lunch). 280 | 281 | The memory requirements for inflate are (in bytes) 1 << windowBits 282 | that is, 32K for windowBits=15 (default value) plus about 7 kilobytes 283 | for small objects. 284 | */ 285 | 286 | /* Type declarations */ 287 | 288 | #ifndef OF /* function prototypes */ 289 | # ifdef STDC 290 | # define OF(args) args 291 | # else 292 | # define OF(args) () 293 | # endif 294 | #endif 295 | 296 | #ifndef Z_ARG /* function prototypes for stdarg */ 297 | # if defined(STDC) || defined(Z_HAVE_STDARG_H) 298 | # define Z_ARG(args) args 299 | # else 300 | # define Z_ARG(args) () 301 | # endif 302 | #endif 303 | 304 | /* The following definitions for FAR are needed only for MSDOS mixed 305 | * model programming (small or medium model with some far allocations). 306 | * This was tested only with MSC; for other MSDOS compilers you may have 307 | * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, 308 | * just define FAR to be empty. 309 | */ 310 | #ifdef SYS16BIT 311 | # if defined(M_I86SM) || defined(M_I86MM) 312 | /* MSC small or medium model */ 313 | # define SMALL_MEDIUM 314 | # ifdef _MSC_VER 315 | # define FAR _far 316 | # else 317 | # define FAR far 318 | # endif 319 | # endif 320 | # if (defined(__SMALL__) || defined(__MEDIUM__)) 321 | /* Turbo C small or medium model */ 322 | # define SMALL_MEDIUM 323 | # ifdef __BORLANDC__ 324 | # define FAR _far 325 | # else 326 | # define FAR far 327 | # endif 328 | # endif 329 | #endif 330 | 331 | #if defined(WINDOWS) || defined(WIN32) 332 | /* If building or using zlib as a DLL, define ZLIB_DLL. 333 | * This is not mandatory, but it offers a little performance increase. 334 | */ 335 | # ifdef ZLIB_DLL 336 | # if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) 337 | # ifdef ZLIB_INTERNAL 338 | # define ZEXTERN extern __declspec(dllexport) 339 | # else 340 | # define ZEXTERN extern __declspec(dllimport) 341 | # endif 342 | # endif 343 | # endif /* ZLIB_DLL */ 344 | /* If building or using zlib with the WINAPI/WINAPIV calling convention, 345 | * define ZLIB_WINAPI. 346 | * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. 347 | */ 348 | # ifdef ZLIB_WINAPI 349 | # ifdef FAR 350 | # undef FAR 351 | # endif 352 | # include 353 | /* No need for _export, use ZLIB.DEF instead. */ 354 | /* For complete Windows compatibility, use WINAPI, not __stdcall. */ 355 | # define ZEXPORT WINAPI 356 | # ifdef WIN32 357 | # define ZEXPORTVA WINAPIV 358 | # else 359 | # define ZEXPORTVA FAR CDECL 360 | # endif 361 | # endif 362 | #endif 363 | 364 | #if defined (__BEOS__) 365 | # ifdef ZLIB_DLL 366 | # ifdef ZLIB_INTERNAL 367 | # define ZEXPORT __declspec(dllexport) 368 | # define ZEXPORTVA __declspec(dllexport) 369 | # else 370 | # define ZEXPORT __declspec(dllimport) 371 | # define ZEXPORTVA __declspec(dllimport) 372 | # endif 373 | # endif 374 | #endif 375 | 376 | #ifndef ZEXTERN 377 | # define ZEXTERN extern 378 | #endif 379 | #ifndef ZEXPORT 380 | # define ZEXPORT 381 | #endif 382 | #ifndef ZEXPORTVA 383 | # define ZEXPORTVA 384 | #endif 385 | 386 | #ifndef FAR 387 | # define FAR 388 | #endif 389 | 390 | #if !defined(__MACTYPES__) 391 | typedef unsigned char Byte; /* 8 bits */ 392 | #endif 393 | typedef unsigned int uInt; /* 16 bits or more */ 394 | typedef unsigned long uLong; /* 32 bits or more */ 395 | 396 | #ifdef SMALL_MEDIUM 397 | /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ 398 | # define Bytef Byte FAR 399 | #else 400 | typedef Byte FAR Bytef; 401 | #endif 402 | typedef char FAR charf; 403 | typedef int FAR intf; 404 | typedef uInt FAR uIntf; 405 | typedef uLong FAR uLongf; 406 | 407 | #ifdef STDC 408 | typedef void const *voidpc; 409 | typedef void FAR *voidpf; 410 | typedef void *voidp; 411 | #else 412 | typedef Byte const *voidpc; 413 | typedef Byte FAR *voidpf; 414 | typedef Byte *voidp; 415 | #endif 416 | 417 | #if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) 418 | # include 419 | # if (UINT_MAX == 0xffffffffUL) 420 | # define Z_U4 unsigned 421 | # elif (ULONG_MAX == 0xffffffffUL) 422 | # define Z_U4 unsigned long 423 | # elif (USHRT_MAX == 0xffffffffUL) 424 | # define Z_U4 unsigned short 425 | # endif 426 | #endif 427 | 428 | #ifdef Z_U4 429 | typedef Z_U4 z_crc_t; 430 | #else 431 | typedef unsigned long z_crc_t; 432 | #endif 433 | 434 | #ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ 435 | # define Z_HAVE_UNISTD_H 436 | #endif 437 | 438 | #ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ 439 | # define Z_HAVE_STDARG_H 440 | #endif 441 | 442 | #ifdef STDC 443 | # ifndef Z_SOLO 444 | # include /* for off_t */ 445 | # endif 446 | #endif 447 | 448 | #if defined(STDC) || defined(Z_HAVE_STDARG_H) 449 | # ifndef Z_SOLO 450 | # include /* for va_list */ 451 | # endif 452 | #endif 453 | 454 | #ifdef _WIN32 455 | # ifndef Z_SOLO 456 | # include /* for wchar_t */ 457 | # endif 458 | #endif 459 | 460 | /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and 461 | * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even 462 | * though the former does not conform to the LFS document), but considering 463 | * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as 464 | * equivalently requesting no 64-bit operations 465 | */ 466 | #if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 467 | # undef _LARGEFILE64_SOURCE 468 | #endif 469 | 470 | #if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H) 471 | # define Z_HAVE_UNISTD_H 472 | #endif 473 | #ifndef Z_SOLO 474 | # if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) 475 | # include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ 476 | # ifdef VMS 477 | # include /* for off_t */ 478 | # endif 479 | # ifndef z_off_t 480 | # define z_off_t off_t 481 | # endif 482 | # endif 483 | #endif 484 | 485 | #if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 486 | # define Z_LFS64 487 | #endif 488 | 489 | #if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) 490 | # define Z_LARGE64 491 | #endif 492 | 493 | #if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) 494 | # define Z_WANT64 495 | #endif 496 | 497 | #if !defined(SEEK_SET) && !defined(Z_SOLO) 498 | # define SEEK_SET 0 /* Seek from beginning of file. */ 499 | # define SEEK_CUR 1 /* Seek from current position. */ 500 | # define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ 501 | #endif 502 | 503 | #ifndef z_off_t 504 | # define z_off_t long 505 | #endif 506 | 507 | #if !defined(_WIN32) && defined(Z_LARGE64) 508 | # define z_off64_t off64_t 509 | #else 510 | # if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO) 511 | # define z_off64_t __int64 512 | # else 513 | # define z_off64_t z_off_t 514 | # endif 515 | #endif 516 | 517 | /* MVS linker does not support external names larger than 8 bytes */ 518 | #if defined(__MVS__) 519 | #pragma map(deflateInit_,"DEIN") 520 | #pragma map(deflateInit2_,"DEIN2") 521 | #pragma map(deflateEnd,"DEEND") 522 | #pragma map(deflateBound,"DEBND") 523 | #pragma map(inflateInit_,"ININ") 524 | #pragma map(inflateInit2_,"ININ2") 525 | #pragma map(inflateEnd,"INEND") 526 | #pragma map(inflateSync,"INSY") 527 | #pragma map(inflateSetDictionary,"INSEDI") 528 | #pragma map(compressBound,"CMBND") 529 | #pragma map(inflate_table,"INTABL") 530 | #pragma map(inflate_fast,"INFA") 531 | #pragma map(inflate_copyright,"INCOPY") 532 | #endif 533 | 534 | #endif /* ZCONF_H */ 535 | -------------------------------------------------------------------------------- /FernflowerUI_MFC/FernflowerUI_MFC.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | ReleaseWithDLL 10 | Win32 11 | 12 | 13 | ReleaseWithDLL 14 | x64 15 | 16 | 17 | Release 18 | Win32 19 | 20 | 21 | Debug 22 | x64 23 | 24 | 25 | Release 26 | x64 27 | 28 | 29 | 30 | 15.0 31 | {12C337DD-04ED-41ED-A6BF-632A66FF9E39} 32 | MFCProj 33 | FernflowerUIMFC 34 | 10.0 35 | 36 | 37 | 38 | Application 39 | true 40 | v142 41 | Unicode 42 | Static 43 | false 44 | false 45 | 46 | 47 | Application 48 | false 49 | v142 50 | true 51 | Unicode 52 | Static 53 | false 54 | 55 | 56 | Application 57 | false 58 | v142 59 | true 60 | Unicode 61 | Dynamic 62 | false 63 | 64 | 65 | Application 66 | true 67 | v142 68 | Unicode 69 | Static 70 | false 71 | 72 | 73 | Application 74 | false 75 | v142 76 | true 77 | Unicode 78 | Static 79 | false 80 | 81 | 82 | Application 83 | false 84 | v142 85 | true 86 | Unicode 87 | Dynamic 88 | false 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | true 116 | 117 | 118 | true 119 | 120 | 121 | false 122 | 123 | 124 | false 125 | 126 | 127 | false 128 | 129 | 130 | false 131 | 132 | 133 | 134 | Use 135 | Level3 136 | Disabled 137 | true 138 | WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions);ZLIB_WINAPI 139 | MultiThreadedDebug 140 | 141 | 142 | Windows 143 | ;zlibstat.lib 144 | 145 | 146 | false 147 | true 148 | _DEBUG;%(PreprocessorDefinitions) 149 | 150 | 151 | 0x0804 152 | _DEBUG;%(PreprocessorDefinitions) 153 | $(IntDir);%(AdditionalIncludeDirectories) 154 | true 155 | 156 | 157 | 158 | 159 | Use 160 | Level3 161 | Disabled 162 | true 163 | _WINDOWS;_DEBUG;%(PreprocessorDefinitions);ZLIB_WINAPI 164 | 165 | 166 | Windows 167 | 168 | 169 | false 170 | true 171 | _DEBUG;%(PreprocessorDefinitions) 172 | 173 | 174 | 0x0804 175 | _DEBUG;%(PreprocessorDefinitions) 176 | $(IntDir);%(AdditionalIncludeDirectories) 177 | 178 | 179 | 180 | 181 | Use 182 | Level3 183 | MaxSpeed 184 | true 185 | true 186 | true 187 | WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions);ZLIB_WINAPI 188 | 189 | 190 | Windows 191 | true 192 | true 193 | 194 | 195 | false 196 | true 197 | NDEBUG;%(PreprocessorDefinitions) 198 | 199 | 200 | 0x0804 201 | NDEBUG;%(PreprocessorDefinitions) 202 | $(IntDir);%(AdditionalIncludeDirectories) 203 | 204 | 205 | 206 | 207 | Use 208 | Level3 209 | MaxSpeed 210 | true 211 | true 212 | true 213 | WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions);ZLIB_WINAPI 214 | ProgramDatabase 215 | 216 | 217 | Windows 218 | true 219 | true 220 | 221 | 222 | false 223 | true 224 | NDEBUG;%(PreprocessorDefinitions) 225 | 226 | 227 | 0x0804 228 | NDEBUG;%(PreprocessorDefinitions) 229 | $(IntDir);%(AdditionalIncludeDirectories) 230 | 231 | 232 | 233 | 234 | Use 235 | Level3 236 | MaxSpeed 237 | true 238 | true 239 | true 240 | _WINDOWS;NDEBUG;%(PreprocessorDefinitions);ZLIB_WINAPI 241 | 242 | 243 | Windows 244 | true 245 | true 246 | 247 | 248 | false 249 | true 250 | NDEBUG;%(PreprocessorDefinitions) 251 | 252 | 253 | 0x0804 254 | NDEBUG;%(PreprocessorDefinitions) 255 | $(IntDir);%(AdditionalIncludeDirectories) 256 | 257 | 258 | 259 | 260 | Use 261 | Level3 262 | MaxSpeed 263 | true 264 | true 265 | true 266 | _WINDOWS;NDEBUG;%(PreprocessorDefinitions);ZLIB_WINAPI 267 | ProgramDatabase 268 | 269 | 270 | Windows 271 | true 272 | true 273 | 274 | 275 | false 276 | true 277 | NDEBUG;%(PreprocessorDefinitions) 278 | 279 | 280 | 0x0804 281 | NDEBUG;%(PreprocessorDefinitions) 282 | $(IntDir);%(AdditionalIncludeDirectories) 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | Create 325 | Create 326 | Create 327 | Create 328 | Create 329 | Create 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | -------------------------------------------------------------------------------- /docs/js/app.4c85d27f.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?4241","webpack:///./src/views/Home.vue?bf2a","webpack:///./src/views/Download.vue?e75a","webpack:///src/views/Download.vue","webpack:///./src/views/Download.vue?c4ac","webpack:///./src/views/Download.vue","webpack:///./src/App.vue?567c","webpack:///./src/views/Home.vue?04a4","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?493c","webpack:///./src/views/Home.vue?c853","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/router.js","webpack:///./src/main.js","webpack:///./src/views/Features.vue?8884","webpack:///src/views/Features.vue","webpack:///./src/views/Features.vue?cf30","webpack:///./src/views/Features.vue?b60b","webpack:///./src/views/Features.vue?6665","webpack:///./src/views/About.vue?64ea","webpack:///src/views/About.vue","webpack:///./src/views/About.vue?f1da","webpack:///./src/views/About.vue"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_v","_m","staticRenderFns","treeUnLoaded","beforeRouteEnter","next","linkto","document","getElementById","vm","$route","toLowerCase","className","decrypted","decipher","update","final","url","dataType","type","success","treedata","children","chi","text","child","href","browser_download_url","selectable","parent","item","tag_name","nodes","color","expandIcon","collapseIcon","enableLinks","error","alert","e","beforeRouteLeave","component","_l","_s","_tablist","Home","Features","Download","About","tablist","Vue","use","Router","routes","path","base","ScrollSpy","config","productionTip","router","afterEach","to","from","nameto","title","namefrom","linkfrom","h","App","$mount","directives","rawName","class","expression","_e","viewmodel","isbig","sidebar","sizeprovider","innerWidth","style","width","height","offsetHeight","toString","offsetWidth"],"mappings":"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","file":"js/app.4c85d27f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/FernflowerUI/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=7738cf92&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=7738cf92&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"download\"},[_c('div',{staticClass:\"container\"},[_c('div',[(_vm.treeUnLoaded)?_c('div',{staticClass:\"text-center\"},[_c('div',{staticClass:\"spinner-border text-primary\",attrs:{\"role\":\"status\"}}),_c('h5',[_vm._v(\"\\n Loading...\\n \")])]):_c('div',[_c('h3',{staticClass:\"display-4\"},[_vm._v(\"\\n Download FernflowerUI\\n \")]),_vm._m(0)])]),_vm._m(1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"alert alert-info\",attrs:{\"role\":\"alert\"}},[_vm._v(\"\\n Click on the links to download,or manually download via \"),_c('a',{attrs:{\"href\":\"https://github.com/6168218c/FernflowerUI/releases\"}},[_vm._v(\"GitHub\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-left\",attrs:{\"id\":\"treeviewcontainer\"}},[_c('div',{attrs:{\"id\":\"treeview\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Download.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Download.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Download.vue?vue&type=template&id=3dd5c878&scoped=true&\"\nimport script from \"./Download.vue?vue&type=script&lang=js&\"\nexport * from \"./Download.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3dd5c878\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pb-3\",attrs:{\"id\":\"app\",\"role\":\"main\"}},[_c('header',[_c('nav',{staticClass:\"navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3\"},[_c('div',{staticClass:\"container\"},[_vm._m(0),_vm._m(1),_c('div',{staticClass:\"navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse\",attrs:{\"id\":\"mainnav\"}},[_c('ul',{staticClass:\"nav nav-tabs flex-sm-row flex-column flex-grow-1\"},[_vm._l((_vm.tablist),function(item){return [_c('li',{key:item.name,staticClass:\"nav-item\"},[_c('router-link',{key:item.name,staticClass:\"nav-link\",attrs:{\"id\":item.name.toLowerCase()+'-tab',\"to\":'/'+item.name}},[_vm._v(_vm._s(item.name))])],1)]})],2)])])])]),_c('transition',[_c('router-view')],1),_c('footer',{staticClass:\"border-top footer text-muted text-left\"},[_c('div',{staticClass:\"container\"},[_vm._v(\"\\n © 2019 - FernflowerUI - \"),_c('router-link',{attrs:{\"to\":\"/About\"}},[_vm._v(\"About\")])],1)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"navbar-brand\",attrs:{\"href\":\"#Home\"}},[_c('img',{attrs:{\"src\":\"favicon.ico\",\"height\":\"40\",\"width\":\"40\"}}),_vm._v(\"\\n FernflowerUI\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"navbar-toggler\",attrs:{\"type\":\"button\",\"data-toggle\":\"collapse\",\"data-target\":\"#mainnav\",\"aria-controls\":\"navbarSupportedContent\",\"aria-expanded\":\"false\",\"aria-label\":\"Toggle navigation\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"text-center\"},[_c('img',{attrs:{\"src\":\"https://raw.githubusercontent.com/6168218c/FernflowerUI/MFC/FernflowerUI_MFC/UsingImages/FernFlowerUI_MFC.ico\",\"alt\":\"Icon\"}}),_vm._m(0),_vm._m(1),_vm._m(2),_c('img',{attrs:{\"src\":\"https://img.shields.io/badge/platform-windows-orange.svg\",\"alt\":\"Platform\"}}),_vm._m(3),_c('p'),_c('p',[_c('a',{staticClass:\"linkBox\",attrs:{\"target\":\"_blank\",\"href\":\"https://github.com/6168218c/FernflowerUI\"}},[_c('svg',{staticClass:\"align-content-center\",attrs:{\"height\":\"32\",\"viewBox\":\"0 0 16 16\",\"version\":\"1.1\",\"width\":\"32\",\"aria-hidden\":\"true\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"d\":\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z\"}})]),_c('span',[_vm._v(\"View on GitHub\")])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('span',{staticClass:\"navbar-brand\"},[_vm._v(\"Just a Graphic User Interface(GUI) Wrapper for Fernflower\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"https://github.com/6168218c/FernflowerUI/blob/MFC/LICENSE\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/github/license/6168218c/FernflowerUI.svg\",\"alt\":\"License\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"https://github.com/6168218c/FernflowerUI/releases/latest\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/github/release/6168218c/FernflowerUI.svg\",\"alt\":\"GitHub release\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{attrs:{\"href\":\"https://github.com/6168218c/FernflowerUI/issues\"}},[_c('img',{attrs:{\"src\":\"https://img.shields.io/github/issues/6168218c/FernflowerUI.svg\",\"alt\":\"Issues\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=7738cf92&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=7738cf92&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7738cf92\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=20267beb&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Router from 'vue-router'\nimport Home from './views/Home.vue'\n\nVue.use(Router)\n\nexport default new Router({\n routes: [\n {\n path: '/',\n name: '',\n component: Home\n },\n {\n path: '/home',\n name: 'Home',\n component: Home\n },\n {\n path: '/download',\n name: 'Download',\n // route level code-splitting\n // this generates a separate chunk (download.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ './views/Download.vue')\n },\n {\n path: '/features',\n name: 'Features',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import('./views/Features.vue')\n },\n {\n path: '/about',\n name: 'About',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"about\" */ './views/About.vue')\n }\n ],\n mode: 'history',\n base: process.env.NODE_ENV === 'production'\n ? '/FernflowerUI/'\n : '/'\n})\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport ScrollSpy from 'vue2-scrollspy'\r\n\r\nVue.use(ScrollSpy)\r\n\r\nVue.config.productionTip = false\r\n\r\nrouter.afterEach((to, from) => {\r\n if (to.name != null) {\r\n var nameto = to.name === '' ? 'Home' : to.name\r\n var linkto = document.getElementById(nameto.toLowerCase() + '-tab')\r\n if (linkto != null) {\r\n linkto.className = 'nav-link active'\r\n }\r\n document.title = nameto + ' - FernflowerUI'\r\n }\r\n\r\n if (from.name != null) {\r\n var namefrom = from.name === '' ? 'Home' : from.name\r\n var linkfrom = document.getElementById(namefrom.toLowerCase() + '-tab')\r\n if (linkfrom != null) {\r\n linkfrom.className = 'nav-link'\r\n }\r\n }\r\n})\r\n\r\nnew Vue({\r\n router,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('h5',{staticClass:\"display-4\"},[_vm._v(\"This content is still working-in-progress\")]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"sidebar col-sm-auto invisible\",attrs:{\"id\":\"side-bar\"}},[_c('nav',{staticClass:\"navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3\",attrs:{\"id\":\"featuresnav\"}},[_c('div',{staticClass:\"flex-column\"},[_vm._m(0),_c('nav',{staticClass:\"navbar navbar-collapse collapse d-sm-inline-flex\",attrs:{\"id\":\"collapsenav\"}},[_c('div',{directives:[{name:\"scroll-spy-active\",rawName:\"v-scroll-spy-active\",value:({class: 'active'}),expression:\"{class: 'active'}\"},{name:\"scroll-spy-link\",rawName:\"v-scroll-spy-link\"}],staticClass:\"nav flex-column nav-pills\",attrs:{\"aria-orientation\":\"vertical\",\"data-scroll-spy-id\":\"mainscroll\"}},[_c('a',{staticClass:\"nav-link\"},[_vm._v(\"Decompilation\")]),_c('nav',{staticClass:\"navbar d-sm-inline-flex\"},[_c('div',{directives:[{name:\"scroll-spy-active\",rawName:\"v-scroll-spy-active\",value:({class: 'active'}),expression:\"{class: 'active'}\"},{name:\"scroll-spy-link\",rawName:\"v-scroll-spy-link\"}],staticClass:\"nav flex-column nav-pills\",attrs:{\"aria-orientation\":\"vertical\",\"data-scroll-spy-id\":\"decomptiationscroll\"}},[_c('a',{staticClass:\"nav-link\"},[_vm._v(\"Normal Java Archive\")])])])])])])])]),(_vm.isbig)?_c('div',{staticClass:\"sizeprovider col col-sm-4 col-md-3 col-lg-3 col-xl-3\",attrs:{\"id\":\"placehold\"}}):_vm._e(),_c('div',{staticClass:\"col col-md-9 col-lg-9 col-xl-9\"},[_c('div',{directives:[{name:\"scroll-spy\",rawName:\"v-scroll-spy\"}],attrs:{\"data-spy\":\"scroll\",\"data-scroll-spy-id\":\"mainscroll\"}},[_c('div',[_c('h3',[_vm._v(\"Decompilation\")]),_c('p',[_vm._v(\"FernflowerUI can help you decompile Jar files without using the disappointing CLI.\")]),_c('p',[_vm._v(\"There are three kinds of decompilation,which are named:Normal Java Archive,Normal Java Classes and Classes inside a Archive\")]),_c('div',{directives:[{name:\"scroll-spy\",rawName:\"v-scroll-spy\"}],attrs:{\"data-scroll-spy-id\":\"decomptiationscroll\"}},[_vm._m(1),_c('p')])])])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"navbar-toggler\",attrs:{\"type\":\"button\",\"data-toggle\":\"collapse\",\"data-target\":\"#collapsenav\",\"aria-controls\":\"navbarSupportedContent\",\"aria-expanded\":\"false\",\"aria-label\":\"Toggle navigation\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h5',[_vm._v(\"Normal Java Archive\")])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Features.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Features.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Features.vue?vue&type=template&id=42eb376d&scoped=true&\"\nimport script from \"./Features.vue?vue&type=script&lang=js&\"\nexport * from \"./Features.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Features.vue?vue&type=style&index=0&id=42eb376d&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42eb376d\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Features.vue?vue&type=style&index=0&id=42eb376d&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Features.vue?vue&type=style&index=0&id=42eb376d&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"about\"},[_c('div',{staticClass:\"container\"},[_c('p',{staticClass:\"lead\"},[_vm._v(\"FernflowerUI is licensed under \"),_c('a',{attrs:{\"href\":\"http://www.apache.org/licenses/LICENSE-2.0\"}},[_vm._v(\"Apache License 2.0\")])]),_c('p',{staticClass:\"lead\"},[_vm._v(\"\\n Great thanks to the following projects:\\n \"),_c('ul',{staticClass:\"list-group list-group-flush col-4\"},[_c('li',{staticClass:\"list-group-item\"},[_c('a',{staticClass:\"text-monospace\",attrs:{\"href\":\"https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine\"}},[_vm._v(\"Fernflower\")])]),_c('li',{staticClass:\"list-group-item\"},[_c('a',{staticClass:\"text-monospace\",attrs:{\"href\":\"https://docs.microsoft.com/en-us/cpp/mfc/mfc-desktop-applications?view=vs-2019\"}},[_vm._v(\"Microsoft Foundation Classes\")])]),_c('li',{staticClass:\"list-group-item\"},[_c('a',{staticClass:\"text-monospace\",attrs:{\"href\":\"https://vuejs.org/\"}},[_vm._v(\"Vue.js\")])]),_c('li',{staticClass:\"list-group-item\"},[_c('a',{staticClass:\"text-monospace\",attrs:{\"href\":\"https://getbootstrap.com/\"}},[_vm._v(\"Bootstrap\")])]),_c('li',{staticClass:\"list-group-item\"},[_c('a',{staticClass:\"text-monospace\",attrs:{\"href\":\"https://nodejs.org/\"}},[_vm._v(\"Node.js\")])])])])])])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=37278650&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=js&\"\nexport * from \"./About.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"37278650\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} --------------------------------------------------------------------------------