mount("ext3", "EMMC", "/dev/block/mmcblk0p1", "/system");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "lge/lge_star/p990/p990:2.2.2/FRG83G/lgp990-V10b.2ED2ADCFFC:user/release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "lge/lge_star/p990/p990:2.2.2/FRG83G/lgp990-V10b.2ED2ADCFFC:user/release-keys");
assert(getprop("ro.product.device") == "p990" ||
       getprop("ro.build.product") == "p990");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/app/Phone.apk", "7b0a7a6d09313d8efccaca2f4a1b8acafc346c7f", "14d1e824df8f1b8570e6645683fab54ab1c076b5"));
set_progress(0.026246);
assert(apply_patch_check("/system/app/Phone.odex", "b12802895a0913fbf5c5877cbfd6da99acdbbdf0", "571636d15e98300db3872edc4aab46566fb04894"));
set_progress(0.053599);
assert(apply_patch_check("/system/bin/debuggerd", "525c800365ae6edccf74d7b4d297288f6b6e7f3b", "dec1acafe95b595f265fce74e9253873af125860"));
set_progress(0.054555);
assert(apply_patch_check("/system/bin/mkyaffs2image", "bebaae22893848b2a4de7fe500ad49568de7bd9e", "243152a3dc32a05bf466c5ea74f204ef30b474e7"));
set_progress(0.055193);
assert(apply_patch_check("/system/bin/recovery", "536133ddf0ce28e0fc20b966d0a79e44bd3f9e54", "8c6954d12c6d80dbe52548296cad4d981a49d375"));
set_progress(0.089104);
assert(apply_patch_check("/system/bin/wpa_supplicant", "ea47af108e859703a27bac704178d90353affad4", "f23a35068fee569bb0f34078bffdec7a17c1b439"));
set_progress(0.101644);
assert(apply_patch_check("/system/build.prop", "5fa2877f726ec4854c0b19e2231e98191fe2c0e9", "3a2e6bb867beb48d0be1fad5e487c7b61a155ca2"));
set_progress(0.101763);
assert(apply_patch_check("/system/etc/init.d/06defaulttheme", "dfbe4b3d659f4b5dced883636aa4b802f091b752", "af2abe201c2761e0ce88ba47437c5c4e8e7d5297"));
set_progress(0.101796);
assert(apply_patch_check("/system/etc/security/otacerts.zip", "36ad0870d6b13ddfc7d7e37c59062e003f1d090d", "d306993adf0557b8d5ebdabd2de1f860cd50123d"));
set_progress(0.101844);
assert(apply_patch_check("/system/framework/am.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.101858);
assert(apply_patch_check("/system/framework/am.odex", "96b0f80ac2ed71905160992044f8254ae553fcef", "639047f1bad8906c44a2964d7b65dd8d7ab09208"));
set_progress(0.103050);
assert(apply_patch_check("/system/framework/android.policy.jar", "b4319961a293e440f3f8c411004401537640d48e", "c48a7683da28a6bf7aadf23b13f68508c8800849"));
set_progress(0.103064);
assert(apply_patch_check("/system/framework/android.policy.odex", "154879837bf9e6500e6addae2c3f2121c2604c11", "256becde98777dc38a14e1b8e15e2ea7a8ee4dcf"));
set_progress(0.117425);
assert(apply_patch_check("/system/framework/android.test.runner.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.117438);
assert(apply_patch_check("/system/framework/android.test.runner.odex", "e85e3287e2c01be13026cef81cb1f0947db06f23", "26d1cc92d45effc7c5616828c5aa22ee7f3d39d8"));
set_progress(0.125816);
assert(apply_patch_check("/system/framework/bmgr.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.125829);
assert(apply_patch_check("/system/framework/bmgr.odex", "b9fbd35c99eb213142019651c8b4ce327c126cf6", "5c9fdeff6f8d8059729d0937604a56b942eae4b3"));
set_progress(0.126417);
assert(apply_patch_check("/system/framework/bouncycastle.jar", "8601afb7d50c192b74b4d529654bf954502d0ce1", "8dc0dac9fc45be5cf4051f8f78f27145acc335ec"));
set_progress(0.126430);
assert(apply_patch_check("/system/framework/bouncycastle.odex", "fb63ee58193c514168e16458e8cef8577cb4a774", "fffc5d612e13a1791809560134de7e18d7d7218d"));
set_progress(0.159880);
assert(apply_patch_check("/system/framework/com.android.future.usb.accessory.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.159894);
assert(apply_patch_check("/system/framework/com.android.future.usb.accessory.odex", "7d55e5ee0e6649143c51af20efd0299d8f31bf2a", "611c63bdd28a603d282f6d4aa810718cf46ceece"));
set_progress(0.160147);
assert(apply_patch_check("/system/framework/com.android.location.provider.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.160161);
assert(apply_patch_check("/system/framework/com.android.location.provider.odex", "ebc7dc12647250ab7f069ebf95a1bba126be7961", "8efe5c5d9153bf0c3c73e2c53f63d156e18b462a"));
set_progress(0.160472);
assert(apply_patch_check("/system/framework/core-junit.jar", "7c9d18ffe1f440bf6811ec9823fc5fbcd41bd524", "3188bf6b2c989d6d071db57d19792525b72c82a7"));
set_progress(0.160485);
assert(apply_patch_check("/system/framework/core-junit.odex", "1263cf8bd956d7e705ce938529117f0c5e0d41b0", "9d7828c622ab381bf807751505613ea0cfecf788"));
set_progress(0.161514);
assert(apply_patch_check("/system/framework/core.jar", "15b775ef4b85c1876174caca28c1e2280aa6b7a1", "0e2297d3f3d638a97ee8d20aacdf7ee7cfae7564"));
set_progress(0.162499);
assert(apply_patch_check("/system/framework/core.odex", "a893674677dd85c6c588b3c24efbe50bc6453ed2", "d52bbd411844b71af60bff28318fe1e5369928f1"));
set_progress(0.369245);
assert(apply_patch_check("/system/framework/ext.jar", "ee305b7bea23e474c41f11d6598eaadc61cee847", "55ed4175e64215b02f1da213ee79ff8e77bb95e0"));
set_progress(0.369259);
assert(apply_patch_check("/system/framework/ext.odex", "bbe7a6e69961b6832dcbc18c0146966b0c998a58", "462f3e10b0f3b12db9a6ef2393ca1298a942629f"));
set_progress(0.429019);
assert(apply_patch_check("/system/framework/framework.jar", "59bb20f295ee5336b53f2a8fe410234357527b4f", "eb3c68d40603412f92da7b7e6ab5be486e39a871"));
set_progress(0.429552);
assert(apply_patch_check("/system/framework/framework.odex", "9255d4daa1ec5c32d777b75bcad0fc9da2439231", "c2bcca17c9959a422c341f7d27d7625d5038eada"));
set_progress(0.807204);
assert(apply_patch_check("/system/framework/ime.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.807217);
assert(apply_patch_check("/system/framework/ime.odex", "6d1860658caf8baf80042a6d52fd123521fb407e", "c4dea8df002c1d1813a10eeb8deb23a68fac99ff"));
set_progress(0.807501);
assert(apply_patch_check("/system/framework/input.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.807514);
assert(apply_patch_check("/system/framework/input.odex", "83e30188f4a35d2c2c147e3023cfecdd87b4bcc9", "973a6e2a165824d4bbb966f7b53b1918c745a7f7"));
set_progress(0.807699);
assert(apply_patch_check("/system/framework/javax.obex.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "c48a7683da28a6bf7aadf23b13f68508c8800849"));
set_progress(0.807712);
assert(apply_patch_check("/system/framework/javax.obex.odex", "72cba392af3953a34b6bf5772f4ed8a0a39fed19", "1544b5906503d6547f51f7bfcc3507b03c7712ec"));
set_progress(0.810311);
assert(apply_patch_check("/system/framework/monkey.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.810325);
assert(apply_patch_check("/system/framework/monkey.odex", "825ccbcfdd9ac1f18f9c67ffe4cd3adea93a61b4", "612d71fd908596cfa032b2ec23884d4ee4436837"));
set_progress(0.814170);
assert(apply_patch_check("/system/framework/pm.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.814184);
assert(apply_patch_check("/system/framework/pm.odex", "6df1ecd017aeb8d248eec68747e465519ce56b83", "2a1646f11edfb6f7319e22a445a86645084c778a"));
set_progress(0.815400);
assert(apply_patch_check("/system/framework/services.jar", "7b0c8922cf3bb493f5588391f0542afa2e3ee94c", "ff7b46009e7f3204820b4bc3df1a88c37fe28e82"));
set_progress(0.815413);
assert(apply_patch_check("/system/framework/services.odex", "b3263e8384f8c453c2945071c1ccfb12bac9a9a8", "1581a3adcb164df98405c2d25495c7ad294d14d4"));
set_progress(0.884602);
assert(apply_patch_check("/system/framework/sqlite-jdbc.jar", "901a98d7a254dff3925cdcbb32b8e85b27d05bcc", "3188bf6b2c989d6d071db57d19792525b72c82a7"));
set_progress(0.884615);
assert(apply_patch_check("/system/framework/sqlite-jdbc.odex", "71b10f035d04cca1746bbc9fc171140cecb9ef2d", "6170c9d245b0345da8177db248f3dfae9e8db17e"));
set_progress(0.890953);
assert(apply_patch_check("/system/framework/svc.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "ac23b1deac2cbc41a95dc7d8e38c8b0164250df9"));
set_progress(0.890966);
assert(apply_patch_check("/system/framework/svc.odex", "3af7859a3a94be7f477322c17344cccaed632192", "1ae1e0f05848175bcc92f2fa574a426093c6fa81"));
set_progress(0.891322);
assert(apply_patch_check("/system/media/theme/default.mtz", "91ec077e5ddabfdc0e34efa0fbc8f26a6cf16b16", "94b0643e9c0b97485c3647e9ebf91857bc916e60"));
set_progress(0.982271);
assert(apply_patch_check("/system/xbin/openvpn", "65333dc8049dd666fae67334a309e5aea0938e27", "18615a89ff6dc4e2a8899a009f5a2563b924d657"));
set_progress(0.997536);
assert(apply_patch_check("/system/xbin/oprofiled", "10dc2f1a21ecc0771c9e846d7c72dd9aea5971c9", "37c598122000940446a3823328f738c22974a569"));
set_progress(1.000000);
assert(apply_patch_space(8790600));

# ---- 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("/system/app/Phone.apk", "-",
            7b0a7a6d09313d8efccaca2f4a1b8acafc346c7f, 610930,
            14d1e824df8f1b8570e6645683fab54ab1c076b5, package_extract_file("patch/system/app/Phone.apk.p"));
set_progress(0.026500);
apply_patch("/system/app/Phone.odex", "-",
            b12802895a0913fbf5c5877cbfd6da99acdbbdf0, 637112,
            571636d15e98300db3872edc4aab46566fb04894, package_extract_file("patch/system/app/Phone.odex.p"));
set_progress(0.054136);
apply_patch("/system/bin/debuggerd", "-",
            525c800365ae6edccf74d7b4d297288f6b6e7f3b, 22240,
            dec1acafe95b595f265fce74e9253873af125860, package_extract_file("patch/system/bin/debuggerd.p"));
set_progress(0.055101);
apply_patch("/system/bin/mkyaffs2image", "-",
            bebaae22893848b2a4de7fe500ad49568de7bd9e, 14848,
            243152a3dc32a05bf466c5ea74f204ef30b474e7, package_extract_file("patch/system/bin/mkyaffs2image.p"));
set_progress(0.055745);
apply_patch("/system/bin/recovery", "-",
            536133ddf0ce28e0fc20b966d0a79e44bd3f9e54, 789352,
            8c6954d12c6d80dbe52548296cad4d981a49d375, package_extract_file("patch/system/bin/recovery.p"));
set_progress(0.089985);
apply_patch("/system/bin/wpa_supplicant", "-",
            ea47af108e859703a27bac704178d90353affad4, 291892,
            f23a35068fee569bb0f34078bffdec7a17c1b439, package_extract_file("patch/system/bin/wpa_supplicant.p"));
set_progress(0.102646);
apply_patch("/system/build.prop", "-",
            5fa2877f726ec4854c0b19e2231e98191fe2c0e9, 2775,
            3a2e6bb867beb48d0be1fad5e487c7b61a155ca2, package_extract_file("patch/system/build.prop.p"));
set_progress(0.102766);
apply_patch("/system/etc/init.d/06defaulttheme", "-",
            dfbe4b3d659f4b5dced883636aa4b802f091b752, 848,
            af2abe201c2761e0ce88ba47437c5c4e8e7d5297, package_extract_file("patch/system/etc/init.d/06defaulttheme.p"));
set_progress(0.102803);
apply_patch("/system/etc/security/otacerts.zip", "-",
            36ad0870d6b13ddfc7d7e37c59062e003f1d090d, 1125,
            d306993adf0557b8d5ebdabd2de1f860cd50123d, package_extract_file("patch/system/etc/security/otacerts.zip.p"));
set_progress(0.102852);
apply_patch("/system/framework/am.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/am.jar.p"));
set_progress(0.102866);
apply_patch("/system/framework/am.odex", "-",
            96b0f80ac2ed71905160992044f8254ae553fcef, 27752,
            639047f1bad8906c44a2964d7b65dd8d7ab09208, package_extract_file("patch/system/framework/am.odex.p"));
set_progress(0.104069);
apply_patch("/system/framework/android.policy.jar", "-",
            b4319961a293e440f3f8c411004401537640d48e, 313,
            c48a7683da28a6bf7aadf23b13f68508c8800849, package_extract_file("patch/system/framework/android.policy.jar.p"));
set_progress(0.104083);
apply_patch("/system/framework/android.policy.odex", "-",
            154879837bf9e6500e6addae2c3f2121c2604c11, 334280,
            256becde98777dc38a14e1b8e15e2ea7a8ee4dcf, package_extract_file("patch/system/framework/android.policy.odex.p"));
set_progress(0.118583);
apply_patch("/system/framework/android.test.runner.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/android.test.runner.jar.p"));
set_progress(0.118597);
apply_patch("/system/framework/android.test.runner.odex", "-",
            e85e3287e2c01be13026cef81cb1f0947db06f23, 195008,
            26d1cc92d45effc7c5616828c5aa22ee7f3d39d8, package_extract_file("patch/system/framework/android.test.runner.odex.p"));
set_progress(0.127055);
apply_patch("/system/framework/bmgr.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/bmgr.jar.p"));
set_progress(0.127069);
apply_patch("/system/framework/bmgr.odex", "-",
            b9fbd35c99eb213142019651c8b4ce327c126cf6, 13672,
            5c9fdeff6f8d8059729d0937604a56b942eae4b3, package_extract_file("patch/system/framework/bmgr.odex.p"));
set_progress(0.127662);
apply_patch("/system/framework/bouncycastle.jar", "-",
            8601afb7d50c192b74b4d529654bf954502d0ce1, 313,
            8dc0dac9fc45be5cf4051f8f78f27145acc335ec, package_extract_file("patch/system/framework/bouncycastle.jar.p"));
set_progress(0.127676);
apply_patch("/system/framework/bouncycastle.odex", "-",
            fb63ee58193c514168e16458e8cef8577cb4a774, 778624,
            fffc5d612e13a1791809560134de7e18d7d7218d, package_extract_file("patch/system/framework/bouncycastle.odex.p"));
set_progress(0.161450);
apply_patch("/system/framework/com.android.future.usb.accessory.jar",
            "-", e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/com.android.future.usb.accessory.jar.p"));
set_progress(0.161463);
apply_patch("/system/framework/com.android.future.usb.accessory.odex",
            "-", 7d55e5ee0e6649143c51af20efd0299d8f31bf2a, 5904,
            611c63bdd28a603d282f6d4aa810718cf46ceece, package_extract_file("patch/system/framework/com.android.future.usb.accessory.odex.p"));
set_progress(0.161720);
apply_patch("/system/framework/com.android.location.provider.jar",
            "-", e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/com.android.location.provider.jar.p"));
set_progress(0.161733);
apply_patch("/system/framework/com.android.location.provider.odex",
            "-", ebc7dc12647250ab7f069ebf95a1bba126be7961, 7240,
            8efe5c5d9153bf0c3c73e2c53f63d156e18b462a, package_extract_file("patch/system/framework/com.android.location.provider.odex.p"));
set_progress(0.162047);
apply_patch("/system/framework/core-junit.jar", "-",
            7c9d18ffe1f440bf6811ec9823fc5fbcd41bd524, 313,
            3188bf6b2c989d6d071db57d19792525b72c82a7, package_extract_file("patch/system/framework/core-junit.jar.p"));
set_progress(0.162061);
apply_patch("/system/framework/core-junit.odex", "-",
            1263cf8bd956d7e705ce938529117f0c5e0d41b0, 23952,
            9d7828c622ab381bf807751505613ea0cfecf788, package_extract_file("patch/system/framework/core-junit.odex.p"));
set_progress(0.163100);
apply_patch("/system/framework/core.jar", "-",
            15b775ef4b85c1876174caca28c1e2280aa6b7a1, 22926,
            0e2297d3f3d638a97ee8d20aacdf7ee7cfae7564, package_extract_file("patch/system/framework/core.jar.p"));
set_progress(0.164094);
apply_patch("/system/framework/core.odex", "-",
            a893674677dd85c6c588b3c24efbe50bc6453ed2, 4812424,
            d52bbd411844b71af60bff28318fe1e5369928f1, package_extract_file("patch/system/framework/core.odex.p"));
set_progress(0.372842);
apply_patch("/system/framework/ext.jar", "-",
            ee305b7bea23e474c41f11d6598eaadc61cee847, 313,
            55ed4175e64215b02f1da213ee79ff8e77bb95e0, package_extract_file("patch/system/framework/ext.jar.p"));
set_progress(0.372856);
apply_patch("/system/framework/ext.odex", "-",
            bbe7a6e69961b6832dcbc18c0146966b0c998a58, 1391032,
            462f3e10b0f3b12db9a6ef2393ca1298a942629f, package_extract_file("patch/system/framework/ext.odex.p"));
set_progress(0.433195);
apply_patch("/system/framework/framework.jar", "-",
            59bb20f295ee5336b53f2a8fe410234357527b4f, 12406,
            eb3c68d40603412f92da7b7e6ab5be486e39a871, package_extract_file("patch/system/framework/framework.jar.p"));
set_progress(0.433733);
apply_patch("/system/framework/framework.odex", "-",
            9255d4daa1ec5c32d777b75bcad0fc9da2439231, 8790600,
            c2bcca17c9959a422c341f7d27d7625d5038eada, package_extract_file("patch/system/framework/framework.odex.p"));
set_progress(0.815042);
apply_patch("/system/framework/ime.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/ime.jar.p"));
set_progress(0.815055);
apply_patch("/system/framework/ime.odex", "-",
            6d1860658caf8baf80042a6d52fd123521fb407e, 6608,
            c4dea8df002c1d1813a10eeb8deb23a68fac99ff, package_extract_file("patch/system/framework/ime.odex.p"));
set_progress(0.815342);
apply_patch("/system/framework/input.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/input.jar.p"));
set_progress(0.815356);
apply_patch("/system/framework/input.odex", "-",
            83e30188f4a35d2c2c147e3023cfecdd87b4bcc9, 4296,
            973a6e2a165824d4bbb966f7b53b1918c745a7f7, package_extract_file("patch/system/framework/input.odex.p"));
set_progress(0.815542);
apply_patch("/system/framework/javax.obex.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            c48a7683da28a6bf7aadf23b13f68508c8800849, package_extract_file("patch/system/framework/javax.obex.jar.p"));
set_progress(0.815556);
apply_patch("/system/framework/javax.obex.odex", "-",
            72cba392af3953a34b6bf5772f4ed8a0a39fed19, 60488,
            1544b5906503d6547f51f7bfcc3507b03c7712ec, package_extract_file("patch/system/framework/javax.obex.odex.p"));
set_progress(0.818179);
apply_patch("/system/framework/monkey.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/monkey.jar.p"));
set_progress(0.818193);
apply_patch("/system/framework/monkey.odex", "-",
            825ccbcfdd9ac1f18f9c67ffe4cd3adea93a61b4, 89512,
            612d71fd908596cfa032b2ec23884d4ee4436837, package_extract_file("patch/system/framework/monkey.odex.p"));
set_progress(0.822076);
apply_patch("/system/framework/pm.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/pm.jar.p"));
set_progress(0.822089);
apply_patch("/system/framework/pm.odex", "-",
            6df1ecd017aeb8d248eec68747e465519ce56b83, 28312,
            2a1646f11edfb6f7319e22a445a86645084c778a, package_extract_file("patch/system/framework/pm.odex.p"));
set_progress(0.823317);
apply_patch("/system/framework/services.jar", "-",
            7b0c8922cf3bb493f5588391f0542afa2e3ee94c, 313,
            ff7b46009e7f3204820b4bc3df1a88c37fe28e82, package_extract_file("patch/system/framework/services.jar.p"));
set_progress(0.823331);
apply_patch("/system/framework/services.odex", "-",
            b3263e8384f8c453c2945071c1ccfb12bac9a9a8, 1610496,
            1581a3adcb164df98405c2d25495c7ad294d14d4, package_extract_file("patch/system/framework/services.odex.p"));
set_progress(0.893189);
apply_patch("/system/framework/sqlite-jdbc.jar", "-",
            901a98d7a254dff3925cdcbb32b8e85b27d05bcc, 313,
            3188bf6b2c989d6d071db57d19792525b72c82a7, package_extract_file("patch/system/framework/sqlite-jdbc.jar.p"));
set_progress(0.893203);
apply_patch("/system/framework/sqlite-jdbc.odex", "-",
            71b10f035d04cca1746bbc9fc171140cecb9ef2d, 147520,
            6170c9d245b0345da8177db248f3dfae9e8db17e, package_extract_file("patch/system/framework/sqlite-jdbc.odex.p"));
set_progress(0.899602);
apply_patch("/system/framework/svc.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            ac23b1deac2cbc41a95dc7d8e38c8b0164250df9, package_extract_file("patch/system/framework/svc.jar.p"));
set_progress(0.899615);
apply_patch("/system/framework/svc.odex", "-",
            3af7859a3a94be7f477322c17344cccaed632192, 8288,
            1ae1e0f05848175bcc92f2fa574a426093c6fa81, package_extract_file("patch/system/framework/svc.odex.p"));
set_progress(0.899975);
apply_patch("/system/media/theme/default.mtz", "-",
            91ec077e5ddabfdc0e34efa0fbc8f26a6cf16b16, 1893270,
            94b0643e9c0b97485c3647e9ebf91857bc916e60, package_extract_file("patch/system/media/theme/default.mtz.p"));
set_progress(0.982099);
apply_patch("/system/xbin/openvpn", "-",
            65333dc8049dd666fae67334a309e5aea0938e27, 355316,
            18615a89ff6dc4e2a8899a009f5a2563b924d657, package_extract_file("patch/system/xbin/openvpn.p"));
set_progress(0.997512);
apply_patch("/system/xbin/oprofiled", "-",
            10dc2f1a21ecc0771c9e846d7c72dd9aea5971c9, 57364,
            37c598122000940446a3823328f738c22974a569, package_extract_file("patch/system/xbin/oprofiled.p"));
set_progress(1.000000);
show_progress(0.100000, 10);
ui_print("Symlinks and permissions...");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
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_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
set_perm_recursive(0, 0, 0755, 0644, "/system/vendor/firmware");
set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/apply_firewall");
set_perm(0, 0, 06755, "/system/xbin/apply_theme");
set_perm(0, 0, 06755, "/system/xbin/dumplog");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/mv2sd");
set_perm(0, 0, 06755, "/system/xbin/ota");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/run_as");
set_perm(0, 0, 06755, "/system/xbin/su");
unmount("/system");
