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/013/t470p06031941:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/013/t470p06031941:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/013/t470p06031941:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16209192:caab46fe612d1335b512e5c89f4043f90962240f:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16209192:caab46fe612d1335b512e5c89f4043f90962240f:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed\" has unexpected contents.");
apply_patch_space(39481344) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "6594,1,80,81,307,3164,3165,3166,3167,3168,3169,3170,3171,3180,3181,3288,3289,3290,3291,3384,3385,3393,3394,3395,3396,3397,3398,3399,3400,3417,3418,3437,3438,3439,3440,3450,3451,3505,3506,3507,3508,3520,3521,3525,3526,3527,3528,3538,3539,3553,3554,3555,3556,3592,3593,3602,3603,3604,3605,3648,3649,3675,3676,3677,3678,3730,3731,3740,3741,3742,3743,3781,3782,3794,3795,3796,3797,3798,3799,3878,3879,3880,3881,4114,4115,4116,4736,4737,4738,4739,4741,4742,4743,4744,4745,4746,4753,4754,4755,4756,4762,4763,4764,4765,4766,4767,4793,4794,4795,4796,4859,4860,4861,4862,4863,4864,4930,4931,4932,4933,4939,4940,4941,4942,4943,4944,4971,4972,4973,4974,4978,4979,4980,4981,4982,4983,5002,5003,5004,5005,5007,5008,5009,5010,5011,5012,5018,5019,5020,5021,5025,5026,5027,5028,5029,5030,5046,5047,5048,5049,5052,5053,5054,5055,5056,5057,5067,5068,5069,5070,5073,5074,5075,5076,5077,5078,5091,5092,5093,5094,5098,5099,5100,5101,5102,5103,5114,5115,5116,5117,5118,5119,5120,5121,5185,5186,5197,5198,5199,5200,5201,5202,5203,5204,5211,5212,5214,5215,5216,5217,5219,5220,5221,5222,5223,5224,5225,5226,5273,5274,5283,5284,5285,5286,5287,5288,5289,5290,5342,5343,5353,5354,5355,5356,5357,5358,5359,5360,6105,6106,17308,17309,17311,17312,17323,17324,17335,17336,17340,17341,17345,17346,17353,17354,17359,17360,17364,17365,17366,17367,17373,17374,17411,17412,17413,17414,17415,17416,17422,17423,17432,17433,17442,17443,17450,17451,17457,17458,17469,17470,17476,17477,17482,17483,17484,17485,17494,17495,17504,17505,17511,17512,17517,17518,17519,17520,17524,17525,17530,17531,17535,17536,17548,17549,17556,17557,17563,17564,17572,17573,17620,17621,17626,17627,17628,17629,17634,17635,17716,17717,17722,17723,17735,17736,17742,17743,17748,17749,17782,17783,17802,17803,17807,17808,17813,17814,17821,17822,17826,17827,17834,17835,17841,17842,17849,17850,17855,17856,17866,17867,17890,17891,17925,17926,17927,17928,17936,17937,17979,17980,17987,17988,17997,17998,18038,18039,18043,18044,18053,18054,18060,18061,18066,18067,18074,18075,18090,18091,18100,18101,18122,18123,18133,18134,18146,18147,18157,18158,18304,18305,18318,18319,18327,18328,18333,18334,18369,18370,18381,18382,18416,18417,18529,18530,18541,18542,18551,18552,18553,18554,18583,18584,18589,18590,18627,18628,18656,18657,18658,18659,18660,18661,18688,18689,18701,18702,18757,18758,18821,18822,18883,18884,18889,18890,18931,18932,18987,18988,18989,18990,18995,18996,19001,19002,19007,19008,19030,19031,19036,19037,19045,19046,19053,19054,19183,19184,19339,19340,19346,19347,19364,19365,19374,19375,19393,19394,19396,19397,19405,19406,19503,19504,19530,19531,19536,19537,19545,19546,19586,19587,19593,19594,19729,19730,19731,19732,19737,19738,19745,19746,19751,19752,19757,19758,19765,19766,19775,19776,19785,19786,19790,19791,19818,19819,19845,19846,19864,19865,19871,19872,19878,19879,19886,19887,19896,19897,19956,19957,19991,19992,20000,20001,20006,20007,20015,20016,20017,20018,20037,20038,20045,20046,20050,20051,20056,20057,20105,20106,20413,20414,20418,20419,20457,20458,20466,20467,20475,20476,20481,20482,20486,20487,20491,20492,20496,20497,20502,20503,20521,20522,20533,20534,20545,20546,20551,20552,20553,20554,20564,20565,20573,20574,20583,20584,20594,20595,20640,20641,20650,20651,20660,20661,20670,20671,20672,20673,20677,20678,20683,20684,20689,20690,20695,20696,20701,20702,20707,20708,20713,20714,20719,20720,20725,20726,20732,20733,20739,20740,20746,20747,20753,20754,20759,20760,20765,20766,20793,20794,20823,20824,20832,20833,20838,20839,20843,20844,20889,20890,20894,20895,20907,20908,20912,20913,20914,20915,20928,20929,20935,20936,20941,20942,20949,20950,20957,20958,20963,20964,20969,20970,20975,20976,21002,21003,21011,21012,21018,21019,21023,21024,21030,21031,21037,21038,21039,21040,21044,21045,21076,21077,21123,21124,21125,21126,21134,21135,21150,21151,21156,21157,21162,21163,21170,21171,21176,21177,21179,21180,21184,21185,21208,21209,21210,21211,21216,21217,21235,21236,21244,21245,21250,21251,21256,21257,21262,21263,21268,21269,21291,21292,21362,21363,21368,21369,21374,21375,21381,21382,21388,21389,21391,21392,21408,21409,21414,21415,21421,21422,21527,21528,21552,21553,21559,21560,21566,21567,21571,21572,21573,21574,21596,21597,21910,21911,22079,22080,22097,22098,22101,22102,22103,22104,22166,22167,22168,22169,22170,22171,22172,22173,22189,22190,22194,22195,22196,22197,22251,22252,22253,22254,22275,22276,22337,22338,22339,22340,22350,22351,22355,22356,22358,22359,22408,22409,22410,22411,22430,22431,22479,22480,22482,22483,22484,22485,22501,22502,22506,22507,22508,22509,22566,22567,22568,22569,22593,22594,22656,22657,22658,22659,22675,22676,22680,22681,22682,22683,22738,22739,22740,22741,22765,22766,22828,22829,22830,22831,22847,22848,22852,22853,22854,22855,22917,22918,22919,22920,22944,22945,23008,23009,23169,23170,23171,23172,23174,23175,23176,23177,23179,23180,23185,23186,23189,23190,23191,23192,23193,23194,23195,23196,23204,23205,23207,23208,23450,23451,23452,23453,23454,23455,23456,23457,23462,23463,23464,23465,23466,23467,23470,23471,23474,23475,23478,23479,23482,23483,23484,23485,23488,23489,23492,23493,23496,23497,23500,23501,23504,23505,23506,23507,23510,23511,23514,23515,23518,23519,23522,23523,23526,23527,23530,23531,23614,23615,23616,23617,23624,23625,23644,23645,23651,23652,23653,23654,23655,23656,23657,23658,23659,23660,23661,23662,23663,23664,23669,23670,23671,23672,23673,23674,23677,23678,23681,23682,23683,23684,23687,23688,23689,23690,23693,23694,23696,23697,23700,23701,23705,23706,23710,23711,23715,23716,23720,23721,23722,23723,23726,23727,23728,23729,23730,23731,23732,23733,23734,23735,23736,23737,23758,23759,23764,23765,23779,23780,23797,23798,23802,23803,23804,23805,23807,23808,23965,23966,23968,23969,23970,23971,24133,24134,24136,24137,24138,24139,24140,24141,24144,24145,24146,24147,24151,24152,24153,24154,24157,24158,24159,24160,24161,24162,24163,24164,24165,24166,24167,24168,24179,24180,24181,24182,24183,24184,24185,24186,24188,24189,24190,24191,24192,24193,24194,24195,24196,24197,24198,24199,24200,24201,24202,24203,24204,24205,24206,24207,24208,24209,24210,24211,24212,24213,24214,24215,24216,24217,24218,24219,24220,24221,24222,24223,24224,24225,24226,24227,24228,24229,24230,24231,24232,24233,24234,24235,24236,24237,24238,24239,24240,24241,24242,24243,24244,24245,24247,24248,24251,24252,24253,24254,24255,24256,24257,24258,24259,24260,24261,24262,24283,24284,24285,24286,24287,24288,24290,24291,24296,24297,24298,24299,24300,24301,24303,24304,24305,24306,24307,24308,24311,24312,24314,24315,24316,24317,24319,24320,24322,24323,24325,24326,24332,24333,24341,24342,24350,24351,24358,24359,24366,24367,24375,24376,24384,24385,24393,24394,24402,24403,24421,24422,24423,24424,24425,24426,24427,24428,24429,24430,25536,25537,25538,25539,25540,25541,25542,25543,25544,25545,25546,25547,25548,25549,25550,25551,25552,25553,25554,25555,25556,25557,25558,25559,25560,25561,25562,25563,25564,25565,25566,25567,25568,25569,25570,25571,25572,25573,25574,25575,25576,25577,25578,25579,25580,25581,25582,25583,25584,25585,25586,25587,25588,25589,25590,25591,25592,25593,25594,25595,25596,25597,25598,25599,25600,25601,25602,25603,25604,25605,25606,25607,25608,25609,25610,25611,25612,25613,25614,25615,25616,25617,25618,25619,25620,25621,25622,25623,25624,25625,25626,25627,25628,25629,25630,25631,25632,25633,25634,25635,25647,25648,25649,25650,25651,25652,25653,25654,25655,25656,25657,25658,25815,25816,25817,25818,25819,25820,25821,25822,25823,25824,25827,25828,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25856,25857,25858,25859,25860,25861,25862,25863,25864,25865,25866,25867,25868,25869,25870,25871,25872,25873,25874,25875,25876,25877,25878,25879,25880,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25893,25894,25895,25896,25897,25898,25899,25900,25901,25902,25903,25904,25905,25906,25907,25908,25909,25910,25911,25912,25913,25914,25916,25917,25918,25919,25920,25921,25922,25923,25926,25927,25928,25929,25930,25931,25932,25933,25934,25935,25936,25937,25938,25939,25940,25941,25942,25943,25944,25945,25946,25947,25948,25949,25950,25951,25952,25953,25954,25955,25959,25960,25961,25962,25963,25964,25965,25966,25967,25968,26425,26426,26427,26428,26430,26431,26432,26433,26434,26435,26437,26438,26440,26441,26443,26444,26446,26447,26448,26449,26451,26452,26454,26455,26457,26458,26459,26460,26462,26463,26465,26466,26468,26469,26471,26472,26474,26475,26477,26478,26480,26481,26483,26484,26486,26487,26489,26490,26492,26493,26495,26496,26499,26500,26502,26503,26505,26506,26508,26509,26511,26512,26514,26515,26516,26517,26518,26519,26521,26522,26524,26525,26528,26529,26532,26533,26535,26536,26538,26539,26541,26542,26544,26545,26547,26548,26550,26551,26553,26554,26556,26557,26559,26560,26563,26564,26566,26567,26569,26570,26572,26573,26575,26576,26578,26579,26581,26582,26584,26585,26587,26588,26590,26591,26593,26594,26596,26597,26599,26600,26601,26602,26604,26605,26607,26608,26610,26611,26613,26614,26616,26617,26618,26619,26621,26622,26624,26625,26627,26628,26630,26631,26633,26634,26636,26637,26639,26640,26641,26642,26644,26645,26647,26648,26650,26651,26653,26654,26656,26657,26659,26660,26662,26663,26665,26666,26668,26669,26671,26672,26674,26675,26677,26678,26680,26681,26683,26684,26686,26687,26688,26689,26691,26692,26694,26695,26697,26698,26700,26701,26702,26703,26705,26706,26708,26709,26711,26712,26714,26715,26717,26718,26720,26721,26723,26724,26726,26727,26729,26730,26733,26734,26736,26737,26739,26740,26742,26743,26745,26746,26748,26749,26750,26751,26753,26754,26756,26757,26759,26760,26762,26763,26765,26766,26767,26768,26770,26771,26773,26774,26776,26777,26779,26780,26782,26783,26784,26785,26787,26788,26790,26791,26793,26794,26856,26857,26859,26860,26862,26863,26864,26865,26867,26868,26870,26871,26873,26874,26876,26877,26879,26880,26881,26882,26884,26885,26887,26888,26890,26891,26893,26894,26895,26896,26898,26899,26901,26902,26904,26905,26907,26908,26910,26911,26913,26914,26916,26917,26919,26920,26922,26923,26925,26926,26927,26928,26930,26931,26933,26934,26936,26937,26939,26940,26942,26943,26945,26946,26948,26949,26951,26952,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26969,26970,26972,26973,26974,26975,26976,26977,26979,26980,26982,26983,26985,26986,26988,26989,26991,26992,26994,26995,26997,26998,27000,27001,27002,27003,27004,27005,27006,27007,27008,27009,27011,27012,27020,27021,27029,27030,27038,27039,27047,27048,27056,27057,27058,27059,27060,27061,27062,27063,27064,27065,27066,27067,27068,27069,27070,27071,27075,27076,27077,27078,27080,27081,27091,27092,27107,27108,27125,27126,27155,27156,27185,27186,27260,27261,27333,27334,27384,27385,27425,27426,27453,27454,27482,27483,27515,27516,27569,27570,27589,27590,27645,27646,29091,29092,29121,29122,29151,29152,29181,29182,29211,29212,29216,29217,29221,29222,29230,29231,29264,29265,29269,29270,29272,29273,29275,29276,29288,29289,29295,29296,29302,29303,29312,29313,29319,29320,29356,29357,29392,29393,29398,29399,29404,29405,29409,29410,29412,29413,29418,29419,29424,29425,29435,29436,29438,29439,29448,29449,29458,29459,29468,29469,29479,29480,29488,29489,29497,29498,29506,29507,29515,29516,29541,29542,29545,29546,29548,29549,29563,29564,29578,29579,29593,29594,29608,29609,29613,29614,29618,29619,29647,29648,29653,29654,29658,29659,29661,29662,29664,29665,29670,29671,29709,29710,29750,29751,29754,29755,29759,29760,29831,29832,29836,29837,29849,29850,29852,29853,29856,29857,29869,29870,29874,29875,29879,29880,29884,29885,29890,29891,29897,29898,29903,29904,29910,29911,30003,30004,30103,30104,30108,30109,30125,30126,30157,30158,30219,30220,30285,30286,30347,30348,30409,30410,30485,30486,30567,30568,30643,30644,30725,30726,30807,30808,30884,30885,30967,30968,31043,31044,31125,31126,31201,31202,31277,31278,31358,31359,31433,31434,31515,31516,31597,31598,31673,31674,31756,31757,31832,31833,31834,31835,31837,31838,31846,31847,31848,31849,31855,31856,31863,31864,31872,31873,31893,31894,32030,32031,32032,32033,32034,32035,32060,32061,32428,32429,32465,32466,32488,32489,32666,32667,32670,32671,32686,32687,32734,32735,32747,32748,32750,32751,32758,32759,32763,32764,32766,32768,32770,32849,32850,33343,34949,34950,35057,35058,35272,35273,35429,35430,35779,35780,35805,35806,41360,41361,41373,41374,41384,41385,41441,41442,41454,41455,41465,41466,41553,41554,41570,41571,41582,41583,41595,41596,41694,41695,42484,42485,42495,42496,42541,42542,42596,42597,42602,42603,42606,42607,42617,42618,42627,42628,42642,42643,42646,42647,42677,42678,42681,42682,42685,42686,42709,42710,42764,42765,42769,42770,42775,42776,42779,42780,42782,42783,43560,43561,43563,43564,43591,43592,43594,43595,43597,43598,43599,43600,43601,43602,43816,43817,43819,43820,43832,43833,43835,43836,43837,43838,43839,43840,43856,43857,43874,43875,43988,43989,43991,43992,43995,43996,43997,43998,43999,44000,44001,44002,44017,44018,44019,44020,44021,44022,44047,44048,44049,44050,44058,44059,44064,44065,44113,44114,44123,44124,44130,44131,44155,44156,44563,44564,44660,44661,44667,44668,44677,44678,44684,44685,44693,44694,44734,44735,44739,44740,44746,44747,44752,44753,44757,44758,44762,44763,44767,44768,44774,44775,44795,44796,44800,44801,44827,44828,44833,44834,44889,44890,44899,44900,44917,44918,44935,44936,47845,47846,47872,47873,47879,47880,47893,47894,47909,47910,47917,47918,47933,47934,47949,47950,47971,47972,48006,48007,48061,48062,48111,48112,48117,48118,48123,48124,48129,48130,48141,48142,48258,48259,48298,48299,48357,48358,48419,48420,48712,48713,49041,49042,49048,49049,49070,49071,49317,49318,49359,49360,49411,49412,49418,49419,49425,49426,50113,50114,50141,50142,51580,51581,51589,51590,51598,51599,51680,51681,51704,51705,51722,51723,51863,51864,51881,51882,51916,51917,51923,51924,51930,51931,51939,51940,51955,51956,51981,51982,51993,51994,52106,52107,52162,52163,52169,52170,52260,52261,52456,52457,52492,52493,52502,52503,52644,52645,52832,52833,52839,52840,52878,52879,52902,52903,52963,52964,52974,52975,53149,53150,53156,53157,53362,53363,53450,53451,53543,53544,53844,53845,53932,53933,54048,54049,54059,54060,54065,54066,54238,54239,54309,54310,54335,54336,54371,54372,54376,54377,54384,54385,54389,54390,54528,54529,54556,54557,54566,54567,54571,54572,54577,54578,54583,54584,54588,54589,54594,54595,54601,54602,54607,54608,54613,54614,54619,54620,54624,54625,54630,54631,54636,54637,54641,54642,54646,54647,54651,54652,54657,54658,54663,54664,54669,54670,54674,54675,54679,54680,54684,54685,54699,54700,54706,54707,54766,54767,54809,54810,54833,54834,54845,54846,54851,54852,54860,54861,54867,54868,54877,54878,54884,54885,54931,54932,54950,54951,54956,54957,54964,54965,55000,55001,55006,55007,55017,55018,55129,55130,55137,55138,55145,55146,55157,55158,55257,55258,55262,55263,55271,55272,55359,55360,55367,55368,55493,55494,55885,55886,56162,56163,56171,56172,56189,56190,56224,56225,56291,56292,56306,56307,56321,56322,56364,56365,56393,56394,56626,56627,56632,56633,56637,56638,56698,56699,56733,56734,56747,56748,56753,56754,56777,56778,56807,56808,56820,56821,56828,56829,56864,56865,56881,56882,56887,56888,56900,56901,56925,56926,56959,56960,56969,56970,57170,57171,57255,57256,57263,57264,57280,57281,57288,57289,57297,57298,57317,57318,57465,57466,57477,57478,57485,57486,57490,57491,57516,57517,57532,57533,57559,57560,57579,57580,57587,57588,57612,57613,57632,57633,57648,57649,57673,57674,57679,57680,57688,57689,57698,57699,57709,57710,57715,57716,57727,57728,57735,57736,57744,57745,57749,57750,57770,57771,57777,57778,57823,57824,57837,57838,57894,57895,57912,57913,59122,59123,59127,59128,59134,59135,59192,59193,59214,59215,59224,59225,60392,60393,60403,60404,60440,60441,60478,60479,60483,60484,60491,60492,60497,60498,60669,60670,60698,60699,60707,60708,60719,60720,60724,60725,60736,60737,60742,60743,60756,60757,60769,60770,60785,60786,60790,60791,60807,60808,60819,60820,60825,60826,60838,60839,60860,60861,60866,60867,60873,60874,60888,60889,60921,60922,60940,60941,60967,60968,60973,60974,60978,60979,61923,61924,61930,61931,61958,61959,61964,61965,62051,62052,62063,62064,62080,62081,62098,62099,62107,62108,62115,62116,62240,62241,62280,62281,62648,62649,62665,62666,62675,62676,62680,62681,62716,62717,62721,62722,62762,62763,62814,62815,62891,62892,62975,62976,63007,63008,63028,63029,63064,63065,63151,63152,63259,63260,63268,63269,63304,63305,63312,63313,63322,63323,63444,63445,63466,63467,63499,63500,63530,63531,63572,63573,63582,63583,63590,63591,63599,63600,63700,63701,63824,63825,63874,63875,63881,63882,63887,63888,63894,63895,63973,63974,63978,63979,63984,63985,63989,63990,63999,64000,64008,64009,64016,64017,64023,64024,64036,64037,64049,64050,64056,64057,64116,64117,64140,64141,64163,64164,64170,64171,64196,64197,64376,64377,64408,64409,64432,64433,64634,64635,64640,64641,64646,64647,64696,64697,64761,64762,64810,64811,64825,64826,64832,64833,65024,65025,65049,65050,65051,65052,65055,65056,65076,65077,65093,65094,65112,65113,65127,65128,65131,65132,65135,65136,65138,65139,65142,65143,65146,65147,65150,65151,65155,65156,65158,65159,65161,65162,65165,65166,65169,65170,65172,65173,65190,65191,65209,65210,65241,65242,65259,65260,65276,65277,65293,65294,65297,65298,65300,65301,65312,65313,65319,65320,65333,65334,65344,65345,65359,65360,65379,65380,65396,65397,65413,65414,65430,65431,65434,65435,65441,65442,65447,65448,65451,65452,65455,65456,65459,65460,65463,65464,65468,65469,65473,65474,65477,65478,65482,65483,65486,65487,65491,65492,65496,65497,65509,65510,65514,65515,65527,65528,65529,65530,65533,65536,65537,66030,66219,98304,98306,98385,98386,103440,103859,103860,104005,104006,105779,105780,106116,106117,106759,106760,115665,115666,115737,115738,115754,115755,115972,115973,115999,116000,116262,116263,116294,116295,116302,116303,116439,116440,117639,117640,117642,117643,117653,117654,117661,117662,117727,117728,118023,118024,120131,120132,120135,120136,120266,120267,120268,120269,120270,120271,120273,120274,120275,120276,120280,120281,120283,120284,120285,120286,120288,120289,120301,120302,120308,120309,120315,120316,120321,120322,120354,120355,120390,120391,120394,120395,120398,120399,120795,120796,121243,121244,121245,121246,121249,121250,121252,121253,121256,121257,121761,121762,130124,130125,130126,130127,130140,130141,130143,130144,130146,130147,130149,130150,130158,130159,130161,130162,130175,130176,130177,130178,130179,130180,130239,130240,130248,130249,130290,130291,130333,130334,130384,130385,130491,130492,130500,130501,130518,130519,130529,130530,130538,130539,130547,130548,130567,130568,130578,130579,130586,130587,130598,130599,130636,130637,130667,130668,130683,130684,130693,130694,130714,130715,130724,130725,130735,130736,130784,130785,130797,130798,130881,130882,130888,130889,130921,130922,130938,130939,131015,131016,131036,131037,131053,131054,131064,131065,131066,131067,131068,131069,131070,131072,131073,131566,131596,163840,163842,163921,163922,164415,164432,164433,165463,165464,165470,165471,165489,165490,165493,165494,165497,165498,165510,165511,165515,165516,165521,165522,165526,165527,165530,165531,165534,165535,165543,165544,165562,165563,165577,165578,165581,165582,165587,165588,165593,165594,165601,165602,165605,165606,165613,165614,165620,165621,165622,165623,165630,165631,165649,165650,165655,165656,165660,165661,165666,165667,165678,165679,165685,165686,165691,165692,165702,165703,165708,165709,165710,165711,165712,165713,165714,165715,165719,165720,165722,165723,165729,165730,165733,165734,165741,165742,165745,165746,165775,165776,165789,165790,165814,165815,165851,165852,165878,165879,165923,165924,165948,165949,165960,165961,165989,165990,166016,166017,166029,166030,166031,166032,166035,166036,166038,166039,166041,166042,166045,166046,166049,166050,166057,166058,166060,166061,166065,166066,166075,166076,166080,166081,166086,166087,166091,166092,166097,166098,166101,166102,166106,166107,166111,166112,166119,166120,166125,166126,166129,166130,166135,166136,166140,166141,166144,166145,166150,166151,166155,166156,166160,166161,166164,166165,166171,166172,166175,166176,166181,166182,166188,166189,166192,166193,166203,166204,166206,166207,166212,166213,166217,166218,166233,166234,166237,166238,166242,166243,166248,166249,166254,166255,166260,166261,166266,166267,166271,166272,166274,166275,166281,166282,166288,166289,166295,166296,166300,166301,166308,166309,166315,166316,166319,166320,166326,166327,166333,166334,166341,166342,166345,166346,166356,166357,166360,166361,166372,166373,166376,166377,166381,166382,166387,166388,166393,166394,166400,166401,166409,166410,166415,166416,166423,166424,166428,166429,166431,166432,166436,166437,166442,166443,166448,166449,166456,166457,166464,166465,166468,166469,166477,166478,166479,166480,166487,166488,166495,166496,166502,166503,166559,166560,166582,166583,166590,166591,166600,166601,166608,166609,166617,166618,166630,166631,166642,166643,166653,166654,166666,166667,166675,166676,166684,166685,166695,166696,166706,166707,166715,166716,166724,166725,166729,166730,166737,166738,166748,166749,166759,166760,166770,166771,166822,166823,166831,166832,166840,166841,166856,166857,166861,166862,166875,166876,166884,166885,166928,166929,166942,166943,166959,166960,166969,166970,166978,166979,167007,167008,167020,167021,167031,167032,167045,167046,167056,167057,167068,167069,167083,167084,167095,167096,167113,167114,167120,167121,167125,167126,167167,167168,167178,167179,167188,167189,167200,167201,167211,167212,167219,167220,167229,167230,167241,167242,167253,167254,167258,167259,167268,167269,167278,167279,167289,167290,167297,167298,167306,167307,167321,167322,167350,167351,167361,167362,167384,167385,167443,167444,167458,167459,167464,167465,167509,167510,167523,167524,167539,167540,167555,167556,167562,167563,167576,167577,167588,167589,167601,167602,167610,167611,167622,167623,167633,167634,167661,167662,167740,167741,167752,167753,167763,167764,167775,167776,167784,167785,167807,167808,167815,167816,167826,167827,167836,167837,167855,167856,167899,167900,167909,167910,167922,167923,167930,167931,167967,167968,168014,168015,168023,168024,168029,168030,168038,168039,168059,168060,168066,168067,168068,168069,168071,168072,168074,168075,168077,168078,168081,168082,168084,168085,168087,168088,168090,168091,168094,168095,168099,168100,168102,168103,168106,168107,168109,168110,168112,168113,168115,168116,168119,168120,168122,168123,168126,168127,168128,168129,168130,168131,168193,168194,168195,168196,168197,168198,168208,168209,168210,168211,168252,168253,168254,168255,168256,168257,168476,168477,168478,168479,168512,168513,168514,168515,168516,168517,168752,168753,168754,168755,168763,168764,168765,168766,168767,168768,168781,168782,168783,168784,168816,168817,168818,168819,168820,168821,168828,168829,168830,168831,169439,169440,169441,169442,169443,169444,169528,169529,169530,169531,169597,169598,169599,169600,169601,169602,169696,169697,169698,169699,171654,171655,171656,171657,171658,171659,173184,173185,173186,173187,173334,173335,173336,173337,173338,173339,174029,174030,174031,174032,174039,174040,174041,174042,174043,174044,174045,174046,174047,174048,174060,174061,174062,174063,176651,176652,176653,176654,176655,176656,179020,179021,179022,179023,179506,179507,179508,179509,179510,179511,180406,180407,180408,180409,180566,180567,180568,180569,180570,180571,180847,180848,180849,180850,181833,181834,181835,181836,181837,181838,182424,182425,182426,182427,182433,182434,182435,182436,182437,182438,182448,182449,182450,182451,182464,182465,182466,182467,182468,182469,182503,182504,182505,182506,182512,182513,182514,182515,182516,182517,182528,182529,182530,182531,182591,182592,182593,182594,182595,182596,182602,182603,182604,182605,182839,182840,182841,182842,182843,182844,183001,183002,183003,183004,183051,183052,183053,183054,183055,183056,183189,183190,183191,183192,184871,184872,184873,184874,184875,184876,186183,186184,186185,186186,186196,186197,186198,186199,186200,186201,186252,186253,186254,186255,186291,186292,186293,186294,186295,186296,186297,186298,186299,186300,186356,186357,186358,186359,186364,186365,186366,186367,186368,186369,186392,186393,186394,186395,187809,187810,187811,187812,187813,187814,188863,188864,188865,188866,188869,188870,188871,188872,188873,188874,188887,188888,188889,188890,188896,188897,188898,188899,188900,188901,188917,188918,188919,188920,188932,188933,188934,188935,188936,188937,189017,189018,189019,189020,189021,189022,189023,189024,191422,191423,191424,191425,191468,191469,191470,191471,191472,191473,191590,191591,191592,191593,191596,191597,191598,191599,191600,191601,191612,191613,191614,191615,191676,191677,191678,191679,191680,191681,191770,191771,191772,191773,191906,191907,191908,191909,191910,191911,192157,192158,192159,192160,192171,192172,192173,192174,192175,192176,192219,192220,192221,192222,193279,193280,193281,193282,193283,193284,194196,194197,194198,194199,194200,194201,194202,194203,194204,194205,196265,196266,196267,196268,196269,196270,196271,196272,196273,196274,196275,196276,196277,196278,196287,196288,196289,196290,196291,196292,196301,196302,196303,196304,196361,196362,196363,196364,196365,196366,196541,196542,196543,196544,196545,196546,196547,196548,196549,196550,196574,196575,196576,196577,196578,196579,196589,196590,196591,196592,196593,196594,196595,196596,196597,196598,196599,196600,196601,196602,196603,196604,196605,196608,196609,197102,197132,229376,229378,229457,229458,229951,238877,238878,242442,242443,244973,244974,246071,246072,246909,246910,247442,247443,247523,247524,247630,247631,247778,247779,248647,248648,248682,248683,248690,248691,248692,248693,248725,248726,248780,248781,248816,248817,248818,248819,248820,248821,248822,248823,248824,248825,248826,248827,248828,248829,248830,248831,248832,248833,248834,248835,248836,248837,248838,248839,248840,248841,248842,248843,248844,248845,248846,248847,248848,248849,248850,248851,248852,248853,249009,249010,249118,249119,249262,249263,249364,249365,249555,249556,249715,249716,249779,249780,249928,249929,250133,250134,250228,250229,250383,250384,250446,250447,250448,250449,250450,250451,250452,250453,250454,250455,250456,250457,250458,250459,250468,250469,250470,250471,250473,250474,250475,250476,250503,250504,250505,250506,250532,250533,250534,250535,250562,250563,250564,250565,250577,250578,250579,250580,250588,250589,250590,250591,250595,250596,250597,250598,250604,250605,250606,250607,250608,250609,250610,250611,250613,250614,250615,250616,250625,250626,250627,250628,250629,250630,250631,250632,250633,250634,250635,250636,250637,250638,250639,250640,250718,250719,250720,250721,250722,250723,250724,250725,250726,250727,250728,250729,250730,250731,250732,250733,250735,250736,250737,250738,250739,250740,250741,250742,250778,250779,250780,250781,250817,250818,250819,250820,250821,250822,250823,250824,250825,250826,250827,250828,250829,250830,250832,250833,250835,250836,250837,250838,250839,250840,250841,250842,250843,250844,250845,250846,250847,250848,250849,250850,250851,250852,250853,250854,250855,250856,256277,256278,256279,256280,256281,256282,256283,256284,256285,256286,256287,256288,256292,256293,256296,256297,256301,256302,256306,256307,256311,256312,256313,256314,256315,256316,256319,256320,256321,256322,256323,256324,256325,256326,256327,256328,256329,256330,256331,256332,256333,256334,256335,256336,256337,256338,256339,256340,256341,256342,256343,256344,256345,256346,256347,256348,256349,256350,256351,256352,256353,256354,256355,256356,256357,256358,256359,256360,256361,256362,256363,256364,256365,256366,256367,256368,256369,256370,256371,256372,256373,256374,256375,256376,256377,256378,256379,256380,256381,256382,256383,256384,256385,256386,256387,256388,256389,256390,256391,256392,256393,256394,256395,256396,256400,256401,256406,256407,256408,256409,256532,256533,256534,256535,256536,256537,256538,256539,256540,256541,256542,256543,256544,256545,256547,256548,256549,256550,256552,256553,256554,256555,256557,256558,256559,256560,256562,256563,256564,256565,256567,256568,256569,256570,256572,256573,256574,256575,256577,256578,256579,256580,256581,256582,256583,256584,256585,256586,256587,256588,256594,256595,256596,256597,256598,256599,256605,256606,256607,256608,256689,256690,256691,256692,256693,256694,257080,257081,257082,257083,257085,257086,257087,257088,257089,257090,257096,257097,257098,257099,257104,257105,257106,257107,257108,257109,257126,257127,257128,257129,257159,257160,257161,257162,257163,257164,257183,257184,257185,257186,257196,257197,257198,257199,257200,257201,257224,257225,257226,257227,257228,257229,257230,257231,257233,257234,257235,257236,257240,257241,257242,257243,257245,257246,257247,257248,257250,257251,257252,257253,257255,257256,257257,257258,257260,257261,257262,257263,257265,257266,257267,257268,257270,257271,257272,257273,257276,257277,257278,257279,257281,257282,257283,257284,257287,257288,257289,257290,257292,257293,257294,257295,257305,257306,257307,257308,257309,257310,257311,257312,257313,257314,257315,257316,257317,257318,257323,257324,257325,257326,257327,257328,257335,257336,257337,257338,257360,257361,257362,257363,257364,257365,257410,257411,257412,257413,257427,257428,257429,257430,257431,257432,257448,257449,257450,257451,257452,257453,257454,257455,257468,257469,257470,257471,257473,257474,257475,257476,257478,257479,257480,257481,257483,257484,257485,257486,257488,257489,257490,257491,257493,257494,257495,257496,257498,257499,257500,257501,257503,257504,257505,257506,257508,257509,257510,257511,257513,257514,257515,257516,257523,257524,257525,257526,257528,257529,257530,257531,257532,257533,257534,257535,257536,257537,257538,257539,257540,257541,257546,257547,257548,257549,257550,257551,257558,257559,257560,257561,257565,257566,257567,257568,257569,257570,257577,257578,257579,257580,257581,257582,257583,257584,257586,257587,257588,257589,257591,257592,257593,257594,257596,257597,257598,257599,257601,257602,257603,257604,257606,257607,257608,257609,257611,257612,257613,257614,257722,257723,257724,257725,257726,257727,257728,257729,257730,257731,257732,257733,257734,257735,257736,257737,257738,257739,257740,257741,257742,257743,257744,257745,257753,257754,257755,257756,257764,257765,257766,257767,257768,257769,257776,257777,257778,257779,257786,257787,257788,257789,257790,257791,257792,257793,257794,257795,257796,257797,257806,257807,257808,257809,257810,257811,257827,257828,257829,257830,257832,257833,257834,257835,257837,257838,257839,257840,257842,257843,257844,257845,257850,257851,257852,257853,257855,257856,257857,257858,257859,257860,257861,257862,257867,257868,257869,257870,257871,257872,257882,257883,257884,257885,257910,257911,257912,257913,257914,257915,258001,258002,258003,258004,258067,258068,258069,258070,258071,258072,258223,258224,258225,258226,258241,258242,258243,258244,258245,258246,258265,258266,258267,258268,258269,258270,258271,258272,258577,258578,258642,258643,258644,258645,258732,258733,259396,259397,259402,259403,259408,259409,259419,259420,259433,259434,259449,259450,259478,259479,259489,259490,259527,259528,259800,259801,259802,259803,259804,259805,259806,259807,259880,259881,259954,259955,259998,259999,260000,260001,260004,260005,260006,260007,260008,260009,260010,260011,260012,260013,260015,260016,260022,260023,260028,260029,260104,260105,260108,260109,260114,260115,260116,260117,260118,260119,260120,260121,260122,260123,260124,260125,260131,260132,260133,260134,260155,260156,260179,260180,260181,260182,260193,260194,260237,260238,260289,260290,260609,260610,260717,260718,260719,260720,260728,260729,260734,260735,260747,260748,260762,260763,260806,260807,260820,260821,260866,260867,260878,260879,260986,260987,261303,261304,261402,261403,261440,261441,261470,261471,261490,261491,261499,261500,261684,261685,261827,261828,261838,261839,261856,261857,261866,261867,262001,262002,262008,262009,262038,262039,262069,262070,262076,262077,262083,262084,262089,262090,262094,262095,262108,262109,262117,262118,262122,262123,262140,262141,262142,262144,262145,262638,262692,262693,262710,262711,262741,262742,262761,262762,262770,262771,262778,262779,262802,262803,262852,262853,262864,262865,262869,262870,262874,262875,263680,263681,263685,263686,263690,263691,263707,263708,263712,263713,263719,263720,263724,263725,263730,263731,263736,263737,263741,263742,263747,263748,263753,263754,263758,263759,263763,263764,263769,263770,263775,263776,263781,263782,263787,263788,263792,263793,263798,263799,263804,263805,263809,263810,263815,263816,263821,263822,263826,263827,263832,263833,263838,263839,263843,263844,263849,263850,263855,263856,263860,263861,263866,263867,263872,263873,263877,263878,263883,263884,263889,263890,263894,263895,263900,263901,263906,263907,263911,263912,263917,263918,263923,263924,263928,263929,263934,263935,263940,263941,263945,263946,263951,263952,263957,263958,263962,263963,263968,263969,263974,263975,263982,263983,263990,263991,264004,264005,264010,264011,264033,264034,264063,264064,264106,264107,264143,264144,264150,264151,264209,264210,264214,264215,264233,264234,264238,264239,264412,264413,264582,264583,264589,264590,264604,264605,264614,264615,264624,264625,264634,264635,264644,264645,264654,264655,264664,264665,264674,264675,264684,264685,264694,264695,264709,264710,264719,264720,264729,264730,264744,264745,264754,264755,264764,264765,264774,264775,264784,264785,264794,264795,264804,264805,264814,264815,264824,264825,264834,264835,264849,264850,264859,264860,264869,264870,264879,264880,264889,264890,264904,264905,264914,264915,264924,264925,264934,264935,264949,264950,264959,264960,264969,264970,264979,264980,264994,264995,265004,265005,265014,265015,265024,265025,265034,265035,265049,265050,265059,265060,265069,265070,265079,265080,265089,265090,265099,265100,265108,265109,265123,265124,265133,265134,265143,265144,265153,265154,265163,265164,265173,265174,265183,265184,265193,265194,265203,265204,265218,265219,265228,265229,265238,265239,265248,265249,265258,265259,265268,265269,265278,265279,265288,265289,265298,265299,265308,265309,265318,265319,265333,265334,265343,265344,265353,265354,265363,265364,265373,265374,265383,265384,265398,265399,265408,265409,265418,265419,265428,265429,265438,265439,265448,265449,265458,265459,265468,265469,265483,265484,265493,265494,265503,265504,265513,265514,265528,265529,265543,265544,265553,265554,265563,265564,265573,265574,265583,265584,265593,265594,265603,265604,265618,265619,265628,265629,265638,265639,265648,265649,265663,265664,265673,265674,265683,265684,265693,265694,265708,265709,265718,265719,265728,265729,265738,265739,265753,265754,265763,265764,265773,265774,265783,265784,265793,265794,265803,265804,265818,265819,265828,265829,265838,265839,265848,265849,265858,265859,265873,265874,265883,265884,265893,265894,265903,265904,265913,265914,265923,265924,265938,265939,265948,265949,265958,265959,265968,265969,265978,265979,265988,265989,266003,266004,266013,266014,266023,266024,266033,266034,266043,266044,266053,266054,266063,266064,266073,266074,266083,266084,266093,266094,266108,266109,266118,266119,266128,266129,266138,266139,266148,266149,266158,266159,266168,266169,266178,266179,266188,266189,266198,266199,266213,266214,266223,266224,266233,266234,266243,266244,266253,266254,266263,266264,266273,266274,266283,266284,266293,266294,266303,266304,266318,266319,266328,266329,266338,266339,266348,266349,266358,266359,266368,266369,266378,266379,266388,266389,266398,266399,266413,266414,266423,266424,266433,266434,266443,266444,266453,266454,266463,266464,266473,266474,266483,266484,266493,266494,266503,266504,266513,266514,266523,266524,266533,266534,266548,266549,266558,266559,266568,266569,266578,266579,266588,266589,266598,266599,266608,266609,266618,266619,266628,266629,266643,266644,266653,266654,266663,266664,266673,266674,266683,266684,266693,266694,266703,266704,266718,266719,266728,266729,266738,266739,266748,266749,266758,266759,266768,266769,266778,266779,266788,266789,266798,266799,266808,266809,266818,266819,266828,266829,266843,266844,266853,266854,266863,266864,266873,266874,266883,266884,266893,266894,266903,266904,266913,266914,266923,266924,266933,266934,266948,266949,266958,266959,266968,266969,266978,266979,266993,266994,267003,267004,267013,267014,267023,267024,267033,267034,267043,267044,267053,267054,267063,267064,267073,267074,267083,267084,267098,267099,267108,267109,267118,267119,267128,267129,267138,267139,267148,267149,267158,267159,267168,267169,267183,267184,267193,267194,267203,267204,267213,267214,267223,267224,267233,267234,267248,267249,267258,267259,267268,267269,267278,267279,267288,267289,267298,267299,267308,267309,267318,267319,267328,267329,267343,267344,267353,267354,267363,267364,267373,267374,267484,267485,267548,267549,267553,267554,267560,267561,267574,267575,267581,267582,267640,267641,267662,267663,267676,267677,267709,267710,267803,267804,267818,267819,267828,267829,267873,267874,267906,267907,267917,267918,267924,267925,267930,267931,268044,268045,268064,268065,268070,268071,268747,268748,268767,268768,268780,268781,268794,268795,268858,268859,268864,268865,268871,268872,268878,268879,268886,268887,268956,268957,268965,268966,268973,268974,268993,268994,269015,269016,269285,269286,274108,274109,274138,274139,274146,274147,274261,274262,274284,274285,274335,274336,274365,274366,274390,274391,274404,274405,274410,274411,274424,274425,274429,274430,274465,274466,274472,274473,274479,274480,274488,274489,274498,274499,274507,274508,274564,274565,274583,274584,274615,274616,274621,274622,274633,274634,274689,274690,274702,274703,274871,274872,274886,274887,274962,274963,275021,275022,275043,275044,275088,275089,275103,275104,275108,275109,275114,275115,275120,275121,275126,275127,275132,275133,275138,275139,275146,275147,275449,275450,275454,275455,275482,275483,275496,275497,275501,275502,275508,275509,275518,275519,275550,275551,275556,275557,275563,275564,275571,275572,275579,275580,275584,275585,275589,275590,275596,275597,275603,275604,275610,275611,275616,275617,275622,275623,275628,275629,275634,275635,275640,275641,275645,275646,275651,275652,275657,275658,275663,275664,275669,275670,275676,275677,275682,275683,275688,275689,275693,275694,275700,275701,275707,275708,275714,275715,275724,275725,275734,275735,275742,275743,275748,275749,275762,275763,275772,275773,275778,275779,275786,275787,275792,275793,275798,275799,275804,275805,275811,275812,275816,275817,275822,275823,275828,275829,275833,275834,275839,275840,275845,275846,275850,275851,275855,275856,275861,275862,275866,275867,275874,275875,275881,275882,275886,275887,275892,275893,276035,276036,276048,276049,276077,276078,276099,276100,276138,276139,276280,276281,276314,276315,276321,276322,276457,276458,276476,276477,276513,276514,276523,276524,276545,276546,276795,276796,276837,276838,276850,276851,276858,276859,276865,276866,276871,276872,276880,276881,276887,276888,276919,276920,276937,276938,276952,276953,276961,276962,276968,276969,276975,276976,276994,276995,277026,277027,277051,277052,277100,277101,277112,277113,277119,277120,277134,277135,277137,277138,277145,277146,277155,277156,277162,277163,277188,277189,277208,277209,277226,277227,277256,277257,277261,277262,277266,277267,277271,277272,277285,277286,277288,277289,279754,279755,279757,279758,279762,279763,279768,279769,279775,279776,279831,279832,279834,279835,280246,280247,281466,281467,281474,281475,281653,281654,281658,281659,281666,281667,281710,281711,281732,281733,281737,281738,281742,281743,281752,281753,281758,281759,281764,281765,281773,281774,281808,281809,281813,281814,281824,281825,281832,281833,281837,281838,281843,281844,282024,282025,282061,282062,282069,282070,282088,282089,282115,282116,282144,282145,282152,282153,282158,282159,282170,282171,282191,282192,282198,282199,282227,282228,282267,282268,282275,282276,282287,282288,282353,282354,282372,282373,282406,282407,282411,282412,282420,282421,282426,282427,282436,282437,282442,282443,282472,282473,282612,282613,282623,282624,282628,282629,282634,282635,282654,282655,282666,282667,282675,282676,282687,282688,282695,282696,282702,282703,282709,282710,282721,282722,282728,282729,282736,282737,282744,282745,282751,282752,282756,282757,282763,282764,282768,282769,282776,282777,282783,282784,282795,282796,282800,282801,282809,282810,282817,282818,282824,282825,282831,282832,282839,282840,282847,282848,282853,282854,282860,282861,282867,282868,282869,282870,282907,282908,282945,282946,282985,282986,282988,282989,282990,282991,282992,282993,283005,283006,283007,283008,283009,283010,283031,283032,283043,283044,283045,283046,283047,283048,283172,283173,283174,283175,283181,283182,283183,283184,283185,283186,283187,283188,283189,283190,283191,283192,283200,283201,283206,283207,283213,283214,283220,283221,283233,283234,283240,283241,283261,283262,283273,283274,283275,283276,283326,283327,283333,283334,283339,283340,283394,283395,283400,283401,283406,283407,283413,283414,283419,283420,283594,283595,283602,283603,283608,283609,283614,283615,283621,283622,283631,283632,283686,283687,283699,283700,283729,283730,283735,283736,283742,283743,283748,283749,283756,283757,283762,283763,283768,283769,283774,283775,283851,283852,283870,283871,283946,283947,283952,283953,283959,283960,284165,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,305947,305948,305960,305961,305962,305963,305983,305984,306005,306006,306007,306008,306025,306026,306033,306034,306035,306036,306063,306064,306092,306093,306094,306095,306146,306147,306180,306181,306182,306183,306199,306200,306209,306210,306211,306212,306222,306223,306326,306327,306328,306329,306360,306361,306906,306907,306908,306909,308634,308635,308650,308651,308652,308653,308668,308669,308679,308680,308681,308682,308704,308705,308808,308809,308810,308811,308858,308859,308865,308866,308867,308868,308876,308877,308886,308887,308888,308889,308911,308912,308922,308923,308924,308925,308935,308936,308968,308969,308970,308971,308997,308998,313728,313729,313730,313731,313732,313733,313734,313735,314394,314395,314396,314397,314398,314399,314400,314401,314419,314420,314421,314422,314449,314450,314451,314452,314453,314454,314534,314535,314536,314537,314538,314539,314540,314541,314548,314549,314550,314551,314570,314571,314572,314573") == "bd2d6657ee208c1b457c934349cff89954f04c08" || 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", "6594,1,80,81,307,3164,3165,3166,3167,3168,3169,3170,3171,3180,3181,3288,3289,3290,3291,3384,3385,3393,3394,3395,3396,3397,3398,3399,3400,3417,3418,3437,3438,3439,3440,3450,3451,3505,3506,3507,3508,3520,3521,3525,3526,3527,3528,3538,3539,3553,3554,3555,3556,3592,3593,3602,3603,3604,3605,3648,3649,3675,3676,3677,3678,3730,3731,3740,3741,3742,3743,3781,3782,3794,3795,3796,3797,3798,3799,3878,3879,3880,3881,4114,4115,4116,4736,4737,4738,4739,4741,4742,4743,4744,4745,4746,4753,4754,4755,4756,4762,4763,4764,4765,4766,4767,4793,4794,4795,4796,4859,4860,4861,4862,4863,4864,4930,4931,4932,4933,4939,4940,4941,4942,4943,4944,4971,4972,4973,4974,4978,4979,4980,4981,4982,4983,5002,5003,5004,5005,5007,5008,5009,5010,5011,5012,5018,5019,5020,5021,5025,5026,5027,5028,5029,5030,5046,5047,5048,5049,5052,5053,5054,5055,5056,5057,5067,5068,5069,5070,5073,5074,5075,5076,5077,5078,5091,5092,5093,5094,5098,5099,5100,5101,5102,5103,5114,5115,5116,5117,5118,5119,5120,5121,5185,5186,5197,5198,5199,5200,5201,5202,5203,5204,5211,5212,5214,5215,5216,5217,5219,5220,5221,5222,5223,5224,5225,5226,5273,5274,5283,5284,5285,5286,5287,5288,5289,5290,5342,5343,5353,5354,5355,5356,5357,5358,5359,5360,6105,6106,17308,17309,17311,17312,17323,17324,17335,17336,17340,17341,17345,17346,17353,17354,17359,17360,17364,17365,17366,17367,17373,17374,17411,17412,17413,17414,17415,17416,17422,17423,17432,17433,17442,17443,17450,17451,17457,17458,17469,17470,17476,17477,17482,17483,17484,17485,17494,17495,17504,17505,17511,17512,17517,17518,17519,17520,17524,17525,17530,17531,17535,17536,17548,17549,17556,17557,17563,17564,17572,17573,17620,17621,17626,17627,17628,17629,17634,17635,17716,17717,17722,17723,17735,17736,17742,17743,17748,17749,17782,17783,17802,17803,17807,17808,17813,17814,17821,17822,17826,17827,17834,17835,17841,17842,17849,17850,17855,17856,17866,17867,17890,17891,17925,17926,17927,17928,17936,17937,17979,17980,17987,17988,17997,17998,18038,18039,18043,18044,18053,18054,18060,18061,18066,18067,18074,18075,18090,18091,18100,18101,18122,18123,18133,18134,18146,18147,18157,18158,18304,18305,18318,18319,18327,18328,18333,18334,18369,18370,18381,18382,18416,18417,18529,18530,18541,18542,18551,18552,18553,18554,18583,18584,18589,18590,18627,18628,18656,18657,18658,18659,18660,18661,18688,18689,18701,18702,18757,18758,18821,18822,18883,18884,18889,18890,18931,18932,18987,18988,18989,18990,18995,18996,19001,19002,19007,19008,19030,19031,19036,19037,19045,19046,19053,19054,19183,19184,19339,19340,19346,19347,19364,19365,19374,19375,19393,19394,19396,19397,19405,19406,19503,19504,19530,19531,19536,19537,19545,19546,19586,19587,19593,19594,19729,19730,19731,19732,19737,19738,19745,19746,19751,19752,19757,19758,19765,19766,19775,19776,19785,19786,19790,19791,19818,19819,19845,19846,19864,19865,19871,19872,19878,19879,19886,19887,19896,19897,19956,19957,19991,19992,20000,20001,20006,20007,20015,20016,20017,20018,20037,20038,20045,20046,20050,20051,20056,20057,20105,20106,20413,20414,20418,20419,20457,20458,20466,20467,20475,20476,20481,20482,20486,20487,20491,20492,20496,20497,20502,20503,20521,20522,20533,20534,20545,20546,20551,20552,20553,20554,20564,20565,20573,20574,20583,20584,20594,20595,20640,20641,20650,20651,20660,20661,20670,20671,20672,20673,20677,20678,20683,20684,20689,20690,20695,20696,20701,20702,20707,20708,20713,20714,20719,20720,20725,20726,20732,20733,20739,20740,20746,20747,20753,20754,20759,20760,20765,20766,20793,20794,20823,20824,20832,20833,20838,20839,20843,20844,20889,20890,20894,20895,20907,20908,20912,20913,20914,20915,20928,20929,20935,20936,20941,20942,20949,20950,20957,20958,20963,20964,20969,20970,20975,20976,21002,21003,21011,21012,21018,21019,21023,21024,21030,21031,21037,21038,21039,21040,21044,21045,21076,21077,21123,21124,21125,21126,21134,21135,21150,21151,21156,21157,21162,21163,21170,21171,21176,21177,21179,21180,21184,21185,21208,21209,21210,21211,21216,21217,21235,21236,21244,21245,21250,21251,21256,21257,21262,21263,21268,21269,21291,21292,21362,21363,21368,21369,21374,21375,21381,21382,21388,21389,21391,21392,21408,21409,21414,21415,21421,21422,21527,21528,21552,21553,21559,21560,21566,21567,21571,21572,21573,21574,21596,21597,21910,21911,22079,22080,22097,22098,22101,22102,22103,22104,22166,22167,22168,22169,22170,22171,22172,22173,22189,22190,22194,22195,22196,22197,22251,22252,22253,22254,22275,22276,22337,22338,22339,22340,22350,22351,22355,22356,22358,22359,22408,22409,22410,22411,22430,22431,22479,22480,22482,22483,22484,22485,22501,22502,22506,22507,22508,22509,22566,22567,22568,22569,22593,22594,22656,22657,22658,22659,22675,22676,22680,22681,22682,22683,22738,22739,22740,22741,22765,22766,22828,22829,22830,22831,22847,22848,22852,22853,22854,22855,22917,22918,22919,22920,22944,22945,23008,23009,23169,23170,23171,23172,23174,23175,23176,23177,23179,23180,23185,23186,23189,23190,23191,23192,23193,23194,23195,23196,23204,23205,23207,23208,23450,23451,23452,23453,23454,23455,23456,23457,23462,23463,23464,23465,23466,23467,23470,23471,23474,23475,23478,23479,23482,23483,23484,23485,23488,23489,23492,23493,23496,23497,23500,23501,23504,23505,23506,23507,23510,23511,23514,23515,23518,23519,23522,23523,23526,23527,23530,23531,23614,23615,23616,23617,23624,23625,23644,23645,23651,23652,23653,23654,23655,23656,23657,23658,23659,23660,23661,23662,23663,23664,23669,23670,23671,23672,23673,23674,23677,23678,23681,23682,23683,23684,23687,23688,23689,23690,23693,23694,23696,23697,23700,23701,23705,23706,23710,23711,23715,23716,23720,23721,23722,23723,23726,23727,23728,23729,23730,23731,23732,23733,23734,23735,23736,23737,23758,23759,23764,23765,23779,23780,23797,23798,23802,23803,23804,23805,23807,23808,23965,23966,23968,23969,23970,23971,24133,24134,24136,24137,24138,24139,24140,24141,24144,24145,24146,24147,24151,24152,24153,24154,24157,24158,24159,24160,24161,24162,24163,24164,24165,24166,24167,24168,24179,24180,24181,24182,24183,24184,24185,24186,24188,24189,24190,24191,24192,24193,24194,24195,24196,24197,24198,24199,24200,24201,24202,24203,24204,24205,24206,24207,24208,24209,24210,24211,24212,24213,24214,24215,24216,24217,24218,24219,24220,24221,24222,24223,24224,24225,24226,24227,24228,24229,24230,24231,24232,24233,24234,24235,24236,24237,24238,24239,24240,24241,24242,24243,24244,24245,24247,24248,24251,24252,24253,24254,24255,24256,24257,24258,24259,24260,24261,24262,24283,24284,24285,24286,24287,24288,24290,24291,24296,24297,24298,24299,24300,24301,24303,24304,24305,24306,24307,24308,24311,24312,24314,24315,24316,24317,24319,24320,24322,24323,24325,24326,24332,24333,24341,24342,24350,24351,24358,24359,24366,24367,24375,24376,24384,24385,24393,24394,24402,24403,24421,24422,24423,24424,24425,24426,24427,24428,24429,24430,25536,25537,25538,25539,25540,25541,25542,25543,25544,25545,25546,25547,25548,25549,25550,25551,25552,25553,25554,25555,25556,25557,25558,25559,25560,25561,25562,25563,25564,25565,25566,25567,25568,25569,25570,25571,25572,25573,25574,25575,25576,25577,25578,25579,25580,25581,25582,25583,25584,25585,25586,25587,25588,25589,25590,25591,25592,25593,25594,25595,25596,25597,25598,25599,25600,25601,25602,25603,25604,25605,25606,25607,25608,25609,25610,25611,25612,25613,25614,25615,25616,25617,25618,25619,25620,25621,25622,25623,25624,25625,25626,25627,25628,25629,25630,25631,25632,25633,25634,25635,25647,25648,25649,25650,25651,25652,25653,25654,25655,25656,25657,25658,25815,25816,25817,25818,25819,25820,25821,25822,25823,25824,25827,25828,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25856,25857,25858,25859,25860,25861,25862,25863,25864,25865,25866,25867,25868,25869,25870,25871,25872,25873,25874,25875,25876,25877,25878,25879,25880,25881,25882,25883,25884,25885,25886,25887,25888,25889,25890,25891,25892,25893,25894,25895,25896,25897,25898,25899,25900,25901,25902,25903,25904,25905,25906,25907,25908,25909,25910,25911,25912,25913,25914,25916,25917,25918,25919,25920,25921,25922,25923,25926,25927,25928,25929,25930,25931,25932,25933,25934,25935,25936,25937,25938,25939,25940,25941,25942,25943,25944,25945,25946,25947,25948,25949,25950,25951,25952,25953,25954,25955,25959,25960,25961,25962,25963,25964,25965,25966,25967,25968,26425,26426,26427,26428,26430,26431,26432,26433,26434,26435,26437,26438,26440,26441,26443,26444,26446,26447,26448,26449,26451,26452,26454,26455,26457,26458,26459,26460,26462,26463,26465,26466,26468,26469,26471,26472,26474,26475,26477,26478,26480,26481,26483,26484,26486,26487,26489,26490,26492,26493,26495,26496,26499,26500,26502,26503,26505,26506,26508,26509,26511,26512,26514,26515,26516,26517,26518,26519,26521,26522,26524,26525,26528,26529,26532,26533,26535,26536,26538,26539,26541,26542,26544,26545,26547,26548,26550,26551,26553,26554,26556,26557,26559,26560,26563,26564,26566,26567,26569,26570,26572,26573,26575,26576,26578,26579,26581,26582,26584,26585,26587,26588,26590,26591,26593,26594,26596,26597,26599,26600,26601,26602,26604,26605,26607,26608,26610,26611,26613,26614,26616,26617,26618,26619,26621,26622,26624,26625,26627,26628,26630,26631,26633,26634,26636,26637,26639,26640,26641,26642,26644,26645,26647,26648,26650,26651,26653,26654,26656,26657,26659,26660,26662,26663,26665,26666,26668,26669,26671,26672,26674,26675,26677,26678,26680,26681,26683,26684,26686,26687,26688,26689,26691,26692,26694,26695,26697,26698,26700,26701,26702,26703,26705,26706,26708,26709,26711,26712,26714,26715,26717,26718,26720,26721,26723,26724,26726,26727,26729,26730,26733,26734,26736,26737,26739,26740,26742,26743,26745,26746,26748,26749,26750,26751,26753,26754,26756,26757,26759,26760,26762,26763,26765,26766,26767,26768,26770,26771,26773,26774,26776,26777,26779,26780,26782,26783,26784,26785,26787,26788,26790,26791,26793,26794,26856,26857,26859,26860,26862,26863,26864,26865,26867,26868,26870,26871,26873,26874,26876,26877,26879,26880,26881,26882,26884,26885,26887,26888,26890,26891,26893,26894,26895,26896,26898,26899,26901,26902,26904,26905,26907,26908,26910,26911,26913,26914,26916,26917,26919,26920,26922,26923,26925,26926,26927,26928,26930,26931,26933,26934,26936,26937,26939,26940,26942,26943,26945,26946,26948,26949,26951,26952,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26965,26966,26969,26970,26972,26973,26974,26975,26976,26977,26979,26980,26982,26983,26985,26986,26988,26989,26991,26992,26994,26995,26997,26998,27000,27001,27002,27003,27004,27005,27006,27007,27008,27009,27011,27012,27020,27021,27029,27030,27038,27039,27047,27048,27056,27057,27058,27059,27060,27061,27062,27063,27064,27065,27066,27067,27068,27069,27070,27071,27075,27076,27077,27078,27080,27081,27091,27092,27107,27108,27125,27126,27155,27156,27185,27186,27260,27261,27333,27334,27384,27385,27425,27426,27453,27454,27482,27483,27515,27516,27569,27570,27589,27590,27645,27646,29091,29092,29121,29122,29151,29152,29181,29182,29211,29212,29216,29217,29221,29222,29230,29231,29264,29265,29269,29270,29272,29273,29275,29276,29288,29289,29295,29296,29302,29303,29312,29313,29319,29320,29356,29357,29392,29393,29398,29399,29404,29405,29409,29410,29412,29413,29418,29419,29424,29425,29435,29436,29438,29439,29448,29449,29458,29459,29468,29469,29479,29480,29488,29489,29497,29498,29506,29507,29515,29516,29541,29542,29545,29546,29548,29549,29563,29564,29578,29579,29593,29594,29608,29609,29613,29614,29618,29619,29647,29648,29653,29654,29658,29659,29661,29662,29664,29665,29670,29671,29709,29710,29750,29751,29754,29755,29759,29760,29831,29832,29836,29837,29849,29850,29852,29853,29856,29857,29869,29870,29874,29875,29879,29880,29884,29885,29890,29891,29897,29898,29903,29904,29910,29911,30003,30004,30103,30104,30108,30109,30125,30126,30157,30158,30219,30220,30285,30286,30347,30348,30409,30410,30485,30486,30567,30568,30643,30644,30725,30726,30807,30808,30884,30885,30967,30968,31043,31044,31125,31126,31201,31202,31277,31278,31358,31359,31433,31434,31515,31516,31597,31598,31673,31674,31756,31757,31832,31833,31834,31835,31837,31838,31846,31847,31848,31849,31855,31856,31863,31864,31872,31873,31893,31894,32030,32031,32032,32033,32034,32035,32060,32061,32428,32429,32465,32466,32488,32489,32666,32667,32670,32671,32686,32687,32734,32735,32747,32748,32750,32751,32758,32759,32763,32764,32766,32768,32770,32849,32850,33343,34949,34950,35057,35058,35272,35273,35429,35430,35779,35780,35805,35806,41360,41361,41373,41374,41384,41385,41441,41442,41454,41455,41465,41466,41553,41554,41570,41571,41582,41583,41595,41596,41694,41695,42484,42485,42495,42496,42541,42542,42596,42597,42602,42603,42606,42607,42617,42618,42627,42628,42642,42643,42646,42647,42677,42678,42681,42682,42685,42686,42709,42710,42764,42765,42769,42770,42775,42776,42779,42780,42782,42783,43560,43561,43563,43564,43591,43592,43594,43595,43597,43598,43599,43600,43601,43602,43816,43817,43819,43820,43832,43833,43835,43836,43837,43838,43839,43840,43856,43857,43874,43875,43988,43989,43991,43992,43995,43996,43997,43998,43999,44000,44001,44002,44017,44018,44019,44020,44021,44022,44047,44048,44049,44050,44058,44059,44064,44065,44113,44114,44123,44124,44130,44131,44155,44156,44563,44564,44660,44661,44667,44668,44677,44678,44684,44685,44693,44694,44734,44735,44739,44740,44746,44747,44752,44753,44757,44758,44762,44763,44767,44768,44774,44775,44795,44796,44800,44801,44827,44828,44833,44834,44889,44890,44899,44900,44917,44918,44935,44936,47845,47846,47872,47873,47879,47880,47893,47894,47909,47910,47917,47918,47933,47934,47949,47950,47971,47972,48006,48007,48061,48062,48111,48112,48117,48118,48123,48124,48129,48130,48141,48142,48258,48259,48298,48299,48357,48358,48419,48420,48712,48713,49041,49042,49048,49049,49070,49071,49317,49318,49359,49360,49411,49412,49418,49419,49425,49426,50113,50114,50141,50142,51580,51581,51589,51590,51598,51599,51680,51681,51704,51705,51722,51723,51863,51864,51881,51882,51916,51917,51923,51924,51930,51931,51939,51940,51955,51956,51981,51982,51993,51994,52106,52107,52162,52163,52169,52170,52260,52261,52456,52457,52492,52493,52502,52503,52644,52645,52832,52833,52839,52840,52878,52879,52902,52903,52963,52964,52974,52975,53149,53150,53156,53157,53362,53363,53450,53451,53543,53544,53844,53845,53932,53933,54048,54049,54059,54060,54065,54066,54238,54239,54309,54310,54335,54336,54371,54372,54376,54377,54384,54385,54389,54390,54528,54529,54556,54557,54566,54567,54571,54572,54577,54578,54583,54584,54588,54589,54594,54595,54601,54602,54607,54608,54613,54614,54619,54620,54624,54625,54630,54631,54636,54637,54641,54642,54646,54647,54651,54652,54657,54658,54663,54664,54669,54670,54674,54675,54679,54680,54684,54685,54699,54700,54706,54707,54766,54767,54809,54810,54833,54834,54845,54846,54851,54852,54860,54861,54867,54868,54877,54878,54884,54885,54931,54932,54950,54951,54956,54957,54964,54965,55000,55001,55006,55007,55017,55018,55129,55130,55137,55138,55145,55146,55157,55158,55257,55258,55262,55263,55271,55272,55359,55360,55367,55368,55493,55494,55885,55886,56162,56163,56171,56172,56189,56190,56224,56225,56291,56292,56306,56307,56321,56322,56364,56365,56393,56394,56626,56627,56632,56633,56637,56638,56698,56699,56733,56734,56747,56748,56753,56754,56777,56778,56807,56808,56820,56821,56828,56829,56864,56865,56881,56882,56887,56888,56900,56901,56925,56926,56959,56960,56969,56970,57170,57171,57255,57256,57263,57264,57280,57281,57288,57289,57297,57298,57317,57318,57465,57466,57477,57478,57485,57486,57490,57491,57516,57517,57532,57533,57559,57560,57579,57580,57587,57588,57612,57613,57632,57633,57648,57649,57673,57674,57679,57680,57688,57689,57698,57699,57709,57710,57715,57716,57727,57728,57735,57736,57744,57745,57749,57750,57770,57771,57777,57778,57823,57824,57837,57838,57894,57895,57912,57913,59122,59123,59127,59128,59134,59135,59192,59193,59214,59215,59224,59225,60392,60393,60403,60404,60440,60441,60478,60479,60483,60484,60491,60492,60497,60498,60669,60670,60698,60699,60707,60708,60719,60720,60724,60725,60736,60737,60742,60743,60756,60757,60769,60770,60785,60786,60790,60791,60807,60808,60819,60820,60825,60826,60838,60839,60860,60861,60866,60867,60873,60874,60888,60889,60921,60922,60940,60941,60967,60968,60973,60974,60978,60979,61923,61924,61930,61931,61958,61959,61964,61965,62051,62052,62063,62064,62080,62081,62098,62099,62107,62108,62115,62116,62240,62241,62280,62281,62648,62649,62665,62666,62675,62676,62680,62681,62716,62717,62721,62722,62762,62763,62814,62815,62891,62892,62975,62976,63007,63008,63028,63029,63064,63065,63151,63152,63259,63260,63268,63269,63304,63305,63312,63313,63322,63323,63444,63445,63466,63467,63499,63500,63530,63531,63572,63573,63582,63583,63590,63591,63599,63600,63700,63701,63824,63825,63874,63875,63881,63882,63887,63888,63894,63895,63973,63974,63978,63979,63984,63985,63989,63990,63999,64000,64008,64009,64016,64017,64023,64024,64036,64037,64049,64050,64056,64057,64116,64117,64140,64141,64163,64164,64170,64171,64196,64197,64376,64377,64408,64409,64432,64433,64634,64635,64640,64641,64646,64647,64696,64697,64761,64762,64810,64811,64825,64826,64832,64833,65024,65025,65049,65050,65051,65052,65055,65056,65076,65077,65093,65094,65112,65113,65127,65128,65131,65132,65135,65136,65138,65139,65142,65143,65146,65147,65150,65151,65155,65156,65158,65159,65161,65162,65165,65166,65169,65170,65172,65173,65190,65191,65209,65210,65241,65242,65259,65260,65276,65277,65293,65294,65297,65298,65300,65301,65312,65313,65319,65320,65333,65334,65344,65345,65359,65360,65379,65380,65396,65397,65413,65414,65430,65431,65434,65435,65441,65442,65447,65448,65451,65452,65455,65456,65459,65460,65463,65464,65468,65469,65473,65474,65477,65478,65482,65483,65486,65487,65491,65492,65496,65497,65509,65510,65514,65515,65527,65528,65529,65530,65533,65536,65537,66030,66219,98304,98306,98385,98386,103440,103859,103860,104005,104006,105779,105780,106116,106117,106759,106760,115665,115666,115737,115738,115754,115755,115972,115973,115999,116000,116262,116263,116294,116295,116302,116303,116439,116440,117639,117640,117642,117643,117653,117654,117661,117662,117727,117728,118023,118024,120131,120132,120135,120136,120266,120267,120268,120269,120270,120271,120273,120274,120275,120276,120280,120281,120283,120284,120285,120286,120288,120289,120301,120302,120308,120309,120315,120316,120321,120322,120354,120355,120390,120391,120394,120395,120398,120399,120795,120796,121243,121244,121245,121246,121249,121250,121252,121253,121256,121257,121761,121762,130124,130125,130126,130127,130140,130141,130143,130144,130146,130147,130149,130150,130158,130159,130161,130162,130175,130176,130177,130178,130179,130180,130239,130240,130248,130249,130290,130291,130333,130334,130384,130385,130491,130492,130500,130501,130518,130519,130529,130530,130538,130539,130547,130548,130567,130568,130578,130579,130586,130587,130598,130599,130636,130637,130667,130668,130683,130684,130693,130694,130714,130715,130724,130725,130735,130736,130784,130785,130797,130798,130881,130882,130888,130889,130921,130922,130938,130939,131015,131016,131036,131037,131053,131054,131064,131065,131066,131067,131068,131069,131070,131072,131073,131566,131596,163840,163842,163921,163922,164415,164432,164433,165463,165464,165470,165471,165489,165490,165493,165494,165497,165498,165510,165511,165515,165516,165521,165522,165526,165527,165530,165531,165534,165535,165543,165544,165562,165563,165577,165578,165581,165582,165587,165588,165593,165594,165601,165602,165605,165606,165613,165614,165620,165621,165622,165623,165630,165631,165649,165650,165655,165656,165660,165661,165666,165667,165678,165679,165685,165686,165691,165692,165702,165703,165708,165709,165710,165711,165712,165713,165714,165715,165719,165720,165722,165723,165729,165730,165733,165734,165741,165742,165745,165746,165775,165776,165789,165790,165814,165815,165851,165852,165878,165879,165923,165924,165948,165949,165960,165961,165989,165990,166016,166017,166029,166030,166031,166032,166035,166036,166038,166039,166041,166042,166045,166046,166049,166050,166057,166058,166060,166061,166065,166066,166075,166076,166080,166081,166086,166087,166091,166092,166097,166098,166101,166102,166106,166107,166111,166112,166119,166120,166125,166126,166129,166130,166135,166136,166140,166141,166144,166145,166150,166151,166155,166156,166160,166161,166164,166165,166171,166172,166175,166176,166181,166182,166188,166189,166192,166193,166203,166204,166206,166207,166212,166213,166217,166218,166233,166234,166237,166238,166242,166243,166248,166249,166254,166255,166260,166261,166266,166267,166271,166272,166274,166275,166281,166282,166288,166289,166295,166296,166300,166301,166308,166309,166315,166316,166319,166320,166326,166327,166333,166334,166341,166342,166345,166346,166356,166357,166360,166361,166372,166373,166376,166377,166381,166382,166387,166388,166393,166394,166400,166401,166409,166410,166415,166416,166423,166424,166428,166429,166431,166432,166436,166437,166442,166443,166448,166449,166456,166457,166464,166465,166468,166469,166477,166478,166479,166480,166487,166488,166495,166496,166502,166503,166559,166560,166582,166583,166590,166591,166600,166601,166608,166609,166617,166618,166630,166631,166642,166643,166653,166654,166666,166667,166675,166676,166684,166685,166695,166696,166706,166707,166715,166716,166724,166725,166729,166730,166737,166738,166748,166749,166759,166760,166770,166771,166822,166823,166831,166832,166840,166841,166856,166857,166861,166862,166875,166876,166884,166885,166928,166929,166942,166943,166959,166960,166969,166970,166978,166979,167007,167008,167020,167021,167031,167032,167045,167046,167056,167057,167068,167069,167083,167084,167095,167096,167113,167114,167120,167121,167125,167126,167167,167168,167178,167179,167188,167189,167200,167201,167211,167212,167219,167220,167229,167230,167241,167242,167253,167254,167258,167259,167268,167269,167278,167279,167289,167290,167297,167298,167306,167307,167321,167322,167350,167351,167361,167362,167384,167385,167443,167444,167458,167459,167464,167465,167509,167510,167523,167524,167539,167540,167555,167556,167562,167563,167576,167577,167588,167589,167601,167602,167610,167611,167622,167623,167633,167634,167661,167662,167740,167741,167752,167753,167763,167764,167775,167776,167784,167785,167807,167808,167815,167816,167826,167827,167836,167837,167855,167856,167899,167900,167909,167910,167922,167923,167930,167931,167967,167968,168014,168015,168023,168024,168029,168030,168038,168039,168059,168060,168066,168067,168068,168069,168071,168072,168074,168075,168077,168078,168081,168082,168084,168085,168087,168088,168090,168091,168094,168095,168099,168100,168102,168103,168106,168107,168109,168110,168112,168113,168115,168116,168119,168120,168122,168123,168126,168127,168128,168129,168130,168131,168193,168194,168195,168196,168197,168198,168208,168209,168210,168211,168252,168253,168254,168255,168256,168257,168476,168477,168478,168479,168512,168513,168514,168515,168516,168517,168752,168753,168754,168755,168763,168764,168765,168766,168767,168768,168781,168782,168783,168784,168816,168817,168818,168819,168820,168821,168828,168829,168830,168831,169439,169440,169441,169442,169443,169444,169528,169529,169530,169531,169597,169598,169599,169600,169601,169602,169696,169697,169698,169699,171654,171655,171656,171657,171658,171659,173184,173185,173186,173187,173334,173335,173336,173337,173338,173339,174029,174030,174031,174032,174039,174040,174041,174042,174043,174044,174045,174046,174047,174048,174060,174061,174062,174063,176651,176652,176653,176654,176655,176656,179020,179021,179022,179023,179506,179507,179508,179509,179510,179511,180406,180407,180408,180409,180566,180567,180568,180569,180570,180571,180847,180848,180849,180850,181833,181834,181835,181836,181837,181838,182424,182425,182426,182427,182433,182434,182435,182436,182437,182438,182448,182449,182450,182451,182464,182465,182466,182467,182468,182469,182503,182504,182505,182506,182512,182513,182514,182515,182516,182517,182528,182529,182530,182531,182591,182592,182593,182594,182595,182596,182602,182603,182604,182605,182839,182840,182841,182842,182843,182844,183001,183002,183003,183004,183051,183052,183053,183054,183055,183056,183189,183190,183191,183192,184871,184872,184873,184874,184875,184876,186183,186184,186185,186186,186196,186197,186198,186199,186200,186201,186252,186253,186254,186255,186291,186292,186293,186294,186295,186296,186297,186298,186299,186300,186356,186357,186358,186359,186364,186365,186366,186367,186368,186369,186392,186393,186394,186395,187809,187810,187811,187812,187813,187814,188863,188864,188865,188866,188869,188870,188871,188872,188873,188874,188887,188888,188889,188890,188896,188897,188898,188899,188900,188901,188917,188918,188919,188920,188932,188933,188934,188935,188936,188937,189017,189018,189019,189020,189021,189022,189023,189024,191422,191423,191424,191425,191468,191469,191470,191471,191472,191473,191590,191591,191592,191593,191596,191597,191598,191599,191600,191601,191612,191613,191614,191615,191676,191677,191678,191679,191680,191681,191770,191771,191772,191773,191906,191907,191908,191909,191910,191911,192157,192158,192159,192160,192171,192172,192173,192174,192175,192176,192219,192220,192221,192222,193279,193280,193281,193282,193283,193284,194196,194197,194198,194199,194200,194201,194202,194203,194204,194205,196265,196266,196267,196268,196269,196270,196271,196272,196273,196274,196275,196276,196277,196278,196287,196288,196289,196290,196291,196292,196301,196302,196303,196304,196361,196362,196363,196364,196365,196366,196541,196542,196543,196544,196545,196546,196547,196548,196549,196550,196574,196575,196576,196577,196578,196579,196589,196590,196591,196592,196593,196594,196595,196596,196597,196598,196599,196600,196601,196602,196603,196604,196605,196608,196609,197102,197132,229376,229378,229457,229458,229951,238877,238878,242442,242443,244973,244974,246071,246072,246909,246910,247442,247443,247523,247524,247630,247631,247778,247779,248647,248648,248682,248683,248690,248691,248692,248693,248725,248726,248780,248781,248816,248817,248818,248819,248820,248821,248822,248823,248824,248825,248826,248827,248828,248829,248830,248831,248832,248833,248834,248835,248836,248837,248838,248839,248840,248841,248842,248843,248844,248845,248846,248847,248848,248849,248850,248851,248852,248853,249009,249010,249118,249119,249262,249263,249364,249365,249555,249556,249715,249716,249779,249780,249928,249929,250133,250134,250228,250229,250383,250384,250446,250447,250448,250449,250450,250451,250452,250453,250454,250455,250456,250457,250458,250459,250468,250469,250470,250471,250473,250474,250475,250476,250503,250504,250505,250506,250532,250533,250534,250535,250562,250563,250564,250565,250577,250578,250579,250580,250588,250589,250590,250591,250595,250596,250597,250598,250604,250605,250606,250607,250608,250609,250610,250611,250613,250614,250615,250616,250625,250626,250627,250628,250629,250630,250631,250632,250633,250634,250635,250636,250637,250638,250639,250640,250718,250719,250720,250721,250722,250723,250724,250725,250726,250727,250728,250729,250730,250731,250732,250733,250735,250736,250737,250738,250739,250740,250741,250742,250778,250779,250780,250781,250817,250818,250819,250820,250821,250822,250823,250824,250825,250826,250827,250828,250829,250830,250832,250833,250835,250836,250837,250838,250839,250840,250841,250842,250843,250844,250845,250846,250847,250848,250849,250850,250851,250852,250853,250854,250855,250856,256277,256278,256279,256280,256281,256282,256283,256284,256285,256286,256287,256288,256292,256293,256296,256297,256301,256302,256306,256307,256311,256312,256313,256314,256315,256316,256319,256320,256321,256322,256323,256324,256325,256326,256327,256328,256329,256330,256331,256332,256333,256334,256335,256336,256337,256338,256339,256340,256341,256342,256343,256344,256345,256346,256347,256348,256349,256350,256351,256352,256353,256354,256355,256356,256357,256358,256359,256360,256361,256362,256363,256364,256365,256366,256367,256368,256369,256370,256371,256372,256373,256374,256375,256376,256377,256378,256379,256380,256381,256382,256383,256384,256385,256386,256387,256388,256389,256390,256391,256392,256393,256394,256395,256396,256400,256401,256406,256407,256408,256409,256532,256533,256534,256535,256536,256537,256538,256539,256540,256541,256542,256543,256544,256545,256547,256548,256549,256550,256552,256553,256554,256555,256557,256558,256559,256560,256562,256563,256564,256565,256567,256568,256569,256570,256572,256573,256574,256575,256577,256578,256579,256580,256581,256582,256583,256584,256585,256586,256587,256588,256594,256595,256596,256597,256598,256599,256605,256606,256607,256608,256689,256690,256691,256692,256693,256694,257080,257081,257082,257083,257085,257086,257087,257088,257089,257090,257096,257097,257098,257099,257104,257105,257106,257107,257108,257109,257126,257127,257128,257129,257159,257160,257161,257162,257163,257164,257183,257184,257185,257186,257196,257197,257198,257199,257200,257201,257224,257225,257226,257227,257228,257229,257230,257231,257233,257234,257235,257236,257240,257241,257242,257243,257245,257246,257247,257248,257250,257251,257252,257253,257255,257256,257257,257258,257260,257261,257262,257263,257265,257266,257267,257268,257270,257271,257272,257273,257276,257277,257278,257279,257281,257282,257283,257284,257287,257288,257289,257290,257292,257293,257294,257295,257305,257306,257307,257308,257309,257310,257311,257312,257313,257314,257315,257316,257317,257318,257323,257324,257325,257326,257327,257328,257335,257336,257337,257338,257360,257361,257362,257363,257364,257365,257410,257411,257412,257413,257427,257428,257429,257430,257431,257432,257448,257449,257450,257451,257452,257453,257454,257455,257468,257469,257470,257471,257473,257474,257475,257476,257478,257479,257480,257481,257483,257484,257485,257486,257488,257489,257490,257491,257493,257494,257495,257496,257498,257499,257500,257501,257503,257504,257505,257506,257508,257509,257510,257511,257513,257514,257515,257516,257523,257524,257525,257526,257528,257529,257530,257531,257532,257533,257534,257535,257536,257537,257538,257539,257540,257541,257546,257547,257548,257549,257550,257551,257558,257559,257560,257561,257565,257566,257567,257568,257569,257570,257577,257578,257579,257580,257581,257582,257583,257584,257586,257587,257588,257589,257591,257592,257593,257594,257596,257597,257598,257599,257601,257602,257603,257604,257606,257607,257608,257609,257611,257612,257613,257614,257722,257723,257724,257725,257726,257727,257728,257729,257730,257731,257732,257733,257734,257735,257736,257737,257738,257739,257740,257741,257742,257743,257744,257745,257753,257754,257755,257756,257764,257765,257766,257767,257768,257769,257776,257777,257778,257779,257786,257787,257788,257789,257790,257791,257792,257793,257794,257795,257796,257797,257806,257807,257808,257809,257810,257811,257827,257828,257829,257830,257832,257833,257834,257835,257837,257838,257839,257840,257842,257843,257844,257845,257850,257851,257852,257853,257855,257856,257857,257858,257859,257860,257861,257862,257867,257868,257869,257870,257871,257872,257882,257883,257884,257885,257910,257911,257912,257913,257914,257915,258001,258002,258003,258004,258067,258068,258069,258070,258071,258072,258223,258224,258225,258226,258241,258242,258243,258244,258245,258246,258265,258266,258267,258268,258269,258270,258271,258272,258577,258578,258642,258643,258644,258645,258732,258733,259396,259397,259402,259403,259408,259409,259419,259420,259433,259434,259449,259450,259478,259479,259489,259490,259527,259528,259800,259801,259802,259803,259804,259805,259806,259807,259880,259881,259954,259955,259998,259999,260000,260001,260004,260005,260006,260007,260008,260009,260010,260011,260012,260013,260015,260016,260022,260023,260028,260029,260104,260105,260108,260109,260114,260115,260116,260117,260118,260119,260120,260121,260122,260123,260124,260125,260131,260132,260133,260134,260155,260156,260179,260180,260181,260182,260193,260194,260237,260238,260289,260290,260609,260610,260717,260718,260719,260720,260728,260729,260734,260735,260747,260748,260762,260763,260806,260807,260820,260821,260866,260867,260878,260879,260986,260987,261303,261304,261402,261403,261440,261441,261470,261471,261490,261491,261499,261500,261684,261685,261827,261828,261838,261839,261856,261857,261866,261867,262001,262002,262008,262009,262038,262039,262069,262070,262076,262077,262083,262084,262089,262090,262094,262095,262108,262109,262117,262118,262122,262123,262140,262141,262142,262144,262145,262638,262692,262693,262710,262711,262741,262742,262761,262762,262770,262771,262778,262779,262802,262803,262852,262853,262864,262865,262869,262870,262874,262875,263680,263681,263685,263686,263690,263691,263707,263708,263712,263713,263719,263720,263724,263725,263730,263731,263736,263737,263741,263742,263747,263748,263753,263754,263758,263759,263763,263764,263769,263770,263775,263776,263781,263782,263787,263788,263792,263793,263798,263799,263804,263805,263809,263810,263815,263816,263821,263822,263826,263827,263832,263833,263838,263839,263843,263844,263849,263850,263855,263856,263860,263861,263866,263867,263872,263873,263877,263878,263883,263884,263889,263890,263894,263895,263900,263901,263906,263907,263911,263912,263917,263918,263923,263924,263928,263929,263934,263935,263940,263941,263945,263946,263951,263952,263957,263958,263962,263963,263968,263969,263974,263975,263982,263983,263990,263991,264004,264005,264010,264011,264033,264034,264063,264064,264106,264107,264143,264144,264150,264151,264209,264210,264214,264215,264233,264234,264238,264239,264412,264413,264582,264583,264589,264590,264604,264605,264614,264615,264624,264625,264634,264635,264644,264645,264654,264655,264664,264665,264674,264675,264684,264685,264694,264695,264709,264710,264719,264720,264729,264730,264744,264745,264754,264755,264764,264765,264774,264775,264784,264785,264794,264795,264804,264805,264814,264815,264824,264825,264834,264835,264849,264850,264859,264860,264869,264870,264879,264880,264889,264890,264904,264905,264914,264915,264924,264925,264934,264935,264949,264950,264959,264960,264969,264970,264979,264980,264994,264995,265004,265005,265014,265015,265024,265025,265034,265035,265049,265050,265059,265060,265069,265070,265079,265080,265089,265090,265099,265100,265108,265109,265123,265124,265133,265134,265143,265144,265153,265154,265163,265164,265173,265174,265183,265184,265193,265194,265203,265204,265218,265219,265228,265229,265238,265239,265248,265249,265258,265259,265268,265269,265278,265279,265288,265289,265298,265299,265308,265309,265318,265319,265333,265334,265343,265344,265353,265354,265363,265364,265373,265374,265383,265384,265398,265399,265408,265409,265418,265419,265428,265429,265438,265439,265448,265449,265458,265459,265468,265469,265483,265484,265493,265494,265503,265504,265513,265514,265528,265529,265543,265544,265553,265554,265563,265564,265573,265574,265583,265584,265593,265594,265603,265604,265618,265619,265628,265629,265638,265639,265648,265649,265663,265664,265673,265674,265683,265684,265693,265694,265708,265709,265718,265719,265728,265729,265738,265739,265753,265754,265763,265764,265773,265774,265783,265784,265793,265794,265803,265804,265818,265819,265828,265829,265838,265839,265848,265849,265858,265859,265873,265874,265883,265884,265893,265894,265903,265904,265913,265914,265923,265924,265938,265939,265948,265949,265958,265959,265968,265969,265978,265979,265988,265989,266003,266004,266013,266014,266023,266024,266033,266034,266043,266044,266053,266054,266063,266064,266073,266074,266083,266084,266093,266094,266108,266109,266118,266119,266128,266129,266138,266139,266148,266149,266158,266159,266168,266169,266178,266179,266188,266189,266198,266199,266213,266214,266223,266224,266233,266234,266243,266244,266253,266254,266263,266264,266273,266274,266283,266284,266293,266294,266303,266304,266318,266319,266328,266329,266338,266339,266348,266349,266358,266359,266368,266369,266378,266379,266388,266389,266398,266399,266413,266414,266423,266424,266433,266434,266443,266444,266453,266454,266463,266464,266473,266474,266483,266484,266493,266494,266503,266504,266513,266514,266523,266524,266533,266534,266548,266549,266558,266559,266568,266569,266578,266579,266588,266589,266598,266599,266608,266609,266618,266619,266628,266629,266643,266644,266653,266654,266663,266664,266673,266674,266683,266684,266693,266694,266703,266704,266718,266719,266728,266729,266738,266739,266748,266749,266758,266759,266768,266769,266778,266779,266788,266789,266798,266799,266808,266809,266818,266819,266828,266829,266843,266844,266853,266854,266863,266864,266873,266874,266883,266884,266893,266894,266903,266904,266913,266914,266923,266924,266933,266934,266948,266949,266958,266959,266968,266969,266978,266979,266993,266994,267003,267004,267013,267014,267023,267024,267033,267034,267043,267044,267053,267054,267063,267064,267073,267074,267083,267084,267098,267099,267108,267109,267118,267119,267128,267129,267138,267139,267148,267149,267158,267159,267168,267169,267183,267184,267193,267194,267203,267204,267213,267214,267223,267224,267233,267234,267248,267249,267258,267259,267268,267269,267278,267279,267288,267289,267298,267299,267308,267309,267318,267319,267328,267329,267343,267344,267353,267354,267363,267364,267373,267374,267484,267485,267548,267549,267553,267554,267560,267561,267574,267575,267581,267582,267640,267641,267662,267663,267676,267677,267709,267710,267803,267804,267818,267819,267828,267829,267873,267874,267906,267907,267917,267918,267924,267925,267930,267931,268044,268045,268064,268065,268070,268071,268747,268748,268767,268768,268780,268781,268794,268795,268858,268859,268864,268865,268871,268872,268878,268879,268886,268887,268956,268957,268965,268966,268973,268974,268993,268994,269015,269016,269285,269286,274108,274109,274138,274139,274146,274147,274261,274262,274284,274285,274335,274336,274365,274366,274390,274391,274404,274405,274410,274411,274424,274425,274429,274430,274465,274466,274472,274473,274479,274480,274488,274489,274498,274499,274507,274508,274564,274565,274583,274584,274615,274616,274621,274622,274633,274634,274689,274690,274702,274703,274871,274872,274886,274887,274962,274963,275021,275022,275043,275044,275088,275089,275103,275104,275108,275109,275114,275115,275120,275121,275126,275127,275132,275133,275138,275139,275146,275147,275449,275450,275454,275455,275482,275483,275496,275497,275501,275502,275508,275509,275518,275519,275550,275551,275556,275557,275563,275564,275571,275572,275579,275580,275584,275585,275589,275590,275596,275597,275603,275604,275610,275611,275616,275617,275622,275623,275628,275629,275634,275635,275640,275641,275645,275646,275651,275652,275657,275658,275663,275664,275669,275670,275676,275677,275682,275683,275688,275689,275693,275694,275700,275701,275707,275708,275714,275715,275724,275725,275734,275735,275742,275743,275748,275749,275762,275763,275772,275773,275778,275779,275786,275787,275792,275793,275798,275799,275804,275805,275811,275812,275816,275817,275822,275823,275828,275829,275833,275834,275839,275840,275845,275846,275850,275851,275855,275856,275861,275862,275866,275867,275874,275875,275881,275882,275886,275887,275892,275893,276035,276036,276048,276049,276077,276078,276099,276100,276138,276139,276280,276281,276314,276315,276321,276322,276457,276458,276476,276477,276513,276514,276523,276524,276545,276546,276795,276796,276837,276838,276850,276851,276858,276859,276865,276866,276871,276872,276880,276881,276887,276888,276919,276920,276937,276938,276952,276953,276961,276962,276968,276969,276975,276976,276994,276995,277026,277027,277051,277052,277100,277101,277112,277113,277119,277120,277134,277135,277137,277138,277145,277146,277155,277156,277162,277163,277188,277189,277208,277209,277226,277227,277256,277257,277261,277262,277266,277267,277271,277272,277285,277286,277288,277289,279754,279755,279757,279758,279762,279763,279768,279769,279775,279776,279831,279832,279834,279835,280246,280247,281466,281467,281474,281475,281653,281654,281658,281659,281666,281667,281710,281711,281732,281733,281737,281738,281742,281743,281752,281753,281758,281759,281764,281765,281773,281774,281808,281809,281813,281814,281824,281825,281832,281833,281837,281838,281843,281844,282024,282025,282061,282062,282069,282070,282088,282089,282115,282116,282144,282145,282152,282153,282158,282159,282170,282171,282191,282192,282198,282199,282227,282228,282267,282268,282275,282276,282287,282288,282353,282354,282372,282373,282406,282407,282411,282412,282420,282421,282426,282427,282436,282437,282442,282443,282472,282473,282612,282613,282623,282624,282628,282629,282634,282635,282654,282655,282666,282667,282675,282676,282687,282688,282695,282696,282702,282703,282709,282710,282721,282722,282728,282729,282736,282737,282744,282745,282751,282752,282756,282757,282763,282764,282768,282769,282776,282777,282783,282784,282795,282796,282800,282801,282809,282810,282817,282818,282824,282825,282831,282832,282839,282840,282847,282848,282853,282854,282860,282861,282867,282868,282869,282870,282907,282908,282945,282946,282985,282986,282988,282989,282990,282991,282992,282993,283005,283006,283007,283008,283009,283010,283031,283032,283043,283044,283045,283046,283047,283048,283172,283173,283174,283175,283181,283182,283183,283184,283185,283186,283187,283188,283189,283190,283191,283192,283200,283201,283206,283207,283213,283214,283220,283221,283233,283234,283240,283241,283261,283262,283273,283274,283275,283276,283326,283327,283333,283334,283339,283340,283394,283395,283400,283401,283406,283407,283413,283414,283419,283420,283594,283595,283602,283603,283608,283609,283614,283615,283621,283622,283631,283632,283686,283687,283699,283700,283729,283730,283735,283736,283742,283743,283748,283749,283756,283757,283762,283763,283768,283769,283774,283775,283851,283852,283870,283871,283946,283947,283952,283953,283959,283960,284165,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,305947,305948,305960,305961,305962,305963,305983,305984,306005,306006,306007,306008,306025,306026,306033,306034,306035,306036,306063,306064,306092,306093,306094,306095,306146,306147,306180,306181,306182,306183,306199,306200,306209,306210,306211,306212,306222,306223,306326,306327,306328,306329,306360,306361,306906,306907,306908,306909,308634,308635,308650,308651,308652,308653,308668,308669,308679,308680,308681,308682,308704,308705,308808,308809,308810,308811,308858,308859,308865,308866,308867,308868,308876,308877,308886,308887,308888,308889,308911,308912,308922,308923,308924,308925,308935,308936,308968,308969,308970,308971,308997,308998,313728,313729,313730,313731,313732,313733,313734,313735,314394,314395,314396,314397,314398,314399,314400,314401,314419,314420,314421,314422,314449,314450,314451,314452,314453,314454,314534,314535,314536,314537,314538,314539,314540,314541,314548,314549,314550,314551,314570,314571,314572,314573") && 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:16209192:caab46fe612d1335b512e5c89f4043f90962240f:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed",
            "-", a5d72d54c4556fae50ef820a66b561f27afa0aed, 16209192,
            caab46fe612d1335b512e5c89f4043f90962240f,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16209192:caab46fe612d1335b512e5c89f4043f90962240f:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed");

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

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