mount("ext4", "EMMC", "/dev/block/mmcblk0p5", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p7", "/data");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "Lenovo/S820/S820:4.2.1/JOP40D/S820_S135_130608:user/release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "Lenovo/S820/S820:4.2.1/JOP40D/S820_S135_130608:user/release-keys");
assert(getprop("ro.product.device") == "S820" ||
       getprop("ro.build.product") == "S820");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/app/AirkanPhoneService.apk", "057e4993d96994080360fa79c48a65e52144d4a3", "4ae991ed8c8af5b2869afebcd801eaf0a2eee2e5"));
set_progress(0.002138);
assert(apply_patch_check("/system/app/AntiSpam.apk", "b7d83874eb05d6c26df24069553e4b3bf2126a9c", "be8f272065bec990e188b52161e42cfaccf32728"));
set_progress(0.002863);
assert(apply_patch_check("/system/app/Browser.apk", "ceb9fcb03264615ca9d8bea0807c573129c5b7f7", "545b0ac5ab85377828a32354c6e924077ccfef5e"));
set_progress(0.040534);
assert(apply_patch_check("/system/app/Calculator.apk", "f3e297b1c034d275148fde53c98d2649fc39ef12", "409490e2eaa6a01ac7b554a5f434783328d241d8"));
set_progress(0.054691);
assert(apply_patch_check("/system/app/CloudService.apk", "fbe509a2f9426e41e34327372f97861408a3d583", "b46bde33c50000e624fe1344554d89e00f111d77"));
set_progress(0.056081);
assert(apply_patch_check("/system/app/Contacts.apk", "d2868b95c26b622aa2a0c56aa530446a9ead5646", "b4f50d983c1fa5f78a50dff88d7883edc8ba3802"));
set_progress(0.080017);
assert(apply_patch_check("/system/app/DownloadProvider.apk", "034adebb84be4c11e44283253f9ddd3d35f4c072", "0b40724df9bed0105a4cb5f91b56e43198e9324c"));
set_progress(0.080712);
assert(apply_patch_check("/system/app/DownloadProviderUi.apk", "19fb503dc1ecb3ce7575c2d8c30557b446d45bdf", "3fca5494ccf662d24c36148dabf6652f4885983c"));
set_progress(0.082121);
assert(apply_patch_check("/system/app/Exchange2.apk", "c39505f18ce3276304015e58dd7e5f32dc2910e5", "152acc927f74bcbbf0a77996f3703189f27c8d03"));
set_progress(0.087769);
assert(apply_patch_check("/system/app/LenovoLightSettings.apk", "c7245d74431c4d52a6a11dd1bb1c8cddea2c0eec", "eaae8bd027af1b91e1cbe8d1dfd8dd607d12ccea"));
set_progress(0.088169);
assert(apply_patch_check("/system/app/LenovoSettings.apk", "c67e736b5465e733990537860c638da6bd0e70bd", "c8183ecefb516f5abacca76d35d034a0b270c1fb"));
set_progress(0.135948);
assert(apply_patch_check("/system/app/MiuiCompass.apk", "318838eb5576b4129b16cc2e70f82c36c1ff4817", "286e0eb140096d2345fea3960c16ded77ecacd17"));
set_progress(0.141359);
assert(apply_patch_check("/system/app/MiuiGallery.apk", "67ac3618069d387cbf277841ddc6264a693f5967", "5b50092ffaabae6febaacf6ae319f38c0416ef0f"));
set_progress(0.156890);
assert(apply_patch_check("/system/app/MiuiHome.apk", "6518d3b838e084722ce177b71bc577975a871930", "aa48a9db9764fae67aff35c47dfc2fed614f1577"));
set_progress(0.180806);
assert(apply_patch_check("/system/app/MiuiSystemUI.apk", "5f79bfa21398476d851507eff194a75d5627567f", "0fb957086e75da55aedae10d6668d6585e2bba49"));
set_progress(0.193917);
assert(apply_patch_check("/system/app/MiuiVideoPlayer.apk", "4b961e0f9f48f1639323e9392bb0575e2d9ab7e9", "86d2a116c4a0f7804f71cf1ff0efcaa646b16e19"));
set_progress(0.199420);
assert(apply_patch_check("/system/app/Mms.apk", "680160bc0e49e56d77468ae5ede401fbb293cf8d", "e16bf67a64770ab497f1882cac6305b9568f1c82"));
set_progress(0.209858);
assert(apply_patch_check("/system/app/Music.apk", "dbb05b23fa745b3e46a2dadea4b6216ff8f82bc5", "3677a0a86379f25df5542acf68c895b4fb415407"));
set_progress(0.247141);
assert(apply_patch_check("/system/app/Notes.apk", "f90d86455fdcdc2b52923f126280a5fae8a81ea6", "49362707eb9dd1330f2165357d500122f18b0e2c"));
set_progress(0.302048);
assert(apply_patch_check("/system/app/Phone.apk", "49d285e7c8a90a92e2c54a137f2cbcf25ead2abd", "4f734b7326f6e98f3c7f508f67c9d847432e5bd3"));
set_progress(0.329209);
assert(apply_patch_check("/system/app/SCG_arm_hd.apk", "13950eb9771827e86759fe4e28711e65a91471f7", "02e501c5abb031398256b91d83ea4828f8cb534c"));
set_progress(0.601875);
assert(apply_patch_check("/system/app/Settings.apk", "b23dd40412510ea6565a802d32c65d504a355cdc", "e8aaedc392e226322a9a3865aab34ec96f84110a"));
set_progress(0.681078);
assert(apply_patch_check("/system/app/SettingsProvider.apk", "42c70096959786dda3c7ef504d1d804c7deaf321", "ce28ae6ee118ab408392ade26961d0b7a1b9bdaf"));
set_progress(0.681769);
assert(apply_patch_check("/system/app/SoundRecorder.apk", "6fdaf07dfab40485cb43c5b202bea0b27bc3a64c", "2fd6e37b45e0c351a395ee8d3dd68f6e72932e9c"));
set_progress(0.701124);
assert(apply_patch_check("/system/app/StockSettings.apk", "f327218a97373c9220479ea01c3e6a9a5fa1e966", "86463f1f161ff0c933dc3a903b803869f468c5e2"));
set_progress(0.701215);
assert(apply_patch_check("/system/app/SuperMarket.apk", "892032663169e741f84f2540ea6db62b2bae7e8b", "6749cefb86b1393aeed4a5f276953ab573046da2"));
set_progress(0.705091);
assert(apply_patch_check("/system/app/TelephonyProvider.apk", "50ef6ee0104a3a37b35385a2d86d015a3992aca0", "88918a4ff2964d26de937d6e07f7b07ae6016972"));
set_progress(0.705605);
assert(apply_patch_check("/system/app/ThemeManager.apk", "8d39fb3f77b03b6d6092ced0cfd4c2c9b66eaaaf", "7d57f98fa707b7f3795e8f86a398b9addd91a815"));
set_progress(0.712130);
assert(apply_patch_check("/system/app/Updater.apk", "f861365dfcbde5eb3271fe094a55e6c27e444d7c", "fc1aa944b0774307b729a6a14ecb1f6ced1ed5b9"));
set_progress(0.724305);
assert(apply_patch_check("/system/app/Weather.apk", "a428baeb20ffcb13e94586399d7055176ba5f197", "97068ff22af6449235bca12166f7f28f7be78aa4"));
set_progress(0.734648);
assert(apply_patch_check("/system/app/XiaomiServiceFramework.apk", "e9d777a2fc1dceec91e61a80d19c6b28e9cf7c2c", "63d411cd9855937d26ec7170c272638f9c620d46"));
set_progress(0.755364);
assert(apply_patch_check("/system/build.prop", "9f0ef3cf6a178807ff63f9576713e2307a963518", "c4001ca668cd811df12b92e6f746e84db0d63d75"));
set_progress(0.755385);
assert(apply_patch_check("/system/etc/apns-conf.xml", "2faa0dcc705c99ebd6b8a1d2719d5936896f7582", "2aeeea0aa9513ce78d3bbabb19b2e381b8f920e7"));
set_progress(0.756401);
assert(apply_patch_check("/system/framework/android.policy.jar", "fbad9a1c1036c181a244844fd802e08e5e8bae7c", "30da1142e8283309231c8f663ba126136a100827"));
set_progress(0.759088);
assert(apply_patch_check("/system/framework/framework-miui-res.apk", "e2f60bc0fbb1a8c73f298dd15c8bf01f62ca8de1", "a6fdc34add14e76bf73068c54485f9c70962a58f"));
set_progress(0.808878);
assert(apply_patch_check("/system/framework/framework-res.apk", "95e8da2acac0316289cf366d91dcffe9b3734b16", "41ace08b461be0fdcbaaa4e730eaa5a0a959e536"));
set_progress(0.892635);
assert(apply_patch_check("/system/framework/framework.jar", "4b01e3b01642c9bbfb3abc2290a8a66ee8001e93", "7f8a1609592154a4d46fc53abca5514d1797fe28"));
set_progress(0.915443);
assert(apply_patch_check("/system/framework/mediatek-framework.jar", "f88d438eb7f6f2378fefc8f0b5f37f7fba645567", "fd26e82593f0e8da26f32faf597b3bf79bc496d6"));
set_progress(0.916271);
assert(apply_patch_check("/system/framework/secondary-framework.jar", "a38244146eaf5cca56fd11747dc1ee0560a052fa", "c43290d1a7d755beb63dde9de1d386124ff7bcc5"));
set_progress(0.927769);
assert(apply_patch_check("/system/framework/services.jar", "46d96653893ab9cbc12ea36ff3cca779fb0b68d3", "1f1e50d78807d343152a0bce4f46ee75e747755b"));
set_progress(0.935137);
assert(apply_patch_check("/system/media/theme/default/alarmscreen", "65492d70f87a9861171d0489b668c6cbd2825811", "7d56aedc88cac98eb097df9936f2c7781134756b"));
set_progress(0.938557);
assert(apply_patch_check("/system/media/theme/default/icons", "1f78789e005e508f01a2862e0dbf9e1d01b45ed6", "c13914321189fff520a82f74da2f003197027a55"));
set_progress(0.940913);
assert(apply_patch_space(50923207));

# ---- start making changes here ----

ui_print("Removing unneeded files...");
delete("/system/recovery.img");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/data/preinstall_apps/VoiceAssist.apk", "-",
            67a41bddfc5f59a02d124cab0114f12dbf5629e4, 11035006,
            919491658c78f36a6d2e2f3a34448f6d1e3823c0, package_extract_file("patch/data/preinstall_apps/VoiceAssist.apk.p"));
set_progress(0.059107);
apply_patch("/system/app/AirkanPhoneService.apk", "-",
            057e4993d96994080360fa79c48a65e52144d4a3, 399486,
            4ae991ed8c8af5b2869afebcd801eaf0a2eee2e5, package_extract_file("patch/system/app/AirkanPhoneService.apk.p"));
set_progress(0.061247);
apply_patch("/system/app/AntiSpam.apk", "-",
            b7d83874eb05d6c26df24069553e4b3bf2126a9c, 136442,
            be8f272065bec990e188b52161e42cfaccf32728, package_extract_file("patch/system/app/AntiSpam.apk.p"));
set_progress(0.061978);
apply_patch("/system/app/Browser.apk", "-",
            ceb9fcb03264615ca9d8bea0807c573129c5b7f7, 7035348,
            545b0ac5ab85377828a32354c6e924077ccfef5e, package_extract_file("patch/system/app/Browser.apk.p"));
set_progress(0.099662);
apply_patch("/system/app/Calculator.apk", "-",
            f3e297b1c034d275148fde53c98d2649fc39ef12, 2645406,
            409490e2eaa6a01ac7b554a5f434783328d241d8, package_extract_file("patch/system/app/Calculator.apk.p"));
set_progress(0.113831);
apply_patch("/system/app/CloudService.apk", "-",
            fbe509a2f9426e41e34327372f97861408a3d583, 259691,
            b46bde33c50000e624fe1344554d89e00f111d77, package_extract_file("patch/system/app/CloudService.apk.p"));
set_progress(0.115222);
apply_patch("/system/app/Contacts.apk", "-",
            d2868b95c26b622aa2a0c56aa530446a9ead5646, 4290325,
            b4f50d983c1fa5f78a50dff88d7883edc8ba3802, package_extract_file("patch/system/app/Contacts.apk.p"));
set_progress(0.138203);
apply_patch("/system/app/DownloadProvider.apk", "-",
            034adebb84be4c11e44283253f9ddd3d35f4c072, 129730,
            0b40724df9bed0105a4cb5f91b56e43198e9324c, package_extract_file("patch/system/app/DownloadProvider.apk.p"));
set_progress(0.138898);
apply_patch("/system/app/DownloadProviderUi.apk", "-",
            19fb503dc1ecb3ce7575c2d8c30557b446d45bdf, 251640,
            3fca5494ccf662d24c36148dabf6652f4885983c, package_extract_file("patch/system/app/DownloadProviderUi.apk.p"));
set_progress(0.140246);
apply_patch("/system/app/Exchange2.apk", "-",
            c39505f18ce3276304015e58dd7e5f32dc2910e5, 1054898,
            152acc927f74bcbbf0a77996f3703189f27c8d03, package_extract_file("patch/system/app/Exchange2.apk.p"));
set_progress(0.145896);
apply_patch("/system/app/LenovoLightSettings.apk", "-",
            c7245d74431c4d52a6a11dd1bb1c8cddea2c0eec, 74760,
            eaae8bd027af1b91e1cbe8d1dfd8dd607d12ccea, package_extract_file("patch/system/app/LenovoLightSettings.apk.p"));
set_progress(0.146297);
apply_patch("/system/app/LenovoSettings.apk", "-",
            c67e736b5465e733990537860c638da6bd0e70bd, 8923232,
            c8183ecefb516f5abacca76d35d034a0b270c1fb, package_extract_file("patch/system/app/LenovoSettings.apk.p"));
set_progress(0.194092);
apply_patch("/system/app/MiuiCompass.apk", "-",
            318838eb5576b4129b16cc2e70f82c36c1ff4817, 1011519,
            286e0eb140096d2345fea3960c16ded77ecacd17, package_extract_file("patch/system/app/MiuiCompass.apk.p"));
set_progress(0.199511);
apply_patch("/system/app/MiuiGallery.apk", "-",
            67ac3618069d387cbf277841ddc6264a693f5967, 2973377,
            5b50092ffaabae6febaacf6ae319f38c0416ef0f, package_extract_file("patch/system/app/MiuiGallery.apk.p"));
set_progress(0.215437);
apply_patch("/system/app/MiuiHome.apk", "-",
            6518d3b838e084722ce177b71bc577975a871930, 4466739,
            aa48a9db9764fae67aff35c47dfc2fed614f1577, package_extract_file("patch/system/app/MiuiHome.apk.p"));
set_progress(0.239362);
apply_patch("/system/app/MiuiSystemUI.apk", "-",
            5f79bfa21398476d851507eff194a75d5627567f, 2466972,
            0fb957086e75da55aedae10d6668d6585e2bba49, package_extract_file("patch/system/app/MiuiSystemUI.apk.p"));
set_progress(0.252576);
apply_patch("/system/app/MiuiVideoPlayer.apk", "-",
            4b961e0f9f48f1639323e9392bb0575e2d9ab7e9, 1027945,
            86d2a116c4a0f7804f71cf1ff0efcaa646b16e19, package_extract_file("patch/system/app/MiuiVideoPlayer.apk.p"));
set_progress(0.258082);
apply_patch("/system/app/Mms.apk", "-",
            680160bc0e49e56d77468ae5ede401fbb293cf8d, 1949447,
            e16bf67a64770ab497f1882cac6305b9568f1c82, package_extract_file("patch/system/app/Mms.apk.p"));
set_progress(0.268524);
apply_patch("/system/app/Music.apk", "-",
            dbb05b23fa745b3e46a2dadea4b6216ff8f82bc5, 6963215,
            3677a0a86379f25df5542acf68c895b4fb415407, package_extract_file("patch/system/app/Music.apk.p"));
set_progress(0.305822);
apply_patch("/system/app/Notes.apk", "-",
            f90d86455fdcdc2b52923f126280a5fae8a81ea6, 10336669,
            49362707eb9dd1330f2165357d500122f18b0e2c, package_extract_file("patch/system/app/Notes.apk.p"));
set_progress(0.361189);
apply_patch("/system/app/Phone.apk", "-",
            49d285e7c8a90a92e2c54a137f2cbcf25ead2abd, 5074019,
            4f734b7326f6e98f3c7f508f67c9d847432e5bd3, package_extract_file("patch/system/app/Phone.apk.p"));
set_progress(0.388367);
apply_patch("/system/app/SCG_arm_hd.apk", "-",
            13950eb9771827e86759fe4e28711e65a91471f7, 50923207,
            02e501c5abb031398256b91d83ea4828f8cb534c, package_extract_file("patch/system/app/SCG_arm_hd.apk.p"));
set_progress(0.661129);
apply_patch("/system/app/Settings.apk", "-",
            b23dd40412510ea6565a802d32c65d504a355cdc, 14801789,
            e8aaedc392e226322a9a3865aab34ec96f84110a, package_extract_file("patch/system/app/Settings.apk.p"));
set_progress(0.740413);
apply_patch("/system/app/SettingsProvider.apk", "-",
            42c70096959786dda3c7ef504d1d804c7deaf321, 129087,
            ce28ae6ee118ab408392ade26961d0b7a1b9bdaf, package_extract_file("patch/system/app/SettingsProvider.apk.p"));
set_progress(0.741104);
apply_patch("/system/app/SoundRecorder.apk", "-",
            6fdaf07dfab40485cb43c5b202bea0b27bc3a64c, 3614789,
            2fd6e37b45e0c351a395ee8d3dd68f6e72932e9c, package_extract_file("patch/system/app/SoundRecorder.apk.p"));
set_progress(0.760466);
apply_patch("/system/app/StockSettings.apk", "-",
            f327218a97373c9220479ea01c3e6a9a5fa1e966, 17114,
            86463f1f161ff0c933dc3a903b803869f468c5e2, package_extract_file("patch/system/app/StockSettings.apk.p"));
set_progress(0.760558);
apply_patch("/system/app/SuperMarket.apk", "-",
            892032663169e741f84f2540ea6db62b2bae7e8b, 635924,
            6749cefb86b1393aeed4a5f276953ab573046da2, package_extract_file("patch/system/app/SuperMarket.apk.p"));
set_progress(0.763964);
apply_patch("/system/app/TelephonyProvider.apk", "-",
            50ef6ee0104a3a37b35385a2d86d015a3992aca0, 95993,
            88918a4ff2964d26de937d6e07f7b07ae6016972, package_extract_file("patch/system/app/TelephonyProvider.apk.p"));
set_progress(0.764478);
apply_patch("/system/app/ThemeManager.apk", "-",
            8d39fb3f77b03b6d6092ced0cfd4c2c9b66eaaaf, 1218458,
            7d57f98fa707b7f3795e8f86a398b9addd91a815, package_extract_file("patch/system/app/ThemeManager.apk.p"));
set_progress(0.771005);
apply_patch("/system/app/Updater.apk", "-",
            f861365dfcbde5eb3271fe094a55e6c27e444d7c, 2287683,
            fc1aa944b0774307b729a6a14ecb1f6ced1ed5b9, package_extract_file("patch/system/app/Updater.apk.p"));
set_progress(0.783259);
apply_patch("/system/app/Weather.apk", "-",
            a428baeb20ffcb13e94586399d7055176ba5f197, 1931585,
            97068ff22af6449235bca12166f7f28f7be78aa4, package_extract_file("patch/system/app/Weather.apk.p"));
set_progress(0.793605);
apply_patch("/system/app/XiaomiServiceFramework.apk", "-",
            e9d777a2fc1dceec91e61a80d19c6b28e9cf7c2c, 3869056,
            63d411cd9855937d26ec7170c272638f9c620d46, package_extract_file("patch/system/app/XiaomiServiceFramework.apk.p"));
set_progress(0.814329);
apply_patch("/system/etc/apns-conf.xml", "-",
            2faa0dcc705c99ebd6b8a1d2719d5936896f7582, 189277,
            2aeeea0aa9513ce78d3bbabb19b2e381b8f920e7, package_extract_file("patch/system/etc/apns-conf.xml.p"));
set_progress(0.815343);
apply_patch("/system/framework/android.policy.jar", "-",
            fbad9a1c1036c181a244844fd802e08e5e8bae7c, 501795,
            30da1142e8283309231c8f663ba126136a100827, package_extract_file("patch/system/framework/android.policy.jar.p"));
set_progress(0.818030);
apply_patch("/system/framework/framework-miui-res.apk", "-",
            e2f60bc0fbb1a8c73f298dd15c8bf01f62ca8de1, 9299084,
            a6fdc34add14e76bf73068c54485f9c70962a58f, package_extract_file("patch/system/framework/framework-miui-res.apk.p"));
set_progress(0.867840);
apply_patch("/system/framework/framework-res.apk", "-",
            95e8da2acac0316289cf366d91dcffe9b3734b16, 15642522,
            41ace08b461be0fdcbaaa4e730eaa5a0a959e536, package_extract_file("patch/system/framework/framework-res.apk.p"));
set_progress(0.951626);
apply_patch("/system/framework/framework.jar", "-",
            4b01e3b01642c9bbfb3abc2290a8a66ee8001e93, 4260315,
            7f8a1609592154a4d46fc53abca5514d1797fe28, package_extract_file("patch/system/framework/framework.jar.p"));
set_progress(0.974446);
apply_patch("/system/framework/mediatek-framework.jar", "-",
            f88d438eb7f6f2378fefc8f0b5f37f7fba645567, 154723,
            fd26e82593f0e8da26f32faf597b3bf79bc496d6, package_extract_file("patch/system/framework/mediatek-framework.jar.p"));
set_progress(0.975275);
apply_patch("/system/framework/secondary-framework.jar", "-",
            a38244146eaf5cca56fd11747dc1ee0560a052fa, 2153738,
            c43290d1a7d755beb63dde9de1d386124ff7bcc5, package_extract_file("patch/system/framework/secondary-framework.jar.p"));
set_progress(0.986811);
apply_patch("/system/framework/services.jar", "-",
            46d96653893ab9cbc12ea36ff3cca779fb0b68d3, 1379619,
            1f1e50d78807d343152a0bce4f46ee75e747755b, package_extract_file("patch/system/framework/services.jar.p"));
set_progress(0.994201);
apply_patch("/system/media/theme/default/alarmscreen", "-",
            65492d70f87a9861171d0489b668c6cbd2825811, 638705,
            7d56aedc88cac98eb097df9936f2c7781134756b, package_extract_file("patch/system/media/theme/default/alarmscreen.p"));
set_progress(0.997622);
apply_patch("/system/media/theme/default/icons", "-",
            1f78789e005e508f01a2862e0dbf9e1d01b45ed6, 440011,
            c13914321189fff520a82f74da2f003197027a55, package_extract_file("patch/system/media/theme/default/icons.p"));
set_progress(0.999979);
show_progress(0.100000, 10);
ui_print("Symlinks and permissions...");
set_perm_recursive(1000, 1000, 0755, 0644, "/data/preinstall_apps");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 0, 0555, "/system/bin/injectso");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(1001, 1000, 0770, 0644, "/system/etc/ril");
set_perm(0, 0, 0444, "/system/etc/ril/oper.lis");
set_perm(0, 1000, 0750, "/system/etc/throttle.sh");
set_perm(1014, 2000, 0550, "/system/etc/wide-dhcpv6/dhcp6c.script");
set_perm(0, 0, 0666, "/system/lib/libphonehook-6.so");
set_perm(0, 0, 0666, "/system/lib/libsystemhook-6.so");
set_perm(0, 2000, 0755, "/system/vendor");
set_perm_recursive(0, 2000, 0755, 0755, "/system/vendor/bin");
set_perm(0, 2000, 0755, "/system/vendor/lib");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/lib/drm");
set_perm(0, 0, 0644, "/system/vendor/lib/drm/libdrmwvmplugin.so");
set_perm(0, 2000, 0755, "/system/vendor/lib/egl");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor/lib/hw");
set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt6589.so");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/busybox");
set_perm(0, 1000, 06750, "/system/xbin/shelld");
set_perm(0, 0, 06755, "/system/xbin/su");
ui_print("Patching remaining system files...");
apply_patch("/system/build.prop", "-",
            9f0ef3cf6a178807ff63f9576713e2307a963518, 3965,
            c4001ca668cd811df12b92e6f746e84db0d63d75, package_extract_file("patch/system/build.prop.p"));
set_perm(0, 0, 0644, "/system/build.prop");
unmount("/data");
unmount("/system");
