getprop("ro.product.device") == "msm8909" || abort("E3004: This package is for \"msm8909\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: qcom/msm8909/msm8909:7.1.2/071/brian12270046:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/072/brian02200241:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/071/brian12270046:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/072/brian02200241:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/071/brian12270046:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/072/brian02200241:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16276776:0ef94de2dfc69d7e87f860116cb89822def51b88:16276776:3c7ce408cae496462f166241c08eeeaf7082db59") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16276776:0ef94de2dfc69d7e87f860116cb89822def51b88:16276776:3c7ce408cae496462f166241c08eeeaf7082db59\" has unexpected contents.");
apply_patch_space(42168320) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "6548,1,80,81,306,2816,2817,2818,2819,2820,2821,2822,2823,2832,2833,2940,2941,2942,2943,3036,3037,3045,3046,3047,3048,3049,3050,3051,3052,3069,3070,3089,3090,3091,3092,3102,3103,3157,3158,3159,3160,3172,3173,3177,3178,3179,3180,3190,3191,3205,3206,3207,3208,3244,3245,3254,3255,3256,3257,3300,3301,3327,3328,3329,3330,3382,3383,3392,3393,3394,3395,3433,3434,3446,3447,3448,3449,3450,3451,3530,3531,3532,3533,3766,3767,3768,6931,6932,6933,6934,8074,8075,8076,8077,8299,8300,8301,8302,9139,9140,9141,9142,9144,9145,9146,9147,9148,9149,9156,9157,9158,9159,9165,9166,9167,9168,9169,9170,9196,9197,9198,9199,9262,9263,9264,9265,9266,9267,9333,9334,9335,9336,9342,9343,9344,9345,9346,9347,9374,9375,9376,9377,9381,9382,9383,9384,9385,9386,9405,9406,9407,9408,9410,9411,9412,9413,9414,9415,9421,9422,9423,9424,9428,9429,9430,9431,9432,9433,9449,9450,9451,9452,9455,9456,9457,9458,9459,9460,9470,9471,9472,9473,9476,9477,9478,9479,9480,9481,9494,9495,9496,9497,9501,9502,9503,9504,9505,9506,9517,9518,9519,9520,9521,9522,9523,9524,9588,9589,9600,9601,9602,9603,9604,9605,9606,9607,9614,9615,9617,9618,9619,9620,9622,9623,9624,9625,9626,9627,9628,9629,9676,9677,9686,9687,9688,9689,9690,9691,9692,9693,9745,9746,9756,9757,9758,9759,9760,9761,9762,9763,10508,10509,21711,21712,21714,21715,21726,21727,21738,21739,21743,21744,21748,21749,21756,21757,21762,21763,21767,21768,21769,21770,21776,21777,21814,21815,21816,21817,21818,21819,21825,21826,21835,21836,21845,21846,21853,21854,21860,21861,21872,21873,21879,21880,21885,21886,21887,21888,21897,21898,21907,21908,21914,21915,21920,21921,21922,21923,21927,21928,21933,21934,21938,21939,21951,21952,21959,21960,21966,21967,21975,21976,22024,22025,22030,22031,22032,22033,22038,22039,22120,22121,22126,22127,22139,22140,22146,22147,22152,22153,22186,22187,22206,22207,22211,22212,22217,22218,22225,22226,22230,22231,22238,22239,22245,22246,22253,22254,22259,22260,22270,22271,22294,22295,22329,22330,22331,22332,22340,22341,22383,22384,22391,22392,22401,22402,22442,22443,22447,22448,22457,22458,22464,22465,22470,22471,22478,22479,22494,22495,22504,22505,22526,22527,22537,22538,22550,22551,22561,22562,22708,22709,22722,22723,22731,22732,22737,22738,22773,22774,22785,22786,22820,22821,22933,22934,22945,22946,22955,22956,22957,22958,22987,22988,22993,22994,23031,23032,23060,23061,23062,23063,23064,23065,23092,23093,23105,23106,23161,23162,23225,23226,23287,23288,23293,23294,23335,23336,23391,23392,23393,23394,23399,23400,23405,23406,23411,23412,23434,23435,23440,23441,23449,23450,23457,23458,23587,23588,23743,23744,23750,23751,23768,23769,23778,23779,23797,23798,23800,23801,23809,23810,23907,23908,23934,23935,23940,23941,23949,23950,23990,23991,23997,23998,24133,24134,24135,24136,24141,24142,24149,24150,24155,24156,24161,24162,24169,24170,24179,24180,24189,24190,24194,24195,24222,24223,24249,24250,24268,24269,24275,24276,24282,24283,24290,24291,24300,24301,24360,24361,24395,24396,24404,24405,24410,24411,24419,24420,24421,24422,24441,24442,24449,24450,24454,24455,24460,24461,24509,24510,24817,24818,24822,24823,24861,24862,24870,24871,24879,24880,24885,24886,24890,24891,24895,24896,24900,24901,24906,24907,24925,24926,24937,24938,24949,24950,24955,24956,24957,24958,24968,24969,24977,24978,24987,24988,24998,24999,25044,25045,25054,25055,25064,25065,25074,25075,25076,25077,25081,25082,25087,25088,25093,25094,25099,25100,25105,25106,25111,25112,25117,25118,25123,25124,25129,25130,25136,25137,25143,25144,25150,25151,25157,25158,25163,25164,25169,25170,25197,25198,25227,25228,25236,25237,25242,25243,25247,25248,25293,25294,25298,25299,25311,25312,25316,25317,25318,25319,25332,25333,25339,25340,25345,25346,25353,25354,25361,25362,25367,25368,25373,25374,25379,25380,25406,25407,25415,25416,25422,25423,25427,25428,25434,25435,25441,25442,25443,25444,25448,25449,25480,25481,25527,25528,25529,25530,25538,25539,25554,25555,25560,25561,25566,25567,25574,25575,25580,25581,25583,25584,25588,25589,25612,25613,25614,25615,25620,25621,25639,25640,25648,25649,25654,25655,25660,25661,25666,25667,25672,25673,25695,25696,25766,25767,25772,25773,25778,25779,25785,25786,25792,25793,25795,25796,25812,25813,25818,25819,25825,25826,25931,25932,25956,25957,25963,25964,25970,25971,25975,25976,25977,25978,26000,26001,26314,26315,26483,26484,26501,26502,26505,26506,26507,26508,26570,26571,26572,26573,26574,26575,26576,26577,26593,26594,26598,26599,26600,26601,26655,26656,26657,26658,26679,26680,26741,26742,26743,26744,26754,26755,26759,26760,26762,26763,26812,26813,26814,26815,26834,26835,26883,26884,26886,26887,26888,26889,26905,26906,26910,26911,26912,26913,26970,26971,26972,26973,26997,26998,27060,27061,27062,27063,27079,27080,27084,27085,27086,27087,27142,27143,27144,27145,27169,27170,27232,27233,27234,27235,27251,27252,27256,27257,27258,27259,27321,27322,27323,27324,27348,27349,27412,27413,27573,27574,27575,27576,27578,27579,27580,27581,27583,27584,27589,27590,27593,27594,27595,27596,27597,27598,27599,27600,27608,27609,27611,27612,27854,27855,27856,27857,27858,27859,27860,27861,27866,27867,27868,27869,27870,27871,27874,27875,27878,27879,27882,27883,27886,27887,27888,27889,27892,27893,27896,27897,27900,27901,27904,27905,27908,27909,27910,27911,27914,27915,27918,27919,27922,27923,27926,27927,27930,27931,27934,27935,28018,28019,28020,28021,28028,28029,28048,28049,28055,28056,28057,28058,28059,28060,28061,28062,28063,28064,28065,28066,28067,28068,28073,28074,28075,28076,28077,28078,28081,28082,28085,28086,28087,28088,28091,28092,28093,28094,28097,28098,28100,28101,28104,28105,28109,28110,28114,28115,28119,28120,28124,28125,28126,28127,28130,28131,28132,28133,28134,28135,28136,28137,28138,28139,28140,28141,28162,28163,28168,28169,28183,28184,28201,28202,28206,28207,28208,28209,28211,28212,28369,28370,28372,28373,28374,28375,28537,28538,28540,28541,28542,28543,28544,28545,28548,28549,28550,28551,28555,28556,28557,28558,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28572,28583,28584,28585,28586,28587,28588,28589,28590,28592,28593,28594,28595,28596,28597,28598,28599,28600,28601,28602,28603,28604,28605,28606,28607,28608,28609,28610,28611,28612,28613,28614,28615,28616,28617,28618,28619,28620,28621,28622,28623,28624,28625,28626,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28638,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28649,28651,28652,28655,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28687,28688,28689,28690,28691,28692,28694,28695,28700,28701,28702,28703,28704,28705,28707,28708,28709,28710,28711,28712,28715,28716,28718,28719,28720,28721,28723,28724,28726,28727,28729,28730,28736,28737,28745,28746,28754,28755,28762,28763,28770,28771,28779,28780,28788,28789,28797,28798,28806,28807,28825,28826,28827,28828,28829,28830,28831,28832,28833,28834,29940,29941,29942,29943,29944,29945,29946,29947,29948,29949,29950,29951,29952,29953,29954,29955,29956,29957,29958,29959,29960,29961,29962,29963,29964,29965,29966,29967,29968,29969,29970,29971,29972,29973,29974,29975,29976,29977,29978,29979,29980,29981,29982,29983,29984,29985,29986,29987,29988,29989,29990,29991,29992,29993,29994,29995,29996,29997,29998,29999,30000,30001,30002,30003,30004,30005,30006,30007,30008,30009,30010,30011,30012,30013,30014,30015,30016,30017,30018,30019,30020,30021,30022,30023,30024,30025,30026,30027,30028,30029,30030,30031,30032,30033,30034,30035,30036,30037,30038,30039,30051,30052,30053,30054,30055,30056,30057,30058,30059,30060,30061,30062,30219,30220,30221,30222,30223,30224,30225,30226,30227,30228,30231,30232,30235,30236,30237,30238,30239,30240,30241,30242,30243,30244,30245,30246,30247,30248,30249,30250,30251,30252,30253,30254,30255,30256,30257,30258,30259,30260,30261,30262,30263,30264,30265,30266,30267,30268,30269,30270,30271,30272,30273,30274,30275,30276,30277,30278,30279,30280,30281,30282,30283,30284,30285,30286,30287,30288,30289,30290,30291,30292,30293,30294,30295,30296,30297,30298,30299,30300,30301,30302,30303,30304,30305,30306,30307,30308,30309,30310,30311,30312,30313,30314,30315,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30330,30331,30332,30333,30334,30335,30336,30337,30338,30339,30340,30341,30342,30343,30344,30345,30346,30347,30348,30349,30350,30351,30352,30353,30354,30355,30356,30357,30358,30359,30363,30364,30365,30366,30367,30368,30369,30370,30371,30372,30829,30830,30831,30832,30834,30835,30836,30837,30838,30839,30841,30842,30844,30845,30847,30848,30850,30851,30852,30853,30855,30856,30858,30859,30861,30862,30863,30864,30866,30867,30869,30870,30872,30873,30875,30876,30878,30879,30881,30882,30884,30885,30887,30888,30890,30891,30893,30894,30896,30897,30899,30900,30903,30904,30906,30907,30909,30910,30912,30913,30915,30916,30918,30919,30920,30921,30922,30923,30925,30926,30928,30929,30932,30933,30936,30937,30939,30940,30942,30943,30945,30946,30948,30949,30951,30952,30954,30955,30957,30958,30960,30961,30963,30964,30967,30968,30970,30971,30973,30974,30976,30977,30979,30980,30982,30983,30985,30986,30988,30989,30991,30992,30994,30995,30997,30998,31000,31001,31003,31004,31005,31006,31008,31009,31011,31012,31014,31015,31017,31018,31020,31021,31022,31023,31025,31026,31028,31029,31031,31032,31034,31035,31037,31038,31040,31041,31043,31044,31045,31046,31048,31049,31051,31052,31054,31055,31057,31058,31060,31061,31063,31064,31066,31067,31069,31070,31072,31073,31075,31076,31078,31079,31081,31082,31084,31085,31087,31088,31090,31091,31092,31093,31095,31096,31098,31099,31101,31102,31104,31105,31106,31107,31109,31110,31112,31113,31115,31116,31118,31119,31121,31122,31124,31125,31127,31128,31130,31131,31133,31134,31137,31138,31140,31141,31143,31144,31146,31147,31149,31150,31152,31153,31154,31155,31157,31158,31160,31161,31163,31164,31166,31167,31169,31170,31171,31172,31174,31175,31177,31178,31180,31181,31183,31184,31186,31187,31188,31189,31191,31192,31194,31195,31197,31198,31260,31261,31263,31264,31266,31267,31268,31269,31271,31272,31274,31275,31277,31278,31280,31281,31283,31284,31285,31286,31288,31289,31291,31292,31294,31295,31297,31298,31299,31300,31302,31303,31305,31306,31308,31309,31311,31312,31314,31315,31317,31318,31320,31321,31323,31324,31326,31327,31329,31330,31331,31332,31334,31335,31337,31338,31340,31341,31343,31344,31346,31347,31349,31350,31352,31353,31355,31356,31358,31359,31360,31361,31362,31363,31364,31365,31366,31367,31369,31370,31373,31374,31376,31377,31378,31379,31380,31381,31383,31384,31386,31387,31389,31390,31392,31393,31395,31396,31398,31399,31401,31402,31404,31405,31406,31407,31408,31409,31410,31411,31412,31413,31415,31416,31424,31425,31433,31434,31442,31443,31451,31452,31460,31461,31462,31463,31464,31465,31466,31467,31468,31469,31470,31471,31472,31473,31474,31475,31479,31480,31481,31482,31484,31485,31495,31496,31511,31512,31529,31530,31559,31560,31589,31590,31664,31665,31737,31738,31788,31789,31829,31830,31857,31858,31886,31887,31919,31920,31973,31974,31993,31994,32049,32050,32079,32080,32109,32110,32139,32140,32169,32170,32174,32175,32179,32180,32188,32189,32222,32223,32227,32228,32230,32231,32233,32234,32246,32247,32253,32254,32260,32261,32270,32271,32277,32278,32314,32315,32350,32351,32356,32357,32362,32363,32367,32368,32370,32371,32376,32377,32382,32383,32393,32394,32396,32397,32406,32407,32416,32417,32426,32427,32437,32438,32446,32447,32455,32456,32464,32465,32473,32474,32499,32500,32503,32504,32506,32507,32521,32522,32536,32537,32551,32552,32566,32567,32571,32572,32576,32577,32605,32606,32611,32612,32616,32617,32619,32620,32622,32623,32628,32629,32667,32668,32708,32709,32712,32713,32717,32718,32722,32723,32735,32736,32738,32739,32742,32743,32755,32756,32760,32761,32765,32768,32770,32849,32850,65536,65537,66030,74956,74957,76014,76015,76927,76928,80492,80493,83023,83024,85084,85085,86182,86183,87020,87021,87553,87554,87634,87635,87741,87742,87889,87890,88758,88759,88793,88794,88826,88827,88881,88882,88917,88918,88919,88920,88921,88922,88923,88924,88925,88926,88927,88928,88929,88930,88931,88932,88933,88934,88935,88936,88937,88938,88939,88940,88941,88942,88943,88944,88945,88946,88947,88948,88949,88950,89106,89107,89215,89216,89359,89360,89461,89462,89652,89653,89812,89813,89876,89877,90025,90026,90230,90231,90325,90326,90480,90481,90543,90544,90545,90546,90547,90548,90549,90550,90551,90552,90553,90554,90555,90556,90565,90566,90567,90568,90570,90571,90572,90573,90600,90601,90602,90603,90629,90630,90631,90632,90659,90660,90661,90662,90674,90675,90676,90677,90685,90686,90687,90688,90692,90693,90694,90695,90701,90702,90703,90704,90705,90706,90707,90708,90710,90711,90712,90713,90722,90723,90724,90725,90726,90727,90728,90729,90730,90731,90732,90733,90734,90735,90736,90737,90815,90816,90817,90818,90819,90820,90821,90822,90823,90824,90825,90826,90827,90828,90829,90830,90832,90833,90834,90835,90836,90837,90838,90839,90875,90876,90877,90878,90914,90915,90916,90917,90918,90919,90920,90921,90922,90923,90924,90925,90926,90927,90929,90930,90932,90933,90934,90935,90936,90937,90938,90939,90940,90941,90942,90943,90944,90945,90946,90947,90948,90949,90950,90951,90952,90953,96374,96375,96376,96377,96378,96379,96380,96381,96382,96383,96384,96385,96389,96390,96393,96394,96398,96399,96403,96404,96408,96409,96410,96411,96412,96413,96416,96417,96418,96419,96420,96421,96422,96423,96424,96425,96426,96427,96428,96429,96430,96431,96432,96433,96434,96435,96436,96437,96438,96439,96440,96441,96442,96443,96444,96445,96446,96447,96448,96449,96450,96451,96452,96453,96454,96455,96456,96457,96458,96459,96460,96461,96462,96463,96464,96465,96466,96467,96468,96469,96470,96471,96472,96473,96474,96475,96476,96477,96478,96479,96480,96481,96482,96483,96484,96485,96486,96487,96488,96489,96490,96491,96492,96493,96497,96498,96503,96504,96505,96506,96629,96630,96631,96632,96633,96634,96635,96636,96637,96638,96639,96640,96641,96642,96644,96645,96646,96647,96649,96650,96651,96652,96654,96655,96656,96657,96659,96660,96661,96662,96664,96665,96666,96667,96669,96670,96671,96672,96674,96675,96676,96677,96678,96679,96680,96681,96682,96683,96684,96685,96691,96692,96693,96694,96695,96696,96702,96703,96704,96705,96786,96787,96788,96789,96790,96791,97177,97178,97179,97180,97182,97183,97184,97185,97186,97187,97193,97194,97195,97196,97201,97202,97203,97204,97205,97206,97223,97224,97225,97226,97256,97257,97258,97259,97260,97261,97280,97281,97282,97283,97293,97294,97295,97296,97297,97298,97321,97322,97323,97324,97325,97326,97327,97328,97330,97331,97332,97333,97337,97338,97339,97340,97342,97343,97344,97345,97347,97348,97349,97350,97352,97353,97354,97355,97357,97358,97359,97360,97362,97363,97364,97365,97367,97368,97369,97370,97373,97374,97375,97376,97378,97379,97380,97381,97384,97385,97386,97387,97389,97390,97391,97392,97402,97403,97404,97405,97406,97407,97408,97409,97410,97411,97412,97413,97414,97415,97420,97421,97422,97423,97424,97425,97432,97433,97434,97435,97457,97458,97459,97460,97461,97462,97507,97508,97509,97510,97524,97525,97526,97527,97528,97529,97545,97546,97547,97548,97549,97550,97551,97552,97565,97566,97567,97568,97570,97571,97572,97573,97575,97576,97577,97578,97580,97581,97582,97583,97585,97586,97587,97588,97590,97591,97592,97593,97595,97596,97597,97598,97600,97601,97602,97603,97605,97606,97607,97608,97610,97611,97612,97613,97620,97621,97622,97623,97625,97626,97627,97628,97629,97630,97631,97632,97633,97634,97635,97636,97637,97638,97643,97644,97645,97646,97647,97648,97655,97656,97657,97658,97662,97663,97664,97665,97666,97667,97674,97675,97676,97677,97678,97679,97680,97681,97683,97684,97685,97686,97688,97689,97690,97691,97693,97694,97695,97696,97698,97699,97700,97701,97703,97704,97705,97706,97708,97709,97710,97711,97819,97820,97821,97822,97823,97824,97825,97826,97827,97828,97829,97830,97831,97832,97833,97834,97835,97836,97837,97838,97839,97840,97841,97842,97850,97851,97852,97853,97861,97862,97863,97864,97865,97866,97873,97874,97875,97876,97883,97884,97885,97886,97887,97888,97889,97890,97891,97892,97893,97894,97903,97904,97905,97906,97907,97908,97924,97925,97926,97927,97929,97930,97931,97932,97934,97935,97936,97937,97939,97940,97941,97942,97947,97948,97949,97950,97952,97953,97954,97955,97956,97957,97958,97959,97964,97965,97966,97967,97968,97969,97979,97980,97981,97982,98007,98008,98009,98010,98011,98012,98098,98099,98100,98101,98164,98165,98166,98167,98168,98169,98170,98171,98186,98187,98188,98189,98190,98191,98210,98211,98212,98213,98214,98215,98216,98217,98281,98282,98283,98284,98289,98290,98295,98296,98297,98298,98299,98300,98301,98304,98306,98385,98386,98879,100324,100325,104885,104886,104957,104958,104962,104963,104968,104969,104975,104976,104981,104982,104988,104989,105081,105082,105181,105182,105186,105187,105203,105204,105235,105236,105297,105298,105363,105364,105425,105426,105487,105488,105563,105564,105645,105646,105721,105722,105803,105804,105885,105886,105962,105963,106045,106046,106121,106122,106203,106204,106279,106280,106355,106356,106436,106437,106511,106512,106593,106594,106675,106676,106751,106752,106834,106835,106910,106911,106912,106913,106915,106916,106924,106925,106926,106927,106933,106934,106941,106942,106950,106951,106971,106972,107108,107109,107110,107111,107112,107113,107138,107139,107506,107507,107543,107544,107963,107964,107986,107987,108164,108165,108168,108169,108184,108185,108330,108331,110104,110105,110152,110153,110489,110490,111132,111133,120038,120039,120051,120052,120123,120124,120126,120127,120134,120135,120151,120152,120369,120370,120396,120397,120659,120660,120664,120665,120696,120697,120699,120700,120707,120708,120844,120845,122044,122045,122047,122048,122058,122059,122066,122067,122132,122133,122428,122429,124536,124537,124540,124541,124671,124672,124673,124674,124675,124676,124678,124679,124680,124681,124685,124686,124688,124689,124690,124691,124693,124694,124706,124707,124713,124714,124720,124721,124726,124727,124759,124760,124795,124796,124799,124800,124803,124804,125200,125201,125648,125649,125650,125651,125654,125655,125657,125658,125661,125662,126166,126167,127773,127774,127775,127776,127789,127790,127792,127793,127795,127796,127798,127799,127807,127808,127810,127811,127824,127825,127826,127827,127828,127829,127888,127889,127897,127898,127939,127940,127982,127983,128033,128034,128140,128141,128149,128150,128167,128168,128178,128179,128187,128188,128196,128197,128216,128217,128227,128228,128235,128236,128247,128248,128285,128286,128316,128317,128332,128333,128342,128343,128363,128364,128373,128374,128384,128385,128433,128434,128446,128447,128530,128531,128537,128538,128570,128571,128587,128588,128664,128665,128772,128773,128987,128988,129008,129009,129025,129026,129182,129183,129532,129533,129558,129559,129569,129570,129582,129583,129593,129594,129650,129651,129663,129664,129674,129675,129762,129763,129779,129780,129791,129792,129804,129805,129903,129904,130693,130694,130704,130705,130706,130707,130752,130753,130807,130808,130809,130810,130815,130816,130819,130820,130830,130831,130840,130841,130855,130856,130859,130860,130890,130891,130894,130895,130898,130899,130922,130923,130977,130978,130982,130983,130988,130989,130992,130993,130995,130996,130998,130999,131000,131001,131028,131029,131031,131032,131034,131035,131036,131037,131038,131039,131041,131042,131054,131055,131057,131058,131059,131060,131061,131062,131064,131065,131068,131069,131070,131072,131073,131566,131717,131718,132023,132024,132111,132112,132775,132776,132786,132787,132800,132801,132816,132817,132845,132846,132856,132857,132894,132895,133167,133168,133241,133242,133315,133316,133359,133360,133361,133362,133365,133366,133367,133368,133369,133370,133371,133372,133373,133374,133376,133377,133383,133384,133389,133390,133465,133466,133469,133470,133475,133476,133477,133478,133479,133480,133481,133482,133483,133484,133485,133486,133492,133493,133494,133495,133516,133517,133540,133541,133542,133543,133554,133555,133598,133599,133650,133651,133970,133971,134078,134079,134080,134081,134089,134090,134095,134096,134108,134109,134123,134124,134167,134168,134181,134182,134227,134228,134239,134240,134347,134348,134664,134665,134763,134764,134801,134802,134831,134832,134851,134852,134860,134861,135045,135046,135188,135189,135199,135200,135217,135218,135227,135228,135362,135363,135369,135370,135399,135400,135430,135431,135620,135621,135627,135628,135634,135635,135640,135641,135645,135646,135659,135660,135668,135669,135673,135674,135704,135705,135722,135723,135753,135754,135808,135809,135826,135827,135857,135858,135877,135878,135886,135887,135894,135895,135918,135919,135968,135969,135980,135981,135985,135986,135990,135991,136796,136797,136801,136802,136806,136807,136823,136824,136828,136829,136835,136836,136840,136841,136846,136847,136852,136853,136857,136858,136863,136864,136869,136870,136874,136875,136879,136880,136885,136886,136891,136892,136897,136898,136903,136904,136908,136909,136914,136915,136920,136921,136925,136926,136931,136932,136937,136938,136942,136943,136948,136949,136954,136955,136959,136960,136965,136966,136971,136972,136976,136977,136982,136983,136988,136989,136993,136994,136999,137000,137005,137006,137010,137011,137016,137017,137022,137023,137027,137028,137033,137034,137039,137040,137044,137045,137050,137051,137056,137057,137061,137062,137067,137068,137073,137074,137078,137079,137084,137085,137090,137091,137098,137099,137106,137107,137120,137121,137126,137127,137149,137150,137179,137180,137222,137223,137259,137260,137266,137267,137325,137326,137330,137331,137349,137350,137354,137355,137528,137529,137698,137699,137705,137706,137720,137721,137730,137731,137740,137741,137750,137751,137760,137761,137770,137771,137780,137781,137790,137791,137800,137801,137810,137811,137825,137826,137835,137836,137845,137846,137860,137861,137870,137871,137880,137881,137890,137891,137900,137901,137910,137911,137920,137921,137930,137931,137940,137941,137950,137951,137965,137966,137975,137976,137985,137986,137995,137996,138005,138006,138020,138021,138030,138031,138040,138041,138050,138051,138065,138066,138075,138076,138085,138086,138095,138096,138110,138111,138120,138121,138130,138131,138140,138141,138150,138151,138165,138166,138175,138176,138185,138186,138195,138196,138205,138206,138215,138216,138224,138225,138239,138240,138249,138250,138259,138260,138269,138270,138279,138280,138289,138290,138299,138300,138309,138310,138319,138320,138334,138335,138344,138345,138354,138355,138364,138365,138374,138375,138384,138385,138394,138395,138404,138405,138414,138415,138424,138425,138434,138435,138449,138450,138459,138460,138469,138470,138479,138480,138489,138490,138499,138500,138514,138515,138524,138525,138534,138535,138544,138545,138554,138555,138564,138565,138574,138575,138584,138585,138599,138600,138609,138610,138619,138620,138629,138630,138644,138645,138659,138660,138669,138670,138679,138680,138689,138690,138699,138700,138709,138710,138719,138720,138734,138735,138744,138745,138754,138755,138764,138765,138779,138780,138789,138790,138799,138800,138809,138810,138824,138825,138834,138835,138844,138845,138854,138855,138869,138870,138879,138880,138889,138890,138899,138900,138909,138910,138919,138920,138934,138935,138944,138945,138954,138955,138964,138965,138974,138975,138989,138990,138999,139000,139009,139010,139019,139020,139029,139030,139039,139040,139054,139055,139064,139065,139074,139075,139084,139085,139094,139095,139104,139105,139119,139120,139129,139130,139139,139140,139149,139150,139159,139160,139169,139170,139179,139180,139189,139190,139199,139200,139209,139210,139224,139225,139234,139235,139244,139245,139254,139255,139264,139265,139274,139275,139284,139285,139294,139295,139304,139305,139314,139315,139329,139330,139339,139340,139349,139350,139359,139360,139369,139370,139379,139380,139389,139390,139399,139400,139409,139410,139419,139420,139434,139435,139444,139445,139454,139455,139464,139465,139474,139475,139484,139485,139494,139495,139504,139505,139514,139515,139529,139530,139539,139540,139549,139550,139559,139560,139569,139570,139579,139580,139589,139590,139599,139600,139609,139610,139619,139620,139629,139630,139639,139640,139649,139650,139664,139665,139674,139675,139684,139685,139694,139695,139704,139705,139714,139715,139724,139725,139734,139735,139744,139745,139759,139760,139769,139770,139779,139780,139789,139790,139799,139800,139809,139810,139819,139820,139834,139835,139844,139845,139854,139855,139864,139865,139874,139875,139884,139885,139894,139895,139904,139905,139914,139915,139924,139925,139934,139935,139944,139945,139959,139960,139969,139970,139979,139980,139989,139990,139999,140000,140009,140010,140019,140020,140029,140030,140039,140040,140049,140050,140064,140065,140074,140075,140084,140085,140094,140095,140109,140110,140119,140120,140129,140130,140139,140140,140149,140150,140159,140160,140169,140170,140179,140180,140189,140190,140199,140200,140214,140215,140224,140225,140234,140235,140244,140245,140254,140255,140264,140265,140274,140275,140284,140285,140299,140300,140309,140310,140319,140320,140329,140330,140339,140340,140349,140350,140364,140365,140374,140375,140384,140385,140394,140395,140404,140405,140414,140415,140424,140425,140434,140435,140444,140445,140459,140460,140469,140470,140479,140480,140489,140490,140600,140601,140664,140665,140669,140670,140676,140677,140690,140691,140697,140698,140756,140757,140778,140779,140792,140793,140825,140826,140919,140920,140934,140935,140944,140945,140989,140990,141022,141023,141033,141034,141040,141041,141046,141047,141160,141161,141180,141181,141186,141187,141863,141864,141883,141884,141896,141897,141910,141911,141974,141975,141980,141981,141987,141988,141994,141995,142002,142003,142072,142073,142081,142082,142089,142090,142109,142110,142131,142132,142401,142402,147224,147225,147254,147255,147262,147263,147377,147378,147400,147401,147451,147452,147481,147482,147506,147507,147520,147521,147526,147527,147540,147541,147545,147546,147581,147582,147588,147589,147595,147596,147604,147605,147614,147615,147623,147624,147680,147681,147699,147700,147731,147732,147737,147738,147749,147750,147805,147806,147818,147819,147987,147988,148002,148003,148078,148079,148137,148138,148159,148160,148204,148205,148219,148220,148224,148225,148230,148231,148236,148237,148242,148243,148248,148249,148254,148255,148262,148263,148565,148566,148570,148571,148598,148599,148612,148613,148617,148618,148624,148625,148634,148635,148666,148667,148672,148673,148679,148680,148687,148688,148695,148696,148700,148701,148705,148706,148712,148713,148719,148720,148726,148727,148732,148733,148738,148739,148744,148745,148750,148751,148756,148757,148761,148762,148767,148768,148773,148774,148779,148780,148785,148786,148792,148793,148798,148799,148804,148805,148809,148810,148816,148817,148823,148824,148830,148831,148840,148841,148850,148851,148858,148859,148864,148865,148878,148879,148888,148889,148894,148895,148902,148903,148908,148909,148914,148915,148920,148921,148927,148928,148932,148933,148938,148939,148944,148945,148949,148950,148955,148956,148961,148962,148966,148967,148971,148972,148977,148978,148982,148983,148990,148991,148997,148998,149002,149003,149008,149009,149151,149152,149164,149165,149193,149194,149215,149216,149254,149255,149396,149397,149430,149431,149437,149438,149573,149574,149592,149593,149629,149630,149639,149640,149661,149662,149911,149912,149953,149954,149966,149967,149974,149975,149981,149982,149987,149988,149996,149997,150003,150004,150035,150036,150053,150054,150068,150069,150077,150078,150084,150085,150091,150092,150110,150111,150142,150143,150167,150168,150216,150217,150228,150229,150235,150236,150250,150251,150253,150254,150261,150262,150271,150272,150278,150279,150304,150305,150324,150325,150342,150343,150372,150373,150377,150378,150382,150383,150387,150388,150401,150402,150404,150405,152870,152871,152873,152874,152878,152879,152884,152885,152891,152892,152947,152948,152950,152951,153362,153363,154582,154583,154590,154591,154769,154770,154774,154775,154782,154783,154826,154827,154848,154849,154853,154854,154858,154859,154868,154869,154874,154875,154880,154881,154889,154890,154924,154925,154929,154930,154940,154941,154948,154949,154953,154954,154959,154960,155140,155141,155177,155178,155185,155186,155204,155205,155231,155232,155260,155261,155268,155269,155274,155275,155286,155287,155307,155308,155314,155315,155343,155344,155383,155384,155391,155392,155403,155404,155469,155470,155488,155489,155522,155523,155527,155528,155536,155537,155542,155543,155552,155553,155558,155559,155588,155589,155728,155729,155739,155740,155744,155745,155750,155751,155770,155771,155772,155773,155784,155785,155793,155794,155805,155806,155813,155814,155820,155821,155827,155828,155839,155840,155846,155847,155854,155855,155862,155863,155869,155870,155874,155875,155881,155882,155886,155887,155894,155895,155901,155902,155913,155914,155918,155919,155927,155928,155935,155936,155942,155943,155949,155950,155957,155958,155965,155966,155971,155972,155978,155979,155985,155986,155987,155988,156025,156026,156063,156064,156103,156104,156106,156107,156108,156109,156110,156111,156123,156124,156125,156126,156127,156128,156149,156150,156161,156162,156163,156164,156165,156166,156290,156291,156292,156293,156299,156300,156301,156302,156303,156304,156305,156306,156307,156308,156309,156310,156318,156319,156324,156325,156331,156332,156338,156339,156351,156352,156358,156359,156379,156380,156391,156392,156393,156394,156444,156445,156451,156452,156457,156458,156512,156513,156518,156519,156524,156525,156531,156532,156537,156538,156712,156713,156720,156721,156726,156727,156732,156733,156739,156740,156749,156750,156804,156805,156817,156818,156847,156848,156853,156854,156860,156861,156866,156867,156874,156875,156880,156881,156886,156887,156892,156893,156969,156970,156988,156989,157064,157065,157070,157071,157077,157078,157283,163840,163842,163921,163922,164415,172778,172779,178339,178340,179118,179119,179333,179334,179350,179351,179368,179369,179482,179483,179484,179485,179486,179487,179502,179503,179504,179505,179506,179507,179532,179533,179534,179535,179543,179544,179549,179550,179598,179599,179608,179609,179615,179616,179640,179641,180048,180049,180145,180146,180152,180153,180162,180163,180169,180170,180178,180179,180219,180220,180224,180225,180231,180232,180237,180238,180242,180243,180247,180248,180252,180253,180259,180260,180280,180281,180285,180286,180312,180313,180318,180319,180374,180375,180384,180385,180402,180403,180420,180421,183330,183331,183357,183358,183364,183365,183378,183379,183394,183395,183402,183403,183418,183419,183434,183435,183456,183457,183491,183492,183546,183547,183596,183597,183602,183603,183608,183609,183614,183615,183626,183627,183743,183744,183783,183784,183842,183843,183904,183905,184197,184198,184526,184527,184533,184534,184555,184556,184802,184803,184844,184845,184896,184897,184903,184904,184910,184911,185598,185599,185626,185627,187065,187066,187074,187075,187083,187084,187165,187166,187189,187190,187207,187208,187348,187349,187366,187367,187401,187402,187408,187409,187415,187416,187424,187425,187440,187441,187466,187467,187478,187479,187591,187592,187647,187648,187654,187655,187745,187746,187941,187942,187977,187978,187987,187988,188129,188130,188317,188318,188324,188325,188363,188364,188387,188388,188448,188449,188459,188460,188634,188635,188641,188642,188847,188848,188935,188936,189028,189029,189329,189330,189417,189418,189533,189534,189544,189545,189550,189551,189723,189724,189794,189795,189820,189821,189856,189857,189861,189862,189869,189870,189874,189875,190013,190014,190041,190042,190051,190052,190056,190057,190062,190063,190068,190069,190073,190074,190079,190080,190086,190087,190092,190093,190098,190099,190104,190105,190109,190110,190115,190116,190121,190122,190126,190127,190131,190132,190136,190137,190142,190143,190148,190149,190154,190155,190159,190160,190164,190165,190169,190170,190184,190185,190191,190192,190251,190252,190294,190295,190318,190319,190330,190331,190336,190337,190345,190346,190352,190353,190362,190363,190369,190370,190416,190417,190435,190436,190441,190442,190449,190450,190485,190486,190491,190492,190502,190503,190614,190615,190622,190623,190630,190631,190642,190643,190742,190743,190747,190748,190756,190757,190844,190845,190852,190853,190978,190979,191370,191371,191647,191648,191656,191657,191674,191675,191709,191710,191776,191777,191791,191792,191806,191807,191849,191850,191878,191879,192111,192112,192117,192118,192122,192123,192183,192184,192218,192219,192232,192233,192238,192239,192262,192263,192292,192293,192305,192306,192313,192314,192349,192350,192366,192367,192372,192373,192385,192386,192410,192411,192444,192445,192454,192455,192655,192656,192740,192741,192748,192749,192765,192766,192773,192774,192782,192783,192802,192803,192950,192951,192962,192963,192970,192971,192975,192976,193001,193002,193017,193018,193044,193045,193064,193065,193072,193073,193097,193098,193117,193118,193133,193134,193158,193159,193164,193165,193173,193174,193183,193184,193194,193195,193200,193201,193212,193213,193220,193221,193229,193230,193234,193235,193255,193256,193262,193263,193308,193309,193322,193323,193379,193380,193397,193398,194607,194608,194612,194613,194619,194620,194677,194678,194699,194700,194709,194710,195877,195878,195888,195889,195925,195926,195963,195964,195968,195969,195976,195977,195982,195983,196154,196155,196183,196184,196192,196193,196204,196205,196209,196210,196221,196222,196227,196228,196241,196242,196254,196255,196270,196271,196275,196276,196292,196293,196304,196305,196310,196311,196323,196324,196345,196346,196351,196352,196358,196359,196373,196374,196406,196407,196425,196426,196452,196453,196458,196459,196463,196464,196470,196471,196498,196499,196504,196505,196591,196592,196603,196604,196605,196608,196609,229376,229378,229457,229458,229951,230895,230896,230912,230913,230930,230931,230939,230940,230947,230948,231072,231073,231112,231113,231480,231481,231497,231498,231507,231508,231512,231513,231548,231549,231553,231554,231594,231595,231646,231647,231723,231724,231807,231808,231839,231840,231860,231861,231896,231897,231983,231984,232091,232092,232100,232101,232136,232137,232144,232145,232154,232155,232276,232277,232298,232299,232331,232332,232362,232363,232404,232405,232414,232415,232422,232423,232431,232432,232532,232533,232656,232657,232706,232707,232713,232714,232719,232720,232726,232727,232805,232806,232810,232811,232816,232817,232821,232822,232831,232832,232840,232841,232848,232849,232855,232856,232868,232869,232881,232882,232888,232889,232948,232949,232972,232973,232995,232996,233002,233003,233028,233029,233208,233209,233240,233241,233264,233265,233466,233467,233472,233473,233478,233479,233528,233529,233593,233594,233642,233643,233657,233658,233664,233665,233856,233857,233881,233882,233885,233886,233893,233894,233898,233899,233905,233906,233908,233909,233912,233913,233915,233916,233918,233919,233921,233922,233925,233926,233929,233930,233932,233933,233938,233939,233957,233958,233976,233977,233981,233982,233985,233986,233990,233991,234002,234003,234009,234010,234023,234024,234034,234035,234036,234037,234044,234045,234048,234049,234053,234054,234058,234059,234062,234063,234066,234067,234071,234072,234076,234077,234080,234081,234085,234086,234089,234090,234094,234095,234099,234100,234112,234113,234117,234118,234119,234120,235150,235151,235156,235157,235165,235166,235171,235172,235174,235175,235176,235177,235184,235185,235203,235204,235209,235210,235214,235215,235220,235221,235232,235233,235239,235240,235245,235246,235256,235257,235262,235263,235264,235265,235266,235267,235268,235269,235273,235274,235276,235277,235283,235284,235287,235288,235295,235296,235299,235300,235329,235330,235343,235344,235368,235369,235405,235406,235432,235433,235477,235478,235502,235503,235514,235515,235543,235544,235570,235571,235583,235584,235585,235586,235589,235590,235592,235593,235595,235596,235599,235600,235603,235604,235611,235612,235614,235615,235619,235620,235629,235630,235634,235635,235640,235641,235645,235646,235651,235652,235655,235656,235660,235661,235665,235666,235673,235674,235679,235680,235683,235684,235689,235690,235694,235695,235698,235699,235704,235705,235709,235710,235714,235715,235718,235719,235725,235726,235729,235730,235735,235736,235742,235743,235746,235747,235757,235758,235760,235761,235766,235767,235771,235772,235787,235788,235791,235792,235796,235797,235802,235803,235808,235809,235814,235815,235820,235821,235825,235826,235828,235829,235835,235836,235842,235843,235849,235850,235854,235855,235862,235863,235869,235870,235873,235874,235880,235881,235887,235888,235895,235896,235899,235900,235910,235911,235914,235915,235926,235927,235930,235931,235935,235936,235941,235942,235947,235948,235954,235955,235963,235964,235969,235970,235977,235978,235982,235983,235985,235986,235990,235991,235996,235997,236002,236003,236010,236011,236018,236019,236022,236023,236031,236032,236033,236034,236041,236042,236049,236050,236056,236057,236113,236114,236136,236137,236144,236145,236154,236155,236162,236163,236171,236172,236184,236185,236196,236197,236207,236208,236220,236221,236229,236230,236238,236239,236249,236250,236260,236261,236269,236270,236278,236279,236283,236284,236291,236292,236302,236303,236313,236314,236324,236325,236376,236377,236385,236386,236394,236395,236410,236411,236415,236416,236429,236430,236438,236439,236482,236483,236496,236497,236513,236514,236523,236524,236532,236533,236561,236562,236574,236575,236585,236586,236599,236600,236610,236611,236622,236623,236637,236638,236649,236650,236667,236668,236674,236675,236679,236680,236721,236722,236732,236733,236742,236743,236754,236755,236765,236766,236773,236774,236783,236784,236795,236796,236807,236808,236812,236813,236822,236823,236832,236833,236843,236844,236851,236852,236860,236861,236875,236876,236904,236905,236915,236916,236938,236939,236997,236998,237012,237013,237018,237019,237063,237064,237077,237078,237093,237094,237109,237110,237116,237117,237130,237131,237142,237143,237155,237156,237164,237165,237176,237177,237187,237188,237215,237216,237294,237295,237306,237307,237317,237318,237329,237330,237338,237339,237361,237362,237369,237370,237380,237381,237390,237391,237409,237410,237453,237454,237463,237464,237476,237477,237484,237485,237521,237522,237568,237569,237577,237578,237583,237584,237592,237593,237613,237614,237620,237621,237622,237623,237625,237626,237628,237629,237631,237632,237635,237636,237638,237639,237641,237642,237644,237645,237648,237649,237653,237654,237656,237657,237660,237661,237663,237664,237666,237667,237669,237670,237673,237674,237676,237677,237680,237681,237682,237683,237684,237685,237747,237748,237749,237750,237751,237752,237762,237763,237764,237765,237806,237807,237808,237809,237810,237811,238030,238031,238032,238033,238066,238067,238068,238069,238070,238071,238306,238307,238308,238309,238317,238318,238319,238320,238321,238322,238335,238336,238337,238338,238370,238371,238372,238373,238374,238375,238382,238383,238384,238385,238993,238994,238995,238996,238997,238998,239082,239083,239084,239085,239151,239152,239153,239154,239155,239156,239250,239251,239252,239253,241208,241209,241210,241211,241212,241213,242738,242739,242740,242741,242888,242889,242890,242891,242892,242893,243583,243584,243585,243586,243593,243594,243595,243596,243597,243598,243599,243600,243601,243602,243614,243615,243616,243617,246205,246206,246207,246208,246209,246210,248574,248575,248576,248577,249060,249061,249062,249063,249064,249065,249960,249961,249962,249963,250120,250121,250122,250123,250124,250125,250401,250402,250403,250404,251387,251388,251389,251390,251391,251392,251978,251979,251980,251981,251987,251988,251989,251990,251991,251992,252002,252003,252004,252005,252018,252019,252020,252021,252022,252023,252057,252058,252059,252060,252066,252067,252068,252069,252070,252071,252082,252083,252084,252085,252145,252146,252147,252148,252149,252150,252156,252157,252158,252159,252393,252394,252395,252396,252397,252398,252555,252556,252557,252558,252605,252606,252607,252608,252609,252610,252743,252744,252745,252746,254425,254426,254427,254428,254429,254430,255737,255738,255739,255740,255750,255751,255752,255753,255754,255755,255806,255807,255808,255809,255845,255846,255847,255848,255849,255850,255851,255852,255853,255854,255910,255911,255912,255913,255918,255919,255920,255921,255922,255923,255946,255947,255948,255949,257363,257364,257365,257366,257367,257368,258417,258418,258419,258420,258423,258424,258425,258426,258427,258428,258441,258442,258443,258444,258450,258451,258452,258453,258454,258455,258471,258472,258473,258474,258486,258487,258488,258489,258490,258491,258571,258572,258573,258574,258575,258576,258577,258578,260976,260977,260978,260979,261022,261023,261024,261025,261026,261027,261144,261145,261146,261147,261150,261151,261152,261153,261154,261155,261166,261167,261168,261169,261230,261231,261232,261233,261234,261235,261324,261325,261326,261327,261460,261461,261462,261463,261464,261465,261711,261712,261713,261714,261725,261726,261727,261728,261729,261730,261773,261774,261775,261776,261777,261778,261779,261780,261781,261782,261783,261784,261785,261786,261787,261788,261789,261790,261791,261792,261793,261794,261795,261796,261797,261798,261799,261800,261809,261810,261811,261812,261813,261814,261823,261824,261825,261826,261883,261884,261885,261886,261887,261888,262063,262064,262065,262066,262067,262068,262069,262070,262071,262072,262096,262097,262098,262099,262100,262101,262111,262112,262113,262114,262115,262116,262117,262118,262119,262120,262121,262122,262123,262124,262131,262132,262133,262134,262135,262136,262137,262138,262139,262140,262141,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305533,305534,305535,305536,305556,305557,305578,305579,305580,305581,305598,305599,305606,305607,305608,305609,305636,305637,305665,305666,305667,305668,305719,305720,305753,305754,305755,305756,305772,305773,305782,305783,305784,305785,305795,305796,305899,305900,305901,305902,305933,305934,306479,306480,306481,306482,308207,308208,308223,308224,308225,308226,308241,308242,308308,308309,308310,308311,308324,308325,308335,308336,308337,308338,308360,308361,308464,308465,308466,308467,308514,308515,308521,308522,308523,308524,308532,308533,308542,308543,308544,308545,308567,308568,308578,308579,308580,308581,308591,308592,308624,308625,308626,308627,308653,308654,313384,313385,313386,313387,313388,313389,313390,313391,314050,314051,314415,314416,314417,314418,314419,314420,314438,314439,314440,314441,314468,314469,314470,314471,314472,314473,314553,314554,314555,314556,314557,314558,314559,314560,314567,314568,314569,314570,314571,314572") == "9c9ad21181bdae4e9b08dda107d34b629ca49fea" || block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat")) then
ui_print("Verified system image...");
else
check_first_block("/dev/block/bootdevice/by-name/system");
ifelse (block_image_recover("/dev/block/bootdevice/by-name/system", "6548,1,80,81,306,2816,2817,2818,2819,2820,2821,2822,2823,2832,2833,2940,2941,2942,2943,3036,3037,3045,3046,3047,3048,3049,3050,3051,3052,3069,3070,3089,3090,3091,3092,3102,3103,3157,3158,3159,3160,3172,3173,3177,3178,3179,3180,3190,3191,3205,3206,3207,3208,3244,3245,3254,3255,3256,3257,3300,3301,3327,3328,3329,3330,3382,3383,3392,3393,3394,3395,3433,3434,3446,3447,3448,3449,3450,3451,3530,3531,3532,3533,3766,3767,3768,6931,6932,6933,6934,8074,8075,8076,8077,8299,8300,8301,8302,9139,9140,9141,9142,9144,9145,9146,9147,9148,9149,9156,9157,9158,9159,9165,9166,9167,9168,9169,9170,9196,9197,9198,9199,9262,9263,9264,9265,9266,9267,9333,9334,9335,9336,9342,9343,9344,9345,9346,9347,9374,9375,9376,9377,9381,9382,9383,9384,9385,9386,9405,9406,9407,9408,9410,9411,9412,9413,9414,9415,9421,9422,9423,9424,9428,9429,9430,9431,9432,9433,9449,9450,9451,9452,9455,9456,9457,9458,9459,9460,9470,9471,9472,9473,9476,9477,9478,9479,9480,9481,9494,9495,9496,9497,9501,9502,9503,9504,9505,9506,9517,9518,9519,9520,9521,9522,9523,9524,9588,9589,9600,9601,9602,9603,9604,9605,9606,9607,9614,9615,9617,9618,9619,9620,9622,9623,9624,9625,9626,9627,9628,9629,9676,9677,9686,9687,9688,9689,9690,9691,9692,9693,9745,9746,9756,9757,9758,9759,9760,9761,9762,9763,10508,10509,21711,21712,21714,21715,21726,21727,21738,21739,21743,21744,21748,21749,21756,21757,21762,21763,21767,21768,21769,21770,21776,21777,21814,21815,21816,21817,21818,21819,21825,21826,21835,21836,21845,21846,21853,21854,21860,21861,21872,21873,21879,21880,21885,21886,21887,21888,21897,21898,21907,21908,21914,21915,21920,21921,21922,21923,21927,21928,21933,21934,21938,21939,21951,21952,21959,21960,21966,21967,21975,21976,22024,22025,22030,22031,22032,22033,22038,22039,22120,22121,22126,22127,22139,22140,22146,22147,22152,22153,22186,22187,22206,22207,22211,22212,22217,22218,22225,22226,22230,22231,22238,22239,22245,22246,22253,22254,22259,22260,22270,22271,22294,22295,22329,22330,22331,22332,22340,22341,22383,22384,22391,22392,22401,22402,22442,22443,22447,22448,22457,22458,22464,22465,22470,22471,22478,22479,22494,22495,22504,22505,22526,22527,22537,22538,22550,22551,22561,22562,22708,22709,22722,22723,22731,22732,22737,22738,22773,22774,22785,22786,22820,22821,22933,22934,22945,22946,22955,22956,22957,22958,22987,22988,22993,22994,23031,23032,23060,23061,23062,23063,23064,23065,23092,23093,23105,23106,23161,23162,23225,23226,23287,23288,23293,23294,23335,23336,23391,23392,23393,23394,23399,23400,23405,23406,23411,23412,23434,23435,23440,23441,23449,23450,23457,23458,23587,23588,23743,23744,23750,23751,23768,23769,23778,23779,23797,23798,23800,23801,23809,23810,23907,23908,23934,23935,23940,23941,23949,23950,23990,23991,23997,23998,24133,24134,24135,24136,24141,24142,24149,24150,24155,24156,24161,24162,24169,24170,24179,24180,24189,24190,24194,24195,24222,24223,24249,24250,24268,24269,24275,24276,24282,24283,24290,24291,24300,24301,24360,24361,24395,24396,24404,24405,24410,24411,24419,24420,24421,24422,24441,24442,24449,24450,24454,24455,24460,24461,24509,24510,24817,24818,24822,24823,24861,24862,24870,24871,24879,24880,24885,24886,24890,24891,24895,24896,24900,24901,24906,24907,24925,24926,24937,24938,24949,24950,24955,24956,24957,24958,24968,24969,24977,24978,24987,24988,24998,24999,25044,25045,25054,25055,25064,25065,25074,25075,25076,25077,25081,25082,25087,25088,25093,25094,25099,25100,25105,25106,25111,25112,25117,25118,25123,25124,25129,25130,25136,25137,25143,25144,25150,25151,25157,25158,25163,25164,25169,25170,25197,25198,25227,25228,25236,25237,25242,25243,25247,25248,25293,25294,25298,25299,25311,25312,25316,25317,25318,25319,25332,25333,25339,25340,25345,25346,25353,25354,25361,25362,25367,25368,25373,25374,25379,25380,25406,25407,25415,25416,25422,25423,25427,25428,25434,25435,25441,25442,25443,25444,25448,25449,25480,25481,25527,25528,25529,25530,25538,25539,25554,25555,25560,25561,25566,25567,25574,25575,25580,25581,25583,25584,25588,25589,25612,25613,25614,25615,25620,25621,25639,25640,25648,25649,25654,25655,25660,25661,25666,25667,25672,25673,25695,25696,25766,25767,25772,25773,25778,25779,25785,25786,25792,25793,25795,25796,25812,25813,25818,25819,25825,25826,25931,25932,25956,25957,25963,25964,25970,25971,25975,25976,25977,25978,26000,26001,26314,26315,26483,26484,26501,26502,26505,26506,26507,26508,26570,26571,26572,26573,26574,26575,26576,26577,26593,26594,26598,26599,26600,26601,26655,26656,26657,26658,26679,26680,26741,26742,26743,26744,26754,26755,26759,26760,26762,26763,26812,26813,26814,26815,26834,26835,26883,26884,26886,26887,26888,26889,26905,26906,26910,26911,26912,26913,26970,26971,26972,26973,26997,26998,27060,27061,27062,27063,27079,27080,27084,27085,27086,27087,27142,27143,27144,27145,27169,27170,27232,27233,27234,27235,27251,27252,27256,27257,27258,27259,27321,27322,27323,27324,27348,27349,27412,27413,27573,27574,27575,27576,27578,27579,27580,27581,27583,27584,27589,27590,27593,27594,27595,27596,27597,27598,27599,27600,27608,27609,27611,27612,27854,27855,27856,27857,27858,27859,27860,27861,27866,27867,27868,27869,27870,27871,27874,27875,27878,27879,27882,27883,27886,27887,27888,27889,27892,27893,27896,27897,27900,27901,27904,27905,27908,27909,27910,27911,27914,27915,27918,27919,27922,27923,27926,27927,27930,27931,27934,27935,28018,28019,28020,28021,28028,28029,28048,28049,28055,28056,28057,28058,28059,28060,28061,28062,28063,28064,28065,28066,28067,28068,28073,28074,28075,28076,28077,28078,28081,28082,28085,28086,28087,28088,28091,28092,28093,28094,28097,28098,28100,28101,28104,28105,28109,28110,28114,28115,28119,28120,28124,28125,28126,28127,28130,28131,28132,28133,28134,28135,28136,28137,28138,28139,28140,28141,28162,28163,28168,28169,28183,28184,28201,28202,28206,28207,28208,28209,28211,28212,28369,28370,28372,28373,28374,28375,28537,28538,28540,28541,28542,28543,28544,28545,28548,28549,28550,28551,28555,28556,28557,28558,28561,28562,28563,28564,28565,28566,28567,28568,28569,28570,28571,28572,28583,28584,28585,28586,28587,28588,28589,28590,28592,28593,28594,28595,28596,28597,28598,28599,28600,28601,28602,28603,28604,28605,28606,28607,28608,28609,28610,28611,28612,28613,28614,28615,28616,28617,28618,28619,28620,28621,28622,28623,28624,28625,28626,28627,28628,28629,28630,28631,28632,28633,28634,28635,28636,28637,28638,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28649,28651,28652,28655,28656,28657,28658,28659,28660,28661,28662,28663,28664,28665,28666,28687,28688,28689,28690,28691,28692,28694,28695,28700,28701,28702,28703,28704,28705,28707,28708,28709,28710,28711,28712,28715,28716,28718,28719,28720,28721,28723,28724,28726,28727,28729,28730,28736,28737,28745,28746,28754,28755,28762,28763,28770,28771,28779,28780,28788,28789,28797,28798,28806,28807,28825,28826,28827,28828,28829,28830,28831,28832,28833,28834,29940,29941,29942,29943,29944,29945,29946,29947,29948,29949,29950,29951,29952,29953,29954,29955,29956,29957,29958,29959,29960,29961,29962,29963,29964,29965,29966,29967,29968,29969,29970,29971,29972,29973,29974,29975,29976,29977,29978,29979,29980,29981,29982,29983,29984,29985,29986,29987,29988,29989,29990,29991,29992,29993,29994,29995,29996,29997,29998,29999,30000,30001,30002,30003,30004,30005,30006,30007,30008,30009,30010,30011,30012,30013,30014,30015,30016,30017,30018,30019,30020,30021,30022,30023,30024,30025,30026,30027,30028,30029,30030,30031,30032,30033,30034,30035,30036,30037,30038,30039,30051,30052,30053,30054,30055,30056,30057,30058,30059,30060,30061,30062,30219,30220,30221,30222,30223,30224,30225,30226,30227,30228,30231,30232,30235,30236,30237,30238,30239,30240,30241,30242,30243,30244,30245,30246,30247,30248,30249,30250,30251,30252,30253,30254,30255,30256,30257,30258,30259,30260,30261,30262,30263,30264,30265,30266,30267,30268,30269,30270,30271,30272,30273,30274,30275,30276,30277,30278,30279,30280,30281,30282,30283,30284,30285,30286,30287,30288,30289,30290,30291,30292,30293,30294,30295,30296,30297,30298,30299,30300,30301,30302,30303,30304,30305,30306,30307,30308,30309,30310,30311,30312,30313,30314,30315,30316,30317,30318,30320,30321,30322,30323,30324,30325,30326,30327,30330,30331,30332,30333,30334,30335,30336,30337,30338,30339,30340,30341,30342,30343,30344,30345,30346,30347,30348,30349,30350,30351,30352,30353,30354,30355,30356,30357,30358,30359,30363,30364,30365,30366,30367,30368,30369,30370,30371,30372,30829,30830,30831,30832,30834,30835,30836,30837,30838,30839,30841,30842,30844,30845,30847,30848,30850,30851,30852,30853,30855,30856,30858,30859,30861,30862,30863,30864,30866,30867,30869,30870,30872,30873,30875,30876,30878,30879,30881,30882,30884,30885,30887,30888,30890,30891,30893,30894,30896,30897,30899,30900,30903,30904,30906,30907,30909,30910,30912,30913,30915,30916,30918,30919,30920,30921,30922,30923,30925,30926,30928,30929,30932,30933,30936,30937,30939,30940,30942,30943,30945,30946,30948,30949,30951,30952,30954,30955,30957,30958,30960,30961,30963,30964,30967,30968,30970,30971,30973,30974,30976,30977,30979,30980,30982,30983,30985,30986,30988,30989,30991,30992,30994,30995,30997,30998,31000,31001,31003,31004,31005,31006,31008,31009,31011,31012,31014,31015,31017,31018,31020,31021,31022,31023,31025,31026,31028,31029,31031,31032,31034,31035,31037,31038,31040,31041,31043,31044,31045,31046,31048,31049,31051,31052,31054,31055,31057,31058,31060,31061,31063,31064,31066,31067,31069,31070,31072,31073,31075,31076,31078,31079,31081,31082,31084,31085,31087,31088,31090,31091,31092,31093,31095,31096,31098,31099,31101,31102,31104,31105,31106,31107,31109,31110,31112,31113,31115,31116,31118,31119,31121,31122,31124,31125,31127,31128,31130,31131,31133,31134,31137,31138,31140,31141,31143,31144,31146,31147,31149,31150,31152,31153,31154,31155,31157,31158,31160,31161,31163,31164,31166,31167,31169,31170,31171,31172,31174,31175,31177,31178,31180,31181,31183,31184,31186,31187,31188,31189,31191,31192,31194,31195,31197,31198,31260,31261,31263,31264,31266,31267,31268,31269,31271,31272,31274,31275,31277,31278,31280,31281,31283,31284,31285,31286,31288,31289,31291,31292,31294,31295,31297,31298,31299,31300,31302,31303,31305,31306,31308,31309,31311,31312,31314,31315,31317,31318,31320,31321,31323,31324,31326,31327,31329,31330,31331,31332,31334,31335,31337,31338,31340,31341,31343,31344,31346,31347,31349,31350,31352,31353,31355,31356,31358,31359,31360,31361,31362,31363,31364,31365,31366,31367,31369,31370,31373,31374,31376,31377,31378,31379,31380,31381,31383,31384,31386,31387,31389,31390,31392,31393,31395,31396,31398,31399,31401,31402,31404,31405,31406,31407,31408,31409,31410,31411,31412,31413,31415,31416,31424,31425,31433,31434,31442,31443,31451,31452,31460,31461,31462,31463,31464,31465,31466,31467,31468,31469,31470,31471,31472,31473,31474,31475,31479,31480,31481,31482,31484,31485,31495,31496,31511,31512,31529,31530,31559,31560,31589,31590,31664,31665,31737,31738,31788,31789,31829,31830,31857,31858,31886,31887,31919,31920,31973,31974,31993,31994,32049,32050,32079,32080,32109,32110,32139,32140,32169,32170,32174,32175,32179,32180,32188,32189,32222,32223,32227,32228,32230,32231,32233,32234,32246,32247,32253,32254,32260,32261,32270,32271,32277,32278,32314,32315,32350,32351,32356,32357,32362,32363,32367,32368,32370,32371,32376,32377,32382,32383,32393,32394,32396,32397,32406,32407,32416,32417,32426,32427,32437,32438,32446,32447,32455,32456,32464,32465,32473,32474,32499,32500,32503,32504,32506,32507,32521,32522,32536,32537,32551,32552,32566,32567,32571,32572,32576,32577,32605,32606,32611,32612,32616,32617,32619,32620,32622,32623,32628,32629,32667,32668,32708,32709,32712,32713,32717,32718,32722,32723,32735,32736,32738,32739,32742,32743,32755,32756,32760,32761,32765,32768,32770,32849,32850,65536,65537,66030,74956,74957,76014,76015,76927,76928,80492,80493,83023,83024,85084,85085,86182,86183,87020,87021,87553,87554,87634,87635,87741,87742,87889,87890,88758,88759,88793,88794,88826,88827,88881,88882,88917,88918,88919,88920,88921,88922,88923,88924,88925,88926,88927,88928,88929,88930,88931,88932,88933,88934,88935,88936,88937,88938,88939,88940,88941,88942,88943,88944,88945,88946,88947,88948,88949,88950,89106,89107,89215,89216,89359,89360,89461,89462,89652,89653,89812,89813,89876,89877,90025,90026,90230,90231,90325,90326,90480,90481,90543,90544,90545,90546,90547,90548,90549,90550,90551,90552,90553,90554,90555,90556,90565,90566,90567,90568,90570,90571,90572,90573,90600,90601,90602,90603,90629,90630,90631,90632,90659,90660,90661,90662,90674,90675,90676,90677,90685,90686,90687,90688,90692,90693,90694,90695,90701,90702,90703,90704,90705,90706,90707,90708,90710,90711,90712,90713,90722,90723,90724,90725,90726,90727,90728,90729,90730,90731,90732,90733,90734,90735,90736,90737,90815,90816,90817,90818,90819,90820,90821,90822,90823,90824,90825,90826,90827,90828,90829,90830,90832,90833,90834,90835,90836,90837,90838,90839,90875,90876,90877,90878,90914,90915,90916,90917,90918,90919,90920,90921,90922,90923,90924,90925,90926,90927,90929,90930,90932,90933,90934,90935,90936,90937,90938,90939,90940,90941,90942,90943,90944,90945,90946,90947,90948,90949,90950,90951,90952,90953,96374,96375,96376,96377,96378,96379,96380,96381,96382,96383,96384,96385,96389,96390,96393,96394,96398,96399,96403,96404,96408,96409,96410,96411,96412,96413,96416,96417,96418,96419,96420,96421,96422,96423,96424,96425,96426,96427,96428,96429,96430,96431,96432,96433,96434,96435,96436,96437,96438,96439,96440,96441,96442,96443,96444,96445,96446,96447,96448,96449,96450,96451,96452,96453,96454,96455,96456,96457,96458,96459,96460,96461,96462,96463,96464,96465,96466,96467,96468,96469,96470,96471,96472,96473,96474,96475,96476,96477,96478,96479,96480,96481,96482,96483,96484,96485,96486,96487,96488,96489,96490,96491,96492,96493,96497,96498,96503,96504,96505,96506,96629,96630,96631,96632,96633,96634,96635,96636,96637,96638,96639,96640,96641,96642,96644,96645,96646,96647,96649,96650,96651,96652,96654,96655,96656,96657,96659,96660,96661,96662,96664,96665,96666,96667,96669,96670,96671,96672,96674,96675,96676,96677,96678,96679,96680,96681,96682,96683,96684,96685,96691,96692,96693,96694,96695,96696,96702,96703,96704,96705,96786,96787,96788,96789,96790,96791,97177,97178,97179,97180,97182,97183,97184,97185,97186,97187,97193,97194,97195,97196,97201,97202,97203,97204,97205,97206,97223,97224,97225,97226,97256,97257,97258,97259,97260,97261,97280,97281,97282,97283,97293,97294,97295,97296,97297,97298,97321,97322,97323,97324,97325,97326,97327,97328,97330,97331,97332,97333,97337,97338,97339,97340,97342,97343,97344,97345,97347,97348,97349,97350,97352,97353,97354,97355,97357,97358,97359,97360,97362,97363,97364,97365,97367,97368,97369,97370,97373,97374,97375,97376,97378,97379,97380,97381,97384,97385,97386,97387,97389,97390,97391,97392,97402,97403,97404,97405,97406,97407,97408,97409,97410,97411,97412,97413,97414,97415,97420,97421,97422,97423,97424,97425,97432,97433,97434,97435,97457,97458,97459,97460,97461,97462,97507,97508,97509,97510,97524,97525,97526,97527,97528,97529,97545,97546,97547,97548,97549,97550,97551,97552,97565,97566,97567,97568,97570,97571,97572,97573,97575,97576,97577,97578,97580,97581,97582,97583,97585,97586,97587,97588,97590,97591,97592,97593,97595,97596,97597,97598,97600,97601,97602,97603,97605,97606,97607,97608,97610,97611,97612,97613,97620,97621,97622,97623,97625,97626,97627,97628,97629,97630,97631,97632,97633,97634,97635,97636,97637,97638,97643,97644,97645,97646,97647,97648,97655,97656,97657,97658,97662,97663,97664,97665,97666,97667,97674,97675,97676,97677,97678,97679,97680,97681,97683,97684,97685,97686,97688,97689,97690,97691,97693,97694,97695,97696,97698,97699,97700,97701,97703,97704,97705,97706,97708,97709,97710,97711,97819,97820,97821,97822,97823,97824,97825,97826,97827,97828,97829,97830,97831,97832,97833,97834,97835,97836,97837,97838,97839,97840,97841,97842,97850,97851,97852,97853,97861,97862,97863,97864,97865,97866,97873,97874,97875,97876,97883,97884,97885,97886,97887,97888,97889,97890,97891,97892,97893,97894,97903,97904,97905,97906,97907,97908,97924,97925,97926,97927,97929,97930,97931,97932,97934,97935,97936,97937,97939,97940,97941,97942,97947,97948,97949,97950,97952,97953,97954,97955,97956,97957,97958,97959,97964,97965,97966,97967,97968,97969,97979,97980,97981,97982,98007,98008,98009,98010,98011,98012,98098,98099,98100,98101,98164,98165,98166,98167,98168,98169,98170,98171,98186,98187,98188,98189,98190,98191,98210,98211,98212,98213,98214,98215,98216,98217,98281,98282,98283,98284,98289,98290,98295,98296,98297,98298,98299,98300,98301,98304,98306,98385,98386,98879,100324,100325,104885,104886,104957,104958,104962,104963,104968,104969,104975,104976,104981,104982,104988,104989,105081,105082,105181,105182,105186,105187,105203,105204,105235,105236,105297,105298,105363,105364,105425,105426,105487,105488,105563,105564,105645,105646,105721,105722,105803,105804,105885,105886,105962,105963,106045,106046,106121,106122,106203,106204,106279,106280,106355,106356,106436,106437,106511,106512,106593,106594,106675,106676,106751,106752,106834,106835,106910,106911,106912,106913,106915,106916,106924,106925,106926,106927,106933,106934,106941,106942,106950,106951,106971,106972,107108,107109,107110,107111,107112,107113,107138,107139,107506,107507,107543,107544,107963,107964,107986,107987,108164,108165,108168,108169,108184,108185,108330,108331,110104,110105,110152,110153,110489,110490,111132,111133,120038,120039,120051,120052,120123,120124,120126,120127,120134,120135,120151,120152,120369,120370,120396,120397,120659,120660,120664,120665,120696,120697,120699,120700,120707,120708,120844,120845,122044,122045,122047,122048,122058,122059,122066,122067,122132,122133,122428,122429,124536,124537,124540,124541,124671,124672,124673,124674,124675,124676,124678,124679,124680,124681,124685,124686,124688,124689,124690,124691,124693,124694,124706,124707,124713,124714,124720,124721,124726,124727,124759,124760,124795,124796,124799,124800,124803,124804,125200,125201,125648,125649,125650,125651,125654,125655,125657,125658,125661,125662,126166,126167,127773,127774,127775,127776,127789,127790,127792,127793,127795,127796,127798,127799,127807,127808,127810,127811,127824,127825,127826,127827,127828,127829,127888,127889,127897,127898,127939,127940,127982,127983,128033,128034,128140,128141,128149,128150,128167,128168,128178,128179,128187,128188,128196,128197,128216,128217,128227,128228,128235,128236,128247,128248,128285,128286,128316,128317,128332,128333,128342,128343,128363,128364,128373,128374,128384,128385,128433,128434,128446,128447,128530,128531,128537,128538,128570,128571,128587,128588,128664,128665,128772,128773,128987,128988,129008,129009,129025,129026,129182,129183,129532,129533,129558,129559,129569,129570,129582,129583,129593,129594,129650,129651,129663,129664,129674,129675,129762,129763,129779,129780,129791,129792,129804,129805,129903,129904,130693,130694,130704,130705,130706,130707,130752,130753,130807,130808,130809,130810,130815,130816,130819,130820,130830,130831,130840,130841,130855,130856,130859,130860,130890,130891,130894,130895,130898,130899,130922,130923,130977,130978,130982,130983,130988,130989,130992,130993,130995,130996,130998,130999,131000,131001,131028,131029,131031,131032,131034,131035,131036,131037,131038,131039,131041,131042,131054,131055,131057,131058,131059,131060,131061,131062,131064,131065,131068,131069,131070,131072,131073,131566,131717,131718,132023,132024,132111,132112,132775,132776,132786,132787,132800,132801,132816,132817,132845,132846,132856,132857,132894,132895,133167,133168,133241,133242,133315,133316,133359,133360,133361,133362,133365,133366,133367,133368,133369,133370,133371,133372,133373,133374,133376,133377,133383,133384,133389,133390,133465,133466,133469,133470,133475,133476,133477,133478,133479,133480,133481,133482,133483,133484,133485,133486,133492,133493,133494,133495,133516,133517,133540,133541,133542,133543,133554,133555,133598,133599,133650,133651,133970,133971,134078,134079,134080,134081,134089,134090,134095,134096,134108,134109,134123,134124,134167,134168,134181,134182,134227,134228,134239,134240,134347,134348,134664,134665,134763,134764,134801,134802,134831,134832,134851,134852,134860,134861,135045,135046,135188,135189,135199,135200,135217,135218,135227,135228,135362,135363,135369,135370,135399,135400,135430,135431,135620,135621,135627,135628,135634,135635,135640,135641,135645,135646,135659,135660,135668,135669,135673,135674,135704,135705,135722,135723,135753,135754,135808,135809,135826,135827,135857,135858,135877,135878,135886,135887,135894,135895,135918,135919,135968,135969,135980,135981,135985,135986,135990,135991,136796,136797,136801,136802,136806,136807,136823,136824,136828,136829,136835,136836,136840,136841,136846,136847,136852,136853,136857,136858,136863,136864,136869,136870,136874,136875,136879,136880,136885,136886,136891,136892,136897,136898,136903,136904,136908,136909,136914,136915,136920,136921,136925,136926,136931,136932,136937,136938,136942,136943,136948,136949,136954,136955,136959,136960,136965,136966,136971,136972,136976,136977,136982,136983,136988,136989,136993,136994,136999,137000,137005,137006,137010,137011,137016,137017,137022,137023,137027,137028,137033,137034,137039,137040,137044,137045,137050,137051,137056,137057,137061,137062,137067,137068,137073,137074,137078,137079,137084,137085,137090,137091,137098,137099,137106,137107,137120,137121,137126,137127,137149,137150,137179,137180,137222,137223,137259,137260,137266,137267,137325,137326,137330,137331,137349,137350,137354,137355,137528,137529,137698,137699,137705,137706,137720,137721,137730,137731,137740,137741,137750,137751,137760,137761,137770,137771,137780,137781,137790,137791,137800,137801,137810,137811,137825,137826,137835,137836,137845,137846,137860,137861,137870,137871,137880,137881,137890,137891,137900,137901,137910,137911,137920,137921,137930,137931,137940,137941,137950,137951,137965,137966,137975,137976,137985,137986,137995,137996,138005,138006,138020,138021,138030,138031,138040,138041,138050,138051,138065,138066,138075,138076,138085,138086,138095,138096,138110,138111,138120,138121,138130,138131,138140,138141,138150,138151,138165,138166,138175,138176,138185,138186,138195,138196,138205,138206,138215,138216,138224,138225,138239,138240,138249,138250,138259,138260,138269,138270,138279,138280,138289,138290,138299,138300,138309,138310,138319,138320,138334,138335,138344,138345,138354,138355,138364,138365,138374,138375,138384,138385,138394,138395,138404,138405,138414,138415,138424,138425,138434,138435,138449,138450,138459,138460,138469,138470,138479,138480,138489,138490,138499,138500,138514,138515,138524,138525,138534,138535,138544,138545,138554,138555,138564,138565,138574,138575,138584,138585,138599,138600,138609,138610,138619,138620,138629,138630,138644,138645,138659,138660,138669,138670,138679,138680,138689,138690,138699,138700,138709,138710,138719,138720,138734,138735,138744,138745,138754,138755,138764,138765,138779,138780,138789,138790,138799,138800,138809,138810,138824,138825,138834,138835,138844,138845,138854,138855,138869,138870,138879,138880,138889,138890,138899,138900,138909,138910,138919,138920,138934,138935,138944,138945,138954,138955,138964,138965,138974,138975,138989,138990,138999,139000,139009,139010,139019,139020,139029,139030,139039,139040,139054,139055,139064,139065,139074,139075,139084,139085,139094,139095,139104,139105,139119,139120,139129,139130,139139,139140,139149,139150,139159,139160,139169,139170,139179,139180,139189,139190,139199,139200,139209,139210,139224,139225,139234,139235,139244,139245,139254,139255,139264,139265,139274,139275,139284,139285,139294,139295,139304,139305,139314,139315,139329,139330,139339,139340,139349,139350,139359,139360,139369,139370,139379,139380,139389,139390,139399,139400,139409,139410,139419,139420,139434,139435,139444,139445,139454,139455,139464,139465,139474,139475,139484,139485,139494,139495,139504,139505,139514,139515,139529,139530,139539,139540,139549,139550,139559,139560,139569,139570,139579,139580,139589,139590,139599,139600,139609,139610,139619,139620,139629,139630,139639,139640,139649,139650,139664,139665,139674,139675,139684,139685,139694,139695,139704,139705,139714,139715,139724,139725,139734,139735,139744,139745,139759,139760,139769,139770,139779,139780,139789,139790,139799,139800,139809,139810,139819,139820,139834,139835,139844,139845,139854,139855,139864,139865,139874,139875,139884,139885,139894,139895,139904,139905,139914,139915,139924,139925,139934,139935,139944,139945,139959,139960,139969,139970,139979,139980,139989,139990,139999,140000,140009,140010,140019,140020,140029,140030,140039,140040,140049,140050,140064,140065,140074,140075,140084,140085,140094,140095,140109,140110,140119,140120,140129,140130,140139,140140,140149,140150,140159,140160,140169,140170,140179,140180,140189,140190,140199,140200,140214,140215,140224,140225,140234,140235,140244,140245,140254,140255,140264,140265,140274,140275,140284,140285,140299,140300,140309,140310,140319,140320,140329,140330,140339,140340,140349,140350,140364,140365,140374,140375,140384,140385,140394,140395,140404,140405,140414,140415,140424,140425,140434,140435,140444,140445,140459,140460,140469,140470,140479,140480,140489,140490,140600,140601,140664,140665,140669,140670,140676,140677,140690,140691,140697,140698,140756,140757,140778,140779,140792,140793,140825,140826,140919,140920,140934,140935,140944,140945,140989,140990,141022,141023,141033,141034,141040,141041,141046,141047,141160,141161,141180,141181,141186,141187,141863,141864,141883,141884,141896,141897,141910,141911,141974,141975,141980,141981,141987,141988,141994,141995,142002,142003,142072,142073,142081,142082,142089,142090,142109,142110,142131,142132,142401,142402,147224,147225,147254,147255,147262,147263,147377,147378,147400,147401,147451,147452,147481,147482,147506,147507,147520,147521,147526,147527,147540,147541,147545,147546,147581,147582,147588,147589,147595,147596,147604,147605,147614,147615,147623,147624,147680,147681,147699,147700,147731,147732,147737,147738,147749,147750,147805,147806,147818,147819,147987,147988,148002,148003,148078,148079,148137,148138,148159,148160,148204,148205,148219,148220,148224,148225,148230,148231,148236,148237,148242,148243,148248,148249,148254,148255,148262,148263,148565,148566,148570,148571,148598,148599,148612,148613,148617,148618,148624,148625,148634,148635,148666,148667,148672,148673,148679,148680,148687,148688,148695,148696,148700,148701,148705,148706,148712,148713,148719,148720,148726,148727,148732,148733,148738,148739,148744,148745,148750,148751,148756,148757,148761,148762,148767,148768,148773,148774,148779,148780,148785,148786,148792,148793,148798,148799,148804,148805,148809,148810,148816,148817,148823,148824,148830,148831,148840,148841,148850,148851,148858,148859,148864,148865,148878,148879,148888,148889,148894,148895,148902,148903,148908,148909,148914,148915,148920,148921,148927,148928,148932,148933,148938,148939,148944,148945,148949,148950,148955,148956,148961,148962,148966,148967,148971,148972,148977,148978,148982,148983,148990,148991,148997,148998,149002,149003,149008,149009,149151,149152,149164,149165,149193,149194,149215,149216,149254,149255,149396,149397,149430,149431,149437,149438,149573,149574,149592,149593,149629,149630,149639,149640,149661,149662,149911,149912,149953,149954,149966,149967,149974,149975,149981,149982,149987,149988,149996,149997,150003,150004,150035,150036,150053,150054,150068,150069,150077,150078,150084,150085,150091,150092,150110,150111,150142,150143,150167,150168,150216,150217,150228,150229,150235,150236,150250,150251,150253,150254,150261,150262,150271,150272,150278,150279,150304,150305,150324,150325,150342,150343,150372,150373,150377,150378,150382,150383,150387,150388,150401,150402,150404,150405,152870,152871,152873,152874,152878,152879,152884,152885,152891,152892,152947,152948,152950,152951,153362,153363,154582,154583,154590,154591,154769,154770,154774,154775,154782,154783,154826,154827,154848,154849,154853,154854,154858,154859,154868,154869,154874,154875,154880,154881,154889,154890,154924,154925,154929,154930,154940,154941,154948,154949,154953,154954,154959,154960,155140,155141,155177,155178,155185,155186,155204,155205,155231,155232,155260,155261,155268,155269,155274,155275,155286,155287,155307,155308,155314,155315,155343,155344,155383,155384,155391,155392,155403,155404,155469,155470,155488,155489,155522,155523,155527,155528,155536,155537,155542,155543,155552,155553,155558,155559,155588,155589,155728,155729,155739,155740,155744,155745,155750,155751,155770,155771,155772,155773,155784,155785,155793,155794,155805,155806,155813,155814,155820,155821,155827,155828,155839,155840,155846,155847,155854,155855,155862,155863,155869,155870,155874,155875,155881,155882,155886,155887,155894,155895,155901,155902,155913,155914,155918,155919,155927,155928,155935,155936,155942,155943,155949,155950,155957,155958,155965,155966,155971,155972,155978,155979,155985,155986,155987,155988,156025,156026,156063,156064,156103,156104,156106,156107,156108,156109,156110,156111,156123,156124,156125,156126,156127,156128,156149,156150,156161,156162,156163,156164,156165,156166,156290,156291,156292,156293,156299,156300,156301,156302,156303,156304,156305,156306,156307,156308,156309,156310,156318,156319,156324,156325,156331,156332,156338,156339,156351,156352,156358,156359,156379,156380,156391,156392,156393,156394,156444,156445,156451,156452,156457,156458,156512,156513,156518,156519,156524,156525,156531,156532,156537,156538,156712,156713,156720,156721,156726,156727,156732,156733,156739,156740,156749,156750,156804,156805,156817,156818,156847,156848,156853,156854,156860,156861,156866,156867,156874,156875,156880,156881,156886,156887,156892,156893,156969,156970,156988,156989,157064,157065,157070,157071,157077,157078,157283,163840,163842,163921,163922,164415,172778,172779,178339,178340,179118,179119,179333,179334,179350,179351,179368,179369,179482,179483,179484,179485,179486,179487,179502,179503,179504,179505,179506,179507,179532,179533,179534,179535,179543,179544,179549,179550,179598,179599,179608,179609,179615,179616,179640,179641,180048,180049,180145,180146,180152,180153,180162,180163,180169,180170,180178,180179,180219,180220,180224,180225,180231,180232,180237,180238,180242,180243,180247,180248,180252,180253,180259,180260,180280,180281,180285,180286,180312,180313,180318,180319,180374,180375,180384,180385,180402,180403,180420,180421,183330,183331,183357,183358,183364,183365,183378,183379,183394,183395,183402,183403,183418,183419,183434,183435,183456,183457,183491,183492,183546,183547,183596,183597,183602,183603,183608,183609,183614,183615,183626,183627,183743,183744,183783,183784,183842,183843,183904,183905,184197,184198,184526,184527,184533,184534,184555,184556,184802,184803,184844,184845,184896,184897,184903,184904,184910,184911,185598,185599,185626,185627,187065,187066,187074,187075,187083,187084,187165,187166,187189,187190,187207,187208,187348,187349,187366,187367,187401,187402,187408,187409,187415,187416,187424,187425,187440,187441,187466,187467,187478,187479,187591,187592,187647,187648,187654,187655,187745,187746,187941,187942,187977,187978,187987,187988,188129,188130,188317,188318,188324,188325,188363,188364,188387,188388,188448,188449,188459,188460,188634,188635,188641,188642,188847,188848,188935,188936,189028,189029,189329,189330,189417,189418,189533,189534,189544,189545,189550,189551,189723,189724,189794,189795,189820,189821,189856,189857,189861,189862,189869,189870,189874,189875,190013,190014,190041,190042,190051,190052,190056,190057,190062,190063,190068,190069,190073,190074,190079,190080,190086,190087,190092,190093,190098,190099,190104,190105,190109,190110,190115,190116,190121,190122,190126,190127,190131,190132,190136,190137,190142,190143,190148,190149,190154,190155,190159,190160,190164,190165,190169,190170,190184,190185,190191,190192,190251,190252,190294,190295,190318,190319,190330,190331,190336,190337,190345,190346,190352,190353,190362,190363,190369,190370,190416,190417,190435,190436,190441,190442,190449,190450,190485,190486,190491,190492,190502,190503,190614,190615,190622,190623,190630,190631,190642,190643,190742,190743,190747,190748,190756,190757,190844,190845,190852,190853,190978,190979,191370,191371,191647,191648,191656,191657,191674,191675,191709,191710,191776,191777,191791,191792,191806,191807,191849,191850,191878,191879,192111,192112,192117,192118,192122,192123,192183,192184,192218,192219,192232,192233,192238,192239,192262,192263,192292,192293,192305,192306,192313,192314,192349,192350,192366,192367,192372,192373,192385,192386,192410,192411,192444,192445,192454,192455,192655,192656,192740,192741,192748,192749,192765,192766,192773,192774,192782,192783,192802,192803,192950,192951,192962,192963,192970,192971,192975,192976,193001,193002,193017,193018,193044,193045,193064,193065,193072,193073,193097,193098,193117,193118,193133,193134,193158,193159,193164,193165,193173,193174,193183,193184,193194,193195,193200,193201,193212,193213,193220,193221,193229,193230,193234,193235,193255,193256,193262,193263,193308,193309,193322,193323,193379,193380,193397,193398,194607,194608,194612,194613,194619,194620,194677,194678,194699,194700,194709,194710,195877,195878,195888,195889,195925,195926,195963,195964,195968,195969,195976,195977,195982,195983,196154,196155,196183,196184,196192,196193,196204,196205,196209,196210,196221,196222,196227,196228,196241,196242,196254,196255,196270,196271,196275,196276,196292,196293,196304,196305,196310,196311,196323,196324,196345,196346,196351,196352,196358,196359,196373,196374,196406,196407,196425,196426,196452,196453,196458,196459,196463,196464,196470,196471,196498,196499,196504,196505,196591,196592,196603,196604,196605,196608,196609,229376,229378,229457,229458,229951,230895,230896,230912,230913,230930,230931,230939,230940,230947,230948,231072,231073,231112,231113,231480,231481,231497,231498,231507,231508,231512,231513,231548,231549,231553,231554,231594,231595,231646,231647,231723,231724,231807,231808,231839,231840,231860,231861,231896,231897,231983,231984,232091,232092,232100,232101,232136,232137,232144,232145,232154,232155,232276,232277,232298,232299,232331,232332,232362,232363,232404,232405,232414,232415,232422,232423,232431,232432,232532,232533,232656,232657,232706,232707,232713,232714,232719,232720,232726,232727,232805,232806,232810,232811,232816,232817,232821,232822,232831,232832,232840,232841,232848,232849,232855,232856,232868,232869,232881,232882,232888,232889,232948,232949,232972,232973,232995,232996,233002,233003,233028,233029,233208,233209,233240,233241,233264,233265,233466,233467,233472,233473,233478,233479,233528,233529,233593,233594,233642,233643,233657,233658,233664,233665,233856,233857,233881,233882,233885,233886,233893,233894,233898,233899,233905,233906,233908,233909,233912,233913,233915,233916,233918,233919,233921,233922,233925,233926,233929,233930,233932,233933,233938,233939,233957,233958,233976,233977,233981,233982,233985,233986,233990,233991,234002,234003,234009,234010,234023,234024,234034,234035,234036,234037,234044,234045,234048,234049,234053,234054,234058,234059,234062,234063,234066,234067,234071,234072,234076,234077,234080,234081,234085,234086,234089,234090,234094,234095,234099,234100,234112,234113,234117,234118,234119,234120,235150,235151,235156,235157,235165,235166,235171,235172,235174,235175,235176,235177,235184,235185,235203,235204,235209,235210,235214,235215,235220,235221,235232,235233,235239,235240,235245,235246,235256,235257,235262,235263,235264,235265,235266,235267,235268,235269,235273,235274,235276,235277,235283,235284,235287,235288,235295,235296,235299,235300,235329,235330,235343,235344,235368,235369,235405,235406,235432,235433,235477,235478,235502,235503,235514,235515,235543,235544,235570,235571,235583,235584,235585,235586,235589,235590,235592,235593,235595,235596,235599,235600,235603,235604,235611,235612,235614,235615,235619,235620,235629,235630,235634,235635,235640,235641,235645,235646,235651,235652,235655,235656,235660,235661,235665,235666,235673,235674,235679,235680,235683,235684,235689,235690,235694,235695,235698,235699,235704,235705,235709,235710,235714,235715,235718,235719,235725,235726,235729,235730,235735,235736,235742,235743,235746,235747,235757,235758,235760,235761,235766,235767,235771,235772,235787,235788,235791,235792,235796,235797,235802,235803,235808,235809,235814,235815,235820,235821,235825,235826,235828,235829,235835,235836,235842,235843,235849,235850,235854,235855,235862,235863,235869,235870,235873,235874,235880,235881,235887,235888,235895,235896,235899,235900,235910,235911,235914,235915,235926,235927,235930,235931,235935,235936,235941,235942,235947,235948,235954,235955,235963,235964,235969,235970,235977,235978,235982,235983,235985,235986,235990,235991,235996,235997,236002,236003,236010,236011,236018,236019,236022,236023,236031,236032,236033,236034,236041,236042,236049,236050,236056,236057,236113,236114,236136,236137,236144,236145,236154,236155,236162,236163,236171,236172,236184,236185,236196,236197,236207,236208,236220,236221,236229,236230,236238,236239,236249,236250,236260,236261,236269,236270,236278,236279,236283,236284,236291,236292,236302,236303,236313,236314,236324,236325,236376,236377,236385,236386,236394,236395,236410,236411,236415,236416,236429,236430,236438,236439,236482,236483,236496,236497,236513,236514,236523,236524,236532,236533,236561,236562,236574,236575,236585,236586,236599,236600,236610,236611,236622,236623,236637,236638,236649,236650,236667,236668,236674,236675,236679,236680,236721,236722,236732,236733,236742,236743,236754,236755,236765,236766,236773,236774,236783,236784,236795,236796,236807,236808,236812,236813,236822,236823,236832,236833,236843,236844,236851,236852,236860,236861,236875,236876,236904,236905,236915,236916,236938,236939,236997,236998,237012,237013,237018,237019,237063,237064,237077,237078,237093,237094,237109,237110,237116,237117,237130,237131,237142,237143,237155,237156,237164,237165,237176,237177,237187,237188,237215,237216,237294,237295,237306,237307,237317,237318,237329,237330,237338,237339,237361,237362,237369,237370,237380,237381,237390,237391,237409,237410,237453,237454,237463,237464,237476,237477,237484,237485,237521,237522,237568,237569,237577,237578,237583,237584,237592,237593,237613,237614,237620,237621,237622,237623,237625,237626,237628,237629,237631,237632,237635,237636,237638,237639,237641,237642,237644,237645,237648,237649,237653,237654,237656,237657,237660,237661,237663,237664,237666,237667,237669,237670,237673,237674,237676,237677,237680,237681,237682,237683,237684,237685,237747,237748,237749,237750,237751,237752,237762,237763,237764,237765,237806,237807,237808,237809,237810,237811,238030,238031,238032,238033,238066,238067,238068,238069,238070,238071,238306,238307,238308,238309,238317,238318,238319,238320,238321,238322,238335,238336,238337,238338,238370,238371,238372,238373,238374,238375,238382,238383,238384,238385,238993,238994,238995,238996,238997,238998,239082,239083,239084,239085,239151,239152,239153,239154,239155,239156,239250,239251,239252,239253,241208,241209,241210,241211,241212,241213,242738,242739,242740,242741,242888,242889,242890,242891,242892,242893,243583,243584,243585,243586,243593,243594,243595,243596,243597,243598,243599,243600,243601,243602,243614,243615,243616,243617,246205,246206,246207,246208,246209,246210,248574,248575,248576,248577,249060,249061,249062,249063,249064,249065,249960,249961,249962,249963,250120,250121,250122,250123,250124,250125,250401,250402,250403,250404,251387,251388,251389,251390,251391,251392,251978,251979,251980,251981,251987,251988,251989,251990,251991,251992,252002,252003,252004,252005,252018,252019,252020,252021,252022,252023,252057,252058,252059,252060,252066,252067,252068,252069,252070,252071,252082,252083,252084,252085,252145,252146,252147,252148,252149,252150,252156,252157,252158,252159,252393,252394,252395,252396,252397,252398,252555,252556,252557,252558,252605,252606,252607,252608,252609,252610,252743,252744,252745,252746,254425,254426,254427,254428,254429,254430,255737,255738,255739,255740,255750,255751,255752,255753,255754,255755,255806,255807,255808,255809,255845,255846,255847,255848,255849,255850,255851,255852,255853,255854,255910,255911,255912,255913,255918,255919,255920,255921,255922,255923,255946,255947,255948,255949,257363,257364,257365,257366,257367,257368,258417,258418,258419,258420,258423,258424,258425,258426,258427,258428,258441,258442,258443,258444,258450,258451,258452,258453,258454,258455,258471,258472,258473,258474,258486,258487,258488,258489,258490,258491,258571,258572,258573,258574,258575,258576,258577,258578,260976,260977,260978,260979,261022,261023,261024,261025,261026,261027,261144,261145,261146,261147,261150,261151,261152,261153,261154,261155,261166,261167,261168,261169,261230,261231,261232,261233,261234,261235,261324,261325,261326,261327,261460,261461,261462,261463,261464,261465,261711,261712,261713,261714,261725,261726,261727,261728,261729,261730,261773,261774,261775,261776,261777,261778,261779,261780,261781,261782,261783,261784,261785,261786,261787,261788,261789,261790,261791,261792,261793,261794,261795,261796,261797,261798,261799,261800,261809,261810,261811,261812,261813,261814,261823,261824,261825,261826,261883,261884,261885,261886,261887,261888,262063,262064,262065,262066,262067,262068,262069,262070,262071,262072,262096,262097,262098,262099,262100,262101,262111,262112,262113,262114,262115,262116,262117,262118,262119,262120,262121,262122,262123,262124,262131,262132,262133,262134,262135,262136,262137,262138,262139,262140,262141,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305533,305534,305535,305536,305556,305557,305578,305579,305580,305581,305598,305599,305606,305607,305608,305609,305636,305637,305665,305666,305667,305668,305719,305720,305753,305754,305755,305756,305772,305773,305782,305783,305784,305785,305795,305796,305899,305900,305901,305902,305933,305934,306479,306480,306481,306482,308207,308208,308223,308224,308225,308226,308241,308242,308308,308309,308310,308311,308324,308325,308335,308336,308337,308338,308360,308361,308464,308465,308466,308467,308514,308515,308521,308522,308523,308524,308532,308533,308542,308543,308544,308545,308567,308568,308578,308579,308580,308581,308591,308592,308624,308625,308626,308627,308653,308654,313384,313385,313386,313387,313388,313389,313390,313391,314050,314051,314415,314416,314417,314418,314419,314420,314438,314439,314440,314441,314468,314469,314470,314471,314472,314473,314553,314554,314555,314556,314557,314558,314559,314560,314567,314568,314569,314570,314571,314572") && block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat"), ui_print("system recovered successfully."), abort("E1004: system partition fails to recover"));
endif;

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

ui_print("Patching system image after verification.");
show_progress(0.900000, 0);
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
  abort("E1001: Failed to update system image.");
ui_print("Patching boot image...");
show_progress(0.100000, 10);
apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:16276776:0ef94de2dfc69d7e87f860116cb89822def51b88:16276776:3c7ce408cae496462f166241c08eeeaf7082db59",
            "-", 3c7ce408cae496462f166241c08eeeaf7082db59, 16276776,
            0ef94de2dfc69d7e87f860116cb89822def51b88,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16276776:0ef94de2dfc69d7e87f860116cb89822def51b88:16276776:3c7ce408cae496462f166241c08eeeaf7082db59");

# ---- radio update tasks ----

ui_print("Patching firmware images...");
set_progress(1.000000);
